/*
Theme Name:   SNN-BRX - Bricks Builder Child Theme
Theme URI:    https://github.com/sinanisler/snn-brx-child-theme
Description:  SNN-BRX Child Theme is a purpose-built essential building suite for agencies and professionals, streamlining your Bricks Builder projects with one powerful child theme.
Author:       sinanisler
Author URI:   https://github.com/sinanisler
Text Domain:  snn
Template:     bricks
Requires at least: 6.9
Version: 0.312
*/

@font-face {
  font-family: "Inter";
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  src: url("/wp-content/uploads/core-framework/fonts/Inter-400normal.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-display: swap;
  font-style: normal;
  font-weight: 500;
  src: url("/wp-content/uploads/core-framework/fonts/Inter%20Medium-500normal.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  src: url("/wp-content/uploads/core-framework/fonts/Inter-700normal.woff2") format("woff2");
}

:root {
  /* Core Framework can define --font-primary; Inter remains the site fallback. */
  --pfi-font-primary: var(--font-primary, "Inter");
  --pfi-primary-navy: var(--primary, #00425a);
  --pfi-deep-teal: var(--primary, #00425a);
  --pfi-secondary-blue: var(--secondary, #2563eb);
  --pfi-tertiary-sky: var(--tertiary, #38bdf8);
  --pfi-territory-light-blue: var(--tertiary, #38bdf8);
  --pfi-surface-dark: var(--surface-dark, #010b13);
  --pfi-rich-black: var(--surface-dark, #010b13);
  --pfi-accent-lime: var(--accent-lime, #bfff00);
  --pfi-electric-lime: var(--accent-lime, #bfff00);
  --pfi-neutral-silver: var(--neutral-silver, #e0e0e0);
  --pfi-cyan: var(--tertiary, #38bdf8);
  --pfi-action-blue: var(--secondary, #2563eb);
  --pfi-action-blue-hover: color-mix(in srgb, var(--pfi-action-blue) 86%, black);
  --pfi-icon-blue: var(--pfi-tertiary-sky);
  --pfi-icon-blue-bg: color-mix(in srgb, var(--pfi-icon-blue) 14%, white);
  --pfi-icon-blue-border: color-mix(in srgb, var(--pfi-icon-blue) 30%, white);
  --pfi-soft-accent-blue: var(--pfi-tertiary-sky);
  --pfi-soft-accent-blue-bg: color-mix(in srgb, var(--pfi-soft-accent-blue) 12%, white);
  --pfi-soft-accent-blue-border: color-mix(in srgb, var(--pfi-soft-accent-blue) 36%, white);
  --pfi-soft-accent-blue-shadow: color-mix(in srgb, var(--pfi-soft-accent-blue) 18%, transparent);
  --pfi-portal-bg: var(--portal-bg, #062434);
  --pfi-portal-bg-deep: var(--portal-bg-deep, #031a25);
  --pfi-portal-panel: var(--portal-panel, #071b27);
  --pfi-portal-panel-strong: var(--portal-panel-strong, #0c2d3e);
  --pfi-portal-text: var(--portal-text, #f8fbff);
  --pfi-competition-warm: #ff8a3d;
  --pfi-search-radius: 1.2rem;
}

body {
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
}

.pfi-icon {
  display: inline-block;
  fill: none;
  flex: 0 0 auto;
  height: 1em;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 1em;
}

.pfi-icon--children,
.pfi-icon--two-children {
  fill: currentColor !important;
  stroke: none !important;
}

.club-grid-icon {
  height: 2rem;
  width: 2rem;
}

.pfi-context-link {
  color: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 55%, transparent);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.pfi-context-link:hover,
.pfi-context-link:focus {
  color: var(--pfi-tertiary-sky);
  text-decoration-color: currentColor;
}

/* Prevent mobile browsers from painting interactive PFI cards/buttons with a blue tap overlay. */
.brxe-button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
[role="button"],
.ff-btn-submit,
.ff_upload_btn,
.pfi-club-main-details__button,
.pfi-map-card__button,
.pfi-home-button,
.pfi-play-button,
.pfi-learning-button,
.pfi-rules-overview-button,
.pfi-coaching-button,
.pfi-course-button,
.pfi-hub-button,
.pfi-competition-detail-button,
.pfi-who-detail-button,
.pfi-membership-detail__button,
.pfi-national-button,
.pfi-programme-button,
.pfi-host-tournament-portal__button,
.pfi-tournament-card__button,
.pfi-community-events__button,
.pfi-tournament-detail__button,
.pfi-officials-button,
.pfi-rankings-tabs__button,
.pfi-rankings-load-more button,
.pfi-club-support__links a,
.coach-filter-form select,
.coach-filter-form button,
.coach-filter-clear,
.coach-directory-card__media,
.coach-directory-card h3 a,
.coach-directory-card__button,
.pfi-coach-support__links a,
.pfi-coach-support .pfi-context-link,
.pfi-rules-tabs__tab,
.pfi-rules-accordion summary,
.pfi-home-route-card,
.pfi-home-card-link,
.pfi-home-trust-link,
.pfi-home-discovery-band,
.pfi-hub-route,
.pfi-hub-card__link,
.pfi-play-route,
.pfi-play-card__link,
.pfi-coaching-route,
.pfi-coaching-card__link,
.pfi-learning-next,
.pfi-rules-overview-next-grid a,
.pfi-support-next-link,
.pfi-programme-resource,
.pfi-membership-detail__aside-link,
.pfi-competition-detail-toc a,
.pfi-competition-detail-related a,
.pfi-who-detail-toc a,
.pfi-who-detail-related a,
.pfi-official-doc__toc a,
.pfi-official-doc__panel--resources a,
.pfi-learning-faq summary,
.pfi-coaching-faq__item summary,
.pfi-membership-detail__faqs summary,
.pfi-programme-faq summary,
.pfi-official-doc__faqs summary,
.pfi-official-doc__section-accordion-item summary,
body.page-id-425 #brxe-mqbvmg > .brxe-block,
body.page-id-663 #brxe-mqbvmg > .brxe-block,
.x-accordion_header {
  -webkit-tap-highlight-color: transparent;
}

.pfi-learning-faq summary:active,
.pfi-learning-faq summary:focus:not(:focus-visible),
.pfi-rules-accordion summary:active,
.pfi-rules-accordion summary:focus:not(:focus-visible),
.pfi-coaching-faq__item summary:active,
.pfi-coaching-faq__item summary:focus:not(:focus-visible),
.pfi-membership-detail__faqs summary:active,
.pfi-membership-detail__faqs summary:focus:not(:focus-visible),
.pfi-programme-faq summary:active,
.pfi-programme-faq summary:focus:not(:focus-visible),
.pfi-official-doc__faqs summary:active,
.pfi-official-doc__faqs summary:focus:not(:focus-visible),
.pfi-official-doc__section-accordion-item summary:active,
.pfi-official-doc__section-accordion-item summary:focus:not(:focus-visible) {
  color: var(--pfi-primary-navy);
  outline: none;
}

.pfi-learning-faq summary:focus-visible,
.pfi-rules-accordion summary:focus-visible,
.pfi-coaching-faq__item summary:focus-visible,
.pfi-membership-detail__faqs summary:focus-visible,
.pfi-programme-faq summary:focus-visible,
.pfi-official-doc__faqs summary:focus-visible,
.pfi-official-doc__section-accordion-item summary:focus-visible {
  outline: 0.2rem solid rgba(37, 99, 235, 0.45);
  outline-offset: 0.35rem;
}

@media (hover: none) and (pointer: coarse) {
  a,
  button,
  input[type="button"],
  input[type="reset"],
  input[type="submit"],
  [role="button"],
  .brxe-button,
  .ff-btn-submit,
  .ff_upload_btn {
    -webkit-tap-highlight-color: transparent;
  }

  a:focus:not(:focus-visible),
  button:focus:not(:focus-visible),
  input[type="button"]:focus:not(:focus-visible),
  input[type="reset"]:focus:not(:focus-visible),
  input[type="submit"]:focus:not(:focus-visible),
  [role="button"]:focus:not(:focus-visible),
  .brxe-button:focus:not(:focus-visible),
  .ff-btn-submit:focus:not(:focus-visible),
  .ff_upload_btn:focus:not(:focus-visible) {
    box-shadow: none !important;
    outline: none !important;
  }
}

.pfi-explore-icon {
  color: var(--pfi-action-blue);
  display: block;
  height: 5.6rem;
  margin: 0 auto 2.4rem;
  stroke-width: 2.1;
  width: 5.6rem;
}

.pfi-form-word-counter {
  color: #64748b;
  font-size: 1.32rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0.65rem 0 0;
  text-align: right;
}

.pfi-form-word-counter[data-state="limit"] {
  color: var(--pfi-primary-navy);
}

/* ===========================================================================
   PFI Global Header
   =========================================================================== */

html.pfi-mobile-menu-open,
body.pfi-mobile-menu-open {
  height: 100%;
  overflow: hidden !important;
  overscroll-behavior: none;
}

body.pfi-mobile-menu-open {
  left: 0;
  position: fixed;
  right: 0;
  width: 100%;
}

@media (max-width: 1023px) {
  html,
  body {
    overflow-x: hidden;
  }

  html:has(.pfi-rankings),
  body:has(.pfi-rankings) {
    overflow-x: clip;
  }
}

#brx-header .c-header,
#brx-header .c-header.bricks-lazy-hidden,
#brx-header .c-header .bricks-lazy-hidden {
  opacity: 1;
  visibility: visible;
}

#brx-header {
  position: sticky;
  top: var(--wp-admin--admin-bar--height, 0px);
  z-index: 1000;
}

#brx-header .c-header {
  background: var(--pfi-deep-teal);
  color: #fff;
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  overflow: visible;
  position: relative;
  z-index: 1000;
}

#brxe-f46bf2.l-utility-grid,
#brxe-d55e0d.l-header-grid {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  padding-inline: var(--space-m, 2rem);
  width: 100%;
}

#brxe-f46bf2.l-utility-grid {
  align-items: center;
  background: var(--pfi-rich-black);
  border-bottom: 1px solid rgba(191, 255, 0, 0.18);
  box-shadow: 0 0 0 100vmax var(--pfi-rich-black);
  clip-path: inset(0 -100vmax);
  column-gap: clamp(1.2rem, 2vw, 2.4rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  justify-items: stretch;
  max-height: 3.2rem;
  min-height: 3.2rem;
  transition: max-height 180ms ease, opacity 180ms ease, transform 180ms ease;
}

body.pfi-utility-hidden #brxe-f46bf2.l-utility-grid {
  border-bottom-color: transparent;
  border-bottom-width: 0;
  max-height: 0;
  min-height: 0;
  opacity: 0;
  overflow: visible;
  pointer-events: none;
  transform: translateY(-100%);
}

#brxe-d55e0d.l-header-grid {
  align-items: center;
  column-gap: clamp(1.6rem, 2.2vw, 3.2rem);
  display: flex;
  min-height: 8rem;
}

#brxe-7f99bf.c-header__brand {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
}

#brxe-eb48a6,
#brxe-eb48a6 img {
  display: block;
  height: clamp(5.6rem, 4.9vw, 7.2rem);
  max-width: clamp(15rem, 16vw, 23rem);
  object-fit: contain;
  width: auto;
}

#brxe-itqvwv.c-header__nav .bricks-nav-menu {
  align-items: center;
  display: flex;
  gap: clamp(1.2rem, 1.7vw, 2.9rem);
  justify-content: flex-end;
  margin: 0;
}

#brxe-itqvwv.c-header__nav {
  flex: 1 1 auto;
  margin-left: auto;
  min-width: 0;
}

#brxe-itqvwv.c-header__nav .bricks-nav-menu > li {
  align-items: center;
  display: flex;
  margin-left: 0;
  min-height: 8rem;
}

@media (min-width: 1024px) {
  #brxe-itqvwv.c-header__nav .bricks-nav-menu > li#menu-item-6729 {
    margin-right: clamp(1.2rem, 1vw, 1.8rem);
  }
}

#brxe-itqvwv.c-header__nav .bricks-nav-menu > li > a,
#brxe-itqvwv.c-header__nav .bricks-nav-menu > li > .brx-submenu-toggle > a {
  color: #fff;
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  font-size: clamp(1.42rem, 0.22vw + 1.22rem, 1.68rem);
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1;
  padding: 0.66rem 0;
  position: relative;
  text-decoration: none;
  white-space: nowrap;
  -webkit-text-fill-color: #fff;
}

#brxe-itqvwv.c-header__nav .bricks-nav-menu > li > a::after,
#brxe-itqvwv.c-header__nav .bricks-nav-menu > li > .brx-submenu-toggle > a::after {
  background: var(--pfi-electric-lime);
  border-radius: 999px;
  bottom: -0.45rem;
  content: "";
  height: 0.2rem;
  left: 0;
  opacity: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left center;
  transition: opacity 160ms ease, transform 160ms ease;
  width: 100%;
}

#brxe-itqvwv.c-header__nav .bricks-nav-menu > li:hover > a::after,
#brxe-itqvwv.c-header__nav .bricks-nav-menu > li:hover > .brx-submenu-toggle > a::after,
#brxe-itqvwv.c-header__nav .bricks-nav-menu > li.current-menu-item > a::after,
#brxe-itqvwv.c-header__nav .bricks-nav-menu > li.current_page_item > a::after,
#brxe-itqvwv.c-header__nav .bricks-nav-menu > li.current-menu-parent > .brx-submenu-toggle > a::after,
#brxe-itqvwv.c-header__nav .bricks-nav-menu > li.current-menu-ancestor > .brx-submenu-toggle > a::after {
  opacity: 1;
  transform: scaleX(1);
}

#brxe-itqvwv.c-header__nav .brx-submenu-toggle {
  align-items: center;
  display: inline-flex;
  gap: 0.4rem;
}

#brxe-itqvwv.c-header__nav .bricks-nav-menu > li > .brx-submenu-toggle {
  gap: 0.55rem;
}

#brxe-itqvwv.c-header__nav .brx-submenu-toggle > button {
  color: currentColor;
  height: 2.4rem;
  margin: 0;
  padding: 0;
  width: 1.8rem;
}

#brxe-itqvwv.c-header__nav .brx-submenu-toggle > button svg {
  height: 1.2rem;
  width: 1.2rem;
}

#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: var(--radius-m, 0.8rem);
  box-shadow: 0 1.8rem 4.8rem rgba(15, 23, 42, 0.18);
  color: var(--pfi-primary-navy);
  line-height: 1.2;
  min-width: 24rem;
  padding: 0.8rem;
  z-index: 1010;
}

#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu .sub-menu {
  left: calc(100% - 0.2rem);
  margin-left: 0;
  top: -0.8rem;
}

#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu a,
#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu .brx-submenu-toggle > a,
#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu .brx-submenu-toggle > button {
  color: var(--pfi-primary-navy);
  -webkit-text-fill-color: var(--pfi-primary-navy);
}

#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu a,
#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu .brx-submenu-toggle > a {
  align-items: center;
  border-radius: var(--radius-s, 0.5rem);
  display: flex;
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  font-size: 1.48rem;
  font-weight: 500;
  justify-content: flex-start;
  line-height: 1.3;
  min-height: 4.1rem;
  padding: 0.95rem 1.1rem;
  text-decoration: none;
  width: 100%;
}

#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu .brx-submenu-toggle {
  border-radius: var(--radius-s, 0.5rem);
  display: flex;
  justify-content: space-between;
  width: 100%;
}

#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu li:hover > a,
#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu li:focus-within > a,
#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu li:hover > .brx-submenu-toggle,
#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu li:focus-within > .brx-submenu-toggle,
#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu li.current-menu-item > a,
#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu li.current_page_item > a,
#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu li.current-menu-parent > .brx-submenu-toggle,
#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu li.current-menu-ancestor > .brx-submenu-toggle {
  background: rgba(0, 229, 255, 0.12);
}

#brxe-itqvwv.c-header__nav .bricks-nav-menu .sub-menu li.menu-item-has-children::after {
  content: "";
  height: 100%;
  left: 100%;
  position: absolute;
  top: 0;
  width: 1rem;
}

@media (min-width: 1101px) {
  #brxe-itqvwv.c-header__nav .bricks-nav-menu > li.pfi-mega-trigger > .sub-menu {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
}

.pfi-mega-layer {
  inset-inline: 0;
  pointer-events: none;
  position: fixed;
  top: var(--pfi-mega-top, calc(var(--wp-admin--admin-bar--height, 0px) + 11.6rem));
  z-index: 1200;
}

.pfi-mega-layer[hidden] {
  display: none;
}

.pfi-mega-layer.is-open {
  pointer-events: auto;
}

.pfi-mega-panel {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 1.4rem;
  box-shadow: 0 2.4rem 6rem rgba(1, 11, 19, 0.22);
  color: var(--pfi-primary-navy);
  left: var(--pfi-mega-left, 50%);
  max-width: calc(100vw - 4rem);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: translateX(-50%) translateY(-0.6rem);
  transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease;
  visibility: hidden;
  width: max-content;
}

.pfi-mega-panel:not(.is-active) {
  display: none;
}

.pfi-mega-panel.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%);
  visibility: visible;
}

.pfi-mega-panel__inner {
  column-gap: clamp(1.6rem, 2vw, 2.4rem);
  display: grid;
  grid-auto-columns: minmax(20rem, 23rem);
  grid-auto-flow: column;
  padding: clamp(1.8rem, 1.8vw, 2.4rem);
}

.pfi-mega-panel__column {
  min-width: 0;
}

.pfi-mega-panel__heading {
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  color: var(--pfi-primary-navy);
  font-size: 1.14rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.2;
  margin: 0;
  padding: 0 0 1rem;
  text-transform: uppercase;
}

.pfi-mega-panel__list {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  list-style: none;
  margin: 0;
  padding: 0.85rem 0 0;
}

.pfi-mega-panel__item {
  margin: 0;
}

.pfi-mega-panel__link {
  align-items: center;
  border-radius: var(--radius-s, 0.5rem);
  color: var(--pfi-primary-navy);
  display: flex;
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  font-size: 1.44rem;
  font-weight: 550;
  line-height: 1.25;
  min-height: 3.7rem;
  padding: 0.85rem 1rem;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease;
  -webkit-text-fill-color: var(--pfi-primary-navy);
}

.pfi-mega-panel__link:hover,
.pfi-mega-panel__link:focus-visible {
  background: var(--tertiary-10, rgba(56, 189, 248, 0.1));
  color: var(--pfi-primary-navy);
  outline: none;
  -webkit-text-fill-color: var(--pfi-primary-navy);
}

#brxe-itqvwv.c-header__nav .pfi-mega-trigger.pfi-mega-is-open > a::after,
#brxe-itqvwv.c-header__nav .pfi-mega-trigger.pfi-mega-is-open > .brx-submenu-toggle > a::after {
  opacity: 1;
  transform: scaleX(1);
}

@media (max-width: 1100px) {
  .pfi-mega-layer {
    display: none !important;
  }
}

#brxe-4a6321.c-header__search {
  align-self: stretch;
  align-items: center;
  display: flex;
  grid-column: 2;
  grid-row: 1;
  height: 100%;
  justify-self: end;
  margin: 0 !important;
  max-width: max-content;
  min-width: 0;
  position: relative;
  transform: none;
  width: auto;
  z-index: 1040;
}

.pfi-utility-socials {
  align-items: center;
  display: flex;
  gap: 0.65rem;
  height: 100%;
  justify-content: flex-end;
}

.pfi-utility-socials__label {
  display: none;
}

.pfi-utility-socials__link {
  align-items: center;
  background: #fff;
  border: 0;
  border-radius: 999px;
  color: var(--pfi-rich-black);
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
  width: 2rem;
  -webkit-text-fill-color: var(--pfi-rich-black);
}

.pfi-utility-socials__link svg {
  fill: none;
  height: 1.08rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 1.08rem;
}

.pfi-utility-socials__link svg [fill-current] {
  fill: currentColor;
  stroke: none;
}

.pfi-utility-socials__link svg [fill="currentColor"] {
  stroke: none;
}

.pfi-utility-socials__link:hover,
.pfi-utility-socials__link:focus {
  background: var(--pfi-electric-lime);
  border-color: var(--pfi-electric-lime);
  color: var(--pfi-rich-black);
  -webkit-text-fill-color: var(--pfi-rich-black);
}

.c-search-results {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: var(--pfi-search-radius);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.16);
  display: none;
  flex-direction: column;
  left: 0;
  margin-top: 0.7rem;
  overflow: hidden;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 9999;
}

.c-search-results__item {
  align-items: center;
  color: var(--text-title, #0f172a);
  display: flex;
  gap: 1.2rem;
  justify-content: space-between;
  padding: 1.15rem 1.3rem;
  text-decoration: none;
  transition: background-color 0.18s ease;
  -webkit-text-fill-color: var(--text-title, #0f172a);
}

.c-search-results__item:not(:last-child) {
  border-bottom: 1px solid #edf2f7;
}

.c-search-results__item:hover,
.c-search-results__item:focus {
  background: #f4f9fd;
}

.c-search-results__content {
  min-width: 0;
}

.c-search-results__title {
  color: #0f172a;
  display: block;
  font-size: 1.35rem;
  font-weight: 750;
  line-height: 1.25;
  -webkit-text-fill-color: #0f172a;
}

.c-search-results__meta {
  align-items: center;
  color: #64748b;
  display: flex;
  font-size: 1.2rem;
  gap: 0.45rem;
  line-height: 1.2;
  margin-top: 0.35rem;
  -webkit-text-fill-color: #64748b;
}

.c-search-results__pin {
  display: block;
  flex: 0 0 auto;
  height: 1.25rem;
  transform: translateY(0.02rem);
  width: 1.25rem;
}

.c-search-results__type {
  background: var(--pfi-primary-navy);
  border-radius: 999px;
  color: #fff;
  flex: 0 0 auto;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  padding: 0.4rem 0.75rem;
  text-transform: capitalize;
  -webkit-text-fill-color: #fff;
}

.c-search-results__empty {
  color: #64748b;
  font-size: 1.35rem;
  padding: 1.4rem 1.5rem;
}

.c-mobile-menu__cta {
  align-items: center;
  background: var(--pfi-electric-lime);
  border: 0;
  border-radius: 999px;
  color: var(--pfi-rich-black);
  display: inline-flex;
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  font-size: 1.18rem;
  font-weight: 800;
  justify-content: center;
  line-height: 1;
  min-height: 2.5rem;
  padding: 0.58rem 1.12rem;
  text-decoration: none;
  white-space: nowrap;
  width: fit-content;
  -webkit-text-fill-color: var(--pfi-rich-black);
}

#brx-header #brxe-f97fe6.c-header__cta.bricks-button {
  align-items: center;
  align-self: stretch;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #fff !important;
  column-gap: 0.58rem;
  display: inline-flex !important;
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  font-size: 1.2rem;
  font-weight: 900;
  grid-column: 1;
  grid-row: 1;
  height: 100%;
  justify-self: start;
  letter-spacing: 0.02em;
  line-height: 1;
  margin-left: 0;
  min-height: 0;
  opacity: 1 !important;
  padding: 0 !important;
  place-self: center start;
  text-decoration: none;
  text-transform: uppercase;
  visibility: visible !important;
  white-space: nowrap;
  width: auto !important;
  -webkit-text-fill-color: #fff !important;
}

#brx-header #brxe-f97fe6.c-header__cta.bricks-button::before {
  background: currentColor;
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  height: 1.45rem;
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-mask: url("/wp-content/svg-icons/external-link.svg") center / contain no-repeat;
  mask: url("/wp-content/svg-icons/external-link.svg") center / contain no-repeat;
  width: 1.45rem;
}

#brx-header #brxe-f97fe6.c-header__cta.bricks-button:hover,
#brx-header #brxe-f97fe6.c-header__cta.bricks-button:focus {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--pfi-electric-lime) !important;
  -webkit-text-fill-color: var(--pfi-electric-lime) !important;
}

.c-mobile-menu__cta:hover,
.c-mobile-menu__cta:focus {
  background: var(--pfi-cyan, #00e5ff);
  color: var(--pfi-rich-black);
  -webkit-text-fill-color: var(--pfi-rich-black);
}

.pfi-header-search {
  flex: 0 0 auto;
}

.pfi-header-search__toggle {
  align-items: center;
  background: rgba(1, 11, 19, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  height: 3.8rem;
  justify-content: center;
  padding: 0;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
  width: 3.8rem;
}

.pfi-header-search__toggle svg,
.pfi-search-modal__close svg,
.pfi-search-modal__field-icon {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.25;
}

.pfi-header-search__toggle svg {
  height: 1.9rem;
  width: 1.9rem;
}

.pfi-header-search__toggle:hover,
.pfi-header-search__toggle:focus-visible {
  background: var(--pfi-electric-lime);
  border-color: var(--pfi-electric-lime);
  color: var(--pfi-rich-black);
}

.pfi-search-modal[hidden] {
  display: none;
}

.pfi-search-modal {
  inset: 0;
  position: fixed;
  z-index: 99999;
}

.pfi-search-modal__backdrop {
  background: rgba(1, 11, 19, 0.72);
  inset: 0;
  position: absolute;
}

.pfi-search-modal__dialog {
  background: #fff;
  border: 1px solid rgba(0, 229, 255, 0.22);
  border-radius: 1.4rem;
  box-shadow: 0 3rem 8rem rgba(1, 11, 19, 0.42);
  color: var(--pfi-rich-black);
  left: 50%;
  max-width: min(64rem, calc(100vw - 3.2rem));
  padding: clamp(2.4rem, 5vw, 4rem);
  position: absolute;
  top: 22vh;
  transform: translateX(-50%);
  width: 100%;
}

.pfi-search-modal__close {
  align-items: center;
  background: var(--pfi-rich-black);
  border: 0;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  height: 3.6rem;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 1.4rem;
  top: 1.4rem;
  width: 3.6rem;
}

.pfi-search-modal__close svg {
  height: 1.8rem;
  width: 1.8rem;
}

.pfi-search-modal__eyebrow {
  color: var(--pfi-action-blue);
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0 0 0.9rem;
  text-transform: uppercase;
}

.pfi-search-modal h2 {
  color: var(--pfi-rich-black);
  font-size: clamp(2.8rem, 4vw, 4.6rem);
  font-weight: 900;
  line-height: 1.04;
  margin: 0 0 2rem;
}

.pfi-search-modal__field {
  align-items: center;
  display: flex;
  position: relative;
  width: 100%;
}

.pfi-search-modal__field-icon {
  color: #64748b;
  height: 2rem;
  left: 1.6rem;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2rem;
  z-index: 1;
}

.pfi-search-modal__field input {
  background: #f6f9fc;
  border: 1px solid #dce7ef;
  border-radius: 1.2rem;
  color: var(--pfi-rich-black);
  font-size: 1.65rem;
  min-height: 5.6rem;
  outline: none;
  padding: 0 1.6rem 0 5rem !important;
  width: 100%;
  -webkit-text-fill-color: var(--pfi-rich-black);
}

.pfi-search-modal__field input:focus,
.pfi-search-modal__field input:focus-visible {
  border-color: var(--pfi-action-blue);
  box-shadow: 0 0 0 3px rgba(0, 159, 227, 0.18);
}

body.pfi-search-modal-open {
  overflow: hidden;
}

@media (max-width: 1200px) and (min-width: 1101px) {
  #brxe-itqvwv.c-header__nav .bricks-nav-menu {
    gap: clamp(0.9rem, 1.08vw, 1.65rem);
  }

  #brxe-itqvwv.c-header__nav .bricks-nav-menu > li > a,
  #brxe-itqvwv.c-header__nav .bricks-nav-menu > li > .brx-submenu-toggle > a {
    font-size: clamp(1.4rem, 0.2vw + 1.2rem, 1.58rem);
  }
}

@media (max-width: 1100px) {
  #brxe-f46bf2.l-utility-grid {
    display: none;
  }

  .pfi-header-search {
    display: none;
  }

  #brxe-d55e0d.l-header-grid {
    min-height: 7.4rem;
  }

  #brxe-itqvwv.c-header__nav {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    margin-left: auto;
  }

  #brxe-itqvwv.c-header__nav .bricks-nav-menu-wrapper {
    display: none;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu-toggle {
    align-items: center;
    color: #fff;
    display: inline-flex;
    height: 4.4rem;
    justify-content: center;
    margin: 0;
    position: relative;
    top: 1.45rem;
    width: 4.4rem;
    z-index: 1020;
  }

  #brxe-itqvwv.c-header__nav.show-mobile-menu .bricks-mobile-menu-toggle,
  #brxe-itqvwv.c-header__nav.show-mobile-menu .bricks-mobile-menu-toggle.fixed {
    left: auto;
    position: fixed;
    right: var(--space-m, 2rem);
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 1.65rem);
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu-toggle span {
    background-color: #fff;
    height: 2px;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu-wrapper,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu-wrapper.right {
    background: var(--pfi-deep-teal) !important;
    background-color: var(--pfi-deep-teal) !important;
    color: #fff;
    height: 100dvh;
    left: 0 !important;
    max-height: 100dvh;
    max-width: none;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 2.4rem clamp(2rem, 6vw, 3.2rem) 4rem;
    right: auto !important;
    scrollbar-width: thin;
    top: var(--wp-admin--admin-bar--height, 0px);
    width: 100vw;
    -webkit-overflow-scrolling: touch;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu-wrapper::before,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu-wrapper:before {
    background: var(--pfi-deep-teal) !important;
    background-color: var(--pfi-deep-teal) !important;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu {
    background: transparent !important;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    margin: 0 auto;
    max-width: 44rem;
    min-height: min-content;
    overflow: visible;
    padding: 0;
    width: 100%;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu > li {
    background: transparent !important;
    margin: 0;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu > li:not(.pfi-mobile-menu__brand, .pfi-mobile-menu__search, .pfi-mobile-menu__cta) {
    border-top: 1px solid rgba(255, 255, 255, 0.11);
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu a,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .brx-submenu-toggle > a {
    color: #fff;
    display: flex;
    font-family: var(--pfi-font-primary), system-ui, sans-serif;
    font-size: 1.6rem;
    font-weight: 750;
    justify-content: space-between;
    line-height: 1.2;
    min-height: 0;
    padding: 1.2rem 0;
    -webkit-text-fill-color: #fff;
    -webkit-tap-highlight-color: transparent;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .brx-submenu-toggle {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    width: 100%;
    -webkit-tap-highlight-color: transparent;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .brx-submenu-toggle > button {
    align-items: center;
    align-self: stretch;
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #fff;
    display: inline-flex;
    flex: 0 0 4.8rem;
    height: auto;
    justify-content: flex-end;
    margin-left: auto;
    min-height: 4.6rem;
    padding: 0 0.5rem 0 1.4rem;
    width: 4.8rem;
    -webkit-text-fill-color: #fff;
    -webkit-tap-highlight-color: transparent;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .brx-submenu-toggle > button:active,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .brx-submenu-toggle > button:focus:not(:focus-visible) {
    box-shadow: none;
    outline: none;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .brx-submenu-toggle > button:focus-visible {
    outline: 0.2rem solid rgba(191, 255, 0, 0.52);
    outline-offset: 0.2rem;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu > li.menu-item-has-children > .brx-submenu-toggle {
    border-radius: 1rem;
    gap: 0.4rem;
    padding: 0 0.45rem 0 0.85rem;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu > li:not(.menu-item-has-children, .pfi-mobile-menu__brand, .pfi-mobile-menu__search, .pfi-mobile-menu__cta) > a {
    border-radius: 0.8rem;
    padding-left: 0.85rem;
    padding-right: 0.45rem;
    transition: background-color 0.12s ease, opacity 0.12s ease;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu > li:not(.menu-item-has-children, .pfi-mobile-menu__brand, .pfi-mobile-menu__search, .pfi-mobile-menu__cta) > a:active {
    background: rgba(255, 255, 255, 0.12);
    opacity: 1;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu > li.menu-item-has-children > .brx-submenu-toggle > a {
    align-items: center;
    flex: 1 1 auto;
    min-height: 4.8rem;
    padding: 1.2rem 0;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu > li.menu-item-has-children > .brx-submenu-toggle > button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0.75rem;
    flex-basis: 4.8rem;
    justify-content: flex-end;
    margin-left: auto;
    min-height: 4.6rem;
    padding: 0 0.5rem 0 1.4rem;
    width: 4.8rem;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu > li.menu-item-has-children > .brx-submenu-toggle > button:active,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu > li.menu-item-has-children > .brx-submenu-toggle > button:focus:not(:focus-visible) {
    background: transparent;
    border-color: transparent;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .brx-submenu-toggle > button svg {
    transform: rotate(-90deg);
    transform-origin: center;
    transition: transform 0.18s ease;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu li.open > .brx-submenu-toggle > button svg,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .brx-submenu-toggle > button[aria-expanded="true"] svg,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .brx-submenu-toggle:has(button[aria-expanded="true"]) > button svg {
    transform: rotate(0deg);
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu {
    background: transparent;
    border: 0;
    box-shadow: none;
    line-height: 1.2;
    padding: 0.35rem 0 0.95rem 1.2rem;
    position: static;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu .sub-menu {
    padding-left: 2.8rem;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu a,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu .brx-submenu-toggle > a {
    border-radius: 0.8rem;
    font-size: 1.48rem;
    font-weight: 650;
    opacity: 0.9;
    padding-left: 0.85rem;
    padding-right: 0.85rem;
    transition: background-color 0.12s ease, color 0.12s ease, opacity 0.12s ease;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu a:active,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu .brx-submenu-toggle > a:active {
    background: rgba(255, 255, 255, 0.12);
    opacity: 1;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group-start {
    margin-top: 1rem;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group-start:first-child {
    margin-top: 0.45rem;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group-start::before {
    color: var(--pfi-electric-lime);
    display: block;
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1;
    margin: 0 0 0.25rem;
    padding: 0.8rem 0 0.35rem;
    text-transform: uppercase;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--get-started::before {
    content: "Get started";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--get-on-court::before {
    content: "Get on court";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--play-for-everyone::before {
    content: "Play for everyone";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--find-coaching::before {
    content: "Find coaching";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--become-a-coach::before {
    content: "Become a coach";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--coach-resources::before {
    content: "Coach resources";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--tournaments::before {
    content: "Tournaments";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--rankings-categories::before {
    content: "Rankings & categories";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--pathways-officials::before {
    content: "Pathways & officials";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--players-licences::before {
    content: "Players and licences";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--clubs-venues::before {
    content: "Clubs and venues";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--about-pfi::before {
    content: "About PFI";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--governance-documents::before {
    content: "Governance & documents";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu > li.pfi-mobile-menu-group--integrity-development::before {
    content: "Integrity & development";
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu li.open > .brx-submenu-toggle,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .brx-submenu-toggle[aria-expanded="true"],
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .brx-submenu-toggle:has(button[aria-expanded="true"]) {
    background: rgba(255, 255, 255, 0.07);
    border-radius: 1rem;
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu > li.pfi-current-pillar > .brx-submenu-toggle > a,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu > li.current-menu-item > a,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu > li.current-menu-ancestor > .brx-submenu-toggle > a {
    color: var(--pfi-electric-lime);
    -webkit-text-fill-color: var(--pfi-electric-lime);
  }

  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu li.current-menu-item > a,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu li.current_page_item > a,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu li.current-menu-parent > .brx-submenu-toggle > a,
  #brxe-itqvwv.c-header__nav .bricks-mobile-menu .sub-menu li.current-menu-ancestor > .brx-submenu-toggle > a {
    background: rgba(183, 236, 255, 0.13);
    box-shadow: inset 0.28rem 0 0 var(--pfi-soft-accent-blue);
    color: #fff;
    font-weight: 850;
    opacity: 1;
    padding-left: 1.15rem;
    -webkit-text-fill-color: #fff;
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__brand {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    margin-bottom: 1.2rem !important;
    padding: 0 5.8rem 1.4rem 0 !important;
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__brand > a {
    align-items: center;
    display: inline-flex;
    justify-content: flex-start;
    padding: 0 !important;
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__brand img {
    height: auto;
    max-width: 20.5rem;
    width: clamp(17rem, 52vw, 20.5rem);
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__search {
    display: block;
    margin: 0 0 1rem !important;
    padding-bottom: 0 !important;
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__search .c-search-input-wrapper {
    align-items: center;
    display: flex;
    max-width: 100%;
    position: relative;
    width: 100%;
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__search .c-search-input-wrapper > svg:not(.c-search-results__pin) {
    left: 1.35rem;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__search input {
    background: #fff;
    border: 0;
    border-radius: var(--pfi-search-radius);
    box-sizing: border-box;
    color: var(--text-title, #0f172a);
    min-height: 4.4rem;
    outline: none;
    padding: 0 1.5rem 0 4.2rem !important;
    width: 100%;
    -webkit-text-fill-color: var(--text-title, #0f172a);
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__search .c-search-results__item {
    align-items: center;
    color: var(--text-title, #0f172a);
    display: flex;
    gap: 1.2rem;
    justify-content: space-between;
    line-height: 1.2;
    min-height: 0;
    padding: 1.15rem 1.45rem !important;
    -webkit-text-fill-color: var(--text-title, #0f172a);
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__search .c-search-results__content {
    min-width: 0;
    padding: 0;
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__search .c-search-results__title {
    line-height: 1.25;
    padding: 0;
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__search .c-search-results__meta {
    align-items: center;
    display: flex;
    line-height: 1.2;
    margin-top: 0.35rem;
    padding: 0;
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__search .c-search-results__pin {
    display: block;
    flex: 0 0 auto;
    height: 1.25rem;
    left: auto;
    position: static;
    top: auto;
    transform: translateY(0.02rem);
    width: 1.25rem;
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__search .c-search-results__type {
    margin-left: auto;
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__cta {
    display: block;
    margin: 0 0 1.35rem !important;
    padding-top: 0.2rem !important;
  }

  #brxe-itqvwv.c-header__nav .pfi-mobile-menu__cta .c-mobile-menu__cta {
    align-items: center;
    background: var(--pfi-electric-lime);
    border-radius: var(--pfi-search-radius);
    color: var(--pfi-rich-black);
    display: inline-flex;
    font-size: 1.35rem;
    font-weight: 800;
    justify-content: center;
    line-height: 1;
    margin-top: 0.1rem !important;
    min-height: 4.4rem;
    padding: 1rem 1.9rem !important;
    width: 100%;
    -webkit-text-fill-color: var(--pfi-rich-black);
  }
}
/* ==========================================================================
   PFI Cookie Banner Polish
   ========================================================================== */

body #snn-cookie-banner.snn-cookie-banner {
  background: #fff !important;
  border: 1px solid rgba(0, 66, 90, 0.16) !important;
  border-radius: 0.8rem !important;
  bottom: clamp(1.2rem, 2vw, 2rem) !important;
  box-shadow: 0 1.2rem 3.8rem rgba(1, 11, 19, 0.2) !important;
  color: var(--text-body, #334155) !important;
  left: clamp(1.2rem, 2vw, 2.4rem) !important;
  margin: 0 !important;
  max-width: min(42rem, calc(100vw - 2.4rem)) !important;
  padding: 1.6rem !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: min(42rem, calc(100vw - 2.4rem)) !important;
  z-index: 9999 !important;
}

body:has(#brxe-itqvwv.c-header__nav.show-mobile-menu) #snn-cookie-banner.snn-cookie-banner {
  display: none !important;
}

body #snn-cookie-banner .snn-preferences-title {
  color: var(--pfi-primary-navy, #00425a) !important;
  font-family: var(--pfi-font-primary), system-ui, sans-serif !important;
  font-size: 1.55rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  margin: 0 0 0.65rem !important;
  text-align: left !important;
}

body #snn-cookie-banner .snn-banner-text {
  color: var(--text-body, #334155) !important;
  font-family: var(--pfi-font-primary), system-ui, sans-serif !important;
  font-size: 1.38rem !important;
  line-height: 1.45 !important;
  margin: 0 0 1.2rem !important;
}

body #snn-cookie-banner .snn-banner-text p {
  margin: 0 !important;
}

body #snn-cookie-banner .snn-banner-buttons {
  display: grid !important;
  gap: 0.8rem !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body #snn-cookie-banner .snn-banner-buttons .snn-button {
  align-items: center !important;
  border: 1px solid rgba(0, 66, 90, 0.18) !important;
  border-radius: 0.8rem !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-family: var(--pfi-font-primary), system-ui, sans-serif !important;
  font-size: 1.32rem !important;
  font-weight: 800 !important;
  justify-content: center !important;
  line-height: 1.1 !important;
  min-height: 4rem !important;
  padding: 1rem 1.2rem !important;
  text-align: center !important;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease !important;
  width: 100% !important;
}

body #snn-cookie-banner .snn-banner-buttons .snn-button:hover,
body #snn-cookie-banner .snn-banner-buttons .snn-button:focus-visible {
  transform: translateY(-1px) !important;
}

body #snn-cookie-banner .snn-banner-buttons .snn-accept {
  background: var(--pfi-electric-lime, #bfff00) !important;
  border-color: var(--pfi-electric-lime, #bfff00) !important;
  color: var(--pfi-rich-black, #010b13) !important;
}

body #snn-cookie-banner .snn-banner-buttons .snn-deny {
  background: #eef5f7 !important;
  border-color: rgba(0, 66, 90, 0.16) !important;
  color: var(--pfi-primary-navy, #00425a) !important;
}

body #snn-cookie-banner .snn-banner-buttons .snn-preferences {
  background: transparent !important;
  border-color: rgba(0, 66, 90, 0.28) !important;
  color: var(--pfi-primary-navy, #00425a) !important;
}

body #snn-cookie-banner .snn-preferences-content {
  background: #f6fafb !important;
  border: 1px solid rgba(0, 66, 90, 0.12) !important;
  border-radius: 0.8rem !important;
  margin: 0 0 1.2rem !important;
  max-height: 34vh !important;
  overflow: auto !important;
  padding: 1.2rem !important;
}

body #snn-cookie-banner:not(:has(.snn-services-list)) .snn-preferences-content,
body #snn-cookie-banner:not(:has(.snn-services-list)) .snn-banner-buttons .snn-preferences {
  display: none !important;
}

body #snn-cookie-banner .snn-service-item {
  color: var(--text-body, #334155) !important;
  gap: 0.45rem !important;
  margin: 0 0 1rem !important;
}

body #snn-cookie-banner .snn-service-name {
  color: var(--pfi-primary-navy, #00425a) !important;
}

body #snn-cookie-banner .snn-service-description-text {
  color: var(--text-muted, #64748b) !important;
  font-size: 1.25rem !important;
  line-height: 1.4 !important;
}


@media (max-width: 480px) {
  body #snn-cookie-banner.snn-cookie-banner {
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-radius: 0.8rem 0.8rem 0 0 !important;
    border-right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    max-width: none !important;
    padding: 1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom, 0px)) !important;
    right: 0 !important;
    width: 100% !important;
  }

  body #snn-cookie-banner .snn-banner-buttons {
    gap: 0.7rem !important;
    grid-template-columns: 1fr !important;
  }

  body #snn-cookie-banner .snn-banner-buttons .snn-button {
    min-height: 3.8rem !important;
    padding: 0.85rem 1rem !important;
  }
}
/* ==========================================================================
   PFI Footer and Sponsors
   ========================================================================== */

#brxe-spnsct {
  background:
    linear-gradient(135deg, var(--pfi-portal-bg-deep, #031a25), var(--pfi-primary-navy, #00425a));
  border-top: 1px solid rgba(224, 224, 224, 0.12);
  overflow: hidden;
  padding: clamp(3.2rem, 5vw, 5.6rem) var(--space-m);
}

#brxe-spncon {
  align-items: center;
  max-width: 112rem;
  text-align: center;
  width: 100%;
}

#brxe-spnhdg {
  color: #fff;
  font-size: clamp(1.8rem, 1.7vw, 2.2rem);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 2.4rem;
}

#brxe-spnslr {
  min-height: 8.8rem;
  overflow: hidden;
  width: 100%;
}

#brxe-spnslr .x-slider_slide {
  align-items: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 0.8rem 2.4rem rgba(1, 11, 19, 0.16);
  display: flex;
  flex: 0 0 clamp(18rem, 18vw, 20rem);
  justify-content: center;
  min-height: 8.8rem;
  opacity: 0;
  padding: 1.4rem 2rem;
  transition: opacity 0.18s ease;
  width: clamp(18rem, 18vw, 20rem) !important;
}

#brxe-spnslr.pfi-sponsor-carousel-ready .x-slider_slide.pfi-sponsor-slide-ready {
  opacity: 1;
}

#brxe-spnslr .brxe-image:not(img) {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  width: 100%;
}

#brxe-spnslr img.brxe-image,
#brxe-spnslr .brxe-image img,
#brxe-spnslr .x-slider_slide > img {
  display: block;
  height: auto !important;
  max-height: 5.8rem;
  max-width: min(16rem, 88%);
  object-fit: contain;
  width: auto !important;
}

#brxe-spnslr .x-slider_slide p {
  color: #64748b;
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
  margin: 0;
  text-transform: uppercase;
}

#brxe-spnslr .splide__arrows,
#brxe-spnslr .splide__pagination {
  display: none !important;
}

@media (max-width: 900px) {
  #brxe-spnslr .x-slider_slide {
    flex-basis: 18rem;
    padding: 1.2rem 1.6rem;
    width: 18rem !important;
  }

  #brxe-spnslr img.brxe-image,
  #brxe-spnslr .brxe-image img,
  #brxe-spnslr .x-slider_slide > img {
    max-height: 5.2rem;
    max-width: min(14.8rem, 88%);
  }
}


@media (max-width: 480px) {
  #brxe-spnslr .x-slider_slide {
    flex-basis: 16.5rem;
    min-height: 7.8rem;
    padding: 1rem 1.35rem;
    width: 16.5rem !important;
  }

  #brxe-spnslr img.brxe-image,
  #brxe-spnslr .brxe-image img,
  #brxe-spnslr .x-slider_slide > img {
    max-height: 4.8rem;
    max-width: min(13.6rem, 88%);
  }
}

.c-footer {
  padding-left: var(--space-m) !important;
  padding-right: var(--space-m) !important;
}

.c-footer .l-footer__container,
.c-footer .l-footer__grid,
.c-footer .c-footer__col,
.c-footer .c-newsletter {
  min-width: 0;
}

.c-footer .l-footer__container,
.c-footer .l-footer__grid {
  width: 100% !important;
}

#brxe-hxycwn {
  order: 3;
}

#brxe-livjim {
  order: 4;
}

#brxe-igebzw {
  margin-top: 0 !important;
}

#brxe-bvhmgc {
  align-items: center;
}

#brxe-nqgbfg::before,
#brxe-trmuse::before {
  color: currentColor;
  content: "|";
  display: inline-block;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
  opacity: 0.65;
}

@media (min-width: 768px) {
  #brxe-igebzw {
    margin-top: -2.05rem !important;
  }

  .c-footer #brxe-jvwnln {
    align-items: center !important;
    min-height: 0 !important;
    padding-bottom: 1.1rem !important;
    padding-top: 1.1rem !important;
  }

  .c-footer #brxe-wunczc,
  .c-footer #brxe-bvhmgc,
  .c-footer #brxe-txykjs,
  .c-footer #brxe-nqgbfg {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
  }
}

@media (max-width: 767px) {
  #brxe-spncon {
    align-items: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    text-align: center !important;
    width: 100% !important;
  }

  #brxe-spnhdg {
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    width: 100% !important;
  }

  #brxe-spnslr {
    max-width: 100% !important;
    overflow: hidden;
    width: 100% !important;
  }

  .c-footer #brxe-jvwnln {
    align-items: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
  }

  .c-footer #brxe-wunczc {
    margin: 0 !important;
    max-width: 28rem;
    text-align: center !important;
    width: 100% !important;
  }

  .c-footer #brxe-bvhmgc {
    align-items: center !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    justify-content: center !important;
    max-width: none;
    position: static;
    text-align: center !important;
    width: 100% !important;
  }

  .c-footer #brxe-bvhmgc::after {
    content: none;
  }

  .c-footer #brxe-bvhmgc a {
    display: inline-flex !important;
    margin: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
    width: auto !important;
  }

  .c-footer #brxe-txykjs {
    padding-right: 0;
    justify-self: end;
  }

  .c-footer #brxe-nqgbfg {
    padding-left: 0;
    justify-self: start;
  }

  #brxe-nqgbfg::before {
    content: "|";
    margin-left: 1.2rem;
    margin-right: 1.2rem;
  }
}

.c-newsletter form,
.c-newsletter .ff-t-container,
.c-newsletter .ff-t-row,
.c-newsletter .ff-t-cell,
.c-newsletter .ff-el-group {
  max-width: 100% !important;
  width: 100% !important;
}

.c-newsletter form {
  display: flex !important;
  flex-direction: column;
}

.c-newsletter form fieldset {
  display: flex !important;
  flex-direction: column;
  margin: 0;
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

.c-newsletter .ff-t-container,
.c-newsletter .ff-t-row,
.c-newsletter .ff-t-cell,
.c-newsletter .ff-el-group {
  display: block !important;
}

.c-newsletter form fieldset > .ff-el-group {
  margin-top: 0 !important;
  order: 1;
}

.c-newsletter form fieldset > .ff-el-group:first-of-type {
  margin-bottom: 0.8rem !important;
}

.c-newsletter form fieldset > .ff_submit_btn_wrapper {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  order: 2;
}

.c-newsletter form fieldset > .ff-el-group.ff-el-input--content {
  margin-top: 0.25rem !important;
  order: 3;
}

.c-newsletter .ff-t-cell {
  margin-bottom: 0.7rem;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.c-newsletter .ff-el-form-control {
  background-color: #fff !important;
  border: 1px solid rgba(224, 224, 224, 0.25) !important;
  border-radius: 0.8rem !important;
  box-sizing: border-box;
  color: var(--text-title, #0f172a) !important;
  font-size: 1.42rem !important;
  min-height: 4.4rem;
  min-width: 0;
  padding: 1.1rem 1.5rem !important;
  width: 100% !important;
  -webkit-text-fill-color: var(--text-title, #0f172a) !important;
}

.c-newsletter .ff-el-input--label {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.c-newsletter .ff-el-tc .ff-el-form-check-label {
  align-items: flex-start;
  color: #fff !important;
  display: flex;
  font-size: 1.18rem !important;
  font-weight: 600 !important;
  gap: 0.65rem;
  line-height: 1.35;
}

.c-newsletter .ff-el-tc .ff-el-form-check-label,
.c-newsletter .ff-el-tc .ff_t_c {
  -webkit-tap-highlight-color: transparent;
}

.c-newsletter .ff-el-tc .ff-el-form-check-label:active,
.c-newsletter .ff-el-tc .ff-el-form-check-label:focus,
.c-newsletter .ff-el-tc .ff-el-form-check-label:focus-within,
.c-newsletter .ff-el-tc .ff_t_c:active,
.c-newsletter .ff-el-tc .ff_t_c:focus {
  box-shadow: none !important;
  outline: none !important;
}

.c-newsletter .ff-el-tc .ff_tc_checkbox {
  flex: 0 0 auto;
  line-height: 0;
  margin-top: 0.34rem;
}

.c-newsletter .ff-el-tc .ff-el-form-check-input {
  display: block;
  height: 1.3rem;
  margin: 0 !important;
  width: 1.3rem;
}

.c-newsletter .ff-el-tc .ff-el-form-check-input:focus:not(:focus-visible) {
  box-shadow: none !important;
  outline: none !important;
}

.c-newsletter .ff-el-tc .ff-el-form-check-input:focus-visible {
  outline: 0.2rem solid rgba(191, 255, 0, 0.65);
  outline-offset: 0.2rem;
}

.c-newsletter .ff-el-tc .ff_t_c {
  flex: 1 1 auto;
  margin-top: 0 !important;
  min-width: 0;
  position: relative;
  top: -0.38rem !important;
}

.c-newsletter .ff-el-is-error .text-danger,
.c-newsletter .error.text-danger {
  color: #fecaca !important;
  font-size: 1.18rem;
  margin-top: 0.45rem;
}

.c-newsletter .ff-message-success {
  background: rgba(191, 255, 0, 0.12) !important;
  border: 1px solid rgba(191, 255, 0, 0.25) !important;
  border-radius: 0.8rem !important;
  color: #fff !important;
  font-size: 1.35rem;
  line-height: 1.45;
  padding: 1.2rem 1.4rem !important;
}

.c-footer .c-newsletter .wpf_has_custom_css.ff-btn-submit,
.c-footer .c-newsletter .ff-btn-submit {
  background-color: var(--pfi-action-blue) !important;
  border-color: var(--pfi-action-blue) !important;
  border-radius: 0.8rem !important;
  color: #fff !important;
  font-size: 1.38rem !important;
  font-weight: 850 !important;
  min-height: 4.4rem;
  padding: 1rem 1.6rem !important;
  width: 100%;
  -webkit-text-fill-color: #fff !important;
}

.c-footer .c-newsletter .wpf_has_custom_css.ff-btn-submit:hover,
.c-footer .c-newsletter .wpf_has_custom_css.ff-btn-submit:active,
.c-footer .c-newsletter .wpf_has_custom_css.ff-btn-submit:focus-visible,
.c-footer .c-newsletter .ff-btn-submit:hover,
.c-footer .c-newsletter .ff-btn-submit:active,
.c-footer .c-newsletter .ff-btn-submit:focus-visible {
  background-color: var(--pfi-action-blue-hover) !important;
  border-color: var(--pfi-action-blue-hover) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* ==========================================================================
   PFI Club Map and Cards
   ========================================================================== */

.pfi-club-map {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  isolation: isolate;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 0;
}

.pfi-club-map .leaflet-container,
.pfi-club-map .leaflet-popup,
.pfi-club-map .leaflet-popup-content,
.pfi-club-map .leaflet-control {
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
}

.pfi-club-map .leaflet-top,
.pfi-club-map .leaflet-bottom {
  z-index: 500;
}

.pfi-club-map__canvas {
  background: #eef2f7;
  height: clamp(34rem, 54vw, 58rem);
  min-height: 34rem;
  width: 100%;
}

.pfi-club-map--single .pfi-club-map__canvas {
  border-radius: 0.8rem;
  height: clamp(26rem, 42vw, 38rem);
  min-height: 26rem;
  overflow: hidden;
}

.pfi-club-map--single {
  background: #fff;
  border: 1px solid rgba(12, 32, 58, 0.12);
  border-radius: 1.2rem;
  box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.1);
  padding: 0.8rem;
}

.single-club .c-sidebar-map {
  background: #fff !important;
  border-radius: 1.2rem !important;
  overflow: hidden;
}

@media (min-width: 992px) {
  .single-club #brxe-fzdmmd {
    grid-template-columns: minmax(28rem, 0.86fr) minmax(0, 2fr) !important;
  }

  .single-club #brxe-brlzim {
    grid-column: 1;
    grid-row: 1;
  }

  .single-club #brxe-sxjzvh {
    grid-column: 2;
    grid-row: 1;
  }

  .single-club #brxe-molipj {
    display: none;
  }
}

.single-club #brxe-clbbcr {
  display: none;
}

@media (min-width: 992px) {
  .single-club #brxe-clbbcr {
    display: block;
  }
}

@media (max-width: 1279px) {
  .single-club #brxe-molipj {
    display: block;
    margin-bottom: 1.2rem;
  }
}

.single-club .c-club-breadcrumb {
  margin: 0;
}

.single-club .c-club-breadcrumb__link {
  align-items: center;
  display: inline-flex;
  gap: 0.4rem;
  line-height: 1.2;
}

.single-club .c-club-breadcrumb__link,
.single-club .c-club-breadcrumb__link:hover,
.single-club .c-club-breadcrumb__link:focus {
  color: var(--text-faded, #64748b) !important;
  text-decoration: none;
}

.single-club .c-club-breadcrumb__arrow {
  background: currentColor;
  color: currentColor;
  display: inline-block;
  flex: 0 0 1.15rem;
  font-size: 0;
  height: 1.15rem;
  line-height: 1;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.8 5.2a1 1 0 0 1 0 1.4L6.4 11H20a1 1 0 1 1 0 2H6.4l4.4 4.4a1 1 0 1 1-1.4 1.4l-6.1-6.1a1 1 0 0 1 0-1.4l6.1-6.1a1 1 0 0 1 1.4 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.8 5.2a1 1 0 0 1 0 1.4L6.4 11H20a1 1 0 1 1 0 2H6.4l4.4 4.4a1 1 0 1 1-1.4 1.4l-6.1-6.1a1 1 0 0 1 0-1.4l6.1-6.1a1 1 0 0 1 1.4 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 1.15rem;
}

.single-club .c-club-breadcrumb__prefix {
  color: var(--text-faded, #64748b) !important;
}

.single-club .c-club-breadcrumb__target {
  color: var(--pfi-tertiary-sky) !important;
}

.single-club .c-club-breadcrumb__link:hover .c-club-breadcrumb__target,
.single-club .c-club-breadcrumb__link:focus .c-club-breadcrumb__target {
  color: color-mix(in srgb, var(--pfi-tertiary-sky) 82%, var(--pfi-primary-navy)) !important;
}

.pfi-club-map-empty {
  background: #fff;
  border: 1px dashed rgba(15, 23, 42, 0.2);
  border-radius: 8px;
  color: var(--text-body, #475569);
  font-size: 1.5rem;
  padding: 2.4rem;
}

.pfi-club-main-details,
.pfi-club-info-sidebar__panel {
  background: #ffffff;
  border: 1px solid rgba(12, 32, 58, 0.12);
  border-radius: 12px;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.08);
}

.pfi-club-main-details {
  display: grid;
  gap: 1.8rem;
  padding: clamp(2.2rem, 3vw, 3.4rem);
}

.pfi-club-main-details__item {
  display: grid;
  gap: 0.4rem;
}

.pfi-club-main-details__label,
.pfi-club-info-sidebar h3 {
  color: var(--pfi-primary-navy);
  font-weight: 800;
}

.pfi-club-main-details__value {
  color: #334155;
  line-height: 1.55;
}

.pfi-club-main-details a.pfi-club-main-details__value {
  color: var(--pfi-action-blue);
  text-decoration: none;
}

.pfi-club-main-details__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  padding-top: 0.4rem;
}

.pfi-club-main-details__button {
  align-items: center;
  background: var(--pfi-action-blue);
  border-radius: 0.8rem;
  color: #ffffff;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  min-height: 4.4rem;
  padding: 1rem 2rem;
  text-decoration: none;
}

.pfi-club-main-details__button--ghost {
  background: #eef6ff;
  color: var(--pfi-primary-navy);
}

.pfi-club-info-sidebar {
  display: grid;
  gap: 1.8rem;
}

.pfi-club-info-sidebar__panel {
  padding: 2.2rem;
}

.club-info-sidebar-title {
  color: var(--pfi-primary-navy);
  font-size: 1.9rem;
  font-weight: 900;
  line-height: 1.2;
  margin: 0 0 1.8rem;
}

.pfi-club-info-sidebar h3 {
  font-size: 1.8rem;
  margin: 0 0 1.4rem;
}

.pfi-club-info-sidebar__stats {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.pfi-club-info-sidebar__stats div {
  background: #f4f8fb;
  border-radius: 10px;
  padding: 1.2rem;
}

.pfi-club-info-sidebar__stats dt {
  color: #64748b;
  font-size: 1.3rem;
  font-weight: 700;
}

.pfi-club-info-sidebar__stats dd {
  color: var(--pfi-primary-navy);
  font-size: 2rem;
  font-weight: 900;
  margin: 0.2rem 0 0;
}

.pfi-club-info-sidebar__rich-text {
  color: #334155;
  line-height: 1.65;
}

.pfi-club-info-sidebar__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.pfi-club-info-sidebar__chips span {
  background: #eef6ff;
  border-radius: 999px;
  color: var(--pfi-primary-navy);
  display: inline-flex;
  font-size: 1.35rem;
  font-weight: 700;
  padding: 0.7rem 1rem;
}

/* ===========================================================================
   PFI Leaflet Markers
   =========================================================================== */

.leaflet-container .pfi-map-marker {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--pfi-action-blue);
  display: flex;
  height: 4.2rem !important;
  justify-content: center;
  overflow: visible;
  width: 3.2rem !important;
}

.leaflet-container .pfi-map-marker__pin {
  display: block;
  filter: drop-shadow(0 0.45rem 0.65rem rgba(15, 23, 42, 0.28));
  height: 4.2rem;
  line-height: 0;
  width: 3.2rem;
}

.leaflet-container .pfi-map-marker__pin svg {
  display: block;
  height: 100%;
  overflow: visible;
  width: 100%;
}

.pfi-map-card {
  overflow: hidden;
  width: 24rem;
}

.pfi-map-card__image {
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  width: 100%;
}

.pfi-map-card__body {
  padding: 1rem 1.1rem 1.1rem;
}

.pfi-map-card__title {
  color: var(--pfi-primary-navy);
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 0.45rem;
}

.pfi-map-card__badges.pfi-club-status-badges {
  align-items: center;
  display: flex;
  gap: 0.45rem;
  line-height: 1;
  margin: 0 0 0.45rem;
  width: fit-content;
}

.pfi-map-card__badges .pfi-club-status-badge {
  height: 2.25rem;
  width: 2.25rem;
}

.pfi-map-card__meta {
  color: #475569;
  font-size: 1.3rem;
  line-height: 1.3;
  margin: 0 0 0.35rem;
}

.pfi-map-card__line {
  align-items: center;
  display: flex;
  gap: 0.55rem;
}

.pfi-map-card__icon {
  color: #94a3b8;
  display: block;
  flex: 0 0 auto;
  height: 1.35rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 1.35rem;
}

.pfi-map-card__icon circle,
.pfi-map-card__icon path {
  fill: none;
}

.pfi-map-card__button,
.club-card-button {
  align-items: center;
  background: var(--pfi-action-blue);
  border-radius: 6px;
  color: #fff !important;
  display: flex;
  font-size: 1.4rem;
  font-weight: 700;
  justify-content: center;
  margin-top: 0.75rem;
  padding: 0.9rem 1rem;
  text-decoration: none;
}

@media (max-width: 767px) {
  .pfi-club-map--single .leaflet-popup {
    max-width: calc(100vw - 4.8rem) !important;
  }

  .pfi-club-map--single .leaflet-popup-content-wrapper {
    border-radius: 1rem;
    max-width: calc(100vw - 4.8rem);
    overflow: hidden;
  }

  .pfi-club-map--single .leaflet-popup-content {
    margin: 0;
    max-width: calc(100vw - 5.8rem);
    width: min(21.5rem, calc(100vw - 5.8rem)) !important;
  }

  .pfi-club-map--single .leaflet-container a.leaflet-popup-close-button {
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(0, 66, 90, 0.14);
    border-radius: 999px;
    box-shadow: 0 0.45rem 1.2rem rgba(15, 23, 42, 0.16);
    color: var(--pfi-primary-navy) !important;
    display: inline-flex;
    font-size: 1.9rem !important;
    height: 3.2rem;
    justify-content: center;
    line-height: 1;
    padding: 0;
    right: 0.45rem;
    top: 0.45rem;
    width: 3.2rem;
    z-index: 2;
  }

  .pfi-club-map--single .pfi-map-card {
    max-height: min(32rem, calc(100dvh - 12rem));
    overflow-y: auto;
    overscroll-behavior: contain;
    width: 100%;
  }

  .pfi-club-map--single .pfi-map-card__image {
    aspect-ratio: 16 / 9;
    max-height: 11.5rem;
  }

  .pfi-club-map--single .pfi-map-card__body {
    padding: 1rem 1rem 1.05rem;
  }

  .pfi-club-map--single .pfi-map-card__title {
    font-size: 1.5rem;
    line-height: 1.2;
    margin-bottom: 0.45rem;
    padding-right: 3.2rem;
  }

  .pfi-club-map--single .pfi-map-card__meta {
    font-size: 1.25rem;
    line-height: 1.3;
    margin-bottom: 0.34rem;
  }

  .pfi-club-map--single .pfi-map-card__icon {
    height: 1.2rem;
    width: 1.2rem;
  }

  .pfi-club-map--single .pfi-map-card__button {
    font-size: 1.34rem;
    margin-top: 0.7rem;
    min-height: 4.1rem;
    padding: 0.82rem 0.95rem;
  }
}

.club-grid {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.club-card-container {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  box-shadow: 0 1rem 2.6rem rgba(15, 23, 42, 0.1) !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 0.2s ease;
}

.club-card-container:hover {
  transform: translateY(-4px);
}

.club-photo {
  background: #f0f0f0;
  height: 220px;
  overflow: hidden;
}

.club-photo img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.club-card-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 20px;
}

.club-card-body h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 15px;
}

.club-card-body h3 a {
  color: #333;
  text-decoration: none;
}

.club-card-footer {
  margin-top: auto;
}

.club-card-details {
  color: #555;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 15px;
}

.club-card-icon,
.club-clock-icon,
.coach-card-icon {
  height: 1.4rem;
  margin-right: 0.5rem;
  opacity: 0.65;
  vertical-align: -0.2rem;
  width: 1.4rem;
}

.venue-info-icon-wrap {
  align-items: center;
  display: inline-flex;
  flex: 0 0 2.2rem;
  height: 2.2rem;
  justify-content: center;
}

.venue-info-icon {
  height: 2rem;
  stroke-width: 2.15;
  width: 2rem;
}

.venue-info-icon.pfi-icon--send {
  height: 1.95rem;
  width: 1.95rem;
}

.club-main-hours-icon {
  height: 1.6rem;
  width: 1.6rem;
}

.coach-meta-badge-icon {
  height: 1.4rem;
  margin-right: 0.5rem;
  width: 1.4rem;
}

.coach-meta-row-icon {
  color: #94a3b8;
  height: 1.8rem;
  margin-right: 1rem;
  width: 1.8rem;
}

.directory-button-icon {
  height: 1.8rem;
  margin-right: 0.8rem;
  opacity: 0.7;
  vertical-align: -0.4rem;
  width: 1.8rem;
}

.coach-note-icon {
  flex-shrink: 0;
  height: 1.6rem;
  margin-right: 1rem;
  opacity: 0.5;
  width: 1.6rem;
}

.contact-data-icon {
  height: 1.6rem;
  width: 1.6rem;
}

.coach-home-base-icon,
.tournament-meta-icon {
  flex-shrink: 0;
  height: 1.6rem;
  margin-right: 0.8rem;
  width: 1.6rem;
}

.coach-placeholder-icon {
  height: 6rem;
  stroke-width: 1;
  width: 6rem;
}

.tournament-detail-icon {
  color: var(--pfi-action-blue);
  height: 2rem;
  margin-right: 0.8rem;
  vertical-align: -0.5rem;
  width: 2rem;
}

.club-clock-icon {
  height: 1.8rem;
  width: 1.8rem;
}

/* ==========================================================================
   Single Coach Profile
   ========================================================================== */

body.single-coach #brxe-cohsec {
  background: #fff;
  padding: clamp(3.2rem, 5vw, 5.6rem) var(--space-m, 2rem) clamp(5.2rem, 7vw, 8.4rem);
}

body.single-coach #brxe-cohbcn,
body.single-coach #brxe-cohgrd {
  margin-left: auto;
  margin-right: auto;
  max-width: 118rem;
  width: 100%;
}

body.single-coach #brxe-cohgrd {
  align-items: start !important;
  display: grid !important;
  gap: clamp(3.6rem, 5vw, 6rem);
  grid-template-columns: minmax(0, 2fr) minmax(30rem, 38rem) !important;
}

body.single-coach #brxe-cohbod {
  min-width: 0;
  width: 100%;
}

body.single-coach #brxe-cohsid {
  min-width: 0;
  position: sticky;
  top: 11rem;
  width: 100%;
}

body.single-coach #brxe-cohbak {
  margin-bottom: clamp(3rem, 3.5vw, 4rem);
}

body.single-coach #brxe-cohbak,
body.single-coach #brxe-cohbak p {
  margin-top: 0;
}

body.single-coach #brxe-cohbak a {
  color: var(--text-faded, #64748b);
  align-items: center;
  display: inline-flex;
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  font-size: 0;
  font-weight: 400;
  gap: 0.4rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
  text-decoration: none;
  transition: color 0.2s ease;
}

body.single-coach #brxe-cohbak a::before,
body.single-tournament #brxe-trnsgback a::before,
body.single-community_event #brxe-trnsgback a::before,
#brxe-cohbak a::before {
  background: currentColor;
  content: "";
  display: inline-block;
  flex: 0 0 1.15rem;
  height: 1.15rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.8 5.2a1 1 0 0 1 0 1.4L6.4 11H20a1 1 0 1 1 0 2H6.4l4.4 4.4a1 1 0 1 1-1.4 1.4l-6.1-6.1a1 1 0 0 1 0-1.4l6.1-6.1a1 1 0 0 1 1.4 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.8 5.2a1 1 0 0 1 0 1.4L6.4 11H20a1 1 0 1 1 0 2H6.4l4.4 4.4a1 1 0 1 1-1.4 1.4l-6.1-6.1a1 1 0 0 1 0-1.4l6.1-6.1a1 1 0 0 1 1.4 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 1.15rem;
}

body.single-coach #brxe-cohbak a::after,
#brxe-cohbak a::after {
  content: "All Coaches";
  font-size: var(--text-m, 1.6rem);
  line-height: 1.2;
}

body.single-coach #brxe-cohbak a:hover,
body.single-coach #brxe-cohbak a:focus {
  color: var(--pfi-action-blue);
}

body.single-coach #brxe-cohpht {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 1.6rem;
  box-shadow: 0 1.4rem 3rem rgba(15, 23, 42, 0.09);
  margin-bottom: clamp(2rem, 2.6vw, 2.8rem);
  max-width: 46rem;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

body.single-coach #brxe-cohimg,
body.single-coach #brxe-cohimg figure {
  border-radius: inherit;
  overflow: hidden;
  width: 100%;
}

body.single-coach #brxe-cohimg img {
  aspect-ratio: 4 / 5;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

body.single-coach #brxe-cohhdg {
  color: var(--pfi-primary-navy);
  font-size: clamp(3.8rem, 3.1vw, 4rem);
  font-weight: 800;
  line-height: 1;
  margin-bottom: 2.4rem;
}

body.single-coach #brxe-cohmet {
  margin-bottom: clamp(3.2rem, 4.4vw, 5rem);
}

body.single-coach #brxe-cohmet .coach-meta-wrapper {
  margin-bottom: 0 !important;
}

body.single-coach #brxe-cohmet .coach-meta-wrapper > div:first-child {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.8rem !important;
  margin-bottom: 2rem !important;
}

body.single-coach #brxe-cohmet .coach-meta-wrapper > div:first-child span {
  align-items: center !important;
  border-radius: 999px !important;
  font-size: 1.2rem !important;
  padding: 0.6rem 1.2rem !important;
}
body.single-coach #brxe-cohmet .coach-meta-wrapper > div:first-child .coach-meta-pill {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  color: #64748b !important;
  display: inline-flex !important;
  font-weight: 700 !important;
  gap: 0.55rem !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body.single-coach #brxe-cohmet .coach-meta-badge-image {
  display: block;
  flex: 0 0 1.9rem;
  height: 1.9rem;
  object-fit: contain;
  width: 1.9rem;
}

body.single-coach #brxe-cohmet .coach-meta-wrapper > div:not(:first-child) {
  color: #334155 !important;
  font-size: 1.55rem !important;
  line-height: 1.5 !important;
  margin-bottom: 1rem !important;
}

body.single-coach #brxe-cohmet .coach-meta-wrapper strong {
  color: var(--pfi-primary-navy);
  font-weight: 800;
}

body.single-coach #brxe-cohmet .coach-meta-wrapper a {
  color: var(--pfi-action-blue) !important;
}

body.single-coach #brxe-cohbod .coach-bio-wrapper {
  margin-bottom: clamp(3.6rem, 5vw, 5rem) !important;
}

body.single-coach #brxe-cohbod .coach-bio-wrapper h2,
body.single-coach #brxe-cohbod .coach-home-base-section h2 {
  border-bottom: 0 !important;
  color: var(--pfi-primary-navy) !important;
  font-size: clamp(2.8rem, 3vw, 3.8rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  margin-bottom: 1.2rem !important;
  padding-bottom: 0 !important;
}

body.single-coach #brxe-cohbod .coach-bio-wrapper div,
body.single-coach #brxe-cohbod .coach-bio-wrapper p {
  color: #4b5563 !important;
  font-size: 1.7rem !important;
  line-height: 1.75 !important;
}

body.single-coach #brxe-cohdet .coach-resume-section h3 {
  color: var(--pfi-primary-navy) !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  margin: 0 0 1.2rem !important;
}

body.single-coach #brxe-cohdet .coach-resume-section {
  display: grid;
  gap: clamp(2.4rem, 3vw, 3.4rem);
}

body.single-coach #brxe-cohdet .coach-resume-section__group {
  margin-bottom: 0 !important;
}

body.single-coach #brxe-cohdet .coach-resume-section__chips,
body.single-coach #brxe-cohdet .coach-resume-section__availability {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

body.single-coach #brxe-cohdet .coach-resume-section__availability {
  align-items: start;
  display: grid;
  justify-items: start;
}

body.single-coach #brxe-cohdet .coach-resume-chip {
  align-items: center;
  background: var(--pfi-soft-accent-blue-bg, rgba(56, 189, 248, 0.12)) !important;
  border: 1px solid var(--pfi-soft-accent-blue-border, rgba(56, 189, 248, 0.36)) !important;
  border-radius: 0.8rem !important;
  color: var(--pfi-primary-navy) !important;
  display: inline-flex;
  font-size: 1.45rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  padding: 0.85rem 1.25rem !important;
  width: auto !important;
}

body.single-coach #brxe-cohdet .coach-resume-chip--availability {
  background: #f8fbfe !important;
}

body.single-coach #brxe-cohdet .coach-rate-pill {
  background: #f8fbfe !important;
  border: 1px solid var(--pfi-soft-accent-blue-border, rgba(56, 189, 248, 0.36)) !important;
  border-left: 0.4rem solid var(--pfi-icon-blue, #38bdf8) !important;
  border-radius: 0.8rem !important;
  color: var(--pfi-primary-navy) !important;
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  padding: 1.1rem 1.6rem !important;
  width: fit-content;
}

body.single-coach #brxe-cohdet .coach-resume-note,
body.single-coach #brxe-cohdet .coach-resume-certification {
  align-items: center;
  background: #f8fafc !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 0.8rem !important;
  color: #475569 !important;
  display: flex;
  font-size: 1.45rem !important;
  gap: 0.8rem;
  line-height: 1.55 !important;
  margin-top: 1.2rem;
  max-width: 100%;
  padding: 1.1rem 1.4rem !important;
  width: fit-content;
}

body.single-coach #brxe-cohdet .coach-note-icon {
  color: var(--pfi-icon-blue, #38bdf8);
  flex: 0 0 auto;
  height: 1.7rem;
  stroke-width: 2.2;
  width: 1.7rem;
}

body.single-coach #brxe-cohdet .coach-resume-section span,
body.single-coach #brxe-cohdet .coach-resume-section div {
  border-radius: 0.8rem !important;
}

body.single-coach #brxe-cohdet .coach-resume-section > div {
  margin-bottom: 0 !important;
}

body.single-coach #brxe-cohcrd {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 1.6rem;
  box-shadow: 0 1.4rem 3rem rgba(15, 23, 42, 0.09);
  padding: clamp(2.4rem, 3vw, 3.2rem);
}

body.single-coach #brxe-cohcsc .coach-contact-info-block {
  margin-top: 0 !important;
}

body.single-coach #brxe-cohcsc .contact-data-item {
  background: #f8fafc;
  border: 1px solid #edf2f7;
  border-radius: 1rem;
  margin-bottom: 1.2rem !important;
  padding: 1.4rem;
}

body.single-coach #brxe-cohcsc .contact-data-item:last-child {
  margin-bottom: 0 !important;
}

body.single-coach #brxe-cohcsc .contact-data-item span:first-child {
  color: #64748b !important;
}

body.single-coach #brxe-cohcsc .contact-data-item a {
  color: var(--pfi-primary-navy) !important;
  font-size: 1.55rem !important;
}

body.single-coach .coach-whatsapp-button {
  align-items: center;
  background: #25d366;
  border-radius: 999px;
  box-shadow: 0 0.8rem 1.8rem rgba(37, 211, 102, 0.2);
  color: #fff !important;
  display: flex;
  font-size: 1.55rem;
  font-weight: 800;
  gap: 0.8rem;
  justify-content: center;
  margin: 0 auto 2.2rem;
  max-width: 24rem;
  padding: 1.2rem 1.8rem;
  text-decoration: none !important;
  transition: background-color 0.2s ease, transform 0.2s ease;
  width: min(100%, 24rem);
}

body.single-coach .coach-whatsapp-button:hover,
body.single-coach .coach-whatsapp-button:focus {
  background: #1ebe5d;
  transform: translateY(-0.1rem);
}

body.single-coach .coach-whatsapp-icon {
  height: 1.7rem;
  stroke-width: 2.2;
  width: 1.7rem;
}

body.single-coach .coach-social-links {
  border-top: 1px solid #edf2f7;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: center;
  margin-top: 2rem;
  padding-top: 2rem;
}

body.single-coach .coach-social-links a {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #dbe3ee;
  border-radius: 999px;
  color: var(--pfi-primary-navy);
  display: inline-flex;
  height: 4.2rem;
  justify-content: center;
  padding: 0;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  width: 4.2rem;
}

body.single-coach .coach-social-icon {
  align-items: center;
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

body.single-coach .coach-social-icon svg {
  display: block;
  fill: none;
  height: 100%;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 100%;
}

body.single-coach .coach-social-icon svg [fill="currentColor"] {
  fill: currentColor;
  stroke: none;
}

body.single-coach .coach-social-links .screen-reader-text {
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

body.single-coach .coach-social-links a:hover,
body.single-coach .coach-social-links a:focus {
  background: #eef6ff;
  border-color: var(--pfi-action-blue);
  color: var(--pfi-action-blue);
}

body.single-coach .coach-directory-cta {
  border-top: 1px solid #edf2f7;
  margin-top: 2rem;
  padding-top: 2rem;
  text-align: center;
}

body.single-coach .coach-directory-cta p {
  color: #4b5563;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 1.2rem;
}

body.single-coach .coach-directory-cta a {
  align-items: center;
  background: #fff;
  border: 1px solid var(--pfi-action-blue);
  border-radius: 999px;
  color: var(--pfi-action-blue);
  display: inline-flex;
  font-size: 1.45rem;
  font-weight: 800;
  justify-content: center;
  padding: 0.9rem 1.6rem;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

body.single-coach .coach-directory-cta a:hover,
body.single-coach .coach-directory-cta a:focus {
  background: var(--pfi-action-blue);
  color: #fff;
}

body.single-coach #brxe-cohbcn {
  margin-top: clamp(5.2rem, 7vw, 8rem);
}

body.single-coach #brxe-cohbas .coach-home-base-section {
  border-top-color: #dbe3ee !important;
  margin-top: 0 !important;
  padding-top: clamp(3.8rem, 4.6vw, 5rem) !important;
}

body.single-coach .coach-home-base-section {
  border-top: 1px solid #dbe3ee;
}

body.single-coach .coach-home-base-section__header {
  margin: 0 auto 2.8rem;
  max-width: 64rem;
  text-align: center;
}

body.single-coach .coach-home-base-section__header h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.8rem, 3vw, 3.8rem);
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 1rem;
}

body.single-coach .coach-home-base-section__header p {
  color: #64748b;
  font-size: 1.6rem;
  line-height: 1.55;
  margin: 0;
}

body.single-coach .coach-home-base-card {
  background: #fff;
  border: 1px solid rgba(12, 32, 58, 0.16);
  border-radius: 1.6rem;
  box-shadow: 0 1.8rem 4rem rgba(15, 23, 42, 0.14);
  display: grid;
  grid-template-columns: minmax(27rem, 32rem) minmax(0, 1fr);
  margin: 0 auto;
  max-width: 74rem;
  overflow: hidden;
  width: 100%;
}

body.single-coach .coach-home-base-card__media {
  background: #eef2f7;
  display: block;
  height: 100%;
  min-height: 22rem;
  overflow: hidden;
  width: 100%;
}

body.single-coach .coach-home-base-card__image,
body.single-coach .coach-home-base-card__image-placeholder {
  display: block;
  height: 100%;
  min-height: 22rem;
  object-fit: cover;
  width: 100%;
}

body.single-coach .coach-home-base-card__image-placeholder {
  align-items: center;
  background: #eef6ff;
  color: var(--pfi-action-blue);
  display: flex;
  justify-content: center;
}

body.single-coach .coach-home-base-card__placeholder-icon {
  height: 5.2rem;
  width: 5.2rem;
}

body.single-coach .coach-home-base-card__content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2.8rem 3rem;
  text-align: center;
}

body.single-coach .coach-home-base-card__badge {
  background: rgba(17, 136, 255, 0.08);
  border: 1px solid rgba(17, 136, 255, 0.18);
  border-radius: 999px;
  color: var(--pfi-action-blue);
  display: inline-flex;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  margin-bottom: 1.2rem;
  padding: 0.55rem 1.2rem;
  text-transform: uppercase;
}

body.single-coach .coach-home-base-card h3 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.2rem, 2.4vw, 2.8rem);
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 1.1rem;
}

body.single-coach .coach-home-base-card h3 a {
  color: inherit;
  text-decoration: none;
}

body.single-coach .coach-home-base-card__location {
  align-items: center;
  color: #64748b;
  display: flex;
  font-size: 1.55rem;
  gap: 0.8rem;
  margin-bottom: 2rem;
}

body.single-coach .coach-home-base-card__location .coach-home-base-icon {
  color: #94a3b8;
  margin-right: 0;
}

body.single-coach .coach-home-base-card__button {
  align-items: center;
  background: var(--pfi-action-blue);
  border-radius: 999px;
  box-shadow: 0 0.8rem 1.8rem rgba(17, 136, 255, 0.2);
  color: #fff !important;
  display: inline-flex;
  font-size: 1.5rem;
  font-weight: 800;
  justify-content: center;
  padding: 1.1rem 1.8rem;
  text-decoration: none !important;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

body.single-coach .coach-home-base-card__button:hover,
body.single-coach .coach-home-base-card__button:focus {
  background: var(--pfi-action-blue-hover);
  transform: translateY(-0.1rem);
}

.coach-home-base-section {
  border-top: 1px solid #dbe3ee;
  margin-top: 0;
  padding-top: clamp(3.8rem, 4.6vw, 5rem);
}

#brxe-cohbcn {
  margin-top: clamp(5.2rem, 7vw, 8rem);
}

.coach-home-base-section__header {
  margin: 0 auto 2.8rem;
  max-width: 64rem;
  text-align: center;
}

.coach-home-base-section__header h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.8rem, 3vw, 3.8rem);
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 1rem;
}

.coach-home-base-section__header p {
  color: #64748b;
  font-size: 1.6rem;
  line-height: 1.55;
  margin: 0;
}

.coach-home-base-card {
  background: #fff;
  border: 1px solid rgba(12, 32, 58, 0.16);
  border-radius: 1.6rem;
  box-shadow: 0 1.8rem 4rem rgba(15, 23, 42, 0.14);
  display: grid;
  grid-template-columns: minmax(27rem, 32rem) minmax(0, 1fr);
  margin: 0 auto;
  max-width: 74rem;
  overflow: hidden;
  width: 100%;
}

.coach-home-base-card__media {
  background: #eef2f7;
  display: block;
  height: 100%;
  min-height: 22rem;
  overflow: hidden;
  width: 100%;
}

.coach-home-base-card__image,
.coach-home-base-card__image-placeholder {
  display: block;
  height: 100%;
  min-height: 22rem;
  object-fit: cover;
  width: 100%;
}

.coach-home-base-card__image-placeholder {
  align-items: center;
  background: #eef6ff;
  color: var(--pfi-action-blue);
  display: flex;
  justify-content: center;
}

.coach-home-base-card__placeholder-icon {
  height: 5.2rem;
  width: 5.2rem;
}

.coach-home-base-card__content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2.8rem 3rem;
  text-align: left;
}

.coach-home-base-card__badge {
  background: rgba(17, 136, 255, 0.08);
  border: 1px solid rgba(17, 136, 255, 0.18);
  border-radius: 999px;
  color: var(--pfi-action-blue);
  display: inline-flex;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  margin-bottom: 1.2rem;
  padding: 0.55rem 1.2rem;
  text-transform: uppercase;
}

.coach-home-base-card h3 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.2rem, 2.4vw, 2.8rem);
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 1.1rem;
}

.coach-home-base-card h3 a {
  color: inherit;
  text-decoration: none;
}

.coach-home-base-card__location {
  align-items: center;
  color: #64748b;
  display: flex;
  font-size: 1.55rem;
  gap: 0.8rem;
  margin-bottom: 2rem;
}

.coach-home-base-card__location .coach-home-base-icon {
  color: #94a3b8;
  margin-right: 0;
}

.coach-home-base-card__button {
  align-items: center;
  background: var(--pfi-action-blue);
  border-radius: 999px;
  box-shadow: 0 0.8rem 1.8rem rgba(17, 136, 255, 0.2);
  color: #fff !important;
  display: inline-flex;
  font-size: 1.5rem;
  font-weight: 800;
  justify-content: center;
  padding: 1.1rem 1.8rem;
  text-decoration: none !important;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.coach-home-base-card__button:hover,
.coach-home-base-card__button:focus {
  background: var(--pfi-action-blue-hover);
  transform: translateY(-0.1rem);
}

#brxe-clbcow {
  margin-left: auto;
  margin-right: auto;
  max-width: 118rem;
  width: 100%;
}

.pfi-club-affiliation-badge {
  align-items: center;
  background: rgba(191, 255, 0, 0.14);
  border: 1px solid rgba(88, 112, 0, 0.16);
  border-radius: 999px;
  color: var(--pfi-primary-navy);
  display: inline-flex;
  font-size: 1.2rem;
  font-weight: 800;
  gap: 0.7rem;
  line-height: 1;
  padding: 0.8rem 1.1rem;
  width: fit-content;
}

.pfi-club-affiliation-badge__icon {
  color: var(--pfi-tertiary-lime);
  height: 1.5rem;
  width: 1.5rem;
}

.club-location {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  min-height: 2.8rem;
}

.club-location__text {
  align-items: center;
  display: inline-flex;
  min-width: 0;
}

.pfi-club-status-badges {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 0.55rem;
}

.pfi-club-status-badge {
  align-items: center;
  display: inline-flex;
  height: 2.8rem;
  justify-content: center;
  line-height: 1;
  width: 2.8rem;
}

.pfi-club-status-badge img {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.club-card-status-badges .pfi-club-status-badge {
  height: 2.65rem;
  width: 2.65rem;
}

.club-sidebar-status-badges {
  display: flex;
  gap: 0.75rem;
  margin: 0.2rem 0 1.6rem;
  padding: 0.2rem 0 1.35rem;
}

.club-sidebar-status-badges .pfi-club-status-badge {
  height: 3.8rem;
  width: 3.8rem;
}

.club-card-affiliation-badge {
  margin-bottom: 1.2rem;
}

.club-sidebar-affiliation-badge {
  margin-bottom: 1.6rem;
}

.club-hosted-events-section {
  border-top: 1px solid #dbe3ee;
  margin-top: clamp(5.2rem, 7vw, 8rem);
  padding-top: clamp(3.8rem, 4.6vw, 5rem);
  width: 100%;
}

.club-hosted-events-section__header {
  margin: 0 0 clamp(3rem, 4vw, 4rem);
  max-width: 76rem;
}

.club-hosted-events-section__header h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.8rem, 3vw, 3.8rem);
  font-weight: 800;
  line-height: 1.15;
  margin: 0;
}

.club-hosted-events-section__header p {
  color: #64748b;
  font-size: 1.65rem;
  line-height: 1.55;
  margin: 1.2rem 0 0;
}

.club-hosted-events-grid {
  display: grid;
  gap: 2.2rem;
}

.club-hosted-events-section .pfi-tournament-card {
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--pfi-portal-bg) 92%, white) 0%,
      color-mix(in srgb, var(--pfi-portal-bg-deep) 92%, white) 100%
    );
  border-color: rgba(224, 224, 224, 0.16);
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.16);
  grid-template-columns: 8rem minmax(0, 1fr);
}

.club-hosted-events-section .pfi-tournament-card.has-image {
  grid-template-columns: 8rem minmax(0, 1fr) minmax(16rem, 22rem);
}

.club-hosted-events-section .pfi-tournament-card:hover,
.club-hosted-events-section .pfi-tournament-card:focus-within {
  border-color: rgba(191, 255, 0, 0.26);
  box-shadow: 0 1.8rem 4rem rgba(1, 11, 19, 0.22);
}

.club-hosted-events-section .pfi-tournament-card__date {
  background: rgba(191, 255, 0, 0.1);
  border-color: rgba(191, 255, 0, 0.22);
  min-height: 8rem;
}

.club-hosted-events-section .pfi-tournament-card__date span {
  color: rgba(255, 255, 255, 0.76);
}

.club-hosted-events-section .pfi-tournament-card__date strong {
  color: var(--pfi-accent-lime);
}

.club-hosted-events-section .pfi-tournament-card__tier {
  background: rgba(191, 255, 0, 0.1);
  border-color: rgba(191, 255, 0, 0.22);
  color: var(--pfi-accent-lime);
}

.club-hosted-events-section .pfi-tournament-card__title a {
  color: #ffffff;
}

.club-hosted-events-section .pfi-tournament-card__title a:hover,
.club-hosted-events-section .pfi-tournament-card__title a:focus,
.club-hosted-events-section .pfi-tournament-card__link {
  color: var(--pfi-accent-lime);
}

.club-hosted-events-section .pfi-tournament-card__meta {
  color: rgba(255, 255, 255, 0.76);
}

.club-hosted-events-section .pfi-tournament-card__icon {
  color: var(--pfi-accent-lime) !important;
}

.club-hosted-events-section .pfi-tournament-card__status {
  color: #fff !important;
}

.club-hosted-events-section .pfi-tournament-card__status.is-pending,
.club-hosted-events-section .pfi-tournament-card__status.is-past {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.76) !important;
}

.club-hosted-events-section .pfi-tournament-card__status.is-ongoing,
.club-hosted-events-section .pfi-tournament-card__status.is-open {
  background: rgba(56, 189, 248, 0.16);
  color: var(--pfi-tertiary-sky) !important;
}

.club-hosted-events-section .pfi-tournament-card__button {
  background: var(--pfi-action-blue);
  color: #ffffff !important;
}

.club-hosted-events-section .pfi-tournament-card__button:hover,
.club-hosted-events-section .pfi-tournament-card__button:focus {
  background: color-mix(in srgb, var(--pfi-action-blue) 86%, black);
  color: #ffffff !important;
}

.club-hosted-events-section .pfi-tournament-card__register {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.34);
  color: #ffffff !important;
}

.club-hosted-events-section .pfi-tournament-card__register:hover,
.club-hosted-events-section .pfi-tournament-card__register:focus {
  background: rgba(191, 255, 0, 0.12);
  border-color: rgba(191, 255, 0, 0.26);
  color: var(--pfi-accent-lime) !important;
}

.club-coaches-section {
  border-top: 1px solid #dbe3ee;
  margin-bottom: clamp(2.8rem, 4vw, 4rem);
  margin-top: clamp(5.2rem, 7vw, 8rem);
  padding-top: clamp(3.8rem, 4.6vw, 5rem);
  width: 100%;
}

.club-coaches-section h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.8rem, 3vw, 3.8rem);
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 clamp(3rem, 4vw, 4rem);
}

.club-coaches-grid {
  display: grid;
  gap: 2.6rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.club-coach-card {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(12, 32, 58, 0.12);
  border-radius: 1.2rem;
  box-shadow: 0 1rem 2.6rem rgba(15, 23, 42, 0.08);
  color: inherit;
  display: flex;
  gap: 2rem;
  min-height: 13.2rem;
  padding: 2.2rem;
  text-decoration: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.club-coach-card:hover,
.club-coach-card:focus {
  border-color: rgba(17, 136, 255, 0.32);
  box-shadow: 0 1.4rem 3.2rem rgba(15, 23, 42, 0.12);
  transform: translateY(-0.2rem);
}

.club-coach-card__media {
  align-items: center;
  border: 2px solid var(--pfi-action-blue);
  border-radius: 999px;
  display: flex;
  flex: 0 0 6rem;
  height: 6rem;
  justify-content: center;
  overflow: hidden;
  width: 6rem;
}

.club-coach-card__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.club-coach-card__placeholder {
  align-items: center;
  background: #eef6ff;
  color: var(--pfi-action-blue);
  display: flex;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.club-coach-card__placeholder-icon {
  height: 2.7rem;
  width: 2.7rem;
}

.club-coach-card__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.club-coach-card__name {
  color: #0f1f35;
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1.25;
  margin-bottom: 1.6rem;
}

.club-coach-card__level {
  color: #64748b;
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 1.5rem;
}

.club-coach-card__link {
  color: var(--pfi-action-blue);
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.2;
}

/* Coach template fallback for Bricks preview contexts without the single-coach body class. */
#brxe-cohsec {
  background: #fff;
  padding: clamp(3.2rem, 5vw, 5.6rem) var(--space-m, 2rem) clamp(5.2rem, 7vw, 8.4rem);
}

#brxe-cohbcn,
#brxe-cohgrd {
  margin-left: auto;
  margin-right: auto;
  max-width: 118rem;
  width: 100%;
}

#brxe-cohgrd {
  align-items: start !important;
  display: grid !important;
  gap: clamp(3.6rem, 5vw, 6rem);
  grid-template-columns: minmax(0, 2fr) minmax(30rem, 38rem) !important;
}

#brxe-cohbod,
#brxe-cohsid {
  min-width: 0;
  width: 100%;
}

#brxe-cohsid {
  position: sticky;
  top: 11rem;
}

#brxe-cohcrd {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 1.6rem;
  box-shadow: 0 1.4rem 3rem rgba(15, 23, 42, 0.09);
  padding: clamp(2.4rem, 3vw, 3.2rem);
}

#brxe-cohpht {
  margin-bottom: clamp(2rem, 2.6vw, 2.8rem);
  max-width: 46rem;
  width: 100%;
}

#brxe-cohbak {
  margin-bottom: clamp(3rem, 3.5vw, 4rem);
}

#brxe-cohbak a {
  color: var(--text-faded, #64748b);
  align-items: center;
  display: inline-flex;
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  font-size: 0;
  font-weight: 400;
  gap: 0.4rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
  text-decoration: none;
  transition: color 0.2s ease;
}

#brxe-cohhdg {
  font-size: clamp(3.8rem, 3.1vw, 4rem);
  margin-bottom: 2.4rem;
}

.coach-rate-pill {
  background: #f8fbfe !important;
  border: 1px solid var(--pfi-soft-accent-blue-border, rgba(56, 189, 248, 0.36)) !important;
  border-left: 0.4rem solid var(--pfi-icon-blue, #38bdf8) !important;
  border-radius: 0.8rem !important;
  color: var(--pfi-primary-navy) !important;
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  padding: 1.1rem 1.6rem !important;
  width: fit-content;
}

.coach-whatsapp-button {
  align-items: center;
  background: #25d366;
  border-radius: 999px;
  box-shadow: 0 0.8rem 1.8rem rgba(37, 211, 102, 0.2);
  color: #fff !important;
  display: flex;
  font-size: 1.55rem;
  font-weight: 800;
  gap: 0.8rem;
  justify-content: center;
  margin: 0 auto 2.2rem;
  max-width: 24rem;
  padding: 1.2rem 1.8rem;
  text-decoration: none !important;
  width: min(100%, 24rem);
}

.coach-whatsapp-icon {
  height: 1.7rem;
  stroke-width: 2.2;
  width: 1.7rem;
}

.coach-social-links {
  border-top: 1px solid #edf2f7;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: center;
  margin-top: 2rem;
  padding-top: 2rem;
}

.coach-social-links a {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #dbe3ee;
  border-radius: 999px;
  color: var(--pfi-primary-navy);
  display: inline-flex;
  height: 4.2rem;
  justify-content: center;
  padding: 0;
  text-decoration: none;
  width: 4.2rem;
}

.coach-social-icon {
  align-items: center;
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.coach-social-icon svg {
  display: block;
  fill: none;
  height: 100%;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 100%;
}

.coach-social-icon svg [fill="currentColor"] {
  fill: currentColor;
  stroke: none;
}

.coach-social-links .screen-reader-text {
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.coach-directory-cta {
  border-top: 1px solid #edf2f7;
  margin-top: 2rem;
  padding-top: 2rem;
  text-align: center;
}

.coach-directory-cta p {
  color: #4b5563;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 1.2rem;
}

.coach-directory-cta a {
  align-items: center;
  background: #fff;
  border: 1px solid var(--pfi-action-blue);
  border-radius: 999px;
  color: var(--pfi-action-blue);
  display: inline-flex;
  font-size: 1.45rem;
  font-weight: 800;
  justify-content: center;
  padding: 0.9rem 1.6rem;
  text-decoration: none;
}

/* ==========================================================================
   County Archive Pages
   ========================================================================== */

body.tax-county #brxe-ctyher {
  background: #fff;
  padding: clamp(5rem, 7vw, 8rem) var(--space-m, 2rem) clamp(4.2rem, 6vw, 6rem);
}

body.tax-county #brxe-ctycon,
body.tax-county #brxe-stacon,
body.tax-county #brxe-clbcon,
body.tax-county #brxe-ctacon {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  width: 100%;
}

body.tax-county #brxe-ctycon {
  align-items: center;
  display: flex;
  flex-direction: column;
  position: relative;
  text-align: center;
}

body.tax-county #brxe-ctybak,
body.tax-county #brxe-ctybak a {
  align-items: center;
  align-self: flex-start;
  color: var(--text-faded, #64748b);
  display: inline-flex;
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  font-size: var(--text-m, 1.6rem);
  font-weight: 400;
  gap: 0.45rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 clamp(2.4rem, 4vw, 4rem);
  text-decoration: none;
  transition: color 0.2s ease;
}

body.tax-county #brxe-ctybak {
  font-size: 0;
}

body.tax-county #brxe-ctybak::before {
  background: currentColor;
  content: "";
  display: inline-block;
  flex: 0 0 1.15rem;
  height: 1.15rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.8 5.2a1 1 0 0 1 0 1.4L6.4 11H20a1 1 0 1 1 0 2H6.4l4.4 4.4a1 1 0 1 1-1.4 1.4l-6.1-6.1a1 1 0 0 1 0-1.4l6.1-6.1a1 1 0 0 1 1.4 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.8 5.2a1 1 0 0 1 0 1.4L6.4 11H20a1 1 0 1 1 0 2H6.4l4.4 4.4a1 1 0 1 1-1.4 1.4l-6.1-6.1a1 1 0 0 1 0-1.4l6.1-6.1a1 1 0 0 1 1.4 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 1.15rem;
}

body.tax-county #brxe-ctybak::after {
  content: "All Counties";
  font-size: var(--text-m, 1.6rem);
  line-height: 1.2;
}

body.tax-county #brxe-ctybak a:hover {
  color: var(--text-link, var(--pfi-action-blue));
}

body.tax-county #brxe-ctybak:hover,
body.tax-county #brxe-ctybak:focus {
  color: var(--text-link, var(--pfi-action-blue));
}

body.tax-county #brxe-ctyeye {
  color: var(--pfi-action-blue);
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0 0 1.1rem;
  text-transform: uppercase;
}

body.tax-county #brxe-ctyhdg {
  color: var(--pfi-primary-navy);
  font-size: clamp(4rem, 6vw, 7.2rem);
  font-weight: 850;
  line-height: 1;
  margin: 0;
}

body.tax-county #brxe-ctydsc {
  color: #4b5563;
  font-size: clamp(1.7rem, 1.5vw, 2rem);
  line-height: 1.65;
  margin-top: 2rem;
  max-width: 76rem;
}

body.tax-county #brxe-ctydsc p {
  margin: 0;
}

body.tax-county #brxe-ctydsc strong {
  color: var(--pfi-primary-navy);
  font-weight: 850;
}

body.tax-county #brxe-stasec {
  background: #fff;
  padding: clamp(3rem, 4.5vw, 5rem) var(--space-m, 2rem) clamp(1.6rem, 2.4vw, 2.6rem);
}

body.tax-county #brxe-stacon {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.05);
  border-radius: 1rem;
  box-shadow: 0 1.8rem 4.8rem rgba(15, 23, 42, 0.16);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 107.5rem;
  overflow: hidden;
  padding: clamp(2.6rem, 3.2vw, 3.6rem) clamp(1.8rem, 2.4vw, 2.8rem);
}

body.tax-county #brxe-staone,
body.tax-county #brxe-statwo,
body.tax-county #brxe-stathr,
body.tax-county #brxe-stafor {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
  justify-content: center;
  min-height: 14.2rem;
  padding: 0 clamp(1rem, 2vw, 2.4rem);
  text-align: center;
}

body.tax-county #brxe-icoone,
body.tax-county #brxe-icotwo,
body.tax-county #brxe-icothr,
body.tax-county #brxe-icofor {
  color: var(--pfi-action-blue);
  flex: 0 0 auto;
  line-height: 0;
}

body.tax-county .pfi-county-stat-icon {
  display: block;
  fill: none;
  height: 6rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 6rem;
}

body.tax-county #brxe-cpone,
body.tax-county #brxe-cptwo,
body.tax-county #brxe-cpthr,
body.tax-county #brxe-cpfor {
  display: flex;
  align-items: center;
  flex-direction: column-reverse;
  gap: 1rem;
}

body.tax-county #brxe-valone,
body.tax-county #brxe-valtwo,
body.tax-county #brxe-valthr,
body.tax-county #brxe-valfor {
  color: #555;
  display: block;
  font-size: 1.9rem;
  font-weight: 850;
  line-height: 1;
  min-height: 1.9rem;
}

body.tax-county .pfi-county-stat-value-text {
  display: inline-block;
}

body.tax-county #brxe-labone,
body.tax-county #brxe-labtwo,
body.tax-county #brxe-labthr,
body.tax-county #brxe-labfor {
  color: var(--pfi-primary-navy);
  font-size: 1.85rem;
  font-weight: 800;
  line-height: 1.15;
  margin: 0;
}

body.tax-county #brxe-clbsec {
  background: #fff;
  padding: clamp(4.8rem, 6vw, 7rem) var(--space-m, 2rem) clamp(5.5rem, 7vw, 8rem);
}

body.tax-county #brxe-clbcon {
  align-items: center;
  display: flex;
  flex-direction: column;
}

body.tax-county #brxe-clbhdg {
  color: var(--pfi-primary-navy);
  font-size: clamp(3.2rem, 4vw, 5.2rem);
  font-weight: 850;
  line-height: 1.05;
  margin: 0;
  text-align: center;
}

body.tax-county #brxe-clbtxt {
  color: #4b5563;
  font-size: 1.75rem;
  line-height: 1.55;
  margin: 1.3rem 0 3.4rem;
  text-align: center;
}

body.tax-county #brxe-clbgrd {
  max-width: 107.5rem;
  width: 100%;
}

body.tax-county #brxe-clbgrd .club-grid {
  gap: clamp(2.4rem, 3vw, 3.2rem) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.tax-county #brxe-ctasec {
  background: #fff;
  padding: clamp(5rem, 7vw, 7rem) var(--space-m, 2rem);
}

body.tax-county #brxe-ctacon {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(7, 63, 87, 0.1);
  border-radius: 1.2rem;
  box-shadow: 0 1.4rem 3.6rem rgba(15, 23, 42, 0.08);
  display: flex;
  flex-direction: column;
  max-width: 92rem;
  padding: clamp(3.4rem, 5vw, 5rem);
  text-align: center;
}

body.tax-county #brxe-ctaeyb {
  color: var(--pfi-action-blue);
  font-size: 1.25rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

body.tax-county #brxe-ctahdg {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.8rem, 3.5vw, 4.4rem);
  font-weight: 850;
  line-height: 1.1;
  margin: 0;
}

body.tax-county #brxe-ctatxt {
  color: #4b5563;
  font-size: 1.7rem;
  line-height: 1.6;
  margin: 1.4rem 0 2.2rem;
  max-width: 62rem;
}

body.tax-county #brxe-ctabtn,
body.tax-county #brxe-ctabtn a {
  background: var(--pfi-action-blue) !important;
  border-radius: 999px;
  color: #fff !important;
  font-size: 1.5rem;
  font-weight: 800;
  min-width: 17rem;
  padding: 1.1rem 2.2rem;
  text-decoration: none;
}

body.tax-county #brxe-ctabtn:hover,
body.tax-county #brxe-ctabtn:focus,
body.tax-county #brxe-ctabtn a:hover,
body.tax-county #brxe-ctabtn a:focus {
  background: var(--pfi-action-blue-hover) !important;
}

@media (max-width: 991px) {
  body.tax-county #brxe-stacon {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 3rem;
  }

  body.tax-county #brxe-clbgrd .club-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.tax-county #brxe-ctyher {
    padding-top: 4.2rem;
  }

  body.tax-county #brxe-ctydsc br {
    display: none;
  }

  body.tax-county #brxe-stacon {
    column-gap: 1.2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 2.2rem 1.6rem;
    row-gap: 2.2rem;
  }

  body.tax-county #brxe-staone,
  body.tax-county #brxe-statwo,
  body.tax-county #brxe-stathr,
  body.tax-county #brxe-stafor {
    justify-content: flex-start;
    margin-inline: auto;
    max-width: 32rem;
    min-height: auto;
    padding: 0;
    width: 100%;
  }

  body.tax-county .pfi-county-stat-icon {
    height: 4.8rem;
    width: 4.8rem;
  }

  body.tax-county #brxe-labone,
  body.tax-county #brxe-labtwo,
  body.tax-county #brxe-labthr,
  body.tax-county #brxe-labfor {
    font-size: 1.55rem;
  }

  body.tax-county #brxe-clbsec {
    padding-inline: 2.2rem;
  }

  body.tax-county #brxe-clbgrd .club-grid {
    grid-template-columns: 1fr !important;
  }

  body.tax-county #brxe-ctasec {
    padding-inline: 2.2rem;
  }

  body.tax-county #brxe-ctacon {
    padding: 3rem 2.2rem;
  }
}

/* ==========================================================================
   PFI Homepage
   ========================================================================== */

body.page-id-654 .pfi-home-sponsors {
  background: #fff;
  border-bottom: 1px solid rgba(0, 66, 90, 0.1);
  color: var(--pfi-primary-navy, var(--primary));
  padding: 1rem var(--space-m, 2rem);
}

body.page-id-654 .pfi-home-sponsors__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: center;
  margin: 0 auto;
  max-width: var(--max-screen-width, 1300px);
  text-align: center;
}

body.page-id-654 .pfi-home-sponsors__label {
  color: var(--pfi-primary-navy, var(--primary));
  flex: 0 0 auto;
  font-size: 1.25rem;
  font-weight: 850;
  line-height: 1.2;
  margin: 0;
  text-transform: uppercase;
}

body.page-id-654 .pfi-home-sponsors__list {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  gap: clamp(1.2rem, 2.2vw, 2.8rem);
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.page-id-654 .pfi-home-sponsors__item {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 0;
  min-width: 0;
}

body.page-id-654 .pfi-home-sponsors__link {
  align-items: center;
  border-radius: 0.8rem;
  display: inline-flex;
  justify-content: center;
  padding: 0.35rem;
  transition: opacity 160ms ease, transform 160ms ease;
}

body.page-id-654 .pfi-home-sponsors__link:hover,
body.page-id-654 .pfi-home-sponsors__link:focus {
  opacity: 0.82;
  transform: translateY(-0.1rem);
}

body.page-id-654 .pfi-home-sponsors__link:focus-visible {
  outline: 2px solid var(--pfi-tertiary-sky);
  outline-offset: 0.3rem;
}

body.page-id-654 .pfi-home-sponsors__logo {
  display: block;
  height: auto;
  max-height: 5.4rem;
  max-width: clamp(8rem, 9vw, 13rem);
  object-fit: contain;
  width: auto;
}

body.page-id-654 .pfi-home {
  background: #f5f8fb;
  color: var(--pfi-primary-navy);
  overflow: hidden;
}

body.page-id-654 .pfi-home-hero {
  align-items: center;
  background-image:
    linear-gradient(105deg, rgba(1, 11, 19, 0.92) 0%, rgba(0, 66, 90, 0.68) 48%, rgba(1, 11, 19, 0.26) 100%),
    url("/wp-content/uploads/2026/06/pfi-hero-homepage.jpg");
  background-position: center bottom;
  background-size: cover;
  color: #fff;
  display: flex;
  min-height: clamp(56rem, calc(100vh - 10rem), 84rem);
  min-height: clamp(56rem, calc(100svh - 10rem), 84rem);
  overflow: hidden;
  padding: 8rem var(--space-m, 2rem);
  position: relative;
}

body.page-id-654 .pfi-home-hero::after {
  background: linear-gradient(180deg, transparent 62%, rgba(1, 11, 19, 0.42));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

body.page-id-654 .pfi-home-hero__inner,
body.page-id-654 .pfi-home-section-container,
body.page-id-654 .pfi-home-portal__inner {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  position: relative;
  width: 100%;
  z-index: 1;
}

body.page-id-654 .pfi-home-hero__content {
  max-width: 78rem;
}

body.page-id-654 .pfi-home-eyebrow,
body.page-id-654 .pfi-home-section-kicker,
body.page-id-654 .pfi-home-club-card__label {
  color: var(--pfi-accent-lime);
  font-size: 1.25rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.2;
  margin: 0 0 1.1rem;
  text-transform: uppercase;
}

body.page-id-654 .pfi-home-hero__title {
  color: #fff;
  font-size: clamp(5rem, 6vw, 7.6rem);
  font-weight: 850;
  line-height: 0.98;
  margin: 0;
  max-width: 80rem;
}

body.page-id-654 .pfi-home-hero__lead {
  color: rgba(255, 255, 255, 0.88);
  font-size: 2.05rem;
  line-height: 1.55;
  margin: 2.2rem 0 0;
  max-width: 66rem;
}

body.page-id-654 .pfi-home-inline-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 2.8rem;
}

body.page-id-654 .pfi-home-inline-actions--center {
  justify-content: center;
}

body.page-id-654 .pfi-home-button,
body.page-id-654 .pfi-home-card-link {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 0.8rem;
  display: inline-flex;
  font-size: 1.46rem;
  font-weight: 800;
  justify-content: center;
  line-height: 1.1;
  min-height: 4.6rem;
  padding: 1.25rem 1.8rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
  white-space: nowrap;
}

body.page-id-654 .pfi-home-button:hover,
body.page-id-654 .pfi-home-button:focus,
body.page-id-654 .pfi-home-card-link:hover,
body.page-id-654 .pfi-home-card-link:focus,
body.page-id-654 .pfi-home-route-card:hover,
body.page-id-654 .pfi-home-route-card:focus,
body.page-id-654 .pfi-home-trust-link:hover,
body.page-id-654 .pfi-home-trust-link:focus {
  transform: translateY(-0.2rem);
}

body.page-id-654 .pfi-home-button--lime {
  background: var(--pfi-accent-lime) !important;
  color: var(--pfi-surface-dark) !important;
  -webkit-text-fill-color: var(--pfi-surface-dark);
}

body.page-id-654 .pfi-home-button--ghost {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.34);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

body.page-id-654 .pfi-home-button--blue,
body.page-id-654 .pfi-home-card-link {
  background: var(--pfi-tertiary-sky) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

body.page-id-654 .pfi-home-button--text,
body.page-id-654 .pfi-home-button--text-light {
  background: transparent !important;
  border-color: rgba(0, 66, 90, 0.18);
  color: var(--pfi-tertiary-sky) !important;
  -webkit-text-fill-color: var(--pfi-tertiary-sky);
  padding-inline: 0;
}

body.page-id-654 .pfi-home-button--text-light {
  border-color: transparent;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

body.page-id-654 .pfi-home-routes,
body.page-id-654 .pfi-home-stats,
body.page-id-654 .pfi-home-events,
body.page-id-654 .pfi-home-clubs,
body.page-id-654 .pfi-home-news,
body.page-id-654 .pfi-home-rankings-spotlight,
body.page-id-654 .pfi-home-trust {
  padding: 8rem var(--space-m, 2rem);
}

body.page-id-654 .pfi-home-news {
  background: #f5f8fb;
}

body.page-id-654 .pfi-home-news .pfi-home-section-heading {
  max-width: 96rem;
}

body.page-id-654 .pfi-home-clubs,
body.page-id-654 .pfi-home-events,
body.page-id-654 .pfi-home-trust {
  background: #fff;
}

body.page-id-654 .pfi-home-actions,
body.page-id-654 .pfi-home-portal {
  background:
    radial-gradient(circle at 86% 10%, rgba(36, 169, 225, 0.2), transparent 30rem),
    linear-gradient(135deg, #06465d 0%, var(--pfi-primary-navy) 42%, #010b13 100%);
  color: #fff;
  padding: 8rem var(--space-m, 2rem);
}

body.page-id-654 .pfi-home-stats {
  background: var(--pfi-primary-navy);
  color: #fff;
}

body.page-id-654 .pfi-home-discovery {
  background:
    linear-gradient(180deg, var(--pfi-portal-bg) 0%, var(--pfi-portal-bg-deep) 100%);
  color: #fff;
  padding: 8rem var(--space-m, 2rem);
}

body.page-id-654 .pfi-home-rankings-spotlight {
  background: #053142;
  color: #fff;
}

body.page-id-654 .pfi-home-routes {
  background:
    linear-gradient(180deg, var(--pfi-portal-bg) 0%, var(--pfi-portal-bg-deep) 100%);
  color: #fff;
  padding-block: clamp(10rem, 9vw, 12.5rem);
}

body.page-id-654 .pfi-home-section-heading {
  margin: 0 auto 4rem;
  max-width: 78rem;
  text-align: center;
}

body.page-id-654 .pfi-home-split-heading {
  align-items: end;
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 0.9fr) minmax(32rem, 0.7fr);
  margin-bottom: 3.4rem;
}

body.page-id-654 .pfi-home-section-title {
  color: var(--pfi-primary-navy);
  font-size: clamp(3.2rem, 4vw, 4.8rem);
  font-weight: 850;
  line-height: 1.08;
  margin: 0;
}

body.page-id-654 .pfi-home-section-text {
  color: #52637a;
  font-size: 1.7rem;
  line-height: 1.65;
  margin: 1.4rem 0 0;
  max-width: 72rem;
}

body.page-id-654 .pfi-home-section-heading .pfi-home-section-text {
  margin-inline: auto;
}

@media (min-width: 768px) {
  body.page-id-654 .pfi-home-news .pfi-home-section-title {
    white-space: nowrap;
  }
}

body.page-id-654 .pfi-home-clubs .pfi-home-section-heading {
  max-width: 82rem;
  text-align: center;
}

body.page-id-654 .pfi-home-clubs .pfi-home-section-heading .pfi-home-section-text {
  margin-inline: auto;
}

body.page-id-654 .pfi-home-section-heading--dark .pfi-home-section-title,
body.page-id-654 .pfi-home-section-heading--dark .pfi-home-section-text,
body.page-id-654 .pfi-home-stats .pfi-home-section-title,
body.page-id-654 .pfi-home-stats .pfi-home-section-text,
body.page-id-654 .pfi-home-routes .pfi-home-section-title,
body.page-id-654 .pfi-home-routes .pfi-home-section-text,
body.page-id-654 .pfi-home-rankings-spotlight .pfi-home-section-title,
body.page-id-654 .pfi-home-rankings-spotlight .pfi-home-section-text,
body.page-id-654 .pfi-home-portal .pfi-home-section-title,
body.page-id-654 .pfi-home-portal .pfi-home-section-text {
  color: #fff;
}

body.page-id-654 .pfi-home-rankings-spotlight__grid {
  display: grid;
  gap: clamp(2rem, 2.4vw, 3rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-id-654 .pfi-home-rankings-panel {
  background:
    radial-gradient(circle at 20% 18%, rgba(56, 189, 248, 0.16), transparent 22rem),
    color-mix(in srgb, var(--pfi-primary-navy) 74%, white 8%);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2.8rem 7rem rgba(1, 11, 19, 0.22);
  min-height: clamp(38rem, 37vw, 50rem);
  overflow: hidden;
  padding: clamp(1.8rem, 2.2vw, 2.8rem);
  position: relative;
}

body.page-id-654 .pfi-home-rankings-panel__controls {
  align-items: center;
  display: contents;
}

body.page-id-654 .pfi-home-rankings-panel__arrow {
  align-items: center;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  height: 8rem;
  justify-content: center;
  line-height: 1;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: color 160ms ease, opacity 160ms ease, transform 160ms ease;
  width: 5.4rem;
  z-index: 12;
}

body.page-id-654 .pfi-home-rankings-panel__arrow--prev {
  left: clamp(1.2rem, 1.6vw, 2rem);
}

body.page-id-654 .pfi-home-rankings-panel__arrow--next {
  right: clamp(1.2rem, 1.6vw, 2rem);
}

body.page-id-654 .pfi-home-rankings-panel__arrow:hover,
body.page-id-654 .pfi-home-rankings-panel__arrow:focus-visible {
  color: var(--pfi-accent-lime);
  transform: translateY(calc(-50% - 0.15rem));
}

body.page-id-654 .pfi-home-rankings-panel__chevron {
  border: solid currentColor;
  border-width: 0 0.34rem 0.34rem 0;
  display: block;
  height: 2.2rem;
  width: 2.2rem;
}

body.page-id-654 .pfi-home-rankings-panel__chevron--prev {
  transform: rotate(135deg);
}

body.page-id-654 .pfi-home-rankings-panel__chevron--next {
  transform: rotate(-45deg);
}

body.page-id-654 .pfi-home-rankings-panel__stage {
  min-height: clamp(32rem, 34vw, 43rem);
  position: relative;
  touch-action: pan-y;
}

body.page-id-654 .pfi-home-rankings-player {
  bottom: 0;
  display: block;
  inset-inline: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translateX(0) scale(0.7);
  transform-origin: bottom center;
  transition: opacity 260ms ease, transform 260ms ease, filter 260ms ease;
  z-index: 1;
}

body.page-id-654 .pfi-home-rankings-player.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0) scale(1);
  z-index: 5;
}

body.page-id-654 .pfi-home-rankings-player.is-previous,
body.page-id-654 .pfi-home-rankings-player.is-next {
  filter: grayscale(0.35) saturate(0.85);
  opacity: 0.34;
  z-index: 2;
}

body.page-id-654 .pfi-home-rankings-player.is-previous {
  transform: translateX(-26%) translateY(1.4rem) scale(0.7);
}

body.page-id-654 .pfi-home-rankings-player.is-next {
  transform: translateX(26%) translateY(1.4rem) scale(0.7);
}

body.page-id-654 .pfi-home-rankings-player__image-link {
  bottom: 4.8rem;
  display: flex;
  height: clamp(26rem, 29vw, 37rem);
  justify-content: center;
  left: 50%;
  max-height: calc(100% - 6rem);
  overflow: visible;
  position: absolute;
  text-decoration: none;
  transform: translateX(-50%);
  width: min(48%, 31rem);
}

body.page-id-654 .pfi-home-rankings-player__image {
  align-items: flex-end;
  display: flex;
  height: 100%;
  justify-content: center;
  width: 100%;
}

body.page-id-654 .pfi-home-rankings-player__image .pfi-rankings-player-img,
body.page-id-654 .pfi-home-rankings-player__image .pfi-rankings-player-fallback {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: bottom center;
  width: 155%;
}

body.page-id-654 .pfi-home-rankings-player__rank {
  color: #fff;
  display: block;
  font-size: clamp(7rem, 8vw, 10rem);
  font-weight: 900;
  left: clamp(5.8rem, 6.8vw, 8.8rem);
  letter-spacing: 0;
  line-height: 0.82;
  opacity: 0;
  position: absolute;
  text-shadow: 0 1.4rem 3rem rgba(1, 11, 19, 0.32);
  top: 26%;
  transform: translateY(-50%);
  transition: opacity 200ms ease;
  z-index: 8;
}

body.page-id-654 .pfi-home-rankings-player.is-active .pfi-home-rankings-player__rank {
  opacity: 1;
}

body.page-id-654 .pfi-home-rankings-player__name {
  bottom: 0;
  color: #fff;
  display: block;
  font-size: clamp(1.95rem, 1.55vw, 2.45rem);
  font-weight: 850;
  inset-inline: clamp(4rem, 5vw, 6rem);
  letter-spacing: 0;
  line-height: 1.12;
  opacity: 0;
  overflow: hidden;
  padding-bottom: 0.08em;
  position: absolute;
  text-align: center;
  text-decoration: none;
  text-overflow: ellipsis;
  transition: color 160ms ease, opacity 200ms ease;
  white-space: nowrap;
  z-index: 8;
}

body.page-id-654 .pfi-home-rankings-player.is-active .pfi-home-rankings-player__name {
  opacity: 1;
}

body.page-id-654 .pfi-home-rankings-player__name:hover,
body.page-id-654 .pfi-home-rankings-player__name:focus-visible {
  color: var(--pfi-accent-lime);
}

body.page-id-654 .pfi-home-route-grid {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

body.page-id-654 .pfi-home-route-card,
body.page-id-654 .pfi-home-action-card,
body.page-id-654 .pfi-home-club-card,
body.page-id-654 .pfi-home-trust-link {
  border-radius: 0.8rem;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.page-id-654 .pfi-home-route-card {
  align-items: flex-start;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(224, 224, 224, 0.16);
  box-shadow: none;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  min-height: 26rem;
  padding: 2.3rem;
  text-decoration: none;
}

body.page-id-654 .pfi-home-route-card:hover,
body.page-id-654 .pfi-home-route-card:focus {
  background: rgba(255, 255, 255, 0.11);
  border-color: rgba(191, 255, 0, 0.28);
  box-shadow: none;
}

body.page-id-654 .pfi-home-route-card__icon-wrap,
body.page-id-654 .pfi-home-action-card__icon-wrap,
body.page-id-654 .pfi-home-trust-link__icon-wrap {
  align-items: center;
  background: rgba(36, 169, 225, 0.1);
  border: 1px solid rgba(36, 169, 225, 0.16);
  border-radius: 0.8rem;
  color: var(--pfi-tertiary-sky);
  display: inline-flex;
  flex: 0 0 auto;
  height: 5rem;
  justify-content: center;
  width: 5rem;
}

body.page-id-654 .pfi-home-route-card__icon-wrap {
  background: rgba(191, 255, 0, 0.1);
  border-color: rgba(191, 255, 0, 0.22);
  color: var(--pfi-accent-lime);
}

body.page-id-654 .pfi-home-route-card__icon,
body.page-id-654 .pfi-home-action-card__icon,
body.page-id-654 .pfi-home-trust-link__icon {
  height: 2.6rem;
  width: 2.6rem;
}

body.page-id-654 .pfi-home-route-card__content {
  align-content: start;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 0.7rem;
  min-width: 0;
  width: 100%;
}

body.page-id-654 .pfi-home-route-card__title,
body.page-id-654 .pfi-home-action-card__title,
body.page-id-654 .pfi-home-club-card__title,
body.page-id-654 .pfi-home-trust-link strong {
  color: var(--pfi-primary-navy);
  font-weight: 850;
  line-height: 1.15;
}

body.page-id-654 .pfi-home-route-card__title,
body.page-id-654 .pfi-home-trust-link strong {
  font-size: 1.9rem;
}

body.page-id-654 .pfi-home-route-card__title {
  color: #fff;
}

body.page-id-654 .pfi-home-route-card__text,
body.page-id-654 .pfi-home-action-card__text,
body.page-id-654 .pfi-home-club-card__meta,
body.page-id-654 .pfi-home-trust-link span span {
  color: #52637a;
  font-size: 1.44rem;
  line-height: 1.55;
}

body.page-id-654 .pfi-home-route-card__text {
  color: rgba(255, 255, 255, 0.76);
}

body.page-id-654 .pfi-home-route-card__button {
  align-items: center;
  align-self: flex-start;
  background: var(--pfi-action-blue);
  border-radius: 0.8rem;
  color: #fff;
  display: inline-flex;
  font-size: 1.22rem;
  font-weight: 850;
  justify-content: center;
  line-height: 1;
  margin-top: auto;
  min-height: 3.7rem;
  padding: 1rem 1.2rem;
  text-align: center;
  width: 13.8rem;
  -webkit-text-fill-color: #fff;
}

body.page-id-654 .pfi-home-stat-grid,
body.page-id-654 .pfi-home-event-grid {
  display: grid;
  gap: 1.6rem;
}

body.page-id-654 .pfi-home-stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.page-id-654 .pfi-home-event-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.page-id-654 .pfi-home-stat-card,
body.page-id-654 .pfi-home-event-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.07);
}

body.page-id-654 .pfi-home-stat-card {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
  min-height: 20rem;
  padding: 2.4rem;
}

body.page-id-654 .pfi-home-stat-card:hover,
body.page-id-654 .pfi-home-stat-card:focus-within {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(191, 255, 0, 0.24);
}

body.page-id-654 .pfi-home-stat-card__value {
  color: var(--pfi-accent-lime);
  display: block;
  font-size: clamp(3.8rem, 4vw, 5.2rem);
  font-weight: 850;
  line-height: 0.95;
}

body.page-id-654 .pfi-home-stat-card__label {
  color: #fff;
  display: block;
  font-size: 1.55rem;
  font-weight: 850;
  line-height: 1.2;
  margin-top: 1.3rem;
}

body.page-id-654 .pfi-home-stat-card p {
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.42rem;
  line-height: 1.55;
  margin: 1rem 0 0;
}

body.page-id-654 .pfi-home-event-card {
  color: #52637a;
  display: flex;
  flex-direction: column;
  min-height: 27rem;
  padding: 2.3rem;
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.page-id-654 .pfi-home-event-card:hover,
body.page-id-654 .pfi-home-event-card:focus {
  border-color: rgba(36, 169, 225, 0.3);
  box-shadow: 0 1.8rem 4.4rem rgba(1, 11, 19, 0.11);
  transform: translateY(-0.2rem);
}

body.page-id-654 .pfi-home-event-card__icon-wrap {
  align-items: center;
  background: var(--pfi-primary-navy);
  border: 1px solid color-mix(in srgb, var(--pfi-primary-navy) 78%, white);
  border-radius: 0.8rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  flex: 0 0 auto;
  height: 5rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5rem;
}

body.page-id-654 .pfi-home-event-card__icon {
  height: 2.6rem;
  width: 2.6rem;
}

body.page-id-654 .pfi-home-event-card__title {
  color: var(--pfi-primary-navy);
  font-size: 2rem;
  font-weight: 850;
  line-height: 1.15;
}

body.page-id-654 .pfi-home-event-card__text {
  color: #52637a;
  display: block;
  font-size: 1.44rem;
  line-height: 1.55;
  margin: 1rem 0 2rem;
}

body.page-id-654 .pfi-home-event-card__link {
  align-items: center;
  color: var(--pfi-tertiary-sky);
  display: inline-flex;
  font-size: 1.34rem;
  font-weight: 850;
  line-height: 1.2;
  margin-top: auto;
}

body.page-id-654 .pfi-home-event-card__link::after {
  content: "\00a0\2192";
}

body.page-id-654 .pfi-home-club-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-id-654 .pfi-home-club-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  box-shadow: 0 1.4rem 3.8rem rgba(1, 11, 19, 0.09);
  display: grid;
  grid-template-columns: minmax(22rem, 0.9fr) minmax(0, 1fr);
  overflow: hidden;
}

body.page-id-654 .pfi-home-club-card__media {
  background: #eaf1f5;
  display: block;
  min-height: 31rem;
  overflow: hidden;
}

body.page-id-654 .pfi-home-club-card__image,
body.page-id-654 .pfi-home-club-card__placeholder {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body.page-id-654 .pfi-home-club-card__placeholder {
  align-items: center;
  color: var(--pfi-tertiary-sky);
  display: flex;
  justify-content: center;
}

body.page-id-654 .pfi-home-club-card__placeholder-icon {
  height: 5rem;
  width: 5rem;
}

body.page-id-654 .pfi-home-club-card__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2.8rem;
}

body.page-id-654 .pfi-home-club-card__title {
  font-size: 2.7rem;
  margin: 0;
}

body.page-id-654 .pfi-home-club-card__title a {
  color: inherit;
  text-decoration: none;
}

body.page-id-654 .pfi-home-club-card__meta {
  display: grid;
  gap: 0.9rem;
  margin: 1.5rem 0 2rem;
}

body.page-id-654 .pfi-home-club-card__meta span {
  align-items: center;
  display: flex;
  gap: 0.8rem;
}

body.page-id-654 .pfi-home-club-card__meta-icon {
  color: var(--pfi-tertiary-sky);
  flex: 0 0 auto;
  height: 2rem;
  width: 2rem;
}

body.page-id-654 .pfi-home-card-link {
  margin-top: auto;
  min-height: 4.2rem;
  width: max-content;
}

body.page-id-654 .pfi-home-clubs .pfi-home-card-link,
body.page-id-654 .pfi-home-clubs .pfi-home-button--blue {
  background: var(--pfi-action-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

body.page-id-654 .pfi-home-clubs .pfi-home-card-link {
  align-self: center;
}

body.page-id-654 .pfi-home-news .pfi-home-button--text {
  border-color: transparent;
  color: var(--pfi-action-blue) !important;
  min-height: 0;
  padding: 0.4rem 0;
  width: max-content;
  -webkit-text-fill-color: var(--pfi-action-blue);
}

body.page-id-654 .pfi-home-news .pfi-home-button--text::after {
  content: "\00a0\2192";
}

body.page-id-654 .pfi-home-news .pfi-home-button--text:hover,
body.page-id-654 .pfi-home-news .pfi-home-button--text:focus {
  color: var(--pfi-action-blue-hover) !important;
  -webkit-text-fill-color: var(--pfi-action-blue-hover);
}

body.page-id-654 .pfi-home-discovery-stack {
  display: grid;
  gap: 2rem;
}

body.page-id-654 .pfi-home-discovery-band {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 84%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.25);
  display: grid;
  grid-template-columns: minmax(28rem, 0.76fr) minmax(0, 1fr);
  overflow: hidden;
}

body.page-id-654 .pfi-home-discovery-band--reverse .pfi-home-discovery-band__media {
  order: 2;
}

body.page-id-654 .pfi-home-discovery-band__media {
  background-position: center;
  background-size: cover;
  min-height: 32rem;
}

body.page-id-654 .pfi-home-discovery-band__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3.2rem;
}

body.page-id-654 .pfi-home-discovery-band__icon-wrap {
  align-items: center;
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.24);
  border-radius: 0.7rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  height: 5.2rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5.2rem;
}

body.page-id-654 .pfi-home-discovery-band__icon {
  height: 2.7rem;
  width: 2.7rem;
}

body.page-id-654 .pfi-home-discovery-band__kicker {
  color: var(--pfi-tertiary-sky);
  font-size: 1.15rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

body.page-id-654 .pfi-home-discovery-band__title {
  color: #fff;
  font-size: 3.3rem;
  font-weight: 850;
  line-height: 1.1;
  margin: 0;
}

body.page-id-654 .pfi-home-discovery-band__text {
  color: color-mix(in srgb, var(--pfi-portal-text) 76%, transparent);
  font-size: 1.62rem;
  line-height: 1.6;
  margin: 1.3rem 0 2rem;
  max-width: 60rem;
}

body.page-id-654 .pfi-home-discovery .pfi-home-button--blue {
  background: var(--pfi-action-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

body.page-id-654 .pfi-home-action-grid {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-id-654 .pfi-home-action-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  display: flex;
  flex-direction: column;
  min-height: 28rem;
  padding: 2.4rem;
}

body.page-id-654 .pfi-home-action-card__icon-wrap {
  background: rgba(191, 255, 0, 0.1);
  border-color: rgba(191, 255, 0, 0.22);
  color: var(--pfi-accent-lime);
  margin-bottom: 2rem;
}

body.page-id-654 .pfi-home-action-card__title {
  color: #fff;
  font-size: 2.4rem;
  margin: 0;
}

body.page-id-654 .pfi-home-action-card__text {
  color: rgba(255, 255, 255, 0.76);
  margin: 1.2rem 0 1.8rem;
}

body.page-id-654 .pfi-home-news .pfi-news-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-id-654 .pfi-home-portal__inner {
  align-items: center;
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(0, 0.9fr) minmax(36rem, 0.7fr);
}

body.page-id-654 .pfi-home-portal__links {
  display: grid;
  gap: 1rem;
}

body.page-id-654 .pfi-home-portal .pfi-home-trust-link {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.16);
}

body.page-id-654 .pfi-home-portal .pfi-home-trust-link:hover,
body.page-id-654 .pfi-home-portal .pfi-home-trust-link:focus {
  background: rgba(255, 255, 255, 0.11);
  border-color: rgba(191, 255, 0, 0.28);
}

body.page-id-654 .pfi-home-portal .pfi-home-trust-link__icon-wrap {
  background: rgba(191, 255, 0, 0.1);
  border-color: rgba(191, 255, 0, 0.22);
  color: var(--pfi-accent-lime);
}

body.page-id-654 .pfi-home-portal .pfi-home-trust-link strong,
body.page-id-654 .pfi-home-portal .pfi-home-trust-link span span {
  color: #fff;
}

body.page-id-654 .pfi-home-trust-grid {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-id-654 .pfi-home-trust-link {
  align-items: flex-start;
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.1);
  color: var(--pfi-primary-navy);
  display: flex;
  gap: 1.4rem;
  min-height: 13.6rem;
  padding: 2rem;
  text-decoration: none;
}

body.page-id-654 .pfi-home-trust-link:hover,
body.page-id-654 .pfi-home-trust-link:focus {
  background: #eef5fa;
  border-color: rgba(36, 169, 225, 0.3);
}

body.page-id-654 .pfi-home-trust-link span span {
  display: block;
  margin-top: 0.6rem;
}

@media (max-width: 1180px) {
  body.page-id-654 .pfi-home-sponsors__inner {
    gap: 0;
  }

  body.page-id-654 .pfi-home-sponsors__list {
    flex-wrap: wrap;
    justify-content: center;
  }

  body.page-id-654 .pfi-home-route-grid,
  body.page-id-654 .pfi-home-action-grid,
  body.page-id-654 .pfi-home-stat-grid,
  body.page-id-654 .pfi-home-event-grid,
  body.page-id-654 .pfi-home-rankings-spotlight__grid,
  body.page-id-654 .pfi-home-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-id-654 .pfi-home-club-grid,
  body.page-id-654 .pfi-home-discovery-band,
  body.page-id-654 .pfi-home-discovery-band--reverse,
  body.page-id-654 .pfi-home-news .pfi-news-grid,
  body.page-id-654 .pfi-home-portal__inner,
  body.page-id-654 .pfi-home-split-heading {
    grid-template-columns: 1fr;
  }

  body.page-id-654 .pfi-home-discovery-band--reverse .pfi-home-discovery-band__media {
    order: 0;
  }
}

@media (max-width: 767px) {
  body.page-id-654 .pfi-home-sponsors {
    padding: 1.2rem 2rem;
  }

  body.page-id-654 .pfi-home-sponsors__label {
    font-size: 1.15rem;
    text-align: center;
  }

  body.page-id-654 .pfi-home-sponsors__list {
    gap: 1rem 1.2rem;
    max-width: 100%;
  }

  body.page-id-654 .pfi-home-sponsors__item {
    flex: 0 1 calc(50% - 0.8rem);
    max-width: calc(50% - 0.8rem);
  }

  body.page-id-654 .pfi-home-sponsors__link {
    max-width: 100%;
    width: 100%;
  }

  body.page-id-654 .pfi-home-sponsors__item:nth-child(4) {
    order: 7;
  }

  body.page-id-654 .pfi-home-sponsors__item:nth-child(7) {
    order: 4;
  }

  body.page-id-654 .pfi-home-sponsors__logo {
    max-height: 3.8rem;
    max-width: 100%;
  }

  body.page-id-654 .pfi-home-hero,
  body.page-id-654 .pfi-home-routes,
  body.page-id-654 .pfi-home-stats,
  body.page-id-654 .pfi-home-events,
  body.page-id-654 .pfi-home-clubs,
  body.page-id-654 .pfi-home-discovery,
  body.page-id-654 .pfi-home-actions,
  body.page-id-654 .pfi-home-news,
  body.page-id-654 .pfi-home-rankings-spotlight,
  body.page-id-654 .pfi-home-portal,
  body.page-id-654 .pfi-home-trust {
    padding: 5.8rem 2rem;
  }

  body.page-id-654 .pfi-home-hero {
    background-position: 70% bottom;
    min-height: clamp(52rem, 82vh, 64rem);
    min-height: clamp(52rem, 82svh, 64rem);
    padding-top: 7rem;
  }

  body.page-id-654 .pfi-home-hero__inner,
  body.page-id-654 .pfi-home-section-container,
  body.page-id-654 .pfi-home-portal__inner,
  body.page-id-654 .pfi-home-hero__content {
    max-width: calc(100vw - 4rem);
    width: 100%;
  }

  body.page-id-654 .pfi-home-hero__title {
    font-size: clamp(3.4rem, 10.8vw, 4.2rem);
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body.page-id-654 .pfi-home-hero__lead,
  body.page-id-654 .pfi-home-section-text {
    font-size: 1.58rem;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .snn-cookie-banner {
    box-sizing: border-box !important;
    left: 1rem !important;
    max-width: calc(100vw - 2rem) !important;
    right: 1rem !important;
    width: auto !important;
  }

  .snn-banner-buttons {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }

  .snn-banner-buttons .snn-button {
    min-width: 0 !important;
    width: 100% !important;
  }

  body.page-id-654 .pfi-home-inline-actions {
    align-items: stretch;
    flex-direction: column;
  }

  body.page-id-654 .pfi-home-button,
  body.page-id-654 .pfi-home-card-link {
    width: 100%;
  }

  body.page-id-654 .pfi-home-news .pfi-home-button--text {
    margin-inline: auto;
    width: max-content;
  }

  body.page-id-654 .pfi-home-section-heading {
    margin-bottom: 3rem;
    text-align: center;
  }

  body.page-id-654 .pfi-home-section-heading .pfi-home-section-text {
    margin-inline: auto;
  }

  body.page-id-654 .pfi-home-route-grid,
  body.page-id-654 .pfi-home-action-grid,
  body.page-id-654 .pfi-home-stat-grid,
  body.page-id-654 .pfi-home-event-grid,
  body.page-id-654 .pfi-home-rankings-spotlight__grid,
  body.page-id-654 .pfi-home-trust-grid {
    grid-template-columns: 1fr;
  }

  body.page-id-654 .pfi-home-rankings-panel {
    min-height: 39rem;
    padding: 2rem;
  }

  body.page-id-654 .pfi-home-rankings-panel__stage {
    min-height: 30rem;
  }

  body.page-id-654 .pfi-home-rankings-panel__arrow {
    height: 6.6rem;
    width: 3.8rem;
  }

  body.page-id-654 .pfi-home-rankings-panel__chevron {
    height: 1.75rem;
    width: 1.75rem;
  }

  body.page-id-654 .pfi-home-rankings-panel__arrow--prev {
    left: 0.9rem;
  }

  body.page-id-654 .pfi-home-rankings-panel__arrow--next {
    right: 0.9rem;
  }

  body.page-id-654 .pfi-home-rankings-player__image-link {
    bottom: 5.8rem;
    height: 24rem;
    width: min(48%, 17rem);
  }

  body.page-id-654 .pfi-home-rankings-player.is-previous {
    transform: translateX(-28%) translateY(1.2rem) scale(0.68);
  }

  body.page-id-654 .pfi-home-rankings-player.is-next {
    transform: translateX(28%) translateY(1.2rem) scale(0.68);
  }

  body.page-id-654 .pfi-home-rankings-player__rank {
    font-size: clamp(5.8rem, 16vw, 7.8rem);
    left: clamp(4.4rem, 13vw, 5.8rem);
    top: 25%;
  }

  body.page-id-654 .pfi-home-rankings-player__name {
    font-size: clamp(1.75rem, 5.1vw, 2.2rem);
    inset-inline: 3.6rem;
    line-height: 1.12;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  body.page-id-654 .pfi-home-route-card,
  body.page-id-654 .pfi-home-stat-card,
  body.page-id-654 .pfi-home-event-card {
    min-height: 0;
  }

  body.page-id-654 .pfi-home-club-card {
    grid-template-columns: 1fr;
  }

  body.page-id-654 .pfi-home-club-card__media {
    min-height: 23rem;
  }

  body.page-id-654 .pfi-home-club-card__body {
    padding: 2.2rem;
  }

  body.page-id-654 .pfi-home-discovery-band__media {
    min-height: 22rem;
  }

  body.page-id-654 .pfi-home-discovery-band__content {
    align-items: center;
    padding: 2.2rem;
    text-align: center;
  }

  body.page-id-654 .pfi-home-discovery-band__icon-wrap,
  body.page-id-654 .pfi-home-discovery-band__text {
    margin-inline: auto;
  }

  body.page-id-654 .pfi-home-portal__content {
    text-align: center;
  }

  body.page-id-654 .pfi-home-portal__content .pfi-home-section-text {
    margin-inline: auto;
  }

  body.page-id-654 .pfi-home-discovery-band__title {
    font-size: 2.8rem;
  }

  body.page-id-654 .pfi-home-trust-link {
    min-height: 0;
  }
}

/* ==========================================================================
   PFI Play Hub
   ========================================================================== */

.pfi-play-hub {
  background: #f4f7f8;
  color: var(--pfi-primary-navy);
  overflow: hidden;
}

.pfi-play-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  position: relative;
  width: 100%;
  z-index: 1;
}

.pfi-play-intro {
  background:
    linear-gradient(135deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-portal-bg) 52%, var(--pfi-primary-navy) 100%);
  color: var(--pfi-portal-text);
  padding: 8rem var(--space-m, 2rem) 7rem;
}

.pfi-play-intro__grid {
  align-items: stretch;
  display: grid;
  gap: 3rem;
  grid-template-columns: minmax(0, 1.08fr) minmax(34rem, 0.58fr);
}

.pfi-play-intro__copy {
  align-self: center;
  max-width: 82rem;
}

.pfi-play-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.18rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin: 0 0 1.1rem;
  text-transform: uppercase;
}

.pfi-play-intro__title {
  color: #fff;
  font-size: 6.2rem;
  font-weight: 850;
  line-height: 1;
  margin: 0;
  max-width: 78rem;
}

.pfi-play-intro__text {
  color: color-mix(in srgb, var(--pfi-portal-text) 80%, transparent);
  font-size: 1.92rem;
  line-height: 1.58;
  margin: 2rem 0 0;
  max-width: 72rem;
}

.pfi-play-intro__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 2.8rem;
}

.pfi-play-command {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 82%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2.8rem 7rem rgba(0, 0, 0, 0.24);
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  padding: 1.6rem;
}

.pfi-play-command__header {
  align-items: flex-end;
  border-bottom: 1px solid rgba(224, 224, 224, 0.14);
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1.4rem;
}

.pfi-play-command__header span {
  color: var(--pfi-accent-lime);
  font-size: 1.1rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pfi-play-command__header strong {
  color: #fff;
  font-size: 1.7rem;
  line-height: 1.1;
  text-align: right;
}

.pfi-play-command__routes {
  display: grid;
  gap: 1rem;
}

.pfi-play-route {
  align-items: center;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(224, 224, 224, 0.12);
  border-radius: 0.7rem;
  color: #fff;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 4.6rem minmax(0, 1fr);
  min-height: 7.4rem;
  padding: 1.2rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.pfi-play-route:hover,
.pfi-play-route:focus {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(191, 255, 0, 0.34);
  color: #fff;
  transform: translateY(-0.2rem);
}

.pfi-play-route__mark {
  align-items: center;
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.24);
  border-radius: 0.7rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  height: 4.6rem;
  justify-content: center;
  width: 4.6rem;
}

.pfi-play-route__icon {
  height: 2.4rem;
  width: 2.4rem;
}

.pfi-play-route strong,
.pfi-play-route small {
  display: block;
}

.pfi-play-route strong {
  color: #fff;
  font-size: 1.52rem;
  line-height: 1.2;
}

.pfi-play-route small {
  color: color-mix(in srgb, var(--pfi-portal-text) 66%, transparent);
  font-size: 1.24rem;
  line-height: 1.38;
  margin-top: 0.25rem;
}

.pfi-play-button,
.pfi-play-card__link {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 0.7rem;
  display: inline-flex;
  font-size: 1.48rem;
  font-weight: 800;
  justify-content: center;
  line-height: 1;
  min-height: 4.6rem;
  padding: 1.35rem 2rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
  white-space: nowrap;
}

.pfi-play-button:hover,
.pfi-play-button:focus,
.pfi-play-card__link:hover,
.pfi-play-card__link:focus {
  transform: translateY(-0.2rem);
}

.pfi-play-button--lime {
  background: var(--pfi-accent-lime) !important;
  color: var(--pfi-surface-dark) !important;
  -webkit-text-fill-color: var(--pfi-surface-dark);
}

.pfi-play-button--ghost {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.34);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.pfi-play-button--blue,
.pfi-play-card__link {
  background: var(--pfi-action-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.pfi-play-start,
.pfi-play-programmes {
  background: #f4f7f8;
  padding: 7.5rem var(--space-m, 2rem);
}

.pfi-play-find,
.pfi-play-safety {
  background:
    linear-gradient(180deg, var(--pfi-portal-bg) 0%, var(--pfi-portal-bg-deep) 100%);
  color: #fff;
  padding: 7.5rem var(--space-m, 2rem);
}

.pfi-play-section-heading {
  margin: 0 auto 4.2rem;
  max-width: 78rem;
  text-align: center;
}

.pfi-play-section-heading--split {
  display: block;
  margin-inline: auto;
  max-width: 78rem;
  text-align: center;
}

.pfi-play-section-heading--split .pfi-play-section-text {
  margin: 1.4rem auto 0;
  max-width: 70rem;
}

.pfi-play-start .pfi-play-kicker,
.pfi-play-programmes .pfi-play-kicker {
  color: var(--pfi-action-blue);
}

.pfi-play-section-title {
  color: var(--pfi-primary-navy);
  font-size: 4.2rem;
  font-weight: 850;
  line-height: 1.08;
  margin: 0;
}

.pfi-play-section-text {
  color: #52637a;
  font-size: 1.72rem;
  line-height: 1.64;
  margin: 1.4rem auto 0;
  max-width: 72rem;
}

.pfi-play-section-heading--light .pfi-play-section-title,
.pfi-play-section-heading--light .pfi-play-section-text,
.pfi-play-safety .pfi-play-section-title,
.pfi-play-safety .pfi-play-section-text {
  color: #fff;
}

.pfi-play-section-heading--light .pfi-play-section-text,
.pfi-play-safety .pfi-play-section-text {
  color: rgba(255, 255, 255, 0.78);
}

.pfi-play-card-grid {
  display: grid;
  gap: 1.8rem;
}

.pfi-play-card-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-play-card-grid--five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pfi-play-card-grid--six {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-play-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.08);
  display: flex;
  flex-direction: column;
  min-height: 29rem;
  padding: 2.3rem;
}

.pfi-play-card__icon-wrap {
  align-items: center;
  background: rgba(56, 189, 248, 0.11);
  border: 1px solid rgba(37, 99, 235, 0.13);
  border-radius: 0.7rem;
  color: var(--pfi-action-blue);
  display: inline-flex;
  height: 5rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5rem;
}

.pfi-play-card__icon {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-play-card__title {
  color: var(--pfi-primary-navy);
  font-size: 2.1rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-play-card__text {
  color: #52637a;
  font-size: 1.46rem;
  line-height: 1.55;
  margin: 1.1rem 0 2rem;
}

.pfi-play-card__link {
  margin-top: auto;
  min-height: 4rem;
  padding: 1.1rem 1.5rem;
  width: max-content;
}

.pfi-play-pathway-stack {
  display: grid;
  gap: 2rem;
}

.pfi-play-pathway {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 84%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.25);
  display: grid;
  grid-template-columns: minmax(28rem, 0.76fr) minmax(0, 1fr);
  overflow: hidden;
}

.pfi-play-pathway--reverse .pfi-play-pathway__media {
  order: 2;
}

.pfi-play-pathway__media {
  background-position: center;
  background-size: cover;
  min-height: 32rem;
}

.pfi-play-pathway__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3.2rem;
}

.pfi-play-pathway__icon-wrap {
  align-items: center;
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.24);
  border-radius: 0.7rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  height: 5.2rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5.2rem;
}

.pfi-play-pathway__icon {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-play-pathway__kicker {
  color: var(--pfi-tertiary-sky);
  font-size: 1.15rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.pfi-play-pathway__title {
  color: #fff;
  font-size: 3.3rem;
  font-weight: 850;
  line-height: 1.1;
  margin: 0;
}

.pfi-play-pathway__text {
  color: color-mix(in srgb, var(--pfi-portal-text) 76%, transparent);
  font-size: 1.62rem;
  line-height: 1.6;
  margin: 1.3rem 0 2rem;
  max-width: 60rem;
}

.pfi-play-safety__inner {
  align-items: center;
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.1fr);
}

.pfi-play-safety__content {
  max-width: 60rem;
}

.pfi-play-safety__links {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 1fr;
}

.pfi-play-card--compact {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(224, 224, 224, 0.16);
  box-shadow: none;
  min-height: 0;
}

.pfi-play-card--compact .pfi-play-card__icon-wrap {
  background: rgba(191, 255, 0, 0.1);
  border-color: rgba(191, 255, 0, 0.22);
  color: var(--pfi-accent-lime);
}

.pfi-play-card--compact .pfi-play-card__title,
.pfi-play-card--compact .pfi-play-card__text {
  color: #fff;
}

.pfi-play-card--compact .pfi-play-card__text {
  color: rgba(255, 255, 255, 0.76);
}

@media (max-width: 1180px) {
  .pfi-play-intro__grid {
    grid-template-columns: 1fr;
  }

  .pfi-play-command {
    max-width: none;
  }

  .pfi-play-card-grid--four,
  .pfi-play-card-grid--five,
  .pfi-play-card-grid--six {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pfi-play-section-heading--split,
  .pfi-play-safety__inner {
    grid-template-columns: 1fr;
  }

  .pfi-play-section-heading--split {
    text-align: center;
  }

  .pfi-play-section-heading--split .pfi-play-section-text {
    margin-inline: auto;
  }
}

@media (max-width: 980px) {
  .pfi-play-intro__title {
    font-size: 5rem;
  }

  .pfi-play-pathway,
  .pfi-play-pathway--reverse {
    grid-template-columns: 1fr;
  }

  .pfi-play-pathway--reverse .pfi-play-pathway__media {
    order: 0;
  }
}

@media (max-width: 767px) {
  .pfi-play-intro,
  .pfi-play-start,
  .pfi-play-find,
  .pfi-play-programmes,
  .pfi-play-safety {
    padding: 5.6rem 2rem;
  }

  .pfi-play-intro__title {
    font-size: 4rem;
  }

  .pfi-play-intro__text {
    font-size: 1.68rem;
  }

  .pfi-play-intro__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pfi-play-button,
  .pfi-play-card__link {
    width: 100%;
  }

  .pfi-play-card-grid--four,
  .pfi-play-card-grid--five,
  .pfi-play-card-grid--six {
    grid-template-columns: 1fr;
  }

  .pfi-play-section-heading {
    margin-bottom: 3.2rem;
  }

  .pfi-play-section-title {
    font-size: 3.35rem;
  }

  .pfi-play-card {
    min-height: 0;
  }

  .pfi-play-pathway__media {
    min-height: 22rem;
  }

  .pfi-play-pathway__content {
    padding: 2.2rem;
  }

  .pfi-play-pathway__title {
    font-size: 2.8rem;
  }

  .pfi-play-command__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
  }

  .pfi-play-command__header strong {
    text-align: left;
  }
}


@media (max-width: 480px) {
  .pfi-play-intro__title {
    font-size: 3.55rem;
  }

  .pfi-play-route {
    grid-template-columns: 4rem minmax(0, 1fr);
  }

  .pfi-play-route__mark {
    height: 4rem;
    width: 4rem;
  }
}

/* ==========================================================================
   PFI Play Learning Pages
   ========================================================================== */

.pfi-learning {
  background: #f5f8fb;
  color: var(--pfi-primary-navy);
}

.pfi-learning-hero {
  align-items: center;
  background-image: var(--pfi-learning-hero-image);
  background-position: center;
  background-size: cover;
  color: #fff;
  display: flex;
  min-height: 76vh;
  padding: clamp(7rem, 10vw, 12rem) var(--space-m, 2rem);
  position: relative;
}

@media (min-width: 768px) {
  .pfi-learning-hero {
    min-height: calc(100vh - 11.2rem);
    min-height: calc(100svh - 11.2rem);
  }
}

.pfi-learning-hero::after {
  background:
    linear-gradient(180deg, transparent 58%, rgba(1, 11, 19, 0.58));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.pfi-learning-hero__inner,
.pfi-learning-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  position: relative;
  width: 100%;
  z-index: 1;
}

.pfi-learning-hero__inner {
  max-width: var(--max-screen-width, 1300px);
}

.pfi-learning-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.22rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-learning-hero__title {
  color: #fff;
  font-size: clamp(4.6rem, 5.6vw, 6.2rem);
  font-weight: 850;
  line-height: 1.04;
  margin: 0;
  max-width: 88rem;
}

.pfi-learning-hero__title span {
  display: block;
}

.pfi-learning-hero__text {
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1.7rem, 1.7vw, 2.05rem);
  line-height: 1.6;
  margin: 2.2rem 0 0;
  max-width: 72rem;
}

.pfi-learning-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 3rem;
}

.pfi-learning-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 1.4rem;
  display: inline-flex;
  font-size: 1.48rem;
  font-weight: 800;
  justify-content: center;
  line-height: 1;
  min-height: 4.6rem;
  padding: 1.35rem 2rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
  white-space: nowrap;
}

.pfi-learning-button:hover,
.pfi-learning-button:focus {
  transform: translateY(-0.2rem);
}

.pfi-learning-button--lime {
  background: var(--pfi-accent-lime) !important;
  color: var(--pfi-surface-dark) !important;
  -webkit-text-fill-color: var(--pfi-surface-dark);
}

.pfi-learning-button--ghost {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.34);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.pfi-learning-section {
  padding: clamp(6rem, 8vw, 9rem) var(--space-m, 2rem);
}

.pfi-learning-section--light {
  background: #f5f8fb;
}

.pfi-learning-section--feature {
  background: #fff;
}

.pfi-learning-section--steps,
.pfi-learning-section--next {
  background: #f5f8fb;
}

.pfi-learning-heading {
  margin: 0 auto clamp(3.4rem, 4vw, 4.8rem);
  max-width: 82rem;
  text-align: center;
}

.pfi-learning-heading--split {
  align-items: end;
  display: grid;
  gap: 3rem;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 0.75fr);
  max-width: none;
  text-align: left;
}

.pfi-learning-heading h2,
.pfi-learning-feature h2,
.pfi-learning-photo-band__content h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3.4rem, 4vw, 4.8rem);
  font-weight: 850;
  line-height: 1.08;
  margin: 0;
}

.pfi-learning-heading p:not(.pfi-learning-kicker),
.pfi-learning-feature p,
.pfi-learning-photo-band__content p {
  color: #52637a;
  font-size: 1.7rem;
  line-height: 1.64;
  margin: 1.4rem auto 0;
  max-width: 76rem;
}

.pfi-learning-basic-grid,
.pfi-learning-step-grid,
.pfi-learning-next-grid {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-learning-basic,
.pfi-learning-step,
.pfi-learning-next,
.pfi-learning-faq details {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.07);
}

.pfi-learning-basic {
  padding: 2.4rem;
}

.pfi-learning-basic__icon-wrap,
.pfi-learning-step__icon-wrap,
.pfi-learning-next__icon-wrap {
  align-items: center;
  background: rgba(56, 189, 248, 0.11);
  border: 1px solid rgba(37, 99, 235, 0.13);
  border-radius: 1.2rem;
  color: var(--pfi-action-blue);
  display: inline-flex;
  height: 5rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5rem;
}

.pfi-learning-basic__icon,
.pfi-learning-step__icon,
.pfi-learning-next__icon {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-learning-basic h3,
.pfi-learning-step h3 {
  color: var(--pfi-primary-navy);
  font-size: 2.1rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-learning-basic p,
.pfi-learning-step p {
  color: #52637a;
  font-size: 1.46rem;
  line-height: 1.55;
  margin: 1.1rem 0 0;
}

.pfi-learning-feature {
  align-items: center;
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
}

.pfi-learning-feature img {
  aspect-ratio: 4 / 3;
  border-radius: 1.8rem;
  box-shadow: 0 2rem 5rem rgba(1, 11, 19, 0.16);
  object-fit: cover;
  width: 100%;
}

.pfi-learning-step-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-learning-step {
  padding: 2.6rem;
  position: relative;
}

.pfi-learning-photo-band {
  min-height: 48rem;
  overflow: hidden;
  position: relative;
}

.pfi-learning-photo-band::after {
  background: linear-gradient(90deg, rgba(1, 11, 19, 0.92), rgba(0, 66, 90, 0.68), rgba(1, 11, 19, 0.08));
  content: "";
  inset: 0;
  position: absolute;
}

.pfi-learning-photo-band img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

@media (min-width: 768px) {
  body.page-id-2159 .pfi-learning-photo-band img {
    object-position: center 62%;
  }
}

.pfi-learning-photo-band__content {
  color: #fff;
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  padding: clamp(6rem, 8vw, 9rem) var(--space-m, 2rem);
  position: relative;
  z-index: 1;
}

.pfi-learning-photo-band__content h2 {
  color: #fff;
  max-width: 72rem;
}

.pfi-learning-photo-band__content p {
  color: rgba(255, 255, 255, 0.8);
  margin-left: 0;
  max-width: 66rem;
}

.pfi-learning-next-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-learning-next {
  color: #52637a;
  display: flex;
  flex-direction: column;
  padding: 2.4rem;
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.pfi-learning-next strong {
  color: var(--pfi-primary-navy);
  font-size: 2rem;
  font-weight: 850;
  line-height: 1.15;
  margin-bottom: 0.8rem;
}

.pfi-learning-next span:not(.pfi-learning-next__icon-wrap) {
  font-size: 1.48rem;
  line-height: 1.55;
}

.pfi-learning-next:hover,
.pfi-learning-next:focus {
  border-color: rgba(37, 99, 235, 0.32);
  box-shadow: 0 1.8rem 4.4rem rgba(1, 11, 19, 0.12);
  transform: translateY(-0.25rem);
}

.pfi-learning-faq {
  display: grid;
  gap: 1.2rem;
  margin: 4rem auto 0;
  max-width: 92rem;
}

.pfi-learning-faq details {
  padding: 2rem 2.2rem;
}

.pfi-learning-faq summary {
  color: var(--pfi-primary-navy);
  cursor: pointer;
  font-size: 1.7rem;
  font-weight: 850;
}

.pfi-learning-faq p {
  color: #52637a;
  font-size: 1.55rem;
  line-height: 1.62;
  margin: 1rem 0 0;
}

@media (max-width: 1180px) {
  .pfi-learning-basic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pfi-learning-heading--split,
  .pfi-learning-feature {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .pfi-learning-hero,
  .pfi-learning-section {
    padding: 5.4rem 2rem;
  }

  .pfi-learning-hero {
    align-items: stretch;
    background: #053142 !important;
    display: grid;
    grid-template-rows: minmax(25rem, 42svh) minmax(0, 1fr);
    min-height: calc(100svh - 7.4rem);
    padding: 0;
  }

  .pfi-learning-hero::before {
    background-image:
      linear-gradient(180deg, rgba(1, 18, 30, 0.02) 0%, rgba(1, 18, 30, 0.2) 100%),
      var(--pfi-learning-hero-photo-mobile, var(--pfi-learning-hero-photo));
    background-position: center;
    background-size: cover;
    content: "";
    display: block;
    min-height: clamp(25rem, 42svh, 35rem);
    width: 100%;
  }

  .pfi-learning-hero::after {
    display: none;
  }

  .pfi-learning-hero__inner {
    margin-inline: 0;
    max-width: 38rem;
    padding: clamp(2.8rem, 7vw, 3.4rem) 2rem clamp(3.6rem, 9vw, 4.8rem);
  }

  .pfi-learning-kicker {
    font-size: 1.05rem;
    letter-spacing: 0.1em;
    margin-bottom: 0.9rem;
  }

  .pfi-learning-hero__title {
    font-size: clamp(3.35rem, 9vw, 3.85rem);
    line-height: 1.05;
    max-width: 12em;
  }

  .pfi-learning-hero__text {
    font-size: 1.5rem;
    line-height: 1.55;
    margin-top: 1.7rem;
  }

  .pfi-learning-hero__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 0.9rem;
    margin-top: 2.1rem;
    max-width: 34rem;
    width: min(34rem, calc(100vw - 4rem));
  }

  .pfi-learning-button {
    border-radius: 1.2rem;
    box-sizing: border-box;
    min-height: 4.4rem;
    padding: 1.2rem 1.6rem;
    text-align: center;
    white-space: normal;
    width: 100%;
  }

  .pfi-learning-basic-grid,
  .pfi-learning-step-grid,
  .pfi-learning-next-grid {
    grid-template-columns: 1fr;
  }

  .pfi-learning-photo-band {
    min-height: 42rem;
  }

  .pfi-learning-photo-band::after {
    background: linear-gradient(180deg, rgba(1, 11, 19, 0.9), rgba(0, 66, 90, 0.72));
  }
}

/* ==========================================================================
   PFI Rules of Padel Overview
   ========================================================================== */

.pfi-rules-overview {
  background: #f5f8fb;
  color: var(--pfi-primary-navy);
}

.pfi-rules-overview-hero {
  align-items: center;
  background-image: var(--pfi-rules-overview-hero-image);
  background-position: center;
  background-size: cover;
  color: #fff;
  display: flex;
  min-height: 70vh;
  padding: clamp(7rem, 10vw, 12rem) var(--space-m, 2rem);
  position: relative;
}

@media (min-width: 768px) {
  .pfi-rules-overview-hero {
    min-height: calc(100vh - 11.2rem);
    min-height: calc(100svh - 11.2rem);
  }
}

.pfi-rules-overview-hero::after {
  background:
    linear-gradient(180deg, transparent 58%, rgba(1, 11, 19, 0.58));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.pfi-rules-overview-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  position: relative;
  width: 100%;
  z-index: 1;
}

.pfi-rules-overview-hero__inner {
  max-width: var(--max-screen-width, 1300px);
}

.pfi-rules-overview-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.22rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-rules-overview-hero h1 {
  color: #fff;
  font-size: clamp(4.6rem, 5.6vw, 6.2rem);
  font-weight: 850;
  line-height: 1.04;
  margin: 0;
  max-width: 88rem;
}

.pfi-rules-overview-hero p:not(.pfi-rules-overview-kicker) {
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1.7rem, 1.7vw, 2.05rem);
  line-height: 1.6;
  margin: 2.2rem 0 0;
  max-width: 72rem;
}

.pfi-rules-overview-hero__actions,
.pfi-rules-overview-download__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 3rem;
}

.pfi-rules-overview-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 1.4rem;
  display: inline-flex;
  font-size: 1.48rem;
  font-weight: 800;
  justify-content: center;
  line-height: 1;
  min-height: 4.6rem;
  padding: 1.35rem 2rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
  white-space: nowrap;
}

.pfi-rules-overview-button:hover,
.pfi-rules-overview-button:focus {
  transform: translateY(-0.2rem);
}

.pfi-rules-overview-button--lime {
  background: var(--pfi-accent-lime) !important;
  color: var(--pfi-surface-dark) !important;
  -webkit-text-fill-color: var(--pfi-surface-dark);
}

.pfi-rules-overview-button--ghost {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.34);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.pfi-rules-overview-section {
  padding: clamp(6rem, 8vw, 9rem) var(--space-m, 2rem);
}

.pfi-rules-overview-section--library,
.pfi-rules-overview-section--next {
  background: #fff;
}

.pfi-rules-overview-section--light {
  background: #f5f8fb;
  border-block: 1px solid #dfe7ef;
}

.pfi-rules-overview-section--dark {
  background: linear-gradient(135deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-portal-bg) 52%, var(--pfi-primary-navy) 100%);
  color: #fff;
}

.pfi-rules-overview-heading {
  margin: 0 auto clamp(3.4rem, 4vw, 4.8rem);
  max-width: 82rem;
  text-align: center;
}

.pfi-rules-overview-heading h2,
.pfi-rules-overview-download h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3.4rem, 4vw, 4.8rem);
  font-weight: 850;
  line-height: 1.08;
  margin: 0;
}

.pfi-rules-overview-heading p:not(.pfi-rules-overview-kicker),
.pfi-rules-overview-download p {
  color: #52637a;
  font-size: 1.7rem;
  line-height: 1.64;
  margin: 1.4rem auto 0;
  max-width: 76rem;
}

.pfi-rules-overview-card-grid {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-rules-overview-next-grid {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-rules-overview-card,
.pfi-rules-overview-next-grid a {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.07);
  padding: 2.4rem;
}

.pfi-rules-overview-card__icon-wrap,
.pfi-rules-overview-next-grid__icon-wrap {
  align-items: center;
  background: rgba(56, 189, 248, 0.11);
  border: 1px solid rgba(37, 99, 235, 0.13);
  border-radius: 1.2rem;
  color: var(--pfi-action-blue);
  display: inline-flex;
  height: 5rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5rem;
}

.pfi-rules-overview-card__icon,
.pfi-rules-overview-next-grid__icon {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-rules-overview-card h3 {
  color: var(--pfi-primary-navy);
  font-size: 2.1rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-rules-overview-card p {
  color: #52637a;
  font-size: 1.46rem;
  line-height: 1.55;
  margin: 1.1rem 0 0;
}

.pfi-rules-tabs {
  align-items: start;
  display: grid;
  gap: 2.4rem;
  grid-template-columns: minmax(22rem, 28rem) minmax(0, 1fr);
}

.pfi-rules-tabs__nav {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 0.8rem;
  box-shadow: 0 1rem 2.8rem rgba(15, 23, 42, 0.07);
  display: grid;
  gap: 0.6rem;
  padding: 1rem;
  position: sticky;
  top: calc(var(--wp-admin--admin-bar--height, 0px) + 10rem);
}

.pfi-rules-tabs__tab {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0.6rem;
  color: var(--pfi-primary-navy);
  cursor: pointer;
  display: flex;
  font: inherit;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.2;
  min-height: 4.8rem;
  padding: 1.2rem 1.4rem;
  text-align: left;
  transition: background-color 160ms ease, color 160ms ease;
  width: 100%;
}

.pfi-rules-tabs__tab:hover,
.pfi-rules-tabs__tab:focus,
.pfi-rules-tabs__tab.is-active,
.pfi-rules-tabs__tab[aria-selected="true"] {
  background: var(--pfi-soft-accent-blue);
  color: #fff;
  outline: none;
}

.pfi-rules-tabs__panel {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.6rem;
  box-shadow: 0 1.6rem 4rem rgba(1, 11, 19, 0.08);
  padding: clamp(2.4rem, 4vw, 4rem);
}

.pfi-rules-tabs__panel[hidden] {
  display: none;
}

.pfi-rules-tabs__panel h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 4vw, 4.4rem);
  font-weight: 850;
  line-height: 1.08;
  margin: 0;
}

.pfi-rules-tabs__intro {
  color: #52637a;
  font-size: 1.72rem;
  line-height: 1.64;
  margin: 1.4rem 0 0;
  max-width: 82rem;
}

.pfi-rules-tabs__facts {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 2.6rem;
}

.pfi-rules-tabs__facts div {
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1.2rem;
  padding: 1.5rem;
}

.pfi-rules-tabs__facts strong {
  color: var(--pfi-soft-accent-blue);
  display: block;
  font-size: 1.9rem;
  font-weight: 850;
  line-height: 1.15;
}

.pfi-rules-tabs__facts span {
  color: #52637a;
  display: block;
  font-size: 1.25rem;
  font-weight: 750;
  line-height: 1.35;
  margin-top: 0.4rem;
}

.pfi-rules-tabs__columns {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 2rem;
}

.pfi-rules-tabs__card,
.pfi-rules-tabs__guide {
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1.2rem;
  padding: 2rem;
}

.pfi-rules-tabs__card h3,
.pfi-rules-tabs__guide h3 {
  color: var(--pfi-primary-navy);
  font-size: 1.85rem;
  font-weight: 850;
  line-height: 1.18;
  margin: 0 0 1.2rem;
}

.pfi-rules-tabs__card ul {
  display: grid;
  gap: 0.8rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pfi-rules-tabs__card li {
  color: #52637a;
  font-size: 1.45rem;
  line-height: 1.48;
  padding-left: 1.8rem;
  position: relative;
}

.pfi-rules-tabs__card li::before {
  background: var(--pfi-action-blue);
  border-radius: 999px;
  content: "";
  height: 0.6rem;
  left: 0;
  position: absolute;
  top: 0.8rem;
  width: 0.6rem;
}

.pfi-rules-tabs__guide {
  display: grid;
  gap: 1.4rem;
  margin-top: 2rem;
}

.pfi-rules-tabs__guide h3 {
  margin-bottom: 0;
}

.pfi-rules-tabs__guide article {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1rem;
  padding: 1.6rem;
}

.pfi-rules-tabs__guide h4 {
  color: var(--pfi-primary-navy);
  font-size: 1.62rem;
  font-weight: 850;
  line-height: 1.2;
  margin: 0 0 0.7rem;
}

.pfi-rules-tabs__guide p {
  color: #52637a;
  font-size: 1.46rem;
  line-height: 1.55;
  margin: 0;
}

.pfi-rules-tabs__detail-link {
  align-items: center;
  background: var(--pfi-soft-accent-blue);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 1.45rem;
  font-weight: 850;
  justify-content: center;
  margin-top: 2.2rem;
  min-height: 4.2rem;
  padding: 1.1rem 1.8rem;
  text-decoration: none;
}

.pfi-rules-tabs__detail-link:hover,
.pfi-rules-tabs__detail-link:focus {
  background: color-mix(in srgb, var(--pfi-soft-accent-blue) 84%, var(--pfi-primary-navy));
  color: #fff;
}

.pfi-rules-accordion {
  display: none;
}

.pfi-rules-overview-section--library .pfi-rules-nav-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pfi-rules-overview-download {
  align-items: center;
  display: grid;
  gap: 3rem;
  grid-template-columns: minmax(0, 1fr) auto;
}

.pfi-rules-overview-download h2 {
  color: #fff;
}

.pfi-rules-overview-download p {
  color: rgba(255, 255, 255, 0.78);
  margin-left: 0;
}

.pfi-rules-overview-download__actions {
  justify-content: flex-end;
  margin-top: 0;
}

.pfi-rules-overview-next-grid a {
  color: #52637a;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.pfi-rules-overview-next-grid strong {
  color: var(--pfi-primary-navy);
  font-size: 2rem;
  font-weight: 850;
  line-height: 1.15;
  margin-bottom: 0.8rem;
}

.pfi-rules-overview-next-grid span:not(.pfi-rules-overview-next-grid__icon-wrap) {
  font-size: 1.48rem;
  line-height: 1.55;
}

.pfi-rules-overview-next-grid a:hover,
.pfi-rules-overview-next-grid a:focus {
  border-color: rgba(37, 99, 235, 0.32);
  box-shadow: 0 1.8rem 4.4rem rgba(1, 11, 19, 0.12);
  transform: translateY(-0.25rem);
}

@media (max-width: 1180px) {
  .pfi-rules-overview-card-grid,
  .pfi-rules-overview-next-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pfi-rules-overview-section--library .pfi-rules-nav-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pfi-rules-overview-download {
    grid-template-columns: 1fr;
  }

  .pfi-rules-overview-download__actions {
    justify-content: flex-start;
  }

  .pfi-rules-tabs {
    display: block;
  }

  .pfi-rules-tabs__nav,
  .pfi-rules-tabs__panels {
    display: none;
  }

  .pfi-rules-accordion {
    display: grid;
    gap: 1.2rem;
  }

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

  .pfi-rules-accordion__item {
    background: #fff;
    border: 1px solid rgba(0, 66, 90, 0.1);
    border-radius: 1.2rem;
    box-shadow: 0 1.2rem 3rem rgba(1, 11, 19, 0.07);
    overflow: hidden;
  }

  .pfi-rules-accordion__item summary {
    align-items: start;
    color: var(--pfi-primary-navy);
    cursor: pointer;
    display: grid;
    font-size: 1.62rem;
    font-weight: 850;
    gap: 1.2rem;
    grid-template-columns: minmax(0, 1fr) auto;
    line-height: 1.25;
    list-style: none;
    min-height: 5.8rem;
    padding: 1.7rem 1.9rem;
  }

  .pfi-rules-accordion__item summary::-webkit-details-marker {
    display: none;
  }

  .pfi-rules-accordion__item summary::after {
    color: var(--pfi-soft-accent-blue);
    content: "+";
    font-size: 1.9rem;
    font-weight: 900;
    line-height: 1.1;
    margin-top: 0.02rem;
  }

  .pfi-rules-accordion__item[open] summary {
    background: #f5f8fb;
  }

  .pfi-rules-accordion__item[open] summary::after {
    content: "-";
  }

  .pfi-rules-accordion__content {
    padding: 0 1.9rem 1.9rem;
  }

  .pfi-rules-accordion__content .pfi-rules-tabs__intro {
    font-size: 1.6rem;
    line-height: 1.6;
    margin-top: 1.6rem;
  }

  .pfi-rules-accordion__content .pfi-rules-tabs__facts {
    margin-top: 1.8rem;
  }

  .pfi-rules-accordion__content .pfi-rules-tabs__card,
  .pfi-rules-accordion__content .pfi-rules-tabs__guide {
    padding: 1.6rem;
  }

  .pfi-rules-accordion__content .pfi-rules-tabs__detail-link {
    border-radius: 0.8rem;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .pfi-rules-overview-hero,
  .pfi-rules-overview-section {
    padding: 6rem 2rem;
  }

  .pfi-rules-overview-hero {
    align-items: stretch;
    background: #053142 !important;
    display: grid;
    grid-template-rows: minmax(25rem, 42svh) minmax(0, 1fr);
    min-height: calc(100svh - 7.4rem);
    padding: 0;
  }

  .pfi-rules-overview-hero::before {
    background-image:
      linear-gradient(180deg, rgba(1, 18, 30, 0.02) 0%, rgba(1, 18, 30, 0.2) 100%),
      var(--pfi-rules-overview-hero-photo-mobile, var(--pfi-rules-overview-hero-photo));
    background-position: center;
    background-size: cover;
    content: "";
    display: block;
    min-height: clamp(25rem, 42svh, 35rem);
    width: 100%;
  }

  .pfi-rules-overview-hero::after {
    display: none;
  }

  .pfi-rules-overview-hero__inner {
    margin-inline: 0;
    max-width: 38rem;
    padding: clamp(2.8rem, 7vw, 3.4rem) 2rem clamp(3.6rem, 9vw, 4.8rem);
  }

  .pfi-rules-overview-hero h1 {
    font-size: clamp(2.55rem, 6.55vw, 2.8rem);
  }

  .pfi-rules-overview-hero__actions,
  .pfi-rules-overview-download__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pfi-rules-overview-button {
    border-radius: 1.2rem;
    box-sizing: border-box;
    min-height: 4.4rem;
    padding: 1.2rem 1.6rem;
    text-align: center;
    white-space: normal;
    width: 100%;
  }

  .pfi-rules-overview-card-grid,
  .pfi-rules-overview-next-grid,
  .pfi-rules-overview-section--library .pfi-rules-nav-grid {
    grid-template-columns: 1fr;
  }

  .pfi-rules-tabs__facts,
  .pfi-rules-tabs__columns {
    grid-template-columns: 1fr;
  }

  .pfi-rules-accordion__item summary {
    font-size: 1.58rem;
    min-height: 5.6rem;
    padding: 1.6rem 1.8rem;
  }

  .pfi-rules-accordion__content {
    padding: 0 1.8rem 1.8rem;
  }

  .pfi-rules-accordion__content .pfi-rules-tabs__intro {
    font-size: 1.55rem;
    line-height: 1.58;
    margin-top: 1.6rem;
  }

  .pfi-rules-accordion__content .pfi-rules-tabs__facts {
    margin-top: 1.8rem;
  }

  .pfi-rules-accordion__content .pfi-rules-tabs__card,
  .pfi-rules-accordion__content .pfi-rules-tabs__guide {
    padding: 1.6rem;
  }

  .pfi-rules-accordion__content .pfi-rules-tabs__detail-link {
    border-radius: 0.8rem;
    width: 100%;
  }
}

/* ==========================================================================
   PFI Coaching Hub
   ========================================================================== */

.pfi-coaching-hub {
  background: #f4f7f8;
  color: var(--pfi-primary-navy);
  overflow: hidden;
}

.pfi-coaching-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  position: relative;
  width: 100%;
  z-index: 1;
}

.pfi-coaching-intro {
  background:
    linear-gradient(135deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-portal-bg) 52%, var(--pfi-primary-navy) 100%);
  color: var(--pfi-portal-text);
  padding: 8rem var(--space-m, 2rem) 7rem;
}

.pfi-coaching-intro__grid {
  align-items: stretch;
  display: grid;
  gap: 3rem;
  grid-template-columns: minmax(0, 1.08fr) minmax(34rem, 0.58fr);
}

.pfi-coaching-intro__copy {
  align-self: center;
  max-width: 82rem;
}

.pfi-coaching-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.18rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin: 0 0 1.1rem;
  text-transform: uppercase;
}

.pfi-coaching-intro__title {
  color: #fff;
  font-size: 6.2rem;
  font-weight: 850;
  line-height: 1;
  margin: 0;
  max-width: 78rem;
}

.pfi-coaching-intro__text {
  color: color-mix(in srgb, var(--pfi-portal-text) 80%, transparent);
  font-size: 1.92rem;
  line-height: 1.58;
  margin: 2rem 0 0;
  max-width: 72rem;
}

.pfi-coaching-intro__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 2.8rem;
}

.pfi-coaching-command {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 82%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2.8rem 7rem rgba(0, 0, 0, 0.24);
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  padding: 1.6rem;
}

.pfi-coaching-command__header {
  align-items: flex-end;
  border-bottom: 1px solid rgba(224, 224, 224, 0.14);
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding-bottom: 1.4rem;
}

.pfi-coaching-command__header span {
  color: var(--pfi-accent-lime);
  font-size: 1.1rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pfi-coaching-command__header strong {
  color: #fff;
  font-size: 1.7rem;
  line-height: 1.1;
  text-align: right;
}

.pfi-coaching-command__routes {
  display: grid;
  gap: 1rem;
}

.pfi-coaching-route {
  align-items: center;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(224, 224, 224, 0.12);
  border-radius: 0.7rem;
  color: #fff;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 4.6rem minmax(0, 1fr);
  min-height: 7.4rem;
  padding: 1.2rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.pfi-coaching-route:hover,
.pfi-coaching-route:focus {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(191, 255, 0, 0.34);
  color: #fff;
  transform: translateY(-0.2rem);
}

.pfi-coaching-route__mark {
  align-items: center;
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.24);
  border-radius: 0.7rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  height: 4.6rem;
  justify-content: center;
  width: 4.6rem;
}

.pfi-coaching-route__icon {
  height: 2.4rem;
  width: 2.4rem;
}

.pfi-coaching-route strong,
.pfi-coaching-route small {
  display: block;
}

.pfi-coaching-route strong {
  color: #fff;
  font-size: 1.52rem;
  line-height: 1.2;
}

.pfi-coaching-route small {
  color: color-mix(in srgb, var(--pfi-portal-text) 66%, transparent);
  font-size: 1.24rem;
  line-height: 1.38;
  margin-top: 0.25rem;
}

.pfi-coaching-button,
.pfi-coaching-card__link {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 0.7rem;
  display: inline-flex;
  font-size: 1.48rem;
  font-weight: 800;
  justify-content: center;
  line-height: 1;
  min-height: 4.6rem;
  padding: 1.35rem 2rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
  white-space: nowrap;
}

.pfi-coaching-button:hover,
.pfi-coaching-button:focus,
.pfi-coaching-card__link:hover,
.pfi-coaching-card__link:focus {
  transform: translateY(-0.2rem);
}

.pfi-coaching-button--lime {
  background: var(--pfi-accent-lime) !important;
  color: var(--pfi-surface-dark) !important;
  -webkit-text-fill-color: var(--pfi-surface-dark);
}

.pfi-coaching-button--ghost {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.34);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.pfi-coaching-button--blue,
.pfi-coaching-card__link {
  background: var(--pfi-action-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.pfi-coaching-find,
.pfi-coaching-compliance {
  background: #f4f7f8;
  padding: 7.5rem var(--space-m, 2rem);
}

.pfi-coaching-pathway,
.pfi-coaching-standards {
  background:
    linear-gradient(180deg, var(--pfi-portal-bg) 0%, var(--pfi-portal-bg-deep) 100%);
  color: #fff;
  padding: 7.5rem var(--space-m, 2rem);
}

.pfi-coaching-section-heading {
  margin: 0 auto 4.2rem;
  max-width: 78rem;
  text-align: center;
}

.pfi-coaching-section-title {
  color: var(--pfi-primary-navy);
  font-size: 4.2rem;
  font-weight: 850;
  line-height: 1.08;
  margin: 0;
}

.pfi-coaching-section-text {
  color: #52637a;
  font-size: 1.72rem;
  line-height: 1.64;
  margin: 1.4rem auto 0;
  max-width: 72rem;
}

.pfi-coaching-section-heading--light .pfi-coaching-section-title,
.pfi-coaching-section-heading--light .pfi-coaching-section-text,
.pfi-coaching-standards .pfi-coaching-section-title,
.pfi-coaching-standards .pfi-coaching-section-text {
  color: #fff;
}

.pfi-coaching-section-heading--light .pfi-coaching-section-text,
.pfi-coaching-standards .pfi-coaching-section-text {
  color: rgba(255, 255, 255, 0.78);
}

.pfi-coaching-find .pfi-coaching-kicker,
.pfi-coaching-compliance .pfi-coaching-kicker {
  color: var(--pfi-action-blue);
}

.pfi-coaching-card-grid {
  display: grid;
  gap: 1.8rem;
}

.pfi-coaching-card-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pfi-coaching-card-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-coaching-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.08);
  display: flex;
  flex-direction: column;
  min-height: 29rem;
  padding: 2.3rem;
}

.pfi-coaching-card__icon-wrap {
  align-items: center;
  background: rgba(56, 189, 248, 0.11);
  border: 1px solid rgba(37, 99, 235, 0.13);
  border-radius: 0.7rem;
  color: var(--pfi-action-blue);
  display: inline-flex;
  height: 5rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5rem;
}

.pfi-coaching-card__icon {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-coaching-card__title {
  color: var(--pfi-primary-navy);
  font-size: 2.1rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-coaching-card__text {
  color: #52637a;
  font-size: 1.46rem;
  line-height: 1.55;
  margin: 1.1rem 0 2rem;
}

.pfi-coaching-card__link {
  margin-top: auto;
  min-height: 4rem;
  padding: 1.1rem 1.5rem;
  width: max-content;
}

.pfi-coaching-pathway-stack {
  display: grid;
  gap: 2rem;
}

.pfi-coaching-pathway-band {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 84%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.25);
  display: grid;
  grid-template-columns: minmax(28rem, 0.76fr) minmax(0, 1fr);
  overflow: hidden;
}

.pfi-coaching-pathway-band--reverse .pfi-coaching-pathway-band__media {
  order: 2;
}

.pfi-coaching-pathway-band__media {
  background-position: center;
  background-size: cover;
  min-height: 32rem;
}

.pfi-coaching-pathway-band__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3.2rem;
}

.pfi-coaching-pathway-band__icon-wrap {
  align-items: center;
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.24);
  border-radius: 0.7rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  height: 5.2rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5.2rem;
}

.pfi-coaching-pathway__icon {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-coaching-pathway-band__kicker {
  color: var(--pfi-tertiary-sky);
  font-size: 1.15rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.pfi-coaching-pathway-band__title {
  color: #fff;
  font-size: 3.3rem;
  font-weight: 850;
  line-height: 1.1;
  margin: 0;
}

.pfi-coaching-pathway-band__text {
  color: color-mix(in srgb, var(--pfi-portal-text) 76%, transparent);
  font-size: 1.62rem;
  line-height: 1.6;
  margin: 1.3rem 0 2rem;
  max-width: 60rem;
}

.pfi-coaching-standards__inner {
  align-items: center;
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.1fr);
}

.pfi-coaching-standards__content {
  max-width: 60rem;
}

.pfi-coaching-standards__links {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 1fr;
}

.pfi-coaching-card--compact {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(224, 224, 224, 0.16);
  box-shadow: none;
  min-height: 0;
}

.pfi-coaching-card--compact .pfi-coaching-card__icon-wrap {
  background: rgba(191, 255, 0, 0.1);
  border-color: rgba(191, 255, 0, 0.22);
  color: var(--pfi-accent-lime);
}

.pfi-coaching-card--compact .pfi-coaching-card__title,
.pfi-coaching-card--compact .pfi-coaching-card__text {
  color: #fff;
}

.pfi-coaching-card--compact .pfi-coaching-card__text {
  color: rgba(255, 255, 255, 0.76);
}

@media (max-width: 1180px) {
  .pfi-coaching-intro__grid {
    grid-template-columns: 1fr;
  }

  .pfi-coaching-card-grid--four,
  .pfi-coaching-standards__inner {
    grid-template-columns: 1fr;
  }

  .pfi-coaching-standards__links {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .pfi-coaching-intro__title {
    font-size: 5rem;
  }

  .pfi-coaching-card-grid--two,
  .pfi-coaching-pathway-band,
  .pfi-coaching-pathway-band--reverse {
    grid-template-columns: 1fr;
  }

  .pfi-coaching-pathway-band--reverse .pfi-coaching-pathway-band__media {
    order: 0;
  }
}

@media (max-width: 767px) {
  .pfi-coaching-intro,
  .pfi-coaching-find,
  .pfi-coaching-pathway,
  .pfi-coaching-compliance,
  .pfi-coaching-standards {
    padding: 5.6rem 2rem;
  }

  .pfi-coaching-intro__title {
    font-size: 4rem;
  }

  .pfi-coaching-intro__text {
    font-size: 1.68rem;
  }

  .pfi-coaching-intro__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pfi-coaching-button,
  .pfi-coaching-card__link {
    width: 100%;
  }

  .pfi-coaching-section-heading {
    margin-bottom: 3.2rem;
  }

  .pfi-coaching-section-title {
    font-size: 3.35rem;
  }

  .pfi-coaching-card-grid--two,
  .pfi-coaching-card-grid--four,
  .pfi-coaching-standards__links {
    grid-template-columns: 1fr;
  }

  .pfi-coaching-card {
    min-height: 0;
  }

  .pfi-coaching-pathway-band__media {
    min-height: 22rem;
  }

  .pfi-coaching-pathway-band__content {
    padding: 2.2rem;
  }

  .pfi-coaching-pathway-band__title {
    font-size: 2.8rem;
  }

  .pfi-coaching-command__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
  }

  .pfi-coaching-command__header strong {
    text-align: left;
  }
}


@media (max-width: 480px) {
  .pfi-coaching-intro__title {
    font-size: 3.55rem;
  }

  .pfi-coaching-route {
    grid-template-columns: 4rem minmax(0, 1fr);
  }

  .pfi-coaching-route__mark {
    height: 4rem;
    width: 4rem;
  }
}

/* ==========================================================================
   PFI Coaching Courses Page
   ========================================================================== */

.pfi-course {
  background: #fff;
  color: var(--pfi-primary-navy);
}

.pfi-course-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  position: relative;
  width: 100%;
  z-index: 1;
}

.pfi-course-hero {
  align-items: center;
  background-image: var(--pfi-course-hero-image);
  background-position: center;
  background-size: cover;
  color: #fff;
  display: flex;
  min-height: 72vh;
  padding: clamp(7rem, 10vw, 12rem) var(--space-m, 2rem);
  position: relative;
}

.pfi-course-hero::after {
  background:
    linear-gradient(180deg, transparent 52%, rgba(1, 11, 19, 0.52));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.pfi-course-hero__inner {
  max-width: var(--max-screen-width, 1300px);
}

.pfi-course-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.25rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-course-hero__title {
  color: #fff;
  font-size: clamp(4.6rem, 5.4vw, 6.2rem);
  font-weight: 850;
  line-height: 0.98;
  margin: 0;
  max-width: 86rem;
}

.pfi-course-hero__text {
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1.7rem, 1.7vw, 2.05rem);
  line-height: 1.58;
  margin: 2.2rem 0 0;
  max-width: 72rem;
}

.pfi-course-hero__actions,
.pfi-course-cta__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 3rem;
}

.pfi-course-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 1.4rem;
  display: inline-flex;
  font-size: 1.48rem;
  font-weight: 800;
  justify-content: center;
  line-height: 1;
  min-height: 4.6rem;
  padding: 1.35rem 2rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
  white-space: nowrap;
}

.pfi-course-button:hover,
.pfi-course-button:focus {
  transform: translateY(-0.2rem);
}

.pfi-course-button--lime {
  background: var(--pfi-accent-lime) !important;
  color: var(--pfi-surface-dark) !important;
  -webkit-text-fill-color: var(--pfi-surface-dark);
}

.pfi-course-button--ghost {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.34);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.pfi-course-button--secondary,
.pfi-course-button--card {
  background: var(--pfi-action-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.pfi-course-button--card {
  font-size: 1.36rem;
  min-height: 4.1rem;
  padding: 1.05rem 1.55rem;
}

.pfi-course-intro,
.pfi-course-process,
.pfi-course-cta {
  background: #fff;
  padding: clamp(6rem, 8vw, 9rem) var(--space-m, 2rem);
}

.pfi-course-levels {
  background: #f5f8fb;
  padding: clamp(6rem, 8vw, 9rem) var(--space-m, 2rem);
}

.pfi-course-requirements {
  background: linear-gradient(135deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-portal-bg) 52%, var(--pfi-primary-navy) 100%);
  color: #fff;
  padding: clamp(6rem, 8vw, 9rem) var(--space-m, 2rem);
}

.pfi-course-intro__grid,
.pfi-course-process__grid,
.pfi-course-cta__inner {
  align-items: center;
  display: grid;
  gap: clamp(3rem, 5vw, 6rem);
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.pfi-course-intro__content h2,
.pfi-course-heading h2,
.pfi-course-process__content h2,
.pfi-course-cta h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3.4rem, 4vw, 4.6rem);
  font-weight: 850;
  line-height: 1.08;
  margin: 0;
}

.pfi-course-intro__content p:not(.pfi-course-kicker),
.pfi-course-heading p:not(.pfi-course-kicker),
.pfi-course-process__content > p:not(.pfi-course-kicker),
.pfi-course-cta p {
  color: #52637a;
  font-size: 1.7rem;
  line-height: 1.64;
  margin: 1.4rem 0 0;
}

.pfi-course-value-grid {
  display: grid;
  gap: 1.4rem;
}

.pfi-course-value-grid article,
.pfi-course-level-card,
.pfi-course-requirement {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.08);
}

.pfi-course-value-grid article {
  display: grid;
  align-items: start;
  gap: 0.75rem 1.6rem;
  grid-template-columns: auto 1fr;
  padding: 2rem;
}

.pfi-course-value__icon {
  color: var(--pfi-action-blue);
  grid-row: span 2;
  height: 3.4rem;
  margin-bottom: 0.25rem;
  width: 3.4rem;
}

.pfi-course-value-grid h3,
.pfi-course-level-card h3,
.pfi-course-requirement h3 {
  color: var(--pfi-primary-navy);
  font-size: 2rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-course-value-grid p,
.pfi-course-level-card p,
.pfi-course-requirement p {
  color: #52637a;
  font-size: 1.46rem;
  line-height: 1.55;
  margin: 0.6rem 0 0;
}

.pfi-course-heading {
  margin: 0 auto clamp(3.4rem, 4vw, 4.8rem);
  max-width: 78rem;
  text-align: center;
}

.pfi-course-heading--light h2,
.pfi-course-heading--light p:not(.pfi-course-kicker) {
  color: #fff;
}

.pfi-course-heading--light p:not(.pfi-course-kicker) {
  color: rgba(255, 255, 255, 0.78);
}

.pfi-course-level-grid {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-course-level-card {
  display: flex;
  flex-direction: column;
  min-height: 38rem;
  padding: 2.3rem;
}

.pfi-course-level-card__top {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 2.2rem;
}

.pfi-course-level-card__badge {
  background: rgba(56, 189, 248, 0.12);
  border-radius: 999px;
  color: var(--pfi-action-blue);
  font-size: 1.12rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  padding: 0.65rem 1rem;
  text-transform: uppercase;
}

.pfi-course-level-card__icon {
  align-items: center;
  background: rgba(191, 255, 0, 0.14);
  border-radius: 1.2rem;
  color: var(--pfi-primary-navy);
  display: inline-flex;
  height: 5rem;
  justify-content: center;
  width: 5rem;
}

.pfi-course-level-card__svg {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-course-level-card ul {
  color: #52637a;
  display: grid;
  font-size: 1.42rem;
  gap: 0.7rem;
  line-height: 1.45;
  list-style: none;
  margin: 1.5rem 0 2rem;
  padding: 0;
}

.pfi-course-level-card li {
  padding-left: 1.7rem;
  position: relative;
}

.pfi-course-level-card li::before {
  background: var(--pfi-accent-lime);
  border-radius: 999px;
  content: "";
  height: 0.65rem;
  left: 0;
  position: absolute;
  top: 0.75rem;
  width: 0.65rem;
}

.pfi-course-level-card .pfi-course-button {
  margin-top: auto;
  width: max-content;
}

.pfi-course-process__image img {
  aspect-ratio: 4 / 3;
  border-radius: 1.6rem;
  box-shadow: 0 2rem 5rem rgba(1, 11, 19, 0.16);
  display: block;
  object-fit: cover;
  width: 100%;
}

.pfi-course-steps {
  counter-reset: course-steps;
  display: grid;
  gap: 1.2rem;
  list-style: none;
  margin: 2.4rem 0 0;
  padding: 0;
}

.pfi-course-steps li {
  align-items: start;
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.2rem;
  display: grid;
  gap: 0.3rem 1.4rem;
  grid-template-columns: 4.4rem minmax(0, 1fr);
  padding: 1.8rem;
}

.pfi-course-steps span {
  align-self: start;
  color: var(--pfi-action-blue);
  font-size: 1.25rem;
  font-weight: 900;
  grid-column: 1;
  grid-row: 1 / span 2;
  letter-spacing: 0.08em;
}

.pfi-course-steps strong {
  color: var(--pfi-primary-navy);
  font-size: 1.72rem;
  grid-column: 2;
  line-height: 1.2;
}

.pfi-course-steps p {
  color: #52637a;
  font-size: 1.44rem;
  grid-column: 2;
  line-height: 1.55;
  margin: 0;
}

.pfi-course-requirement-grid {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pfi-course-requirement {
  box-shadow: 0 1.6rem 4rem rgba(0, 0, 0, 0.24);
  color: inherit;
  display: flex;
  flex-direction: column;
  min-height: 24rem;
  padding: 2rem;
  text-decoration: none;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.pfi-course-requirement:hover,
.pfi-course-requirement:focus-visible {
  box-shadow: 0 1.9rem 4.6rem rgba(0, 0, 0, 0.28);
  transform: translateY(-0.2rem);
}

.pfi-course-requirement__icon {
  color: var(--pfi-action-blue);
  margin-bottom: 1.5rem;
}

.pfi-course-requirement__svg {
  height: 3.2rem;
  width: 3.2rem;
}

.pfi-course-requirement:focus-visible {
  outline: 3px solid rgba(191, 255, 0, 0.85);
  outline-offset: 0.4rem;
}

.pfi-course-cta__inner {
  background: var(--pfi-primary-navy);
  border-radius: 1.8rem;
  box-shadow: 0 1.8rem 4.6rem rgba(1, 11, 19, 0.16);
  color: #fff;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: clamp(3rem, 5vw, 5rem);
}

.pfi-course-cta h2,
.pfi-course-cta p {
  color: #fff;
}

.pfi-course-cta p {
  color: rgba(255, 255, 255, 0.78);
}

.pfi-course-cta__actions {
  justify-content: flex-end;
  margin-top: 0;
}

@media (max-width: 1180px) {
  .pfi-course-level-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pfi-course-requirement-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .pfi-course-intro__grid,
  .pfi-course-process__grid,
  .pfi-course-cta__inner {
    grid-template-columns: 1fr;
  }

  .pfi-course-cta__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .pfi-course-intro,
  .pfi-course-levels,
  .pfi-course-process,
  .pfi-course-requirements,
  .pfi-course-cta {
    padding: 5.4rem 2rem;
  }

  .pfi-course-hero {
    align-items: stretch;
    background: #053142 !important;
    display: grid;
    grid-template-rows: minmax(25rem, 42svh) minmax(0, 1fr);
    min-height: calc(100svh - 7.4rem);
    padding: 0;
  }

  .pfi-course-hero::before {
    background-image:
      linear-gradient(180deg, rgba(1, 18, 30, 0.02) 0%, rgba(1, 18, 30, 0.2) 100%),
      var(--pfi-course-hero-photo-mobile, var(--pfi-course-hero-photo));
    background-position: center;
    background-size: cover;
    content: "";
    display: block;
    min-height: clamp(25rem, 42svh, 35rem);
    width: 100%;
  }

  .pfi-course-hero::after {
    display: none;
  }

  .pfi-course-hero__inner {
    margin-inline: 0;
    max-width: 38rem;
    padding: clamp(2.8rem, 7vw, 3.4rem) 2rem clamp(3.6rem, 9vw, 4.8rem);
  }

  .pfi-course-hero__title {
    font-size: clamp(3.25rem, 9vw, 3.75rem);
    line-height: 1.04;
  }

  .pfi-course-hero__text {
    font-size: 1.5rem;
    line-height: 1.55;
    margin-top: 1.7rem;
  }

  .pfi-course-hero__actions,
  .pfi-course-cta__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 0.9rem;
    margin-top: 2.1rem;
  }

  .pfi-course-button,
  .pfi-course-level-card .pfi-course-button {
    border-radius: 1.2rem;
    min-height: 4.4rem;
    padding: 1.2rem 1.6rem;
    width: 100%;
  }

  .pfi-course-level-grid,
  .pfi-course-requirement-grid {
    grid-template-columns: 1fr;
  }

  .pfi-course-level-card,
  .pfi-course-requirement {
    min-height: 0;
  }

  .pfi-course-value-grid article {
    grid-template-columns: 1fr;
  }

  .pfi-course-value__icon {
    grid-row: auto;
  }
}

/* ==========================================================================
   PFI Coaching Support Pages
   ========================================================================== */

.pfi-support {
  background: #fff;
  color: var(--pfi-primary-navy);
}

.pfi-support-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  position: relative;
  width: 100%;
  z-index: 1;
}

.pfi-support-hero {
  align-items: center;
  background-image: var(--pfi-support-hero-image);
  background-position: center 26%;
  background-size: cover;
  color: #fff;
  display: flex;
  min-height: 58vh;
  padding: clamp(6rem, 8vw, 10rem) var(--space-m, 2rem);
  position: relative;
}

.pfi-support-hero::after {
  background:
    linear-gradient(180deg, transparent 56%, rgba(1, 11, 19, 0.5));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.pfi-support-hero__inner {
  max-width: var(--max-screen-width, 1300px);
}

.pfi-support-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.22rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin: 0 0 1.1rem;
  text-transform: uppercase;
}

.pfi-support-hero__title {
  color: #fff;
  font-size: clamp(4.2rem, 4.8vw, 6.2rem);
  font-weight: 850;
  line-height: 1;
  margin: 0;
  max-width: 88rem;
}

.pfi-support-hero__text {
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1.65rem, 1.6vw, 2rem);
  line-height: 1.6;
  margin: 2rem 0 0;
  max-width: 74rem;
}

.pfi-support-status {
  background: rgba(191, 255, 0, 0.14);
  border: 1px solid rgba(191, 255, 0, 0.32);
  border-radius: 1.2rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  font-size: 1.24rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  line-height: 1.25;
  margin-top: 2.4rem;
  padding: 0.8rem 1.2rem;
  text-transform: uppercase;
}

.pfi-support-summary,
.pfi-support-main,
.pfi-support-links,
.pfi-support-practical,
.pfi-support-next {
  background: #fff;
  padding: clamp(5.5rem, 7vw, 8rem) var(--space-m, 2rem);
}

.pfi-support-summary {
  background: #f5f8fb;
}

.pfi-support-section-heading {
  margin: 0 auto clamp(3rem, 4vw, 4.4rem);
  max-width: 82rem;
  text-align: center;
}

.pfi-support-section-heading h2,
.pfi-support-panel__title {
  color: var(--pfi-primary-navy);
  font-weight: 850;
  margin: 0;
}

.pfi-support-section-heading h2 {
  font-size: clamp(3rem, 3.6vw, 4.2rem);
  line-height: 1.08;
}

.pfi-support-section-heading p,
.pfi-support-links__inner header p {
  color: #52637a;
  font-size: 1.62rem;
  line-height: 1.62;
  margin: 1.2rem auto 0;
  max-width: 72rem;
}

.pfi-support-section-heading--dark h2,
.pfi-support-section-heading--dark p {
  color: #fff;
}

.pfi-support-section-heading--dark p {
  color: rgba(255, 255, 255, 0.78);
}

.pfi-support-summary__grid {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-support-card,
.pfi-support-panel,
.pfi-support-link-grid a {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.08);
}

.pfi-support-card {
  min-height: 24rem;
  padding: 2.4rem;
}

.pfi-support-card__icon {
  align-items: center;
  background: rgba(56, 189, 248, 0.12);
  border-radius: 1.2rem;
  color: var(--pfi-action-blue);
  display: inline-flex;
  height: 5rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5rem;
}

.pfi-support-card__svg {
  height: 2.8rem;
  width: 2.8rem;
}

.pfi-support-card h3,
.pfi-support-content h2,
.pfi-support-panel h3,
.pfi-support-confirm h2,
.pfi-support-links h2 {
  color: var(--pfi-primary-navy);
  font-weight: 850;
  margin: 0;
}

.pfi-support-card h3 {
  font-size: 2.05rem;
  line-height: 1.15;
}

.pfi-support-card p,
.pfi-support-content p,
.pfi-support-checklist li,
.pfi-support-steps p,
.pfi-support-confirm p,
.pfi-support-confirm li,
.pfi-support-link-grid span {
  color: #52637a;
  font-size: 1.5rem;
  line-height: 1.58;
}

.pfi-support-card p {
  margin: 1rem 0 0;
}

.pfi-support-main__grid {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 5vw, 6rem);
  grid-template-columns: minmax(0, 0.95fr) minmax(32rem, 0.55fr);
}

.pfi-support-content h2,
.pfi-support-confirm h2,
.pfi-support-links h2 {
  font-size: clamp(3.2rem, 4vw, 4.4rem);
  line-height: 1.08;
}

.pfi-support-content p {
  font-size: 1.7rem;
  line-height: 1.64;
  margin: 1.4rem 0 0;
}

.pfi-support-checklist {
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  margin-top: 2.8rem;
  padding: 2.4rem;
}

.pfi-support-checklist h3 {
  color: var(--pfi-primary-navy);
  font-size: 2rem;
  font-weight: 850;
  margin: 0 0 1.4rem;
}

.pfi-support-checklist ul,
.pfi-support-confirm ul {
  display: grid;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pfi-support-checklist li,
.pfi-support-confirm li {
  padding-left: 1.8rem;
  position: relative;
}

.pfi-support-checklist li::before,
.pfi-support-confirm li::before {
  background: var(--pfi-action-blue);
  border-radius: 999px;
  content: "";
  height: 0.7rem;
  left: 0;
  position: absolute;
  top: 0.85rem;
  width: 0.7rem;
}

.pfi-support-panel {
  padding: 2.4rem;
  position: sticky;
  top: calc(var(--wp-admin--admin-bar--height, 0px) + 10rem);
}

.pfi-support-panel__title {
  font-size: 2.2rem;
  line-height: 1.15;
  margin-bottom: 2rem;
}

.pfi-support-steps {
  display: grid;
  gap: 1.4rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pfi-support-steps li {
  border-bottom: 1px solid rgba(0, 66, 90, 0.1);
  display: grid;
  gap: 0.3rem 1.2rem;
  grid-template-columns: auto 1fr;
  padding-bottom: 1.4rem;
}

.pfi-support-steps li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.pfi-support-steps span {
  color: var(--pfi-action-blue);
  font-size: 1.2rem;
  font-weight: 900;
  grid-row: span 2;
  letter-spacing: 0.08em;
}

.pfi-support-steps strong {
  color: var(--pfi-primary-navy);
  font-size: 1.62rem;
  line-height: 1.2;
}

.pfi-support-steps p {
  margin: 0;
}

.pfi-support-practical {
  background: linear-gradient(135deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-portal-bg) 52%, var(--pfi-primary-navy) 100%);
  color: #fff;
}

.pfi-support-practical-grid {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-support-practical-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 1.4rem;
  box-shadow: 0 1.4rem 3.6rem rgba(0, 0, 0, 0.18);
  padding: 2.4rem;
}

.pfi-support-practical-card__icon {
  align-items: center;
  background: rgba(191, 255, 0, 0.12);
  border: 1px solid rgba(191, 255, 0, 0.24);
  border-radius: 1.2rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  height: 5rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5rem;
}

.pfi-support-practical-card__svg {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-support-practical-card h3 {
  color: #fff;
  font-size: 2rem;
  font-weight: 850;
  line-height: 1.18;
  margin: 0;
}

.pfi-support-practical-card p {
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.5rem;
  line-height: 1.58;
  margin: 1rem 0 0;
}

.pfi-support-confirm {
  background: var(--pfi-surface-dark);
  color: #fff;
  padding: clamp(5.5rem, 7vw, 8rem) var(--space-m, 2rem);
}

.pfi-support-confirm__inner {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 5vw, 6rem);
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
}

.pfi-support-confirm h2,
.pfi-support-confirm p,
.pfi-support-confirm li {
  color: #fff;
}

.pfi-support-confirm p,
.pfi-support-confirm li {
  color: rgba(255, 255, 255, 0.78);
}

.pfi-support-links__inner header {
  margin: 0 auto clamp(3rem, 4vw, 4.4rem);
  max-width: 78rem;
  text-align: center;
}

.pfi-support-link-grid + header {
  margin-top: clamp(4rem, 5vw, 6rem);
}

.pfi-support-link-grid {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-support-link-grid a {
  align-items: center;
  color: var(--pfi-primary-navy);
  display: flex;
  flex-direction: column;
  min-height: 18rem;
  padding: 2.3rem;
  text-align: center;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.pfi-support-link-grid a:hover,
.pfi-support-link-grid a:focus {
  box-shadow: 0 1.8rem 4.6rem rgba(1, 11, 19, 0.14);
  transform: translateY(-0.3rem);
}

.pfi-support-link__icon {
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(37, 99, 235, 0.13);
  border-radius: 1.2rem;
  color: var(--pfi-action-blue);
  height: 5rem;
  padding: 1.1rem;
  width: 5rem;
}

.pfi-support-link-grid strong {
  font-size: 2rem;
  font-weight: 850;
  line-height: 1.2;
  margin-top: 1.8rem;
}

.pfi-support-link-grid span {
  margin-top: 0.7rem;
}

.pfi-support-next {
  background: #f5f8fb;
}

.pfi-support-next__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pfi-support-next__panel {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.08);
  padding: 2.4rem;
}

.pfi-support-next__panel h3 {
  color: var(--pfi-primary-navy);
  font-size: 2.2rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0 0 1.6rem;
}

.pfi-support-next__list {
  display: grid;
  gap: 1rem;
}

.pfi-support-next-link {
  align-items: center;
  background: #f7fbfd;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1.1rem;
  color: var(--pfi-primary-navy);
  display: grid;
  gap: 1.4rem;
  grid-template-columns: 5rem minmax(0, 1fr);
  min-width: 0;
  padding: 1.4rem;
  text-decoration: none;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.pfi-support-next-link:hover,
.pfi-support-next-link:focus {
  background: #fff;
  border-color: rgba(37, 99, 235, 0.25);
  transform: translateY(-0.2rem);
}

.pfi-support-next-link__icon {
  align-items: center;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(37, 99, 235, 0.13);
  border-radius: 1rem;
  color: var(--pfi-action-blue);
  display: inline-flex;
  height: 5rem;
  justify-content: center;
  width: 5rem;
}

.pfi-support-next-link__svg {
  height: 2.5rem;
  width: 2.5rem;
}

.pfi-support-next-link strong,
.pfi-support-next-link em {
  display: block;
  min-width: 0;
}

.pfi-support-next-link strong {
  color: var(--pfi-primary-navy);
  font-size: 1.68rem;
  font-weight: 850;
  line-height: 1.2;
}

.pfi-support-next-link em {
  color: #52637a;
  font-size: 1.38rem;
  font-style: normal;
  line-height: 1.45;
  margin-top: 0.35rem;
}

@media (max-width: 1000px) {
  .pfi-support-summary__grid,
  .pfi-support-main__grid,
  .pfi-support-confirm__inner,
  .pfi-support-link-grid,
  .pfi-support-practical-grid,
  .pfi-support-next__grid {
    grid-template-columns: 1fr;
  }

  .pfi-support-panel {
    position: relative;
    top: auto;
  }
}

@media (max-width: 767px) {
  .pfi-support-summary,
  .pfi-support-main,
  .pfi-support-confirm,
  .pfi-support-links,
  .pfi-support-practical,
  .pfi-support-next {
    padding: 5.2rem 2rem;
  }

  .pfi-support-hero {
    align-items: stretch;
    background: #053142 !important;
    display: grid;
    grid-template-rows: minmax(25rem, 42svh) minmax(0, 1fr);
    min-height: calc(100svh - 7.4rem);
    padding: 0;
  }

  .pfi-support-hero::before {
    background-image:
      linear-gradient(180deg, rgba(1, 18, 30, 0.02) 0%, rgba(1, 18, 30, 0.2) 100%),
      var(--pfi-support-hero-photo-mobile, var(--pfi-support-hero-photo));
    background-position: center;
    background-size: cover;
    content: "";
    display: block;
    min-height: clamp(25rem, 42svh, 35rem);
    width: 100%;
  }

  .pfi-support-hero::after {
    display: none;
  }

  .pfi-support-hero__inner {
    margin-inline: 0;
    max-width: 38rem;
    padding: clamp(2.8rem, 7vw, 3.4rem) 2rem clamp(3.6rem, 9vw, 4.8rem);
  }

  .pfi-support-hero__title {
    font-size: clamp(3.05rem, 8.7vw, 3.45rem);
    line-height: 1.05;
  }

  .pfi-support-hero__text {
    font-size: 1.5rem;
    line-height: 1.55;
    margin-top: 1.7rem;
  }

  .pfi-support-status {
    font-size: 1.1rem;
    letter-spacing: 0.04em;
    margin-top: 2rem;
    max-width: 100%;
    padding: 0.8rem 1rem;
  }

  .pfi-support-card,
  .pfi-support-panel,
  .pfi-support-checklist,
  .pfi-support-link-grid a,
  .pfi-support-practical-card,
  .pfi-support-next__panel {
    min-height: 0;
    padding: 2rem;
  }

  .pfi-support-next-link {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .pfi-support-next-link__icon {
    justify-self: center;
  }
}

/* ==========================================================================
   PFI Coaching FAQs
   ========================================================================== */

.pfi-coaching-faq {
  background: #fff;
  color: var(--pfi-primary-navy);
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
}

.pfi-coaching-faq__hero {
  align-items: center;
  background-image: var(--pfi-coaching-faq-hero-image);
  background-position: center;
  background-size: cover;
  color: #fff;
  display: flex;
  min-height: 58vh;
  padding: clamp(6rem, 8vw, 10rem) var(--space-m, 2rem);
  position: relative;
}

.pfi-coaching-faq__hero::after {
  background:
    linear-gradient(180deg, transparent 56%, rgba(1, 11, 19, 0.48));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.pfi-coaching-faq__hero-inner {
  position: relative;
  z-index: 1;
}

.pfi-coaching-faq__hero h1 {
  color: #fff;
  font-size: clamp(4.2rem, 4.8vw, 6.2rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
  max-width: 82rem;
}

.pfi-coaching-faq__hero p:not(.pfi-support-kicker) {
  color: rgba(255, 255, 255, 0.84);
  font-size: 2rem;
  line-height: 1.6;
  margin: 2rem 0 0;
  max-width: 66rem;
}

@media (min-width: 768px) {
  .pfi-course-hero,
  .pfi-support-hero,
  .pfi-coaching-faq__hero,
  body.page-id-2051 .pfi-official-doc__hero {
    min-height: calc(100vh - 11.2rem);
    min-height: calc(100svh - 11.2rem);
  }
}

.pfi-coaching-faq__quick-links,
.pfi-coaching-faq__answers {
  padding: clamp(5.5rem, 7vw, 8rem) var(--space-m, 2rem);
}

.pfi-coaching-faq__quick-links {
  background: #f5f8fb;
}

.pfi-coaching-faq-card-grid {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-coaching-faq-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.08);
  color: var(--pfi-primary-navy);
  display: flex;
  flex-direction: column;
  min-height: 22rem;
  padding: 2.3rem;
  text-decoration: none;
  transition: box-shadow 160ms ease, transform 160ms ease;
}

.pfi-coaching-faq-card:hover,
.pfi-coaching-faq-card:focus {
  box-shadow: 0 1.8rem 4.6rem rgba(1, 11, 19, 0.14);
  transform: translateY(-0.3rem);
}

.pfi-coaching-faq-card span {
  align-items: center;
  background: rgba(56, 189, 248, 0.12);
  border-radius: 1.2rem;
  color: var(--pfi-action-blue);
  display: inline-flex;
  height: 5rem;
  justify-content: center;
  margin-bottom: 2rem;
  width: 5rem;
}

.pfi-coaching-faq-card__icon {
  height: 2.8rem;
  width: 2.8rem;
}

.pfi-coaching-faq-card strong {
  color: var(--pfi-primary-navy);
  font-size: 2rem;
  font-weight: 850;
  line-height: 1.2;
  margin-top: 0;
}

.pfi-coaching-faq-card em {
  color: #52637a;
  font-size: 1.45rem;
  font-style: normal;
  line-height: 1.55;
  margin-top: 0.7rem;
}

.pfi-coaching-faq__layout {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 5vw, 6rem);
  grid-template-columns: minmax(28rem, 0.42fr) minmax(0, 1fr);
}

.pfi-coaching-faq__aside {
  background:
    linear-gradient(110deg, rgba(1, 11, 19, 0.97), rgba(0, 66, 90, 0.94));
  border-radius: 1.6rem;
  color: #fff;
  padding: 2.6rem;
  position: sticky;
  top: calc(var(--wp-admin--admin-bar--height, 0px) + 10rem);
}

.pfi-coaching-faq__aside h2 {
  color: #fff;
  font-size: 3rem;
  font-weight: 850;
  line-height: 1.08;
  margin: 0;
}

.pfi-coaching-faq__aside p:not(.pfi-support-kicker) {
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.55rem;
  line-height: 1.6;
  margin: 1.4rem 0 0;
}

.pfi-coaching-faq__aside-links {
  display: grid;
  gap: 1rem;
  margin-top: 2.4rem;
}

.pfi-coaching-faq__aside-links a {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  color: #fff;
  font-size: 1.45rem;
  font-weight: 800;
  padding: 1.4rem 1.6rem;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease;
}

.pfi-coaching-faq__aside-links a:hover,
.pfi-coaching-faq__aside-links a:focus {
  background: var(--pfi-accent-lime);
  color: var(--pfi-rich-black);
}

.pfi-coaching-faq__groups {
  display: grid;
  gap: 2.2rem;
}

.pfi-coaching-faq__group {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.5rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.07);
  overflow: hidden;
}

.pfi-coaching-faq__group h2 {
  background: #f5f8fb;
  color: var(--pfi-primary-navy);
  font-size: 2.4rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
  padding: 2rem 2.3rem;
}

.pfi-coaching-faq__item {
  border-top: 1px solid rgba(0, 66, 90, 0.1);
  padding: 0;
}

.pfi-coaching-faq__item summary {
  color: var(--pfi-primary-navy);
  cursor: pointer;
  display: grid;
  font-size: 1.72rem;
  font-weight: 850;
  gap: 1.4rem;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  line-height: 1.35;
  list-style: none;
  padding: 1.8rem 2.3rem;
}

.pfi-coaching-faq__item summary::-webkit-details-marker {
  display: none;
}

.pfi-coaching-faq__item summary::after {
  color: var(--pfi-soft-accent-blue);
  content: "+";
  font-weight: 900;
  line-height: 1.1;
  margin-top: 0.08rem;
}

.pfi-coaching-faq__item[open] summary::after {
  content: "-";
}

.pfi-coaching-faq__item p {
  color: #52637a;
  font-size: 1.55rem;
  line-height: 1.62;
  margin: 0;
  padding: 0 2.3rem 2rem;
}

@media (max-width: 1000px) {
  .pfi-coaching-faq-card-grid,
  .pfi-coaching-faq__layout {
    grid-template-columns: 1fr;
  }

  .pfi-coaching-faq__aside {
    position: relative;
    top: auto;
  }
}

@media (max-width: 767px) {
  .pfi-coaching-faq__quick-links,
  .pfi-coaching-faq__answers {
    padding: 5.2rem 2rem;
  }

  .pfi-coaching-faq__hero {
    align-items: stretch;
    background: #053142 !important;
    display: grid;
    grid-template-rows: minmax(25rem, 42svh) minmax(0, 1fr);
    min-height: calc(100svh - 7.4rem);
    padding: 0;
  }

  .pfi-coaching-faq__hero::before {
    background-image:
      linear-gradient(180deg, rgba(1, 18, 30, 0.02) 0%, rgba(1, 18, 30, 0.2) 100%),
      var(--pfi-coaching-faq-hero-photo-mobile, var(--pfi-coaching-faq-hero-photo));
    background-position: center;
    background-size: cover;
    content: "";
    display: block;
    min-height: clamp(25rem, 42svh, 35rem);
    width: 100%;
  }

  .pfi-coaching-faq__hero::after {
    display: none;
  }

  .pfi-coaching-faq__hero-inner {
    margin-inline: 0;
    max-width: 38rem;
    padding: clamp(2.8rem, 7vw, 3.4rem) 2rem clamp(3.6rem, 9vw, 4.8rem);
  }

  .pfi-coaching-faq__hero h1 {
    font-size: clamp(3.25rem, 9vw, 3.75rem);
    line-height: 1.04;
  }

  .pfi-coaching-faq__hero p:not(.pfi-support-kicker) {
    font-size: 1.5rem;
    line-height: 1.55;
    margin-top: 1.7rem;
  }

  .pfi-coaching-faq-card,
  .pfi-coaching-faq__aside {
    min-height: 0;
    padding: 2rem;
  }

  .pfi-coaching-faq__item summary {
    font-size: 1.58rem;
    padding: 1.6rem 1.8rem;
  }

  .pfi-coaching-faq__item p {
    padding: 0 1.8rem 1.8rem;
  }
}

/* ==========================================================================
   PFI Shared Hub Pages
   ========================================================================== */

.pfi-hub {
  background: #fff;
  color: var(--pfi-primary-navy);
}

.pfi-hub-hero {
  align-items: center;
  background-position: center;
  background-size: cover;
  color: #fff;
  display: flex;
  min-height: 72vh;
  padding: clamp(7rem, 10vw, 12rem) var(--space-m, 2rem);
  position: relative;
}

.pfi-hub-hero--compete {
  background-image:
    linear-gradient(105deg, rgba(1, 11, 19, 0.92) 0%, rgba(0, 66, 90, 0.68) 54%, rgba(1, 11, 19, 0.2) 100%),
    url("/wp-content/uploads/2026/04/Padel_society_game.jpg");
}

.pfi-hub-hero--membership {
  background-image:
    linear-gradient(105deg, rgba(1, 11, 19, 0.92) 0%, rgba(0, 66, 90, 0.7) 54%, rgba(1, 11, 19, 0.22) 100%),
    url("/wp-content/uploads/2026/04/Padel_society_court.jpg");
}

.pfi-hub-hero--who {
  background-image:
    linear-gradient(105deg, rgba(1, 11, 19, 0.94) 0%, rgba(0, 66, 90, 0.72) 55%, rgba(1, 11, 19, 0.22) 100%),
    url("/wp-content/uploads/2026/04/test_hero.jpg");
}

.pfi-hub-hero::after {
  background:
    linear-gradient(180deg, transparent 55%, rgba(1, 11, 19, 0.48));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.pfi-hub-hero__inner,
.pfi-hub-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  position: relative;
  width: 100%;
  z-index: 1;
}

.pfi-hub-hero__inner {
  max-width: var(--max-screen-width, 1300px);
}

.pfi-hub-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.25rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-hub-hero__title {
  color: #fff;
  font-size: clamp(4.6rem, 5.5vw, 6.2rem);
  font-weight: 850;
  line-height: 0.98;
  margin: 0;
  max-width: 88rem;
}

.pfi-hub-hero__text {
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1.7rem, 1.7vw, 2.05rem);
  line-height: 1.58;
  margin: 2.2rem 0 0;
  max-width: 72rem;
}

.pfi-hub-hero__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 3rem;
}

.pfi-hub-button,
.pfi-hub-card__link {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 1.48rem;
  font-weight: 800;
  justify-content: center;
  line-height: 1;
  min-height: 4.6rem;
  padding: 1.35rem 2rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
  white-space: nowrap;
}

.pfi-hub-button:hover,
.pfi-hub-button:focus,
.pfi-hub-card__link:hover,
.pfi-hub-card__link:focus {
  transform: translateY(-0.2rem);
}

.pfi-hub-button--lime {
  background: var(--pfi-accent-lime) !important;
  color: var(--pfi-surface-dark) !important;
  -webkit-text-fill-color: var(--pfi-surface-dark);
}

.pfi-hub-button--ghost {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.34);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.pfi-hub-button--blue,
.pfi-hub-card__link {
  background: var(--pfi-action-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.pfi-hub-section {
  padding: clamp(6rem, 8vw, 9rem) var(--space-m, 2rem);
}

.pfi-hub-section--light {
  background: #f5f8fb;
}

.pfi-hub-section--dark,
.pfi-hub-section--split {
  background: var(--pfi-surface-dark);
  color: #fff;
}

.pfi-hub-section-heading {
  margin: 0 auto clamp(3.4rem, 4vw, 4.8rem);
  max-width: 78rem;
  text-align: center;
}

.pfi-hub-section-title {
  color: var(--pfi-primary-navy);
  font-size: clamp(3.4rem, 4vw, 4.4rem);
  font-weight: 850;
  line-height: 1.08;
  margin: 0;
}

.pfi-hub-section-text {
  color: #52637a;
  font-size: 1.72rem;
  line-height: 1.64;
  margin: 1.4rem auto 0;
  max-width: 72rem;
}

.pfi-hub-section-heading--light .pfi-hub-section-title,
.pfi-hub-section-heading--light .pfi-hub-section-text,
.pfi-hub-section--split .pfi-hub-section-title,
.pfi-hub-section--split .pfi-hub-section-text {
  color: #fff;
}

.pfi-hub-section-heading--light .pfi-hub-section-text,
.pfi-hub-section--split .pfi-hub-section-text {
  color: rgba(255, 255, 255, 0.78);
}

.pfi-hub-card-grid,
.pfi-hub-feature-grid,
.pfi-hub-compact-list {
  display: grid;
  gap: 1.8rem;
}

.pfi-hub-card-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-hub-card-grid--six {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-hub-feature-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-hub-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.08);
  display: flex;
  flex-direction: column;
  min-height: 29rem;
  padding: 2.3rem;
}

.pfi-hub-section--dark .pfi-hub-card,
.pfi-hub-card--compact {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(224, 224, 224, 0.16);
  box-shadow: none;
}

.pfi-hub-card--feature {
  min-height: 27rem;
}

.pfi-hub-card--compact {
  min-height: 0;
}

.pfi-hub-card__icon-wrap {
  align-items: center;
  background: rgba(56, 189, 248, 0.11);
  border: 1px solid rgba(37, 99, 235, 0.13);
  border-radius: 1.2rem;
  color: var(--pfi-action-blue);
  display: inline-flex;
  height: 5rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5rem;
}

.pfi-hub-section--dark .pfi-hub-card__icon-wrap,
.pfi-hub-card--compact .pfi-hub-card__icon-wrap {
  background: rgba(191, 255, 0, 0.1);
  border-color: rgba(191, 255, 0, 0.22);
  color: var(--pfi-accent-lime);
}

.pfi-hub-card__icon {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-hub-card__title {
  color: var(--pfi-primary-navy);
  font-size: 2.1rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-hub-card__text {
  color: #52637a;
  font-size: 1.46rem;
  line-height: 1.55;
  margin: 1.1rem 0 2rem;
}

.pfi-hub-section--dark .pfi-hub-card__title,
.pfi-hub-section--dark .pfi-hub-card__text,
.pfi-hub-card--compact .pfi-hub-card__title,
.pfi-hub-card--compact .pfi-hub-card__text {
  color: #fff;
}

.pfi-hub-section--dark .pfi-hub-card__text,
.pfi-hub-card--compact .pfi-hub-card__text {
  color: rgba(255, 255, 255, 0.76);
}

.pfi-hub-card__link {
  margin-top: auto;
  min-height: 4rem;
  padding: 1.1rem 1.5rem;
  width: max-content;
}

.pfi-hub-split {
  align-items: center;
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.12fr);
}

.pfi-hub-split__content {
  max-width: 60rem;
}

.pfi-hub-compact-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1180px) {
  .pfi-hub-card-grid--four,
  .pfi-hub-card-grid--six,
  .pfi-hub-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pfi-hub-split {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .pfi-hub-hero,
  .pfi-hub-section {
    padding: 6rem 2rem;
  }

  .pfi-hub-hero {
    min-height: auto;
  }

  .pfi-hub-hero__title {
    font-size: 4.1rem;
  }

  .pfi-hub-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pfi-hub-button,
  .pfi-hub-card__link {
    width: 100%;
  }

  .pfi-hub-card-grid--four,
  .pfi-hub-card-grid--six,
  .pfi-hub-feature-grid,
  .pfi-hub-compact-list {
    grid-template-columns: 1fr;
  }

  .pfi-hub-card {
    min-height: 0;
  }
}

.pfi-hub--compete {
  background: #f4f7f8;
  color: var(--pfi-primary-navy);
  overflow: hidden;
}

.pfi-hub--compete .pfi-hub-intro {
  background:
    linear-gradient(135deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-portal-bg) 52%, var(--pfi-primary-navy) 100%);
  color: var(--pfi-portal-text);
  padding: 8rem var(--space-m, 2rem) 7rem;
}

.pfi-hub--compete .pfi-hub-intro__grid {
  align-items: stretch;
  display: grid;
  gap: 3rem;
  grid-template-columns: minmax(0, 1.08fr) minmax(34rem, 0.58fr);
}

.pfi-hub--compete .pfi-hub-intro__copy {
  align-self: center;
  max-width: 82rem;
}

.pfi-hub--compete .pfi-hub-intro__title {
  color: #fff;
  font-size: 6.2rem;
  font-weight: 850;
  line-height: 1;
  margin: 0;
  max-width: 78rem;
}

.pfi-hub--compete .pfi-hub-intro__text {
  color: color-mix(in srgb, var(--pfi-portal-text) 80%, transparent);
  font-size: 1.92rem;
  line-height: 1.58;
  margin: 2rem 0 0;
  max-width: 72rem;
}

.pfi-hub--compete .pfi-hub-intro__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 2.8rem;
}

.pfi-hub--compete .pfi-hub-command {
  align-self: center;
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 82%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2.8rem 7rem rgba(0, 0, 0, 0.24);
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  padding: 1.6rem;
}

.pfi-hub--compete .pfi-hub-command__header {
  align-items: flex-end;
  border-bottom: 1px solid rgba(224, 224, 224, 0.14);
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding-bottom: 1.4rem;
}

.pfi-hub--compete .pfi-hub-command__header span {
  color: var(--pfi-accent-lime);
  font-size: 1.1rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pfi-hub--compete .pfi-hub-command__header strong {
  color: #fff;
  font-size: 1.7rem;
  line-height: 1.1;
  text-align: right;
}

.pfi-hub--compete .pfi-hub-command__routes {
  display: grid;
  gap: 1rem;
}

.pfi-hub--compete .pfi-hub-route {
  align-items: center;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(224, 224, 224, 0.12);
  border-radius: 0.7rem;
  color: #fff;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 4.6rem minmax(0, 1fr);
  min-height: 7.4rem;
  padding: 1.2rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.pfi-hub--compete .pfi-hub-route:hover,
.pfi-hub--compete .pfi-hub-route:focus {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(191, 255, 0, 0.34);
  color: #fff;
  transform: translateY(-0.2rem);
}

.pfi-hub--compete .pfi-hub-route__mark {
  align-items: center;
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.24);
  border-radius: 0.7rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  height: 4.6rem;
  justify-content: center;
  width: 4.6rem;
}

.pfi-hub--compete .pfi-hub-route__icon {
  height: 2.4rem;
  width: 2.4rem;
}

.pfi-hub--compete .pfi-hub-route strong,
.pfi-hub--compete .pfi-hub-route small {
  display: block;
}

.pfi-hub--compete .pfi-hub-route strong {
  color: #fff;
  font-size: 1.52rem;
  line-height: 1.2;
}

.pfi-hub--compete .pfi-hub-route small {
  color: color-mix(in srgb, var(--pfi-portal-text) 66%, transparent);
  font-size: 1.24rem;
  line-height: 1.38;
  margin-top: 0.25rem;
}

.pfi-hub--compete .pfi-hub-button,
.pfi-hub--compete .pfi-hub-card__link {
  border-radius: 0.7rem;
}

.pfi-hub--compete .pfi-hub-section {
  padding: 7.5rem var(--space-m, 2rem);
}

.pfi-hub--compete .pfi-hub-section--light {
  background: #f4f7f8;
}

.pfi-hub--compete .pfi-hub-section--dark,
.pfi-hub--compete .pfi-hub-section--split {
  background:
    linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
}

.pfi-hub--compete .pfi-hub-section-heading {
  margin-bottom: 4.2rem;
}

.pfi-hub--compete .pfi-hub-section-title {
  font-size: 4.2rem;
}

.pfi-hub--compete .pfi-hub-section--light .pfi-hub-kicker {
  color: var(--pfi-action-blue);
}

.pfi-hub--compete .pfi-hub-card-grid--six {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-hub--compete .pfi-hub-card {
  border-radius: 0.8rem;
}

.pfi-hub--compete .pfi-hub-card__icon-wrap {
  border-radius: 0.7rem;
}

.pfi-hub--compete .pfi-hub-pathway-stack {
  display: grid;
  gap: 2rem;
}

.pfi-hub--compete .pfi-hub-pathway-band {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 84%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.25);
  display: grid;
  grid-template-columns: minmax(28rem, 0.76fr) minmax(0, 1fr);
  overflow: hidden;
}

.pfi-hub--compete .pfi-hub-pathway-band--reverse .pfi-hub-pathway-band__media {
  order: 2;
}

.pfi-hub--compete .pfi-hub-pathway-band__media {
  background-position: center;
  background-size: cover;
  min-height: 32rem;
}

.pfi-hub--compete .pfi-hub-pathway-band__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3.2rem;
}

.pfi-hub--compete .pfi-hub-pathway-band__icon-wrap {
  align-items: center;
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.24);
  border-radius: 0.7rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  height: 5.2rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5.2rem;
}

.pfi-hub--compete .pfi-hub-pathway__icon {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-hub--compete .pfi-hub-pathway-band__kicker {
  color: var(--pfi-tertiary-sky);
  font-size: 1.15rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.pfi-hub--compete .pfi-hub-pathway-band__title {
  color: #fff;
  font-size: 3.3rem;
  font-weight: 850;
  line-height: 1.1;
  margin: 0;
}

.pfi-hub--compete .pfi-hub-pathway-band__text {
  color: color-mix(in srgb, var(--pfi-portal-text) 76%, transparent);
  font-size: 1.62rem;
  line-height: 1.6;
  margin: 1.3rem 0 2rem;
  max-width: 60rem;
}

@media (max-width: 1180px) {
  .pfi-hub--compete .pfi-hub-intro__grid {
    grid-template-columns: 1fr;
  }

  .pfi-hub--compete .pfi-hub-card-grid--six {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .pfi-hub--compete .pfi-hub-intro__title {
    font-size: 5rem;
  }

  .pfi-hub--compete .pfi-hub-pathway-band,
  .pfi-hub--compete .pfi-hub-pathway-band--reverse {
    grid-template-columns: 1fr;
  }

  .pfi-hub--compete .pfi-hub-pathway-band--reverse .pfi-hub-pathway-band__media {
    order: 0;
  }
}

@media (max-width: 767px) {
  .pfi-hub--compete .pfi-hub-intro,
  .pfi-hub--compete .pfi-hub-section {
    padding: 5.6rem 2rem;
  }

  .pfi-hub--compete .pfi-hub-intro__title {
    font-size: 4rem;
  }

  .pfi-hub--compete .pfi-hub-intro__text {
    font-size: 1.68rem;
  }

  .pfi-hub--compete .pfi-hub-intro__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pfi-hub--compete .pfi-hub-section-heading {
    margin-bottom: 3.2rem;
  }

  .pfi-hub--compete .pfi-hub-section-title {
    font-size: 3.35rem;
  }

  .pfi-hub--compete .pfi-hub-card-grid--six {
    grid-template-columns: 1fr;
  }

  .pfi-hub--compete .pfi-hub-pathway-band__media {
    min-height: 22rem;
  }

  .pfi-hub--compete .pfi-hub-pathway-band__content {
    padding: 2.2rem;
  }

  .pfi-hub--compete .pfi-hub-pathway-band__title {
    font-size: 2.8rem;
  }

  .pfi-hub--compete .pfi-hub-command__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
  }

  .pfi-hub--compete .pfi-hub-command__header strong {
    text-align: left;
  }
}


@media (max-width: 480px) {
  .pfi-hub--compete .pfi-hub-intro__title {
    font-size: 3.55rem;
  }

  .pfi-hub--compete .pfi-hub-route {
    grid-template-columns: 4rem minmax(0, 1fr);
  }

  .pfi-hub--compete .pfi-hub-route__mark {
    height: 4rem;
    width: 4rem;
  }
}

.pfi-hub--membership {
  background: #f4f7f8;
  color: var(--pfi-primary-navy);
  overflow: hidden;
}

.pfi-hub--membership .pfi-hub-intro {
  background:
    linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  color: var(--pfi-portal-text);
  padding: 8rem var(--space-m, 2rem) 7rem;
}

.pfi-hub--membership .pfi-hub-intro__grid {
  align-items: stretch;
  display: grid;
  gap: 3rem;
  grid-template-columns: minmax(0, 1.08fr) minmax(34rem, 0.58fr);
}

.pfi-hub--membership .pfi-hub-intro__copy {
  align-self: center;
  max-width: 82rem;
}

.pfi-hub--membership .pfi-hub-intro__title {
  color: #fff;
  font-size: 6.2rem;
  font-weight: 850;
  line-height: 1;
  margin: 0;
  max-width: 78rem;
}

.pfi-hub--membership .pfi-hub-intro__text {
  color: color-mix(in srgb, var(--pfi-portal-text) 80%, transparent);
  font-size: 1.92rem;
  line-height: 1.58;
  margin: 2rem 0 0;
  max-width: 72rem;
}

.pfi-hub--membership .pfi-hub-intro__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 2.8rem;
}

.pfi-hub--membership .pfi-hub-command {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 82%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2.8rem 7rem rgba(0, 0, 0, 0.24);
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  padding: 1.6rem;
}

.pfi-hub--membership .pfi-hub-command__header {
  align-items: flex-end;
  border-bottom: 1px solid rgba(224, 224, 224, 0.14);
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding-bottom: 1.4rem;
}

.pfi-hub--membership .pfi-hub-command__header span {
  color: var(--pfi-accent-lime);
  font-size: 1.1rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pfi-hub--membership .pfi-hub-command__header strong {
  color: #fff;
  font-size: 1.7rem;
  line-height: 1.1;
  text-align: right;
}

.pfi-hub--membership .pfi-hub-command__routes {
  display: grid;
  gap: 1rem;
}

.pfi-hub--membership .pfi-hub-route {
  align-items: center;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(224, 224, 224, 0.12);
  border-radius: 0.7rem;
  color: #fff;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 4.6rem minmax(0, 1fr);
  min-height: 7.4rem;
  padding: 1.2rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.pfi-hub--membership .pfi-hub-route:hover,
.pfi-hub--membership .pfi-hub-route:focus {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(191, 255, 0, 0.34);
  color: #fff;
  transform: translateY(-0.2rem);
}

.pfi-hub--membership .pfi-hub-route__mark {
  align-items: center;
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.24);
  border-radius: 0.7rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  height: 4.6rem;
  justify-content: center;
  width: 4.6rem;
}

.pfi-hub--membership .pfi-hub-route__icon {
  height: 2.4rem;
  width: 2.4rem;
}

.pfi-hub--membership .pfi-hub-route strong,
.pfi-hub--membership .pfi-hub-route small {
  display: block;
}

.pfi-hub--membership .pfi-hub-route strong {
  color: #fff;
  font-size: 1.52rem;
  line-height: 1.2;
}

.pfi-hub--membership .pfi-hub-route small {
  color: color-mix(in srgb, var(--pfi-portal-text) 66%, transparent);
  font-size: 1.24rem;
  line-height: 1.38;
  margin-top: 0.25rem;
}

.pfi-hub--membership .pfi-hub-button,
.pfi-hub--membership .pfi-hub-card__link {
  border-radius: 0.7rem;
}

.pfi-hub--membership .pfi-hub-section {
  padding: 7.5rem var(--space-m, 2rem);
}

.pfi-hub--membership .pfi-hub-section--light {
  background: #f4f7f8;
}

.pfi-hub--membership .pfi-hub-section--dark,
.pfi-hub--membership .pfi-hub-section--split {
  background:
    linear-gradient(180deg, var(--pfi-portal-bg) 0%, var(--pfi-portal-bg-deep) 100%);
}

.pfi-hub--membership .pfi-hub-section-heading {
  margin-bottom: 4.2rem;
}

.pfi-hub--membership .pfi-hub-section-title {
  font-size: 4.2rem;
}

.pfi-hub--membership .pfi-hub-section--light .pfi-hub-kicker {
  color: var(--pfi-action-blue);
}

.pfi-hub--membership .pfi-hub-card {
  border-radius: 0.8rem;
}

.pfi-hub--membership .pfi-hub-card__icon-wrap {
  border-radius: 0.7rem;
}

.pfi-hub--membership .pfi-hub-card-grid--six {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-hub--membership .pfi-hub-pathway-stack {
  display: grid;
  gap: 2rem;
}

.pfi-hub--membership .pfi-hub-pathway-band {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 84%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.25);
  display: grid;
  grid-template-columns: minmax(28rem, 0.76fr) minmax(0, 1fr);
  overflow: hidden;
}

.pfi-hub--membership .pfi-hub-pathway-band--reverse .pfi-hub-pathway-band__media {
  order: 2;
}

.pfi-hub--membership .pfi-hub-pathway-band__media {
  background-position: center;
  background-size: cover;
  min-height: 32rem;
}

.pfi-hub--membership .pfi-hub-pathway-band__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3.2rem;
}

.pfi-hub--membership .pfi-hub-pathway-band__icon-wrap {
  align-items: center;
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.24);
  border-radius: 0.7rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  height: 5.2rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5.2rem;
}

.pfi-hub--membership .pfi-hub-pathway__icon {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-hub--membership .pfi-hub-pathway-band__kicker {
  color: var(--pfi-tertiary-sky);
  font-size: 1.15rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.pfi-hub--membership .pfi-hub-pathway-band__title {
  color: #fff;
  font-size: 3.3rem;
  font-weight: 850;
  line-height: 1.1;
  margin: 0;
}

.pfi-hub--membership .pfi-hub-pathway-band__text {
  color: color-mix(in srgb, var(--pfi-portal-text) 76%, transparent);
  font-size: 1.62rem;
  line-height: 1.6;
  margin: 1.3rem 0 2rem;
  max-width: 60rem;
}

@media (max-width: 1180px) {
  .pfi-hub--membership .pfi-hub-intro__grid {
    grid-template-columns: 1fr;
  }

  .pfi-hub--membership .pfi-hub-card-grid--six {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .pfi-hub--membership .pfi-hub-intro__title {
    font-size: 5rem;
  }

  .pfi-hub--membership .pfi-hub-pathway-band,
  .pfi-hub--membership .pfi-hub-pathway-band--reverse {
    grid-template-columns: 1fr;
  }

  .pfi-hub--membership .pfi-hub-pathway-band--reverse .pfi-hub-pathway-band__media {
    order: 0;
  }
}

@media (max-width: 767px) {
  .pfi-hub--membership .pfi-hub-intro,
  .pfi-hub--membership .pfi-hub-section {
    padding: 5.6rem 2rem;
  }

  .pfi-hub--membership .pfi-hub-intro__title {
    font-size: 4rem;
  }

  .pfi-hub--membership .pfi-hub-intro__text {
    font-size: 1.68rem;
  }

  .pfi-hub--membership .pfi-hub-intro__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pfi-hub--membership .pfi-hub-section-heading {
    margin-bottom: 3.2rem;
  }

  .pfi-hub--membership .pfi-hub-section-title {
    font-size: 3.35rem;
  }

  .pfi-hub--membership .pfi-hub-card-grid--six {
    grid-template-columns: 1fr;
  }

  .pfi-hub--membership .pfi-hub-pathway-band__media {
    min-height: 22rem;
  }

  .pfi-hub--membership .pfi-hub-pathway-band__content {
    padding: 2.2rem;
  }

  .pfi-hub--membership .pfi-hub-pathway-band__title {
    font-size: 2.8rem;
  }

  .pfi-hub--membership .pfi-hub-command__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
  }

  .pfi-hub--membership .pfi-hub-command__header strong {
    text-align: left;
  }
}


@media (max-width: 480px) {
  .pfi-hub--membership .pfi-hub-intro__title {
    font-size: 3.55rem;
  }

  .pfi-hub--membership .pfi-hub-route {
    grid-template-columns: 4rem minmax(0, 1fr);
  }

  .pfi-hub--membership .pfi-hub-route__mark {
    height: 4rem;
    width: 4rem;
  }
}

.pfi-hub--who {
  background: #f4f7f8;
  color: var(--pfi-primary-navy);
  overflow: hidden;
}

.pfi-hub--who .pfi-hub-intro {
  background:
    linear-gradient(135deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-portal-bg) 52%, var(--pfi-primary-navy) 100%);
  color: var(--pfi-portal-text);
  padding: 8rem var(--space-m, 2rem) 7rem;
}

.pfi-hub--who .pfi-hub-intro__grid {
  align-items: stretch;
  display: grid;
  gap: 3rem;
  grid-template-columns: minmax(0, 1.08fr) minmax(34rem, 0.58fr);
}

.pfi-hub--who .pfi-hub-intro__copy {
  align-self: center;
  max-width: 82rem;
}

.pfi-hub--who .pfi-hub-intro__title {
  color: #fff;
  font-size: 6.2rem;
  font-weight: 850;
  line-height: 1;
  margin: 0;
  max-width: 78rem;
}

.pfi-hub--who .pfi-hub-intro__text {
  color: color-mix(in srgb, var(--pfi-portal-text) 80%, transparent);
  font-size: 1.92rem;
  line-height: 1.58;
  margin: 2rem 0 0;
  max-width: 72rem;
}

.pfi-hub--who .pfi-hub-intro__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 2.8rem;
}

.pfi-hub--who .pfi-hub-command {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 82%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2.8rem 7rem rgba(0, 0, 0, 0.24);
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  padding: 1.6rem;
}

.pfi-hub--who .pfi-hub-command__header {
  align-items: flex-end;
  border-bottom: 1px solid rgba(224, 224, 224, 0.14);
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding-bottom: 1.4rem;
}

.pfi-hub--who .pfi-hub-command__header span {
  color: var(--pfi-accent-lime);
  font-size: 1.1rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pfi-hub--who .pfi-hub-command__header strong {
  color: #fff;
  font-size: 1.7rem;
  line-height: 1.1;
  text-align: right;
}

.pfi-hub--who .pfi-hub-command__routes {
  display: grid;
  gap: 1rem;
}

.pfi-hub--who .pfi-hub-route {
  align-items: center;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(224, 224, 224, 0.12);
  border-radius: 0.7rem;
  color: #fff;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 4.6rem minmax(0, 1fr);
  min-height: 7.4rem;
  padding: 1.2rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.pfi-hub--who .pfi-hub-route:hover,
.pfi-hub--who .pfi-hub-route:focus {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(191, 255, 0, 0.34);
  color: #fff;
  transform: translateY(-0.2rem);
}

.pfi-hub--who .pfi-hub-route__mark {
  align-items: center;
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.24);
  border-radius: 0.7rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  height: 4.6rem;
  justify-content: center;
  width: 4.6rem;
}

.pfi-hub--who .pfi-hub-route__icon {
  height: 2.4rem;
  width: 2.4rem;
}

.pfi-hub--who .pfi-hub-route strong,
.pfi-hub--who .pfi-hub-route small {
  display: block;
}

.pfi-hub--who .pfi-hub-route strong {
  color: #fff;
  font-size: 1.52rem;
  line-height: 1.2;
}

.pfi-hub--who .pfi-hub-route small {
  color: color-mix(in srgb, var(--pfi-portal-text) 66%, transparent);
  font-size: 1.24rem;
  line-height: 1.38;
  margin-top: 0.25rem;
}

.pfi-hub--who .pfi-hub-button,
.pfi-hub--who .pfi-hub-card__link {
  border-radius: 0.7rem;
}

.pfi-hub--who .pfi-hub-section {
  padding: 7.5rem var(--space-m, 2rem);
}

.pfi-hub--who .pfi-hub-section--light {
  background: #f4f7f8;
}

.pfi-hub--who .pfi-hub-section--dark,
.pfi-hub--who .pfi-hub-section--split {
  background:
    linear-gradient(180deg, var(--pfi-portal-bg) 0%, var(--pfi-portal-bg-deep) 100%);
}

.pfi-hub--who .pfi-hub-section-heading {
  margin-bottom: 4.2rem;
}

.pfi-hub--who .pfi-hub-section-title {
  font-size: 4.2rem;
}

.pfi-hub--who .pfi-hub-section--light .pfi-hub-kicker {
  color: var(--pfi-action-blue);
}

.pfi-hub--who .pfi-hub-card {
  border-radius: 0.8rem;
}

.pfi-hub--who .pfi-hub-card__icon-wrap {
  border-radius: 0.7rem;
}

.pfi-hub--who .pfi-hub-compact-list {
  grid-template-columns: 1fr;
}

@media (max-width: 1180px) {
  .pfi-hub--who .pfi-hub-intro__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .pfi-hub--who .pfi-hub-intro__title {
    font-size: 5rem;
  }
}

@media (max-width: 767px) {
  .pfi-hub--who .pfi-hub-intro {
    padding: 5.2rem 2rem 4.8rem;
  }

  .pfi-hub--who .pfi-hub-section {
    padding: 4.8rem 2rem;
  }

  .pfi-hub--who .pfi-hub-intro__title {
    font-size: 3.85rem;
    line-height: 1.04;
  }

  .pfi-hub--who .pfi-hub-intro__text {
    font-size: 1.62rem;
    line-height: 1.52;
    margin-top: 1.55rem;
  }

  .pfi-hub--who .pfi-hub-intro__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 0.9rem;
    margin-top: 2rem;
  }

  .pfi-hub--who .pfi-hub-command {
    display: none;
  }

  .pfi-hub--who .pfi-hub-section-heading {
    margin-bottom: 3.2rem;
  }

  .pfi-hub--who .pfi-hub-section-title {
    font-size: 3.35rem;
  }

  .pfi-hub--who .pfi-hub-command__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
  }

  .pfi-hub--who .pfi-hub-command__header strong {
    text-align: left;
  }
}


@media (max-width: 480px) {
  .pfi-hub--who .pfi-hub-intro__title {
    font-size: 3.35rem;
  }

  .pfi-hub--who .pfi-hub-route {
    grid-template-columns: 4rem minmax(0, 1fr);
  }

  .pfi-hub--who .pfi-hub-route__mark {
    height: 4rem;
    width: 4rem;
  }
}

/* ==========================================================================
   PFI Competition Detail Pages
   ========================================================================== */

.pfi-competition-detail {
  background: #f5f8fb;
  color: var(--pfi-primary-navy);
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  overflow: hidden;
}

.pfi-competition-detail-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  width: 100%;
}

.pfi-competition-detail-hero {
  align-items: center;
  background: linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  color: #fff;
  display: flex;
  isolation: isolate;
  min-height: clamp(46rem, 58vh, 62rem);
  overflow: hidden;
  padding: clamp(7rem, 8vw, 10rem) var(--space-m, 2rem);
  position: relative;
}

.pfi-competition-detail-hero::before {
  background: inherit;
  content: "";
  inset: 0;
  position: absolute;
  z-index: -2;
}

.pfi-competition-detail-hero--has-image::before {
  background-image:
    linear-gradient(90deg, rgba(1, 11, 19, 0.9) 0%, rgba(1, 11, 19, 0.74) 45%, rgba(1, 11, 19, 0.34) 72%, rgba(1, 11, 19, 0.5) 100%),
    var(--pfi-competition-detail-hero-image);
  background-position: center, center;
  background-size: cover, cover;
}

.pfi-competition-detail--juniors .pfi-competition-detail-hero--has-image::before,
.pfi-competition-detail--seniors .pfi-competition-detail-hero--has-image::before,
.pfi-competition-detail--adaptive-padel .pfi-competition-detail-hero--has-image::before {
  background-position: center, center 26%;
}

.pfi-competition-detail--international-padel-and-fip .pfi-competition-detail-hero--has-image::before {
  background-position: center, center;
}

.pfi-competition-detail-hero--has-image::after {
  background: linear-gradient(180deg, transparent 58%, rgba(1, 11, 19, 0.55));
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.pfi-competition-detail-hero--category {
  min-height: clamp(40rem, 50vh, 54rem);
}

.pfi-competition-detail-hero--category .pfi-competition-detail-hero__title {
  max-width: 60rem;
}

.pfi-competition-detail-hero--category .pfi-competition-detail-hero__text {
  max-width: 64rem;
}

.pfi-competition-detail-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.25rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-competition-detail-hero__title {
  color: #fff;
  font-size: clamp(4.6rem, 5.4vw, 6.1rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
  max-width: 76rem;
}

.pfi-competition-detail-hero__title span {
  display: block;
}

.pfi-competition-detail-hero__text {
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.9rem;
  line-height: 1.6;
  margin: 2.2rem 0 0;
  max-width: 68rem;
}

.pfi-competition-detail-actions,
.pfi-competition-detail-pills {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 3rem;
}

.pfi-competition-detail-pills {
  margin-top: 1.4rem;
}

.pfi-competition-detail-pills span {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 1.2rem;
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.32rem;
  font-weight: 800;
  line-height: 1;
  padding: 1rem 1.25rem;
}

.pfi-competition-detail-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 1.4rem;
  display: inline-flex;
  font-size: 1.48rem;
  font-weight: 850;
  justify-content: center;
  line-height: 1;
  min-height: 4.4rem;
  padding: 1.25rem 1.8rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
  white-space: nowrap;
}

.pfi-competition-detail-button:hover,
.pfi-competition-detail-button:focus {
  transform: translateY(-0.2rem);
}

.pfi-competition-detail-button--lime,
.pfi-competition-detail-button--secondary {
  background: var(--pfi-accent-lime) !important;
  color: var(--pfi-surface-dark) !important;
  -webkit-text-fill-color: var(--pfi-surface-dark);
}

.pfi-competition-detail-button--ghost {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.34);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.pfi-competition-detail-summary {
  background: #fff;
  padding: 5rem var(--space-m, 2rem);
}

.pfi-competition-detail-summary__intro {
  margin: 0 auto 2.8rem;
  max-width: 82rem;
  text-align: center;
}

.pfi-competition-detail-summary__intro h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 3.4vw, 4.4rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.06;
  margin: 0;
}

.pfi-competition-detail-summary__intro p {
  color: #52637a;
  font-size: 1.68rem;
  line-height: 1.62;
  margin: 1.3rem auto 0;
  max-width: 72rem;
}

.pfi-competition-detail-summary__grid {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-competition-detail-summary-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.11);
  border-radius: 1.6rem;
  box-shadow: 0 1.4rem 3.8rem rgba(1, 11, 19, 0.08);
  padding: 2.3rem;
}

.pfi-competition-detail-summary-card__icon {
  align-items: center;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(37, 99, 235, 0.13);
  border-radius: 1.2rem;
  color: var(--pfi-action-blue);
  display: inline-flex;
  height: 4.8rem;
  justify-content: center;
  margin-bottom: 1.6rem;
  width: 4.8rem;
}

.pfi-competition-detail-summary-card__svg {
  height: 2.6rem;
  width: 2.6rem;
}

.pfi-competition-detail-summary-card h2,
.pfi-competition-detail-summary-card h3 {
  color: var(--pfi-primary-navy);
  font-size: 2rem;
  font-weight: 850;
  line-height: 1.16;
  margin: 0;
}

.pfi-competition-detail-summary-card p {
  color: #52637a;
  font-size: 1.48rem;
  line-height: 1.58;
  margin: 1rem 0 0;
}

.pfi-competition-detail-body {
  padding: 6.5rem var(--space-m, 2rem);
}

.pfi-competition-detail-layout {
  align-items: start;
  display: grid;
  gap: 4.4rem;
  grid-template-columns: minmax(0, 1fr) minmax(26rem, 33rem);
}

.pfi-competition-detail-content {
  display: grid;
  gap: 2rem;
  min-width: 0;
}

.pfi-competition-detail-notice,
.pfi-competition-detail-section,
.pfi-competition-detail-panel {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.6rem;
  box-shadow: 0 1.2rem 3.4rem rgba(1, 11, 19, 0.07);
}

.pfi-competition-detail-notice {
  border-left: 0.5rem solid var(--pfi-accent-lime);
  padding: 2rem;
}

.pfi-competition-detail-notice strong {
  color: var(--pfi-primary-navy);
  display: block;
  font-size: 1.58rem;
  font-weight: 850;
  line-height: 1.2;
  margin-bottom: 0.55rem;
}

.pfi-competition-detail-notice p {
  color: #52637a;
  font-size: 1.48rem;
  line-height: 1.58;
  margin: 0;
}

.pfi-competition-detail-brand {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.6rem;
  box-shadow: 0 1.2rem 3.4rem rgba(1, 11, 19, 0.07);
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
  padding: clamp(2rem, 3vw, 3rem);
}

.pfi-competition-detail-brand__logo {
  align-items: center;
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1.2rem;
  display: flex;
  justify-content: center;
  min-height: 15rem;
  padding: 1.6rem;
}

.pfi-competition-detail-brand__logo img {
  display: block;
  height: auto;
  max-height: 13rem;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

.pfi-competition-detail-brand__copy h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.2rem, 2.6vw, 3rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0 0 1rem;
}

.pfi-competition-detail-brand__copy p {
  color: #52637a;
  font-size: 1.58rem;
  line-height: 1.65;
  margin: 0 0 1.6rem;
}

.pfi-competition-detail-section {
  padding: 3.4rem;
  scroll-margin-top: 12rem;
}

.pfi-competition-detail-section h2 {
  color: var(--pfi-primary-navy);
  font-size: 3.2rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.1;
  margin: 0 0 1.4rem;
}

.pfi-competition-detail-section p,
.pfi-competition-detail-section li {
  color: #52637a;
  font-size: 1.64rem;
  line-height: 1.72;
}

.pfi-competition-detail-section p {
  margin: 0 0 1.35rem;
}

.pfi-competition-detail-section p:last-child {
  margin-bottom: 0;
}

.pfi-competition-detail-section ul {
  display: grid;
  gap: 0.85rem;
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}

.pfi-competition-detail-section li {
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1rem;
  padding: 1.05rem 1.2rem 1.05rem 3.6rem;
  position: relative;
}

.pfi-competition-detail-section li::before {
  background: var(--pfi-action-blue);
  border-radius: 999px;
  box-shadow: 0 0 0 0.3rem rgba(37, 99, 235, 0.1);
  content: "";
  height: 0.8rem;
  left: 1.5rem;
  position: absolute;
  top: 2rem;
  width: 0.8rem;
}

.pfi-competition-detail-aside__sticky {
  display: grid;
  gap: 1.4rem;
  position: sticky;
  top: 11rem;
}

.pfi-competition-detail-panel {
  padding: 1.8rem;
}

.pfi-competition-detail-panel h2 {
  color: var(--pfi-primary-navy);
  font-size: 1.55rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-competition-detail-panel p {
  color: #52637a;
  font-size: 1.42rem;
  line-height: 1.55;
  margin: 0 0 1.4rem;
}

.pfi-competition-detail-toc,
.pfi-competition-detail-related {
  display: grid;
  gap: 0.45rem;
}

.pfi-competition-detail-toc a,
.pfi-competition-detail-related a {
  border-radius: 0.8rem;
  color: #52637a;
  font-size: 1.42rem;
  font-weight: 750;
  line-height: 1.25;
  padding: 0.85rem 1rem;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease;
}

.pfi-competition-detail-toc a:hover,
.pfi-competition-detail-toc a:focus-visible,
.pfi-competition-detail-related a:hover,
.pfi-competition-detail-related a:focus-visible {
  background: #f5f8fb;
  color: var(--pfi-soft-accent-blue);
}

.pfi-competition-detail-panel--cta {
  background: var(--pfi-primary-navy);
  color: #fff;
}

.pfi-competition-detail-panel--cta h2,
.pfi-competition-detail-panel--cta p {
  color: #fff;
}

@media (max-width: 1024px) {
  .pfi-competition-detail-layout {
    grid-template-columns: 1fr;
  }

  .pfi-competition-detail-aside__sticky {
    position: static;
  }

  .pfi-competition-detail-toc,
  .pfi-competition-detail-related {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .pfi-competition-detail-hero__title {
    font-size: 5.2rem;
  }

  .pfi-competition-detail-summary__grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 768px) {
  .pfi-competition-detail--international-padel-and-fip .pfi-competition-detail-hero,
  .pfi-competition-detail--juniors .pfi-competition-detail-hero,
  .pfi-competition-detail--seniors .pfi-competition-detail-hero,
  .pfi-competition-detail--adaptive-padel .pfi-competition-detail-hero,
  .pfi-competition-detail--deaf-padel .pfi-competition-detail-hero {
    min-height: calc(100vh - 11.2rem);
    min-height: calc(100svh - 11.2rem);
  }
}

@media (max-width: 767px) {
  .pfi-competition-detail-hero,
  .pfi-competition-detail-summary,
  .pfi-competition-detail-body {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .pfi-competition-detail-hero {
    padding-bottom: 5.2rem;
    padding-top: 5.2rem;
  }

  .pfi-competition-detail-hero--has-image {
    align-items: stretch;
    background: #053142 !important;
    display: grid;
    grid-template-rows: minmax(25rem, 42svh) minmax(0, 1fr);
    min-height: calc(100svh - 7.4rem);
    padding: 0;
  }

  .pfi-competition-detail-hero--has-image::before {
    background-image:
      linear-gradient(180deg, rgba(1, 18, 30, 0.02) 0%, rgba(1, 18, 30, 0.2) 100%),
      var(--pfi-competition-detail-hero-photo-mobile, var(--pfi-competition-detail-hero-photo));
    background-position: center;
    background-size: cover;
    content: "";
    display: block;
    inset: auto;
    min-height: clamp(25rem, 42svh, 35rem);
    position: static;
    width: 100%;
    z-index: auto;
  }

  .pfi-competition-detail--irish-padel-tour .pfi-competition-detail-hero--has-image::before {
    background-position: center top;
  }

  .pfi-competition-detail-hero--has-image::after {
    display: none;
  }

  .pfi-competition-detail-hero--has-image .pfi-competition-detail-hero__inner {
    margin-inline: 0;
    max-width: 38rem;
    padding: clamp(2.8rem, 7vw, 3.4rem) 2rem clamp(3.6rem, 9vw, 4.8rem);
  }

  .pfi-competition-detail-hero--category:not(.pfi-competition-detail-hero--has-image) {
    min-height: auto;
    padding-bottom: 4.4rem;
    padding-top: 4.6rem;
  }

  .pfi-competition-detail-hero__title {
    font-size: clamp(3.1rem, 8.7vw, 3.55rem);
    line-height: 1.04;
    max-width: 11em;
  }

  .pfi-competition-detail-hero__text {
    font-size: 1.5rem;
    line-height: 1.55;
    margin-top: 1.7rem;
  }

  .pfi-competition-detail-actions,
  .pfi-competition-detail-pills {
    align-items: stretch;
    flex-direction: column;
    gap: 0.9rem;
    margin-top: 2.2rem;
  }

  .pfi-competition-detail-button {
    border-radius: 1.2rem;
    min-height: 4.4rem;
    padding: 1.2rem 1.6rem;
    width: 100%;
  }

  .pfi-competition-detail-pills {
    display: none;
  }

  .pfi-competition-detail-pills span {
    text-align: center;
  }

  .pfi-competition-detail-section,
  .pfi-competition-detail-notice,
  .pfi-competition-detail-brand,
  .pfi-competition-detail-summary-card,
  .pfi-competition-detail-panel {
    border-radius: 1.2rem;
  }

  .pfi-competition-detail-brand {
    grid-template-columns: 1fr;
    padding: 2.2rem;
  }

  .pfi-competition-detail-brand__logo {
    min-height: 12rem;
  }

  .pfi-competition-detail-section {
    padding: 2.2rem;
  }

  .pfi-competition-detail-section h2 {
    font-size: 2.65rem;
  }

  .pfi-competition-detail-toc,
  .pfi-competition-detail-related {
    gap: 0.85rem;
    grid-template-columns: 1fr;
  }

  .pfi-competition-detail-toc a,
  .pfi-competition-detail-related a {
    align-items: center;
    background: #f5f8fb;
    border: 0;
    border-radius: 1rem;
    color: var(--pfi-primary-navy);
    display: flex;
    font-weight: 850;
    gap: 1rem;
    justify-content: space-between;
    min-height: 4.4rem;
    padding: 1.05rem 1.15rem;
    transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
  }

  .pfi-competition-detail-toc a::after,
  .pfi-competition-detail-related a::after {
    border-right: 0.2rem solid currentColor;
    border-top: 0.2rem solid currentColor;
    content: "";
    flex: 0 0 0.8rem;
    height: 0.8rem;
    transform: rotate(45deg);
    width: 0.8rem;
  }

  .pfi-competition-detail-toc a:hover,
  .pfi-competition-detail-toc a:focus-visible,
  .pfi-competition-detail-related a:hover,
  .pfi-competition-detail-related a:focus-visible {
    background: var(--pfi-primary-navy);
    color: #fff;
    transform: translateX(0.2rem);
  }

  .pfi-competition-detail-toc a:active,
  .pfi-competition-detail-related a:active,
  .pfi-competition-detail-toc a:focus:not(:focus-visible),
  .pfi-competition-detail-related a:focus:not(:focus-visible) {
    background: #f5f8fb;
    color: var(--pfi-primary-navy);
    outline: none;
    transform: none;
  }
}

/* ==========================================================================
   PFI Irish Padel Tour Page
   ========================================================================== */

.pfi-competition-detail--irish-padel-tour {
  background: var(--pfi-surface-dark);
}

.pfi-competition-detail--irish-padel-tour,
.pfi-competition-detail--irish-padel-tour * {
  box-sizing: border-box;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-summary {
  background: var(--pfi-surface-dark);
  color: #fff;
  padding-block: clamp(5.8rem, 7vw, 8rem);
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-summary__intro h2 {
  color: #fff;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-summary__intro p {
  color: rgba(248, 251, 255, 0.76);
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-summary__grid {
  gap: 1.6rem;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-summary-card {
  align-items: center;
  background: var(--pfi-portal-panel);
  border-color: rgba(56, 189, 248, 0.18);
  box-shadow: none;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: clamp(2.4rem, 3vw, 3.1rem);
  text-align: center;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-summary-card__icon {
  background: rgba(191, 255, 0, 0.1) !important;
  border-color: rgba(191, 255, 0, 0.24) !important;
  border-radius: 999px;
  color: var(--pfi-accent-lime) !important;
  height: 5.8rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5.8rem;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-summary-card__svg {
  height: 3rem;
  width: 3rem;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-summary-card h2,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-summary-card h3 {
  color: var(--pfi-accent-lime);
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-summary-card p {
  color: rgba(248, 251, 255, 0.74);
  max-width: 28rem;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-body {
  background: linear-gradient(180deg, var(--pfi-surface-dark) 0%, #031a25 100%);
  color: #fff;
  padding-block: clamp(5.8rem, 7vw, 8.2rem);
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-layout {
  gap: clamp(2.8rem, 4vw, 4.8rem);
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-content {
  gap: 2.2rem;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-notice,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-brand,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-section,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-panel {
  background: var(--pfi-portal-panel);
  border-color: rgba(56, 189, 248, 0.16);
  box-shadow: none;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-notice {
  background: var(--pfi-portal-panel-strong);
  border-left-color: var(--pfi-accent-lime);
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-notice strong,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-brand__copy h2,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-section h2,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-panel h2 {
  color: var(--pfi-accent-lime);
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-notice p,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-brand__copy p,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-section p,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-section li,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-panel p {
  color: rgba(248, 251, 255, 0.78);
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-brand {
  background: linear-gradient(135deg, var(--pfi-portal-panel) 0%, var(--pfi-portal-panel-strong) 100%);
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-brand__logo {
  background: #fff;
  border-color: rgba(255, 255, 255, 0.18);
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-section {
  overflow: hidden;
  position: relative;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-section::before {
  background: var(--pfi-accent-lime);
  content: "";
  height: 0.4rem;
  inset: 0 0 auto;
  position: absolute;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-section ul {
  gap: 1rem;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-section li {
  background: var(--pfi-portal-panel-strong);
  border-color: rgba(56, 189, 248, 0.18);
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-section li::before {
  background: var(--pfi-accent-lime) !important;
  box-shadow: 0 0 0 0.3rem rgba(191, 255, 0, 0.12) !important;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-toc,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-related {
  gap: 0.7rem;
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-toc a,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-related a {
  background: var(--pfi-portal-panel-strong);
  color: rgba(248, 251, 255, 0.86);
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-toc a:hover,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-toc a:focus-visible,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-related a:hover,
.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-related a:focus-visible {
  background: rgba(56, 189, 248, 0.14);
  color: var(--pfi-territory-light-blue);
}

.pfi-competition-detail--irish-padel-tour .pfi-competition-detail-panel--cta {
  background: var(--pfi-portal-panel-strong);
}

@media (max-width: 767px) {
  .pfi-competition-detail--irish-padel-tour .pfi-competition-detail-summary,
  .pfi-competition-detail--irish-padel-tour .pfi-competition-detail-body {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .pfi-competition-detail--irish-padel-tour .pfi-competition-detail-summary-card {
    align-items: flex-start;
    text-align: left;
  }

  .pfi-competition-detail--irish-padel-tour .pfi-competition-detail-summary-card p {
    max-width: none;
  }

  .pfi-competition-detail--irish-padel-tour .pfi-competition-detail-toc a,
  .pfi-competition-detail--irish-padel-tour .pfi-competition-detail-related a {
    background: var(--pfi-portal-panel-strong);
    color: #fff;
  }

  .pfi-competition-detail--irish-padel-tour .pfi-competition-detail-button {
    max-width: 100%;
    white-space: normal;
  }

  .pfi-competition-detail--irish-padel-tour .pfi-competition-detail-toc a:active,
  .pfi-competition-detail--irish-padel-tour .pfi-competition-detail-related a:active,
  .pfi-competition-detail--irish-padel-tour .pfi-competition-detail-toc a:focus:not(:focus-visible),
  .pfi-competition-detail--irish-padel-tour .pfi-competition-detail-related a:focus:not(:focus-visible) {
    background: var(--pfi-portal-panel-strong);
    color: #fff;
  }
}

/* ==========================================================================
   PFI Padel League of Ireland Page
   ========================================================================== */

.pfi-pli {
  background: #f5f8fb;
  color: var(--pfi-primary-navy);
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  overflow: hidden;
}

.pfi-pli-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  padding-inline: var(--space-m, 2rem);
  width: 100%;
}

.pfi-pli-hero {
  background: linear-gradient(135deg, #053142 0%, #053142 38%, var(--pfi-primary-navy) 100%);
  color: #fff;
  padding: clamp(6.8rem, 8vw, 10rem) 0;
  position: relative;
}

.pfi-pli-hero--has-image {
  background-image:
    linear-gradient(180deg, transparent 58%, rgba(1, 11, 19, 0.55)),
    linear-gradient(90deg, rgba(1, 11, 19, 0.84) 0%, rgba(1, 11, 19, 0.68) 42%, rgba(1, 11, 19, 0.28) 72%, rgba(1, 11, 19, 0.42) 100%),
    var(--pfi-pli-hero-image);
  background-position: center, center, center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: calc(100vh - 11.2rem);
  min-height: calc(100svh - 11.2rem);
}

.pfi-pli-hero__grid {
  align-items: center;
  display: grid;
  gap: clamp(3rem, 5vw, 6rem);
  grid-template-columns: minmax(0, 1fr) minmax(24rem, 34rem);
}

.pfi-pli-kicker,
.pfi-pli-label,
.pfi-pli-section-heading > p {
  color: var(--pfi-accent-lime);
  font-size: 1.25rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1.15rem;
  text-transform: uppercase;
}

.pfi-pli-hero h1 {
  color: #fff;
  font-size: clamp(4.7rem, 6vw, 7.2rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 0.98;
  margin: 0;
  max-width: 9.8em;
}

.pfi-pli-hero__copy > p:not(.pfi-pli-kicker) {
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1.72rem, 1.5vw, 2rem);
  line-height: 1.6;
  margin: 2rem 0 0;
  max-width: 66rem;
}

.pfi-pli-hero__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 3rem;
}

.pfi-pli-provinces {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pfi-pli-province-card {
  align-items: center;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 1.6rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  min-height: clamp(6.8rem, 7vw, 9rem);
  padding: clamp(0.9rem, 1.2vw, 1.4rem);
}

.pfi-pli-province-card img {
  display: block;
  height: auto;
  max-height: clamp(3.1rem, 3.5vw, 4.5rem);
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

.pfi-pli-province-card figcaption {
  color: #fff;
  font-size: 1.42rem;
  font-weight: 850;
  line-height: 1.2;
  margin-top: 0.9rem;
}

.pfi-pli-summary,
.pfi-pli-section {
  padding-block: clamp(5.4rem, 7vw, 7.6rem);
}

.pfi-pli-section[id] {
  scroll-margin-top: 12rem;
}

.pfi-pli-summary,
.pfi-pli-section--white {
  background: #fff;
}

.pfi-pli-section--dark {
  background: linear-gradient(135deg, #053142 0%, var(--pfi-primary-navy) 100%);
  color: #fff;
}

.pfi-pli-section-heading {
  margin: 0 auto 3rem;
  max-width: 78rem;
  text-align: center;
}

.pfi-pli-section-heading--left {
  margin: 0;
  max-width: 52rem;
  text-align: left;
}

.pfi-pli-section-heading h2,
.pfi-pli-match-card h2,
.pfi-pli-fees h2,
.pfi-pli-mission-grid h2,
.pfi-pli-governance h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 3.5vw, 4.8rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.04;
  margin: 0;
}

.pfi-pli-section--dark .pfi-pli-section-heading h2 {
  color: #fff;
}

.pfi-pli-section--dark .pfi-pli-section-heading > p {
  color: var(--pfi-accent-lime);
}

.pfi-pli-section-heading span,
.pfi-pli-section-heading > p + h2 + span,
.pfi-pli-match-card > p:not(.pfi-pli-label),
.pfi-pli-fees > div:not(.pfi-pli-fees__note) > p:not(.pfi-pli-label),
.pfi-pli-mission-grid p:not(.pfi-pli-label),
.pfi-pli-governance p {
  color: #52637a;
  display: block;
  font-size: 1.68rem;
  line-height: 1.64;
  margin-top: 1.35rem;
}

.pfi-pli-summary__grid {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-pli-stat,
.pfi-pli-info-card,
.pfi-pli-match-card,
.pfi-pli-panel,
.pfi-pli-warning,
.pfi-pli-benefits article {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  box-shadow: 0 1.2rem 3.4rem rgba(1, 11, 19, 0.07);
}

.pfi-pli-stat {
  padding: 2.4rem;
}

.pfi-pli-stat strong {
  color: var(--pfi-territory-light-blue);
  display: block;
  font-size: clamp(3.4rem, 4vw, 5rem);
  font-weight: 900;
  line-height: 0.95;
  margin-bottom: 1.4rem;
}

.pfi-pli-stat h3,
.pfi-pli-info-card h3,
.pfi-pli-panel h3,
.pfi-pli-benefits h3,
.pfi-pli-date-list h3,
.pfi-pli-timeline h3 {
  color: var(--pfi-primary-navy);
  font-size: 1.88rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-pli-stat p,
.pfi-pli-info-card p,
.pfi-pli-info-card li,
.pfi-pli-panel p,
.pfi-pli-panel li,
.pfi-pli-benefits p,
.pfi-pli-date-list p,
.pfi-pli-timeline p,
.pfi-pli-warning p {
  color: #52637a;
  font-size: 1.52rem;
  line-height: 1.6;
}

.pfi-pli-stat p,
.pfi-pli-info-card p,
.pfi-pli-panel p,
.pfi-pli-benefits p,
.pfi-pli-date-list p,
.pfi-pli-timeline p,
.pfi-pli-warning p,
.pfi-pli-fees__note p {
  margin: 1rem 0 0;
}

.pfi-pli-two-column,
.pfi-pli-match-grid,
.pfi-pli-fees,
.pfi-pli-mission-grid,
.pfi-pli-governance {
  align-items: start;
  display: grid;
  gap: clamp(2.4rem, 4vw, 4.4rem);
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
}

.pfi-pli-timeline,
.pfi-pli-date-list {
  display: grid;
  gap: 1.2rem;
}

.pfi-pli-timeline__item,
.pfi-pli-date-list article {
  align-items: start;
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  box-shadow: 0 1.1rem 3rem rgba(1, 11, 19, 0.06);
  display: grid;
  gap: 1.6rem;
  grid-template-columns: 5.2rem minmax(0, 1fr);
  padding: 1.8rem;
}

.pfi-pli-timeline__item > span,
.pfi-pli-date-list time {
  align-items: center;
  background: var(--pfi-primary-navy);
  border-radius: 1.1rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  font-size: 1.28rem;
  font-weight: 900;
  justify-content: center;
  line-height: 1;
  min-height: 4.8rem;
  padding: 0.8rem;
  text-align: center;
}

.pfi-pli-card-grid {
  display: grid;
  gap: 1.4rem;
}

.pfi-pli-card-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-pli-card-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-pli-document-section {
  align-items: start;
  display: grid;
  gap: clamp(2.4rem, 4vw, 4.4rem);
  grid-template-columns: minmax(0, 0.58fr) minmax(0, 1fr);
}

.pfi-pli-document-copy {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  box-shadow: 0 1.2rem 3.4rem rgba(1, 11, 19, 0.07);
  padding: clamp(2.4rem, 3vw, 3.4rem);
}

.pfi-pli-document-copy p,
.pfi-pli-document-copy li {
  color: #52637a;
  font-size: 1.6rem;
  line-height: 1.66;
}

.pfi-pli-document-copy p {
  margin: 0;
}

.pfi-pli-document-copy p + p,
.pfi-pli-document-copy ul + p {
  margin-top: 1.2rem;
}

.pfi-pli-document-copy ul {
  display: grid;
  gap: 0.78rem;
  list-style: none;
  margin: 1.6rem 0;
  padding: 0;
}

.pfi-pli-document-copy li {
  padding-left: 1.8rem;
  position: relative;
}

.pfi-pli-document-copy li::before {
  background: var(--pfi-territory-light-blue);
  border-radius: 999px;
  content: "";
  height: 0.72rem;
  left: 0;
  position: absolute;
  top: 0.9rem;
  width: 0.72rem;
}

.pfi-pli-intro-feature {
  align-items: center;
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
}

.pfi-pli-intro-feature__content h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 3.5vw, 4.8rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.04;
  margin: 0;
}

.pfi-pli-intro-feature__content p {
  color: #52637a;
  font-size: 1.68rem;
  line-height: 1.64;
  margin: 1.35rem 0 0;
}

.pfi-pli-intro-feature img {
  aspect-ratio: 4 / 3;
  border-radius: 1.8rem;
  box-shadow: 0 2rem 5rem rgba(1, 11, 19, 0.16);
  display: block;
  object-fit: cover;
  width: 100%;
}

.pfi-pli-section--intro-dark {
  background: linear-gradient(180deg, var(--pfi-portal-bg) 0%, var(--pfi-portal-bg-deep) 100%);
  color: #fff;
}

.pfi-pli-section--intro-dark .pfi-pli-intro-feature__content h2 {
  color: #fff;
}

.pfi-pli-section--intro-dark .pfi-pli-intro-feature__content p {
  color: rgba(255, 255, 255, 0.78);
}

.pfi-pli-section--intro-dark .pfi-pli-intro-feature img {
  box-shadow: 0 2rem 5rem rgba(1, 11, 19, 0.34);
}

.pfi-pli-governance-feature .pfi-pli-intro-feature__content ul {
  display: grid;
  gap: 0.9rem;
  list-style: none;
  margin: 1.6rem 0;
  padding: 0;
}

.pfi-pli-governance-feature .pfi-pli-intro-feature__content li {
  color: color-mix(in srgb, var(--pfi-portal-text) 78%, transparent);
  font-size: 1.6rem;
  line-height: 1.58;
  padding-left: 1.8rem;
  position: relative;
}

.pfi-pli-governance-feature .pfi-pli-intro-feature__content li::before {
  background: var(--pfi-territory-light-blue);
  border-radius: 999px;
  content: "";
  height: 0.72rem;
  left: 0;
  position: absolute;
  top: 0.92rem;
  width: 0.72rem;
}

.pfi-pli-section--team {
  background: linear-gradient(135deg, #053142 0%, var(--pfi-primary-navy) 100%);
}

.pfi-pli-team-feature {
  align-items: center;
  display: grid;
  gap: clamp(3rem, 5vw, 6rem);
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
}

.pfi-pli-team-feature__image {
  aspect-ratio: 4 / 3;
  border-radius: 1.8rem;
  box-shadow: 0 2rem 5rem rgba(1, 11, 19, 0.28);
  display: block;
  object-fit: cover;
  width: 100%;
}

.pfi-pli-team-feature__content h2 {
  color: #fff;
  font-size: clamp(3rem, 3.5vw, 4.8rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.04;
  margin: 0;
}

.pfi-pli-team-feature__content {
  min-width: 0;
}

.pfi-pli-team-feature__content > p {
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.68rem;
  line-height: 1.64;
  margin: 1.35rem 0 0;
}

.pfi-pli-team-steps {
  display: grid;
  gap: 1.25rem;
  margin-top: 2.4rem;
}

.pfi-pli-team-step {
  align-items: start;
  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 1.4rem;
  box-sizing: border-box;
  display: grid;
  gap: 1.6rem;
  grid-template-columns: 5.8rem minmax(0, 1fr);
  min-width: 0;
  padding: 1.8rem;
  width: 100%;
}

.pfi-pli-team-step > div {
  min-width: 0;
}

.pfi-pli-team-step__number {
  color: var(--pfi-accent-lime);
  font-size: clamp(2.9rem, 3vw, 3.8rem);
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.95;
}

.pfi-pli-team-step h3 {
  color: #fff;
  font-size: 1.78rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-pli-team-step ul {
  display: grid;
  gap: 0.58rem;
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
}

.pfi-pli-team-step li {
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.48rem;
  line-height: 1.5;
  padding-left: 1.45rem;
  position: relative;
}

.pfi-pli-team-step li::before {
  background: var(--pfi-tertiary-sky, #38bdf8);
  border-radius: 999px;
  content: "";
  height: 0.58rem;
  left: 0;
  position: absolute;
  top: 0.8rem;
  width: 0.58rem;
}

.pfi-pli-structure-timeline {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding-top: 0.4rem;
  position: relative;
}

.pfi-pli-structure-timeline::before {
  background: linear-gradient(90deg, rgba(0, 66, 90, 0.18), var(--pfi-tertiary-sky, #38bdf8), rgba(0, 66, 90, 0.18));
  border-radius: 999px;
  content: "";
  height: 0.36rem;
  left: 9%;
  position: absolute;
  right: 9%;
  top: 4.4rem;
  z-index: 1;
}

.pfi-pli-section--dark .pfi-pli-structure-timeline::before {
  background: linear-gradient(90deg, rgba(191, 255, 0, 0.24), var(--pfi-accent-lime), rgba(56, 189, 248, 0.58));
}

.pfi-pli-structure-step {
  display: grid;
  gap: 3rem;
  grid-template-rows: auto 1fr;
  margin: 0;
  min-width: 0;
  position: relative;
}

.pfi-pli-structure-step__marker {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 8.8rem;
  position: relative;
  z-index: 2;
}

.pfi-pli-structure-step__icon {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.12);
  border-radius: 999px;
  box-shadow: 0 1.2rem 3.2rem rgba(1, 11, 19, 0.1);
  display: inline-flex;
  height: 8.4rem;
  justify-content: center;
  width: 8.4rem;
}

.pfi-pli-structure-step__icon img {
  display: block;
  height: 8rem;
  object-fit: contain;
  width: 8rem;
}

.pfi-pli-structure-step:first-child .pfi-pli-structure-step__icon img {
  height: 8rem;
  transform: scale(1.22);
  width: 8rem;
}

.pfi-pli-structure-step__content {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 86%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-sizing: border-box;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 2rem;
  position: relative;
  width: 100%;
  z-index: 2;
}

.pfi-pli-structure-step__content h3 {
  color: var(--pfi-accent-lime);
  font-size: 1.76rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
  text-align: center;
}

.pfi-pli-structure-step__content p,
.pfi-pli-structure-step__content li {
  color: color-mix(in srgb, var(--pfi-portal-text) 76%, transparent);
  font-size: 1.42rem;
  line-height: 1.58;
}

.pfi-pli-structure-step__content p {
  margin: 1rem 0 0;
  text-align: center;
}

.pfi-pli-structure-step__content ul {
  display: grid;
  gap: 0.65rem;
  list-style: none;
  margin: 1.4rem 0 0;
  padding: 0;
}

.pfi-pli-structure-step__content li {
  padding-left: 1.5rem;
  position: relative;
}

.pfi-pli-structure-step__content li::before {
  background: var(--pfi-tertiary-sky, #38bdf8);
  border-radius: 999px;
  content: "";
  height: 0.58rem;
  left: 0;
  position: absolute;
  top: 0.8rem;
  width: 0.58rem;
}

@media (min-width: 1101px) {
  .pfi-pli-structure-step__content h3 {
    min-height: 4.1rem;
  }

  .pfi-pli-structure-step__content p {
    min-height: 14.8rem;
  }
}

.pfi-pli-info-card {
  padding: 2.4rem;
}

.pfi-pli-info-card--compact {
  box-shadow: none;
}

.pfi-pli-info-card ul,
.pfi-pli-panel ul {
  display: grid;
  gap: 0.78rem;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}

.pfi-pli-info-card li,
.pfi-pli-panel li {
  padding-left: 1.8rem;
  position: relative;
}

.pfi-pli-info-card li::before,
.pfi-pli-panel li::before {
  background: var(--pfi-territory-light-blue);
  border-radius: 999px;
  content: "";
  height: 0.72rem;
  left: 0;
  position: absolute;
  top: 0.9rem;
  width: 0.72rem;
}

.pfi-pli-match-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(27rem, 0.8fr);
}

.pfi-pli-match-card,
.pfi-pli-panel {
  padding: clamp(2.4rem, 3vw, 3.4rem);
}

.pfi-pli-court-points {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2.4rem;
}

.pfi-pli-court-points div {
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.2rem;
  padding: 1.4rem;
}

.pfi-pli-court-points span {
  color: #52637a;
  display: block;
  font-size: 1.28rem;
  font-weight: 850;
  line-height: 1.1;
  margin-bottom: 0.6rem;
  text-transform: uppercase;
}

.pfi-pli-court-points strong {
  color: var(--pfi-primary-navy);
  display: block;
  font-size: clamp(2rem, 2.2vw, 2.8rem);
  font-weight: 900;
  line-height: 1;
}

.pfi-pli-warning {
  border-left: 0.5rem solid var(--pfi-accent-lime);
  margin-top: 1.6rem;
  padding: 1.8rem 2rem;
}

.pfi-pli-warning strong {
  color: var(--pfi-primary-navy);
  display: block;
  font-size: 1.58rem;
  font-weight: 850;
  line-height: 1.2;
}

.pfi-pli-section--match-board {
  background: linear-gradient(180deg, var(--pfi-portal-bg) 0%, var(--pfi-portal-bg-deep) 100%);
  color: #fff;
}

.pfi-pli-match-board {
  display: grid;
  gap: 1.6rem;
  grid-template-areas:
    "image header header"
    "image flow flow"
    "points points tiers";
  grid-template-columns: minmax(28rem, 0.8fr) repeat(2, minmax(0, 1fr));
}

.pfi-pli-match-board__image,
.pfi-pli-match-board__header,
.pfi-pli-match-flow-card,
.pfi-pli-match-board__points,
.pfi-pli-match-board__tiers {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 84%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.22);
}

.pfi-pli-match-board__image {
  display: flex;
  flex-direction: column;
  grid-area: image;
  margin: 0;
  min-width: 0;
  overflow: hidden;
}

.pfi-pli-match-board__image img {
  aspect-ratio: 4 / 5;
  display: block;
  flex: 1 1 auto;
  height: 100%;
  min-height: 34rem;
  object-fit: cover;
  width: 100%;
}

.pfi-pli-match-board__header {
  grid-area: header;
  padding: clamp(2.4rem, 3vw, 3.4rem);
}

.pfi-pli-match-board__header .pfi-pli-label {
  color: var(--pfi-accent-lime);
}

.pfi-pli-match-board__header h2 {
  color: #fff;
  font-size: clamp(3rem, 3.5vw, 4.8rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.04;
  margin: 0;
}

.pfi-pli-match-board__header p:not(.pfi-pli-label) {
  color: color-mix(in srgb, var(--pfi-portal-text) 78%, transparent);
  font-size: 1.68rem;
  line-height: 1.62;
  margin: 1.3rem 0 0;
  max-width: 74rem;
}

.pfi-pli-match-board__flow {
  display: grid;
  gap: 1.2rem;
  grid-area: flow;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-pli-match-flow-card {
  align-items: start;
  display: grid;
  gap: 1.4rem;
  grid-template-columns: 4.6rem minmax(0, 1fr);
  min-width: 0;
  padding: 2rem;
}

.pfi-pli-match-flow-card > span {
  color: var(--pfi-accent-lime);
  font-size: 3rem;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  line-height: 0.95;
}

.pfi-pli-match-flow-card h3,
.pfi-pli-match-board__points h3,
.pfi-pli-match-board__tiers h3 {
  color: #fff;
  font-size: 1.9rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-pli-match-flow-card p,
.pfi-pli-match-board__points p,
.pfi-pli-match-board__tiers p,
.pfi-pli-match-board__tiers li span {
  color: color-mix(in srgb, var(--pfi-portal-text) 76%, transparent);
  font-size: 1.5rem;
  line-height: 1.56;
}

.pfi-pli-match-flow-card p,
.pfi-pli-match-board__points p,
.pfi-pli-match-board__tiers p {
  margin: 0.9rem 0 0;
}

.pfi-pli-match-board__points {
  grid-area: points;
  padding: clamp(2.2rem, 2.6vw, 3rem);
}

.pfi-pli-match-board__points .pfi-pli-court-points div {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.14);
}

.pfi-pli-match-board__points .pfi-pli-court-points span {
  color: color-mix(in srgb, var(--pfi-portal-text) 72%, transparent);
}

.pfi-pli-match-board__points .pfi-pli-court-points strong {
  color: var(--pfi-accent-lime);
}

.pfi-pli-match-board__tiers {
  grid-area: tiers;
  padding: clamp(2.2rem, 2.6vw, 3rem);
}

.pfi-pli-match-board__tiers ul {
  display: grid;
  gap: 0.9rem;
  list-style: none;
  margin: 1.6rem 0 0;
  padding: 0;
}

.pfi-pli-match-board__tiers li {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: grid;
  gap: 0.35rem;
  padding-top: 0.9rem;
}

.pfi-pli-match-board__tiers li:first-child {
  border-top: 0;
  padding-top: 0;
}

.pfi-pli-match-board__tiers li strong {
  color: #fff;
  font-size: 1.48rem;
  font-weight: 850;
  line-height: 1.2;
}

.pfi-pli-section--schedule {
  background: linear-gradient(135deg, #053142 0%, var(--pfi-primary-navy) 100%);
}

.pfi-pli-schedule-image {
  aspect-ratio: 21 / 7;
  border-radius: 1.4rem;
  box-shadow: 0 2rem 5rem rgba(1, 11, 19, 0.24);
  display: block;
  margin: 0 auto clamp(2.4rem, 3vw, 3.4rem);
  max-height: 34rem;
  object-fit: cover;
  width: 100%;
}

.pfi-pli-schedule-grid {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-pli-schedule-card {
  align-items: center;
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 84%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.22);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 2.2rem;
  text-align: center;
}

.pfi-pli-schedule-card__icon {
  align-items: center;
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.24);
  border-radius: 0.7rem;
  display: inline-flex;
  height: 5.2rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5.2rem;
}

.pfi-pli-schedule-card__icon img {
  display: block;
  filter: brightness(0) saturate(100%) invert(85%) sepia(99%) saturate(1089%) hue-rotate(18deg) brightness(107%) contrast(105%);
  height: 3.15rem;
  object-fit: contain;
  transform: scale(1.32);
  width: 3.15rem;
}

.pfi-pli-schedule-card h3 {
  color: #fff;
  font-size: 1.84rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-pli-schedule-card p {
  color: color-mix(in srgb, var(--pfi-portal-text) 76%, transparent);
  font-size: 1.48rem;
  line-height: 1.58;
  margin: 1rem 0 0;
}

.pfi-pli-section--fees {
  background: linear-gradient(135deg, #053142 0%, var(--pfi-primary-navy) 100%);
  color: #fff;
}

.pfi-pli-section--fees .pfi-pli-section-heading h2 {
  color: #fff;
}

.pfi-pli-fees {
  grid-template-columns: minmax(0, 0.86fr) minmax(26rem, 0.7fr) minmax(24rem, 0.64fr);
}

.pfi-pli-fees--document {
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr) minmax(29rem, 0.62fr);
  margin-inline: auto;
  max-width: 104rem;
}

.pfi-pli-fee-summary {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 86%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.18);
  display: grid;
  gap: 1.4rem;
  padding: clamp(2rem, 2.7vw, 3rem);
}

.pfi-pli-fee-summary span,
.pfi-pli-fee-breakdown span,
.pfi-pli-fee-breakdown small {
  display: block;
  font-size: 1.22rem;
  font-weight: 850;
  line-height: 1.25;
  text-transform: uppercase;
}

.pfi-pli-fee-summary span,
.pfi-pli-fee-breakdown span {
  color: var(--pfi-accent-lime);
}

.pfi-pli-fee-summary__lead strong {
  color: var(--pfi-territory-light-blue);
  display: block;
  font-size: clamp(4.2rem, 6vw, 6.8rem);
  font-weight: 900;
  line-height: 1;
  margin: 0.75rem 0 0.8rem;
}

.pfi-pli-fee-summary__lead p,
.pfi-pli-fee-breakdown small {
  color: color-mix(in srgb, var(--pfi-portal-text) 76%, transparent);
  font-size: 1.48rem;
  line-height: 1.56;
  margin: 0;
  text-transform: none;
}

.pfi-pli-fee-breakdown {
  display: grid;
  gap: 1.1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pfi-pli-fee-breakdown div {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(224, 224, 224, 0.13);
  border-radius: 0.7rem;
  padding: 1.35rem;
}

.pfi-pli-fee-breakdown strong {
  color: #fff;
  display: block;
  font-size: clamp(2.2rem, 2.2vw, 2.8rem);
  font-weight: 900;
  line-height: 1;
  margin: 0.5rem 0;
}

.pfi-pli-fee-summary__club {
  align-items: center;
  border-top: 1px solid rgba(224, 224, 224, 0.14);
  display: grid;
  gap: 0.8rem 1.4rem;
  grid-template-columns: 1fr;
  padding-top: 1.5rem;
}

.pfi-pli-fee-summary__club strong {
  color: var(--pfi-accent-lime);
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1;
}

.pfi-pli-fees__note {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 84%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.18);
  padding: clamp(2rem, 2.6vw, 2.8rem);
}

.pfi-pli-fees__note h3 {
  color: #fff;
  font-size: 1.9rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0 0 1.4rem;
}

.pfi-pli-section--fees .pfi-pli-fees__note p {
  color: color-mix(in srgb, var(--pfi-portal-text) 76%, transparent);
  font-size: 1.5rem;
  line-height: 1.56;
  margin: 0;
}

.pfi-pli-section--fees .pfi-pli-fees__note p + p {
  border-top: 1px solid rgba(224, 224, 224, 0.13);
  margin-top: 1.2rem;
  padding-top: 1.2rem;
}

.pfi-pli-section--calendar {
  background: linear-gradient(180deg, var(--pfi-portal-bg) 0%, var(--pfi-portal-bg-deep) 100%);
}

.pfi-pli-section--calendar .pfi-pli-section-heading h2 {
  color: #fff;
}

.pfi-pli-calendar-card {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 88%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 1.4rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.24);
  padding: clamp(1.6rem, 2.6vw, 3rem);
}

.pfi-pli-calendar {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-pli-calendar__month {
  background: var(--pfi-primary-navy);
  border: 1px solid rgba(224, 224, 224, 0.12);
  border-radius: 0.8rem;
  box-shadow: 0 1.1rem 3rem rgba(1, 11, 19, 0.12);
  padding: 1.6rem;
}

.pfi-pli-calendar__month h3 {
  color: var(--pfi-accent-lime);
  font-size: 1.72rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0 0 1.2rem;
  text-align: center;
}

.pfi-pli-calendar__weekdays,
.pfi-pli-calendar__dates {
  display: grid;
  gap: 0.42rem;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.pfi-pli-calendar__weekdays {
  margin-bottom: 0.52rem;
}

.pfi-pli-calendar__weekdays span {
  color: rgba(224, 224, 224, 0.74);
  font-size: 1rem;
  font-weight: 850;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.pfi-pli-calendar__dates span {
  align-items: center;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0.48rem;
  color: #fff;
  display: inline-flex;
  font-size: 1.08rem;
  font-weight: 800;
  justify-content: center;
  min-height: 3.2rem;
}

.pfi-pli-calendar__dates span.is-league-window {
  background: var(--pfi-territory-light-blue, #38bdf8);
  border-color: color-mix(in srgb, var(--pfi-territory-light-blue, #38bdf8) 76%, white);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
  color: #fff;
}

.pfi-pli-calendar__dates span.is-finals-window {
  background: var(--pfi-secondary-blue);
  border-color: color-mix(in srgb, var(--pfi-secondary-blue) 70%, white);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
  color: #fff;
}

.pfi-pli-calendar__dates span.is-empty {
  background: transparent;
  border-color: transparent;
}

.pfi-pli-section--benefits {
  color: #fff;
}

.pfi-pli-benefits {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding-top: 0.4rem;
  position: relative;
}

.pfi-pli-benefits::before {
  background: linear-gradient(90deg, rgba(191, 255, 0, 0.24), var(--pfi-accent-lime), rgba(56, 189, 248, 0.58));
  border-radius: 999px;
  content: "";
  height: 0.36rem;
  left: 9%;
  position: absolute;
  right: 9%;
  top: 4.4rem;
  z-index: 1;
}

.pfi-pli-section--benefits .pfi-pli-benefit-step {
  background: transparent;
  border: 0;
  box-shadow: none;
  display: grid;
  gap: 3rem;
  grid-template-rows: auto 1fr;
  margin: 0;
  min-width: 0;
  padding: 0;
  position: relative;
}

.pfi-pli-benefit-step__marker {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 8.8rem;
  position: relative;
  z-index: 2;
}

.pfi-pli-benefit-step__icon {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.12);
  border-radius: 999px;
  box-shadow: 0 1.2rem 3.2rem rgba(1, 11, 19, 0.1);
  display: inline-flex;
  height: 8.4rem;
  justify-content: center;
  width: 8.4rem;
}

.pfi-pli-benefit-step__icon img {
  display: block;
  height: 8rem;
  object-fit: contain;
  width: 8rem;
}

.pfi-pli-benefit-step__content {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 86%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  min-width: 0;
  padding: 2rem;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 2;
}

.pfi-pli-benefit-step__content h3 {
  color: var(--pfi-accent-lime);
  font-size: 1.76rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
  text-align: center;
}

.pfi-pli-benefit-step__content p {
  color: color-mix(in srgb, var(--pfi-portal-text) 76%, transparent);
  font-size: 1.42rem;
  line-height: 1.58;
  margin: 1rem 0 0;
  text-align: center;
}

.pfi-pli-section--next-steps {
  color: #fff;
}

.pfi-pli-next-steps {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding-top: 0.4rem;
  position: relative;
}

.pfi-pli-next-steps::before {
  background: linear-gradient(90deg, rgba(191, 255, 0, 0.24), var(--pfi-accent-lime), rgba(56, 189, 248, 0.58));
  border-radius: 999px;
  content: "";
  height: 0.36rem;
  left: 9%;
  position: absolute;
  right: 9%;
  top: 4.4rem;
  z-index: 1;
}

.pfi-pli-next-step {
  background: transparent;
  border: 0;
  box-shadow: none;
  display: grid;
  gap: 3rem;
  grid-template-rows: auto 1fr;
  margin: 0;
  min-width: 0;
  padding: 0;
  position: relative;
}

.pfi-pli-next-step__marker {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 8.8rem;
  position: relative;
  z-index: 2;
}

.pfi-pli-next-step__icon {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.12);
  border-radius: 999px;
  box-shadow: 0 1.2rem 3.2rem rgba(1, 11, 19, 0.1);
  display: inline-flex;
  height: 8.4rem;
  justify-content: center;
  width: 8.4rem;
}

.pfi-pli-next-step__icon img {
  display: block;
  height: 8rem;
  object-fit: contain;
  width: 8rem;
}

.pfi-pli-next-step__content {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 86%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  min-width: 0;
  padding: 2rem;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 2;
}

.pfi-pli-next-step__content time {
  color: #fff;
  display: block;
  font-size: 1.2rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0 0 0.85rem;
  text-align: center;
  text-transform: uppercase;
}

.pfi-pli-next-step__content h3 {
  color: var(--pfi-accent-lime);
  font-size: 1.76rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
  text-align: center;
}

.pfi-pli-next-step__content p {
  color: color-mix(in srgb, var(--pfi-portal-text) 76%, transparent);
  font-size: 1.42rem;
  line-height: 1.58;
  margin: 1rem 0 0;
  text-align: center;
}

.pfi-pli-section--mission,
.pfi-pli-section--governance {
  background: var(--pfi-primary-navy);
  color: #fff;
}

.pfi-pli-section--mission .pfi-pli-label,
.pfi-pli-section--governance .pfi-pli-label {
  color: var(--pfi-accent-lime);
}

.pfi-pli-section--mission .pfi-pli-section-heading h2 {
  color: #fff;
}

.pfi-pli-mission-grid {
  align-items: stretch;
}

.pfi-pli-mission-grid article {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.6rem;
  display: flex;
  flex-direction: column;
  padding: clamp(2.4rem, 3vw, 3.4rem);
}

.pfi-pli-section--mission h2,
.pfi-pli-section--mission p:not(.pfi-pli-label),
.pfi-pli-section--governance h2,
.pfi-pli-section--governance p {
  color: #fff;
}

.pfi-pli-date-list time {
  color: var(--pfi-accent-lime);
  min-width: 6.2rem;
}

.pfi-pli-governance {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(26rem, auto);
}

.pfi-pli-governance__links {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.pfi-pli-contact {
  align-items: start;
  display: grid;
  gap: clamp(2.4rem, 4vw, 4.4rem);
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
}

.pfi-pli-contact h2,
.pfi-pli-contact p {
  color: #fff;
}

.pfi-pli-section--final-cta {
  background: linear-gradient(135deg, var(--pfi-primary-navy) 0%, var(--pfi-portal-bg-deep) 100%);
}

.pfi-pli-section--final-cta .pfi-pli-contact {
  display: block;
}

.pfi-pli-final-cta__copy {
  margin-inline: auto;
  max-width: 68rem;
  text-align: center;
}

.pfi-pli-final-cta__actions {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2.2rem;
}

.pfi-pli-final-cta__actions .pfi-competition-detail-button {
  min-width: 13.6rem;
}

@media (max-width: 1100px) {
  .pfi-pli-hero__grid,
  .pfi-pli-two-column,
  .pfi-pli-match-grid,
  .pfi-pli-match-board,
  .pfi-pli-fees,
  .pfi-pli-mission-grid,
  .pfi-pli-governance,
  .pfi-pli-document-section,
  .pfi-pli-contact,
  .pfi-pli-intro-feature,
  .pfi-pli-team-feature {
    grid-template-columns: 1fr;
  }

  .pfi-pli-match-board {
    grid-template-areas:
      "header"
      "image"
      "flow"
      "points"
      "tiers";
  }

  .pfi-pli-match-board__flow {
    grid-template-columns: 1fr;
  }

  .pfi-pli-summary__grid,
  .pfi-pli-card-grid--four,
  .pfi-pli-calendar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .pfi-pli-structure-timeline {
    grid-template-columns: 1fr;
  }

  .pfi-pli-structure-timeline::before {
    bottom: 1.6rem;
    height: auto;
    left: 4.2rem;
    right: auto;
    top: 2.4rem;
    width: 0.3rem;
  }

  .pfi-pli-structure-step {
    align-items: start;
    gap: 1.6rem;
    grid-template-columns: 8.4rem minmax(0, 1fr);
    grid-template-rows: auto;
  }

  .pfi-pli-structure-step__marker {
    min-height: 0;
  }

  .pfi-pli-benefits {
    grid-template-columns: 1fr;
  }

  .pfi-pli-next-steps {
    grid-template-columns: 1fr;
  }

  .pfi-pli-benefits::before {
    bottom: 1.6rem;
    height: auto;
    left: 4.2rem;
    right: auto;
    top: 2.4rem;
    width: 0.3rem;
  }

  .pfi-pli-next-steps::before {
    bottom: 1.6rem;
    height: auto;
    left: 4.2rem;
    right: auto;
    top: 2.4rem;
    width: 0.3rem;
  }

  .pfi-pli-section--benefits .pfi-pli-benefit-step {
    align-items: start;
    gap: 1.6rem;
    grid-template-columns: 8.4rem minmax(0, 1fr);
    grid-template-rows: auto;
  }

  .pfi-pli-next-step {
    align-items: start;
    gap: 1.6rem;
    grid-template-columns: 8.4rem minmax(0, 1fr);
    grid-template-rows: auto;
  }

  .pfi-pli-benefit-step__marker {
    min-height: 0;
  }

  .pfi-pli-next-step__marker {
    min-height: 0;
  }
}

@media (max-width: 767px) {
  .pfi-pli,
  .pfi-pli-hero,
  .pfi-pli-summary,
  .pfi-pli-section {
    max-width: 100vw;
    overflow-x: hidden;
  }

  .pfi-pli-container {
    box-sizing: border-box;
    margin-inline: auto;
    max-width: calc(100vw - 5.6rem);
    min-width: 0;
    padding-inline: 0;
    width: calc(100vw - 5.6rem);
  }

  .pfi-pli-hero {
    padding-block: 5.2rem;
  }

  .pfi-pli-hero--has-image {
    background: #053142 !important;
    display: grid;
    grid-template-rows: minmax(25rem, 42svh) minmax(0, 1fr);
    min-height: calc(100svh - 7.4rem);
    padding-block: 0;
  }

  .pfi-pli-hero--has-image::before {
    background-image:
      linear-gradient(180deg, rgba(1, 18, 30, 0.02) 0%, rgba(1, 18, 30, 0.2) 100%),
      var(--pfi-pli-hero-photo-mobile, var(--pfi-pli-hero-photo));
    background-position: center;
    background-size: cover;
    content: "";
    display: block;
    min-height: clamp(25rem, 42svh, 35rem);
    width: 100%;
  }

  .pfi-pli-hero--has-image .pfi-pli-container {
    max-width: 100%;
    width: 100%;
  }

  .pfi-pli-hero--has-image .pfi-pli-hero__grid {
    box-sizing: border-box;
    margin-inline: 0;
    max-width: 38rem;
    padding: clamp(2.8rem, 7vw, 3.4rem) 2rem clamp(3.6rem, 9vw, 4.8rem);
    width: 100%;
  }

  .pfi-pli-hero__grid {
    position: relative;
  }

  .pfi-pli-hero__grid,
  .pfi-pli-hero__copy,
  .pfi-pli-two-column,
  .pfi-pli-match-grid,
  .pfi-pli-match-board,
  .pfi-pli-fees,
  .pfi-pli-mission-grid,
  .pfi-pli-governance,
  .pfi-pli-document-section,
  .pfi-pli-contact,
  .pfi-pli-intro-feature,
  .pfi-pli-team-feature {
    max-width: 100%;
    min-width: 0;
  }

  .pfi-pli-hero__copy {
    position: relative;
    z-index: 2;
    width: min(100%, 32rem);
  }

  .pfi-pli-hero h1 {
    font-size: 3.12rem;
    line-height: 1.02;
    max-width: 9.5em;
    overflow-wrap: break-word;
    white-space: normal;
  }

  .pfi-pli-section-heading h2,
  .pfi-pli-match-card h2,
  .pfi-pli-fees h2,
  .pfi-pli-mission-grid h2,
  .pfi-pli-governance h2 {
    font-size: 3rem;
    max-width: 100%;
    overflow-wrap: break-word;
    text-wrap: balance;
  }

  .pfi-pli-hero__copy > p:not(.pfi-pli-kicker),
  .pfi-pli-section-heading span,
  .pfi-pli-match-card > p:not(.pfi-pli-label),
  .pfi-pli-fees > div > p:not(.pfi-pli-label),
  .pfi-pli-mission-grid p:not(.pfi-pli-label),
  .pfi-pli-governance p {
    font-size: 1.5rem;
    line-height: 1.58;
  }

  .pfi-pli-hero__actions,
  .pfi-pli-governance__links,
  .pfi-pli-final-cta__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pfi-pli-final-cta__actions .pfi-competition-detail-button {
    min-width: 0;
    white-space: normal;
    width: 100%;
  }

  .pfi-pli-provinces {
    box-sizing: border-box;
    gap: 0.45rem;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, calc((100% - 1.35rem) / 4));
    justify-content: center;
    justify-self: start;
    margin-top: 1.8rem;
    max-width: none;
    width: 32rem;
  }

  .pfi-pli-province-card {
    border-radius: 0.9rem;
    box-sizing: border-box;
    min-height: 5.4rem;
    min-width: 0;
    overflow: hidden;
    padding: 0.45rem;
    width: 100%;
  }

  .pfi-pli-province-card img {
    max-height: 3.35rem;
    max-width: 86%;
  }

  .pfi-pli-province-card figcaption {
    display: none;
  }

  .pfi-pli-section-heading,
  .pfi-pli-section-heading--left {
    text-align: left;
  }

  .pfi-pli-summary__grid,
  .pfi-pli-card-grid--three,
  .pfi-pli-card-grid--four,
  .pfi-pli-benefits,
  .pfi-pli-next-steps,
  .pfi-pli-court-points,
  .pfi-pli-calendar,
  .pfi-pli-schedule-grid {
    grid-template-columns: 1fr;
  }

  .pfi-pli-stat,
  .pfi-pli-info-card,
  .pfi-pli-match-card,
  .pfi-pli-panel,
  .pfi-pli-warning,
  .pfi-pli-fee-summary,
  .pfi-pli-benefits article,
  .pfi-pli-next-step__content,
  .pfi-pli-mission-grid article,
  .pfi-pli-fees__note,
  .pfi-pli-document-copy,
  .pfi-pli-calendar__month,
  .pfi-pli-intro-feature img,
  .pfi-pli-team-feature__image,
  .pfi-pli-team-step,
  .pfi-pli-schedule-image,
  .pfi-pli-schedule-card,
  .pfi-pli-structure-step__content {
    border-radius: 1.2rem;
  }

  .pfi-pli-structure-timeline {
    gap: 1.2rem;
  }

  .pfi-pli-structure-timeline::before {
    left: 3.2rem;
  }

  .pfi-pli-benefits::before {
    left: 3.2rem;
  }

  .pfi-pli-next-steps::before {
    left: 3.2rem;
  }

  .pfi-pli-structure-step {
    gap: 1.1rem;
    grid-template-columns: 6.4rem minmax(0, 1fr);
  }

  .pfi-pli-section--benefits .pfi-pli-benefit-step {
    gap: 1.1rem;
    grid-template-columns: 6.4rem minmax(0, 1fr);
  }

  .pfi-pli-next-step {
    gap: 1.1rem;
    grid-template-columns: 6.4rem minmax(0, 1fr);
  }

  .pfi-pli-structure-step__icon {
    height: 6.4rem;
    width: 6.4rem;
  }

  .pfi-pli-benefit-step__icon {
    height: 6.4rem;
    width: 6.4rem;
  }

  .pfi-pli-next-step__icon {
    height: 6.4rem;
    width: 6.4rem;
  }

  .pfi-pli-structure-step__icon img {
    height: 6.35rem;
    width: 6.35rem;
  }

  .pfi-pli-benefit-step__icon img {
    height: 6.35rem;
    width: 6.35rem;
  }

  .pfi-pli-next-step__icon img {
    height: 6.35rem;
    width: 6.35rem;
  }

  .pfi-pli-structure-step:first-child .pfi-pli-structure-step__icon img {
    height: 6.35rem;
    transform: scale(1.45);
    width: 6.35rem;
  }

  .pfi-pli-structure-step__content {
    padding: 1.55rem;
  }

  .pfi-pli-benefit-step__content {
    padding: 1.55rem;
  }

  .pfi-pli-next-step__content {
    padding: 1.55rem;
  }

  .pfi-pli-match-board__header,
  .pfi-pli-match-flow-card,
  .pfi-pli-match-board__points,
  .pfi-pli-match-board__tiers {
    padding: 1.55rem;
  }

  .pfi-pli-match-board__image img {
    aspect-ratio: 16 / 11;
    min-height: 0;
  }

  .pfi-pli-match-board__header h2 {
    font-size: 3rem;
  }

  .pfi-pli-match-board__header p:not(.pfi-pli-label),
  .pfi-pli-match-flow-card p,
  .pfi-pli-match-board__points p,
  .pfi-pli-match-board__tiers p,
  .pfi-pli-match-board__tiers li span {
    font-size: 1.42rem;
  }

  .pfi-pli-match-flow-card {
    gap: 1.1rem;
    grid-template-columns: 4.2rem minmax(0, 1fr);
  }

  .pfi-pli-match-flow-card > span {
    font-size: 2.45rem;
  }

  .pfi-pli-schedule-image {
    aspect-ratio: 16 / 9;
    margin-bottom: 1.8rem;
    max-height: none;
  }

  .pfi-pli-schedule-card {
    padding: 1.55rem;
  }

  .pfi-pli-schedule-card__icon {
    height: 4.8rem;
    margin-bottom: 1.4rem;
    width: 4.8rem;
  }

  .pfi-pli-schedule-card__icon img {
    height: 2.9rem;
    width: 2.9rem;
  }

  .pfi-pli-schedule-card p {
    font-size: 1.42rem;
  }

  .pfi-pli-fee-breakdown {
    grid-template-columns: 1fr;
  }

  .pfi-pli-fee-summary__club {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .pfi-pli-team-feature__content h2 {
    font-size: 3rem;
  }

  .pfi-pli-team-feature__content > p,
  .pfi-pli-team-step li {
    font-size: 1.42rem;
  }

  .pfi-pli-team-step {
    gap: 1.2rem;
    grid-template-columns: 4.8rem minmax(0, 1fr);
    padding: 1.45rem;
  }

  .pfi-pli-team-step__number {
    font-size: 2.55rem;
  }

  .pfi-pli-structure-step__content h3 {
    font-size: 1.62rem;
  }

  .pfi-pli-structure-step__content p,
  .pfi-pli-structure-step__content li {
    font-size: 1.34rem;
  }

  .pfi-pli-timeline__item,
  .pfi-pli-date-list article {
    gap: 1.2rem;
    grid-template-columns: 4.4rem minmax(0, 1fr);
    padding: 1.5rem;
  }

  .pfi-pli-timeline__item > span,
  .pfi-pli-date-list time {
    border-radius: 0.9rem;
    font-size: 1.12rem;
    min-height: 4.2rem;
    min-width: 4.2rem;
  }
}

/* ==========================================================================
   PFI Irish Padel Tour Custom Sections
   ========================================================================== */

.pfi-ipt {
  background: var(--pfi-surface-dark);
}

.pfi-ipt .pfi-competition-detail-hero {
  min-height: 76vh;
}

@media (max-width: 767px) {
  .pfi-ipt .pfi-competition-detail-hero--has-image {
    min-height: calc(100svh - 7.4rem);
  }
}

.pfi-ipt .pfi-competition-detail-hero--has-image::before {
  background-position: center, center top;
  background-repeat: no-repeat, no-repeat;
}

.pfi-ipt .pfi-competition-detail-hero__text {
  max-width: 45rem;
}

.pfi-ipt .pfi-pli-section {
  color: #fff;
}

.pfi-ipt .pfi-pli-section--dark,
.pfi-ipt .pfi-pli-section--intro-dark,
.pfi-ipt .pfi-pli-section--schedule,
.pfi-ipt .pfi-pli-section--final-cta {
  background: linear-gradient(180deg, var(--pfi-surface-dark) 0%, var(--pfi-portal-bg-deep) 100%);
}

.pfi-ipt .pfi-pli-section-heading h2,
.pfi-ipt .pfi-pli-intro-feature__content h2,
.pfi-ipt .pfi-pli-final-cta__copy h2 {
  color: #fff;
}

.pfi-ipt .pfi-pli-section-heading span,
.pfi-ipt .pfi-pli-intro-feature__content p,
.pfi-ipt .pfi-pli-final-cta__copy p:not(.pfi-pli-label) {
  color: color-mix(in srgb, var(--pfi-portal-text) 78%, transparent);
}

.pfi-ipt-summary-grid {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-ipt-summary-card {
  align-items: center;
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 84%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.22);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(2.2rem, 2.6vw, 3rem);
  text-align: center;
}

.pfi-ipt-summary-card__icon,
.pfi-ipt-structure-icon,
.pfi-ipt .pfi-pli-schedule-card__icon {
  align-items: center;
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.24);
  border-radius: 0.9rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  justify-content: center;
}

.pfi-ipt-summary-card__icon {
  height: 5.4rem;
  margin-bottom: 1.6rem;
  width: 5.4rem;
}

.pfi-ipt-summary-card__svg {
  height: 2.9rem;
  width: 2.9rem;
}

.pfi-ipt-summary-card h3 {
  color: var(--pfi-accent-lime);
  font-size: 1.88rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-ipt-summary-card p {
  color: color-mix(in srgb, var(--pfi-portal-text) 76%, transparent);
  font-size: 1.5rem;
  line-height: 1.58;
  margin: 1rem 0 0;
}

.pfi-ipt .pfi-pli-intro-feature {
  align-items: center;
}

.pfi-ipt .pfi-pli-intro-feature img,
.pfi-ipt .pfi-pli-schedule-image,
.pfi-ipt .pfi-pli-match-board__image img {
  filter: saturate(0.98) contrast(1.03);
}

.pfi-ipt-structure-icon {
  background: var(--pfi-portal-panel-strong);
  height: 6.4rem;
  position: relative;
  width: 6.4rem;
  z-index: 3;
}

.pfi-ipt-structure-icon__svg {
  height: 3.3rem;
  width: 3.3rem;
}

.pfi-ipt-timeline {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-ipt-timeline::before {
  left: 10%;
  right: 10%;
  z-index: 0;
}

.pfi-ipt-timeline .pfi-pli-structure-step__marker {
  z-index: 2;
}

.pfi-ipt .pfi-pli-structure-step__content {
  text-align: center;
}

.pfi-ipt .pfi-pli-structure-step__content ul {
  align-items: center;
}

.pfi-ipt .pfi-pli-structure-step__content li {
  max-width: 20rem;
  padding-left: 1.6rem;
  text-align: left;
}

.pfi-ipt .pfi-pli-structure-step__content li::before {
  left: 0;
}

.pfi-ipt .pfi-pli-structure-step__content h3,
.pfi-ipt .pfi-pli-structure-step__content li::before,
.pfi-ipt .pfi-pli-match-flow-card > span,
.pfi-ipt .pfi-pli-match-board__points h3,
.pfi-ipt .pfi-pli-match-board__tiers h3,
.pfi-ipt .pfi-pli-schedule-card h3,
.pfi-ipt .pfi-ipt-brand-panel h2 {
  color: var(--pfi-accent-lime);
}

.pfi-ipt-live-grid {
  display: grid;
  gap: 1.2rem;
  grid-area: flow;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pfi-ipt-official-source .pfi-competition-detail-button {
  margin-top: 1.7rem;
}

.pfi-ipt-resource-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pfi-ipt-resource-card {
  color: inherit;
  height: 100%;
  text-decoration: none;
  transition: border-color 160ms ease, transform 160ms ease;
}

.pfi-ipt .pfi-ipt-resource-card h3 {
  align-items: center;
  color: #fff;
  display: flex;
  justify-content: center;
  min-height: calc(2em * 1.15);
}

.pfi-ipt-resource-card p {
  min-height: calc(3em * 1.58);
}

.pfi-ipt-resource-card:hover,
.pfi-ipt-resource-card:focus-visible {
  border-color: rgba(191, 255, 0, 0.42);
  color: inherit;
  transform: translateY(-0.2rem);
}

.pfi-ipt .pfi-pli-schedule-card__icon svg {
  height: 2.9rem;
  width: 2.9rem;
}

.pfi-ipt-resource-card strong {
  color: var(--pfi-accent-lime);
  display: block;
  font-size: 1.32rem;
  font-weight: 850;
  line-height: 1.2;
  margin-top: auto;
  padding-top: 1.4rem;
}

.pfi-ipt-brand-panel {
  align-items: center;
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 84%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.22);
  display: grid;
  gap: clamp(2.4rem, 4vw, 4.4rem);
  grid-template-columns: minmax(18rem, 28rem) minmax(0, 1fr);
  padding: clamp(2.4rem, 4vw, 4.2rem);
}

.pfi-ipt-brand-panel__logo {
  align-items: center;
  background: #fff;
  border-radius: 0.8rem;
  display: flex;
  justify-content: center;
  min-height: 18rem;
  padding: 2rem;
}

.pfi-ipt-brand-panel__logo img {
  display: block;
  height: auto;
  max-height: 14rem;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

.pfi-ipt-brand-panel h2 {
  font-size: clamp(3rem, 3.5vw, 4.8rem);
  font-weight: 850;
  line-height: 1.04;
  margin: 0;
}

.pfi-ipt-brand-panel p:not(.pfi-pli-label) {
  color: color-mix(in srgb, var(--pfi-portal-text) 78%, transparent);
  font-size: 1.68rem;
  line-height: 1.62;
  margin: 1.3rem 0 2rem;
}

@media (max-width: 1200px) {
  .pfi-ipt-resource-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .pfi-ipt .pfi-competition-detail-hero {
    min-height: calc(100vh - 11.2rem);
    min-height: calc(100svh - 11.2rem);
  }
}

@media (max-width: 1024px) {
  .pfi-ipt-summary-grid,
  .pfi-ipt-live-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pfi-ipt-brand-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .pfi-ipt-summary-grid,
  .pfi-ipt-live-grid,
  .pfi-ipt-resource-grid {
    grid-template-columns: 1fr;
  }

  .pfi-ipt-timeline {
    gap: 1.2rem;
    grid-template-columns: 1fr;
  }

  .pfi-ipt-timeline::before {
    bottom: 1.6rem;
    height: auto;
    left: 3.2rem;
    right: auto;
    top: 2.4rem;
    width: 0.3rem;
  }

  .pfi-ipt-timeline .pfi-pli-structure-step {
    align-items: start;
    gap: 1.1rem;
    grid-template-columns: 6.4rem minmax(0, 1fr);
    grid-template-rows: auto;
  }

  .pfi-ipt-timeline .pfi-pli-structure-step__marker {
    min-height: 0;
  }

  .pfi-ipt-summary-card,
  .pfi-ipt .pfi-pli-structure-step__content,
  .pfi-ipt-brand-panel {
    text-align: left;
  }

  .pfi-ipt .pfi-pli-structure-step__content h3,
  .pfi-ipt .pfi-pli-structure-step__content p {
    text-align: left;
  }

  .pfi-ipt .pfi-pli-structure-step__content ul {
    align-items: stretch;
  }

  .pfi-ipt .pfi-pli-structure-step__content li {
    max-width: none;
    width: 100%;
  }

  .pfi-ipt-resource-card h3 {
    justify-content: flex-start;
    min-height: 0;
  }

  .pfi-ipt-resource-card p {
    min-height: 0;
  }

  .pfi-ipt-brand-panel {
    padding: 2rem;
  }

  .pfi-ipt-brand-panel__logo {
    min-height: 13rem;
  }
}

/* ==========================================================================
   PFI Who We Are Detail Pages
   ========================================================================== */

.pfi-who-detail {
  background: #f5f8fb;
  color: var(--pfi-primary-navy);
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  overflow: hidden;
}

.pfi-who-detail-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  width: 100%;
}

.pfi-who-detail-hero {
  background: linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  color: #fff;
  padding: 7.2rem var(--space-m, 2rem);
}

.pfi-who-detail-hero__inner {
  position: relative;
}

.pfi-who-detail-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.25rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-who-detail-hero__title {
  color: #fff;
  font-size: 6.2rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
  max-width: 78rem;
}

.pfi-who-detail-hero__text {
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.9rem;
  line-height: 1.6;
  margin: 2.2rem 0 0;
  max-width: 68rem;
}

.pfi-who-detail-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 3rem;
}

.pfi-who-detail-pills span {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.32rem;
  font-weight: 800;
  line-height: 1;
  padding: 1rem 1.25rem;
}

.pfi-who-detail-summary {
  background: #fff;
  padding: 5rem var(--space-m, 2rem);
}

.pfi-who-detail-summary__header {
  margin-bottom: 2.2rem;
  max-width: 76rem;
}

.pfi-who-detail-summary__header h2 {
  color: var(--pfi-primary-navy);
  font-size: 3.6rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
}

.pfi-who-detail-summary__header p {
  color: #52637a;
  font-size: 1.65rem;
  line-height: 1.62;
  margin: 1rem 0 0;
  max-width: 68rem;
}

.pfi-who-detail-summary__links,
.pfi-who-detail-section-links {
  display: grid;
  gap: 0.8rem;
  margin-top: 1.4rem;
}

.pfi-who-detail-section-links {
  margin-top: 1.8rem;
}

.pfi-who-detail-summary__links a,
.pfi-who-detail-section-links a {
  align-items: center;
  background: rgba(69, 180, 214, 0.12);
  border: 1px solid rgba(69, 180, 214, 0.36);
  border-radius: 0.8rem;
  color: var(--pfi-primary-navy);
  display: inline-flex;
  font-size: 1.48rem;
  font-weight: 800;
  gap: 0.75rem;
  line-height: 1.25;
  padding: 1rem 1.2rem;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
  max-width: 72rem;
  width: fit-content;
}

.pfi-who-detail-summary__links a::before,
.pfi-who-detail-section-links a::before {
  align-items: center;
  background: rgba(69, 180, 214, 0.22);
  border-radius: 999px;
  color: var(--pfi-primary-navy);
  content: "\2193";
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1.4rem;
  font-weight: 900;
  height: 2.5rem;
  justify-content: center;
  line-height: 1;
  width: 2.5rem;
}

.pfi-who-detail-summary__links a:hover,
.pfi-who-detail-summary__links a:focus,
.pfi-who-detail-section-links a:hover,
.pfi-who-detail-section-links a:focus {
  background: rgba(69, 180, 214, 0.24);
  border-color: var(--pfi-territory-light-blue);
  box-shadow: 0 1rem 2.4rem rgba(0, 66, 90, 0.12);
  color: var(--pfi-primary-navy);
  transform: translateY(-1px);
}

.pfi-who-detail-summary__links a:hover::before,
.pfi-who-detail-summary__links a:focus::before,
.pfi-who-detail-section-links a:hover::before,
.pfi-who-detail-section-links a:focus::before {
  background: rgba(69, 180, 214, 0.34);
  color: var(--pfi-primary-navy);
}

.pfi-who-detail-section-links--pages {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pfi-who-detail-section-links--pages a {
  width: 100%;
}

.pfi-who-detail-section-links--pages a::before {
  content: none;
  display: none;
}

.pfi-who-detail-section-links--pages a:hover,
.pfi-who-detail-section-links--pages a:focus {
  border-color: rgba(69, 180, 214, 0.36);
  box-shadow: none;
  transform: none;
}

.pfi-who-detail-summary__grid {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-who-detail-summary-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.11);
  border-radius: 1.6rem;
  box-shadow: 0 1.4rem 3.8rem rgba(1, 11, 19, 0.08);
  padding: 2.3rem;
}

.pfi-who-detail-summary-card__icon {
  align-items: center;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(37, 99, 235, 0.13);
  border-radius: 1.2rem;
  color: var(--pfi-action-blue);
  display: inline-flex;
  height: 4.8rem;
  justify-content: center;
  margin-bottom: 1.6rem;
  width: 4.8rem;
}

.pfi-who-detail-summary-card__svg {
  height: 2.6rem;
  width: 2.6rem;
}

.pfi-who-detail-summary-card h2,
.pfi-who-detail-summary-card h3 {
  color: var(--pfi-primary-navy);
  font-size: 2rem;
  font-weight: 850;
  line-height: 1.16;
  margin: 0;
}

.pfi-who-detail-summary-card p {
  color: #52637a;
  font-size: 1.48rem;
  line-height: 1.58;
  margin: 1rem 0 0;
}

.pfi-who-detail-body {
  padding: 6.5rem var(--space-m, 2rem);
}

.pfi-who-detail-layout {
  align-items: start;
  display: grid;
  gap: 4.4rem;
  grid-template-columns: minmax(0, 1fr) minmax(26rem, 33rem);
}

.pfi-who-detail-content {
  display: grid;
  gap: 2rem;
  min-width: 0;
}

.pfi-who-detail-section,
.pfi-who-detail-panel {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.6rem;
  box-shadow: 0 1.2rem 3.4rem rgba(1, 11, 19, 0.07);
}

.pfi-who-detail-section {
  padding: 3.4rem;
  scroll-margin-top: 12rem;
}

.pfi-who-detail-section h2 {
  color: var(--pfi-primary-navy);
  font-size: 3.2rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.1;
  margin: 0 0 1.4rem;
}

.pfi-who-detail-section p,
.pfi-who-detail-section li {
  color: #52637a;
  font-size: 1.64rem;
  line-height: 1.72;
}

.pfi-who-detail-section p {
  margin: 0 0 1.35rem;
}

.pfi-who-detail-section p:last-child {
  margin-bottom: 0;
}

.pfi-who-detail-section ul {
  display: grid;
  gap: 0.85rem;
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}

.pfi-who-detail-section li {
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1rem;
  padding: 1.05rem 1.2rem 1.05rem 3.6rem;
  position: relative;
}

.pfi-who-detail-section li::before {
  background: var(--pfi-action-blue);
  border-radius: 999px;
  content: "";
  height: 0.8rem;
  left: 1.5rem;
  position: absolute;
  top: 2rem;
  width: 0.8rem;
}

.pfi-who-detail-section--sponsors {
  padding: 3.4rem;
}

.pfi-who-detail-sponsor-intro {
  margin-bottom: 2.2rem;
  max-width: 74rem;
}

.pfi-who-detail-sponsor-intro p {
  margin-bottom: 0;
}

.pfi-who-detail-sponsor-grid {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-who-detail-sponsor-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.2rem;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
}

.pfi-who-detail-sponsor-card__media {
  align-items: center;
  background: #f7fafc;
  border-bottom: 1px solid rgba(0, 66, 90, 0.08);
  display: flex;
  height: 15.2rem;
  justify-content: center;
  padding: 2.4rem;
}

.pfi-who-detail-sponsor-card__media a {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.pfi-who-detail-sponsor-card__logo {
  display: block;
  height: auto;
  max-height: 9.4rem;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

.pfi-who-detail-sponsor-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 2rem;
}

.pfi-who-detail-sponsor-card h3 {
  color: var(--pfi-primary-navy);
  font-size: 1.82rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.18;
  margin: 0 0 1rem;
}

.pfi-who-detail-sponsor-card p {
  color: #52637a;
  font-size: 1.46rem;
  line-height: 1.6;
  margin: 0;
}

.pfi-who-detail-sponsor-card__link {
  align-items: center;
  color: var(--pfi-action-blue);
  display: inline-flex;
  font-size: 1.42rem;
  font-weight: 850;
  gap: 0.6rem;
  margin-top: auto;
  padding-top: 1.5rem;
  text-decoration: none;
}

.pfi-who-detail-sponsor-card__link::after {
  content: "\2197";
  font-size: 1.2rem;
  line-height: 1;
}

.pfi-who-detail-sponsor-card__link:hover,
.pfi-who-detail-sponsor-card__link:focus {
  color: var(--pfi-territory-light-blue);
}

.pfi-who-detail-section--logo-assets {
  padding: 3.4rem;
}

.pfi-who-detail-logo-assets__intro {
  margin-bottom: 2.2rem;
  max-width: 76rem;
}

.pfi-who-detail-logo-assets__intro p {
  margin-bottom: 0;
}

.pfi-who-detail-logo-assets {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pfi-who-detail-logo-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.2rem;
  overflow: hidden;
}

.pfi-who-detail-logo-card__header {
  border-bottom: 1px solid rgba(0, 66, 90, 0.08);
  padding: 2.2rem;
}

.pfi-who-detail-logo-card__header h3 {
  color: var(--pfi-primary-navy);
  font-size: 2.05rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.16;
  margin: 0 0 0.8rem;
}

.pfi-who-detail-logo-card__header p {
  color: #52637a;
  font-size: 1.46rem;
  line-height: 1.58;
  margin: 0;
}

.pfi-who-detail-logo-card__variants {
  display: grid;
  gap: 0;
}

.pfi-who-detail-logo-variant {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: minmax(11rem, 15rem) minmax(0, 1fr);
  padding: 1.7rem 2rem;
}

.pfi-who-detail-logo-variant + .pfi-who-detail-logo-variant {
  border-top: 1px solid rgba(0, 66, 90, 0.08);
}

.pfi-who-detail-logo-variant__preview {
  align-items: center;
  background: #f7fafc;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1rem;
  display: flex;
  height: 9.4rem;
  justify-content: center;
  padding: 1.4rem;
}

.pfi-who-detail-logo-variant__preview--dark {
  background: var(--pfi-primary-navy);
  border-color: rgba(255, 255, 255, 0.16);
}

.pfi-who-detail-logo-card__image {
  display: block;
  height: auto;
  max-height: 6.8rem;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

.pfi-who-detail-logo-variant__body {
  align-self: center;
  min-width: 0;
}

.pfi-who-detail-logo-variant__body h4 {
  color: var(--pfi-primary-navy);
  font-size: 1.62rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1rem;
}

.pfi-who-detail-logo-variant__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.pfi-who-detail-logo-variant__actions a {
  align-items: center;
  background: rgba(69, 180, 214, 0.12);
  border: 1px solid rgba(69, 180, 214, 0.32);
  border-radius: 0.8rem;
  color: var(--pfi-primary-navy);
  display: inline-flex;
  font-size: 1.34rem;
  font-weight: 850;
  justify-content: center;
  line-height: 1;
  min-height: 3.8rem;
  min-width: 6.2rem;
  padding: 1rem 1.15rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.pfi-who-detail-logo-variant__actions a:hover,
.pfi-who-detail-logo-variant__actions a:focus-visible {
  background: rgba(69, 180, 214, 0.24);
  border-color: var(--pfi-territory-light-blue);
  color: var(--pfi-primary-navy);
  transform: translateY(-1px);
}

.pfi-who-detail-doc-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 2rem;
}

.pfi-who-detail-doc-grid a {
  align-items: center;
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.1rem;
  color: #52637a;
  display: flex;
  font-size: 1.46rem;
  font-weight: 800;
  justify-content: flex-start;
  line-height: 1.25;
  padding: 1.2rem 1.3rem;
  text-decoration: none;
  transition: border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.pfi-who-detail-doc-grid a:hover,
.pfi-who-detail-doc-grid a:focus-visible {
  border-color: var(--pfi-soft-accent-blue-border);
  color: var(--pfi-soft-accent-blue);
  transform: translateX(0.2rem);
}

.pfi-who-detail-downloads {
  display: grid;
  gap: 1.2rem;
  margin-top: 2rem;
}

.pfi-who-detail-download-card {
  align-items: center;
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.1rem;
  display: flex;
  gap: 1.6rem;
  justify-content: space-between;
  padding: 1.6rem;
}

.pfi-who-detail-download-card h3 {
  color: var(--pfi-primary-navy);
  font-size: 1.72rem;
  font-weight: 850;
  line-height: 1.2;
  margin: 0 0 0.55rem;
}

.pfi-who-detail-download-card p {
  color: #52637a;
  font-size: 1.46rem;
  line-height: 1.55;
  margin: 0 0 0.65rem;
}

.pfi-who-detail-download-card span {
  color: var(--pfi-soft-accent-blue);
  display: block;
  font-size: 1.28rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: uppercase;
}

.pfi-who-detail-download-card a {
  align-items: center;
  background: var(--pfi-accent-lime);
  border-radius: 0.8rem;
  color: var(--pfi-surface-dark) !important;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1.38rem;
  font-weight: 850;
  justify-content: center;
  min-height: 4.2rem;
  padding: 1rem 1.35rem;
  text-decoration: none;
  transition: background-color 160ms ease, transform 160ms ease;
  -webkit-text-fill-color: var(--pfi-surface-dark);
}

.pfi-who-detail-download-card a:hover,
.pfi-who-detail-download-card a:focus-visible {
  background: #d7f35f;
  transform: translateY(-0.2rem);
}

.pfi-who-detail-aside {
  min-width: 0;
}

.pfi-who-detail-aside__sticky {
  display: grid;
  gap: 1.4rem;
  position: sticky;
  top: 11rem;
}

.pfi-who-detail-panel {
  padding: 1.8rem;
}

.pfi-who-detail-panel h2 {
  color: var(--pfi-primary-navy);
  font-size: 1.55rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-who-detail-panel p {
  color: #52637a;
  font-size: 1.42rem;
  line-height: 1.55;
  margin: 0 0 1.4rem;
}

.pfi-who-detail-toc,
.pfi-who-detail-related {
  display: grid;
  gap: 0.45rem;
}

.pfi-who-detail-toc a,
.pfi-who-detail-related a {
  border-radius: 0.8rem;
  color: #52637a;
  font-size: 1.42rem;
  font-weight: 750;
  line-height: 1.25;
  padding: 0.85rem 1rem;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease;
}

.pfi-who-detail-toc a:hover,
.pfi-who-detail-toc a:focus-visible,
.pfi-who-detail-related a:hover,
.pfi-who-detail-related a:focus-visible {
  background: rgba(56, 189, 248, 0.12);
  color: var(--pfi-action-blue);
}

.pfi-who-detail-panel--cta {
  background: var(--pfi-primary-navy);
  color: #fff;
}

.pfi-who-detail-panel--cta h2,
.pfi-who-detail-panel--cta p {
  color: #fff;
}

.pfi-who-detail-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 1.4rem;
  font-weight: 850;
  justify-content: center;
  line-height: 1;
  min-height: 4rem;
  padding: 1.1rem 1.5rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.pfi-who-detail-button:hover,
.pfi-who-detail-button:focus {
  transform: translateY(-0.2rem);
}

.pfi-who-detail-button--primary,
.pfi-who-detail-button--secondary {
  background: var(--pfi-accent-lime) !important;
  color: var(--pfi-surface-dark) !important;
  -webkit-text-fill-color: var(--pfi-surface-dark);
}

@media (max-width: 1024px) {
  .pfi-who-detail-layout {
    grid-template-columns: 1fr;
  }

  .pfi-who-detail-sponsor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pfi-who-detail-logo-assets {
    grid-template-columns: 1fr;
  }

  .pfi-who-detail-aside__sticky {
    position: static;
  }

  .pfi-who-detail-toc,
  .pfi-who-detail-related {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .pfi-who-detail-hero__title {
    font-size: 5.2rem;
  }

  .pfi-who-detail-summary__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .pfi-who-detail-hero,
  .pfi-who-detail-summary,
  .pfi-who-detail-body {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .pfi-who-detail-hero {
    padding-bottom: 4.2rem;
    padding-top: 4.6rem;
  }

  .pfi-who-detail-hero__title {
    font-size: 3.72rem;
    line-height: 1.03;
  }

  .pfi-who-detail-hero__text {
    font-size: 1.62rem;
    line-height: 1.52;
    margin-top: 1.6rem;
  }

  .pfi-who-detail-pills {
    display: none;
  }

  .pfi-who-detail-pills span {
    text-align: center;
  }

  .pfi-who-detail-summary__header h2 {
    font-size: 3rem;
  }

  .pfi-who-detail-summary__header p {
    font-size: 1.56rem;
  }

  .pfi-who-detail-summary__links a,
  .pfi-who-detail-section-links a {
    width: 100%;
  }

  .pfi-who-detail-section,
  .pfi-who-detail-summary-card,
  .pfi-who-detail-panel {
    border-radius: 1.2rem;
  }

  .pfi-who-detail-panel:has(.pfi-who-detail-related) + .pfi-who-detail-panel--cta {
    margin-top: 1.1rem;
  }

  .pfi-who-detail-section {
    padding: 2.2rem;
  }

  .pfi-who-detail-sponsor-grid {
    grid-template-columns: 1fr;
  }

  .pfi-who-detail-sponsor-card__media {
    height: 13.4rem;
    padding: 2rem;
  }

  .pfi-who-detail-logo-variant {
    grid-template-columns: 1fr;
  }

  .pfi-who-detail-logo-variant__preview {
    height: 11rem;
  }

  .pfi-who-detail-section h2 {
    font-size: 2.65rem;
  }

  .pfi-who-detail-download-card {
    align-items: stretch;
    flex-direction: column;
  }

  .pfi-who-detail-download-card a {
    width: 100%;
  }

  .pfi-who-detail-doc-grid,
  .pfi-who-detail-section-links--pages,
  .pfi-who-detail-toc,
  .pfi-who-detail-related {
    gap: 0.85rem;
    grid-template-columns: 1fr;
  }

  .pfi-who-detail-toc a,
  .pfi-who-detail-related a {
    align-items: center;
    background: #f5f8fb;
    border: 0;
    border-radius: 1rem;
    color: var(--pfi-primary-navy);
    display: flex;
    font-weight: 850;
    gap: 1rem;
    justify-content: space-between;
    min-height: 4.4rem;
    padding: 1.05rem 1.15rem;
    transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
  }

  .pfi-who-detail-toc a::after,
  .pfi-who-detail-related a::after {
    border-right: 0.2rem solid currentColor;
    border-top: 0.2rem solid currentColor;
    content: "";
    flex: 0 0 0.8rem;
    height: 0.8rem;
    transform: rotate(45deg);
    width: 0.8rem;
  }

  .pfi-who-detail-toc a:hover,
  .pfi-who-detail-toc a:focus-visible,
  .pfi-who-detail-related a:hover,
  .pfi-who-detail-related a:focus-visible {
    background: var(--pfi-primary-navy);
    color: #fff;
    transform: translateX(0.2rem);
  }

  .pfi-who-detail-toc a:active,
  .pfi-who-detail-related a:active,
  .pfi-who-detail-toc a:focus:not(:focus-visible),
  .pfi-who-detail-related a:focus:not(:focus-visible) {
    background: #f5f8fb;
    color: var(--pfi-primary-navy);
    outline: none;
    transform: none;
  }

  .pfi-who-detail-button {
    border-radius: 1.2rem;
    white-space: normal;
    width: 100%;
  }
}

@media (max-width: 380px) {
  .pfi-who-detail-hero__title {
    font-size: 3.35rem;
  }

  .pfi-who-detail-kicker {
    font-size: 1.12rem;
  }
}

/* ==========================================================================
   PFI Membership Detail Pages
   ========================================================================== */

.pfi-membership-detail {
  background: #f5f8fb;
  color: var(--pfi-primary-navy);
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  overflow: hidden;
}

.pfi-membership-detail__hero {
  background: linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  color: #fff;
  padding: clamp(5.8rem, 7vw, 8.8rem) var(--space-m, 2rem);
  position: relative;
}

.pfi-membership-detail__hero::after {
  background: linear-gradient(180deg, transparent 68%, rgba(1, 11, 19, 0.2));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.pfi-membership-detail--join-the-community .pfi-membership-detail__hero--image {
  align-items: center;
  background-image:
    linear-gradient(90deg, rgba(1, 18, 30, 0.78) 0%, rgba(1, 18, 30, 0.58) 42%, rgba(1, 18, 30, 0.22) 72%, rgba(1, 18, 30, 0.36) 100%),
    var(--pfi-membership-hero-image);
  background-position: center center;
  background-size: cover;
  display: flex;
  min-height: calc(100svh - 11.2rem);
  padding-block: clamp(7.4rem, 9vh, 10.8rem) clamp(6.8rem, 8vh, 9.6rem);
}

.pfi-membership-detail--join-the-community .pfi-membership-detail__hero--image::after {
  background: linear-gradient(180deg, rgba(1, 11, 19, 0) 62%, rgba(1, 11, 19, 0.38) 100%);
}

.pfi-membership-detail__container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  position: relative;
  width: 100%;
  z-index: 1;
}

.pfi-membership-detail__hero-grid {
  display: block;
  max-width: var(--max-screen-width, 1300px);
}

.pfi-membership-detail__hero-content {
  max-width: 78rem;
}

.pfi-membership-detail--join-the-community .pfi-membership-detail__hero-content {
  max-width: 64rem;
  transform: translateY(clamp(1.1rem, 2.4vh, 2.8rem));
}

.pfi-membership-detail__kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.22rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-membership-detail__title {
  color: #fff;
  font-size: clamp(4.2rem, 4.8vw, 5.8rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.02;
  margin: 0;
}

.pfi-membership-detail__intro {
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1.7rem, 1.6vw, 2.05rem);
  line-height: 1.6;
  margin: 2rem 0 0;
  max-width: 72rem;
}

.pfi-membership-detail--join-the-community .pfi-membership-detail__intro {
  max-width: 48rem;
}

.pfi-membership-detail__pills,
.pfi-membership-detail__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.pfi-membership-detail__pills {
  margin-top: 2.6rem;
}

.pfi-membership-detail__pills span {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(224, 224, 224, 0.18);
  border-radius: 999px;
  color: #fff;
  font-size: 1.32rem;
  font-weight: 800;
  line-height: 1;
  padding: 0.9rem 1.3rem;
}

.pfi-membership-detail__actions {
  margin-top: 3rem;
}

.pfi-membership-detail__button,
.pfi-membership-detail__link,
.pfi-membership-detail__aside-link {
  text-decoration: none;
}

.pfi-membership-detail__button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 1.48rem;
  font-weight: 850;
  justify-content: center;
  line-height: 1;
  min-height: 4.6rem;
  padding: 1.25rem 2rem;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
  white-space: nowrap;
}

.pfi-membership-detail__button:hover,
.pfi-membership-detail__button:focus {
  transform: translateY(-0.2rem);
}

.pfi-membership-detail__button--lime {
  background: var(--pfi-accent-lime) !important;
  color: var(--pfi-surface-dark) !important;
  -webkit-text-fill-color: var(--pfi-surface-dark);
}

.pfi-membership-detail__button--ghost {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.32);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.pfi-membership-detail__button--blue {
  background: var(--pfi-action-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.pfi-membership-detail__hero-panel {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(224, 224, 224, 0.18);
  border-radius: 1.8rem;
  box-shadow: 0 2rem 5rem rgba(1, 11, 19, 0.18);
  padding: 2.6rem;
}

.pfi-membership-detail__hero-icon,
.pfi-membership-detail__summary-icon {
  align-items: center;
  border-radius: 1.4rem;
  display: inline-flex;
  justify-content: center;
}

.pfi-membership-detail__hero-icon {
  background: rgba(191, 255, 0, 0.12);
  color: var(--pfi-accent-lime);
  height: 5.4rem;
  margin-bottom: 2rem;
  width: 5.4rem;
}

.pfi-membership-detail__hero-svg {
  height: 3rem;
  width: 3rem;
}

.pfi-membership-detail__hero-panel h2 {
  color: #fff;
  font-size: 2.2rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-membership-detail__hero-panel p {
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.48rem;
  line-height: 1.58;
  margin: 1.2rem 0 0;
}

.pfi-membership-detail__section {
  padding: clamp(5.5rem, 7vw, 8rem) var(--space-m, 2rem);
}

.pfi-membership-detail__section--summary {
  background: #fff;
}

.pfi-membership-detail__section--pricing {
  background: var(--pfi-primary-navy);
}

.pfi-membership-detail__section-heading {
  margin: 0 auto clamp(2.8rem, 4vw, 4.2rem);
  max-width: 78rem;
  text-align: center;
}

.pfi-membership-detail__section-heading h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 3.4vw, 4rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
}

.pfi-membership-detail__section-heading p {
  color: #52637a;
  font-size: clamp(1.56rem, 1.4vw, 1.75rem);
  line-height: 1.62;
  margin: 1.1rem auto 0;
  max-width: 68rem;
}

.pfi-membership-detail__section--pricing .pfi-membership-detail__section-heading h2 {
  color: #fff;
}

.pfi-membership-detail__section--pricing .pfi-membership-detail__section-heading p {
  color: rgba(255, 255, 255, 0.76);
}

.pfi-membership-detail__summary-grid,
.pfi-membership-detail__pricing-grid {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-membership-detail__pricing-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pfi-membership-detail__summary-card,
.pfi-membership-detail__price-card,
.pfi-membership-detail__panel,
.pfi-membership-detail__aside-card,
.pfi-membership-detail__cta {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.6rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.07);
}

.pfi-membership-detail__summary-card,
.pfi-membership-detail__price-card {
  min-height: 23rem;
  padding: 2.3rem;
}

.pfi-membership-detail__summary-icon {
  background: rgba(56, 189, 248, 0.11);
  border: 1px solid rgba(37, 99, 235, 0.13);
  color: var(--pfi-action-blue);
  height: 5rem;
  margin-bottom: 1.8rem;
  width: 5rem;
}

.pfi-membership-detail__icon {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-membership-detail__summary-card h2,
.pfi-membership-detail__price-card h2,
.pfi-membership-detail__panel h2,
.pfi-membership-detail__aside-card h2,
.pfi-membership-detail__cta h2 {
  color: var(--pfi-primary-navy);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0;
}

.pfi-membership-detail__summary-card h2,
.pfi-membership-detail__price-card h2 {
  font-size: 2rem;
}

.pfi-membership-detail--affiliate-your-club .pfi-membership-detail__summary-card h2 {
  min-height: 4.5rem;
}

.pfi-membership-detail__summary-card p,
.pfi-membership-detail__price-card p,
.pfi-membership-detail__panel p,
.pfi-membership-detail__panel li,
.pfi-membership-detail__aside-card a,
.pfi-membership-detail__cta p {
  color: #52637a;
  font-size: 1.48rem;
  line-height: 1.58;
}

.pfi-membership-detail__summary-card p,
.pfi-membership-detail__price-card p {
  margin: 1rem 0 0;
}

.pfi-membership-detail__price-card {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(224, 224, 224, 0.16);
  box-shadow: none;
}

.pfi-membership-detail .pfi-membership-detail__price-card .pfi-membership-detail__summary-icon {
  background: rgba(191, 255, 0, 0.12);
  border-color: rgba(191, 255, 0, 0.22);
  color: var(--pfi-accent-lime);
}

.pfi-membership-detail__price-card h2,
.pfi-membership-detail__price-card p {
  color: #fff;
}

.pfi-membership-detail__price-card p {
  color: rgba(255, 255, 255, 0.74);
}

.pfi-membership-detail__price-card strong {
  color: var(--pfi-accent-lime);
  display: block;
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1.1;
  margin-top: 1.3rem;
}

.pfi-membership-detail__layout {
  align-items: start;
  display: grid;
  gap: 2.4rem;
  grid-template-columns: minmax(0, 1fr) minmax(28rem, 0.34fr);
}

.pfi-membership-detail__main {
  display: grid;
  gap: 2.4rem;
}

.pfi-membership-detail__panel,
.pfi-membership-detail__aside-card {
  padding: clamp(2.4rem, 3vw, 3.4rem);
}

.pfi-membership-detail__panel h2 {
  font-size: clamp(2.8rem, 3vw, 3.6rem);
}

.pfi-membership-detail__aside-card h2 {
  font-size: clamp(2rem, 1.8vw, 2.35rem);
  overflow-wrap: break-word;
}

.pfi-membership-detail__panel p {
  margin: 1.4rem 0 0;
}

.pfi-membership-detail__panel ul {
  display: grid;
  gap: 1rem;
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}

.pfi-membership-detail__panel li {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1rem minmax(0, 1fr);
  margin: 0;
}

.pfi-membership-detail__panel li::before {
  background: var(--pfi-action-blue);
  border-radius: 999px;
  content: "";
  height: 0.7rem;
  margin-top: 0.88rem;
  width: 0.7rem;
}

.pfi-membership-detail__steps {
  display: grid;
  gap: 1.4rem;
  margin-top: 2.2rem;
}

.pfi-membership-detail__step {
  align-items: start;
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1.3rem;
  display: grid;
  gap: 1.4rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 1.6rem;
}

.pfi-membership-detail__step > span {
  color: var(--pfi-action-blue);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
}

.pfi-membership-detail__step h3 {
  color: var(--pfi-primary-navy);
  font-size: 1.76rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-membership-detail__step p {
  margin-top: 0.65rem;
}

.pfi-membership-detail__aside {
  position: sticky;
  top: 10rem;
}

.pfi-membership-detail__aside-card nav {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}

.pfi-membership-detail__aside-link {
  align-items: center;
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1.1rem;
  display: flex;
  font-weight: 800;
  justify-content: space-between;
  padding: 1.2rem 1.4rem;
  transition: border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.pfi-membership-detail__aside-link::after {
  color: var(--pfi-action-blue);
  content: "->";
  font-weight: 900;
}

.pfi-membership-detail__aside-link:hover,
.pfi-membership-detail__aside-link:focus {
  border-color: rgba(37, 99, 235, 0.28);
  color: var(--pfi-action-blue);
  transform: translateX(0.2rem);
}

.pfi-membership-detail__faqs {
  display: grid;
  gap: 1.2rem;
  margin-top: 2.2rem;
}

.pfi-membership-detail__faqs details {
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1.2rem;
  padding: 1.5rem 1.7rem;
}

.pfi-membership-detail__faqs summary {
  color: var(--pfi-primary-navy);
  cursor: pointer;
  font-size: 1.58rem;
  font-weight: 850;
  line-height: 1.35;
}

.pfi-membership-detail__faqs p {
  margin-top: 1rem;
}

.pfi-membership-detail__section--cta {
  background: #fff;
}

.pfi-membership-detail__section--cta .pfi-membership-detail__container {
  max-width: 96rem;
}

.pfi-membership-detail__cta {
  align-items: center;
  background: #f2f8ff;
  border-color: #dbeafe;
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3.6rem rgba(15, 23, 42, 0.09);
  color: var(--pfi-primary-navy);
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: clamp(3.2rem, 5vw, 5.2rem);
  text-align: center;
}

.pfi-membership-detail__cta h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 3.4vw, 4.4rem);
  line-height: 1.12;
  margin: 0 0 1.4rem;
}

.pfi-membership-detail__cta p:not(.pfi-membership-detail__kicker) {
  color: #4b5563;
  font-size: clamp(1.65rem, 1.5vw, 2rem);
  line-height: 1.55;
  margin: 0 auto;
  max-width: 66rem;
}

.pfi-membership-detail__cta .pfi-membership-detail__kicker {
  color: var(--pfi-action-blue);
  margin-bottom: 1.4rem;
}

.pfi-membership-detail__cta .pfi-membership-detail__button {
  background: var(--pfi-action-blue) !important;
  border-color: var(--pfi-action-blue);
  color: #ffffff !important;
  font-size: 1.6rem;
  min-height: 4.8rem;
  padding: 1.2rem 2.6rem;
  -webkit-text-fill-color: #ffffff;
}

.pfi-membership-detail__cta .pfi-membership-detail__button:hover,
.pfi-membership-detail__cta .pfi-membership-detail__button:focus {
  background: var(--pfi-action-blue-hover) !important;
  border-color: var(--pfi-action-blue-hover);
}

@media (max-width: 1180px) {
  .pfi-membership-detail__hero-grid,
  .pfi-membership-detail__layout,
  .pfi-membership-detail__cta {
    grid-template-columns: 1fr;
  }

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

  .pfi-membership-detail__pricing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pfi-membership-detail__aside {
    position: static;
  }
}

@media (max-width: 767px) {
  .pfi-membership-detail__hero {
    padding: 4.6rem 2rem 4.2rem;
  }

  .pfi-membership-detail--join-the-community .pfi-membership-detail__hero--image {
    align-items: stretch;
    background: #053142;
    display: grid;
    grid-template-rows: minmax(25rem, 42svh) minmax(0, 1fr);
    min-height: calc(100svh - 7.4rem);
    padding: 0;
  }

  .pfi-membership-detail--join-the-community .pfi-membership-detail__hero--image::before {
    background-image:
      linear-gradient(180deg, rgba(1, 18, 30, 0.02) 0%, rgba(1, 18, 30, 0.2) 100%),
      var(--pfi-membership-hero-image-mobile, var(--pfi-membership-hero-image));
    background-position: 56% center;
    background-size: cover;
    content: "";
    display: block;
    min-height: clamp(25rem, 42svh, 35rem);
    width: 100%;
  }

  .pfi-membership-detail--join-the-community .pfi-membership-detail__hero--image::after {
    display: none;
  }

  .pfi-membership-detail--join-the-community .pfi-membership-detail__hero-grid {
    padding: clamp(2.8rem, 7vw, 3.4rem) 2rem clamp(3.6rem, 9vw, 4.8rem);
  }

  .pfi-membership-detail--join-the-community .pfi-membership-detail__hero-content {
    max-width: 34rem;
    transform: none;
  }

  .pfi-membership-detail--join-the-community .pfi-membership-detail__title {
    font-size: clamp(3.2rem, 9vw, 3.6rem);
  }

  .pfi-membership-detail--join-the-community .pfi-membership-detail__intro {
    max-width: 32rem;
  }

  .pfi-membership-detail__section {
    padding: 4.8rem 2rem;
  }

  .pfi-membership-detail__hero-grid {
    gap: 2.4rem;
  }

  .pfi-membership-detail__hero-panel {
    display: none;
  }

  .pfi-membership-detail__title {
    font-size: 3.8rem;
  }

  .pfi-membership-detail__intro {
    font-size: 1.62rem;
    line-height: 1.52;
    margin-top: 1.6rem;
  }

  .pfi-membership-detail__pills {
    align-items: flex-start;
    flex-direction: row;
    gap: 0.65rem;
    margin-top: 1.7rem;
  }

  .pfi-membership-detail__pills span {
    border-radius: 0.85rem;
    font-size: 1.12rem;
    line-height: 1.15;
    padding: 0.68rem 0.9rem;
  }

  .pfi-membership-detail__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 0.9rem;
    margin-top: 2rem;
  }

  .pfi-membership-detail__button {
    border-radius: 1.2rem;
    min-height: 4.4rem;
    padding: 1.15rem 1.4rem;
    white-space: normal;
    width: 100%;
  }

  .pfi-membership-detail__summary-grid,
  .pfi-membership-detail__pricing-grid {
    grid-template-columns: 1fr;
  }

  .pfi-membership-detail__section-heading {
    margin-bottom: 2.4rem;
  }

  .pfi-membership-detail__section-heading h2 {
    font-size: 2.8rem;
  }

  .pfi-membership-detail__summary-card,
  .pfi-membership-detail__price-card {
    min-height: 0;
  }

  .pfi-membership-detail__summary-card,
  .pfi-membership-detail__price-card,
  .pfi-membership-detail__panel,
  .pfi-membership-detail__aside-card,
  .pfi-membership-detail__cta {
    border-radius: 1.2rem;
  }

  .pfi-membership-detail__cta {
    border-radius: 0.8rem;
  }
}

@media (max-width: 380px) {
  .pfi-membership-detail__title {
    font-size: 3.75rem;
  }

  .pfi-membership-detail__button {
    font-size: 1.38rem;
  }

  .pfi-membership-detail__pills span {
    font-size: 1.05rem;
    padding-inline: 0.78rem;
  }
}

/* ==========================================================================
   PFI National Team Pages
   ========================================================================== */

.pfi-national {
  background: #f5f8fb;
  color: var(--pfi-primary-navy);
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  overflow: hidden;
}

.pfi-national-hero {
  background: linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  align-items: center;
  color: #fff;
  display: flex;
  padding: clamp(5.8rem, 7vw, 8.8rem) var(--space-m, 2rem);
  position: relative;
}

.pfi-national-hero--has-image {
  background-image:
    linear-gradient(180deg, transparent 58%, rgba(1, 11, 19, 0.55)),
    linear-gradient(90deg, rgba(1, 11, 19, 0.72) 0%, rgba(1, 11, 19, 0.58) 42%, rgba(1, 11, 19, 0.24) 72%, rgba(1, 11, 19, 0.42) 100%),
    var(--pfi-national-hero-image);
  background-position: center, center, center;
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: cover, cover, cover;
  min-height: 76vh;
}

.pfi-national-hero::after {
  background: linear-gradient(180deg, transparent 58%, rgba(1, 11, 19, 0.18));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.pfi-national-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  position: relative;
  width: 100%;
  z-index: 1;
}

.pfi-national-hero__grid {
  align-items: center;
  display: grid;
  gap: clamp(2.4rem, 4vw, 4rem);
  grid-template-columns: minmax(0, 78rem);
  justify-content: start;
}

.pfi-national-hero__content {
  max-width: 78rem;
}

.pfi-national-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.22rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-national-hero__title {
  color: #fff;
  font-size: clamp(4.8rem, 5vw, 6.2rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 0.98;
  margin: 0;
  max-width: 78rem;
}

.pfi-national-hero__title span {
  display: block;
}

.pfi-national-hero__intro {
  color: rgba(255, 255, 255, 0.84);
  font-size: 2rem;
  line-height: 1.58;
  margin: 2.2rem 0 0;
  max-width: 70rem;
}

.pfi-national--national-team .pfi-national-hero__intro {
  max-width: 64rem;
}

.pfi-national-hero__intro span {
  display: block;
}

.pfi-national-hero__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 3rem;
}

.pfi-national-button,
.pfi-national-card__link,
.pfi-national-resource__link,
.pfi-national-document a {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 1.45rem;
  font-weight: 850;
  justify-content: center;
  line-height: 1;
  min-height: 4.4rem;
  padding: 1.2rem 1.8rem;
  text-decoration: none;
  transition: background-color 170ms ease, border-color 170ms ease, color 170ms ease, transform 170ms ease;
  width: max-content;
}

.pfi-national-button:hover,
.pfi-national-button:focus,
.pfi-national-card__link:hover,
.pfi-national-card__link:focus,
.pfi-national-resource__link:hover,
.pfi-national-resource__link:focus,
.pfi-national-document a:hover,
.pfi-national-document a:focus {
  transform: translateY(-0.2rem);
}

.pfi-national-button--lime {
  background: var(--pfi-accent-lime);
  color: var(--pfi-surface-dark);
}

.pfi-national-button--ghost {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.32);
  color: #fff;
}

.pfi-national-status {
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 1.8rem;
  box-shadow: 0 2rem 5rem rgba(1, 11, 19, 0.2);
  padding: 2.6rem;
}

.pfi-national-status__icon,
.pfi-national-card__icon,
.pfi-national-document__icon,
.pfi-national-resource__icon {
  align-items: center;
  border-radius: 1.4rem;
  display: inline-flex;
  justify-content: center;
}

.pfi-national-status__icon {
  background: rgba(191, 255, 0, 0.12);
  color: var(--pfi-accent-lime);
  height: 5.4rem;
  margin-bottom: 2rem;
  width: 5.4rem;
}

.pfi-national-status__svg {
  height: 3rem;
  width: 3rem;
}

.pfi-national-status h2 {
  color: #fff;
  font-size: 2.25rem;
  font-weight: 850;
  line-height: 1.15;
  margin: 0;
}

.pfi-national-status__stats {
  display: grid;
  gap: 1rem;
  margin-top: 2.2rem;
}

.pfi-national-status__stats span {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(224, 224, 224, 0.12);
  border-radius: 1.1rem;
  color: rgba(255, 255, 255, 0.72);
  display: flex;
  font-size: 1.3rem;
  gap: 1rem;
  line-height: 1.3;
  padding: 1rem 1.2rem;
}

.pfi-national-status__stats strong {
  color: var(--pfi-accent-lime);
  font-size: 1.8rem;
  font-weight: 900;
  min-width: 4.2rem;
}

.pfi-national-section {
  padding: clamp(5.5rem, 7vw, 8rem) var(--space-m, 2rem);
}

.pfi-national-section--light {
  background: #fff;
}

.pfi-national-section--documents,
.pfi-national-section--pathway {
  background: #f5f8fb;
}

.pfi-national-section--split,
.pfi-national-section--resources {
  background: linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  color: #fff;
}

.pfi-national-heading {
  margin: 0 auto clamp(3rem, 4vw, 4.6rem);
  max-width: 82rem;
  text-align: center;
}

.pfi-national-heading--left {
  margin-inline: 0;
  text-align: left;
}

.pfi-national-heading h2,
.pfi-national-split h2 {
  color: var(--pfi-primary-navy);
  font-size: 4.4rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
}

.pfi-national-heading p:not(.pfi-national-kicker),
.pfi-national-split__content p,
.pfi-national-card p,
.pfi-national-resource p,
.pfi-national-document p {
  color: #52637a;
  font-size: 1.56rem;
  line-height: 1.6;
}

.pfi-national-heading p:not(.pfi-national-kicker) {
  margin: 1.4rem auto 0;
  max-width: 74rem;
}

.pfi-national-card-grid,
.pfi-national-resource-grid,
.pfi-national-document-grid {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-national-resource-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-national--national-team-documents .pfi-national-resource-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

.pfi-national-card,
.pfi-national-resource,
.pfi-national-document,
.pfi-national-step,
.pfi-national-split__panel {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.6rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.07);
}

.pfi-national-card,
.pfi-national-resource,
.pfi-national-document {
  display: flex;
  flex-direction: column;
  min-height: 25rem;
  padding: 2.3rem;
}

.pfi-national-card__icon,
.pfi-national-resource__icon,
.pfi-national-document__icon {
  background: rgba(56, 189, 248, 0.11);
  border: 1px solid rgba(37, 99, 235, 0.13);
  color: var(--pfi-action-blue);
  height: 5rem;
  margin-bottom: 1.8rem;
  width: 5rem;
}

.pfi-national-card__svg,
.pfi-national-resource__svg,
.pfi-national-document__svg {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-national-card h3,
.pfi-national-resource h3,
.pfi-national-document h3,
.pfi-national-step h3 {
  color: var(--pfi-primary-navy);
  font-size: 2rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.16;
  margin: 0;
}

.pfi-national-card p,
.pfi-national-resource p,
.pfi-national-document p {
  margin: 1rem 0 2rem;
}

.pfi-national-card__link,
.pfi-national-resource__link,
.pfi-national-document a {
  background: var(--pfi-action-blue);
  color: #fff;
  margin-top: auto;
}

.pfi-national-document__group {
  color: var(--pfi-soft-accent-blue) !important;
  font-size: 1.18rem !important;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.2 !important;
  margin: 0 0 1.4rem !important;
  text-transform: uppercase;
}

.pfi-national-split {
  align-items: center;
  display: grid;
  gap: clamp(3rem, 5vw, 6rem);
  grid-template-columns: minmax(0, 0.9fr) minmax(30rem, 0.6fr);
}

.pfi-national-section--split .pfi-national-kicker,
.pfi-national-section--resources .pfi-national-kicker {
  color: var(--pfi-accent-lime);
}

.pfi-national-section--split h2,
.pfi-national-section--resources h2,
.pfi-national-section--resources .pfi-national-heading p:not(.pfi-national-kicker) {
  color: #fff;
}

.pfi-national-split__content p {
  color: rgba(255, 255, 255, 0.78);
  margin: 1.4rem 0 0;
  max-width: 78rem;
}

.pfi-national-split__panel {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(224, 224, 224, 0.16);
  box-shadow: none;
  display: grid;
  gap: 1.2rem;
  padding: 2rem;
}

.pfi-national-split__panel div {
  align-items: start;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: auto minmax(0, 1fr);
}

.pfi-national-split__panel span {
  color: var(--pfi-accent-lime);
  display: inline-flex;
  margin-top: 0.25rem;
}

.pfi-national-split__icon {
  height: 2rem;
  width: 2rem;
}

.pfi-national-split__panel p {
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.48rem;
  line-height: 1.55;
  margin: 0;
}

.pfi-national-pathway {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pfi-national-step {
  align-items: start;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 2rem;
}

.pfi-national-step > span {
  color: var(--pfi-action-blue);
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
}

.pfi-national-step p {
  color: #52637a;
  font-size: 1.48rem;
  line-height: 1.56;
  margin: 0.8rem 0 0;
}

.pfi-national-section--resources .pfi-national-resource {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(224, 224, 224, 0.16);
  box-shadow: none;
}

.pfi-national-section--resources .pfi-national-resource__icon {
  background: rgba(191, 255, 0, 0.1);
  border-color: rgba(191, 255, 0, 0.22);
  color: var(--pfi-accent-lime);
}

.pfi-national-section--resources .pfi-national-resource h3,
.pfi-national-section--resources .pfi-national-resource p {
  color: #fff;
}

.pfi-national-section--resources .pfi-national-resource p {
  color: rgba(255, 255, 255, 0.76);
}

.pfi-national--national-team-documents .pfi-national-section--resources {
  background: #f5f8fb;
  color: var(--pfi-primary-navy);
}

.pfi-national--national-team-documents .pfi-national-section--resources h2,
.pfi-national--national-team-documents .pfi-national-section--resources .pfi-national-resource h3 {
  color: var(--pfi-primary-navy);
}

.pfi-national--national-team-documents .pfi-national-section--resources .pfi-national-resource {
  background: #fff;
  border-color: rgba(0, 66, 90, 0.1);
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.07);
}

.pfi-national--national-team-documents .pfi-national-section--resources .pfi-national-resource p {
  color: #52637a;
}

.pfi-national--national-team-documents .pfi-national-section--resources .pfi-national-resource__icon {
  background: rgba(56, 189, 248, 0.11);
  border-color: rgba(37, 99, 235, 0.13);
  color: var(--pfi-action-blue);
}

@media (max-width: 1180px) {
  .pfi-national-hero__grid,
  .pfi-national-split {
    grid-template-columns: 1fr;
  }

  .pfi-national-card-grid,
  .pfi-national-pathway {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pfi-national-resource-grid,
  .pfi-national-document-grid {
    grid-template-columns: 1fr;
  }

  .pfi-national--national-team-documents .pfi-national-resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .pfi-national--national-team .pfi-national-hero,
  .pfi-national--how-to-join-the-national-team .pfi-national-hero,
  .pfi-national--national-team-trials .pfi-national-hero {
    min-height: calc(100vh - 11.2rem);
    min-height: calc(100svh - 11.2rem);
  }
}

@media (max-width: 767px) {
  .pfi-national-hero {
    padding: 4.4rem 2rem;
  }

  .pfi-national-hero--has-image {
    background: #053142 !important;
    display: grid;
    grid-template-rows: minmax(25rem, 42svh) minmax(0, 1fr);
    min-height: calc(100svh - 7.4rem);
    padding: 0;
  }

  .pfi-national-hero--has-image::before {
    background-image:
      linear-gradient(180deg, rgba(1, 18, 30, 0.02) 0%, rgba(1, 18, 30, 0.2) 100%),
      var(--pfi-national-hero-photo-mobile, var(--pfi-national-hero-photo));
    background-position: center;
    background-size: cover;
    content: "";
    display: block;
    min-height: clamp(25rem, 42svh, 35rem);
    width: 100%;
  }

  .pfi-national-hero--has-image::after {
    display: none;
  }

  .pfi-national-hero--has-image .pfi-national-hero__grid {
    box-sizing: border-box;
    margin-inline: 0;
    max-width: 38rem;
    padding: clamp(2.8rem, 7vw, 3.4rem) 2rem clamp(3.6rem, 9vw, 4.8rem);
    width: 100%;
  }

  .pfi-national-section {
    padding: 4.8rem 2rem;
  }

  .pfi-national-hero__grid {
    gap: 2.4rem;
  }

  .pfi-national-status {
    display: none;
  }

  .pfi-national-hero__title {
    font-size: clamp(3rem, 8.4vw, 3.55rem);
    line-height: 1.03;
  }

  .pfi-national-hero__intro {
    font-size: 1.52rem;
    line-height: 1.48;
    margin-top: 1.45rem;
  }

  .pfi-national-hero__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 0.9rem;
    margin-top: 1.65rem;
  }

  .pfi-national-button,
  .pfi-national-card__link,
  .pfi-national-resource__link,
  .pfi-national-document a {
    border-radius: 1.2rem;
    min-height: 4.4rem;
    padding: 1.15rem 1.4rem;
    white-space: normal;
    width: 100%;
  }

  .pfi-national-card-grid,
  .pfi-national-pathway,
  .pfi-national--national-team-documents .pfi-national-resource-grid {
    grid-template-columns: 1fr;
  }

  .pfi-national-card,
  .pfi-national-resource,
  .pfi-national-document {
    min-height: 0;
  }

  .pfi-national-card,
  .pfi-national-resource,
  .pfi-national-document,
  .pfi-national-step,
  .pfi-national-split__panel {
    border-radius: 1.2rem;
  }
}

@media (max-width: 380px) {
  .pfi-national-hero__title {
    font-size: 3rem;
  }

  .pfi-national-kicker {
    font-size: 1.12rem;
  }
}

/* ==========================================================================
   PFI Programme / Initiative Pages
   ========================================================================== */

.pfi-programme {
  background: #fff;
  color: var(--pfi-rich-black);
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  overflow: hidden;
}

.pfi-programme-hero {
  background-image: var(--pfi-programme-hero-image);
  background-position: center 26%;
  background-size: cover;
  color: #fff;
  min-height: 68rem;
  padding-inline: var(--space-m, 2rem);
  position: relative;
}

.pfi-programme--senior-padel .pfi-programme-hero {
  background-position: center top;
}

.pfi-programme--women-in-padel .pfi-programme-hero {
  background-position: center 34%;
}

.pfi-programme--women-in-padel .pfi-programme-hero__text {
  max-width: 62rem;
}

.pfi-programme--powered-by-kildare-village .pfi-programme-hero__text {
  max-width: 58rem;
}

.pfi-programme-hero-sponsor {
  align-items: center;
  color: #fff;
  display: grid;
  gap: 0.8rem;
  justify-items: end;
  position: absolute;
  right: clamp(2rem, 4vw, 5.2rem);
  text-align: right;
  text-decoration: none;
  top: clamp(2.4rem, 4vw, 4.8rem);
  z-index: 2;
}

.pfi-programme-hero-sponsor img {
  display: block;
  height: auto;
  max-width: clamp(10rem, 12vw, 15rem);
}

.pfi-programme-hero-sponsor span {
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(1.05rem, 1vw, 1.25rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
}

.pfi-programme-hero-sponsor:hover span,
.pfi-programme-hero-sponsor:focus span {
  color: #fff;
}

.pfi-programme-hero-sponsor:focus-visible {
  outline: 2px solid var(--pfi-accent-lime);
  outline-offset: 0.6rem;
}

.pfi-programme-partner-lockup {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.48);
  border-radius: 1.6rem;
  box-shadow: 0 1.8rem 4.4rem rgba(1, 11, 19, 0.2);
  color: var(--pfi-primary-navy);
  display: flex;
  gap: 1.2rem;
  max-width: min(40rem, calc(100% - 4rem));
  padding: 1.2rem 1.4rem;
  position: absolute;
  right: clamp(2rem, 4vw, 5.2rem);
  text-decoration: none;
  top: clamp(2.4rem, 4vw, 4.8rem);
  transition: transform 160ms ease, background-color 160ms ease;
  z-index: 2;
}

.pfi-programme-partner-lockup:hover,
.pfi-programme-partner-lockup:focus-visible {
  background: #fff;
  transform: translateY(-0.2rem);
}

.pfi-programme-partner-lockup:focus-visible {
  outline: 2px solid var(--pfi-accent-lime);
  outline-offset: 0.45rem;
}

.pfi-programme-partner-lockup__mark {
  color: var(--pfi-primary-navy);
  font-size: clamp(1.15rem, 1vw, 1.35rem);
  font-weight: 900;
  line-height: 1.15;
  max-width: 12rem;
  text-transform: uppercase;
}

.pfi-programme-partner-lockup__plus {
  color: rgba(1, 11, 19, 0.58);
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.pfi-programme-partner-lockup img {
  display: block;
  height: auto;
  max-height: 4.2rem;
  max-width: 13.5rem;
  object-fit: contain;
}

.pfi-programme-hero__inner,
.pfi-programme-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  padding-inline: var(--space-m, 2rem);
  position: relative;
  width: 100%;
  z-index: 1;
}

.pfi-programme-hero__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 68rem;
  padding-block: 8rem;
  padding-inline: 0;
}

@media (min-width: 992px) {
  .pfi-programme-hero,
  .pfi-programme-hero__inner {
    min-height: calc(100vh - 11.2rem);
    min-height: calc(100svh - 11.2rem);
  }
}

.pfi-programme-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: 0;
  margin: 0 0 1.4rem;
  text-transform: uppercase;
}

.pfi-programme-hero__title {
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: clamp(4.6rem, 5.5vw, 6.2rem);
  gap: 0.08em;
  font-weight: 800;
  line-height: 1;
  margin: 0;
  max-width: 88rem;
}

.pfi-programme-hero__title span {
  display: block;
}

.pfi-programme-hero__title span.is-spaced-after {
  margin-bottom: 0.08em;
}

.pfi-programme-hero__text {
  color: rgba(255, 255, 255, 0.84);
  font-size: 2rem;
  line-height: 1.55;
  margin: 2.4rem 0 0;
  max-width: 72rem;
}

.pfi-programme-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
  margin-top: 3.2rem;
}

.pfi-programme-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 1.4rem;
  display: inline-flex;
  font-size: 1.45rem;
  font-weight: 800;
  justify-content: center;
  min-height: 4.8rem;
  padding: 1.2rem 2.2rem;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.pfi-programme-button:hover,
.pfi-programme-button:focus {
  transform: translateY(-2px);
}

.pfi-programme-button--lime {
  background: var(--pfi-accent-lime);
  color: var(--pfi-rich-black);
}

.pfi-programme-button--ghost {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.34);
  color: #fff;
}

.pfi-programme-section {
  padding-block: 8rem;
}

.pfi-programme-section--light {
  background: #f4f8fb;
}

.pfi-programme-section--pathway {
  background: #fff;
}

.pfi-programme-section--feature {
  background: linear-gradient(135deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-portal-bg) 52%, var(--pfi-primary-navy) 100%);
  color: #fff;
}

.pfi-programme-section--resources {
  background: #eef5f8;
}

.pfi-programme-section--faq {
  background: #fff;
}

.pfi-programme-photo-band {
  color: #fff;
  display: grid;
  min-height: clamp(34rem, 42vw, 54rem);
  overflow: hidden;
  place-items: center start;
  position: relative;
}

.pfi-programme-photo-band::after {
  background: linear-gradient(90deg, rgba(1, 11, 19, 0.82), rgba(1, 11, 19, 0.42), rgba(1, 11, 19, 0.1));
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
}

.pfi-programme--senior-padel .pfi-programme-photo-band::after {
  background: linear-gradient(90deg, rgba(1, 11, 19, 0.9), rgba(1, 11, 19, 0.64), rgba(1, 11, 19, 0.32));
}

.pfi-programme-photo-band img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center 26%;
  position: absolute;
  width: 100%;
}

.pfi-programme-photo-band__content {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  padding: 7.2rem var(--space-m, 2rem);
  position: relative;
  width: 100%;
  z-index: 2;
}

.pfi-programme-photo-band__content h2 {
  color: #fff;
  font-size: 4.6rem;
  font-weight: 800;
  line-height: 1.05;
  margin: 0;
  max-width: 72rem;
}

.pfi-programme-photo-band__content p:not(.pfi-programme-kicker) {
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 1.6rem 0 0;
  max-width: 60rem;
}

.pfi-programme-heading {
  margin: 0 auto 4rem;
  max-width: 76rem;
  text-align: center;
}

.pfi-programme-heading--left {
  margin-inline: 0;
  text-align: left;
}

.pfi-programme-heading--split {
  align-items: end;
  display: grid;
  gap: 3.2rem;
  grid-template-columns: minmax(0, 0.95fr) minmax(28rem, 0.7fr);
  max-width: none;
  text-align: left;
}

.pfi-programme-heading h2,
.pfi-programme-feature h2 {
  color: var(--pfi-primary-navy);
  font-size: 4rem;
  font-weight: 800;
  line-height: 1.08;
  margin: 0;
}

.pfi-programme-section--feature .pfi-programme-feature h2 {
  color: #fff;
}

.pfi-programme-heading p:not(.pfi-programme-kicker),
.pfi-programme-feature p {
  color: rgba(1, 11, 19, 0.68);
  font-size: 1.7rem;
  line-height: 1.65;
  margin: 1.4rem 0 0;
}

.pfi-programme-section--feature .pfi-programme-feature p {
  color: rgba(255, 255, 255, 0.74);
}

.pfi-programme-audience-grid,
.pfi-programme-resource-grid {
  display: grid;
  gap: 2.2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-programme-card,
.pfi-programme-resource,
.pfi-programme-step,
.pfi-programme-faq details {
  border-radius: 8px;
}

.pfi-programme-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.12);
  box-shadow: 0 1.4rem 3.8rem rgba(1, 11, 19, 0.08);
  padding: 3.2rem;
}

.pfi-programme-card__icon-wrap,
.pfi-programme-step__icon-wrap,
.pfi-programme-resource__icon-wrap {
  align-items: center;
  background: color-mix(in srgb, var(--pfi-tertiary-sky) 14%, white);
  border: 1px solid color-mix(in srgb, var(--pfi-tertiary-sky) 28%, white);
  border-radius: 8px;
  color: var(--pfi-secondary-blue);
  display: inline-flex;
  height: 5.2rem;
  justify-content: center;
  width: 5.2rem;
}

.pfi-programme-card__icon,
.pfi-programme-step__icon,
.pfi-programme-resource__icon {
  height: 2.6rem;
  width: 2.6rem;
}

.pfi-programme-card h3,
.pfi-programme-step h3 {
  color: var(--pfi-primary-navy);
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1.2;
  margin: 2rem 0 1rem;
}

.pfi-programme-card p,
.pfi-programme-step p {
  color: rgba(1, 11, 19, 0.64);
  font-size: 1.55rem;
  line-height: 1.65;
  margin: 0;
}

.pfi-programme-timeline {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (min-width: 901px) {
  .pfi-programme-timeline:has(.pfi-programme-step:nth-child(5):last-child) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .pfi-programme-timeline:has(.pfi-programme-step:nth-child(5):last-child) .pfi-programme-step {
    grid-column: span 2;
  }

  .pfi-programme-timeline:has(.pfi-programme-step:nth-child(5):last-child) .pfi-programme-step:nth-child(4) {
    grid-column: 2 / span 2;
  }

  .pfi-programme-timeline:has(.pfi-programme-step:nth-child(5):last-child) .pfi-programme-step:nth-child(5) {
    grid-column: 4 / span 2;
  }
}

.pfi-programme-step {
  background: linear-gradient(180deg, #fff, #f7fbfd);
  border: 1px solid rgba(0, 66, 90, 0.12);
  min-height: 24rem;
  padding: 2.8rem;
  position: relative;
}

.pfi-programme-feature {
  align-items: center;
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(0, 0.95fr) minmax(30rem, 0.55fr);
}

.pfi-programme-feature__aside {
  display: grid;
  gap: 1.6rem;
}

.pfi-programme-feature__image {
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.28);
  display: block;
  object-fit: cover;
  width: 100%;
}

.pfi-programme-feature__links {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  display: grid;
  gap: 1rem;
  padding: 2rem;
}

.pfi-programme-feature__links a {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  color: #fff;
  font-size: 1.45rem;
  font-weight: 800;
  padding: 1.4rem 1.6rem;
  text-decoration: none;
}

.pfi-programme-feature__links a:hover,
.pfi-programme-feature__links a:focus {
  background: var(--pfi-accent-lime);
  color: var(--pfi-rich-black);
}

.pfi-programme-resource {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.12);
  box-shadow: 0 1rem 3rem rgba(1, 11, 19, 0.06);
  color: rgba(1, 11, 19, 0.64);
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
  padding: 2.4rem;
  text-align: center;
  text-decoration: none;
  transition: border-color 180ms ease, transform 180ms ease;
}

.pfi-programme-resource strong {
  color: var(--pfi-primary-navy);
  display: block;
  font-size: 1.8rem;
  line-height: 1.25;
  margin-bottom: 0.5rem;
}

.pfi-programme-resource:hover,
.pfi-programme-resource:focus {
  border-color: color-mix(in srgb, var(--pfi-secondary-blue) 40%, white);
  transform: translateY(-2px);
}

.pfi-programme-spotlight {
  align-items: stretch;
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.12);
  border-radius: 8px;
  box-shadow: 0 1.4rem 3.8rem rgba(1, 11, 19, 0.08);
  display: grid;
  grid-template-columns: minmax(26rem, 0.42fr) minmax(0, 1fr);
  margin-top: 2.2rem;
  overflow: hidden;
}

.pfi-programme-spotlight img {
  height: 100%;
  min-height: 26rem;
  object-fit: cover;
  width: 100%;
}

.pfi-programme-spotlight__content {
  align-self: center;
  padding: 3.2rem;
}

.pfi-programme-spotlight__content h3 {
  color: var(--pfi-primary-navy);
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.12;
  margin: 0;
}

.pfi-programme-spotlight__content p:not(.pfi-programme-kicker) {
  color: rgba(1, 11, 19, 0.64);
  font-size: 1.6rem;
  line-height: 1.65;
  margin: 1.2rem 0 0;
}

.pfi-programme-faq {
  display: grid;
  column-gap: 4rem;
  grid-template-columns: minmax(24rem, 0.45fr) minmax(0, 1fr);
  row-gap: 2rem;
}

.pfi-programme-faq__items {
  display: grid;
  gap: 1.2rem;
}

.pfi-programme-faq details {
  background: #f7fbfd;
  border: 1px solid rgba(0, 66, 90, 0.12);
  padding: 2rem 2.2rem;
}

.pfi-programme-faq summary {
  color: var(--pfi-primary-navy);
  cursor: pointer;
  font-size: 1.7rem;
  font-weight: 800;
}

.pfi-programme-faq details p {
  color: rgba(1, 11, 19, 0.66);
  font-size: 1.55rem;
  line-height: 1.65;
  margin: 1.2rem 0 0;
}

@media (max-width: 991px) {
  .pfi-programme-hero,
  .pfi-programme-hero__inner {
    min-height: 62rem;
  }

  .pfi-programme-hero-sponsor {
    right: clamp(2rem, 5vw, 3rem);
    top: clamp(1.8rem, 4vw, 2.6rem);
  }

  .pfi-programme-hero-sponsor img {
    max-width: 11rem;
  }

  .pfi-programme-partner-lockup {
    right: clamp(2rem, 5vw, 3rem);
    top: clamp(1.8rem, 4vw, 2.6rem);
  }

  .pfi-programme-partner-lockup img {
    max-height: 3.8rem;
    max-width: 12rem;
  }

  .pfi-programme-hero__title {
    font-size: 4.8rem;
  }

  .pfi-programme-hero__text {
    font-size: 1.8rem;
  }

  .pfi-programme-audience-grid,
  .pfi-programme-resource-grid,
  .pfi-programme-timeline,
  .pfi-programme-heading--split,
  .pfi-programme-feature,
  .pfi-programme-spotlight,
  .pfi-programme-faq {
    grid-template-columns: 1fr;
  }

  .pfi-programme-faq {
    row-gap: 1.8rem;
  }

  .pfi-programme-heading--split,
  .pfi-programme-faq .pfi-programme-heading--left {
    text-align: center;
  }

  .pfi-programme-heading--left {
    margin-inline: auto;
  }
}

@media (max-width: 767px) {
  .pfi-programme-hero,
  .pfi-programme-hero__inner {
    min-height: auto;
  }

  .pfi-programme-hero {
    background: #053142 !important;
    display: grid;
    grid-template-rows: minmax(25rem, 42svh) minmax(0, 1fr);
    min-height: calc(100svh - 7.4rem);
    padding-inline: 0;
  }

  .pfi-programme-hero::before {
    background-image:
      linear-gradient(180deg, rgba(1, 18, 30, 0.02) 0%, rgba(1, 18, 30, 0.2) 100%),
      var(--pfi-programme-hero-photo-mobile, var(--pfi-programme-hero-photo));
    background-position: center;
    background-size: cover;
    content: "";
    display: block;
    min-height: clamp(25rem, 42svh, 35rem);
    width: 100%;
  }

  .pfi-programme-hero-sponsor {
    justify-items: start;
    left: var(--space-m, 2rem);
    right: auto;
    text-align: left;
    top: 1.8rem;
  }

  .pfi-programme-hero-sponsor img {
    max-width: 9.6rem;
  }

  .pfi-programme-hero-sponsor span {
    font-size: 0.98rem;
    max-width: 16rem;
  }

  .pfi-programme--senior-padel .pfi-programme-hero-sponsor {
    justify-items: end;
    left: auto;
    right: 1.6rem;
    text-align: right;
    top: clamp(25rem, 42svh, 35rem);
    transform: translateY(calc(-100% - 1.4rem));
  }

  .pfi-programme-partner-lockup {
    left: var(--space-m, 2rem);
    max-width: calc(100% - (var(--space-m, 2rem) * 2));
    right: auto;
    top: 1.8rem;
  }

  .pfi-programme-partner-lockup__mark {
    font-size: 1rem;
    max-width: 10rem;
  }

  .pfi-programme-partner-lockup__plus {
    font-size: 0.95rem;
  }

  .pfi-programme-partner-lockup img {
    max-height: 3.4rem;
    max-width: 10.5rem;
  }

  .pfi-programme-hero__inner {
    margin-inline: 0;
    max-width: 38rem;
    padding: clamp(2.8rem, 7vw, 3.4rem) 2rem clamp(3.6rem, 9vw, 4.8rem);
  }

  .pfi-programme--senior-padel .pfi-programme-hero__inner {
    padding-top: 9.6rem;
  }

  .pfi-programme--powered-by-kildare-village .pfi-programme-hero__inner {
    padding-top: 10.2rem;
  }

  .pfi-programme-hero__title,
  .pfi-programme-heading h2,
  .pfi-programme-feature h2,
  .pfi-programme-photo-band__content h2 {
    font-size: 3.4rem;
  }

  .pfi-programme-hero__title {
    font-size: clamp(3.05rem, 8.6vw, 3.35rem);
    line-height: 1.04;
  }

  .pfi-programme-hero__text,
  .pfi-programme-heading p:not(.pfi-programme-kicker),
  .pfi-programme-feature p,
  .pfi-programme-photo-band__content p:not(.pfi-programme-kicker) {
    font-size: 1.6rem;
  }

  .pfi-programme-hero__text {
    font-size: 1.52rem;
    line-height: 1.55;
    margin-top: 1.8rem;
  }

  .pfi-programme-hero__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 0.9rem;
    margin-top: 2.2rem;
    max-width: 34rem;
    width: min(34rem, calc(100vw - 4rem));
  }

  .pfi-programme-button {
    border-radius: 1.2rem;
    box-sizing: border-box;
    min-height: 4.4rem;
    padding: 1.2rem 1.6rem;
    text-align: center;
    white-space: normal;
    width: 100%;
  }

  .pfi-programme-section {
    padding-block: 5.6rem;
  }

  .pfi-programme-card,
  .pfi-programme-step,
  .pfi-programme-resource,
  .pfi-programme-feature__links,
  .pfi-programme-faq details {
    padding: 2.2rem;
  }

  .pfi-programme-photo-band {
    min-height: 36rem;
  }

  .pfi-programme-photo-band::after {
    background: linear-gradient(180deg, rgba(1, 11, 19, 0.75), rgba(1, 11, 19, 0.34));
  }

  .pfi-programme-spotlight img {
    min-height: 22rem;
  }

  .pfi-programme-spotlight__content {
    padding: 2.2rem;
  }
}

/* ==========================================================================
   PFI Official Document Template
   ========================================================================== */

.pfi-official-doc {
  background: #f5f8fb;
  color: var(--pfi-primary-navy);
  position: relative;
}

.pfi-official-doc__progress {
  background: rgba(224, 224, 224, 0.5);
  height: 0.4rem;
  inset: 0 0 auto;
  overflow: hidden;
  position: fixed;
  z-index: 999;
}

.pfi-official-doc__progress-bar {
  background: var(--pfi-accent-lime);
  display: block;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  width: 100%;
}

.pfi-official-doc__hero {
  background-color: #053142;
  background-image: var(--pfi-official-doc-hero-image, linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%));
  background-position: center;
  background-size: cover;
  color: #fff;
  padding: clamp(6rem, 9vw, 10rem) var(--space-m, 2rem);
}

.pfi-official-doc__hero-inner,
.pfi-official-doc__container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  width: 100%;
}

.pfi-official-doc__hero-inner {
  max-width: 104rem;
}

.pfi-official-doc--coaching-standards .pfi-official-doc__hero {
  align-items: center;
  background-position: center 26%;
  display: flex;
  min-height: clamp(40rem, 52vh, 56rem);
  padding: clamp(5.8rem, 7vw, 8.4rem) var(--space-m, 2rem);
}

.pfi-official-doc--coaching-standards .pfi-official-doc__hero-inner {
  max-width: var(--max-screen-width, 1300px);
}

.pfi-official-doc--coaching-standards .pfi-official-doc__title {
  max-width: 88rem;
}

.pfi-official-doc--coaching-standards .pfi-official-doc__intro {
  max-width: 68rem;
}

.pfi-official-doc--code-of-conduct .pfi-official-doc__hero,
.pfi-official-doc--anti-doping .pfi-official-doc__hero,
.pfi-official-doc--safeguarding .pfi-official-doc__hero,
.pfi-official-doc--child-protection .pfi-official-doc__hero,
.pfi-official-doc--complaints-procedure .pfi-official-doc__hero,
.pfi-official-doc--disciplinary-code .pfi-official-doc__hero,
.pfi-official-doc--ethics-compliance .pfi-official-doc__hero,
.pfi-official-doc--constitution .pfi-official-doc__hero {
  align-items: center;
  display: flex;
  min-height: clamp(40rem, 50vh, 54rem);
  padding-bottom: clamp(5.4rem, 7vw, 8rem);
  padding-top: clamp(6rem, 8vw, 9rem);
}

.pfi-official-doc--safeguarding .pfi-official-doc__hero,
.pfi-official-doc--child-protection .pfi-official-doc__hero,
.pfi-official-doc--complaints-procedure .pfi-official-doc__hero,
.pfi-official-doc--disciplinary-code .pfi-official-doc__hero,
.pfi-official-doc--ethics-compliance .pfi-official-doc__hero,
.pfi-official-doc--constitution .pfi-official-doc__hero {
  background: linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
}

.pfi-official-doc--code-of-conduct .pfi-official-doc__hero-inner,
.pfi-official-doc--anti-doping .pfi-official-doc__hero-inner,
.pfi-official-doc--safeguarding .pfi-official-doc__hero-inner,
.pfi-official-doc--child-protection .pfi-official-doc__hero-inner,
.pfi-official-doc--complaints-procedure .pfi-official-doc__hero-inner,
.pfi-official-doc--disciplinary-code .pfi-official-doc__hero-inner,
.pfi-official-doc--ethics-compliance .pfi-official-doc__hero-inner,
.pfi-official-doc--constitution .pfi-official-doc__hero-inner {
  max-width: var(--max-screen-width, 1300px);
}

.pfi-official-doc--code-of-conduct .pfi-official-doc__title,
.pfi-official-doc--anti-doping .pfi-official-doc__title,
.pfi-official-doc--safeguarding .pfi-official-doc__title,
.pfi-official-doc--child-protection .pfi-official-doc__title,
.pfi-official-doc--complaints-procedure .pfi-official-doc__title,
.pfi-official-doc--disciplinary-code .pfi-official-doc__title,
.pfi-official-doc--ethics-compliance .pfi-official-doc__title,
.pfi-official-doc--constitution .pfi-official-doc__title {
  font-size: clamp(4.6rem, 5.5vw, 6.2rem);
  max-width: 76rem;
}

.pfi-official-doc--code-of-conduct .pfi-official-doc__intro,
.pfi-official-doc--anti-doping .pfi-official-doc__intro,
.pfi-official-doc--safeguarding .pfi-official-doc__intro,
.pfi-official-doc--child-protection .pfi-official-doc__intro,
.pfi-official-doc--complaints-procedure .pfi-official-doc__intro,
.pfi-official-doc--disciplinary-code .pfi-official-doc__intro,
.pfi-official-doc--ethics-compliance .pfi-official-doc__intro,
.pfi-official-doc--constitution .pfi-official-doc__intro {
  max-width: 68rem;
}

body.page-id-2051 .pfi-official-doc__hero-inner,
body.page-id-2058 .pfi-official-doc__hero-inner,
body.page-id-2057 .pfi-official-doc__hero-inner,
body.page-id-2073 .pfi-official-doc__hero-inner,
body.page-id-2075 .pfi-official-doc__hero-inner,
body.page-id-2076 .pfi-official-doc__hero-inner,
body.page-id-2077 .pfi-official-doc__hero-inner,
body.page-id-2061 .pfi-official-doc__hero-inner,
body.page-id-2069 .pfi-official-doc__hero-inner {
  max-width: var(--max-screen-width, 1300px);
}

body.page-id-2051 .pfi-official-doc__title,
body.page-id-2058 .pfi-official-doc__title,
body.page-id-2057 .pfi-official-doc__title,
body.page-id-2073 .pfi-official-doc__title,
body.page-id-2075 .pfi-official-doc__title,
body.page-id-2076 .pfi-official-doc__title,
body.page-id-2077 .pfi-official-doc__title,
body.page-id-2061 .pfi-official-doc__title,
body.page-id-2069 .pfi-official-doc__title {
  font-size: clamp(4.6rem, 5.5vw, 6.2rem);
}

.pfi-official-doc__kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.22rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-official-doc__title {
  color: #fff;
  font-size: clamp(4.8rem, 6.4vw, 8.2rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 0.98;
  margin: 0;
}

.pfi-official-doc__intro {
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1.75rem, 1.8vw, 2.18rem);
  line-height: 1.58;
  margin: 2rem 0 0;
  max-width: 78rem;
}

.pfi-official-doc__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 3rem;
}

.pfi-official-doc__meta span {
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.32rem;
  font-weight: 750;
  line-height: 1;
  padding: 1rem 1.25rem;
}

.pfi-official-doc__summary {
  background: #fff;
  padding: clamp(4rem, 5vw, 5.8rem) var(--space-m, 2rem);
}

.pfi-official-doc__section-heading {
  margin: 0 auto clamp(3rem, 4vw, 4.4rem);
  max-width: 82rem;
  text-align: center;
}

.pfi-official-doc__section-heading h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 3.6vw, 4.2rem);
  font-weight: 850;
  line-height: 1.08;
  margin: 0;
}

.pfi-official-doc__section-heading p {
  color: #52637a;
  font-size: 1.62rem;
  line-height: 1.62;
  margin: 1.2rem auto 0;
  max-width: 72rem;
}

.pfi-official-doc__summary-grid {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-official-doc__summary-card {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.11);
  border-radius: 1.6rem;
  box-shadow: 0 1.6rem 4rem rgba(1, 11, 19, 0.08);
  padding: 2.3rem;
}

.pfi-official-doc__summary-icon {
  align-items: center;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(37, 99, 235, 0.13);
  border-radius: 1.2rem;
  color: var(--pfi-action-blue);
  display: inline-flex;
  height: 4.8rem;
  justify-content: center;
  margin-bottom: 1.6rem;
  width: 4.8rem;
}

.pfi-official-doc__icon {
  height: 2.6rem;
  width: 2.6rem;
}

.pfi-official-doc__summary-card h2 {
  color: var(--pfi-primary-navy);
  font-size: 2rem;
  font-weight: 850;
  line-height: 1.16;
  margin: 0;
}

.pfi-official-doc__summary-card p {
  color: #52637a;
  font-size: 1.48rem;
  line-height: 1.58;
  margin: 1rem 0 0;
}

.pfi-official-doc__body {
  padding: clamp(5rem, 7vw, 8rem) var(--space-m, 2rem);
}

.pfi-official-doc__body-heading {
  margin-bottom: clamp(3rem, 4vw, 4.4rem);
}

.pfi-official-doc__layout {
  align-items: stretch;
  display: grid;
  gap: clamp(2.8rem, 4vw, 5rem);
  grid-template-columns: minmax(24rem, 30rem) minmax(0, 1fr);
}

.pfi-official-doc__sidebar {
  align-self: stretch;
  display: grid;
  gap: 1.4rem;
}

.pfi-official-doc__sidebar-sticky {
  align-self: start;
  display: grid;
  gap: 1.4rem;
  position: sticky;
  top: 11rem;
}

.pfi-official-doc__panel {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  box-shadow: 0 1.2rem 3.2rem rgba(1, 11, 19, 0.07);
  padding: 1.8rem;
}

.pfi-official-doc__panel h2 {
  color: var(--pfi-primary-navy);
  font-size: 1.55rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-official-doc__panel p,
.pfi-official-doc__panel li {
  color: #52637a;
  font-size: 1.38rem;
  line-height: 1.52;
}

.pfi-official-doc__panel p {
  margin: 0 0 1.2rem;
}

.pfi-official-doc__panel ul {
  display: grid;
  gap: 0.7rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pfi-official-doc__panel li {
  border-top: 1px solid rgba(0, 66, 90, 0.08);
  padding-top: 0.7rem;
}

.pfi-official-doc__panel li:first-child {
  border-top: 0;
  padding-top: 0;
}

.pfi-official-doc__toc {
  display: grid;
  gap: 1rem;
}

.pfi-official-doc__toc a {
  align-items: center;
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.1rem;
  color: #52637a;
  display: flex;
  font-size: 1.42rem;
  font-weight: 800;
  justify-content: flex-start;
  line-height: 1.25;
  padding: 1.15rem 1.25rem;
  text-decoration: none;
  transition: border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.pfi-official-doc__toc a:hover,
.pfi-official-doc__toc a:focus,
.pfi-official-doc__toc a.is-active {
  border-color: var(--pfi-soft-accent-blue-border);
  color: var(--pfi-soft-accent-blue);
  transform: translateX(0.2rem);
}

.pfi-official-doc__panel--resources ul {
  gap: 0.85rem;
}

.pfi-official-doc__panel--resources li,
.pfi-official-doc__panel--resources li:first-child {
  border-top: 0;
  padding-top: 0;
}

.pfi-official-doc__panel--resources a {
  align-items: center;
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1rem;
  color: var(--pfi-primary-navy);
  display: flex;
  font-size: 1.4rem;
  font-weight: 850;
  gap: 1rem;
  justify-content: space-between;
  line-height: 1.25;
  min-height: 4.4rem;
  padding: 1.05rem 1.15rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.pfi-official-doc__panel--resources a::after {
  border-right: 0.2rem solid currentColor;
  border-top: 0.2rem solid currentColor;
  content: "";
  flex: 0 0 0.8rem;
  height: 0.8rem;
  transform: rotate(45deg);
  width: 0.8rem;
}

.pfi-official-doc__panel--resources a:hover,
.pfi-official-doc__panel--resources a:focus-visible {
  background: var(--pfi-primary-navy);
  border-color: var(--pfi-primary-navy);
  color: #fff;
  transform: translateX(0.2rem);
}

.pfi-official-doc__panel--resources a:active,
.pfi-official-doc__panel--resources a:focus:not(:focus-visible) {
  background: #f5f8fb;
  border-color: rgba(0, 66, 90, 0.1);
  color: var(--pfi-primary-navy);
  outline: none;
  transform: none;
}

.pfi-official-doc__disabled-action,
.pfi-official-doc__download {
  align-items: center;
  background: rgba(0, 66, 90, 0.07);
  border-radius: 999px;
  color: var(--pfi-primary-navy);
  display: inline-flex;
  font-size: 1.28rem;
  font-weight: 850;
  line-height: 1;
  padding: 0.9rem 1.1rem;
}

.pfi-official-doc__download {
  background: var(--pfi-action-blue);
  color: #fff;
  text-decoration: none;
}

.pfi-official-doc__download:hover,
.pfi-official-doc__download:focus {
  background: var(--pfi-primary-navy);
  color: #fff;
}

.pfi-official-doc__content {
  display: grid;
  gap: 2rem;
  min-width: 0;
}

.pfi-official-doc__notice,
.pfi-official-doc__section {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.6rem;
  box-shadow: 0 1.4rem 3.8rem rgba(1, 11, 19, 0.07);
}

.pfi-official-doc__notice {
  border-left: 0.5rem solid var(--pfi-accent-lime);
  padding: 2rem;
}

.pfi-official-doc__notice strong {
  color: var(--pfi-primary-navy);
  display: block;
  font-size: 1.58rem;
  font-weight: 850;
  margin-bottom: 0.55rem;
}

.pfi-official-doc__notice p {
  color: #52637a;
  font-size: 1.48rem;
  line-height: 1.58;
  margin: 0;
}

.pfi-official-doc__section {
  scroll-margin-top: 12rem;
  padding: clamp(2.4rem, 3.2vw, 3.8rem);
}

.pfi-official-doc__section h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.65rem, 3vw, 3.5rem);
  font-weight: 850;
  line-height: 1.1;
  margin: 0 0 1.4rem;
}

.pfi-official-doc__section p,
.pfi-official-doc__section li {
  color: #52637a;
  font-size: 1.64rem;
  line-height: 1.72;
}

.pfi-official-doc__section p {
  margin: 0 0 1.35rem;
}

.pfi-official-doc__section p:last-child {
  margin-bottom: 0;
}

.pfi-official-doc__section ul {
  display: grid;
  gap: 0.85rem;
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}

.pfi-official-doc__section li {
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1rem;
  padding: 1.05rem 1.2rem 1.05rem 3.6rem;
  position: relative;
}

.pfi-official-doc__section li::before {
  background: var(--pfi-accent-lime);
  border-radius: 999px;
  content: "";
  height: 0.8rem;
  left: 1.5rem;
  position: absolute;
  top: 2rem;
  width: 0.8rem;
}

.pfi-official-doc__section-accordion {
  display: none;
  gap: 1rem;
}

.pfi-official-doc__section-accordion-item {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.3rem;
  box-shadow: 0 1.2rem 3.2rem rgba(1, 11, 19, 0.07);
  overflow: hidden;
}

.pfi-official-doc__section-accordion-item summary {
  align-items: start;
  color: var(--pfi-primary-navy);
  cursor: pointer;
  display: grid;
  font-size: 1.68rem;
  font-weight: 850;
  gap: 1.2rem;
  grid-template-columns: minmax(0, 1fr) auto;
  line-height: 1.25;
  list-style: none;
  min-height: 5.6rem;
  padding: 1.6rem 1.8rem;
}

.pfi-official-doc__section-accordion-item summary::-webkit-details-marker {
  display: none;
}

.pfi-official-doc__section-accordion-item summary::after {
  color: var(--pfi-soft-accent-blue);
  content: "+";
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.1;
  margin-top: 0.02rem;
}

.pfi-official-doc__section-accordion-item[open] summary::after {
  content: "-";
}

.pfi-official-doc__section-accordion-content {
  border-top: 1px solid rgba(0, 66, 90, 0.08);
  padding: 0.3rem 1.8rem 1.8rem;
}

.pfi-official-doc__section-accordion-content p,
.pfi-official-doc__section-accordion-content li {
  color: #52637a;
  font-size: 1.52rem;
  line-height: 1.65;
}

.pfi-official-doc__section-accordion-content p {
  margin: 1.2rem 0 0;
}

.pfi-official-doc__section-accordion-content ul {
  display: grid;
  gap: 0.75rem;
  list-style: none;
  margin: 1.7rem 0 0;
  padding: 0;
}

.pfi-official-doc__section-accordion-content li {
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1rem;
  padding: 1rem 1.2rem 1rem 3.3rem;
  position: relative;
}

.pfi-official-doc__section-accordion-content li::before {
  background: var(--pfi-soft-accent-blue);
  border-radius: 999px;
  box-shadow: 0 0 0 0.3rem var(--pfi-soft-accent-blue-shadow);
  content: "";
  height: 0.72rem;
  left: 1.35rem;
  position: absolute;
  top: 1.8rem;
  width: 0.72rem;
}

.pfi-official-doc--code-of-conduct .pfi-official-doc__section li::before,
.pfi-official-doc--anti-doping .pfi-official-doc__section li::before,
.pfi-official-doc--club-standards .pfi-official-doc__section li::before,
.pfi-official-doc--safeguarding .pfi-official-doc__section li::before,
.pfi-official-doc--child-protection .pfi-official-doc__section li::before,
.pfi-official-doc--complaints-procedure .pfi-official-doc__section li::before,
.pfi-official-doc--disciplinary-code .pfi-official-doc__section li::before,
.pfi-official-doc--ethics-compliance .pfi-official-doc__section li::before,
.pfi-official-doc--constitution .pfi-official-doc__section li::before {
  background: var(--pfi-action-blue);
  box-shadow: 0 0 0 0.3rem rgba(37, 99, 235, 0.1);
}

.pfi-official-doc__faqs {
  display: grid;
  gap: 1rem;
  margin-top: 1.8rem;
}

.pfi-official-doc__faqs details {
  background: #f5f8fb;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.2rem;
  padding: 1.5rem 1.7rem;
}

.pfi-official-doc__faqs summary {
  color: var(--pfi-primary-navy);
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: 850;
  line-height: 1.3;
}

.pfi-official-doc__faqs p {
  margin-top: 1rem;
}

@media (max-width: 1024px) {
  .pfi-official-doc__layout {
    grid-template-columns: 1fr;
  }

  .pfi-official-doc__sidebar-sticky {
    position: static;
  }

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

@media (max-width: 1180px) {
  .pfi-official-doc .pfi-official-doc__layout {
    grid-template-columns: 1fr;
  }

  .pfi-official-doc .pfi-official-doc__sidebar-sticky {
    position: static;
  }

  .pfi-official-doc .pfi-official-doc__panel--toc,
  .pfi-official-doc .pfi-official-doc__section[data-pfi-doc-section] {
    display: none;
  }

  .pfi-official-doc .pfi-official-doc__section-accordion {
    display: grid;
  }
}

@media (max-width: 767px) {
  .pfi-official-doc__hero,
  .pfi-official-doc__summary,
  .pfi-official-doc__body {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .pfi-official-doc__meta {
    align-items: flex-start;
    gap: 0.65rem;
    margin-top: 2rem;
  }

  .pfi-official-doc__meta span {
    border-radius: 0.85rem;
    font-size: 1.12rem;
    line-height: 1.15;
    padding: 0.68rem 0.9rem;
  }

  .pfi-official-doc--coaching-standards .pfi-official-doc__hero {
    align-items: stretch;
    background: #053142 !important;
    display: grid;
    grid-template-rows: minmax(25rem, 42svh) minmax(0, 1fr);
    min-height: calc(100svh - 7.4rem);
    padding: 0;
  }

  .pfi-official-doc--coaching-standards .pfi-official-doc__hero::before {
    background-image:
      linear-gradient(180deg, rgba(1, 18, 30, 0.02) 0%, rgba(1, 18, 30, 0.2) 100%),
      var(--pfi-official-doc-hero-photo-mobile, var(--pfi-official-doc-hero-photo));
    background-position: center;
    background-size: cover;
    content: "";
    display: block;
    min-height: clamp(25rem, 42svh, 35rem);
    width: 100%;
  }

  .pfi-official-doc--coaching-standards .pfi-official-doc__hero-inner {
    margin-inline: 0;
    max-width: 38rem;
    padding: clamp(2.8rem, 7vw, 3.4rem) 2rem clamp(3.6rem, 9vw, 4.8rem);
  }

  .pfi-official-doc--code-of-conduct .pfi-official-doc__hero,
  .pfi-official-doc--anti-doping .pfi-official-doc__hero,
  .pfi-official-doc--safeguarding .pfi-official-doc__hero,
  .pfi-official-doc--child-protection .pfi-official-doc__hero,
  .pfi-official-doc--complaints-procedure .pfi-official-doc__hero,
  .pfi-official-doc--disciplinary-code .pfi-official-doc__hero,
  .pfi-official-doc--ethics-compliance .pfi-official-doc__hero,
  .pfi-official-doc--constitution .pfi-official-doc__hero {
    min-height: auto;
    padding-bottom: 4.4rem;
    padding-top: 4.6rem;
  }

  .pfi-official-doc--code-of-conduct .pfi-official-doc__title,
  .pfi-official-doc--anti-doping .pfi-official-doc__title,
  .pfi-official-doc--safeguarding .pfi-official-doc__title,
  .pfi-official-doc--child-protection .pfi-official-doc__title,
  .pfi-official-doc--complaints-procedure .pfi-official-doc__title,
  .pfi-official-doc--disciplinary-code .pfi-official-doc__title,
  .pfi-official-doc--ethics-compliance .pfi-official-doc__title,
  .pfi-official-doc--constitution .pfi-official-doc__title {
    font-size: clamp(3.1rem, 8.7vw, 3.55rem);
    line-height: 1.04;
  }

  .pfi-official-doc__summary-grid,
  .pfi-official-doc__toc {
    grid-template-columns: 1fr;
  }

  .pfi-official-doc__section,
  .pfi-official-doc__notice,
  .pfi-official-doc__summary-card,
  .pfi-official-doc__panel {
    border-radius: 1.2rem;
  }
}

/* ==========================================================================
   Find Your Local Club Page
   ========================================================================== */


body.page-id-425 #brxe-osldjs {
  align-items: center;
  background-image: linear-gradient(rgba(8, 13, 22, 0.56), rgba(8, 13, 22, 0.56)), url("/wp-content/uploads/2026/05/pfi-hero-find-local-club.jpg");
  background-position: center;
  background-size: cover;
  justify-content: center;
  min-height: 100vh;
  min-height: 100svh;
  padding: clamp(7rem, 10vh, 11rem) var(--space-m);
}

body.page-id-425 #brxe-bwnkms {
  align-items: center;
  margin-inline: auto;
  max-width: 88rem;
  text-align: center;
  width: 100%;
}

body.page-id-425 #brxe-imeibz {
  color: #fff;
  font-size: clamp(5.2rem, 8vw, 9rem);
  font-weight: 800;
  line-height: 0.98;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.8rem;
  max-width: 86rem;
}

body.page-id-425 #brxe-fsnhlq {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(1.7rem, 1.6vw, 2.2rem);
  line-height: 1.5;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
  max-width: 70rem;
}

body.page-id-425 #brxe-flntzf {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.2rem;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(1.4rem, 2.6vh, 3rem);
  max-width: 74rem;
  width: 100%;
}

body.page-id-425 #brxe-flntzf .brxe-button {
  align-items: center;
  background: var(--pfi-tertiary-sky) !important;
  border: 1px solid var(--pfi-tertiary-sky) !important;
  border-radius: 0.8rem;
  color: #ffffff !important;
  flex: 0 0 15.8rem;
  justify-content: center;
  min-height: 4.6rem;
  padding: 1.1rem 2.2rem;
  width: 15.8rem;
  -webkit-text-fill-color: #ffffff !important;
}

body.page-id-425 #brxe-flntzf .brxe-button:hover,
body.page-id-425 #brxe-flntzf .brxe-button:focus {
  background: color-mix(in srgb, var(--pfi-tertiary-sky) 84%, var(--pfi-primary-navy)) !important;
  border-color: color-mix(in srgb, var(--pfi-tertiary-sky) 84%, var(--pfi-primary-navy)) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.page-id-425 #brxe-flntzf .brxe-button {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: transparent !important;
  flex-basis: 13.6rem;
  font-size: 0;
  min-height: 6.8rem;
  padding: 0.4rem;
  width: 13.6rem;
  -webkit-text-fill-color: transparent !important;
}

body.page-id-425 #brxe-flntzf .brxe-button::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 6.4rem;
  width: 12.8rem;
}

body.page-id-425 #brxe-flntzf .brxe-button[href="#leinster"]::before {
  background-image: url("/wp-content/uploads/2026/05/leinster-white.png");
  transform: translateY(0.25rem);
}

body.page-id-425 #brxe-flntzf .brxe-button[href="#munster"]::before {
  background-image: url("/wp-content/uploads/2026/05/munster-white.png");
}

body.page-id-425 #brxe-flntzf .brxe-button[href="#connacht"]::before {
  background-image: url("/wp-content/uploads/2026/05/connacht-white.png");
}

body.page-id-425 #brxe-flntzf .brxe-button[href="#ulster"]::before {
  background-image: url("/wp-content/uploads/2026/05/ulster-white.png");
}

body.page-id-425 #brxe-flntzf .brxe-button:hover,
body.page-id-425 #brxe-flntzf .brxe-button:focus {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  transform: translateY(-0.2rem);
}

body.page-id-425 #brxe-zsgmem {
  background: #f4f4f4;
  color: var(--text-title, #0f172a);
  padding-bottom: clamp(0.2rem, 0.5vw, 0.6rem);
  padding-top: clamp(2.2rem, 3vw, 3.2rem);
}

body.page-id-425 #brxe-yfnjad {
  display: grid;
  gap: clamp(2rem, 5vw, 6rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-left: auto;
  margin-right: auto;
  max-width: 104rem;
  width: 100%;
}

body.page-id-425 #brxe-yfnjad > .brxe-block {
  align-items: baseline;
  background: transparent;
  border-right: 0;
  display: flex;
  flex-direction: row !important;
  flex-wrap: nowrap;
  gap: 0.8rem;
  justify-content: center;
  min-height: 5.8rem;
  padding: 0;
  text-align: left;
  white-space: nowrap;
}

body.page-id-425 #brxe-vyybzg,
body.page-id-425 #brxe-fkjzxm,
body.page-id-425 #brxe-bzxxov,
body.page-id-425 #brxe-stic01,
body.page-id-425 #brxe-stic02,
body.page-id-425 #brxe-stic03 {
  align-items: center;
  color: var(--pfi-icon-blue);
  display: inline-flex !important;
  flex: 0 0 2.2rem;
  font-size: 2.2rem !important;
  height: 2.2rem;
  justify-content: center;
  line-height: 1 !important;
  margin: 0;
  width: 2.2rem;
}

body.page-id-425 #brxe-vyybzg::before,
body.page-id-425 #brxe-fkjzxm::before,
body.page-id-425 #brxe-bzxxov::before {
  color: var(--pfi-icon-blue) !important;
  display: block;
  font-size: 2.2rem !important;
  line-height: 1 !important;
}

body.page-id-425 .pfi-home-stat-icon {
  display: block;
  height: 2.2rem;
  stroke-width: 2.1;
  transform: translateY(0.18rem);
  width: 2.2rem;
}

body.page-id-425 #brxe-lvzlxi,
body.page-id-425 #brxe-aodelm,
body.page-id-425 #brxe-xrxpwz,
body.page-id-425 #brxe-rjpfaj,
body.page-id-425 #brxe-zdxsgj {
  color: var(--pfi-primary-navy);
  display: inline-flex !important;
  flex: 0 0 auto;
  font-size: clamp(1.8rem, 1.8vw, 2.3rem);
  font-weight: 800 !important;
  line-height: 1.15;
  margin: 0;
  white-space: nowrap;
  width: auto !important;
}

body.page-id-425 #brxe-ofbmvc {
  display: none;
}

body.page-id-425 #brxe-pfimpc {
  align-items: center;
  text-align: center;
}

body.page-id-425 #brxe-pfimph,
body.page-id-425 #brxe-pfimpt {
  text-align: center;
  width: 100%;
}

body.page-id-425 #brxe-pfimph {
  margin-bottom: 1.1rem;
}

body.page-id-425 #brxe-pfimpt {
  margin-bottom: clamp(2.4rem, 3vw, 3.6rem);
  max-width: 68rem;
}

body.page-id-425 #brxe-pfimps {
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(1.2rem, 2.5vw, 2.8rem);
  padding-right: clamp(1.2rem, 2.5vw, 2.8rem);
  text-align: left;
  width: 100%;
}

body.page-id-425 #brxe-canmjr {
  background: #f6f8fb;
  box-shadow: 0 0 0 100vmax #f6f8fb;
  clip-path: inset(0 -100vmax);
}

body.page-id-425 #brxe-eykren {
  align-items: center;
}

body.page-id-425 #brxe-ctyhdg {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.8rem, 3vw, 3.8rem);
  font-weight: 800;
  line-height: 1.15;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.1rem;
  text-align: center;
  width: 100%;
}

body.page-id-425 #brxe-ctytxt {
  color: #4b5563;
  font-size: clamp(1.6rem, 1.35vw, 1.9rem);
  line-height: 1.55;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(1.8rem, 2.4vw, 3rem);
  max-width: 68rem;
  text-align: center;
  width: 100%;
}

.pfi-province-map-prototype-group {
  margin: clamp(5rem, 6vw, 8rem) auto 1.5rem;
}

.pfi-province-map-prototype {
  background: #ffffff;
  border: 1px solid rgba(0, 66, 90, 0.12);
  border-radius: 1.6rem;
  box-shadow: 0 2.4rem 5.5rem rgba(15, 23, 42, 0.08);
  margin: 0 auto 1.5rem;
  max-width: 118rem;
  padding: clamp(2.2rem, 3.5vw, 4.2rem);
}

.pfi-province-map-prototype + .pfi-province-map-prototype {
  margin-top: clamp(3rem, 4vw, 5rem);
}

.pfi-province-map-prototype__header {
  margin: 0 auto clamp(2.4rem, 3vw, 3.4rem);
  max-width: 72rem;
  text-align: center;
}

.pfi-province-map-prototype__eyebrow {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 1.2rem;
}

.pfi-province-map-prototype__eyebrow img {
  display: block;
  height: auto;
  max-width: min(16rem, 52vw);
  object-fit: contain;
  width: 16rem;
}

.pfi-province-map-prototype__header h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.5rem, 3vw, 3.7rem);
  font-weight: 850;
  line-height: 1.15;
  margin: 0 0 1rem;
}

.pfi-province-map-prototype__header p {
  color: #4b5563;
  font-size: clamp(1.5rem, 1.4vw, 1.8rem);
  line-height: 1.55;
  margin: 0;
}

.pfi-province-map-prototype__layout {
  align-items: start;
  display: grid;
  gap: clamp(2.2rem, 3.5vw, 4rem);
  grid-template-columns: minmax(0, 1.35fr) minmax(24rem, 0.65fr);
}

.pfi-province-map-prototype__map-scroll {
  background:
    linear-gradient(135deg, rgba(56, 189, 248, 0.08), rgba(0, 66, 90, 0.04)),
    #f8fafc;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  overflow: hidden;
  padding: clamp(1.2rem, 2vw, 2rem);
}

.pfi-province-map {
  display: block;
  height: auto;
  max-height: 78rem;
  width: 100%;
}

.pfi-province-map__county {
  cursor: pointer;
  outline: none;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.pfi-province-map__shape {
  fill: #eef6f9;
  stroke: rgba(0, 66, 90, 0.35);
  stroke-linejoin: round;
  stroke-width: 1.4;
  transition: fill 180ms ease, stroke 180ms ease, filter 180ms ease;
}

.pfi-province-map__county:hover .pfi-province-map__shape,
.pfi-province-map__county:focus-visible .pfi-province-map__shape {
  filter: drop-shadow(0 0.6rem 1rem rgba(0, 66, 90, 0.12));
  stroke: #001f2d;
  stroke-width: 2.2;
}

.pfi-province-map-prototype__list {
  display: grid;
  gap: 1rem;
}

.pfi-province-map-prototype__counties {
  position: relative;
}

.pfi-province-map-prototype__toggle,
.pfi-province-map-prototype__toggle-label {
  display: none;
}

.pfi-province-map-card {
  align-items: center;
  background: #f8fafc;
  border: 1px solid rgba(0, 66, 90, 0.12);
  border-radius: 1rem;
  color: var(--pfi-primary-navy);
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 4.6rem 1fr;
  min-height: 6rem;
  padding: 0.9rem 1rem;
  text-decoration: none;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
  -webkit-tap-highlight-color: transparent;
}

.pfi-province-map-card:hover,
.pfi-province-map-card:focus-visible {
  background: #ffffff;
  border-color: var(--pfi-tertiary-sky);
  transform: translateX(0.3rem);
}

.pfi-province-map-card__flag {
  border: 1px solid rgba(0, 66, 90, 0.16);
  border-radius: 999px;
  display: flex;
  height: 3.6rem;
  overflow: hidden;
  width: 3.6rem;
}

.pfi-province-map-card__flag span {
  flex: 1;
}

.pfi-province-map-card__content {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.pfi-province-map-card__content strong {
  color: var(--pfi-primary-navy);
  font-size: 1.5rem;
  line-height: 1.2;
}

.pfi-province-map-card__content small {
  color: #64748b;
  font-size: 1.25rem;
  font-weight: 700;
}

.pfi-province-map-prototype__credit {
  color: #64748b;
  font-size: 1.1rem;
  line-height: 1.35;
  margin: 1.4rem auto 0;
  max-width: 118rem;
  text-align: right;
}

@media (max-width: 900px) {
  .pfi-province-map-prototype__layout {
    grid-template-columns: 1fr;
  }

  .pfi-province-map-prototype__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .pfi-province-map-prototype {
    border-radius: 1.2rem;
    padding: 1.6rem;
  }

  .pfi-province-map-prototype__header {
    text-align: center;
  }

  .pfi-province-map-prototype__map-scroll {
    overflow: hidden;
    padding: 1rem;
  }

  .pfi-province-map {
    min-width: 0;
    width: 100%;
  }

  .pfi-province-map-prototype__toggle {
    clip: rect(0 0 0 0);
    display: block;
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .pfi-province-map-prototype__toggle-label {
    align-items: center;
    background: var(--pfi-primary-navy);
    border-radius: 0.9rem;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    min-height: 5.2rem;
    padding: 1rem 1.2rem;
    -webkit-tap-highlight-color: transparent;
  }

  .pfi-province-map-prototype__toggle-label::after {
    border-right: 0.2rem solid currentColor;
    border-bottom: 0.2rem solid currentColor;
    content: "";
    height: 0.9rem;
    margin-left: 1.2rem;
    transform: rotate(45deg);
    transition: transform 160ms ease;
    width: 0.9rem;
  }

  .pfi-province-map-prototype__toggle-label span {
    font-size: 1.5rem;
    font-weight: 850;
    line-height: 1.15;
  }

  .pfi-province-map-prototype__toggle-label small {
    color: rgba(255, 255, 255, 0.76);
    font-size: 1.2rem;
    font-weight: 800;
    margin-left: auto;
  }

  .pfi-province-map-prototype__toggle:focus-visible + .pfi-province-map-prototype__toggle-label {
    outline: 0.3rem solid rgba(56, 189, 248, 0.42);
    outline-offset: 0.3rem;
  }

  .pfi-province-map-prototype__toggle:checked + .pfi-province-map-prototype__toggle-label::after {
    transform: rotate(225deg) translate(-0.2rem, -0.2rem);
  }

  .pfi-province-map-prototype__list {
    display: none;
    grid-template-columns: 1fr;
    margin-top: 1rem;
  }

  .pfi-province-map-prototype__toggle:checked + .pfi-province-map-prototype__toggle-label + .pfi-province-map-prototype__list {
    display: grid;
  }

  .pfi-province-map-card:hover,
  .pfi-province-map-card:focus-visible {
    transform: none;
  }

  .pfi-province-map-prototype__credit {
    box-sizing: border-box;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    text-align: left;
  }
}

body.page-id-425 #brxe-xgvtqf #brxe-vibnnv,
body.page-id-425 #brxe-expmhd,
body.page-id-425 #brxe-faqhd1 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.8rem, 3vw, 3.8rem);
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  width: 100%;
}

body.page-id-425 #brxe-xgvtqf #brxe-vibnnv {
  margin-bottom: clamp(2.4rem, 3vw, 3.6rem);
}

body.page-id-425 #brxe-xgvtqf #brxe-jszwzl {
  width: 100%;
}

body.page-id-425 #brxe-dexegt {
  background: linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  box-shadow: 0 0 0 100vmax #053142;
  clip-path: inset(0 -100vmax);
  color: #fff;
  max-width: none;
  width: 100%;
}

body.page-id-425 #brxe-expmhd {
  color: #fff;
  margin-bottom: clamp(3.2rem, 4vw, 5.6rem);
}

body.page-id-425 #brxe-mqbvmg {
  align-items: stretch;
  display: grid;
  gap: clamp(2rem, 2.5vw, 3.2rem);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-left: auto;
  margin-right: auto;
  max-width: 112rem;
  width: 100%;
}

body.page-id-425 #brxe-mqbvmg > .brxe-block {
  align-items: center;
  background: rgba(12, 45, 62, 0.74);
  border: 1px solid rgba(224, 224, 224, 0.18);
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3rem rgba(1, 11, 19, 0.22);
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: flex-start;
  min-height: 27rem;
  padding: clamp(2.8rem, 3vw, 3.8rem) clamp(2rem, 2.4vw, 3rem);
  text-align: center;
  text-decoration: none;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

body.page-id-425 #brxe-mqbvmg > .brxe-block:hover,
body.page-id-425 #brxe-mqbvmg > .brxe-block:focus {
  border-color: rgba(184, 224, 74, 0.55);
  box-shadow: 0 1.8rem 4rem rgba(1, 11, 19, 0.3);
  outline: none;
  transform: translateY(-0.4rem);
}

body.page-id-425 #brxe-mqbvmg > .brxe-block:focus-visible {
  outline: 0.2rem solid var(--pfi-accent-lime);
  outline-offset: 0.35rem;
}

body.page-id-425 #brxe-mqbvmg > .brxe-block:active,
body.page-id-425 #brxe-mqbvmg > .brxe-block:focus:not(:focus-visible) {
  background: rgba(12, 45, 62, 0.74);
  outline: none;
}

body.page-id-425 #brxe-cqzhoo,
body.page-id-425 #brxe-ubtgoj,
body.page-id-425 #brxe-jsjpku,
body.page-id-425 #brxe-rwzluy,
body.page-id-425 #brxe-mqbvmg .pfi-explore-icon {
  color: var(--pfi-accent-lime) !important;
  font-size: clamp(4.4rem, 4vw, 5.8rem) !important;
  line-height: 1 !important;
  margin-bottom: 2.6rem;
}

body.page-id-425 #brxe-mqbvmg h3 {
  color: #fff;
  font-size: clamp(1.8rem, 1.5vw, 2.1rem);
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 1.2rem;
}

body.page-id-425 #brxe-mqbvmg p {
  color: rgba(248, 251, 255, 0.82);
  font-size: clamp(1.55rem, 1.25vw, 1.8rem);
  font-weight: 500;
  line-height: 1.45;
  margin: 0;
  max-width: 20rem;
}

body.page-id-425 #brxe-nurckv {
  background: #fff;
  padding-bottom: clamp(7rem, 8vw, 10rem);
  padding-top: clamp(7rem, 8vw, 10rem);
}

body.page-id-425 #brxe-xnzieb {
  align-items: center;
}

body.page-id-425 #brxe-faqhd1 {
  margin-bottom: 1.8rem;
}

body.page-id-425 #brxe-faqin1 {
  color: #4b5563;
  font-size: clamp(1.6rem, 1.35vw, 1.9rem);
  line-height: 1.55;
  margin-bottom: clamp(3.8rem, 4.6vw, 5.8rem);
  max-width: 68rem;
  text-align: center;
}

body.page-id-425 #brxe-faqacc {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  max-width: 86rem;
  width: 100%;
}

body.page-id-425 #brxe-faqacc .x-accordion_item {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 0.8rem;
  box-shadow: 0 0.8rem 2.2rem rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

body.page-id-425 #brxe-faqacc .x-accordion_heading-wrapper {
  margin: 0;
}

body.page-id-425 #brxe-faqacc .x-accordion_header {
  align-items: center;
  color: var(--pfi-primary-navy);
  cursor: pointer;
  display: flex;
  gap: 1.6rem;
  justify-content: space-between;
  min-height: 6.4rem;
  padding: 1.8rem 2.2rem;
  transition: background-color 180ms ease, color 180ms ease;
}

body.page-id-425 #brxe-faqacc .x-accordion_header:hover,
body.page-id-425 #brxe-faqacc .x-accordion_header[aria-expanded="true"] {
  background: #f2f8ff;
}

body.page-id-425 #brxe-faqacc .x-accordion_title {
  color: inherit;
  font-size: clamp(1.7rem, 1.5vw, 2rem);
  font-weight: 800;
  line-height: 1.3;
}

body.page-id-425 #brxe-faqacc .x-accordion_icon {
  color: var(--pfi-action-blue) !important;
  flex: 0 0 auto;
  font-size: 1.8rem !important;
  line-height: 1 !important;
  transition: transform 180ms ease;
}

body.page-id-425 #brxe-faqacc .x-accordion_header[aria-expanded="true"] .x-accordion_icon {
  transform: rotate(180deg);
}

body.page-id-425 #brxe-faqacc .x-accordion_content-inner {
  color: #4b5563;
  font-size: 1.6rem;
  line-height: 1.65;
  padding: 1.2rem 2.2rem 2.2rem;
  text-align: left;
}

body.page-id-425 #brxe-faqacc .x-accordion_content-inner :is(p, .brxe-text, .brxe-text-basic) {
  text-align: left;
}

body.page-id-425 #brxe-eeiemx {
  background: #fff;
  color: var(--pfi-primary-navy);
  padding: clamp(5rem, 7vw, 8rem) var(--space-m);
}

body.page-id-425 #brxe-xhmrps {
  align-items: center;
  background: #f2f8ff;
  border: 1px solid #dbeafe;
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3.6rem rgba(15, 23, 42, 0.09);
  max-width: 96rem;
  padding: clamp(3.2rem, 5vw, 5.2rem);
  text-align: center;
}

body.page-id-425 #brxe-xrlsvy {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 3.4vw, 4.4rem);
  font-weight: 800;
  line-height: 1.12;
  margin-bottom: 1.4rem;
}

body.page-id-425 #brxe-gvlysw {
  color: #4b5563;
  font-size: clamp(1.65rem, 1.5vw, 2rem);
  line-height: 1.55;
  margin-bottom: 2.8rem;
  max-width: 66rem;
}

body.page-id-425 #brxe-subclb {
  background: var(--pfi-action-blue);
  border: 1px solid var(--pfi-action-blue);
  border-radius: 999px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 800;
  min-height: 4.8rem;
  padding: 1.2rem 2.6rem;
  text-decoration: none;
}

body.page-id-425 #brxe-clbseo {
  background:
    radial-gradient(circle at 88% 18%, rgba(56, 189, 248, 0.16), transparent 34rem),
    linear-gradient(135deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-portal-bg) 48%, var(--pfi-primary-navy) 100%);
  background-color: var(--pfi-portal-bg-deep);
  color: #fff;
  padding: clamp(6.5rem, 8vw, 9.5rem) var(--space-m);
}

body.page-id-425 #brxe-clbsec {
  align-items: stretch;
  max-width: 112rem;
  width: 100%;
}

.pfi-club-support {
  box-sizing: border-box;
  display: grid;
  gap: clamp(2.8rem, 4vw, 4.8rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  max-width: 100%;
  width: 100%;
}

.pfi-club-support *,
.pfi-club-support *::before,
.pfi-club-support *::after {
  box-sizing: border-box;
}

.pfi-club-support__intro {
  max-width: 62rem;
  min-width: 0;
}

.pfi-club-support__kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1.1rem;
  text-transform: uppercase;
}

.pfi-club-support h2 {
  color: #fff;
  font-size: clamp(3.2rem, 4vw, 5.2rem);
  font-weight: 900;
  line-height: 1.05;
  margin: 0 0 2rem;
}

.pfi-club-support__intro p {
  color: rgba(248, 251, 255, 0.86);
  font-size: clamp(1.6rem, 1.3vw, 1.85rem);
  line-height: 1.68;
  margin: 0 0 1.5rem;
}

.pfi-club-support__cards {
  display: grid;
  gap: 1.4rem;
  min-width: 0;
}

.pfi-club-support__card {
  background: rgba(12, 45, 62, 0.74);
  border: 1px solid rgba(224, 224, 224, 0.18);
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3rem rgba(1, 11, 19, 0.22);
  min-width: 0;
  overflow-wrap: anywhere;
  padding: clamp(1.8rem, 2.4vw, 2.4rem);
}

.pfi-club-support__card span {
  color: var(--pfi-tertiary-sky);
  display: block;
  font-size: 1.55rem;
  font-weight: 900;
  margin-bottom: 0.8rem;
}

.pfi-club-support__card p {
  color: rgba(248, 251, 255, 0.82);
  font-size: 1.5rem;
  line-height: 1.58;
  margin: 0;
}

.pfi-club-support__links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  grid-column: 1 / -1;
  min-width: 0;
}

.pfi-club-support__links a {
  align-items: center;
  background: rgba(248, 251, 255, 0.08);
  border: 1px solid rgba(224, 224, 224, 0.18);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 1.45rem;
  font-weight: 800;
  justify-content: center;
  max-width: 100%;
  min-height: 4.2rem;
  padding: 0.9rem 1.5rem;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.pfi-club-support__links a:hover,
.pfi-club-support__links a:active,
.pfi-club-support__links a:focus-visible {
  background: var(--pfi-accent-lime);
  border-color: var(--pfi-accent-lime);
  color: var(--pfi-surface-dark);
}

.pfi-club-support__links a:focus:not(:focus-visible) {
  background: rgba(248, 251, 255, 0.08);
  border-color: rgba(224, 224, 224, 0.18);
  color: #fff;
  outline: none;
}

@media (max-width: 900px) {
  body.page-id-425 #brxe-clbsec {
    max-width: 72rem;
  }

  .pfi-club-support {
    gap: 2.6rem;
    grid-template-columns: 1fr;
  }

  .pfi-club-support__intro {
    max-width: none;
  }
}

@media (max-width: 640px) {
  body.page-id-425 #brxe-clbseo {
    padding: clamp(5rem, 12vw, 6.4rem) clamp(1.8rem, 5vw, var(--space-m));
  }

  .pfi-club-support h2 {
    font-size: clamp(2.9rem, 11vw, 3.8rem);
  }

  .pfi-club-support__intro p {
    font-size: 1.55rem;
  }

  .pfi-club-support__card {
    padding: 1.7rem;
  }

  .pfi-club-support__links {
    align-items: stretch;
    flex-direction: column;
  }

  .pfi-club-support__links a {
    width: 100%;
  }
}

/* ==========================================================================
   Find a Coach Page
   ========================================================================== */

body.page-id-663 #brxe-osldjs {
  align-items: center;
  background-image: linear-gradient(rgba(8, 13, 22, 0.56), rgba(8, 13, 22, 0.56)), url("/wp-content/uploads/2026/05/pfi-hero-find-a-coach.jpg");
  background-position: center;
  background-size: cover;
  justify-content: center;
  min-height: 100vh;
  min-height: 100svh;
  padding: clamp(7rem, 10vh, 11rem) var(--space-m);
}

body.page-id-663 #brxe-bwnkms {
  align-items: center;
  margin-inline: auto;
  max-width: 88rem;
  text-align: center;
  transform: none;
  width: 100%;
}

body.page-id-663 #brxe-imeibz {
  color: #fff;
  font-size: clamp(5.2rem, 8vw, 9rem);
  font-weight: 800;
  line-height: 0.98;
  margin-bottom: 1.8rem;
}

body.page-id-663 #brxe-fsnhlq {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(1.7rem, 1.6vw, 2.2rem);
  line-height: 1.5;
  max-width: 68rem;
}

body.page-id-663 #brxe-zsgmem {
  background: #f4f4f4;
  color: var(--text-title, #0f172a);
  padding-bottom: clamp(0.2rem, 0.5vw, 0.6rem);
  padding-top: clamp(2.2rem, 3vw, 3.2rem);
}

body.page-id-663 #brxe-yfnjad {
  display: grid;
  gap: clamp(2rem, 5vw, 6rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-left: auto;
  margin-right: auto;
  max-width: 104rem;
  width: 100%;
}

body.page-id-663 #brxe-yfnjad > .brxe-block {
  align-items: baseline;
  background: transparent;
  display: flex;
  flex-direction: row !important;
  flex-wrap: nowrap;
  gap: 0.8rem;
  justify-content: center;
  min-height: 5.8rem;
  padding: 0;
  text-align: left;
  white-space: nowrap;
}

body.page-id-663 #brxe-stic01,
body.page-id-663 #brxe-stic02,
body.page-id-663 #brxe-stic03 {
  align-items: center;
  color: var(--pfi-icon-blue);
  display: inline-flex !important;
  flex: 0 0 2.2rem;
  font-size: 2.2rem !important;
  height: 2.2rem;
  justify-content: center;
  line-height: 1 !important;
  margin: 0;
  width: 2.2rem;
}

body.page-id-663 .pfi-home-stat-icon {
  display: block;
  height: 2.2rem;
  stroke-width: 2.1;
  transform: translateY(0.18rem);
  width: 2.2rem;
}

body.page-id-663 #brxe-lvzlxi,
body.page-id-663 #brxe-aodelm,
body.page-id-663 #brxe-xrxpwz,
body.page-id-663 #brxe-rjpfaj,
body.page-id-663 #brxe-zdxsgj,
body.page-id-663 #brxe-ofbmvc {
  color: #333;
  display: inline-flex !important;
  flex: 0 0 auto;
  font-size: clamp(1.8rem, 1.8vw, 2.3rem);
  font-weight: 800 !important;
  line-height: 1.15;
  margin: 0;
  white-space: nowrap;
  width: auto !important;
}

body.page-id-663 #brxe-coachd1,
body.page-id-663 #brxe-xgvtqf,
body.page-id-663 #brxe-dexegt,
body.page-id-663 #brxe-coaseo,
body.page-id-663 #brxe-nurckv,
body.page-id-663 #brxe-eeiemx {
  padding-bottom: clamp(7rem, 8vw, 10rem);
  padding-top: clamp(7rem, 8vw, 10rem);
}

body.page-id-663 #brxe-coachd1,
body.page-id-663 #brxe-eeiemx {
  background: #fff;
}

body.page-id-663 #brxe-xgvtqf,
body.page-id-663 #brxe-nurckv {
  background: #f8fafc;
  box-shadow: 0 0 0 100vmax #f8fafc;
  clip-path: inset(0 -100vmax);
}

body.page-id-663 #brxe-coachc1,
body.page-id-663 #brxe-osngde,
body.page-id-663 #brxe-coasec,
body.page-id-663 #brxe-xnzieb {
  align-items: center;
  text-align: center;
}

body.page-id-663 #brxe-coachh1,
body.page-id-663 #brxe-vibnnv,
body.page-id-663 #brxe-expmhd,
body.page-id-663 #brxe-faqhd1 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.8rem, 3vw, 3.8rem);
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  width: 100%;
}

body.page-id-663 #brxe-coacht1,
body.page-id-663 #brxe-faqin1 {
  color: #4b5563;
  font-size: clamp(1.6rem, 1.35vw, 1.9rem);
  line-height: 1.55;
  margin-bottom: clamp(3.8rem, 4.6vw, 5.8rem);
  max-width: 68rem;
  text-align: center;
}

body.page-id-663 #brxe-coachf1,
body.page-id-663 #brxe-coachg1,
body.page-id-663 #brxe-jszwzl {
  width: 100%;
}

.coach-filter-wrapper {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 1.2rem;
  box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.08);
  margin: 0 auto clamp(3rem, 4vw, 4.8rem);
  max-width: 96rem;
  padding: clamp(1.6rem, 2.4vw, 2.4rem);
  width: 100%;
}

.coach-filter-form {
  align-items: center;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: minmax(0, 1.4fr) minmax(18rem, 0.8fr) auto auto;
}

.coach-filter-search {
  align-items: center;
  display: flex;
  min-width: 0;
  position: relative;
  width: 100%;
}

.coach-filter-search > svg:not(.c-search-results__pin) {
  color: #64748b;
  left: 1.6rem;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

.coach-filter-form input,
.coach-filter-form select {
  background: #f8fafc;
  border: 1px solid #dbe3ee;
  border-radius: 999px;
  color: var(--pfi-primary-navy);
  font: inherit;
  font-size: 1.5rem;
  min-height: 4.8rem;
  padding: 1rem 1.6rem;
  text-align: left;
  width: 100%;
}

.coach-filter-search input {
  padding-left: 4.6rem;
}

.coach-filter-search .c-search-results {
  border-color: rgba(12, 32, 58, 0.1);
  border-radius: 1.2rem;
  box-shadow: 0 1.6rem 3.8rem rgba(15, 23, 42, 0.16);
  margin-top: 0.85rem;
  z-index: 30;
}

.coach-filter-search .c-search-results__type {
  background: var(--pfi-icon-blue);
}

.coach-filter-form input:focus,
.coach-filter-form select:focus {
  border-color: var(--pfi-action-blue);
  box-shadow: 0 0 0 0.3rem rgba(17, 136, 255, 0.14);
  outline: 0;
}

.coach-filter-form input:focus:not(:focus-visible),
.coach-filter-form select:focus:not(:focus-visible),
.coach-filter-form button:focus:not(:focus-visible),
.coach-filter-clear:focus:not(:focus-visible),
.coach-directory-card__media:focus:not(:focus-visible),
.coach-directory-card h3 a:focus:not(:focus-visible),
.coach-directory-card__button:focus:not(:focus-visible),
.pfi-coach-support .pfi-context-link:focus:not(:focus-visible) {
  box-shadow: none;
  outline: none;
}

.pfi-coach-support .pfi-context-link:focus:not(:focus-visible) {
  color: inherit;
  text-decoration-color: color-mix(in srgb, currentColor 55%, transparent);
}

.coach-filter-form input:focus:not(:focus-visible),
.coach-filter-form select:focus:not(:focus-visible) {
  border-color: #dbe3ee;
}

.coach-filter-form button,
.coach-filter-clear {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 1.45rem;
  font-weight: 800;
  justify-content: center;
  min-height: 4.8rem;
  padding: 1rem 1.8rem;
  text-decoration: none !important;
  white-space: nowrap;
}

.coach-filter-form button {
  background: var(--pfi-action-blue);
  border: 1px solid var(--pfi-action-blue);
  color: #fff;
  cursor: pointer;
}

.coach-filter-clear {
  color: #64748b;
}

.coach-grid {
  display: grid;
  gap: clamp(2rem, 2.6vw, 3rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
}

.coach-directory-card {
  background: #fff;
  border: 1px solid rgba(12, 32, 58, 0.12);
  border-radius: 1.2rem;
  box-shadow: 0 1rem 2.6rem rgba(15, 23, 42, 0.1);
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.coach-directory-card:hover {
  box-shadow: 0 1.6rem 3.6rem rgba(15, 23, 42, 0.14);
  transform: translateY(-0.3rem);
}

.coach-directory-card__media {
  background: #eef2f7;
  display: block;
  height: 23rem;
  overflow: hidden;
}

.coach-directory-card__image,
.coach-directory-card__placeholder {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.coach-directory-card__image[src*="siobhan-murray"] {
  object-position: center top;
}

.coach-directory-card__placeholder {
  align-items: center;
  color: var(--pfi-action-blue);
  display: flex;
  justify-content: center;
}

.coach-directory-card__placeholder-icon {
  height: 6rem;
  width: 6rem;
}

.coach-directory-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 2.2rem;
  text-align: left;
}

.pfi-coach-status-badge {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.8rem;
  justify-content: center;
  line-height: 1;
  width: 2.8rem;
}

.pfi-coach-status-badge img {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.coach-directory-card__badge {
  flex: 0 0 2.65rem;
  height: 2.65rem;
  width: 2.65rem;
}

.coach-card-garda-badge {
  flex: 0 0 2.4rem;
  height: 2.4rem;
  width: 2.4rem;
}

.coach-directory-card h3 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2rem, 1.7vw, 2.4rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 1.5rem;
}

.coach-directory-card h3 a {
  color: inherit;
  text-decoration: none;
}
.coach-directory-card__location-row {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 0.85rem;
  min-width: 0;
}

.coach-directory-card__meta--location {
  flex: 1 1 auto;
  margin-bottom: 0;
  min-width: 0;
}

.coach-directory-card__meta--location span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.coach-location--with-badge {
  gap: 0.75rem;
  justify-content: space-between;
  min-width: 0;
}

.coach-location__label {
  flex: 1 1 auto;
  min-width: 0;
}

.coach-directory-card__meta {
  align-items: center;
  color: #64748b;
  display: flex;
  font-size: 1.45rem;
  gap: 0.75rem;
  line-height: 1.35;
  margin-bottom: 0.85rem;
}

.coach-directory-card__divider {
  background: #e5e7eb;
  height: 1px;
  margin: 0.7rem 0 1.2rem;
  width: 100%;
}

.coach-directory-card__status-row {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  min-width: 0;
}

.coach-directory-card__meta--level {
  margin-bottom: 0;
  min-width: 0;
}

.coach-directory-card__icon {
  color: #94a3b8;
  height: 1.55rem;
  width: 1.55rem;
}

.coach-directory-card__base {
  color: #64748b;
  font-size: 1.35rem;
  line-height: 1.4;
  margin: 0 0 2rem;
}

.coach-directory-card__base strong {
  color: #475569;
  font-weight: 800;
}

.coach-directory-card__button {
  align-items: center;
  background: var(--pfi-action-blue);
  border-radius: 0.6rem;
  color: #fff !important;
  display: inline-flex;
  font-size: 1.45rem;
  font-weight: 800;
  justify-content: center;
  margin-top: auto;
  padding: 1rem 1.6rem;
  text-decoration: none !important;
  width: 100%;
}

.coach-directory-empty {
  background: #fff;
  border: 1px dashed #cbd5e1;
  border-radius: 1.2rem;
  color: #64748b;
  font-size: 1.6rem;
  padding: 3rem;
  text-align: center;
}

body.page-id-663 #brxe-expmhd,
body.page-id-663 #brxe-vibnnv,
body.page-id-663 #brxe-faqhd1 {
  margin-bottom: clamp(2.4rem, 3vw, 3.6rem);
}

body.page-id-663 #brxe-mqbvmg {
  align-items: stretch;
  display: grid;
  gap: clamp(2rem, 2.5vw, 3.2rem);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-left: auto;
  margin-right: auto;
  max-width: 112rem;
  width: 100%;
}

body.page-id-663 #brxe-mqbvmg > .brxe-block {
  align-items: center;
  background: rgba(12, 45, 62, 0.74);
  border: 1px solid rgba(224, 224, 224, 0.18);
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3rem rgba(1, 11, 19, 0.22);
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: flex-start;
  min-height: 27rem;
  padding: clamp(2.8rem, 3vw, 3.8rem) clamp(2rem, 2.4vw, 3rem);
  text-align: center;
  text-decoration: none;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.page-id-663 #brxe-mqbvmg > .brxe-block:hover,
body.page-id-663 #brxe-mqbvmg > .brxe-block:focus {
  border-color: rgba(184, 224, 74, 0.55);
  box-shadow: 0 1.8rem 4rem rgba(1, 11, 19, 0.3);
  outline: none;
  transform: translateY(-0.4rem);
}

body.page-id-663 #brxe-mqbvmg > .brxe-block:focus-visible {
  outline: 0.2rem solid var(--pfi-accent-lime);
  outline-offset: 0.35rem;
}

body.page-id-663 #brxe-dexegt {
  background: linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  box-shadow: 0 0 0 100vmax #053142;
  clip-path: inset(0 -100vmax);
  color: #fff;
  margin-left: 0;
  margin-right: 0;
  max-width: none;
  overflow-x: clip;
  width: 100%;
}

body.page-id-663 #brxe-expmhd {
  color: #fff;
  margin-bottom: clamp(3.2rem, 4vw, 5.6rem);
}

body.page-id-663 #brxe-mqbvmg .pfi-explore-icon {
  color: var(--pfi-accent-lime) !important;
  font-size: clamp(4.4rem, 4vw, 5.8rem) !important;
  line-height: 1 !important;
  margin-bottom: 2.6rem;
}

body.page-id-663 #brxe-mqbvmg h3 {
  color: #fff;
  font-size: clamp(1.8rem, 1.5vw, 2.1rem);
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 1.2rem;
}

body.page-id-663 #brxe-mqbvmg p {
  color: rgba(248, 251, 255, 0.82);
  font-size: clamp(1.55rem, 1.25vw, 1.8rem);
  font-weight: 500;
  line-height: 1.45;
  margin: 0;
  max-width: 20rem;
}

body.page-id-663 #brxe-faqacc {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  max-width: 86rem;
  width: 100%;
}

body.page-id-663 #brxe-faqacc .x-accordion_item {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 0.8rem;
  box-shadow: 0 0.8rem 2.2rem rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

body.page-id-663 #brxe-faqacc .x-accordion_heading-wrapper {
  margin: 0;
}

body.page-id-663 #brxe-faqacc .x-accordion_header {
  align-items: center;
  color: var(--pfi-primary-navy);
  cursor: pointer;
  display: flex;
  gap: 1.4rem;
  justify-content: space-between;
  min-height: 6.4rem;
  padding: 1.8rem 2.2rem;
  text-align: left;
  transition: background-color 180ms ease, color 180ms ease;
}

body.page-id-663 #brxe-faqacc .x-accordion_header:hover,
body.page-id-663 #brxe-faqacc .x-accordion_header[aria-expanded="true"] {
  background: #eef6ff;
}

body.page-id-663 #brxe-faqacc .x-accordion_title {
  color: var(--pfi-primary-navy);
  flex: 1 1 auto;
  font-size: 1.7rem;
  font-weight: 800;
  line-height: 1.3;
  text-align: left;
}

body.page-id-663 #brxe-faqacc .x-accordion_icon {
  color: var(--pfi-action-blue) !important;
  flex: 0 0 auto;
  font-size: 1.8rem !important;
  line-height: 1 !important;
  transition: transform 180ms ease;
}

body.page-id-663 #brxe-faqacc .x-accordion_header[aria-expanded="true"] .x-accordion_icon {
  transform: rotate(180deg);
}

body.page-id-663 #brxe-faqacc .x-accordion_content-inner {
  color: #4b5563;
  font-size: 1.6rem;
  line-height: 1.65;
  padding: 1.2rem 2.2rem 2.2rem;
  text-align: left;
}

body.page-id-663 #brxe-faqacc .x-accordion_content-inner :is(p, .brxe-text, .brxe-text-basic) {
  text-align: left;
}

body.page-id-663 #brxe-coaseo {
  background-color: var(--pfi-portal-bg) !important;
  background-image: linear-gradient(135deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-portal-bg) 52%, var(--pfi-primary-navy) 100%) !important;
  color: #fff;
  overflow: hidden;
  padding-left: var(--space-m);
  padding-right: var(--space-m);
  position: relative;
}

body.page-id-663 #brxe-coaseo::before {
  background: linear-gradient(135deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-portal-bg) 52%, var(--pfi-primary-navy) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

body.page-id-663 #brxe-coaseo > * {
  position: relative;
}

body.page-id-663 #brxe-coasec {
  align-items: stretch;
  max-width: 112rem;
  width: 100%;
}

.pfi-coach-support {
  box-sizing: border-box;
  display: grid;
  gap: clamp(2.8rem, 4vw, 4.8rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  max-width: 100%;
  text-align: left;
  width: 100%;
}

.pfi-coach-support *,
.pfi-coach-support *::before,
.pfi-coach-support *::after {
  box-sizing: border-box;
}

.pfi-coach-support__intro {
  max-width: 62rem;
  min-width: 0;
}

.pfi-coach-support__kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1.1rem;
  text-transform: uppercase;
}

.pfi-coach-support h2 {
  color: #fff;
  font-size: clamp(3.2rem, 4vw, 5.2rem);
  font-weight: 900;
  line-height: 1.05;
  margin: 0 0 2rem;
}

.pfi-coach-support__intro p {
  color: rgba(248, 251, 255, 0.86);
  font-size: clamp(1.6rem, 1.3vw, 1.85rem);
  line-height: 1.68;
  margin: 0 0 1.5rem;
}

.pfi-coach-support__cards {
  display: grid;
  gap: 1.4rem;
  min-width: 0;
}

.pfi-coach-support__card {
  background: rgba(12, 45, 62, 0.74);
  border: 1px solid rgba(224, 224, 224, 0.18);
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3rem rgba(1, 11, 19, 0.22);
  min-width: 0;
  overflow-wrap: anywhere;
  padding: clamp(1.8rem, 2.4vw, 2.4rem);
}

.pfi-coach-support__card span {
  color: var(--pfi-tertiary-sky);
  display: block;
  font-size: 1.55rem;
  font-weight: 900;
  margin-bottom: 0.8rem;
}

.pfi-coach-support__card p {
  color: rgba(248, 251, 255, 0.82);
  font-size: 1.5rem;
  line-height: 1.58;
  margin: 0;
}

.pfi-coach-support__links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  grid-column: 1 / -1;
  min-width: 0;
}

.pfi-coach-support__links a {
  align-items: center;
  background: rgba(248, 251, 255, 0.08);
  border: 1px solid rgba(224, 224, 224, 0.18);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 1.45rem;
  font-weight: 800;
  justify-content: center;
  max-width: 100%;
  min-height: 4.2rem;
  padding: 0.9rem 1.5rem;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.pfi-coach-support__links a:hover,
.pfi-coach-support__links a:active,
.pfi-coach-support__links a:focus-visible {
  background: var(--pfi-accent-lime);
  border-color: var(--pfi-accent-lime);
  color: var(--pfi-surface-dark);
}

.pfi-coach-support__links a:focus:not(:focus-visible) {
  background: rgba(248, 251, 255, 0.08);
  border-color: rgba(224, 224, 224, 0.18);
  color: #fff;
  outline: none;
}

body.page-id-663 #brxe-eeiemx {
  background: #fff;
  color: var(--pfi-primary-navy);
  padding-left: var(--space-m);
  padding-right: var(--space-m);
}

body.page-id-663 #brxe-xhmrps {
  align-items: center;
  background: #f2f8ff;
  border: 1px solid #dbeafe;
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3.6rem rgba(15, 23, 42, 0.09);
  color: var(--pfi-primary-navy);
  margin-left: auto;
  margin-right: auto;
  max-width: 96rem;
  padding: clamp(3.2rem, 5vw, 5.2rem);
  text-align: center;
}

body.page-id-663 #brxe-xrlsvy {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 3.4vw, 4.4rem);
  font-weight: 800;
  line-height: 1.12;
  margin-bottom: 1.4rem;
}

body.page-id-663 #brxe-gvlysw {
  color: #4b5563;
  font-size: clamp(1.65rem, 1.5vw, 2rem);
  line-height: 1.55;
  margin-bottom: 2.8rem;
  max-width: 66rem;
}

body.page-id-663 #brxe-subclb {
  background: var(--pfi-action-blue);
  border: 1px solid var(--pfi-action-blue);
  border-radius: 999px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 800;
  min-height: 4.8rem;
  padding: 1.2rem 2.6rem;
  text-decoration: none;
}

@media (max-width: 900px) {
  body.page-id-663 #brxe-osldjs {
    min-height: auto;
    padding-bottom: clamp(5rem, 8vh, 7rem);
    padding-left: var(--space-m);
    padding-right: var(--space-m);
    padding-top: clamp(5rem, 8vh, 7rem);
  }

  body.page-id-663 #brxe-bwnkms {
    max-width: 64rem;
    transform: none;
    width: 100%;
  }

  body.page-id-663 #brxe-imeibz {
    font-size: clamp(4rem, 9vw, 6.4rem);
    line-height: 1;
  }

  body.page-id-663 #brxe-mqbvmg,
  .coach-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .coach-filter-form button,
  .coach-filter-clear {
    width: 100%;
  }

  body.page-id-663 #brxe-xhmrps {
    box-sizing: border-box;
    max-width: calc(100% - clamp(3.2rem, 8vw, 5.6rem));
  }

  body.page-id-663 #brxe-coasec {
    max-width: 72rem;
  }

  .pfi-coach-support {
    gap: 2.6rem;
    grid-template-columns: 1fr;
  }

  .pfi-coach-support__intro {
    max-width: none;
  }
}

@media (max-width: 767px) {
  body.page-id-663 #brxe-yfnjad {
    gap: 1.2rem;
    grid-template-columns: 1fr;
  }

  body.page-id-663 #brxe-yfnjad > .brxe-block {
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    justify-content: center;
    min-height: auto;
    padding: 0 0 2.2rem;
    text-align: center;
  }

  body.page-id-663 #brxe-yfnjad > .brxe-block:last-child {
    border-bottom: 0;
    padding-bottom: 2.2rem;
  }

  body.page-id-663 #brxe-coachd1,
  body.page-id-663 #brxe-xgvtqf,
  body.page-id-663 #brxe-coaseo,
  body.page-id-663 #brxe-nurckv {
    padding-left: clamp(2.4rem, 7vw, 3.2rem);
    padding-right: clamp(2.4rem, 7vw, 3.2rem);
  }

  body.page-id-663 #brxe-coacht1,
  body.page-id-663 #brxe-faqin1 {
    margin-bottom: clamp(3rem, 7vw, 4rem);
  }

  .coach-filter-form,
  .coach-grid,
  body.page-id-663 #brxe-mqbvmg {
    grid-template-columns: 1fr;
  }

  .coach-grid {
    margin-left: auto;
    margin-right: auto;
    max-width: 38rem;
  }

  .coach-directory-card__media {
    height: 20rem;
  }

  body.page-id-663 #brxe-mqbvmg {
    margin-left: auto;
    margin-right: auto;
    max-width: 38rem;
    width: calc(100% - clamp(2rem, 8vw, 3.2rem));
  }

  body.page-id-663 #brxe-mqbvmg > .brxe-block {
    min-height: 0;
  }

  body.page-id-663 #brxe-faqacc .x-accordion_header {
    align-items: flex-start;
    min-height: 0;
    padding: 1.6rem 1.8rem;
  }

  body.page-id-663 #brxe-faqacc .x-accordion_content-inner {
    padding: 1rem 1.8rem 1.8rem;
  }

  body.page-id-663 #brxe-eeiemx {
    padding-left: var(--space-m);
    padding-right: var(--space-m);
  }

  body.page-id-663 #brxe-xhmrps {
    padding: 3rem 2rem;
    width: 100%;
  }

  body.page-id-663 #brxe-xrlsvy {
    font-size: clamp(2.8rem, 8vw, 3.6rem);
  }

  body.page-id-663 #brxe-gvlysw {
    font-size: 1.6rem;
  }

  body.page-id-663 #brxe-subclb {
    width: 100%;
  }

  .pfi-coach-support h2 {
    font-size: clamp(2.9rem, 11vw, 3.8rem);
  }

  .pfi-coach-support__intro p {
    font-size: 1.55rem;
  }

  .pfi-coach-support__card {
    padding: 1.7rem;
  }

  .pfi-coach-support__links {
    align-items: stretch;
    flex-direction: column;
  }

  .pfi-coach-support__links a {
    width: 100%;
  }
}

/* ==========================================================================
   PFI Form Pages and About Pages
   ========================================================================== */

body.page-id-655 #brxe-abtherc {
  align-items: flex-start;
  max-width: var(--max-screen-width, 1300px);
  text-align: left;
  width: 100%;
}

body.page-id-1281 #brxe-scbmain,
body.page-id-655 #brxe-abtmain {
  background: #fbfcfe;
  padding: clamp(6rem, 8vw, 10rem) var(--space-m);
}

body.page-id-1281 #brxe-scbgrid {
  align-items: start;
  display: grid;
  gap: clamp(2.4rem, 3.2vw, 3.6rem);
  grid-template-columns: minmax(0, 1fr);
  max-width: 96rem;
  min-width: 0;
  width: 100%;
}

body.page-id-1281 #brxe-scbinfo,
body.page-id-1281 #brxe-scbform {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 0.8rem;
  box-sizing: border-box;
  box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.08);
  justify-self: center;
  min-width: 0;
  padding: clamp(2.8rem, 4vw, 4rem);
  width: 100%;
}

body.page-id-1281 #brxe-scbinfo {
  align-items: center;
  display: flex;
  flex-direction: column;
  max-width: 92rem;
  text-align: center;
}

body.page-id-1281 #brxe-scbform {
  max-width: 82rem;
}

body.page-id-1281 #brxe-scbiht {
  color: var(--pfi-primary-navy);
  font-size: clamp(3.4rem, 4.6vw, 5.8rem);
  font-weight: 900;
  line-height: 1.04;
  margin-bottom: 1.6rem;
  text-align: center;
  width: 100%;
}

body.page-id-1281 #brxe-scbfht {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.3rem, 2.4vw, 3rem);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 1.4rem;
}

body.page-id-1281 #brxe-scbitx,
body.page-id-1281 #brxe-scbftx {
  color: #4b5563;
  font-size: 1.6rem;
  line-height: 1.7;
}

body.page-id-1281 #brxe-scbent,
body.page-id-672 #brxe-htfent {
  margin-top: 2.4rem;
  max-width: 74rem;
  text-align: left;
  width: 100%;
}

body.page-id-1281 .pfi-submit-club-pathway,
body.page-id-672 .pfi-host-tournament-pathway {
  border-top: 1px solid rgba(0, 66, 90, 0.14);
  padding-top: 2.2rem;
}

body.page-id-1281 .pfi-submit-club-pathway h2,
body.page-id-672 .pfi-host-tournament-pathway h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2rem, 2vw, 2.5rem);
  font-weight: 850;
  line-height: 1.18;
  margin: 0 0 1.2rem;
  text-align: center;
}

body.page-id-1281 .pfi-submit-club-pathway ul,
body.page-id-672 .pfi-host-tournament-pathway ul {
  display: grid;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.page-id-1281 .pfi-submit-club-pathway li,
body.page-id-672 .pfi-host-tournament-pathway li {
  color: #4b5563;
  font-size: 1.5rem;
  line-height: 1.58;
  padding-left: 2rem;
  position: relative;
}

body.page-id-1281 .pfi-submit-club-pathway li::before,
body.page-id-664 .pfi-submit-coach-pathway li::before,
body.page-id-664 .pfi-submit-coach-checklist ul li::before,
body.page-id-672 .pfi-host-tournament-pathway li::before {
  background: var(--pfi-action-blue);
  border-radius: 999px;
  box-shadow: 0 0 0 0.3rem rgba(37, 99, 235, 0.1);
  content: "";
  height: 0.74rem;
  left: 0;
  position: absolute;
  top: 0.85rem;
  width: 0.74rem;
}

body.page-id-1281 .pfi-submit-club-pathway strong,
body.page-id-672 .pfi-host-tournament-pathway strong {
  color: var(--pfi-primary-navy);
  font-weight: 850;
}

body.page-id-1281 .pfi-submit-club-pathway p,
body.page-id-672 .pfi-host-tournament-pathway p {
  color: #4b5563;
  font-size: 1.5rem;
  line-height: 1.62;
  margin: 1.4rem 0 0;
}

body.page-id-1281 #brxe-scbintrocta,
body.page-id-1281 #brxe-scbroutes,
body.page-id-1281 #brxe-scbready {
  margin-top: 2.4rem;
  max-width: 78rem;
  text-align: left;
  width: 100%;
}

body.page-id-1281 .pfi-submit-club-quick-action {
  align-items: center;
  background: rgba(37, 99, 235, 0.06);
  border: 1px solid rgba(37, 99, 235, 0.16);
  border-radius: 0.8rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.4rem;
  justify-content: center;
  margin: 0 auto;
  max-width: 62rem;
  padding: 1.4rem;
  text-align: center;
}

body.page-id-1281 .pfi-submit-club-quick-action a,
body.page-id-1281 .pfi-submit-club-actions a:first-child {
  align-items: center;
  background: var(--pfi-action-blue);
  border: 1px solid var(--pfi-action-blue);
  border-radius: 0.8rem;
  color: #fff;
  display: inline-flex;
  font-size: 1.4rem;
  font-weight: 850;
  justify-content: center;
  line-height: 1.2;
  min-height: 4.4rem;
  padding: 1.1rem 1.7rem;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.page-id-1281 .pfi-submit-club-quick-action p {
  color: #4b5563;
  flex: 1 1 22rem;
  font-size: 1.42rem;
  line-height: 1.5;
  margin: 0;
}

body.page-id-1281 .pfi-submit-club-quick-action a:hover,
body.page-id-1281 .pfi-submit-club-quick-action a:focus-visible,
body.page-id-1281 .pfi-submit-club-actions a:hover,
body.page-id-1281 .pfi-submit-club-actions a:focus-visible,
body.page-id-1281 .pfi-submit-club-route-grid article a:hover,
body.page-id-1281 .pfi-submit-club-route-grid article a:focus-visible {
  background: var(--pfi-primary-navy);
  border-color: var(--pfi-primary-navy);
  color: #fff;
}

body.page-id-1281 .pfi-submit-club-routes,
body.page-id-1281 .pfi-submit-club-prep,
body.page-id-1281 .pfi-submit-club-guide {
  border-top: 1px solid rgba(0, 66, 90, 0.14);
  padding-top: 2.2rem;
}

body.page-id-1281 .pfi-submit-club-routes h2,
body.page-id-1281 .pfi-submit-club-prep h2,
body.page-id-1281 .pfi-submit-club-guide-section h3 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2rem, 2vw, 2.5rem);
  font-weight: 850;
  line-height: 1.18;
  margin: 0 0 1.4rem;
  text-align: center;
}

body.page-id-1281 .pfi-submit-club-route-grid,
body.page-id-1281 .pfi-submit-club-groups,
body.page-id-1281 .pfi-submit-club-split,
body.page-id-1281 .pfi-submit-club-review-grid {
  display: grid;
  gap: 1.2rem;
}

body.page-id-1281 .pfi-submit-club-route-grid,
body.page-id-1281 .pfi-submit-club-groups {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
}

body.page-id-1281 .pfi-submit-club-split,
body.page-id-1281 .pfi-submit-club-review-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.4rem;
}

body.page-id-1281 .pfi-submit-club-route-grid article,
body.page-id-1281 .pfi-submit-club-group,
body.page-id-1281 .pfi-submit-club-split > div,
body.page-id-1281 .pfi-submit-club-review-grid > div,
body.page-id-1281 .pfi-submit-club-faq details {
  background: #f8fbfd;
  border: 1px solid rgba(0, 66, 90, 0.12);
  border-radius: 0.8rem;
  padding: 1.6rem;
}

body.page-id-1281 .pfi-submit-club-route-grid h3,
body.page-id-1281 .pfi-submit-club-group h3,
body.page-id-1281 .pfi-submit-club-split h4 {
  color: var(--pfi-primary-navy);
  font-size: 1.6rem;
  font-weight: 850;
  line-height: 1.25;
  margin: 0 0 0.8rem;
  text-align: left;
}

body.page-id-1281 .pfi-submit-club-route-grid p,
body.page-id-1281 .pfi-submit-club-guide-section p {
  color: #4b5563;
  font-size: 1.45rem;
  line-height: 1.58;
  margin: 0;
}

body.page-id-1281 .pfi-submit-club-route-grid article a {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(37, 99, 235, 0.28);
  border-radius: 0.8rem;
  color: var(--pfi-action-blue);
  display: inline-flex;
  font-size: 1.35rem;
  font-weight: 850;
  justify-content: center;
  line-height: 1.2;
  margin-top: 1.4rem;
  min-height: 4rem;
  padding: 1rem 1.4rem;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.page-id-1281 .pfi-submit-club-secondary-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-top: 1.6rem;
}

body.page-id-1281 .pfi-submit-club-secondary-links a,
body.page-id-1281 .pfi-submit-club-actions a:not(:first-child) {
  color: var(--pfi-action-blue);
  font-size: 1.4rem;
  font-weight: 850;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.22em;
}

body.page-id-1281 .pfi-submit-club-groups ul,
body.page-id-1281 .pfi-submit-club-split ul,
body.page-id-1281 .pfi-submit-club-review-grid ul {
  display: grid;
  gap: 0.9rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.page-id-1281 .pfi-submit-club-groups li,
body.page-id-1281 .pfi-submit-club-split li,
body.page-id-1281 .pfi-submit-club-review-grid li {
  color: #4b5563;
  font-size: 1.45rem;
  line-height: 1.55;
  padding-left: 2rem;
  position: relative;
}

body.page-id-1281 .pfi-submit-club-groups li::before,
body.page-id-1281 .pfi-submit-club-split li::before,
body.page-id-1281 .pfi-submit-club-review-grid li::before {
  background: var(--pfi-soft-accent-blue, var(--pfi-tertiary-sky));
  border-radius: 999px;
  content: "";
  height: 0.74rem;
  left: 0;
  position: absolute;
  top: 0.82rem;
  width: 0.74rem;
}

body.page-id-1281 .pfi-submit-club-guide-section + .pfi-submit-club-guide-section {
  border-top: 1px solid rgba(0, 66, 90, 0.12);
  margin-top: 2.4rem;
  padding-top: 2.4rem;
}

body.page-id-1281 .pfi-submit-club-process {
  counter-reset: pfi-club-step;
  display: grid;
  gap: 1.1rem;
  list-style: none;
  margin: 1.4rem 0 0;
  padding: 0;
}

body.page-id-1281 .pfi-submit-club-process li {
  background: #f8fbfd;
  border: 1px solid rgba(0, 66, 90, 0.12);
  border-radius: 0.8rem;
  color: #4b5563;
  counter-increment: pfi-club-step;
  font-size: 1.5rem;
  line-height: 1.58;
  min-height: 5.2rem;
  overflow: visible;
  padding: 1.45rem 1.4rem 1.25rem 4.4rem;
  position: relative;
}

body.page-id-1281 .pfi-submit-club-process li::before {
  align-items: center;
  background: var(--pfi-soft-accent-blue, var(--pfi-tertiary-sky));
  border: 0.3rem solid #f8fbfd;
  border-radius: 999px;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pfi-soft-accent-blue, var(--pfi-tertiary-sky)) 42%, white);
  box-sizing: border-box;
  color: var(--pfi-primary-navy);
  content: counter(pfi-club-step);
  display: flex;
  font-size: 1.25rem;
  font-weight: 850;
  height: 3rem;
  justify-content: center;
  left: -1.15rem;
  line-height: 1;
  position: absolute;
  top: -1.05rem;
  width: 3rem;
}

body.page-id-1281 .pfi-submit-club-faq {
  display: grid;
  gap: 1rem;
  margin-top: 1.4rem;
}

body.page-id-1281 .pfi-submit-club-faq details {
  padding: 1.4rem 1.6rem;
}

body.page-id-1281 .pfi-submit-club-faq summary {
  color: var(--pfi-primary-navy);
  cursor: pointer;
  font-size: 1.5rem;
  font-weight: 850;
  line-height: 1.35;
}

body.page-id-1281 .pfi-submit-club-faq p {
  margin-top: 1rem;
}

body.page-id-1281 .pfi-submit-club-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  justify-content: center;
  margin-top: 2.4rem;
  text-align: center;
}

body.page-id-1281 #brxe-scbfff {
  margin-top: 2.6rem;
  min-width: 0;
  width: 100%;
}

body.page-id-664 #brxe-schmain {
  background: #fbfcfe;
  padding: clamp(6rem, 8vw, 10rem) var(--space-m);
}

body.page-id-664 #brxe-schgrid {
  align-items: start;
  display: grid;
  gap: clamp(2.4rem, 3.2vw, 3.6rem);
  grid-template-columns: minmax(0, 1fr);
  max-width: 96rem;
  min-width: 0;
  width: 100%;
}

body.page-id-664 #brxe-schinfo,
body.page-id-664 #brxe-schform {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 0.8rem;
  box-sizing: border-box;
  box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.08);
  justify-self: center;
  min-width: 0;
  padding: clamp(2.8rem, 4vw, 4rem);
  width: 100%;
}

body.page-id-664 #brxe-schinfo {
  align-items: center;
  display: flex;
  flex-direction: column;
  max-width: 92rem;
  text-align: center;
}

body.page-id-664 #brxe-schform {
  max-width: 82rem;
}

body.page-id-664 #brxe-schiht {
  color: var(--pfi-primary-navy);
  font-size: clamp(3.4rem, 4.6vw, 5.8rem);
  font-weight: 900;
  line-height: 1.04;
  margin-bottom: 1.6rem;
  text-align: center;
  width: 100%;
}

body.page-id-664 #brxe-schfht {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.3rem, 2.4vw, 3rem);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 1.4rem;
}

body.page-id-664 #brxe-schitx,
body.page-id-664 #brxe-schftx {
  color: #4b5563;
  font-size: 1.6rem;
  line-height: 1.7;
}

body.page-id-664 #brxe-schprep {
  margin-top: 2.4rem;
  max-width: 74rem;
  text-align: left;
  width: 100%;
}

body.page-id-664 .pfi-submit-coach-pathway,
body.page-id-664 .pfi-submit-coach-checklist {
  border-top: 1px solid rgba(0, 66, 90, 0.14);
  padding-top: 2.2rem;
}

body.page-id-664 .pfi-submit-coach-pathway h2,
body.page-id-664 .pfi-submit-coach-checklist h3 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2rem, 2vw, 2.5rem);
  font-weight: 850;
  line-height: 1.18;
  margin: 0 0 1.2rem;
  text-align: center;
}

body.page-id-664 .pfi-submit-coach-checklist h3 {
  font-size: clamp(1.8rem, 1.7vw, 2.2rem);
  margin-top: 2.2rem;
}

body.page-id-664 .pfi-submit-coach-checklist h3:first-child {
  margin-top: 0;
}

body.page-id-664 .pfi-submit-coach-pathway ul,
body.page-id-664 .pfi-submit-coach-checklist ul,
body.page-id-664 .pfi-submit-coach-checklist ol {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
}

body.page-id-664 .pfi-submit-coach-pathway ul,
body.page-id-664 .pfi-submit-coach-checklist ul {
  list-style: none;
}

body.page-id-664 .pfi-submit-coach-checklist ol {
  counter-reset: pfi-coach-step;
  list-style: none;
}

body.page-id-664 .pfi-submit-coach-pathway li,
body.page-id-664 .pfi-submit-coach-checklist li {
  color: #4b5563;
  font-size: 1.5rem;
  line-height: 1.58;
  padding-left: 2rem;
  position: relative;
}

body.page-id-664 .pfi-submit-coach-pathway li::before,
body.page-id-664 .pfi-submit-coach-checklist ul li::before {
  background: var(--pfi-action-blue);
  border-radius: 999px;
  box-shadow: 0 0 0 0.3rem rgba(37, 99, 235, 0.1);
  content: "";
  height: 0.74rem;
  left: 0;
  position: absolute;
  top: 0.85rem;
  width: 0.74rem;
}

body.page-id-664 .pfi-submit-coach-checklist ol li {
  counter-increment: pfi-coach-step;
  padding-left: 3.2rem;
}

body.page-id-664 .pfi-submit-coach-checklist ol li::before {
  align-items: center;
  background: var(--pfi-action-blue);
  border-radius: 999px;
  color: #fff;
  content: counter(pfi-coach-step);
  display: flex;
  font-size: 1.1rem;
  font-weight: 850;
  height: 2.2rem;
  justify-content: center;
  left: 0;
  line-height: 1;
  position: absolute;
  top: 0.08rem;
  width: 2.2rem;
}

body.page-id-664 .pfi-submit-coach-pathway strong {
  color: var(--pfi-primary-navy);
  font-weight: 850;
}

body.page-id-664 .pfi-submit-coach-checklist p {
  color: #4b5563;
  font-size: 1.5rem;
  line-height: 1.62;
  margin: 0;
}

body.page-id-664 .pfi-submit-coach-advice-grid,
body.page-id-664 .pfi-submit-coach-groups,
body.page-id-664 .pfi-submit-coach-split {
  display: grid;
  gap: 1.2rem;
}

body.page-id-664 .pfi-submit-coach-advice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 2rem;
}

body.page-id-664 .pfi-submit-coach-advice-grid > div,
body.page-id-664 .pfi-submit-coach-group,
body.page-id-664 .pfi-submit-coach-split > div,
body.page-id-664 .pfi-submit-coach-faq details {
  background: #f8fbfd;
  border: 1px solid rgba(0, 66, 90, 0.12);
  border-radius: 0.8rem;
  padding: 1.6rem;
}

body.page-id-664 .pfi-submit-coach-advice-grid h3,
body.page-id-664 .pfi-submit-coach-group h4,
body.page-id-664 .pfi-submit-coach-split h4 {
  color: var(--pfi-primary-navy);
  font-size: 1.6rem;
  font-weight: 850;
  line-height: 1.25;
  margin: 0 0 0.8rem;
  text-align: left;
}

body.page-id-664 .pfi-submit-coach-advice-grid p {
  color: #4b5563;
  font-size: 1.45rem;
  line-height: 1.58;
  margin: 0;
}

body.page-id-664 .pfi-submit-coach-guide-section + .pfi-submit-coach-guide-section {
  border-top: 1px solid rgba(0, 66, 90, 0.12);
  margin-top: 2.4rem;
  padding-top: 2.4rem;
}

body.page-id-664 .pfi-submit-coach-groups,
body.page-id-664 .pfi-submit-coach-split {
  margin-top: 1.4rem;
}

body.page-id-664 .pfi-submit-coach-split {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-id-664 .pfi-submit-coach-note,
body.page-id-664 .pfi-submit-coach-helper {
  background: rgba(37, 99, 235, 0.06);
  border-left: 4px solid var(--pfi-soft-accent-blue, var(--pfi-action-blue));
  border-radius: 0.6rem;
  color: #4b5563;
  margin-top: 1.4rem !important;
  padding: 1.2rem 1.4rem;
}

body.page-id-664 .pfi-submit-coach-process {
  gap: 1.1rem;
  margin-top: 1.4rem !important;
}

body.page-id-664 .pfi-submit-coach-process li {
  background: #f8fbfd;
  border: 1px solid rgba(0, 66, 90, 0.12);
  border-radius: 0.8rem;
  min-height: 5.2rem;
  overflow: visible;
  padding: 1.45rem 1.4rem 1.25rem 4.4rem;
}

body.page-id-664 .pfi-submit-coach-checklist ol.pfi-submit-coach-process li::before {
  background: var(--pfi-soft-accent-blue, var(--pfi-tertiary-sky));
  border: 0.3rem solid #f8fbfd;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pfi-soft-accent-blue, var(--pfi-tertiary-sky)) 42%, white);
  box-sizing: border-box;
  color: var(--pfi-primary-navy);
  font-size: 1.25rem;
  height: 3rem;
  left: -1.15rem;
  top: -1.05rem;
  width: 3rem;
}

body.page-id-664 .pfi-submit-coach-faq {
  display: grid;
  gap: 1rem;
  margin-top: 1.4rem;
}

body.page-id-664 .pfi-submit-coach-faq details {
  padding: 1.4rem 1.6rem;
}

body.page-id-664 .pfi-submit-coach-faq summary {
  color: var(--pfi-primary-navy);
  cursor: pointer;
  font-size: 1.5rem;
  font-weight: 850;
  line-height: 1.35;
}

body.page-id-664 .pfi-submit-coach-faq p {
  margin-top: 1rem;
}

body.page-id-664 .pfi-submit-coach-tertiary {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.2rem;
  justify-content: center;
  margin-top: 1.6rem;
  text-align: center;
}

body.page-id-664 .pfi-submit-coach-tertiary a {
  color: var(--pfi-action-blue);
  font-size: 1.45rem;
  font-weight: 850;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.22em;
}

body.page-id-664 .pfi-submit-coach-tertiary span {
  color: #4b5563;
  font-size: 1.4rem;
  line-height: 1.45;
}

body.page-id-664 .pfi-submit-coach-quick-action {
  align-items: center;
  background: rgba(37, 99, 235, 0.06);
  border: 1px solid rgba(37, 99, 235, 0.16);
  border-radius: 0.8rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.4rem;
  justify-content: center;
  margin: 2rem auto 0;
  max-width: 62rem;
  padding: 1.4rem;
  text-align: center;
}

body.page-id-664 .pfi-submit-coach-quick-action a {
  align-items: center;
  background: var(--pfi-action-blue);
  border: 1px solid var(--pfi-action-blue);
  border-radius: 0.8rem;
  color: #fff;
  display: inline-flex;
  font-size: 1.4rem;
  font-weight: 850;
  justify-content: center;
  line-height: 1.2;
  min-height: 4.4rem;
  padding: 1.1rem 1.7rem;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.page-id-664 .pfi-submit-coach-quick-action p {
  color: #4b5563;
  flex: 1 1 22rem;
  font-size: 1.42rem;
  line-height: 1.5;
  margin: 0;
}

body.page-id-664 .pfi-submit-coach-quick-action a:hover,
body.page-id-664 .pfi-submit-coach-quick-action a:focus-visible {
  background: var(--pfi-primary-navy);
  border-color: var(--pfi-primary-navy);
  color: #fff;
}

body.page-id-664 .pfi-submit-coach-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  justify-content: center;
  margin-top: 2.4rem;
}

body.page-id-664 .pfi-submit-coach-actions a {
  align-items: center;
  background: var(--pfi-action-blue);
  border: 1px solid var(--pfi-action-blue);
  border-radius: 0.8rem;
  color: #fff;
  display: inline-flex;
  font-size: 1.4rem;
  font-weight: 850;
  justify-content: center;
  line-height: 1.2;
  min-height: 4.6rem;
  padding: 1.2rem 1.8rem;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.page-id-664 .pfi-submit-coach-actions a + a {
  background: #fff;
  color: var(--pfi-action-blue);
}

body.page-id-664 .pfi-submit-coach-actions a:hover,
body.page-id-664 .pfi-submit-coach-actions a:focus-visible {
  background: var(--pfi-primary-navy);
  border-color: var(--pfi-primary-navy);
  color: #fff;
}

body.page-id-664 #brxe-schfff {
  margin-top: 2.6rem;
  min-width: 0;
  width: 100%;
}

body.page-id-1281 #brxe-scbmain,
body.page-id-1281 #brxe-scbgrid,
body.page-id-1281 #brxe-scbinfo,
body.page-id-1281 #brxe-scbform,
body.page-id-664 #brxe-schmain,
body.page-id-664 #brxe-schgrid,
body.page-id-664 #brxe-schinfo,
body.page-id-664 #brxe-schform {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

:is(body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) .ff-el-tc .ff-el-form-check-label,
:is(body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) .ff-el-tc .ff_t_c {
  -webkit-tap-highlight-color: transparent;
}

:is(body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) .ff-el-tc .ff-el-form-check-label:active,
:is(body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) .ff-el-tc .ff-el-form-check-label:focus,
:is(body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) .ff-el-tc .ff-el-form-check-label:focus-within,
:is(body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) .ff-el-tc .ff_t_c:active,
:is(body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) .ff-el-tc .ff_t_c:focus {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

:is(body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) .ff-el-tc .ff-el-form-check-input:focus:not(:focus-visible) {
  box-shadow: none !important;
  outline: none !important;
}

:is(body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) .ff-el-tc .ff-el-form-check-input:focus-visible {
  outline: 0.2rem solid rgba(0, 66, 90, 0.45);
  outline-offset: 0.25rem;
}

body.page-id-1281 #brxe-scbgrid,
body.page-id-664 #brxe-schgrid {
  max-width: 96rem;
}

body.page-id-1281 #brxe-scbinfo,
body.page-id-664 #brxe-schinfo {
  max-width: 92rem;
}

body.page-id-1281 #brxe-scbform,
body.page-id-664 #brxe-schform {
  max-width: 82rem;
}

body.page-id-672 #brxe-htfsec {
  background: #fbfcfe;
  padding: clamp(6rem, 8vw, 10rem) var(--space-m);
}

body.page-id-672 #brxe-htfcon {
  align-items: start;
  display: grid;
  gap: clamp(2.4rem, 3.2vw, 3.6rem);
  grid-template-columns: minmax(0, 1fr);
  max-width: 96rem;
  min-width: 0;
  width: 100%;
}

body.page-id-672 #brxe-htfinf,
body.page-id-672 #brxe-htffrm {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 0.8rem;
  box-sizing: border-box;
  box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.08);
  justify-self: center;
  min-width: 0;
  padding: clamp(2.8rem, 4vw, 4rem);
  width: 100%;
}

body.page-id-672 #brxe-htfinf {
  align-items: center;
  display: flex;
  flex-direction: column;
  max-width: 92rem;
  text-align: center;
}

body.page-id-672 #brxe-htffrm {
  max-width: 82rem;
  text-align: center;
}

body.page-id-672 #brxe-htfh1 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3.4rem, 4.6vw, 5.8rem);
  font-weight: 900;
  line-height: 1.04;
  margin-bottom: 1.6rem;
  text-align: center;
  width: 100%;
}

body.page-id-672 #brxe-htffht {
  align-self: stretch;
  color: var(--pfi-primary-navy);
  font-size: clamp(2.3rem, 2.4vw, 3rem);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 1.4rem;
  margin-inline: auto;
  text-align: center;
  width: 100%;
}

body.page-id-672 #brxe-htfitx,
body.page-id-672 #brxe-htfftx {
  color: #4b5563;
  font-size: 1.6rem;
  line-height: 1.7;
}

body.page-id-672 #brxe-htfftx {
  margin-inline: auto;
  max-width: 64rem;
  text-align: center;
}

body.page-id-672 #brxe-htffff {
  margin-top: clamp(3.4rem, 4vw, 4.6rem);
  min-width: 0;
  width: 100%;
}

.pfi-host-tournament-portal {
  align-items: center;
  background: #f5f8fb;
  border: 1px solid #dbe3ee;
  border-radius: 0.8rem;
  display: grid;
  gap: 1.8rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: clamp(2rem, 3vw, 2.8rem);
}

.pfi-host-tournament-portal__icon {
  align-items: center;
  background: var(--pfi-icon-blue-bg);
  border: 1px solid var(--pfi-icon-blue-border);
  border-radius: 0.8rem;
  color: var(--pfi-icon-blue);
  display: inline-flex;
  height: 5.4rem;
  justify-content: center;
  width: 5.4rem;
}

.pfi-host-tournament-portal__svg {
  height: 2.5rem;
  width: 2.5rem;
}

.pfi-host-tournament-portal__copy h3 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2rem, 2vw, 2.4rem);
  font-weight: 850;
  line-height: 1.18;
  margin: 0;
}

.pfi-host-tournament-portal__copy p {
  color: #4b5563;
  font-size: 1.55rem;
  line-height: 1.58;
  margin: 0.8rem 0 0;
}

.pfi-host-tournament-portal__button {
  align-items: center;
  background: var(--pfi-action-blue);
  border-radius: 0.8rem;
  color: #fff !important;
  display: inline-flex;
  font-size: 1.48rem;
  font-weight: 850;
  justify-content: center;
  min-height: 4.6rem;
  padding: 1.1rem 1.8rem;
  text-decoration: none !important;
  white-space: nowrap;
}

.pfi-host-tournament-portal__button:hover,
.pfi-host-tournament-portal__button:focus {
  background: var(--pfi-action-blue-hover);
}

body.page-id-672 #brxe-htffff .ff-el-group {
  margin-bottom: 1.8rem;
  min-width: 0;
}

body.page-id-672 #brxe-htffff form,
body.page-id-672 #brxe-htffff .frm-fluent-form,
body.page-id-672 #brxe-htffff .ff-el-input--content,
body.page-id-672 #brxe-htffff .ff-el-input--content > * {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

body.page-id-672 #brxe-htffff .ff-el-input--content > * {
  width: 100%;
}

body.page-id-672 #brxe-htffff .ff-el-input--label label,
body.page-id-672 #brxe-htffff .ff-el-form-check-label {
  color: var(--pfi-primary-navy);
  font-size: 1.36rem;
  font-weight: 800;
  line-height: 1.35;
}

body.page-id-672 #brxe-htffff .ff-el-form-control {
  background: #f8fafc;
  border: 1px solid #d8e2ee;
  border-radius: 1rem;
  box-sizing: border-box;
  color: var(--pfi-primary-navy);
  font-size: 1.48rem;
  max-width: 100%;
  min-height: 4.8rem;
  padding: 1.1rem 1.3rem;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
  width: 100%;
}

body.page-id-672 #brxe-htffff textarea.ff-el-form-control {
  min-height: 11rem;
}

body.page-id-672 #brxe-htffff .ff-el-form-control:focus {
  background: #fff;
  border-color: var(--pfi-tertiary, #38bdf8);
  box-shadow: 0 0 0 0.28rem rgba(56, 189, 248, 0.18);
  outline: none;
}

body.page-id-672 #brxe-htffff .ff-el-section-break {
  border-top: 1px solid #e3eaf3;
  margin: 3rem 0 1.8rem;
  padding-top: 2.4rem;
}

body.page-id-672 #brxe-htffff .ff-el-section-break:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

body.page-id-672 #brxe-htffff .ff-el-section-title {
  color: var(--pfi-primary-navy);
  font-size: 2.05rem;
  font-weight: 900;
  line-height: 1.2;
  margin: 0 0 0.6rem;
}

body.page-id-672 #brxe-htffff .ff-section_break_desk,
body.page-id-672 #brxe-htffff .ff-el-help-message,
body.page-id-672 #brxe-htffff .ff-el-input--content {
  color: #64748b;
  font-size: 1.28rem;
  line-height: 1.55;
}

body.page-id-672 #brxe-htffff .ff-el-section-break hr {
  display: none;
}

body.page-id-672 #brxe-htffff .ff-el-form-check {
  margin-bottom: 0.75rem;
}

body.page-id-672 #brxe-htffff .ff-el-form-check-label {
  align-items: flex-start;
  display: inline-flex;
  gap: 0.75rem;
}

body.page-id-672 #brxe-htffff .ff-el-tc .ff-el-form-check-label {
  align-items: flex-start;
  display: flex;
  gap: 0.8rem;
  line-height: 1.45;
}

body.page-id-672 #brxe-htffff .ff-el-form-check-input {
  margin-top: 0.25rem;
}

body.page-id-672 #brxe-htffff .ff-el-tc .ff_tc_checkbox {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  line-height: 0;
  margin-top: 0.12rem;
}

body.page-id-672 #brxe-htffff .ff-el-tc .ff-el-form-check-input {
  display: block;
  flex: 0 0 1.45rem;
  height: 1.45rem;
  margin: 0;
  width: 1.45rem;
}

body.page-id-672 #brxe-htffff .ff-el-tc .ff_t_c {
  flex: 1 1 auto;
  line-height: 1.45;
  min-width: 0;
}

body.page-id-672 #brxe-htffff .ff_file_upload_holder {
  align-items: center;
  background: #f8fafc;
  border: 1px dashed #b9c7d8;
  border-radius: 1rem;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  max-width: 100%;
  min-height: 7.4rem;
  overflow: hidden;
  padding: 1.3rem;
  width: 100%;
}

body.page-id-672 #brxe-htffff .ff_upload_btn {
  background: #fff;
  border: 1px solid #d8e2ee;
  border-radius: 999px;
  box-sizing: border-box;
  color: var(--pfi-primary-navy);
  font-size: 1.3rem;
  font-weight: 850;
  max-width: 100%;
  padding: 0.85rem 1.4rem;
  white-space: normal;
}

body.page-id-672 #brxe-htffff .ff-btn-submit {
  background: var(--pfi-primary-navy);
  border: 1px solid var(--pfi-primary-navy);
  border-radius: 999px;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.46rem;
  font-weight: 900;
  max-width: 100%;
  min-height: 4.8rem;
  padding: 1.1rem 2rem;
}

body.page-id-672 #brxe-htffff .ff-btn-submit:hover,
body.page-id-672 #brxe-htffff .ff-btn-submit:active,
body.page-id-672 #brxe-htffff .ff-btn-submit:focus-visible {
  background: var(--pfi-action-blue);
  border-color: var(--pfi-action-blue);
  color: #fff;
}

body.page-id-656 #brxe-ctfsec {
  background: #fbfcfe;
  padding: clamp(6rem, 8vw, 10rem) var(--space-m);
}

body.page-id-656 #brxe-ctfcon {
  align-items: start;
  display: grid;
  gap: clamp(2.4rem, 3.2vw, 3.6rem);
  grid-template-columns: minmax(0, 1fr);
  max-width: 86rem;
  min-width: 0;
  width: 100%;
}

body.page-id-656 #brxe-ctfinf,
body.page-id-656 #brxe-ctffrm {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 0.8rem;
  box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.08);
  box-sizing: border-box;
  justify-self: center;
  min-width: 0;
  padding: clamp(2.8rem, 4vw, 4rem);
  width: 100%;
}

body.page-id-656 #brxe-ctfinf {
  align-items: center;
  display: flex;
  flex-direction: column;
  max-width: 92rem;
  text-align: center;
}

body.page-id-656 #brxe-ctffrm {
  max-width: 72rem;
}

body.page-id-656 #brxe-ctfh1 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3.4rem, 4.6vw, 5.8rem);
  font-weight: 900;
  line-height: 1.04;
  margin-bottom: 1.6rem;
  text-align: center;
  width: 100%;
}

body.page-id-656 #brxe-ctffht {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.3rem, 2.4vw, 3rem);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 1.4rem;
}

body.page-id-656 #brxe-ctfitx,
body.page-id-656 #brxe-ctfftx {
  color: #4b5563;
  font-size: 1.6rem;
  line-height: 1.7;
}

body.page-id-656 #brxe-ctffff {
  margin-top: 2.6rem;
  min-width: 0;
  width: 100%;
}

body.page-id-656 #brxe-ctffff .ff-el-group {
  margin-bottom: 1.8rem;
  min-width: 0;
}

body.page-id-656 #brxe-ctffff form,
body.page-id-656 #brxe-ctffff .frm-fluent-form,
body.page-id-656 #brxe-ctffff .ff-el-input--content,
body.page-id-656 #brxe-ctffff .ff-el-input--content > * {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

body.page-id-656 #brxe-ctffff .ff-el-input--content > * {
  width: 100%;
}

body.page-id-656 #brxe-ctffff .ff-el-input--label label,
body.page-id-656 #brxe-ctffff .ff-el-form-check-label {
  color: var(--pfi-primary-navy);
  font-size: 1.36rem;
  font-weight: 800;
  line-height: 1.35;
}

body.page-id-656 #brxe-ctffff .ff-el-form-control {
  background: #f8fafc;
  border: 1px solid #d8e2ee;
  border-radius: 1rem;
  box-sizing: border-box;
  color: var(--pfi-primary-navy);
  font-size: 1.48rem;
  max-width: 100%;
  min-height: 4.8rem;
  padding: 1.1rem 1.3rem;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
  width: 100%;
}

body.page-id-656 #brxe-ctffff textarea.ff-el-form-control {
  min-height: 12rem;
}

body.page-id-656 #brxe-ctffff .ff-el-form-control:focus {
  background: #fff;
  border-color: var(--pfi-tertiary, #38bdf8);
  box-shadow: 0 0 0 0.28rem rgba(56, 189, 248, 0.18);
  outline: none;
}

body.page-id-656 #brxe-ctffff .ff-el-form-check {
  margin-bottom: 0.75rem;
}

body.page-id-656 #brxe-ctffff .ff-el-form-check-label {
  align-items: flex-start;
  display: inline-flex;
  gap: 0.75rem;
}

body.page-id-656 #brxe-ctffff .ff-el-tc .ff-el-form-check-label {
  align-items: flex-start;
  display: flex;
  gap: 0.8rem;
  line-height: 1.45;
}

body.page-id-656 #brxe-ctffff .ff-el-tc .ff_tc_checkbox {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  line-height: 0;
  margin-top: -0.45rem;
}

body.page-id-656 #brxe-ctffff .ff-el-tc .ff-el-form-check-input {
  display: block;
  flex: 0 0 1.45rem;
  height: 1.45rem;
  margin: 0;
  width: 1.45rem;
}

body.page-id-656 #brxe-ctffff .ff-el-tc .ff_t_c {
  flex: 1 1 auto;
  line-height: 1.45;
  min-width: 0;
}

body.page-id-656 #brxe-ctffff .ff-btn-submit {
  background: var(--pfi-primary-navy);
  border: 1px solid var(--pfi-primary-navy);
  border-radius: 999px;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.46rem;
  font-weight: 900;
  max-width: 100%;
  min-height: 4.8rem;
  padding: 1.1rem 2rem;
}

body.page-id-656 #brxe-ctffff .ff-btn-submit:hover,
body.page-id-656 #brxe-ctffff .ff-btn-submit:active,
body.page-id-656 #brxe-ctffff .ff-btn-submit:focus-visible {
  background: var(--pfi-action-blue);
  border-color: var(--pfi-action-blue);
  color: #fff;
}

:is(.c-newsletter, body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) :is(.ff-el-form-control, select, textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]), .ff-el-input--content, .ff-el-group) {
  -webkit-tap-highlight-color: transparent;
}

:is(.c-newsletter, body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) :is(.ff-el-form-control, select, textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"])):active,
:is(.c-newsletter, body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) :is(.ff-el-form-control, select, textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"])):focus {
  background-color: #fff !important;
}

:is(.c-newsletter, body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) select option,
:is(.c-newsletter, body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) select option:checked {
  background-color: #fff;
  color: var(--pfi-primary-navy);
}

@media (hover: none) and (pointer: coarse) {
  :is(.c-newsletter, body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) :is(.ff-el-form-control, select, textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"])):active,
  :is(.c-newsletter, body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) :is(.ff-el-form-control, select, textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"])):focus:not(:focus-visible) {
    border-color: #d8e2ee !important;
    box-shadow: none !important;
    outline: none !important;
  }

  :is(.c-newsletter, body.page-id-672 #brxe-htffff, body.page-id-656 #brxe-ctffff) :is(.ff-el-form-control, select, textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"])):focus-visible {
    border-color: var(--pfi-primary-navy) !important;
    box-shadow: 0 0 0 0.22rem rgba(0, 66, 90, 0.14) !important;
    outline: none !important;
  }
}

body.page-id-1281 #brxe-scbgrid,
body.page-id-664 #brxe-schgrid,
body.page-id-672 #brxe-htfcon,
body.page-id-656 #brxe-ctfcon {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 1.2rem;
  box-shadow: 0 1.6rem 4rem rgba(15, 23, 42, 0.09);
  gap: 0;
  justify-items: center;
  overflow: hidden;
}

body.page-id-1281 #brxe-scbinfo,
body.page-id-1281 #brxe-scbform,
body.page-id-664 #brxe-schinfo,
body.page-id-664 #brxe-schform,
body.page-id-672 #brxe-htfinf,
body.page-id-672 #brxe-htffrm,
body.page-id-656 #brxe-ctfinf,
body.page-id-656 #brxe-ctffrm {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.page-id-1281 #brxe-scbinfo,
body.page-id-664 #brxe-schinfo,
body.page-id-672 #brxe-htfinf,
body.page-id-656 #brxe-ctfinf {
  padding-bottom: clamp(1.4rem, 2vw, 2rem);
}

body.page-id-1281 #brxe-scbform,
body.page-id-664 #brxe-schform,
body.page-id-672 #brxe-htffrm,
body.page-id-656 #brxe-ctffrm {
  border-top: 1px solid #e6edf5;
  padding-top: clamp(2.4rem, 3vw, 3.2rem);
}
body.page-id-672 #brxe-htffff,
body.page-id-656 #brxe-ctffff {
  margin-top: 0;
}

body.page-id-672 #brxe-htffrm #brxe-htffff {
  margin-top: clamp(3.4rem, 4vw, 4.6rem);
}
body.page-id-672 #brxe-htffff form fieldset > .ff-el-section-break:first-of-type,
body.page-id-656 #brxe-ctffff form fieldset > .ff-el-section-break:first-of-type {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

body.page-id-655 #brxe-abthero {
  background: linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  color: #fff;
  padding: clamp(6.4rem, 8vw, 9rem) var(--space-m);
}

body.page-id-655 #brxe-abth1 {
  color: #fff;
  font-size: clamp(3.6rem, 4.6vw, 5.8rem);
  font-weight: 800;
  line-height: 1.05;
  margin-bottom: 1.6rem;
  max-width: 78rem;
}

body.page-id-655 #brxe-abth1::before {
  color: var(--pfi-accent-lime);
  content: "About PFI";
  display: block;
  font-size: 1.25rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.2;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
}

body.page-id-655 #brxe-abtle {
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1.7rem, 1.6vw, 2.1rem);
  line-height: 1.55;
  max-width: 68rem;
}

body.page-id-655 #brxe-abtwrc {
  display: grid;
  gap: clamp(2.4rem, 4vw, 4rem);
  max-width: var(--max-screen-width, 1300px);
  width: 100%;
}

body.page-id-655 #brxe-abtlead {
  max-width: 82rem;
}

body.page-id-655 #brxe-abtleadk {
  color: var(--pfi-soft-accent-blue);
  font-size: 1.25rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.2;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

body.page-id-655 #brxe-abtleadh,
body.page-id-655 #brxe-abtstoryh,
body.page-id-655 #brxe-abtworkh,
body.page-id-655 #brxe-abtexploreh {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.8rem, 3.2vw, 4rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.14;
  margin: 0;
}

body.page-id-655 #brxe-abtleadp,
body.page-id-655 #brxe-abtstorytxt,
body.page-id-655 #brxe-abtworktxt,
body.page-id-655 #brxe-abtexplorep {
  color: #52637a;
  font-size: 1.7rem;
  line-height: 1.7;
  margin-top: 1.2rem;
}

body.page-id-655 #brxe-abtleadp p,
body.page-id-655 #brxe-abtstorytxt p,
body.page-id-655 #brxe-abtworktxt p {
  margin: 0;
}

body.page-id-655 #brxe-abtleadp p + p,
body.page-id-655 #brxe-abtstorytxt p + p,
body.page-id-655 #brxe-abtworktxt p + p {
  margin-top: 1.4rem;
}

body.page-id-655 #brxe-abtstats {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-id-655 #brxe-abtstat1,
body.page-id-655 #brxe-abtstat2,
body.page-id-655 #brxe-abtstat3,
body.page-id-655 #brxe-abtstory,
body.page-id-655 #brxe-abtwork,
body.page-id-655 #brxe-abtexplore {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 0.8rem;
  box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.06);
}

body.page-id-655 #brxe-abtstat1,
body.page-id-655 #brxe-abtstat2,
body.page-id-655 #brxe-abtstat3 {
  display: grid;
  gap: 0.8rem;
  padding: clamp(2rem, 2.4vw, 2.8rem);
}

body.page-id-655 #brxe-abtstat1n,
body.page-id-655 #brxe-abtstat2n,
body.page-id-655 #brxe-abtstat3n {
  color: var(--pfi-soft-accent-blue);
  font-size: clamp(2.8rem, 3.4vw, 4rem);
  font-weight: 900;
  line-height: 1;
}

body.page-id-655 #brxe-abtstat1t,
body.page-id-655 #brxe-abtstat2t,
body.page-id-655 #brxe-abtstat3t {
  color: #52637a;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}

body.page-id-655 #brxe-abtstory,
body.page-id-655 #brxe-abtwork,
body.page-id-655 #brxe-abtexplore {
  padding: clamp(2.8rem, 4vw, 4.4rem);
}

body.page-id-655 #brxe-abtworklist ul {
  display: grid;
  gap: 1rem;
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}

body.page-id-655 #brxe-abtworklist li {
  color: #475569;
  font-size: 1.58rem;
  font-weight: 700;
  line-height: 1.55;
  padding-left: 2.3rem;
  position: relative;
}

body.page-id-655 #brxe-abtworklist li::before {
  background: var(--pfi-territory-light-blue);
  border-radius: 999px;
  content: "";
  height: 0.8rem;
  left: 0;
  position: absolute;
  top: 0.85rem;
  width: 0.8rem;
}

body.page-id-655 #brxe-abtexploregrid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 2rem;
}

body.page-id-655 #brxe-abtexploregrid a {
  background: rgba(69, 180, 214, 0.1);
  border: 1px solid rgba(69, 180, 214, 0.28);
  border-radius: 0.8rem;
  color: var(--pfi-primary-navy);
  display: grid;
  gap: 0.55rem;
  min-height: 11rem;
  padding: 1.6rem;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.page-id-655 #brxe-abtexploregrid a:hover,
body.page-id-655 #brxe-abtexploregrid a:focus {
  background: rgba(69, 180, 214, 0.18);
  border-color: var(--pfi-territory-light-blue);
  box-shadow: 0 1rem 2.4rem rgba(0, 66, 90, 0.1);
  transform: translateY(-1px);
}

body.page-id-655 #brxe-abtexploregrid strong {
  color: var(--pfi-primary-navy);
  font-size: 1.48rem;
  font-weight: 850;
  line-height: 1.25;
}

body.page-id-655 #brxe-abtexploregrid span {
  color: #52637a;
  font-size: 1.38rem;
  font-weight: 650;
  line-height: 1.42;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 900px) {
  body.page-id-655 #brxe-abtherc,
  body.page-id-655 #brxe-abtwrc {
    box-sizing: border-box;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.page-id-655 #brxe-abtherc {
    margin-left: auto;
    margin-right: auto;
  }

  body.page-id-655 #brxe-abth1,
  body.page-id-655 #brxe-abtle {
    margin-left: 0;
    margin-right: 0;
    max-width: 72rem !important;
    text-align: left;
    width: auto !important;
  }

  body.page-id-655 #brxe-abtstats,
  body.page-id-655 #brxe-abtexploregrid {
    grid-template-columns: 1fr;
  }

  body.page-id-655 #brxe-abtexploregrid a {
    min-height: 0;
  }

  #brxe-cohgrd,
  body.single-coach #brxe-cohcnt,
  body.single-coach #brxe-cohgrd {
    grid-template-columns: 1fr !important;
  }

  #brxe-cohpht,
  body.single-coach #brxe-cohpht {
    margin-left: auto;
    margin-right: auto;
    max-width: 42rem;
    width: 100%;
  }

  #brxe-cohsid,
  body.single-coach #brxe-cohsid {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: static;
    width: 100%;
  }

  #brxe-cohcrd,
  body.single-coach #brxe-cohcrd {
    margin-left: auto;
    margin-right: auto;
    max-width: 38rem;
    width: min(100%, 38rem);
  }

  body.page-id-425 #brxe-osldjs {
    min-height: auto;
    padding-bottom: clamp(5rem, 8vh, 7rem);
    padding-left: var(--space-m);
    padding-right: var(--space-m);
    padding-top: clamp(5rem, 8vh, 7rem);
  }

  body.page-id-425 #brxe-bwnkms {
    max-width: 64rem;
    width: 100%;
  }

  body.page-id-425 #brxe-imeibz {
    font-size: clamp(4rem, 9vw, 6.4rem);
    line-height: 1;
  }

  body.page-id-425 #brxe-flntzf {
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    width: min(100%, 46rem);
  }

  body.page-id-425 #brxe-flntzf .brxe-button {
    flex: 1 1 calc(50% - 0.5rem);
    min-width: 0;
    width: auto;
  }

  body.page-id-425 #brxe-mqbvmg {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-id-425 #brxe-xgvtqf .club-grid,
  body.page-id-425 #brxe-faqacc {
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - clamp(2.4rem, 6vw, 4.8rem));
  }

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

  .club-hosted-events-section .pfi-tournament-card.has-image {
    grid-template-columns: 8rem minmax(0, 1fr);
  }

  .club-hosted-events-section .pfi-tournament-card__media {
    grid-column: 1 / -1;
    min-height: 20rem;
  }

  body.page-id-1281 #brxe-scbgrid,
  body.page-id-672 #brxe-htfcon,
  body.page-id-656 #brxe-ctfcon {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  body.page-id-655 #brxe-abthero,
  body.page-id-655 #brxe-abtmain {
    padding-left: clamp(1.6rem, 5vw, 2.2rem);
    padding-right: clamp(1.6rem, 5vw, 2.2rem);
  }

  body.page-id-655 #brxe-abth1 {
    font-size: clamp(3.2rem, 10vw, 4rem);
  }

  body.page-id-655 #brxe-abtle {
    font-size: 1.58rem;
  }

  body.single-coach #brxe-cohher,
  body.single-coach #brxe-cohsec {
    padding-left: clamp(2.2rem, 7vw, 3.2rem);
    padding-right: clamp(2.2rem, 7vw, 3.2rem);
  }

  body.single-coach #brxe-cohhdg {
    font-size: clamp(3.4rem, 10vw, 4rem);
  }

  body.single-coach #brxe-cohcrd {
    padding: 2.2rem 1.8rem;
  }

  body.single-coach .coach-home-base-section__header {
    max-width: 38rem;
  }

  .coach-home-base-section__header {
    max-width: 38rem;
  }

  body.single-coach .coach-home-base-card {
    grid-template-columns: 1fr;
    max-width: 32rem;
  }

  .coach-home-base-card {
    grid-template-columns: 1fr;
    max-width: 32rem;
  }

  body.single-coach .coach-home-base-card__media {
    height: 16.8rem;
    min-height: 0;
  }

  .coach-home-base-card__media {
    height: 16.8rem;
    min-height: 0;
  }

  body.single-coach .coach-home-base-card__image,
  body.single-coach .coach-home-base-card__image-placeholder {
    height: 100%;
    min-height: 0;
  }

  .coach-home-base-card__image,
  .coach-home-base-card__image-placeholder {
    height: 100%;
    min-height: 0;
  }

  body.single-coach .coach-home-base-card__content {
    align-items: center;
    padding: 2.1rem 1.8rem 2.4rem;
    text-align: center;
  }

  .coach-home-base-card__content {
    align-items: center;
    padding: 2.1rem 1.8rem 2.4rem;
    text-align: center;
  }

  body.single-coach .coach-home-base-card__location {
    justify-content: center;
    margin-bottom: 2rem;
  }

  .coach-home-base-card__location {
    justify-content: center;
    margin-bottom: 2rem;
  }

  .club-coaches-grid {
    grid-template-columns: 1fr;
  }

  .club-coaches-section {
    box-sizing: border-box;
    padding-left: clamp(2.4rem, 7vw, 3.2rem);
    padding-right: clamp(2.4rem, 7vw, 3.2rem);
  }

  .club-hosted-events-section {
    box-sizing: border-box;
    padding-left: clamp(2.4rem, 7vw, 3.2rem);
    padding-right: clamp(2.4rem, 7vw, 3.2rem);
  }

  .club-hosted-events-section__header {
    margin-left: auto;
    margin-right: auto;
    max-width: 42rem;
    text-align: center;
  }

  .club-hosted-events-section .pfi-tournament-card {
    grid-template-columns: 1fr;
  }

  .club-hosted-events-section .pfi-tournament-card__date {
    align-items: baseline;
    flex-direction: row;
    gap: 0.8rem;
    justify-content: center;
    min-height: 0;
  }

  .club-coaches-section h2 {
    text-align: center;
  }

  body.page-id-1281 #brxe-scbmain,
  body.page-id-664 #brxe-schmain,
  body.page-id-672 #brxe-htfsec,
  body.page-id-656 #brxe-ctfsec {
    overflow-x: hidden;
    padding: clamp(4.2rem, 10vw, 6rem) clamp(1.6rem, 5.5vw, 2.4rem);
  }

  body.page-id-1281 #brxe-scbgrid,
  body.page-id-664 #brxe-schgrid,
  body.page-id-672 #brxe-htfcon,
  body.page-id-656 #brxe-ctfcon {
    gap: 0;
    max-width: 100%;
    width: 100%;
  }

  body.page-id-1281 #brxe-scbinfo,
  body.page-id-1281 #brxe-scbform,
  body.page-id-664 #brxe-schinfo,
  body.page-id-664 #brxe-schform,
  body.page-id-672 #brxe-htfinf,
  body.page-id-672 #brxe-htffrm,
  body.page-id-656 #brxe-ctfinf,
  body.page-id-656 #brxe-ctffrm {
    max-width: 100%;
    padding: clamp(2rem, 6vw, 2.6rem);
  }

  body.page-id-1281 #brxe-scbiht,
  body.page-id-664 #brxe-schiht,
  body.page-id-672 #brxe-htfh1,
  body.page-id-656 #brxe-ctfh1 {
    font-size: clamp(3rem, 9.5vw, 3.8rem);
  }

  body.page-id-1281 .pfi-submit-club-split,
  body.page-id-1281 .pfi-submit-club-review-grid {
    grid-template-columns: 1fr;
  }
  body.page-id-664 .pfi-submit-coach-advice-grid,
  body.page-id-664 .pfi-submit-coach-split {
    grid-template-columns: 1fr;
  }
  body.page-id-672 #brxe-htffff,
  body.page-id-656 #brxe-ctffff {
    margin-top: 2rem;
  }

  .pfi-host-tournament-portal {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .pfi-host-tournament-portal__button {
    width: 100%;
  }
  body.page-id-672 #brxe-htffff .ff-el-form-control,
  body.page-id-656 #brxe-ctffff .ff-el-form-control {
    font-size: 1.42rem;
    padding-left: 1.15rem;
    padding-right: 1.15rem;
  }
  body.page-id-672 #brxe-htffff .ff-el-section-title,
  body.page-id-656 #brxe-ctffff .ff-el-section-title {
    font-size: 1.82rem;
  }
  body.page-id-672 #brxe-htffff .ff_upload_btn,
  body.page-id-672 #brxe-htffff .ff-btn-submit,
  body.page-id-656 #brxe-ctffff .ff-btn-submit {
    text-align: center;
    width: 100%;
  }
  body.page-id-672 #brxe-htffff .ff-el-tc .ff-el-form-check-label,
  body.page-id-656 #brxe-ctffff .ff-el-tc .ff-el-form-check-label {
    gap: 0.7rem;
  }

  .club-coach-card {
    margin-left: auto;
    margin-right: auto;
    max-width: 34rem;
    width: 100%;
  }

  body.page-id-425 #brxe-pfimpc {
    padding-left: clamp(2.4rem, 7vw, 3.2rem);
    padding-right: clamp(2.4rem, 7vw, 3.2rem);
  }

  body.page-id-425 #brxe-pfimps {
    padding-left: 0;
    padding-right: 0;
  }

  body.page-id-425 #brxe-yfnjad {
    gap: 1.2rem;
    grid-template-columns: 1fr;
  }

  body.page-id-425 #brxe-yfnjad > .brxe-block {
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    justify-content: center;
    min-height: auto;
    padding: 0 0 2.2rem;
    text-align: center;
  }

  body.page-id-425 #brxe-yfnjad > .brxe-block:last-child {
    border-bottom: 0;
    padding-bottom: 2.2rem;
  }

  body.page-id-425 #brxe-mqbvmg {
    grid-template-columns: 1fr;
    margin-left: auto;
    margin-right: auto;
    max-width: 38rem;
    width: calc(100% - clamp(2rem, 8vw, 3.2rem));
  }

  body.page-id-425 #brxe-mqbvmg > .brxe-block {
    min-height: 0;
  }

  body.page-id-425 #brxe-xgvtqf .club-grid {
    grid-template-columns: 1fr;
    margin-left: auto;
    margin-right: auto;
    max-width: 38rem;
    width: calc(100% - clamp(2rem, 8vw, 3.2rem));
  }

  body.page-id-425 #brxe-faqacc .x-accordion_header {
    align-items: flex-start;
    min-height: 0;
    padding: 1.6rem 1.8rem;
  }

  body.page-id-425 #brxe-faqacc .x-accordion_content-inner {
    padding: 1rem 1.8rem 1.8rem;
  }

  body.page-id-425 #brxe-nurckv {
    padding-left: clamp(2.4rem, 7vw, 3.2rem);
    padding-right: clamp(2.4rem, 7vw, 3.2rem);
  }

  body.page-id-425 #brxe-eeiemx {
    padding-left: var(--space-m);
    padding-right: var(--space-m);
  }

  body.page-id-425 #brxe-xhmrps {
    padding: 3rem 2rem;
    width: 100%;
  }

  body.page-id-425 #brxe-xrlsvy {
    font-size: clamp(2.8rem, 10vw, 3.8rem);
  }

  body.page-id-425 #brxe-gvlysw {
    font-size: 1.6rem;
  }

  body.page-id-425 #brxe-subclb {
    justify-content: center;
    max-width: 100%;
    width: 100%;
  }

}

/* ===========================================================================
   PFI News / Blog
   =========================================================================== */

body.blog #brx-content,
body.single-post #brx-content {
  background: #ffffff;
  color: #1e293b;
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
}

body.blog #brxe-nwhero,
body.single-post #brxe-nwsgsec {
  background: #f6f9fc;
  padding: clamp(5.6rem, 7vw, 8.8rem) var(--space-m, 2rem);
}

body.blog #brxe-nwhero {
  background:
    linear-gradient(rgba(2, 32, 45, 0.68), rgba(2, 32, 45, 0.68)),
    var(--pfi-news-hero-image, linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%));
  background-position: center 42%;
  background-repeat: no-repeat;
  background-size: cover;
  color: #ffffff;
  display: flex;
  min-height: clamp(34rem, 44vh, 48rem);
  padding-block: clamp(5.2rem, 7vw, 7.8rem);
}

@media (min-width: 768px) {
  body.blog #brxe-nwhero {
    background-position: center 36%;
  }
}

body.blog #brxe-nwheroc,
body.single-post #brxe-nwsgcon,
body.single-post #brxe-nwrelcon {
  margin-inline: auto;
  max-width: var(--max-screen-width, 120rem);
  width: 100%;
}

body.blog #brxe-nwheroc {
  align-items: center;
  display: flex;
  flex-direction: column;
  text-align: center;
}

body.blog #brxe-nwtitle {
  color: #ffffff;
  font-size: clamp(4rem, 7vw, 7.2rem);
  font-weight: 800;
  line-height: 1.02;
  margin: 0 0 1.6rem;
  max-width: 78rem;
  text-shadow: 0 0.4rem 2.4rem rgba(1, 11, 19, 0.42);
}

body.blog #brxe-nwlead {
  color: rgba(235, 246, 250, 0.88);
  font-size: clamp(1.7rem, 1.8vw, 2.1rem);
  line-height: 1.65;
  margin: 0 auto;
  max-width: 53rem;
  text-shadow: 0 0.2rem 1.6rem rgba(1, 11, 19, 0.36);
}

body.blog #brxe-nwlistsec {
  padding: clamp(4rem, 5vw, 6.4rem) var(--space-m, 2rem) clamp(5.6rem, 8vw, 9.6rem);
}

body.single-post #brxe-nwrelsec {
  padding: clamp(5.6rem, 8vw, 9.6rem) var(--space-m, 2rem);
}

body.blog #brxe-nwlistcon {
  margin-inline: auto;
  max-width: var(--max-screen-width, 120rem);
  width: 100%;
}

body.blog #brxe-nwlisth,
.pfi-related-news__heading {
  color: #1e293b;
  font-size: clamp(3rem, 4vw, 4.4rem);
  font-weight: 800;
  line-height: 1.12;
  margin: 0 0 1.2rem;
  text-align: center;
}

body.blog #brxe-nwlistt,
.pfi-related-news__intro {
  color: #5d7188;
  font-size: 1.7rem;
  line-height: 1.65;
  margin: 0 auto clamp(3.2rem, 5vw, 5.2rem);
  max-width: 64rem;
  text-align: center;
}

.pfi-news-grid {
  display: grid;
  gap: clamp(2.4rem, 3vw, 3.2rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-news-card {
  background: #ffffff;
  border: 1px solid #dfe7ef;
  border-radius: 1.4rem;
  box-shadow: 0 1.4rem 3rem rgba(15, 23, 42, 0.08);
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.pfi-news-card:hover,
.pfi-news-card:focus-within {
  border-color: rgba(0, 159, 227, 0.35);
  box-shadow: 0 1.8rem 4rem rgba(15, 23, 42, 0.12);
  transform: translateY(-0.3rem);
}

.pfi-news-card__media {
  background: #eef6fb;
  display: block;
  height: 21rem;
  overflow: hidden;
}

.pfi-news-card__image {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center 32%;
  width: 100%;
}

.pfi-news-card__placeholder {
  align-items: center;
  background: linear-gradient(135deg, #eef6fb 0%, #dfeefa 100%);
  color: var(--pfi-action-blue);
  display: flex;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.pfi-news-card__placeholder-icon {
  height: 5.6rem;
  stroke-width: 1.8;
  width: 5.6rem;
}

.pfi-news-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 2.2rem;
}

.pfi-news-card__meta,
.pfi-single-news__meta {
  align-items: center;
  color: #5d7188;
  column-gap: 1rem;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
}

.pfi-news-card__meta span:first-child,
.pfi-single-news__meta span:first-child {
  background: rgba(0, 159, 227, 0.1);
  border-radius: 999px;
  color: var(--pfi-action-blue);
  padding: 0.35rem 0.9rem;
}

.pfi-news-card__title {
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1.22;
  margin: 0 0 1rem;
}

.pfi-news-card__title a {
  color: #1e293b;
  text-decoration: none;
}

.pfi-news-card__title a:hover,
.pfi-news-card__title a:focus {
  color: var(--pfi-action-blue);
}

.pfi-news-card__excerpt {
  color: #53687f;
  font-size: 1.55rem;
  line-height: 1.65;
  margin: 0 0 2.2rem;
}

.pfi-news-card__link {
  align-items: center;
  align-self: flex-start;
  background: var(--pfi-action-blue);
  border-radius: 0.8rem;
  color: #ffffff !important;
  display: inline-flex;
  font-size: 1.5rem;
  font-weight: 800;
  justify-content: center;
  margin-top: auto;
  min-height: 4.4rem;
  padding: 0.9rem 1.8rem;
  text-decoration: none;
}

.pfi-news-card__link:hover,
.pfi-news-card__link:focus {
  background: #1d4ed8;
}

.pfi-news-empty {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 1.2rem;
  color: #53687f;
  font-weight: 700;
  padding: 3rem;
  text-align: center;
}

.pfi-news-pagination {
  margin-top: clamp(3.6rem, 5vw, 5.6rem);
}

.pfi-news-pagination ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pfi-news-pagination a,
.pfi-news-pagination span {
  align-items: center;
  background: #ffffff;
  border: 1px solid #dfe7ef;
  border-radius: 0.8rem;
  color: #1e293b;
  display: inline-flex;
  font-weight: 800;
  min-height: 4rem;
  padding: 0.7rem 1.2rem;
  text-decoration: none;
}

.pfi-news-pagination .current,
.pfi-news-pagination a:hover,
.pfi-news-pagination a:focus {
  background: var(--pfi-action-blue);
  border-color: var(--pfi-action-blue);
  color: #ffffff;
}

.pfi-single-news {
  margin-inline: auto;
  max-width: 88rem;
  width: 100%;
}

.pfi-single-news__back {
  margin: 0 0 3.2rem;
}

.pfi-single-news__back a {
  color: #64748b;
  font-size: 1.55rem;
  font-weight: 600;
  text-decoration: none;
}

.pfi-single-news__back a:hover,
.pfi-single-news__back a:focus {
  color: var(--pfi-action-blue);
}

.pfi-single-news__header {
  margin-bottom: clamp(3rem, 5vw, 5.2rem);
}

.pfi-single-news__title {
  color: #142033;
  font-size: clamp(3.8rem, 6vw, 6rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.05;
  margin: 0;
}

.pfi-single-news__excerpt {
  color: #4f637a;
  font-size: clamp(1.8rem, 2vw, 2.2rem);
  line-height: 1.6;
  margin: 2rem 0 0;
}

.pfi-single-news__media {
  align-items: center;
  background: #f5f8fb;
  border-radius: 1.6rem;
  box-shadow: 0 1.6rem 3.6rem rgba(15, 23, 42, 0.12);
  display: flex;
  justify-content: center;
  margin-bottom: clamp(3.6rem, 6vw, 5.6rem);
  overflow: hidden;
}

.pfi-single-news__image {
  display: block;
  height: auto;
  max-height: none;
  object-fit: contain;
  width: 100%;
}

.pfi-single-news__media--portrait {
  padding: clamp(1.2rem, 2vw, 2rem);
}

.pfi-single-news__media--portrait .pfi-single-news__image {
  max-height: min(78vh, 82rem);
  max-width: 100%;
  width: auto;
}

.pfi-single-news__media--square .pfi-single-news__image {
  max-width: min(100%, 72rem);
}

.pfi-single-news__content {
  color: #26364a;
  font-size: 1.8rem;
  line-height: 1.78;
}

.pfi-single-news__content > * {
  margin-bottom: 1.7em;
}

.pfi-single-news__content h2,
.pfi-single-news__content h3,
.pfi-single-news__content h4 {
  color: #142033;
  font-weight: 800;
  line-height: 1.18;
  margin: 1.8em 0 0.75em;
}

.pfi-single-news__content h2 {
  font-size: clamp(3rem, 4vw, 4rem);
}

.pfi-single-news__content h3 {
  font-size: clamp(2.4rem, 3vw, 3rem);
}

.pfi-single-news__content a {
  color: var(--pfi-action-blue);
  font-weight: 700;
}

.pfi-single-news__content img {
  border-radius: 1.2rem;
  height: auto;
  max-width: 100%;
}

.pfi-related-news {
  border-top: 1px solid #dfe7ef;
  margin-top: clamp(5.6rem, 8vw, 8rem);
  padding-top: clamp(5.6rem, 8vw, 8rem);
}

@media (max-width: 991px) {
  .pfi-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.blog #brxe-nwhero,
  body.blog #brxe-nwlistsec,
  body.single-post #brxe-nwsgsec,
  body.single-post #brxe-nwrelsec {
    padding-left: clamp(2.4rem, 7vw, 3.2rem);
    padding-right: clamp(2.4rem, 7vw, 3.2rem);
  }

  body.blog #brxe-nwhero {
    background:
      linear-gradient(rgba(2, 32, 45, 0.68), rgba(2, 32, 45, 0.68)),
      var(--pfi-news-hero-image-mobile, var(--pfi-news-hero-image, linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%)));
    min-height: clamp(25.5rem, 33vh, 36rem);
    padding-bottom: clamp(3.9rem, 5.25vw, 5.85rem);
    padding-top: clamp(3.9rem, 5.25vw, 5.85rem);
  }

  body.blog #brxe-nwlead {
    font-size: 1.58rem;
    line-height: 1.5;
    max-width: min(100%, 28rem);
  }

  .pfi-news-grid {
    grid-template-columns: 1fr;
    margin-inline: auto;
    max-width: 38rem;
  }

  .pfi-news-card__media {
    height: 19rem;
  }

  .pfi-news-card__body {
    padding: 2rem;
  }

  .pfi-news-card__link {
    width: 100%;
  }

  .pfi-single-news__content {
    font-size: 1.7rem;
  }
}

/* ===========================================================================
   PFI Tournaments
   =========================================================================== */

body.page-id-671 #brx-content,
body.single-tournament #brx-content,
body.single-community_event #brx-content {
  background: #f6f9fc;
  color: #1e293b;
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
}

body.page-id-671 #brxe-trnlistcon,
body.page-id-671 #brxe-trnctacon,
body.single-tournament #brxe-trnsgcon,
body.single-community_event #brxe-trnsgcon {
  margin-inline: auto;
  max-width: var(--max-screen-width, 120rem);
  width: 100%;
}

.pfi-tournament-stats {
  align-items: center;
  background: #ffffff;
  border: 1px solid #dfe7ef;
  border-radius: 1.4rem;
  box-shadow: 0 1.4rem 3.4rem rgba(15, 23, 42, 0.1);
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: clamp(2rem, 3vw, 3rem);
}

.pfi-tournament-stats__item {
  align-items: center;
  display: flex;
  gap: 0.9rem;
  justify-content: center;
  min-width: 0;
}

.pfi-tournament-stats__icon {
  color: var(--pfi-action-blue);
  height: 2.8rem;
  stroke-width: 2;
  width: 2.8rem;
}

.pfi-tournament-stats__value,
.pfi-tournament-stats__label {
  color: #2b3443;
  font-size: clamp(1.8rem, 2vw, 2.4rem);
  font-weight: 800;
  line-height: 1.15;
}

body.page-id-671 #brxe-trnlistsec {
  background:
    linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  color: #ffffff;
  padding: clamp(4.2rem, 6vw, 7.2rem) var(--space-m, 2rem) clamp(6rem, 8vw, 9.6rem);
}

body.page-id-671 #brxe-trnlisth {
  color: #ffffff;
  display: block;
  font-size: clamp(3.8rem, 6vw, 6.2rem);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 auto 1.4rem;
  text-align: center;
  width: 100%;
}

body.page-id-671 #brxe-trnlistp {
  display: block;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.75rem;
  line-height: 1.65;
  margin: 0 auto clamp(3.2rem, 5vw, 5rem);
  max-width: 68rem;
  text-align: center;
  width: 100%;
}

body.page-id-671 #brxe-trnaghead {
  border-top: 0;
  color: #ffffff;
  display: block;
  font-size: clamp(3.8rem, 6vw, 6.2rem);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 auto 1.4rem;
  padding-top: 0;
  text-align: center;
  width: 100%;
}

body.page-id-671 #brxe-trnagtext {
  color: rgba(255, 255, 255, 0.76);
  display: block;
  font-size: 1.7rem;
  line-height: 1.65;
  margin: 0 auto clamp(2.8rem, 4vw, 4.4rem);
  max-width: 66rem;
  text-align: center;
  width: 100%;
}

body.page-id-671 #brxe-trncal {
  margin-inline: auto;
  max-width: 112rem;
  width: 100%;
}

.pfi-month-calendar {
  background: #ffffff;
  border: 1px solid #dfe7ef;
  border-radius: 1.6rem;
  box-shadow: 0 1.6rem 3.8rem rgba(15, 23, 42, 0.1);
  margin-left: auto;
  margin-bottom: clamp(4rem, 6vw, 6rem);
  margin-right: auto;
  max-width: 110rem;
  overflow: hidden;
  width: 100%;
}

.pfi-month-calendar__header {
  align-items: center;
  background: #f8fbfe;
  border-bottom: 1px solid #dfe7ef;
  display: grid;
  gap: 1.6rem;
  grid-template-columns: 4.4rem minmax(0, 1fr) 4.4rem;
  padding: clamp(1.6rem, 3vw, 2.4rem);
}

.pfi-month-calendar__nav {
  align-items: center;
  background: #ffffff;
  border: 1px solid #dfe7ef;
  border-radius: 999px;
  color: var(--pfi-primary-navy);
  display: inline-flex;
  font-size: 3rem;
  font-weight: 600;
  height: 4.4rem;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  width: 4.4rem;
}

.pfi-month-calendar__nav:hover,
.pfi-month-calendar__nav:focus {
  background: var(--pfi-action-blue);
  border-color: var(--pfi-action-blue);
  color: #ffffff;
}

.pfi-month-calendar__title-block {
  align-items: center;
  display: flex;
  gap: 1.2rem;
  justify-content: center;
  min-width: 0;
}

.pfi-month-calendar__title {
  color: #142033;
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  font-weight: 800;
  line-height: 1.1;
  margin: 0;
}

.pfi-month-calendar__today {
  background: rgba(0, 159, 227, 0.1);
  border-radius: 999px;
  color: var(--pfi-action-blue);
  font-size: 1.3rem;
  font-weight: 800;
  line-height: 1;
  padding: 0.7rem 1.1rem;
  text-decoration: none;
}

.pfi-month-calendar__today:hover,
.pfi-month-calendar__today:focus {
  background: var(--pfi-action-blue);
  color: #ffffff;
}

.pfi-month-calendar__weekdays {
  background: #ffffff;
  border-bottom: 1px solid #dfe7ef;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.pfi-month-calendar__weekdays span {
  color: #64748b;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 1.2rem 0.8rem;
  text-align: center;
  text-transform: uppercase;
}

.pfi-month-calendar__grid {
  background: #dfe7ef;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.pfi-month-calendar__day {
  background: #ffffff;
  min-height: 14rem;
  min-width: 0;
  padding: 1.1rem;
  position: relative;
}

.pfi-month-calendar__day.is-outside {
  background: #f8fafc;
}

.pfi-month-calendar__day.is-outside .pfi-month-calendar__day-number {
  color: #b8c4d2;
}

.pfi-month-calendar__day.is-today .pfi-month-calendar__day-number {
  align-items: center;
  background: var(--pfi-action-blue);
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  height: 2.8rem;
  justify-content: center;
  width: 2.8rem;
}

.pfi-month-calendar__day-number {
  color: #142033;
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 1rem;
}

.pfi-month-calendar__events,
.pfi-month-calendar__end-markers {
  display: grid;
  gap: 0.55rem;
}

.pfi-month-calendar__end-markers {
  margin-top: 0.55rem;
}

.pfi-month-event {
  background: #eef6fb;
  border-left: 3px solid var(--pfi-action-blue);
  border-radius: 0.7rem;
  color: #18324a;
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  padding: 0.65rem 0.75rem;
  text-decoration: none;
}

.pfi-month-event.is-multi-day {
  background: #e8f5ff;
}

.pfi-month-event:hover,
.pfi-month-event:focus,
.pfi-month-event.is-popover-active,
.pfi-month-end-marker.is-popover-active {
  background: #e2f2fd;
}

.pfi-month-event.is-open {
  border-left-color: #22c55e;
}

.pfi-month-event.is-ongoing {
  background: #f7ffe6;
  border-left-color: var(--accent-lime, #bfff00);
}

.pfi-month-event.is-past {
  background: #f1f5f9;
  border-left-color: #94a3b8;
}

.pfi-month-event__title {
  display: block;
  font-size: 1.22rem;
  font-weight: 800;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pfi-month-event__meta {
  color: #64748b;
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pfi-month-event__duration {
  align-self: start;
  background: rgba(0, 159, 227, 0.11);
  border-radius: 999px;
  color: var(--pfi-action-blue);
  display: inline-flex;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  margin-top: 0.3rem;
  padding: 0.35rem 0.6rem;
  text-transform: uppercase;
}

.pfi-month-end-marker {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #dfe7ef;
  border-radius: 0.7rem;
  color: #64748b;
  display: flex;
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.2;
  min-width: 0;
  overflow: hidden;
  padding: 0.55rem 0.65rem;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pfi-month-end-marker:hover,
.pfi-month-end-marker:focus,
.pfi-month-end-marker.is-popover-active {
  background: #eef2f7;
  color: #142033;
}

.pfi-month-end-marker.is-ongoing {
  border-color: rgba(191, 255, 0, 0.45);
  color: #2f5600;
}

.pfi-month-calendar__more {
  color: #64748b;
  font-size: 1.15rem;
  font-weight: 800;
  padding: 0.25rem 0.75rem;
}

.pfi-calendar-popover {
  background: #ffffff;
  border: 1px solid #d6e0ea;
  border-radius: 1.3rem;
  box-shadow: 0 2.2rem 5.4rem rgba(15, 23, 42, 0.22);
  color: #142033;
  opacity: 0;
  padding: 1.8rem;
  pointer-events: none;
  position: fixed;
  transform: translateY(0.8rem) scale(0.98);
  transition: opacity 160ms ease, transform 160ms ease;
  z-index: 99999;
}

.pfi-calendar-popover.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.pfi-calendar-popover__close {
  align-items: center;
  background: #f1f5f9;
  border: 0;
  border-radius: 999px;
  color: #64748b;
  cursor: pointer;
  display: inline-flex;
  font-size: 1.5rem;
  font-weight: 800;
  height: 3rem;
  justify-content: center;
  line-height: 1;
  padding: 0;
  position: absolute;
  right: 1.2rem;
  top: 1.2rem;
  width: 3rem;
}

.pfi-calendar-popover__close:hover,
.pfi-calendar-popover__close:focus {
  background: #e2e8f0;
  color: #142033;
}

.pfi-calendar-popover__status {
  border-radius: 999px;
  display: inline-flex;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 1.2rem;
  max-width: calc(100% - 4rem);
  padding: 0.55rem 0.9rem;
  text-transform: uppercase;
}

.pfi-calendar-popover__status.is-open {
  background: rgba(34, 197, 94, 0.12);
  color: #15803d;
}

.pfi-calendar-popover__status.is-ongoing {
  background: rgba(191, 255, 0, 0.16);
  color: #4d7c0f;
}

.pfi-calendar-popover__status.is-pending {
  background: rgba(0, 159, 227, 0.1);
  color: var(--pfi-action-blue);
}

.pfi-calendar-popover__status.is-past {
  background: #eef2f7;
  color: #64748b;
}

.pfi-calendar-popover__title {
  color: #142033;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 1.5rem;
  padding-right: 2.8rem;
}

.pfi-calendar-popover__body {
  border-top: 1px solid #e7edf3;
  display: grid;
}

.pfi-calendar-popover__row {
  border-bottom: 1px solid #e7edf3;
  display: grid;
  gap: 0.3rem;
  padding: 1rem 0;
}

.pfi-calendar-popover__label {
  color: #64748b;
  font-size: 1.2rem;
  font-weight: 800;
  text-transform: uppercase;
}

.pfi-calendar-popover__value {
  color: #26364a;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.35;
}

.pfi-calendar-popover__actions {
  display: flex;
  margin-top: 1.6rem;
}

.pfi-calendar-popover__link {
  align-items: center;
  background: var(--pfi-action-blue);
  border-radius: 0.8rem;
  color: #ffffff !important;
  display: inline-flex;
  font-size: 1.45rem;
  font-weight: 800;
  justify-content: center;
  min-height: 4.2rem;
  padding: 0.9rem 1.6rem;
  text-decoration: none;
  width: 100%;
}

.pfi-calendar-popover__link:hover,
.pfi-calendar-popover__link:focus {
  background: #1d4ed8;
}

.pfi-tournament-calendar__controls {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 999px;
  box-shadow: none;
  display: flex;
  gap: 0.6rem;
  justify-content: center;
  margin: 0 auto clamp(3.2rem, 5vw, 4.8rem);
  max-width: max-content;
  padding: 0.6rem;
}

.pfi-tournament-calendar__controls a {
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.45rem;
  font-weight: 800;
  min-width: 10rem;
  padding: 0.9rem 1.5rem;
  text-align: center;
  text-decoration: none;
}

.pfi-tournament-calendar__controls a:hover,
.pfi-tournament-calendar__controls a:focus {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.pfi-tournament-calendar__controls a.is-active {
  background: var(--pfi-action-blue);
  color: #ffffff;
}

.pfi-tournament-agenda,
.pfi-tournament-grid {
  display: grid;
  gap: 2.2rem;
}

.pfi-tournament-month {
  display: grid;
  gap: 1.6rem;
}

.pfi-tournament-month + .pfi-tournament-month {
  margin-top: clamp(3.2rem, 5vw, 5rem);
}

.pfi-tournament-month__heading {
  align-items: center;
  color: #ffffff;
  display: flex;
  font-size: clamp(2.2rem, 3vw, 2.8rem);
  font-weight: 800;
  gap: 1.4rem;
  margin: 0;
}

.pfi-tournament-month__heading::after {
  background: linear-gradient(90deg, rgba(191, 255, 0, 0.36), rgba(191, 255, 0, 0));
  content: "";
  display: block;
  flex: 1 1 auto;
  height: 1px;
  min-width: 3rem;
}

.pfi-tournament-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  box-shadow: none;
  display: grid;
  gap: clamp(1.6rem, 2.4vw, 2.2rem);
  grid-template-columns: 7.8rem minmax(0, 1fr);
  overflow: hidden;
  padding: clamp(1.8rem, 3vw, 2.6rem);
  position: relative;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.pfi-tournament-card::before {
  background: transparent;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  top: 0;
  width: 0.45rem;
}

.pfi-tournament-card.has-image {
  grid-template-columns: 7.8rem minmax(0, 1fr) clamp(15.4rem, 16vw, 19.6rem);
}

.pfi-tournament-card:hover,
.pfi-tournament-card:focus-within {
  border-color: rgba(191, 255, 0, 0.26);
  box-shadow: 0 1.8rem 4rem rgba(0, 0, 0, 0.16);
  transform: translateY(-0.2rem);
}

.pfi-tournament-card__date {
  align-items: center;
  align-self: start;
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.22);
  border-radius: 0.7rem;
  box-shadow: none;
  color: var(--pfi-accent-lime);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 7.8rem;
  padding: 1.2rem 0.8rem;
  text-align: center;
}

.pfi-tournament-card__date span {
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.pfi-tournament-card__date strong {
  color: var(--pfi-accent-lime);
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1;
  margin-top: 0.5rem;
}

.pfi-tournament-card__body {
  min-width: 0;
}

.pfi-tournament-card__topline {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: flex-start;
  margin-bottom: 1rem;
}

.pfi-tournament-card__tier,
.pfi-tournament-card__status {
  border-radius: 999px;
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1;
  padding: 0.55rem 0.95rem;
  text-transform: uppercase;
}

.pfi-tournament-card__tier {
  background: rgba(191, 255, 0, 0.1);
  border: 1px solid rgba(191, 255, 0, 0.22);
  color: var(--pfi-accent-lime);
}

.pfi-tournament-card__status.is-open {
  background: rgba(191, 255, 0, 0.12);
  color: var(--pfi-accent-lime);
}

.pfi-tournament-card__status.is-ongoing {
  background: rgba(56, 189, 248, 0.13);
  color: var(--pfi-tertiary-sky);
}

.pfi-tournament-card__status.is-pending {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.76);
}

.pfi-tournament-card__status.is-past {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.62);
}

.pfi-tournament-card__title {
  font-size: clamp(2.2rem, 3vw, 2.8rem);
  font-weight: 800;
  line-height: 1.18;
  margin: 0 0 1.6rem;
}

.pfi-tournament-card__title a {
  color: #ffffff;
  text-decoration: none;
}

.pfi-tournament-card__title a:hover,
.pfi-tournament-card__title a:focus {
  color: var(--pfi-accent-lime);
}

.pfi-tournament-card__meta {
  align-items: center;
  color: rgba(255, 255, 255, 0.74);
  display: flex;
  font-size: 1.55rem;
  gap: 0.8rem;
  line-height: 1.45;
  margin-bottom: 0.8rem;
}

.pfi-tournament-card__icon {
  color: var(--pfi-accent-lime);
  height: 1.7rem;
  width: 1.7rem;
}

.pfi-tournament-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

.pfi-tournament-card__button,
.pfi-tournament-card__register {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 0.8rem;
  display: inline-flex;
  font-size: 1.5rem;
  font-weight: 800;
  justify-content: center;
  min-height: 4.4rem;
  padding: 0.9rem 1.8rem;
  text-decoration: none;
}

.pfi-tournament-card__button {
  background: var(--pfi-action-blue);
  color: #ffffff !important;
}

.pfi-tournament-card__register {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  color: #ffffff !important;
}

.pfi-tournament-card__button:hover,
.pfi-tournament-card__button:focus {
  background: color-mix(in srgb, var(--pfi-action-blue) 86%, black);
}

.pfi-tournament-card__register:hover,
.pfi-tournament-card__register:focus {
  background: rgba(191, 255, 0, 0.12);
  border-color: rgba(191, 255, 0, 0.26);
  color: var(--pfi-accent-lime) !important;
}

.pfi-tournament-card__media {
  align-self: stretch;
  aspect-ratio: 724 / 1024;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 0.8rem;
  display: block;
  max-height: none;
  min-height: 100%;
  overflow: hidden;
  text-decoration: none;
}

.pfi-tournament-card__image {
  display: block;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  width: 100%;
}

body.page-id-671 .pfi-tournament-card__status.is-ongoing {
  background: rgba(255, 255, 255, 0.1);
}

body.page-id-671 .pfi-tournament-card__status.is-open {
  background: rgba(255, 255, 255, 0.1);
}

body.page-id-671 .pfi-tournament-card__status {
  color: #ffffff !important;
}

body.page-id-671 .pfi-tournament-card__icon {
  color: var(--pfi-neutral-silver, #e0e0e0) !important;
}

.pfi-tournament-empty {
  align-items: center;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 1.4rem;
  color: #53687f;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding: clamp(3rem, 5vw, 4.8rem);
  text-align: center;
}

.pfi-tournament-empty strong {
  color: #142033;
  font-size: 2rem;
}

/* ==========================================================================
   PFI Community Events
   ========================================================================== */

.pfi-community-events {
  background: #ffffff;
  color: var(--pfi-primary-navy);
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  margin-inline: calc(50% - 50vw);
  max-width: 100vw;
  overflow: hidden;
  width: 100vw;
}

body.page-id-5052 #brx-content > h1:first-child {
  display: none;
}

.pfi-community-events__stage {
  background:
    linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  color: #ffffff;
}

.pfi-community-events__hero {
  align-items: center;
  background: transparent;
  color: #ffffff;
  display: flex;
  min-height: auto;
  padding: clamp(4.2rem, 6vw, 7.2rem) var(--space-m, 2rem) 0;
  text-align: center;
}

.pfi-community-events__hero-inner,
.pfi-community-events__container,
.pfi-community-events__cta-inner {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  width: 100%;
}

.pfi-community-events__hero-inner {
  max-width: 88rem;
}

.pfi-community-events__kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.32rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.1;
  margin: 0 0 1.5rem;
  text-transform: uppercase;
}

.pfi-community-events__hero h1 {
  color: #ffffff;
  font-size: clamp(4rem, 5vw, 6.2rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.1;
  margin: 0 auto 1.4rem;
  max-width: 82rem;
}

.pfi-community-events__hero p:not(.pfi-community-events__kicker) {
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.7rem;
  line-height: 1.65;
  margin: 0 auto clamp(2.8rem, 4vw, 4.4rem);
  max-width: 66rem;
}

.pfi-community-events__hero-actions,
.pfi-community-events__cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  justify-content: center;
  margin-top: 2.8rem;
}

.pfi-community-events__button {
  align-items: center;
  background: var(--pfi-action-blue);
  border: 1px solid transparent;
  border-radius: 0.8rem;
  color: #ffffff !important;
  display: inline-flex;
  font-size: 1.5rem;
  font-weight: 850;
  justify-content: center;
  min-height: 4.6rem;
  padding: 1rem 1.8rem;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.pfi-community-events__button:hover,
.pfi-community-events__button:focus {
  background: var(--pfi-action-blue-hover);
  border-color: var(--pfi-action-blue-hover);
  color: #ffffff !important;
  transform: translateY(-0.15rem);
}

.pfi-community-events__button--ghost {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.22);
}

.pfi-community-events__button--ghost-dark {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.24);
}

.pfi-community-events__button--ghost-dark:hover,
.pfi-community-events__button--ghost-dark:focus {
  background: var(--pfi-accent-lime);
  color: var(--pfi-rich-black) !important;
}

.pfi-community-events__intro,
.pfi-community-events__list,
.pfi-community-events__cta {
  padding: clamp(5.5rem, 7vw, 8rem) var(--space-m, 2rem);
}

.pfi-community-events__intro {
  background: #f5f8fb;
}

.pfi-community-events__intro .pfi-community-events__section-heading {
  margin-inline: auto;
  text-align: center;
}

.pfi-community-events__list {
  background: transparent;
  color: #ffffff;
  padding: 0 var(--space-m, 2rem) clamp(6rem, 8vw, 9.6rem);
}

.pfi-community-events__list .pfi-community-events__section-heading {
  margin-bottom: clamp(2.4rem, 2.4vw, 3rem);
  max-width: 54rem;
}

.pfi-community-events__list .pfi-tournament-calendar {
  margin-inline: auto;
  max-width: 110rem;
  width: 100%;
}

.pfi-community-events__list .pfi-tournament-calendar__controls {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(224, 224, 224, 0.16);
  box-shadow: none;
  margin-bottom: clamp(3.2rem, 5vw, 4.8rem);
}

.pfi-community-events__list .pfi-tournament-calendar__controls a {
  color: rgba(255, 255, 255, 0.8);
}

.pfi-community-events__list .pfi-tournament-calendar__controls a:hover,
.pfi-community-events__list .pfi-tournament-calendar__controls a:focus {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.pfi-community-events__list .pfi-tournament-calendar__controls a.is-active {
  background: var(--pfi-action-blue);
  color: #ffffff;
}

.pfi-community-events__list .pfi-tournament-card__status.is-ongoing,
.pfi-community-events__list .pfi-tournament-card__status.is-open {
  background: rgba(255, 255, 255, 0.1);
}

.pfi-community-events__list .pfi-tournament-card__status {
  color: #ffffff !important;
}

.pfi-community-events__list .pfi-tournament-card__icon {
  color: var(--pfi-neutral-silver, #e0e0e0) !important;
}

.pfi-community-events__list .pfi-tournament-empty {
  margin-inline: auto;
  max-width: 86rem;
}

.pfi-community-events__section-heading {
  margin-bottom: clamp(3rem, 5vw, 4.5rem);
  max-width: 72rem;
}

.pfi-community-events__section-heading--center {
  margin-inline: auto;
  text-align: center;
}

.pfi-community-events__list .pfi-community-events__section-heading h2 {
  color: #ffffff;
  font-size: clamp(2.4rem, 2.6vw, 3.2rem);
}

.pfi-community-events__list .pfi-community-events__section-heading p {
  color: rgba(255, 255, 255, 0.76);
}

.pfi-community-events__section-heading h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 4vw, 4.4rem);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0;
}

.pfi-community-events__section-heading p {
  color: #53687f;
  font-size: clamp(1.65rem, 1.8vw, 1.9rem);
  line-height: 1.62;
  margin: 1.4rem 0 0;
}

.pfi-community-events__cards {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-community-events-card {
  background: #ffffff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.2rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.08);
  padding: clamp(2.2rem, 3vw, 2.8rem);
}

.pfi-community-events-card__icon-wrap {
  align-items: center;
  background: rgba(56, 189, 248, 0.12);
  border-radius: 1.2rem;
  color: var(--pfi-tertiary-sky, #38bdf8);
  display: inline-flex;
  height: 5rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  width: 5rem;
}

.pfi-community-events-card__icon {
  height: 2.7rem;
  width: 2.7rem;
}

.pfi-community-events-card h3 {
  color: var(--pfi-primary-navy);
  font-size: 2.1rem;
  font-weight: 850;
  line-height: 1.18;
  margin: 0;
}

.pfi-community-events-card p {
  color: #53687f;
  font-size: 1.52rem;
  line-height: 1.6;
  margin: 1rem 0 0;
}

.pfi-community-events__cta {
  background: #ffffff;
}

.pfi-community-events__cta-inner {
  align-items: center;
  background: #f2f8ff;
  border: 1px solid #dbeafe;
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3.6rem rgba(15, 23, 42, 0.09);
  color: var(--pfi-primary-navy);
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 96rem;
  padding: clamp(3.2rem, 5vw, 5.2rem);
  text-align: center;
}

.pfi-community-events__cta h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 3.4vw, 4.4rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0 0 1.4rem;
}

.pfi-community-events__cta p {
  color: #4b5563;
  font-size: clamp(1.65rem, 1.5vw, 2rem);
  line-height: 1.55;
  margin: 0;
  max-width: 66rem;
}

.pfi-community-events__cta .pfi-community-events__cta-actions {
  margin-top: 0.8rem;
}

.pfi-community-events__cta .pfi-community-events__button {
  border-radius: 999px;
  font-size: 1.6rem;
  font-weight: 800;
  min-height: 4.8rem;
  padding: 1.2rem 2.6rem;
}

.pfi-community-events__cta .pfi-community-events__button--ghost-dark {
  background: #ffffff;
  border-color: #dbeafe;
  color: var(--pfi-primary-navy) !important;
}

.pfi-community-events__cta .pfi-community-events__button--ghost-dark:hover,
.pfi-community-events__cta .pfi-community-events__button--ghost-dark:focus {
  background: var(--pfi-action-blue);
  border-color: var(--pfi-action-blue);
  color: #ffffff !important;
}

@media (max-width: 1000px) {
  .pfi-community-events__cards,
  .pfi-community-events__cta-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .pfi-community-events,
  .pfi-community-events__stage,
  .pfi-community-events__hero,
  .pfi-community-events__intro,
  .pfi-community-events__list,
  .pfi-community-events__cta,
  .pfi-community-events__hero-inner,
  .pfi-community-events__container,
  .pfi-community-events__cta-inner {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
    width: 100%;
  }

  .pfi-community-events {
    margin-inline: 0;
  }

  .pfi-community-events__hero {
    min-height: auto;
    padding: clamp(4.2rem, 10vw, 5.6rem) clamp(2.2rem, 6vw, 2.8rem) 0;
  }

  .pfi-community-events__hero h1 {
    font-size: clamp(2.65rem, 7.1vw, 3.15rem);
    line-height: 1.06;
    max-width: 27rem;
    overflow-wrap: anywhere;
    white-space: normal !important;
    word-break: normal;
  }

  .pfi-community-events__hero p:not(.pfi-community-events__kicker),
  .pfi-community-events__section-heading h2,
  .pfi-community-events__section-heading p {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .pfi-community-events__hero p:not(.pfi-community-events__kicker) {
    font-size: 1.62rem;
    max-width: 30rem;
  }

  .pfi-community-events__section-heading {
    max-width: 24rem;
  }

  .pfi-community-events__section-heading h2,
  .pfi-community-events__list .pfi-community-events__section-heading h2 {
    font-size: clamp(2.15rem, 5.8vw, 2.5rem);
    line-height: 1.14;
    overflow-wrap: anywhere;
    white-space: normal !important;
  }

  .pfi-community-events__list .pfi-community-events__section-heading {
    max-width: 24rem;
    width: 100%;
  }

  .pfi-community-events__list .pfi-tournament-calendar,
  .pfi-community-events__list .pfi-tournament-empty,
  .pfi-community-events__cards,
  .pfi-community-events-card {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
  }

  .pfi-community-events__list .pfi-tournament-empty strong,
  .pfi-community-events__list .pfi-tournament-empty span,
  .pfi-community-events-card h3,
  .pfi-community-events-card p {
    overflow-wrap: anywhere;
  }

  .pfi-community-events__hero-actions,
  .pfi-community-events__cta-actions,
  .pfi-community-events__button {
    width: 100%;
  }

  .pfi-community-events__list .pfi-tournament-empty,
  .pfi-community-events-card,
  .pfi-community-events__cta-inner {
    margin-inline: auto;
    max-width: calc(100vw - 3.2rem);
    width: calc(100vw - 3.2rem);
  }

  .pfi-community-events__cta h2,
  .pfi-community-events__cta p {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .pfi-community-events__cta .pfi-community-events__button {
    box-sizing: border-box;
    max-width: 100%;
  }

}

body.page-id-671 #brxe-trnctasec {
  background: #ffffff;
  color: var(--pfi-primary-navy);
  padding: clamp(5rem, 7vw, 8rem) var(--space-m, 2rem);
}

body.page-id-671 #brxe-trnctacon {
  align-items: center;
  background: #f2f8ff;
  border: 1px solid #dbeafe;
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3.6rem rgba(15, 23, 42, 0.09);
  color: var(--pfi-primary-navy);
  display: flex;
  flex-direction: column;
  max-width: 96rem;
  padding: clamp(3.2rem, 5vw, 5.2rem);
  text-align: center;
}

body.page-id-671 #brxe-trnctah {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 3.4vw, 4.4rem);
  font-weight: 800;
  line-height: 1.12;
  margin: 0 0 1.4rem;
}

body.page-id-671 #brxe-trnctap {
  color: #4b5563;
  font-size: clamp(1.65rem, 1.5vw, 2rem);
  line-height: 1.55;
  margin: 0 0 2.8rem;
  max-width: 66rem;
}

body.page-id-671 #brxe-trnctabtn {
  background: var(--pfi-action-blue);
  border: 1px solid var(--pfi-action-blue);
  border-radius: 999px;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 800;
  min-height: 4.8rem;
  padding: 1.2rem 2.6rem;
  text-decoration: none;
}

body.single-tournament #brxe-trnsgsec,
body.single-community_event #brxe-trnsgsec {
  background:
    linear-gradient(180deg, rgba(248, 251, 255, 0.96) 0%, #ffffff 38%, #ffffff 100%);
  padding: clamp(4rem, 6vw, 7.2rem) var(--space-m, 2rem) clamp(6rem, 8vw, 10rem);
}

body.single-tournament #brxe-trnsgcon,
body.single-community_event #brxe-trnsgcon {
  align-items: start;
  display: grid;
  gap: clamp(3.2rem, 4.5vw, 5.2rem);
  grid-template-columns: minmax(0, 2fr) minmax(30rem, 38rem);
}

body.single-tournament #brxe-trnsgback,
body.single-community_event #brxe-trnsgback {
  margin: 0 0 2.8rem;
}

body.single-tournament #brxe-trnsgback a,
body.single-community_event #brxe-trnsgback a {
  align-items: center;
  color: #64748b;
  display: inline-flex;
  font-size: 0;
  font-weight: 600;
  gap: 0.4rem;
  line-height: 1.2;
  text-decoration: none;
}

body.single-tournament #brxe-trnsgback a::after {
  content: "All Tournaments";
  font-size: 1.55rem;
  line-height: 1.2;
}

body.single-community_event #brxe-trnsgback a::after {
  content: "All Community Events";
  font-size: 1.55rem;
  line-height: 1.2;
}

body.single-tournament #brxe-trnsgtitle,
body.single-community_event #brxe-trnsgtitle {
  color: #142033;
  font-size: clamp(3.8rem, 6vw, 6rem);
  font-weight: 800;
  line-height: 1.05;
  margin: 0 0 clamp(2rem, 3vw, 2.8rem);
}

body.single-tournament #brxe-trnsgcontent,
body.single-community_event #brxe-trnsgcontent {
  color: #26364a;
  font-size: 1.8rem;
  line-height: 1.78;
}

@media (min-width: 992px) {
  body.single-tournament #brxe-trnsgmain,
  body.single-community_event #brxe-trnsgmain {
    align-items: start;
    display: grid;
    column-gap: clamp(2.4rem, 3vw, 3.8rem);
    grid-template-columns: minmax(0, 1fr) minmax(24rem, 34rem);
    row-gap: clamp(1.8rem, 2.4vw, 2.6rem);
  }

  body.single-tournament #brxe-trnsgback,
  body.single-community_event #brxe-trnsgback {
    grid-column: 1 / -1;
    margin: 0 0 0.4rem;
  }

  body.single-tournament #brxe-trnsgtitle,
  body.single-community_event #brxe-trnsgtitle {
    grid-column: 1;
    grid-row: 2;
    margin-bottom: 0;
  }

  body.single-tournament #brxe-trnsgimg,
  body.single-community_event #brxe-trnsgimg {
    align-self: start;
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    width: 100%;
  }

  body.single-tournament #brxe-trnsgover,
  body.single-tournament #brxe-trnsgcontent,
  body.single-community_event #brxe-trnsgover,
  body.single-community_event #brxe-trnsgcontent,
  body.single-community_event #brxe-trnsgceinfo {
    grid-column: 1 / -1;
  }
}

.pfi-tournament-featured {
  margin: 0 0 clamp(2.2rem, 4vw, 3.4rem);
}

.pfi-tournament-featured__frame {
  align-items: center;
  background: #ffffff;
  border: 1px solid #e1e8f0;
  border-radius: 1.4rem;
  box-shadow: 0 1.6rem 4rem rgba(15, 23, 42, 0.1);
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding: clamp(1rem, 2vw, 1.6rem);
}

.pfi-tournament-featured__image {
  border-radius: 1rem;
  display: block;
  height: auto;
  max-height: min(50rem, 58vh);
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

.pfi-tournament-featured figcaption {
  color: #64748b;
  font-size: 1.35rem;
  line-height: 1.45;
  margin-top: 0.9rem;
  text-align: center;
}

.pfi-tournament-overview {
  background: #ffffff;
  border: 0;
  border-top: 0.35rem solid var(--pfi-tertiary-sky);
  border-radius: 1.4rem;
  box-shadow: 0 1.4rem 3.4rem rgba(15, 23, 42, 0.08);
  color: #142033;
  margin: 0 0 clamp(2.4rem, 4vw, 3.6rem);
  padding: clamp(2.2rem, 4vw, 3.2rem);
}

.pfi-tournament-overview p {
  color: #26364a;
  font-size: clamp(1.7rem, 1.5vw, 1.95rem);
  line-height: 1.7;
  margin: 0;
}

.pfi-tournament-overview__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.6rem;
}

.pfi-tournament-overview__chips span {
  align-items: center;
  background: #ffffff;
  border: 1px solid #dfe7ef;
  border-radius: 999px;
  box-shadow: 0 0.8rem 1.8rem rgba(15, 23, 42, 0.05);
  color: #53687f;
  display: inline-flex;
  font-size: 1.35rem;
  font-weight: 600;
  gap: 0.55rem;
  line-height: 1;
  min-height: 3.8rem;
  padding: 0.9rem 1.25rem;
}

.pfi-tournament-overview__chips strong {
  color: var(--pfi-tertiary-sky);
  font-size: 1.1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pfi-tournament-fact {
  display: grid;
  gap: clamp(1.8rem, 3vw, 2.6rem);
  margin: clamp(1.8rem, 3vw, 3rem) 0 clamp(3.4rem, 5vw, 5.2rem);
}

.pfi-tournament-fact__grid {
  align-items: start;
  display: grid;
  gap: clamp(1.4rem, 2.2vw, 2.2rem);
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.pfi-tournament-fact__card {
  background: #ffffff;
  border: 0;
  border-top: 0.35rem solid var(--pfi-tertiary-sky);
  border-radius: 0.8rem;
  box-shadow: 0 1rem 2.4rem rgba(15, 23, 42, 0.075);
  color: #142033;
  grid-column: span 6;
  padding: clamp(2.2rem, 3.2vw, 3.2rem);
  position: relative;
}

.pfi-tournament-fact__card--feature {
  background: #ffffff;
  border-top-color: var(--pfi-tertiary-sky);
  box-shadow: 0 1.6rem 3.8rem rgba(15, 23, 42, 0.095);
  grid-column: 1 / -1;
}

.pfi-tournament-fact__card--band {
  background: #ffffff;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(18rem, 0.34fr) minmax(0, 1fr);
  gap: clamp(1.6rem, 3vw, 3.2rem);
}

.pfi-tournament-fact__card--full {
  background: #ffffff;
  grid-column: 1 / -1;
}

.pfi-tournament-fact__card--wide {
  background: #ffffff;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(18rem, 0.34fr) minmax(0, 1fr);
  gap: clamp(1.6rem, 3vw, 3.2rem);
}

.pfi-tournament-fact__card--supporting {
  background: #ffffff;
  grid-column: span 6;
}

.pfi-tournament-fact__card--compact {
  background: #ffffff;
  grid-column: span 5;
}

.pfi-tournament-fact__card::before {
  content: none;
}

.pfi-tournament-fact__card--feature::before {
  content: none;
}

.pfi-tournament-fact__card h3 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2rem, 2.4vw, 2.45rem);
  font-weight: 850;
  line-height: 1.1;
  margin: 0 0 1.4rem;
}

.pfi-tournament-fact__card--feature h3 {
  color: #142033;
  font-size: clamp(2.6rem, 4vw, 3.8rem);
}

.pfi-tournament-fact__card--band h3 {
  margin: 0;
}

.pfi-tournament-fact__card--wide h3 {
  margin: 0;
}

.pfi-tournament-fact__card--wide .pfi-tournament-fact__text {
  grid-column: 2;
  margin-top: 0;
}

.pfi-tournament-fact__body {
  min-width: 0;
}

.pfi-tournament-fact__row {
  border-top: 1px solid #dfeaf5;
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  padding: 1.2rem 0;
}

.pfi-tournament-fact__row:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.pfi-tournament-fact__row > span {
  color: var(--pfi-tertiary-sky);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.pfi-tournament-fact__row strong {
  color: #60748d;
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.45;
  min-width: 0;
  overflow-wrap: anywhere;
}

.pfi-tournament-contact {
  align-items: start;
  display: grid;
  gap: 0.8rem;
}

.pfi-tournament-contact__name {
  color: #60748d;
  font-size: 1.58rem;
  font-weight: 550;
  line-height: 1.35;
}

.pfi-tournament-contact__link {
  align-items: center;
  color: #60748d !important;
  display: inline-flex;
  font-size: 1.45rem;
  font-weight: 500;
  gap: 0.75rem;
  line-height: 1.35;
  min-width: 0;
  text-decoration: none;
  width: fit-content;
}

.pfi-tournament-contact__link span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.pfi-tournament-contact__icon {
  color: #64748b;
  flex: 0 0 1.75rem;
  height: 1.75rem;
  width: 1.75rem;
}

.pfi-tournament-contact__link:hover,
.pfi-tournament-contact__link:focus-visible {
  color: var(--pfi-tertiary-sky) !important;
}

.pfi-tournament-fact__row a,
.pfi-tournament-fact__text a,
.pfi-tournament-fact__subsection a {
  color: var(--pfi-tertiary-sky);
  font-weight: 800;
  text-decoration-color: color-mix(in srgb, var(--pfi-tertiary-sky) 55%, transparent);
  text-underline-offset: 0.22em;
}

.pfi-tournament-fact__text,
.pfi-tournament-fact__subsection {
  border-top: 1px solid #dfeaf5;
  margin-top: 1.2rem;
  padding-top: 1.4rem;
}

.pfi-tournament-fact__text p,
.pfi-tournament-fact__subsection p {
  color: #44566e;
  font-size: 1.5rem;
  line-height: 1.65;
  margin: 0 0 1rem;
}

.pfi-tournament-fact__text p:last-child,
.pfi-tournament-fact__subsection p:last-child {
  margin-bottom: 0;
}

.pfi-community-event-support .pfi-tournament-fact__text {
  border-top: 0;
  border-bottom: 1px solid #dfeaf5;
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 1.4rem;
}

.pfi-tournament-fact__subsection h4 {
  color: var(--pfi-tertiary-sky);
  font-size: 1.35rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  margin: 0 0 0.8rem;
  text-transform: uppercase;
}

.pfi-tournament-link-list {
  border-top: 1px solid #dfeaf5;
  display: grid;
  gap: 0.9rem;
  margin-top: 1.2rem;
  padding-top: 1.4rem;
}

.pfi-tournament-link {
  align-items: flex-start;
  background: #f8fafc;
  border: 1px solid #e1e8f0;
  border-radius: 0.8rem;
  color: #53687f;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  line-height: 1.35;
  padding: 1.1rem 1.2rem;
  text-decoration: none;
}

.pfi-tournament-link span {
  color: #60748d;
  font-size: 1.52rem;
  font-weight: 550;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--pfi-tertiary-sky) 55%, transparent);
  text-underline-offset: 0.24em;
}

.pfi-tournament-link small {
  color: #60748d;
  font-size: 1.25rem;
  line-height: 1.35;
  text-align: right;
}

.pfi-tournament-link:hover span,
.pfi-tournament-link:focus-visible span {
  color: var(--pfi-tertiary-sky);
  text-decoration-color: currentColor;
}

@media (max-width: 760px) {
  body.single-tournament #brxe-trnsgsec,
  body.single-community_event #brxe-trnsgsec {
    box-sizing: border-box;
    max-width: 100vw;
    overflow-x: hidden;
    padding-left: clamp(2rem, 7vw, 3.2rem);
    padding-right: clamp(2rem, 7vw, 3.2rem);
    width: 100%;
  }

  body.single-tournament #brxe-trnsgcon,
  body.single-tournament #brxe-trnsgcon > *,
  body.single-tournament #brxe-trnsgcontent,
  body.single-community_event #brxe-trnsgcon,
  body.single-community_event #brxe-trnsgcon > *,
  body.single-community_event #brxe-trnsgcontent,
  body.single-community_event #brxe-trnsgceinfo,
  .pfi-tournament-overview,
  .pfi-tournament-fact,
  .pfi-tournament-fact__header,
  .pfi-tournament-fact__card {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
  }

  body.single-tournament #brxe-trnsgtitle,
  body.single-community_event #brxe-trnsgtitle,
  .pfi-tournament-overview p,
  .pfi-tournament-fact__header p,
  .pfi-tournament-fact__card h3,
  .pfi-tournament-fact__row strong,
  .pfi-tournament-fact__text p,
  .pfi-tournament-fact__subsection p {
    overflow-wrap: anywhere;
  }

  .pfi-tournament-overview__chips span {
    min-width: 0;
  }

  .pfi-tournament-fact__grid {
    grid-template-columns: 1fr;
  }

  .pfi-tournament-link {
    display: grid;
    gap: 0.35rem;
  }

  .pfi-tournament-link small {
    text-align: left;
  }
}

.pfi-tournament-detail {
  background: #ffffff;
  border: 0;
  border-top: 0.35rem solid var(--pfi-tertiary-sky);
  border-radius: 1.4rem;
  box-shadow: 0 1.6rem 4rem rgba(15, 23, 42, 0.1);
  padding: clamp(2.2rem, 4vw, 3rem);
}

.pfi-tournament-detail__heading {
  color: #142033;
  font-size: 2.4rem;
  font-weight: 800;
  margin: 0 0 2rem;
}

.pfi-tournament-detail__row {
  align-items: flex-start;
  border-top: 1px solid #e7edf3;
  color: #53687f;
  display: flex;
  gap: 1rem;
  padding: 1.6rem 0;
}

.pfi-tournament-detail__row span {
  color: #53687f;
  display: grid;
  gap: 0.35rem;
  font-weight: 500;
}

.pfi-tournament-detail__row strong {
  color: #142033;
  font-size: 1.35rem;
  text-transform: uppercase;
}

.pfi-tournament-detail__icon {
  color: #64748b;
  height: 2rem;
  margin-top: 0.1rem;
  width: 2rem;
}

.pfi-tournament-detail__button {
  align-items: center;
  background: var(--pfi-action-blue);
  border-radius: 0.9rem;
  color: #ffffff !important;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  margin-top: 1.8rem;
  min-height: 4.8rem;
  padding: 1.2rem 1.8rem;
  text-decoration: none;
  width: 100%;
}

.pfi-tournament-detail__inline-link {
  color: var(--pfi-tertiary-sky);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--pfi-tertiary-sky) 55%, transparent);
  text-underline-offset: 0.22em;
}

.pfi-tournament-detail__venue-link {
  text-decoration: none;
}

.pfi-tournament-detail__inline-link:hover,
.pfi-tournament-detail__inline-link:focus-visible {
  color: var(--pfi-primary-navy);
  text-decoration-color: currentColor;
}

@media (min-width: 992px) {
  body.single-tournament #brxe-trnsgside {
    margin-top: clamp(11rem, 10vw, 14.5rem);
    position: sticky;
    top: 12rem;
  }

  body.single-community_event #brxe-trnsgside {
    margin-top: clamp(11rem, 10vw, 14.5rem);
    position: sticky;
    top: 12rem;
  }
}

@media (max-width: 991px) {
  body.single-tournament #brxe-trnsgcon {
    grid-template-columns: 1fr;
  }

  body.single-community_event #brxe-trnsgcon {
    grid-template-columns: 1fr;
  }

  .pfi-tournament-fact__grid {
    grid-template-columns: 1fr;
  }

  .pfi-tournament-fact__card,
  .pfi-tournament-fact__card--feature,
  .pfi-tournament-fact__card--band,
  .pfi-tournament-fact__card--wide,
  .pfi-tournament-fact__card--supporting {
    grid-column: 1 / -1;
  }

  .pfi-tournament-fact__card--compact {
    grid-column: 1 / -1;
  }

  .pfi-tournament-fact__card--band,
  .pfi-tournament-fact__card--wide {
    grid-template-columns: 1fr;
  }

  .pfi-tournament-fact__card--wide .pfi-tournament-fact__text {
    grid-column: auto;
    margin-top: 1.2rem;
  }

  .pfi-month-calendar__day {
    min-height: 12rem;
    padding: 0.9rem;
  }

  .pfi-month-event__meta {
    display: none;
  }

  .pfi-tournament-stats {
    grid-template-columns: 1fr;
  }

  .pfi-tournament-stats__item {
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    padding-bottom: 1.8rem;
  }

  .pfi-tournament-stats__item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }
}

@media (max-width: 767px) {
  body.page-id-671 #brxe-trnhero,
  body.page-id-671 #brxe-trnstsec,
  body.page-id-671 #brxe-trnlistsec,
  body.page-id-671 #brxe-trnctasec,
  body.single-tournament #brxe-trnsgsec,
  body.single-community_event #brxe-trnsgsec {
    padding-left: clamp(2.4rem, 7vw, 3.2rem);
    padding-right: clamp(2.4rem, 7vw, 3.2rem);
  }

  body.page-id-671 #brxe-trnhero {
    min-height: 62rem;
  }

  .pfi-month-calendar {
    overflow: hidden;
  }

  .pfi-month-calendar__header,
  .pfi-month-calendar__weekdays,
  .pfi-month-calendar__grid {
    min-width: 0;
  }

  .pfi-month-calendar__header {
    gap: 0.8rem;
    grid-template-columns: 4rem minmax(0, 1fr) 4rem;
    padding: 1.4rem;
  }

  .pfi-month-calendar__title {
    font-size: 2rem;
  }

  .pfi-month-calendar__title-block {
    flex-direction: column;
    gap: 0.8rem;
  }

  .pfi-month-calendar__nav {
    font-size: 2.5rem;
    height: 4rem;
    width: 4rem;
  }

  .pfi-month-calendar__weekdays span {
    font-size: 0.95rem;
    padding: 0.9rem 0.2rem;
  }

  .pfi-month-calendar__day {
    min-height: 8.8rem;
    padding: 0.5rem;
  }

  .pfi-month-calendar__day-number {
    font-size: 1.15rem;
    margin-bottom: 0.45rem;
  }

  .pfi-month-calendar__day.is-today .pfi-month-calendar__day-number {
    height: 2.2rem;
    width: 2.2rem;
  }

  .pfi-month-calendar__events {
    align-items: center;
    gap: 0.32rem;
  }

  .pfi-month-event {
    border-left: 0;
    border-radius: 999px;
    display: block;
    height: 1.15rem;
    min-height: 0;
    overflow: hidden;
    padding: 0;
    width: 1.15rem;
  }

  .pfi-month-event.is-multi-day {
    box-shadow: inset 0 0 0 1px rgba(0, 159, 227, 0.55);
  }

  .pfi-month-event__meta,
  .pfi-month-event__duration {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .pfi-month-event__title {
    border: 0;
    clip-path: inset(50%);
    display: block;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .pfi-month-calendar__end-markers {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.32rem;
    margin-top: 0.32rem;
  }

  .pfi-month-end-marker {
    background: #cbd5e1;
    border: 0;
    border-radius: 999px;
    color: transparent;
    display: block;
    font-size: 0;
    font-weight: 800;
    height: 1.05rem;
    line-height: 1;
    min-height: 0;
    overflow: hidden;
    padding: 0;
    white-space: nowrap;
    width: 1.05rem;
  }

  .pfi-month-end-marker.is-ongoing {
    background: var(--accent-lime, #bfff00);
  }

  .pfi-month-end-marker:focus-visible {
    outline: 2px solid var(--pfi-action-blue);
    outline-offset: 2px;
  }

  .pfi-calendar-popover {
    border-radius: 1.4rem;
    max-height: calc(100vh - 3.2rem);
    overflow-y: auto;
  }

  body.page-id-671 #brxe-trnheroact,
  .pfi-tournament-card__actions {
    width: 100%;
  }

  body.page-id-671 #brxe-trnheroact .brxe-button,
  .pfi-tournament-card__button,
  .pfi-tournament-card__register {
    width: 100%;
  }

  .pfi-tournament-calendar__controls {
    border-radius: 999px;
    flex-direction: row;
    max-width: max-content;
    width: auto;
  }

  .pfi-tournament-calendar__controls a {
    width: auto;
  }

  .pfi-tournament-card {
    align-items: start;
    column-gap: 1.4rem;
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: 1.4rem;
  }

  .pfi-tournament-card.has-image {
    grid-template-columns: minmax(13.4rem, 16.2rem) auto;
  }

  .pfi-tournament-card__media {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .pfi-tournament-card.has-image .pfi-tournament-card__media {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    max-height: none;
    width: min(16.2rem, 100%);
  }

  .pfi-tournament-card__image {
    aspect-ratio: 16 / 9;
    min-height: 0;
  }

  .pfi-tournament-card.has-image .pfi-tournament-card__image {
    aspect-ratio: 724 / 1024;
  }

  .pfi-tournament-card__date {
    align-self: start;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    min-height: 7.4rem;
    min-width: 7.4rem;
    padding: 0.9rem 1rem;
  }

  .pfi-tournament-card.has-image .pfi-tournament-card__date {
    grid-row: 1;
  }

  .pfi-tournament-card__date strong {
    font-size: 2.6rem;
    margin-top: 0.35rem;
  }

  .pfi-tournament-card__body {
    display: contents;
    grid-column: 1;
    grid-row: 1;
  }

  .pfi-tournament-card.has-image .pfi-tournament-card__body {
    grid-row: 2;
  }

  .pfi-tournament-card__topline {
    align-self: end;
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0;
    padding-bottom: 0.4rem;
  }

  .pfi-tournament-card.has-image .pfi-tournament-card__topline {
    align-self: start;
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .pfi-tournament-card__title,
  .pfi-tournament-card__meta,
  .pfi-tournament-card__actions {
    grid-column: 1 / -1;
  }

  .pfi-tournament-card__title {
    margin-bottom: 0.9rem;
    margin-top: 0.1rem;
  }

  .pfi-tournament-card__meta {
    margin-bottom: 0.45rem;
  }

  .pfi-tournament-card__actions {
    margin-top: 1.1rem;
  }

  .pfi-tournament-calendar--community .pfi-tournament-card,
  .pfi-tournament-calendar--community .pfi-tournament-card.has-image {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    width: 100%;
  }

  .pfi-tournament-calendar--community,
  .pfi-tournament-calendar--community .pfi-tournament-agenda,
  .pfi-tournament-calendar--community .pfi-tournament-month,
  .pfi-tournament-calendar--community .pfi-tournament-grid {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
    width: 100%;
  }

  .pfi-tournament-calendar--community .pfi-tournament-card__media,
  .pfi-tournament-calendar--community .pfi-tournament-card.has-image .pfi-tournament-card__media {
    grid-column: 1;
    grid-row: auto;
    justify-self: center;
    max-width: 22rem;
    width: min(22rem, 100%);
  }

  .pfi-tournament-calendar--community .pfi-tournament-card__date,
  .pfi-tournament-calendar--community .pfi-tournament-card.has-image .pfi-tournament-card__date {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }

  .pfi-tournament-calendar--community .pfi-tournament-card__body,
  .pfi-tournament-calendar--community .pfi-tournament-card.has-image .pfi-tournament-card__body {
    display: block;
    grid-column: 1;
    grid-row: auto;
    min-width: 0;
  }

  .pfi-tournament-calendar--community .pfi-tournament-card__topline,
  .pfi-tournament-calendar--community .pfi-tournament-card.has-image .pfi-tournament-card__topline,
  .pfi-tournament-calendar--community .pfi-tournament-card__title,
  .pfi-tournament-calendar--community .pfi-tournament-card__meta,
  .pfi-tournament-calendar--community .pfi-tournament-card__actions {
    grid-column: auto;
    grid-row: auto;
  }

  .pfi-tournament-calendar--community .pfi-tournament-card__topline {
    align-self: auto;
    margin-bottom: 1rem;
    padding-bottom: 0;
  }

  .pfi-tournament-calendar--community .pfi-tournament-card__title {
    font-size: clamp(2rem, 6vw, 2.35rem);
    line-height: 1.18;
    max-width: 29rem;
    overflow-wrap: anywhere;
    white-space: normal !important;
    word-break: normal;
  }

  .pfi-tournament-calendar--community .pfi-tournament-card__title a {
    display: block;
    max-width: 29rem;
    overflow-wrap: anywhere;
    white-space: normal !important;
    word-break: normal;
  }

  .pfi-tournament-calendar--community .pfi-tournament-card__meta {
    min-width: 0;
  }

  .club-hosted-events-section .pfi-tournament-card {
    align-items: start;
    column-gap: 1.4rem;
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: 1.4rem;
  }

  .club-hosted-events-section .pfi-tournament-card.has-image {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .club-hosted-events-section .pfi-tournament-card__date {
    align-items: center;
    flex-direction: column;
    grid-column: 2;
    grid-row: 1;
    gap: 0;
    justify-content: center;
    min-height: 7.4rem;
    min-width: 7.4rem;
    padding: 0.9rem 1rem;
    text-align: center;
  }

  .club-hosted-events-section .pfi-tournament-card.has-image .pfi-tournament-card__date {
    grid-row: 2;
  }

  .club-hosted-events-section .pfi-tournament-card__topline {
    grid-column: 1;
    grid-row: 1;
  }

  .club-hosted-events-section .pfi-tournament-card.has-image .pfi-tournament-card__topline {
    grid-row: 2;
  }

  .club-hosted-events-section .pfi-tournament-card__title,
  .club-hosted-events-section .pfi-tournament-card__meta,
  .club-hosted-events-section .pfi-tournament-card__actions {
    grid-column: 1 / -1;
  }

  body.single-tournament #brxe-trnsgtitle {
    font-size: clamp(3.4rem, 10vw, 4.2rem);
  }

  body.single-community_event #brxe-trnsgsec {
    box-sizing: border-box;
    max-width: 100vw;
    overflow-x: hidden;
    padding-left: clamp(2.4rem, 7vw, 3.2rem);
    padding-right: clamp(2.4rem, 7vw, 3.2rem);
    width: 100%;
  }

  body.single-community_event #brxe-trnsgcon,
  body.single-community_event #brxe-trnsgcon > *,
  body.single-community_event #brxe-trnsgcontent,
  body.single-community_event #brxe-trnsgside {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
  }

  body.single-community_event #brxe-trnsgtitle {
    font-size: clamp(3.2rem, 9.5vw, 4.2rem);
    line-height: 1.06;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body.single-community_event .pfi-tournament-overview__chips span {
    line-height: 1.25;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  body.single-community_event .pfi-tournament-overview__chips {
    display: grid;
    grid-template-columns: 1fr;
  }
}

/* ===========================================================================
   PFI Rules & Regulations
   =========================================================================== */

body.page-id-673 {
  overflow-x: hidden;
}

body.page-id-673 #brx-content {
  background: #ffffff;
  color: #1e293b;
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
  max-width: 100%;
  overflow-x: hidden;
}

@supports (overflow: clip) {
  body.page-id-673,
  body.page-id-673 #brx-content {
    overflow-x: clip;
  }
}

body.page-id-673 #brxe-ruleshero {
  background:
    linear-gradient(90deg, rgba(7, 20, 37, 0.76) 0%, rgba(7, 20, 37, 0.58) 42%, rgba(7, 20, 37, 0.22) 100%),
    url("/wp-content/uploads/2026/06/pfi-hero-tournament-rules.jpg") !important;
  background-position: center, center;
  background-repeat: no-repeat;
  background-size: cover, cover;
  box-sizing: border-box;
  color: #ffffff;
  display: flex;
  align-items: flex-start;
  min-height: clamp(38rem, 54vh, 48rem);
  margin-bottom: 0 !important;
  padding: clamp(6.2rem, 8vw, 8.4rem) var(--space-m, 2rem);
}

body.page-id-673 #brxe-rulesheroc,
body.page-id-673 #brxe-rulesnavcon,
body.page-id-673 #brxe-rulesdlcon,
#brxe-rulesubcon {
  margin-inline: auto;
  max-width: var(--max-screen-width, 120rem);
  width: 100%;
}

body.page-id-673 #brxe-rulesheroc {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 0;
  padding-top: 0;
  text-align: left;
}

@media (min-width: 768px) {
  body.page-id-673 #brxe-ruleshero {
    align-items: center;
    background-color: #053142;
    background-position: center, center !important;
    background-size: cover, 100% auto !important;
    justify-content: center;
    min-height: calc(100vh - 11.2rem);
    min-height: calc(100svh - 11.2rem);
  }

  body.page-id-673 #brxe-rulesheroc {
    justify-content: center;
  }
}

body.page-id-673 #brxe-ruleseyebrow {
  color: var(--pfi-accent-lime);
  font-size: 1.45rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  margin: 0 0 1.4rem;
  text-transform: uppercase;
}

body.page-id-673 #brxe-rulesh1 {
  color: #ffffff;
  font-size: clamp(4.6rem, 5.4vw, 6.1rem);
  font-weight: 850;
  line-height: 1;
  margin: 0 0 1.8rem;
  max-width: 76rem;
}

body.page-id-673 #brxe-ruleslead {
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.9rem;
  line-height: 1.6;
  margin: 0;
  max-width: 68rem;
}

body.page-id-673 #brxe-rulesheroact {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
  justify-content: center;
  margin-top: clamp(3rem, 5vw, 4.8rem);
}

body.page-id-673 #brxe-rulesheroact .brxe-button {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 1.6rem;
  font-weight: 800;
  justify-content: center;
  min-height: 4.8rem;
  min-width: 18rem;
  padding: 1.2rem 2.4rem;
}

body.page-id-673 #brxe-rulesjump {
  background: #ffffff;
  color: var(--pfi-action-blue);
}

body.page-id-673 #brxe-rulespdf {
  background: var(--pfi-action-blue);
  color: #ffffff;
}

body.page-id-673 #rules-nav {
  background: #ffffff;
  margin-top: 0 !important;
  padding: clamp(3.6rem, 5vw, 5.6rem) var(--space-m, 2rem) clamp(5.6rem, 8vw, 9rem);
}

body.page-id-673 #brxe-rulesdlsec {
  background: #ffffff;
  padding: clamp(5.6rem, 8vw, 9rem) var(--space-m, 2rem);
}

body.page-id-673 #brxe-rulesnavh,
body.page-id-673 #brxe-rulesdlh {
  color: var(--pfi-primary-navy);
  display: block;
  font-size: clamp(3.2rem, 4.8vw, 4.8rem);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 auto 1.3rem;
  text-align: center;
}

body.page-id-673 #brxe-rulesnavp,
body.page-id-673 #brxe-rulesdlp {
  color: #53687f;
  display: block;
  font-size: 1.72rem;
  line-height: 1.65;
  margin: 0 auto clamp(2.4rem, 4vw, 3.6rem);
  max-width: 74rem;
  text-align: center;
}

body.page-id-673 #brxe-rulesnavp {
  margin-bottom: 0;
}

.pfi-rules-hub {
  display: grid;
  gap: 0;
}

.pfi-rules-hub-block {
  padding: clamp(5rem, 7vw, 7.4rem) 0;
  position: relative;
}

.pfi-rules-hub-block::before {
  content: "";
  inset: 0 calc(50% - 50vw);
  position: absolute;
  z-index: 0;
}

.pfi-rules-hub-block > * {
  position: relative;
  z-index: 1;
}

.pfi-rules-hub-block--features {
  padding-top: clamp(3rem, 4vw, 4.4rem);
}

.pfi-rules-hub-block--features::before {
  background: transparent;
}

.pfi-rules-hub-block--sections::before {
  background: #f5f8fb;
  border-block: 1px solid #dfe7ef;
}

.pfi-rules-hub-block--reference {
  padding-bottom: clamp(4.8rem, 7vw, 7.2rem);
}

.pfi-rules-hub-block--reference::before {
  background: #eef6fb;
  inset: 0 calc(50% - 50vw) calc(clamp(5.6rem, 8vw, 9rem) * -1);
}

body.page-id-673 #rules-nav:has(.pfi-rules-hub-block--reference) {
  background: #ffffff;
}

.pfi-rules-hub-intro {
  align-items: stretch;
  background:
    linear-gradient(135deg, rgba(3, 26, 37, 0.94), rgba(0, 66, 90, 0.92)),
    var(--pfi-portal-bg-deep);
  border: 1px solid rgba(56, 189, 248, 0.22);
  border-radius: 0.8rem;
  box-shadow: 0 1.6rem 3.8rem rgba(1, 11, 19, 0.14);
  color: var(--pfi-portal-text);
  display: grid;
  gap: clamp(2.4rem, 4vw, 4rem);
  grid-template-columns: minmax(0, 1.4fr) minmax(24rem, 0.6fr);
  padding: clamp(2.6rem, 4vw, 4.4rem);
}

.pfi-rules-hub__kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.pfi-rules-hub-intro h2,
.pfi-rules-hub-nav-heading {
  color: inherit;
  font-size: clamp(3rem, 4vw, 4.8rem);
  font-weight: 900;
  line-height: 1.05;
  margin: 0;
}

.pfi-rules-hub-intro p:not(.pfi-rules-hub__kicker) {
  color: rgba(248, 251, 255, 0.84);
  font-size: clamp(1.65rem, 1.5vw, 1.95rem);
  line-height: 1.62;
  margin: 1.4rem 0 0;
  max-width: 78rem;
}

.pfi-rules-hub-intro__actions {
  align-content: center;
  display: grid;
  gap: 1.2rem;
}

.pfi-rules-hub-intro__actions a,
.pfi-rules-hub-links a {
  align-items: center;
  border-radius: 0.6rem;
  display: inline-flex;
  font-size: 1.5rem;
  font-weight: 900;
  justify-content: center;
  min-height: 4.8rem;
  padding: 1.2rem 1.8rem;
  text-align: center;
  text-decoration: none;
}

.pfi-rules-hub-intro__actions a:first-child {
  background: var(--pfi-accent-lime);
  color: var(--pfi-surface-dark);
}

.pfi-rules-hub-intro__actions a:last-child {
  background: rgba(248, 251, 255, 0.08);
  border: 1px solid rgba(224, 224, 224, 0.32);
  color: #ffffff;
}

.pfi-rules-hub-features {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pfi-rules-hub-feature {
  background: #ffffff;
  border: 1px solid #dfe7ef;
  border-radius: 0.8rem;
  box-shadow: 0 1.2rem 2.8rem rgba(15, 23, 42, 0.08);
  display: flex;
  flex-direction: column;
  padding: clamp(2rem, 2.2vw, 2.6rem);
}

.pfi-rules-hub-feature__icon-wrap {
  align-items: center;
  background: var(--pfi-icon-blue-bg);
  border: 1px solid var(--pfi-icon-blue-border);
  border-radius: 0.6rem;
  color: var(--pfi-icon-blue);
  display: inline-flex;
  flex: 0 0 auto;
  height: 4.4rem;
  justify-content: center;
  margin-bottom: 1.2rem;
  width: 4.4rem;
}

.pfi-rules-hub-feature__icon {
  height: 2.3rem;
  width: 2.3rem;
}

.pfi-rules-hub-feature h3 {
  color: var(--pfi-primary-navy);
  font-size: 1.9rem;
  font-weight: 900;
  line-height: 1.15;
  margin: 0 0 1.2rem;
  min-height: 4.4rem;
}

.pfi-rules-hub-feature p {
  color: #53687f;
  font-size: 1.5rem;
  line-height: 1.55;
  margin: 0;
}

.pfi-rules-hub-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  justify-content: center;
}

.pfi-rules-hub-links a {
  background: #ffffff;
  border: 1px solid #dfe7ef;
  color: var(--pfi-primary-navy);
  min-width: min(100%, 22rem);
}

.pfi-rules-hub-links a:hover,
.pfi-rules-hub-links a:focus,
.pfi-rules-hub-intro__actions a:hover,
.pfi-rules-hub-intro__actions a:focus {
  transform: translateY(-0.2rem);
}

.pfi-rules-hub-nav-heading {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.8rem, 3.4vw, 4.2rem);
  margin-bottom: 0;
  text-align: center;
}

.pfi-rules-hub-nav-intro {
  color: #53687f;
  font-size: clamp(1.6rem, 1.4vw, 1.85rem);
  line-height: 1.6;
  margin: 1.4rem auto 0;
  max-width: 68rem;
  text-align: center;
}

.pfi-rules-nav-grid {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: clamp(3rem, 4vw, 4.4rem);
}

.pfi-rules-nav-card {
  background: #ffffff;
  border: 1px solid #dfe7ef;
  border-radius: 1.2rem;
  box-shadow: 0 1.2rem 2.8rem rgba(15, 23, 42, 0.08);
  color: #142033;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 17rem;
  padding: 2.2rem;
  text-decoration: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.pfi-rules-nav-card:hover,
.pfi-rules-nav-card:focus {
  border-color: rgba(0, 159, 227, 0.55);
  box-shadow: 0 1.8rem 3.8rem rgba(15, 23, 42, 0.12);
  transform: translateY(-0.3rem);
}

.pfi-rules-nav-card__number {
  color: var(--pfi-action-blue);
  font-size: 1.35rem;
  font-weight: 900;
}

.pfi-rules-nav-card__copy {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.pfi-rules-nav-card h3 {
  color: var(--pfi-primary-navy);
  font-size: 1.9rem;
  font-weight: 800;
  line-height: 1.2;
  margin: 0;
}

.pfi-rules-nav-card p {
  color: #53687f;
  font-size: 1.5rem;
  line-height: 1.5;
  margin: 0;
}

body.page-id-673 #brxe-rulesdlcon {
  align-items: center;
  background: #f2f8ff;
  border: 1px solid #dbeafe;
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3.6rem rgba(15, 23, 42, 0.09);
  color: var(--pfi-primary-navy);
  display: flex;
  flex-direction: column;
  max-width: 96rem;
  padding: clamp(3.2rem, 5vw, 5.2rem);
  text-align: center;
}

body.page-id-673 #brxe-rulesdlh {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 3.4vw, 4.4rem);
  font-weight: 800;
  line-height: 1.12;
  margin: 0 0 1.4rem;
}

body.page-id-673 #brxe-rulesdlp {
  color: #4b5563;
  font-size: clamp(1.65rem, 1.5vw, 2rem);
  line-height: 1.55;
  margin: 0 0 2.8rem;
  max-width: 66rem;
}

body.page-id-673 #brxe-rulesdlbtn {
  background: var(--pfi-action-blue);
  border: 1px solid var(--pfi-action-blue);
  border-radius: 999px;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 800;
  min-height: 4.8rem;
  padding: 1.2rem 2.6rem;
  text-decoration: none;
}

#brxe-rulesubwrap {
  background: #ffffff;
  padding: clamp(4.8rem, 7vw, 8rem) var(--space-m, 2rem) clamp(6rem, 8vw, 10rem);
}

.pfi-rule-page {
  color: #1e293b;
  font-family: var(--pfi-font-primary), system-ui, sans-serif;
}

.pfi-rule-page__back {
  margin: 0 0 clamp(3.2rem, 5vw, 5rem);
}

.pfi-rule-page__back a {
  color: #64748b;
  font-size: 1.55rem;
  font-weight: 600;
  text-decoration: none;
}

.pfi-rule-page__back a:hover,
.pfi-rule-page__back a:focus {
  color: var(--pfi-action-blue);
}

.pfi-rule-page__header {
  border-bottom: 1px solid #dfe7ef;
  margin-bottom: clamp(3.6rem, 6vw, 5.6rem);
  padding-bottom: clamp(3.2rem, 5vw, 4.8rem);
}

.pfi-rule-page__eyebrow {
  color: var(--pfi-soft-accent-blue);
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-rule-page__header h1 {
  color: var(--pfi-primary-navy);
  font-size: clamp(4rem, 6vw, 6rem);
  font-weight: 800;
  line-height: 1.05;
  margin: 0 0 1.8rem;
  max-width: 86rem;
}

.pfi-rule-page__header > p:not(.pfi-rule-page__eyebrow) {
  color: #53687f;
  font-size: clamp(1.75rem, 2vw, 2.1rem);
  line-height: 1.65;
  margin: 0;
  max-width: 82rem;
}

.pfi-rule-page__layout {
  display: grid;
  gap: clamp(3rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 2fr) minmax(30rem, 38rem);
}

.pfi-rule-page__main {
  display: grid;
  gap: 2.4rem;
}

.pfi-rule-page__card,
.pfi-rule-page__download {
  background: #ffffff;
  border: 1px solid #dfe7ef;
  border-radius: 1.2rem;
  box-shadow: 0 1.2rem 2.8rem rgba(15, 23, 42, 0.08);
  padding: clamp(2.4rem, 4vw, 3.4rem);
}

.pfi-rule-page__card h2,
.pfi-rule-page__download h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.4rem, 3vw, 3.2rem);
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 1.6rem;
}

.pfi-rule-page__card p,
.pfi-rule-page__download p {
  color: #53687f;
  font-size: 1.65rem;
  line-height: 1.68;
  margin: 0;
}

.pfi-rule-page__card p + p {
  margin-top: 1.4rem;
}

.pfi-rule-page__facts {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

.pfi-rule-page__fact {
  align-items: center;
  background: #f6f9fc;
  border: 1px solid #dfe7ef;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 11rem;
  min-width: 0;
  padding: 1.6rem 1.2rem;
  text-align: center;
}

.pfi-rule-page__fact strong {
  color: var(--pfi-soft-accent-blue);
  display: block;
  font-size: clamp(1.45rem, 1.25vw, 1.9rem);
  font-weight: 900;
  hyphens: none;
  line-height: 1.1;
  margin-bottom: 0.5rem;
  max-width: 100%;
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: normal;
}

.pfi-rule-page__fact span {
  color: #53687f;
  display: block;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.3;
  max-width: 100%;
  text-wrap: balance;
  text-transform: uppercase;
}

.pfi-rule-page__list {
  display: grid;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pfi-rule-page__list li {
  align-items: flex-start;
  color: #53687f;
  display: flex;
  font-size: 1.65rem;
  gap: 0.9rem;
  line-height: 1.5;
}

.pfi-rule-page__list li::before {
  background: var(--pfi-action-blue);
  border-radius: 50%;
  content: "";
  flex: 0 0 0.7rem;
  height: 0.7rem;
  margin-top: 0.85rem;
  width: 0.7rem;
}

.pfi-rule-page__content-card {
  display: grid;
  gap: clamp(2rem, 3vw, 2.8rem);
}

.pfi-rule-page__content-card > h2 {
  margin-bottom: 0;
}

.pfi-rule-page__content-block {
  border-top: 1px solid #e7edf3;
  padding-top: clamp(2rem, 3vw, 2.8rem);
}

.pfi-rule-page__content-block h3 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2rem, 2.6vw, 2.7rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 1.2rem;
}

.pfi-rule-page__practice {
  background: #f8fbfe;
}

.pfi-rule-page__aside {
  align-self: start;
  display: grid;
  gap: 2.4rem;
  position: sticky;
  top: 11rem;
}

.pfi-rule-page__visuals {
  border-style: dashed;
  border-color: rgba(0, 159, 227, 0.45);
}

.pfi-rule-page__visual-placeholder {
  align-items: center;
  background: #f6f9fc;
  border: 1px dashed #c8d8e8;
  border-radius: 1rem;
  color: #64748b;
  display: flex;
  font-size: 1.45rem;
  font-weight: 800;
  justify-content: center;
  margin-top: 1.2rem;
  min-height: 8rem;
  padding: 1.6rem;
  text-align: center;
}

.pfi-rule-page__visual-diagram {
  background: #f8fbff;
  border: 1px solid #dbeafe;
  border-radius: 1.2rem;
  margin: 1.2rem 0 0;
  padding: 1.2rem;
}

.pfi-rule-court-svg {
  display: block;
  height: auto;
  margin: 0 auto;
  max-height: 56rem;
  width: 100%;
}

.pfi-rule-court-svg__frame {
  fill: #ffffff;
  stroke: #e2ecf5;
  stroke-width: 2;
}

.pfi-rule-court-svg__rear-zone {
  fill: #dff2ff;
}

.pfi-rule-court-svg__service-zone {
  fill: #eef8ff;
}

.pfi-rule-court-svg__service-zone--alt {
  fill: #f8fcff;
}

.pfi-rule-court-svg__court-border {
  fill: none;
  stroke: var(--pfi-primary-navy);
  stroke-linejoin: round;
  stroke-width: 12;
}

.pfi-rule-court-svg__line {
  stroke: var(--pfi-primary-navy);
  stroke-linecap: square;
  stroke-width: 5;
}

.pfi-rule-court-svg__net {
  stroke: #021a26;
  stroke-width: 12;
}

.pfi-rule-court-svg__dimension,
.pfi-rule-court-svg__tick {
  fill: none;
  stroke: var(--pfi-action-blue);
  stroke-linecap: round;
  stroke-width: 4;
}

.pfi-rule-court-svg__dimension {
  marker-end: url("#pfi-court-arrow");
  marker-start: url("#pfi-court-arrow");
}

.pfi-rule-court-svg__dimension--highlight {
  marker-end: url("#pfi-court-arrow-lime");
  marker-start: url("#pfi-court-arrow-lime");
  stroke: var(--pfi-accent-lime);
}

.pfi-rule-court-svg__arrow-head {
  fill: var(--pfi-action-blue);
}

.pfi-rule-court-svg__arrow-head--lime {
  fill: var(--pfi-accent-lime);
}

.pfi-rule-court-svg__dimension-label,
.pfi-rule-court-svg__zone-label {
  fill: var(--pfi-primary-navy);
  font-family: inherit;
  font-weight: 800;
  letter-spacing: 0;
  text-anchor: middle;
}

.pfi-rule-court-svg__dimension-label {
  font-size: 38px;
}

.pfi-rule-court-svg__dimension-label--small {
  font-size: 30px;
}

.pfi-rule-court-svg__zone-label {
  font-size: 34px;
  opacity: 0.82;
}

.pfi-rule-page__visual-caption {
  color: #53687f;
  font-size: 1.28rem;
  font-weight: 700;
  line-height: 1.45;
  margin: 1.1rem 0 0;
}

.pfi-rule-svg {
  display: block;
  height: auto;
  margin: 0 auto;
  width: 100%;
}

.pfi-rule-svg__panel {
  fill: #ffffff;
  stroke: #e2ecf5;
  stroke-width: 2;
}

.pfi-rule-svg__court,
.pfi-rule-svg__mini-court {
  fill: #f8fcff;
  stroke: none;
}

.pfi-rule-svg__court-border,
.pfi-rule-svg__mini-court {
  fill: none;
  stroke: var(--pfi-primary-navy);
  stroke-linejoin: round;
  stroke-width: 5;
}

.pfi-rule-svg__mini-court {
  stroke-width: 4;
}

.pfi-rule-svg__court-line {
  fill: none;
  stroke: var(--pfi-primary-navy);
  stroke-linecap: square;
  stroke-width: 2.5;
}

.pfi-rule-svg__net {
  stroke: #021a26;
  stroke-width: 5;
}

.pfi-rule-svg__zone {
  fill: #eef8ff;
}

.pfi-rule-svg__zone--alt {
  fill: #ffffff;
}

.pfi-rule-svg__zone--rear {
  fill: #dff2ff;
}

.pfi-rule-svg__glass {
  fill: rgba(56, 189, 248, 0.18);
  stroke: rgba(0, 66, 90, 0.28);
  stroke-width: 2;
}

.pfi-rule-svg__mesh-panel {
  fill: rgba(0, 66, 90, 0.08);
  stroke: rgba(0, 66, 90, 0.34);
  stroke-width: 2;
}

.pfi-rule-svg__mesh {
  fill: none;
  stroke: rgba(0, 66, 90, 0.34);
  stroke-linecap: round;
  stroke-width: 2;
}

.pfi-rule-svg__baseline {
  fill: none;
  stroke: #cbd8e6;
  stroke-linecap: round;
  stroke-width: 4;
}

.pfi-rule-svg__post,
.pfi-rule-svg__handle {
  fill: var(--pfi-primary-navy);
}

.pfi-rule-svg__net-band {
  fill: none;
  stroke: var(--pfi-primary-navy);
  stroke-linecap: round;
  stroke-width: 12;
}

.pfi-rule-svg__net-fill {
  fill: rgba(56, 189, 248, 0.12);
  stroke: rgba(0, 66, 90, 0.18);
  stroke-width: 2;
}

.pfi-rule-svg__opening {
  fill: var(--pfi-accent-lime);
  opacity: 0.86;
}

.pfi-rule-svg__safety-zone {
  fill: rgba(191, 255, 0, 0.17);
  stroke: rgba(0, 66, 90, 0.18);
  stroke-dasharray: 8 8;
  stroke-width: 3;
}

.pfi-rule-svg__path,
.pfi-rule-svg__measure,
.pfi-rule-svg__tick {
  fill: none;
  stroke: var(--pfi-action-blue);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 5;
}

.pfi-rule-svg__measure--lime,
.pfi-rule-svg__path--lime {
  stroke: var(--pfi-accent-lime);
}

.pfi-rule-svg__path--danger {
  stroke: #ef4444;
}

.pfi-rule-svg__arrow-head {
  fill: var(--pfi-action-blue);
}

.pfi-rule-svg__arrow-head--lime {
  fill: var(--pfi-accent-lime);
}

.pfi-rule-svg__person {
  fill: var(--pfi-action-blue);
  stroke: #ffffff;
  stroke-width: 5;
}

.pfi-rule-svg__person--server {
  fill: var(--pfi-accent-lime);
  stroke: var(--pfi-primary-navy);
}

.pfi-rule-svg__person--receiver {
  fill: var(--pfi-tertiary-sky);
}

.pfi-rule-svg__ball,
.pfi-rule-svg__light {
  fill: var(--pfi-accent-lime);
  stroke: var(--pfi-primary-navy);
  stroke-width: 4;
}

.pfi-rule-svg__ball--large {
  stroke-width: 5;
}

.pfi-rule-svg__ball-curve {
  fill: none;
  stroke: rgba(0, 66, 90, 0.55);
  stroke-linecap: round;
  stroke-width: 4;
}

.pfi-rule-svg__bounce {
  fill: #ffffff;
  stroke: var(--pfi-accent-lime);
  stroke-dasharray: 5 5;
  stroke-width: 5;
}

.pfi-rule-svg__beam {
  fill: rgba(56, 189, 248, 0.18);
}

.pfi-rule-svg__compass {
  fill: #ffffff;
  stroke: #dbeafe;
  stroke-width: 4;
}

.pfi-rule-svg__racket {
  fill: #eef8ff;
  stroke: var(--pfi-primary-navy);
  stroke-linejoin: round;
  stroke-width: 6;
}

.pfi-rule-svg__cord {
  fill: none;
  stroke: var(--pfi-accent-lime);
  stroke-linecap: round;
  stroke-width: 6;
}

.pfi-rule-svg__hole {
  fill: #ffffff;
  stroke: rgba(0, 66, 90, 0.34);
  stroke-width: 3;
}

.pfi-rule-svg__score-card,
.pfi-rule-svg__split-panel {
  fill: #ffffff;
  stroke: #dbeafe;
  stroke-width: 3;
}

.pfi-rule-svg__score-card--final {
  fill: rgba(191, 255, 0, 0.18);
  stroke: rgba(0, 66, 90, 0.22);
}

.pfi-rule-svg__score-card--danger {
  fill: #fff5f5;
  stroke: #fecaca;
}

.pfi-rule-svg__highlight-box {
  fill: rgba(191, 255, 0, 0.16);
  stroke: rgba(0, 66, 90, 0.16);
  stroke-width: 2;
}

.pfi-rule-svg__wall {
  fill: rgba(0, 66, 90, 0.16);
}

.pfi-rule-svg__check,
.pfi-rule-svg__cross {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 9;
}

.pfi-rule-svg__check {
  stroke: var(--pfi-accent-lime);
}

.pfi-rule-svg__cross {
  stroke: #ef4444;
}

.pfi-rule-svg__label,
.pfi-rule-svg__score {
  fill: var(--pfi-primary-navy);
  font-family: inherit;
  font-weight: 900;
  letter-spacing: 0;
  text-anchor: middle;
}

.pfi-rule-svg__label {
  font-size: 22px;
}

.pfi-rule-svg__label--small {
  font-size: 18px;
}

.pfi-rule-svg__score {
  font-size: 42px;
  font-variant-numeric: tabular-nums;
}

.pfi-rule-svg__score--small {
  font-size: 28px;
}

.pfi-rule-page__download {
  background: #f2f8ff;
  border-color: #dbeafe;
}

.pfi-rule-page__download a {
  align-items: center;
  background: var(--pfi-action-blue);
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  font-size: 1.55rem;
  font-weight: 800;
  justify-content: center;
  margin-top: 2.2rem;
  min-height: 4.6rem;
  padding: 1.1rem 2.2rem;
  text-decoration: none;
}

.pfi-rule-page__pagination {
  border-top: 1px solid #dfe7ef;
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(4rem, 6vw, 6rem);
  padding-top: clamp(2.6rem, 4vw, 3.6rem);
}

.pfi-rule-page__pagination a {
  color: var(--pfi-primary-navy);
  font-size: 1.6rem;
  font-weight: 800;
  text-decoration: none;
}

.pfi-rule-page__pagination a:last-child {
  text-align: right;
}

.pfi-rule-page__pagination a:hover,
.pfi-rule-page__pagination a:focus {
  color: var(--pfi-action-blue);
}

@media (max-width: 991px) {
  .pfi-rules-hub-intro,
  .pfi-rules-hub-features {
    grid-template-columns: 1fr;
  }

  .pfi-rules-hub-feature h3 {
    min-height: 0;
  }

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

  .pfi-rules-nav-card {
    align-items: start;
    display: grid;
    gap: 1.2rem;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .pfi-rule-page__layout {
    grid-template-columns: 1fr;
  }

  .pfi-rule-page__aside {
    position: static;
  }
}

@media (max-width: 767px) {
  body.page-id-673 #brxe-ruleshero,
  body.page-id-673 #rules-nav,
  body.page-id-673 #brxe-rulesdlsec,
  #brxe-rulesubwrap {
    padding-left: clamp(2.4rem, 7vw, 3.2rem);
    padding-right: clamp(2.4rem, 7vw, 3.2rem);
  }

  body.page-id-673 #brxe-ruleshero {
    align-items: stretch;
    background: #053142 !important;
    display: grid;
    grid-template-rows: minmax(25rem, 42svh) minmax(0, 1fr);
    min-height: calc(100svh - 7.4rem);
    padding: 0;
  }

  body.page-id-673 #brxe-ruleshero::before {
    background-image:
      linear-gradient(180deg, rgba(1, 18, 30, 0.02) 0%, rgba(1, 18, 30, 0.2) 100%),
      url("/wp-content/uploads/2026/06/pfi-hero-tournament-rules-mobile.jpg");
    background-position: center;
    background-size: cover;
    content: "";
    display: block;
    min-height: clamp(25rem, 42svh, 35rem);
    width: 100%;
  }

  body.page-id-673 #brxe-rulesheroc {
    margin-inline: 0;
    max-width: 38rem;
    padding: clamp(2.8rem, 7vw, 3.4rem) 2rem clamp(3.6rem, 9vw, 4.8rem);
  }

  body.page-id-673 #brxe-rulesh1 {
    font-size: clamp(3.3rem, 9vw, 3.9rem);
    line-height: 1.04;
  }

  body.page-id-673 #brxe-ruleslead {
    font-size: 1.55rem;
    line-height: 1.55;
  }

  body.page-id-673 #brxe-rulesheroact,
  body.page-id-673 #brxe-rulesheroact .brxe-button,
  body.page-id-673 #brxe-rulesdlbtn {
    width: 100%;
  }

  .pfi-rules-nav-grid,
  .pfi-rule-page__pagination {
    grid-template-columns: 1fr;
  }

  .pfi-rule-page__pagination {
    gap: 1.4rem;
  }

  .pfi-rule-page__pagination a {
    background: #f8fbfe;
    border: 1px solid #dfe7ef;
    border-radius: 1rem;
    display: flex;
    padding: 1.4rem 1.6rem;
    width: 100%;
  }

  .pfi-rule-page__pagination a:first-child {
    justify-content: flex-start;
    text-align: left;
  }

  .pfi-rule-page__pagination a:last-child {
    justify-content: flex-end;
    text-align: right;
  }

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

  .pfi-rules-nav-card {
    min-height: 0;
  }

  .pfi-rule-page__header,
  .pfi-rule-page__back {
    text-align: left;
  }
}


@media (max-width: 480px) {
  .pfi-rule-page__facts {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   PFI Rankings Dashboard
   ========================================================================== */

.pfi-rankings {
  --pfi-rankings-border: rgba(224, 224, 224, 0.14);
  --pfi-rankings-muted: rgba(255, 255, 255, 0.68);
  --pfi-rankings-panel: color-mix(in srgb, var(--pfi-portal-panel-strong) 86%, var(--pfi-deep-teal));

  background: #f4f7f8;
  color: var(--pfi-primary-navy);
  overflow: visible;
}

.pfi-rankings,
.pfi-rankings *,
.pfi-rankings *::before,
.pfi-rankings *::after {
  box-sizing: border-box;
}

.pfi-rankings-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  padding-inline: var(--space-m, 2rem);
  width: 100%;
}

.pfi-rankings-intro {
  background:
    radial-gradient(circle at 8% 0%, rgba(191, 255, 0, 0.15), transparent 24rem),
    radial-gradient(circle at 90% 10%, rgba(56, 189, 248, 0.16), transparent 30rem),
    linear-gradient(135deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-portal-bg) 56%, var(--pfi-primary-navy) 100%);
  color: #fff;
  padding: clamp(3.6rem, 5vw, 6rem) 0 clamp(3rem, 4.5vw, 5rem);
  position: relative;
}

.pfi-rankings-intro::before {
  border: 1px solid rgba(191, 255, 0, 0.1);
  border-radius: 999px;
  content: "";
  height: 28rem;
  opacity: 0.48;
  position: absolute;
  right: -10rem;
  top: -16rem;
  transform: rotate(-15deg);
  width: 48rem;
}

.pfi-rankings-intro__grid {
  align-items: end;
  display: grid;
  gap: clamp(2.4rem, 5vw, 6rem);
  grid-template-columns: minmax(0, 1fr) minmax(28rem, 0.32fr);
  position: relative;
  z-index: 1;
}

.pfi-rankings-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.2rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-rankings-intro h1 {
  color: #fff;
  font-size: clamp(4.4rem, 5.2vw, 6.8rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.98;
  margin: 0;
  max-width: 92rem;
}

.pfi-rankings-intro__content > p:not(.pfi-rankings-kicker) {
  color: var(--pfi-rankings-muted);
  font-size: clamp(1.7rem, 1.55vw, 2.05rem);
  line-height: 1.62;
  margin: 1.6rem 0 0;
  max-width: 72rem;
}

.pfi-rankings-intro__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 2rem;
}

.pfi-rankings-intro__actions a {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 1.42rem;
  font-weight: 850;
  justify-content: center;
  min-height: 4.5rem;
  padding: 0.9rem 1.7rem;
  text-decoration: none;
}

.pfi-rankings-intro__actions a:first-child {
  background: var(--pfi-accent-lime);
  color: var(--pfi-surface-dark);
}

.pfi-rankings-intro__actions a:last-child {
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
}

.pfi-rankings-intro__meta {
  background:
    linear-gradient(135deg, rgba(191, 255, 0, 0.12), transparent 42%),
    rgba(255, 255, 255, 0.07);
  border: 1px solid var(--pfi-rankings-border);
  border-radius: 1.4rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.24);
  display: grid;
  gap: 0.8rem;
  padding: 2rem;
}

.pfi-rankings-intro__meta span {
  color: var(--pfi-rankings-muted);
  font-size: 1.35rem;
  font-weight: 750;
}

.pfi-rankings-intro__meta strong {
  color: var(--pfi-accent-lime);
  font-size: clamp(2.2rem, 2.2vw, 3rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.05;
}

.pfi-rankings-surface {
  background: #f4f7f8;
  color: var(--pfi-primary-navy);
  padding: 0 0 clamp(7rem, 8vw, 10rem);
}

.pfi-rankings-sticky {
  background: #f4f7f8;
  border-bottom: 0;
  box-shadow: none;
  margin-top: -8rem;
  padding: clamp(0.7rem, 1.2vw, 1rem) 0;
  padding-top: calc(8rem + clamp(1.3rem, 2vw, 2rem));
  position: sticky;
  top: var(--wp-admin--admin-bar--height, 0px);
  z-index: 40;
}

@supports (backdrop-filter: blur(1rem)) {
  .pfi-rankings-sticky {
    backdrop-filter: none;
  }
}

.pfi-rankings-topbar {
  align-items: center;
  display: grid;
  gap: clamp(1.2rem, 2vw, 2rem);
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  margin-bottom: 1.6rem;
  position: relative;
  text-align: center;
}

.pfi-rankings-topbar h1 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3.2rem, 3.6vw, 4.8rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
  text-align: center;
  white-space: nowrap;
}

.pfi-rankings-topbar__media {
  display: none;
}

.pfi-rankings-updated {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 999px;
  box-shadow: 0 1.2rem 3rem rgba(1, 11, 19, 0.08);
  color: var(--pfi-primary-navy);
  display: inline-flex;
  font-size: 1.18rem;
  font-weight: 850;
  gap: 0.55rem;
  justify-content: center;
  line-height: 1;
  padding: 0.68rem 1rem;
  white-space: nowrap;
}

.pfi-rankings-updated__icon {
  color: var(--pfi-tertiary-sky);
  fill: none;
  flex: 0 0 auto;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.25;
}

.pfi-rankings-updated span {
  color: #64748b;
  font-size: 1.02rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pfi-rankings-updated time {
  color: var(--pfi-primary-navy);
}

@media (min-width: 1101px) {
  .pfi-rankings-updated {
    position: absolute;
    right: 0;
    top: 0.35rem;
  }
}

.pfi-rankings-switcher {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1.8rem;
  box-shadow: 0 1.6rem 4rem rgba(1, 11, 19, 0.08);
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0.8rem;
}

.pfi-rankings-switcher a {
  align-items: center;
  background: var(--pfi-accent-lime);
  border: 1px solid var(--pfi-accent-lime);
  border-radius: 1.2rem;
  color: var(--pfi-surface-dark);
  display: inline-flex;
  font-size: 1.42rem;
  font-weight: 900;
  justify-content: center;
  letter-spacing: 0.04em;
  min-height: 4.8rem;
  padding: 1rem 1.4rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

.pfi-rankings-switcher a:hover,
.pfi-rankings-switcher a:focus {
  background: var(--pfi-accent-lime);
  border-color: var(--pfi-accent-lime);
  color: var(--pfi-surface-dark);
}

.pfi-rankings-switcher a:focus-visible {
  outline: 2px solid var(--pfi-primary-navy);
  outline-offset: 2px;
}

.pfi-rankings-toolbar,
.pfi-rankings-board,
.pfi-rankings-explainer {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1.8rem;
  box-shadow: 0 2rem 5rem rgba(1, 11, 19, 0.08);
}

.pfi-rankings-toolbar {
  align-items: center;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: minmax(0, 1fr) minmax(24rem, 34rem);
  padding: 1.4rem;
}

.pfi-rankings-toolbar__links {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(2, minmax(0, 18rem));
}

.pfi-rankings-toolbar__links a {
  align-items: center;
  background: #edf3f5;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 999px;
  color: var(--pfi-primary-navy);
  display: inline-flex;
  font-size: 1.35rem;
  font-weight: 850;
  gap: 0.8rem;
  justify-content: center;
  min-height: 4.2rem;
  padding: 0.85rem 1.25rem;
  text-decoration: none;
  white-space: nowrap;
}

.pfi-rankings-toolbar__links a:first-child {
  background: var(--pfi-surface-dark);
  border-color: var(--pfi-surface-dark);
  color: #fff;
}

.pfi-rankings-toolbar__links a span {
  align-items: center;
  background: rgba(0, 66, 90, 0.1);
  border-radius: 999px;
  color: var(--pfi-primary-navy);
  display: inline-flex;
  font-size: 1.08rem;
  height: 2.2rem;
  justify-content: center;
  min-width: 2.2rem;
  padding-inline: 0.55rem;
}

.pfi-rankings-toolbar__links a:first-child span {
  background: var(--pfi-accent-lime);
  color: var(--pfi-surface-dark);
}

.pfi-rankings-tabs {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow-x: visible;
}

.pfi-rankings-tabs__button {
  align-items: center;
  background: #edf3f5;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 999px;
  color: var(--pfi-primary-navy);
  display: inline-flex;
  font-size: 1.32rem;
  font-weight: 850;
  gap: 0.8rem;
  justify-content: center;
  min-height: 4.2rem;
  padding: 0.85rem 1.25rem;
  text-decoration: none;
  white-space: nowrap;
}

.pfi-rankings-tabs__button span {
  align-items: center;
  background: rgba(0, 66, 90, 0.1);
  border-radius: 999px;
  display: inline-flex;
  font-size: 1.08rem;
  height: 2.2rem;
  justify-content: center;
  min-width: 2.2rem;
  padding-inline: 0.55rem;
}

.pfi-rankings-tabs__button.is-active {
  background: var(--pfi-surface-dark);
  border-color: var(--pfi-surface-dark);
  color: #fff;
}

.pfi-rankings-tabs__button.is-active span {
  background: var(--pfi-accent-lime);
  color: var(--pfi-surface-dark);
}

.pfi-rankings-search {
  display: block;
  justify-self: center;
  max-width: 52rem;
  min-width: 0;
  position: relative;
  width: 100%;
}

.pfi-rankings-search span {
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.pfi-rankings-search input {
  appearance: none;
  background: #f6f9fa;
  border: 1px solid rgba(0, 66, 90, 0.14);
  border-radius: 999px;
  box-sizing: border-box;
  color: var(--pfi-primary-navy);
  display: block;
  flex: 1 1 auto;
  font-size: 1.45rem;
  height: 4.2rem;
  inline-size: 100%;
  justify-self: stretch;
  line-height: 1.2;
  max-inline-size: none;
  min-height: 0;
  min-inline-size: 0;
  outline: 0;
  padding: 0.75rem 1.45rem 0.75rem 4.6rem;
  text-align: left;
  width: 100%;
}

.pfi-rankings-search__icon {
  color: #64748b;
  left: 1.55rem;
  pointer-events: none;
  position: absolute;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.4;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.pfi-rankings-search input:focus {
  border-color: var(--pfi-action-blue);
  box-shadow: 0 0 0 0.35rem rgba(56, 189, 248, 0.18);
}

.pfi-rankings-search:focus-within .pfi-rankings-search__icon {
  color: var(--pfi-action-blue);
}

.pfi-rankings-duo {
  display: grid;
  gap: clamp(1.8rem, 3vw, 2.6rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(1.2rem, 2vw, 2rem);
}

.pfi-rankings-duo-mobile {
  display: none;
}

.pfi-rankings-duo-mobile-section {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1.8rem;
  box-shadow: 0 2rem 5rem rgba(1, 11, 19, 0.08);
  overflow: hidden;
}

.pfi-rankings-duo-mobile-section__heading {
  align-items: center;
  background: var(--pfi-accent-lime);
  border-bottom: 1px solid rgba(1, 11, 19, 0.12);
  color: var(--pfi-surface-dark);
  display: flex;
  gap: 1.2rem;
  justify-content: center;
  padding: clamp(1.6rem, 3vw, 2.2rem);
  position: relative;
  text-align: center;
  z-index: 20;
}

.pfi-rankings-duo-mobile-section__heading h2 {
  color: var(--pfi-surface-dark);
  font-size: clamp(3.4rem, 7vw, 5.2rem);
  font-weight: 900;
  line-height: 0.95;
  margin: 0;
}

.pfi-rankings-duo-mobile-section__heading span {
  color: rgba(1, 11, 19, 0.72);
  display: none;
  flex: 0 0 auto;
  font-size: 1.22rem;
  font-weight: 850;
  margin-bottom: 0.3rem;
  text-transform: uppercase;
}

.pfi-rankings-duo-panel {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1.8rem;
  box-shadow: 0 2rem 5rem rgba(1, 11, 19, 0.08);
  overflow: hidden;
  scroll-margin-top: 34rem;
}

.pfi-rankings-duo-panel__header {
  align-items: end;
  background:
    radial-gradient(circle at 90% 0%, rgba(191, 255, 0, 0.12), transparent 18rem),
    linear-gradient(135deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-portal-bg) 60%, var(--pfi-primary-navy) 100%);
  color: #fff;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding: clamp(2rem, 3vw, 2.8rem);
}

.pfi-rankings-duo-panel__header h2 {
  color: #fff;
  font-size: clamp(4rem, 5vw, 6.2rem);
  font-weight: 900;
  line-height: 0.95;
  margin: 0;
}

.pfi-rankings-duo-panel__header > span {
  color: rgba(255, 255, 255, 0.72);
  flex: 0 0 auto;
  font-size: 1.35rem;
  font-weight: 850;
  margin-bottom: 0.35rem;
}

.pfi-rankings-duo-panel__leaders {
  background: #f4f7f8;
  display: grid;
  gap: clamp(2.4rem, 3vw, 3.6rem);
  overflow: visible;
  padding: clamp(2.2rem, 3vw, 3.2rem) clamp(1.4rem, 2vw, 1.8rem) clamp(1.8rem, 2.4vw, 2.2rem);
}

.pfi-rankings-duo-leader {
  --pfi-rankings-leader-headroom: clamp(5.4rem, 5vw, 7rem);

  background: transparent;
  border: 0;
  border-radius: 1.6rem;
  box-shadow: none;
  overflow: visible;
  padding-top: var(--pfi-rankings-leader-headroom);
}

.pfi-rankings-duo-leader__link {
  --pfi-rankings-card-slab-top: clamp(2.4rem, 2.7vw, 3.4rem);

  -webkit-tap-highlight-color: transparent;
  border-radius: inherit;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: #fff;
  display: grid;
  grid-template-columns: minmax(7.4rem, 0.16fr) minmax(18rem, 0.4fr) minmax(0, 1fr);
  grid-template-rows: minmax(14rem, 1fr) auto;
  height: clamp(20.4rem, 16vw, 23rem);
  isolation: isolate;
  min-height: clamp(20.4rem, 16vw, 23rem);
  overflow: visible;
  position: relative;
  text-decoration: none;
  touch-action: manipulation;
}

.pfi-rankings-duo-leader__link::before {
  background:
    linear-gradient(100deg, var(--pfi-portal-bg-deep) 0%, var(--pfi-deep-teal) 58%, var(--pfi-portal-panel-strong) 100%);
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: inherit;
  box-shadow: 0 1.2rem 3rem rgba(1, 11, 19, 0.08);
  content: "";
  inset: var(--pfi-rankings-card-slab-top) 0 0;
  position: absolute;
  z-index: 0;
}

.pfi-rankings-duo-leader__link::after {
  background: linear-gradient(90deg, rgba(1, 11, 19, 0.82) 0%, rgba(0, 66, 90, 0.94) 50%, rgba(12, 78, 94, 0.96) 100%);
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  content: "";
  grid-column: 1 / -1;
  grid-row: 2;
  inset: 0;
  position: relative;
  z-index: 1;
}

.pfi-rankings-duo-leader__stage {
  align-items: flex-end;
  background: transparent;
  display: flex;
  grid-column: 2;
  grid-row: 1 / 3;
  justify-content: center;
  overflow: visible;
  pointer-events: none;
  position: relative;
  z-index: 6;
}

.pfi-rankings-duo-leader__rank {
  align-self: center;
  color: #fff;
  display: block;
  font-size: clamp(5.2rem, 6vw, 7.8rem);
  font-weight: 900;
  grid-column: 1;
  grid-row: 1;
  justify-self: center;
  line-height: 0.82;
  position: relative;
  z-index: 7;
}

.pfi-rankings-duo-leader__media {
  align-items: flex-end;
  display: flex;
  height: calc(100% + var(--pfi-rankings-leader-headroom));
  justify-content: center;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: calc(-1 * var(--pfi-rankings-leader-headroom));
  width: 100%;
  z-index: 1;
}

.pfi-rankings-duo-leader__media .pfi-rankings-player-img,
.pfi-rankings-duo-leader__media .pfi-rankings-player-fallback {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: bottom center;
  pointer-events: none;
  transform: none;
  transform-origin: bottom center;
  width: 100%;
}

.pfi-rankings-duo-leader__media .pfi-rankings-player-img--cutout {
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: bottom center;
  transform: none;
  width: 145%;
}

.pfi-rankings-player-img--default {
  filter: none;
  opacity: 1;
}

.pfi-rankings-duo-leader__media img.pfi-rankings-player-img--default {
  height: 108%;
  max-width: none;
  object-fit: contain;
  object-position: bottom center;
  transform: none;
  width: 178%;
}

.pfi-rankings-duo-leader__media .pfi-rankings-player-fallback {
  align-self: center;
  background: transparent;
  color: var(--pfi-accent-lime);
}

@media (min-width: 1401px) {
  .pfi-rankings-duo-panel__leaders {
    padding-top: clamp(3.8rem, 4vw, 5rem);
  }

  .pfi-rankings-duo-leader__media .pfi-rankings-player-img,
  .pfi-rankings-duo-leader__media .pfi-rankings-player-fallback {
    height: 100%;
    transform: none;
    width: 100%;
  }

  .pfi-rankings-duo-leader__media .pfi-rankings-player-img--cutout {
    height: 100%;
    max-width: none;
    transform: none;
    width: 145%;
  }

  .pfi-rankings-duo-leader__media img.pfi-rankings-player-img--default {
    height: 108%;
    max-width: none;
    transform: none;
    width: 178%;
  }
}

@media (min-width: 1025px) {
  .pfi-rankings-duo {
    margin-top: clamp(0.6rem, 1vw, 1rem);
  }

  .pfi-rankings-duo-panel__leaders {
    gap: clamp(1.8rem, 2.1vw, 2.4rem);
    padding-top: 0;
  }

  .pfi-rankings-duo-leader {
    --pfi-rankings-leader-headroom: clamp(4.2rem, 3.8vw, 5.4rem);
  }

  .pfi-rankings-duo-leader__link {
    --pfi-rankings-card-slab-top: clamp(2rem, 2.2vw, 2.8rem);
  }
}

.pfi-rankings-duo-leader__body {
  align-content: center;
  display: grid;
  gap: 0.8rem;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  padding: clamp(1.4rem, 2vw, 1.9rem);
  position: relative;
  z-index: 4;
}

.pfi-rankings-duo-leader__label {
  color: #3b1755;
  font-size: 1.12rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pfi-rankings-duo-leader__name {
  align-self: center;
  color: #fff;
  font-size: clamp(2rem, 2.1vw, 2.8rem);
  font-weight: 900;
  grid-column: 3;
  grid-row: 1;
  justify-self: start;
  line-height: 1.02;
  overflow-wrap: anywhere;
  padding: clamp(1.4rem, 2vw, 1.9rem) clamp(1.4rem, 2vw, 1.9rem) clamp(1.4rem, 2vw, 1.9rem) clamp(1.6rem, 2.4vw, 2.8rem);
  position: relative;
  text-transform: uppercase;
  z-index: 7;
}

.pfi-rankings-duo-leader__club {
  color: #64748b;
  font-size: 1.26rem;
  font-weight: 800;
  line-height: 1.35;
}

.pfi-rankings-duo-leader__meta {
  align-items: center;
  background: transparent;
  border-top: 0;
  color: #fff;
  display: grid;
  gap: 0;
  grid-column: 1 / -1;
  grid-row: 2;
  grid-template-columns: minmax(7.4rem, 0.16fr) minmax(18rem, 0.4fr) minmax(0, 1fr) auto;
  margin-top: 0;
  min-height: 4rem;
  position: relative;
  z-index: 8;
}

.pfi-rankings-duo-leader__meta > span,
.pfi-rankings-duo-leader__meta .pfi-rankings-county {
  align-items: center;
  color: #fff;
  display: inline-flex;
  font-size: 1.08rem;
  font-weight: 850;
  line-height: 1.1;
  min-height: 3.8rem;
  padding: 0.7rem 1.05rem;
  text-transform: uppercase;
}

.pfi-rankings-duo-leader__meta > span + span,
.pfi-rankings-duo-leader__meta .pfi-rankings-county + span {
  border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.pfi-rankings-duo-leader__movement {
  grid-column: 1;
  justify-self: start;
}

.pfi-rankings-duo-leader__movement .pfi-rankings-movement {
  background: rgba(191, 255, 0, 0.16);
  color: var(--pfi-accent-lime);
  min-height: 2.6rem;
  min-width: 3.6rem;
}

.pfi-rankings-duo-leader__points {
  gap: 0.55rem;
  grid-column: 4;
  justify-self: end;
  justify-content: flex-end;
  white-space: nowrap;
}

.pfi-rankings-duo-leader__county {
  grid-column: 3;
  justify-self: center;
}

.pfi-rankings-duo-leader__meta strong {
  color: #fff;
  font-size: 1.52rem;
  font-weight: 900;
  overflow-wrap: anywhere;
  text-transform: none;
}

.pfi-rankings-country,
.pfi-rankings-county {
  align-items: center;
  display: inline-flex;
  gap: 0.65rem;
}

.pfi-rankings-country__code,
.pfi-rankings-county__name {
  color: inherit;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.pfi-rankings-county--missing {
  color: #64748b;
}

.pfi-rankings-duo-leader__meta .pfi-rankings-county--missing {
  color: rgba(255, 255, 255, 0.78);
}

.pfi-rankings-flag,
.pfi-rankings-county-flag {
  background: #dbeafe;
  border: 1px solid rgba(1, 11, 19, 0.18);
  box-shadow: 0 0.2rem 0.6rem rgba(1, 11, 19, 0.12);
  display: inline-flex;
  flex: 0 0 auto;
  height: 1.8rem;
  overflow: hidden;
  width: 2.9rem;
}

.pfi-rankings-county-flag {
  background: linear-gradient(90deg, var(--pfi-flag-a) 0 33.333%, var(--pfi-flag-b) 33.333% 66.666%, var(--pfi-flag-c) 66.666% 100%);
}

.pfi-rankings-flag--irl {
  background: linear-gradient(90deg, #169b62 0 33.333%, #fff 33.333% 66.666%, #ff883e 66.666% 100%);
}

.pfi-rankings-flag--arg {
  background: linear-gradient(180deg, #74acdf 0 33.333%, #fff 33.333% 66.666%, #74acdf 66.666% 100%);
}

.pfi-rankings-flag--esp {
  background: linear-gradient(180deg, #c60b1e 0 25%, #ffc400 25% 75%, #c60b1e 75% 100%);
}

.pfi-rankings-flag--fra {
  background: linear-gradient(90deg, #002395 0 33.333%, #fff 33.333% 66.666%, #ed2939 66.666% 100%);
}

.pfi-rankings-flag--ita {
  background: linear-gradient(90deg, #009246 0 33.333%, #fff 33.333% 66.666%, #ce2b37 66.666% 100%);
}

.pfi-rankings-flag--por {
  background: linear-gradient(90deg, #006600 0 40%, #ff0000 40% 100%);
}

.pfi-rankings-flag--usa {
  background: repeating-linear-gradient(180deg, #b22234 0 0.24rem, #fff 0.24rem 0.48rem);
  position: relative;
}

.pfi-rankings-flag--usa::before {
  background: #3c3b6e;
  content: "";
  height: 0.95rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 1.25rem;
}

.pfi-rankings-flag--gbr,
.pfi-rankings-flag--eng,
.pfi-rankings-flag--sco,
.pfi-rankings-flag--wal,
.pfi-rankings-flag--aus,
.pfi-rankings-flag--nzl,
.pfi-rankings-flag--can {
  background: linear-gradient(135deg, #012169 0 42%, #fff 42% 50%, #c8102e 50% 58%, #fff 58% 66%, #012169 66% 100%);
}

.pfi-rankings-duo-panel__list {
  padding: 0 clamp(1.4rem, 2vw, 1.8rem) clamp(1.4rem, 2vw, 1.8rem);
}

.pfi-rankings-duo-panel__list-head {
  align-items: center;
  background: var(--pfi-tertiary-sky);
  color: #64748b;
  display: grid;
  font-size: 1.14rem;
  font-weight: 900;
  gap: 1rem;
  grid-template-columns: 5.8rem minmax(0, 1fr) minmax(9rem, 0.55fr) 7rem;
  letter-spacing: 0.08em;
  margin-inline: calc(clamp(1.4rem, 2vw, 1.8rem) * -1);
  padding: 1.1rem clamp(1.4rem, 2vw, 1.8rem);
  text-transform: uppercase;
}

.pfi-rankings-duo-panel__list-head span {
  color: #fff;
}

.pfi-rankings-duo-panel__list-head span:last-child {
  justify-self: end;
}

.pfi-rankings-duo-row {
  -webkit-tap-highlight-color: transparent;
  align-items: center;
  border-top: 1px solid rgba(0, 66, 90, 0.08);
  color: var(--pfi-primary-navy);
  display: grid;
  gap: 1rem;
  grid-template-columns: 7.2rem minmax(0, 1fr) minmax(9rem, 0.55fr) 7rem;
  min-height: 7.4rem;
  padding: 1rem 0;
  text-decoration: none;
  touch-action: manipulation;
}

.pfi-rankings-duo-row__rank strong,
.pfi-rankings-duo-row__points strong {
  color: var(--pfi-primary-navy);
  font-size: 1.56rem;
  font-weight: 900;
}

.pfi-rankings-duo-row__rank {
  align-items: center;
  display: grid;
  gap: 0.45rem;
  grid-template-columns: 3.2rem 3.4rem;
  min-width: 0;
}

.pfi-rankings-duo-row__rank strong {
  text-align: left;
}

.pfi-rankings-duo-row__rank .pfi-rankings-movement {
  min-height: 2.4rem;
  min-width: 3.4rem;
}

.pfi-rankings-duo-row__player {
  align-items: center;
  display: grid;
  gap: 1.1rem;
  grid-template-columns: 5.2rem minmax(0, 1fr);
  min-width: 0;
}

.pfi-rankings-duo-row__avatar {
  align-items: flex-end;
  display: inline-flex;
  height: 5.6rem;
  justify-content: center;
  overflow: visible;
  width: 5.2rem;
}

.pfi-rankings-duo-row__avatar .pfi-rankings-player-img,
.pfi-rankings-duo-row__avatar .pfi-rankings-player-fallback {
  border: 0;
  border-radius: 0;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center bottom;
  width: 100%;
}

.pfi-rankings-duo-row__avatar .pfi-rankings-player-img--cutout,
.pfi-rankings-duo-row__avatar .pfi-rankings-player-img--list {
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  width: 100%;
}

.pfi-rankings-duo-row__avatar .pfi-rankings-player-img--default {
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  width: 100%;
}

.pfi-rankings-player-img--pending {
  background: transparent;
  display: inline-block;
}

.pfi-rankings-duo-row__identity {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.pfi-rankings-duo-row__identity strong {
  font-size: 1.42rem;
  font-weight: 900;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.pfi-rankings-duo-row__identity small {
  color: #64748b;
  font-size: 1.12rem;
  font-weight: 750;
  line-height: 1.25;
}

.pfi-rankings-duo-row__county {
  align-items: center;
  color: var(--pfi-primary-navy);
  display: flex;
  flex-wrap: wrap;
  font-size: 1.12rem;
  font-weight: 850;
  gap: 0.5rem 0.75rem;
  min-width: 0;
}

.pfi-rankings-duo-row__points {
  display: grid;
  justify-items: end;
  line-height: 1;
}

.pfi-rankings-duo-row__points small {
  color: #64748b;
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pfi-rankings-load-more {
  display: flex;
  justify-content: center;
  margin-top: clamp(2.2rem, 4vw, 3.6rem);
}

.pfi-rankings-load-more--mobile {
  display: none;
  margin: 0;
  padding: 2rem 1.4rem 2.4rem;
}

.pfi-rankings-load-more button {
  -webkit-tap-highlight-color: transparent;
  align-items: center;
  appearance: none;
  background: var(--pfi-accent-lime);
  border: 1px solid rgba(1, 11, 19, 0.16);
  border-radius: 999px;
  box-shadow: 0 1rem 2.4rem rgba(1, 11, 19, 0.14);
  color: var(--pfi-surface-dark);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 1.34rem;
  font-weight: 950;
  justify-content: center;
  letter-spacing: 0.02em;
  min-height: 4.8rem;
  padding: 1.1rem 2.4rem;
  text-transform: uppercase;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.pfi-rankings-load-more button:hover {
  background: #fff;
  box-shadow: 0 1.3rem 3rem rgba(1, 11, 19, 0.18);
  color: var(--pfi-primary-navy);
  transform: translateY(-0.15rem);
}

.pfi-rankings-load-more button:focus-visible {
  outline: 0.3rem solid rgba(56, 189, 248, 0.45);
  outline-offset: 0.35rem;
}

.pfi-rankings-podium,
.pfi-rankings-board,
.pfi-rankings-explainer {
  margin-top: clamp(3rem, 4vw, 4.5rem);
}

.pfi-rankings-section-heading {
  margin-bottom: 2rem;
}

.pfi-rankings-section-heading h2,
.pfi-rankings-board__header h2,
.pfi-rankings-explainer h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 3.6vw, 4.8rem);
  font-weight: 900;
  line-height: 1.02;
  margin: 0;
}

.pfi-rankings-podium__grid {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 4.2rem;
}

.pfi-rankings-podium__card {
  background: #f8f8f1;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 2.2rem;
  box-shadow: 0 2rem 5rem rgba(1, 11, 19, 0.14);
  overflow: hidden;
  position: relative;
}

.pfi-rankings-podium__card--has-cutout {
  overflow: visible;
}

.pfi-rankings-podium__link {
  color: var(--pfi-primary-navy);
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1rem;
  text-decoration: none;
}

.pfi-rankings-podium__card--has-cutout .pfi-rankings-podium__link {
  overflow: visible;
}

.pfi-rankings-podium__stage {
  background: #260039;
  border-radius: 1.6rem;
  display: block;
  min-height: 18.8rem;
  overflow: hidden;
  position: relative;
}

.pfi-rankings-podium__card--has-cutout .pfi-rankings-podium__stage {
  clip-path: inset(-6.2rem 0 0 0 round 1.6rem);
  margin-top: 0.6rem;
  min-height: 18.2rem;
  overflow: visible;
}

.pfi-rankings-podium__rank {
  color: var(--pfi-accent-lime);
  font-size: clamp(6rem, 7vw, 9rem);
  font-weight: 900;
  left: 1.2rem;
  line-height: 0.85;
  position: absolute;
  top: 1.2rem;
  z-index: 2;
}

.pfi-rankings-podium__media {
  align-items: flex-end;
  bottom: 0;
  display: flex;
  height: 108%;
  justify-content: center;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 82%;
  z-index: 1;
}

.pfi-rankings-podium__card--has-cutout .pfi-rankings-podium__media {
  bottom: 0;
  height: 136%;
  pointer-events: none;
  width: 86%;
}

.pfi-rankings-podium__card--has-cutout .pfi-rankings-podium__rank {
  top: 0.6rem;
}

.pfi-rankings-player-img,
.pfi-rankings-player-fallback {
  aspect-ratio: 1;
  object-fit: cover;
}

.pfi-rankings-podium__media .pfi-rankings-player-img,
.pfi-rankings-podium__media .pfi-rankings-player-fallback {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center top;
  width: min(76%, 28rem);
}

.pfi-rankings-podium__media .pfi-rankings-player-img--cutout {
  height: 112%;
  object-fit: contain;
  object-position: bottom center;
  width: min(82%, 30rem);
}

.pfi-rankings-podium__media .pfi-rankings-player-img--default {
  height: 112%;
  object-fit: contain;
  object-position: bottom center;
  width: min(82%, 30rem);
}

.pfi-rankings-podium__card--has-cutout .pfi-rankings-player-img--cutout {
  height: 100%;
  width: min(88%, 32rem);
}

.pfi-rankings-player-fallback {
  align-items: center;
  background: var(--pfi-primary-navy);
  color: var(--pfi-accent-lime);
  display: inline-flex;
  font-size: 2.8rem;
  font-weight: 900;
  justify-content: center;
}

.pfi-rankings-podium__media .pfi-rankings-player-fallback {
  align-self: center;
  border: 0.3rem solid rgba(191, 255, 0, 0.72);
  border-radius: 50%;
  height: 12rem;
  margin-right: 1.4rem;
  width: 12rem;
}

.pfi-rankings-podium__body {
  align-items: center;
  display: grid;
  gap: 0.7rem;
  justify-items: center;
  padding: 2rem 1.2rem 1.4rem;
  text-align: center;
}

.pfi-rankings-podium__label {
  color: #3b1755;
  font-size: 1.24rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pfi-rankings-podium__name {
  color: #3b1755;
  font-size: clamp(2rem, 2vw, 2.7rem);
  font-weight: 900;
  letter-spacing: 0.01em;
  line-height: 1.02;
  text-transform: uppercase;
}

.pfi-rankings-podium__club {
  color: #64748b;
  font-size: 1.3rem;
  font-weight: 800;
  line-height: 1.35;
}

.pfi-rankings-podium__stats {
  border-top: 1px solid rgba(0, 66, 90, 0.1);
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 0.7rem;
  padding-top: 1.2rem;
  width: 100%;
}

.pfi-rankings-podium__stats span {
  color: #64748b;
  display: grid;
  font-size: 1.08rem;
  font-weight: 800;
  gap: 0.2rem;
  line-height: 1.2;
  text-transform: uppercase;
}

.pfi-rankings-podium__stats strong {
  color: var(--pfi-primary-navy);
  display: block;
  font-size: 1.34rem;
  font-weight: 900;
  overflow-wrap: anywhere;
  text-transform: none;
}

.pfi-rankings-board {
  overflow: hidden;
}

.pfi-rankings-board__header {
  align-items: end;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding: 2.4rem;
}

.pfi-rankings-board__header > span {
  color: #64748b;
  font-size: 1.34rem;
  font-weight: 800;
}

.pfi-rankings-table-wrap {
  overflow-x: auto;
}

.pfi-rankings-table {
  border-collapse: collapse;
  min-width: 92rem;
  width: 100%;
}

.pfi-rankings-table th {
  background: #f4f7f8;
  color: #5d6c7f;
  font-size: 1.16rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  padding: 1.3rem 1.6rem;
  text-align: left;
  text-transform: uppercase;
}

.pfi-rankings-table td {
  border-top: 1px solid rgba(0, 66, 90, 0.08);
  color: #35455a;
  font-size: 1.42rem;
  font-weight: 700;
  padding: 1.5rem 1.6rem;
  vertical-align: middle;
}

.pfi-rankings-table__rank,
.pfi-rankings-table__points {
  color: var(--pfi-primary-navy) !important;
  font-size: 1.7rem !important;
  font-weight: 900 !important;
}

.pfi-rankings-table__player {
  align-items: center;
  color: var(--pfi-primary-navy);
  display: flex;
  gap: 1.2rem;
  text-decoration: none;
}

.pfi-rankings-table__avatar,
.pfi-rankings-card__avatar {
  align-items: flex-end;
  background: #260039;
  border: 2px solid rgba(56, 189, 248, 0.35);
  border-radius: 50%;
  display: inline-flex;
  flex: 0 0 auto;
  height: 4.8rem;
  justify-content: center;
  overflow: hidden;
  width: 4.8rem;
}

.pfi-rankings-table__avatar .pfi-rankings-player-img,
.pfi-rankings-table__avatar .pfi-rankings-player-fallback,
.pfi-rankings-card__avatar .pfi-rankings-player-img,
.pfi-rankings-card__avatar .pfi-rankings-player-fallback {
  border: 0;
  border-radius: 0;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center top;
  width: 100%;
}

.pfi-rankings-table__avatar .pfi-rankings-player-img--cutout,
.pfi-rankings-card__avatar .pfi-rankings-player-img--cutout {
  height: 100%;
  object-fit: cover;
  object-position: center top;
  width: 100%;
}

.pfi-rankings-table__avatar .pfi-rankings-player-img--default,
.pfi-rankings-card__avatar .pfi-rankings-player-img--default {
  height: 100%;
  object-fit: cover;
  object-position: center top;
  width: 100%;
}

.pfi-rankings-table__avatar .pfi-rankings-player-fallback,
.pfi-rankings-card__avatar .pfi-rankings-player-fallback {
  align-self: center;
  background: transparent;
  border-radius: 50%;
  color: var(--pfi-accent-lime);
}

.pfi-rankings-table__player strong {
  display: block;
  font-size: 1.55rem;
  line-height: 1.2;
}

.pfi-rankings-table__player small {
  color: #64748b;
  display: block;
  font-size: 1.18rem;
  font-weight: 750;
  margin-top: 0.2rem;
}

.pfi-rankings-movement {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 1.18rem;
  font-weight: 900;
  justify-content: center;
  min-height: 2.8rem;
  min-width: 4.8rem;
  padding-inline: 0.8rem;
}

.pfi-rankings-movement--up {
  background: rgba(191, 255, 0, 0.2);
  color: color-mix(in srgb, var(--pfi-accent-lime) 52%, #125b29);
}

.pfi-rankings-movement--down {
  background: rgba(255, 138, 61, 0.16);
  color: color-mix(in srgb, var(--pfi-competition-warm) 58%, #7c2d12);
}

.pfi-rankings-movement--new {
  background: rgba(56, 189, 248, 0.16);
  color: var(--pfi-action-blue);
}

.pfi-rankings-movement--same {
  background: #eef2f5;
  color: #64748b;
}

.pfi-rankings-card-list {
  display: none;
}

.pfi-rankings-explainer {
  display: grid;
  gap: 3rem;
  grid-template-columns: minmax(0, 0.48fr) minmax(0, 1fr);
  padding: clamp(2.4rem, 4vw, 4rem);
}

.pfi-rankings-explainer__grid {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-rankings-explainer article {
  background: #f4f7f8;
  border: 1px solid rgba(0, 66, 90, 0.08);
  border-radius: 1.4rem;
  padding: 1.8rem;
}

.pfi-rankings-explainer strong {
  color: var(--pfi-primary-navy);
  display: block;
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1.2;
}

.pfi-rankings-explainer p,
.pfi-rankings-empty p {
  color: #5d6c7f;
  font-size: 1.48rem;
  line-height: 1.55;
  margin: 0.8rem 0 0;
}

.pfi-rankings-empty {
  padding: 2.4rem;
}

.pfi-rankings-empty h3 {
  color: var(--pfi-primary-navy);
  font-size: 2.4rem;
  margin: 0;
}

@media (max-width: 1100px) {
  .pfi-rankings-intro__grid,
  .pfi-rankings-explainer {
    grid-template-columns: 1fr;
  }

  .pfi-rankings-intro__meta {
    min-height: 0;
  }

  .pfi-rankings-sticky {
    margin-top: -7.4rem;
    padding-top: calc(7.4rem + clamp(1.3rem, 2vw, 2rem));
  }

  .pfi-rankings-topbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .pfi-rankings-topbar h1 {
    font-size: clamp(2.9rem, 8vw, 3.4rem);
    line-height: 1.04;
    white-space: normal;
  }

  .pfi-rankings-topbar__media {
    display: none;
  }

  .pfi-rankings-switcher {
    display: none;
  }

  .pfi-rankings-duo--desktop {
    display: none;
  }

  .pfi-rankings-load-more--desktop {
    display: none;
  }

  .pfi-rankings-duo-mobile {
    display: grid;
    gap: clamp(2rem, 3vw, 2.8rem);
    margin-top: clamp(1.4rem, 2vw, 2.2rem);
  }

  .pfi-rankings {
    --pfi-rankings-mobile-heading-offset: calc(var(--wp-admin--admin-bar--height, 0px) + 19rem);
  }

  .pfi-rankings-duo-mobile-section--list {
    overflow: visible;
  }

  .pfi-rankings-duo-mobile-section--list .pfi-rankings-duo-mobile-section__heading {
    box-shadow: 0 1.1rem 2.2rem rgba(1, 11, 19, 0.1);
    position: sticky;
    top: var(--pfi-rankings-mobile-heading-offset);
    z-index: 36;
  }

  .pfi-rankings-load-more--mobile {
    display: flex;
  }

  .pfi-rankings-duo-panel__leaders {
    gap: clamp(2.8rem, 3.8vw, 4rem);
    padding: clamp(2.6rem, 3.4vw, 3.4rem) clamp(1.2rem, 2vw, 1.8rem) clamp(1.6rem, 2vw, 2rem);
  }

  .pfi-rankings-duo-leader {
    --pfi-rankings-leader-headroom: clamp(5.6rem, 5.5vw, 7rem);
  }

  .pfi-rankings-duo-leader__link,
  .pfi-rankings-duo-leader--1 .pfi-rankings-duo-leader__link {
    grid-template-columns: minmax(5.6rem, 0.12fr) clamp(16.8rem, 25vw, 19.5rem) minmax(0, 1fr);
    grid-template-rows: minmax(18rem, 1fr) auto;
    height: 23.2rem;
    min-height: 23.2rem;
  }

  .pfi-rankings-duo-leader__meta {
    grid-template-columns: minmax(5.6rem, 0.12fr) clamp(16.8rem, 25vw, 19.5rem) minmax(0, 1fr) auto;
  }

  .pfi-rankings-duo-leader__media {
    bottom: auto;
    justify-content: center;
  }

  .pfi-rankings-duo-leader__stage {
    grid-row: 1;
  }

  .pfi-rankings-duo-leader__media .pfi-rankings-player-img,
  .pfi-rankings-duo-leader__media .pfi-rankings-player-fallback {
    object-position: bottom center;
    transform-origin: bottom center;
  }

  .pfi-rankings-duo-leader__media .pfi-rankings-player-img--cutout {
    height: 100%;
    transform: none;
    width: 100%;
  }

  .pfi-rankings-duo-leader__movement .pfi-rankings-movement {
    background: var(--pfi-accent-lime);
    color: var(--pfi-surface-dark);
    position: relative;
    z-index: 12;
  }

  .pfi-rankings-duo-leader__name {
    font-size: clamp(2.4rem, 3vw, 2.8rem);
    padding-left: clamp(1.8rem, 3vw, 3rem);
  }

  .pfi-rankings-podium__grid,
  .pfi-rankings-explainer__grid {
    grid-template-columns: 1fr;
  }

  .pfi-rankings-podium__card,
  .pfi-rankings-podium__link {
    min-height: 0;
  }
}

@media (max-width: 900px) {
  .pfi-rankings-toolbar {
    grid-template-columns: 1fr;
  }

  .pfi-rankings-topbar {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .pfi-rankings-container {
    padding-inline: 2rem;
  }

  .pfi-rankings-intro {
    padding: 3.8rem 0 2.8rem;
  }

  .pfi-rankings-intro h1 {
    font-size: 4.2rem;
  }

  .pfi-rankings-sticky {
    padding: 0.6rem 0;
    padding-top: 8.4rem;
  }

  .pfi-rankings {
    --pfi-rankings-mobile-heading-offset: calc(var(--wp-admin--admin-bar--height, 0px) + 18.6rem);
  }

  .pfi-rankings-topbar {
    gap: 1rem;
    margin-bottom: 1.2rem;
  }

  .pfi-rankings-topbar h1 {
    font-size: clamp(2.55rem, 7vw, 2.9rem);
    inline-size: 100%;
    line-height: 1;
    max-inline-size: 100%;
    white-space: normal;
  }

  .pfi-rankings-intro__actions,
  .pfi-rankings-board__header {
    align-items: stretch;
    flex-direction: column;
  }

  .pfi-rankings-intro__actions a {
    width: 100%;
  }

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

  .pfi-rankings-switcher {
    border-radius: 1.4rem;
    gap: 0.6rem;
    padding: 0.6rem;
  }

  .pfi-rankings-switcher a {
    border-radius: 1rem;
    font-size: 1.22rem;
    min-height: 4.2rem;
  }

  .pfi-rankings-tabs {
    display: flex;
    margin-inline: -0.4rem;
    overflow-x: auto;
    padding-inline: 0.4rem 1.8rem;
    scrollbar-width: none;
  }

  .pfi-rankings-tabs::after {
    align-self: stretch;
    content: "";
    flex: 0 0 1rem;
  }

  .pfi-rankings-tabs::-webkit-scrollbar {
    display: none;
  }

  .pfi-rankings-tabs__button {
    flex: 0 0 auto;
  }

  .pfi-rankings-search {
    align-items: stretch;
    display: block;
    max-width: none;
  }

  .pfi-rankings-search input {
    width: 100%;
  }

  .pfi-rankings-duo-panel__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.8rem;
  }

  .pfi-rankings-duo-panel__header h2 {
    font-size: 4.4rem;
  }

  .pfi-rankings-duo-panel {
    scroll-margin-top: 27rem;
  }

  .pfi-rankings-duo-panel__leaders {
    gap: 3rem;
    padding: 2.6rem 1rem 1.2rem;
  }

  .pfi-rankings-duo-leader {
    --pfi-rankings-leader-headroom: 5.2rem;
  }

  .pfi-rankings-duo-leader__link,
  .pfi-rankings-duo-leader--1 .pfi-rankings-duo-leader__link {
    grid-template-columns: 4.8rem minmax(10.8rem, 32vw) minmax(0, 1fr);
    grid-template-rows: minmax(16.2rem, 1fr) auto;
    height: 20.8rem;
    min-height: 20.8rem;
  }

  .pfi-rankings-duo-leader__stage {
    min-height: 0;
  }

  .pfi-rankings-duo-leader__rank {
    font-size: clamp(4.2rem, 14vw, 5.6rem);
  }

  .pfi-rankings-duo-leader__media .pfi-rankings-player-img,
  .pfi-rankings-duo-leader__media .pfi-rankings-player-fallback {
    height: 100%;
    width: 100%;
  }

  .pfi-rankings-duo-leader__media img.pfi-rankings-player-img--default {
    height: 112%;
    max-width: none;
    object-fit: contain;
    object-position: bottom center;
    width: 110%;
  }

  .pfi-rankings-duo-leader__media .pfi-rankings-player-img--cutout {
    height: 100%;
    transform: none;
    width: 100%;
  }

  .pfi-rankings-duo-leader__media {
    bottom: auto;
  }

  .pfi-rankings-duo-leader__body {
    align-content: center;
    padding: 1.1rem 1.2rem 1rem 0.8rem;
    text-align: left;
  }

  .pfi-rankings-duo-leader__name {
    box-sizing: border-box;
    font-size: clamp(1.65rem, 3.35vw, 2.2rem);
    justify-self: stretch;
    line-height: 1.05;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    padding: 1.1rem 1rem 1rem clamp(1.2rem, 2.4vw, 2.2rem);
    word-break: normal;
  }

  .pfi-rankings-duo-leader__meta {
    grid-template-columns: 4.8rem minmax(10.8rem, 32vw) minmax(0, 1fr) minmax(6rem, 0.32fr);
  }

  .pfi-rankings-duo-leader__meta > span,
  .pfi-rankings-duo-leader__meta .pfi-rankings-county {
    font-size: 0.8rem;
    min-height: 3.5rem;
    padding: 0.55rem 0.6rem;
  }

  .pfi-rankings-duo-leader__meta strong {
    font-size: 1.02rem;
  }

  .pfi-rankings-duo-leader__meta .pfi-rankings-county {
    gap: 0.45rem;
    min-width: 0;
  }

  .pfi-rankings .pfi-rankings-county__name {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .pfi-rankings .pfi-rankings-county {
    gap: 0;
  }

  .pfi-rankings-duo-leader__county,
  .pfi-rankings-duo-row__county {
    justify-content: center;
  }

  .pfi-rankings-duo-leader__meta .pfi-rankings-county-flag {
    height: 1.45rem;
    width: 2.35rem;
  }

  .pfi-rankings-duo-panel__list-head {
    font-size: 0.92rem;
    gap: 0.55rem;
    grid-template-columns: 5.7rem minmax(0, 1fr) 3.6rem 5.8rem;
  }

  .pfi-rankings-duo-panel__list-head span:nth-child(3) {
    display: inline;
  }

  .pfi-rankings-duo-panel__list-head span:last-child {
    justify-self: end;
  }

  .pfi-rankings-duo-panel__list-head span:nth-child(2) {
    transform: translateX(-1.15rem);
  }

  .pfi-rankings-duo-row {
    gap: 0.55rem;
    grid-template-areas: "rank player county points";
    grid-template-columns: 5.7rem minmax(0, 1fr) 3.6rem 5.8rem;
    min-height: 7.4rem;
  }

  .pfi-rankings-duo-row__rank {
    align-content: center;
    align-items: center;
    display: grid;
    gap: 0.35rem;
    grid-area: rank;
    grid-template-columns: auto auto;
    justify-content: start;
    width: 100%;
  }

  .pfi-rankings-duo-row__rank .pfi-rankings-movement {
    font-size: 0.86rem;
    min-height: 1.85rem;
    min-width: 2.65rem;
    padding-inline: 0.45rem;
  }

  .pfi-rankings-duo-row__player {
    gap: 0.45rem;
    grid-area: player;
    grid-template-columns: 5.4rem minmax(0, 1fr);
  }

  .pfi-rankings-duo-row__avatar {
    height: 5.5rem;
    margin-left: -1.2rem;
    width: 5.4rem;
  }

  .pfi-rankings-duo-row__county {
    align-items: center;
    display: flex;
    font-size: 0.95rem;
    grid-area: county;
    justify-content: center;
    padding-left: 0;
    white-space: nowrap;
  }

  .pfi-rankings-duo-row__county .pfi-rankings-county {
    gap: 0.45rem;
  }

  .pfi-rankings-duo-row__points {
    align-self: center;
    grid-area: points;
  }

  .pfi-rankings-podium__stage {
    min-height: 17rem;
  }

  .pfi-rankings-podium__rank {
    font-size: 6.4rem;
  }

  .pfi-rankings-podium__body {
    padding: 1.8rem 1rem 1.2rem;
  }

  .pfi-rankings-table-wrap {
    display: none;
  }

  .pfi-rankings-card-list {
    display: grid;
    gap: 1rem;
    padding: 0 1.4rem 1.4rem;
  }

  .pfi-rankings-card {
    background: #f8fafb;
    border: 1px solid rgba(0, 66, 90, 0.08);
    border-radius: 1.4rem;
    padding: 1.4rem;
  }

  .pfi-rankings-card__main {
    -webkit-tap-highlight-color: transparent;
    align-items: center;
    color: var(--pfi-primary-navy);
    display: grid;
    gap: 1rem;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    text-decoration: none;
    touch-action: manipulation;
  }

  .pfi-rankings-card__rank,
  .pfi-rankings-card__points {
    font-size: 1.45rem;
    font-weight: 900;
  }

  .pfi-rankings-card__points {
    justify-self: end;
    white-space: nowrap;
  }

  .pfi-rankings-card__identity {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
  }

  .pfi-rankings-card__identity strong {
    font-size: 1.5rem;
    line-height: 1.2;
  }

  .pfi-rankings-card__identity small {
    color: #64748b;
    font-size: 1.24rem;
    font-weight: 750;
  }

  .pfi-rankings-card__meta {
    align-items: center;
    border-top: 1px solid rgba(0, 66, 90, 0.08);
    color: #64748b;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    justify-content: space-between;
    margin-top: 1.2rem;
    padding-top: 1.2rem;
  }
}


@media (min-width: 481px) and (max-width: 767px) {
  .pfi-rankings-duo-leader__stage {
    grid-row: 1 / 3;
  }

  .pfi-rankings-duo-leader__media img.pfi-rankings-player-img--default {
    height: 104%;
    transform: translateY(1rem);
    width: 106%;
  }
}

@media (max-width: 480px) {
  .pfi-rankings-duo-mobile-section__heading {
    align-items: center;
    justify-content: center;
    padding: 1.6rem;
    text-align: center;
  }

  .pfi-rankings-duo-mobile-section__heading h2 {
    font-size: 3.4rem;
  }

  .pfi-rankings-duo-mobile-section__heading span {
    font-size: 1.02rem;
    margin-top: 0.35rem;
    text-align: right;
  }

  .pfi-rankings-duo-panel__leaders {
    gap: 2.8rem;
    padding: 2.4rem 0.9rem 1.1rem;
  }

  .pfi-rankings-duo-leader {
    --pfi-rankings-leader-headroom: 5.25rem;
  }

  .pfi-rankings-duo-leader__link,
  .pfi-rankings-duo-leader--1 .pfi-rankings-duo-leader__link {
    grid-template-columns: 4.4rem minmax(9.6rem, 30vw) minmax(0, 1fr);
    grid-template-rows: minmax(15.4rem, 1fr) auto;
    height: 20rem;
    min-height: 20rem;
  }

  .pfi-rankings-duo-leader__rank {
    font-size: clamp(4.4rem, 13vw, 5.2rem);
  }

  .pfi-rankings-duo-leader__media .pfi-rankings-player-img--cutout {
    height: 100%;
    transform: none;
    width: 100%;
  }

  .pfi-rankings-duo-leader__media img.pfi-rankings-player-img--default {
    height: 110%;
    max-width: none;
    object-fit: contain;
    object-position: bottom center;
    width: 106%;
  }

  .pfi-rankings-duo-leader__media {
    bottom: auto;
  }

  .pfi-rankings-duo-leader__movement .pfi-rankings-movement {
    font-weight: 950;
  }

  .pfi-rankings-duo-leader__name {
    font-size: clamp(1.45rem, 4.15vw, 1.72rem);
    line-height: 1.08;
    overflow-wrap: anywhere;
    padding-left: 1.15rem;
    word-break: normal;
  }

  .pfi-rankings-duo-leader__meta {
    grid-template-columns: 4.4rem minmax(9.6rem, 30vw) minmax(0, 1fr) minmax(5.6rem, 0.32fr);
  }

  .pfi-rankings-duo-leader__meta > span,
  .pfi-rankings-duo-leader__meta .pfi-rankings-county {
    font-size: 0.72rem;
    padding: 0.5rem 0.45rem;
  }

  .pfi-rankings-duo-leader__meta > .pfi-rankings-duo-leader__points {
    font-size: 0;
    gap: 0;
  }

  .pfi-rankings-duo-leader__meta > .pfi-rankings-duo-leader__points strong {
    font-size: 1.04rem;
  }

  .pfi-rankings-duo-leader__meta .pfi-rankings-county {
    gap: 0.34rem;
  }
}

@media (max-width: 360px) {
  .pfi-rankings-container {
    padding-inline: 1.3rem;
  }

  .pfi-rankings-duo-panel__list-head,
  .pfi-rankings-duo-row {
    gap: 0.4rem;
    grid-template-columns: 5.2rem minmax(0, 1fr) 3.2rem 4.9rem;
  }

  .pfi-rankings-duo-row__player {
    gap: 0.35rem;
    grid-template-columns: 4.9rem minmax(0, 1fr);
  }

  .pfi-rankings-duo-row__avatar {
    height: 5.05rem;
    margin-left: -1rem;
    width: 4.9rem;
  }

  .pfi-rankings-duo-row__identity strong {
    font-size: 1.2rem;
    line-height: 1.08;
  }

  .pfi-rankings-duo-row__identity small {
    font-size: 0.94rem;
  }

  .pfi-rankings-duo-row__county,
  .pfi-rankings-duo-row__county .pfi-rankings-county {
    gap: 0.25rem;
  }

  .pfi-rankings-duo-row__county {
    font-size: 0.78rem;
  }

  .pfi-rankings-duo-row__county .pfi-rankings-county-flag {
    height: 1.35rem;
    width: 2.1rem;
  }

  .pfi-rankings-duo-row__rank .pfi-rankings-movement {
    font-size: 0.78rem;
    min-height: 1.75rem;
    min-width: 2.35rem;
    padding-inline: 0.35rem;
  }

  .pfi-rankings-duo-row__points strong {
    font-size: 1.34rem;
  }

  .pfi-rankings-duo-row__points small {
    font-size: 0.82rem;
  }
}

/* ==========================================================================
   PFI Ranking Player Profile
   ========================================================================== */

.pfi-player-profile {
  background: #f5f8fb;
  color: var(--pfi-primary-navy);
}

.pfi-player-profile .pfi-player-surface .pfi-player-kicker {
  color: var(--pfi-tertiary, #38bdf8);
}

.pfi-player-container {
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  padding-inline: var(--space-m, 2rem);
  width: 100%;
}

.pfi-player-hero {
  background:
    linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 68%, var(--pfi-surface-dark) 100%);
  color: #fff;
  overflow: hidden;
  padding: clamp(2.2rem, 4vw, 4.5rem) 0 clamp(3.2rem, 4vw, 5rem);
  position: relative;
}

.pfi-player-hero::after {
  background: linear-gradient(180deg, rgba(1, 11, 19, 0) 0%, rgba(1, 11, 19, 0.18) 100%);
  bottom: 0;
  content: "";
  height: 36%;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
}

.pfi-player-hero .pfi-player-container {
  position: relative;
  z-index: 1;
}

.pfi-player-back {
  align-items: center;
  color: rgba(255, 255, 255, 0.72);
  display: inline-flex;
  font-size: 1.42rem;
  font-weight: 850;
  gap: 0.45rem;
  line-height: 1.2;
  margin-bottom: clamp(2.4rem, 4vw, 4rem);
  text-decoration: none;
}

.pfi-player-back::before {
  background: currentColor;
  content: "";
  display: inline-block;
  flex: 0 0 1.15rem;
  height: 1.15rem;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.8 5.2a1 1 0 0 1 0 1.4L6.4 11H20a1 1 0 1 1 0 2H6.4l4.4 4.4a1 1 0 1 1-1.4 1.4l-6.1-6.1a1 1 0 0 1 0-1.4l6.1-6.1a1 1 0 0 1 1.4 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.8 5.2a1 1 0 0 1 0 1.4L6.4 11H20a1 1 0 1 1 0 2H6.4l4.4 4.4a1 1 0 1 1-1.4 1.4l-6.1-6.1a1 1 0 0 1 0-1.4l6.1-6.1a1 1 0 0 1 1.4 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 1.15rem;
}

.pfi-player-back:hover,
.pfi-player-back:focus {
  color: var(--pfi-accent-lime);
}

.pfi-player-hero__grid {
  align-items: start;
  display: grid;
  column-gap: clamp(2rem, 5vw, 6rem);
  grid-template-columns: minmax(0, 1.08fr) minmax(28rem, 42rem);
  grid-template-rows: auto auto 1fr auto;
  min-height: clamp(42rem, 48vw, 56rem);
  position: relative;
  row-gap: clamp(1.4rem, 2.2vw, 2.8rem);
}

.pfi-player-hero__grid--no-socials {
  grid-template-columns: minmax(0, 1.08fr) minmax(28rem, 42rem);
}

.pfi-player-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.18rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.2;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.pfi-player-hero h1 {
  color: #fff;
  font-size: clamp(5.4rem, 6.2vw, 9.2rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.04;
  margin: 0;
  max-width: 68rem;
  overflow-wrap: break-word;
  text-transform: uppercase;
  text-wrap: balance;
}

.pfi-player-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 2rem;
}

.pfi-player-hero__meta span {
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.24);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.26rem;
  font-weight: 850;
  padding: 0.65rem 1.05rem;
}

.pfi-player-hero__content,
.pfi-player-hero__aside {
  padding-top: clamp(2rem, 4vw, 5rem);
  position: relative;
  z-index: 3;
}

.pfi-player-hero__content {
  grid-column: 1;
  grid-row: 1;
}

.pfi-player-hero__aside {
  display: grid;
  grid-column: 1;
  grid-row: 2;
  gap: 2.4rem;
  justify-items: start;
  padding-top: 0;
}

.pfi-player-socials {
  align-items: center;
  display: flex;
  gap: 1.2rem;
  justify-content: flex-start;
}

.pfi-player-socials > div {
  display: flex;
  gap: 0.8rem;
}

.pfi-player-social {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  height: 4.8rem;
  justify-content: center;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
  width: 4.8rem;
}

.pfi-player-social:hover,
.pfi-player-social:focus {
  background: var(--pfi-tertiary-sky);
  border-color: var(--pfi-tertiary-sky);
  color: var(--pfi-surface-dark);
  transform: translateY(-0.2rem);
}

.pfi-player-social__svg {
  fill: none;
  height: 2rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 2rem;
}

.pfi-player-social__svg [fill="currentColor"] {
  fill: currentColor;
  stroke: none;
}

.pfi-player-social__text {
  font-size: 1.2rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pfi-player-hero__stats {
  display: grid;
  gap: 1rem;
  grid-column: 1 / -1;
  grid-row: 4;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: clamp(1.2rem, 2vw, 2.4rem);
  position: relative;
  z-index: 5;
}

.pfi-player-stat {
  background: #053142;
  border: 1px solid rgba(56, 189, 248, 0.36);
  border-radius: 1.2rem;
  box-shadow: 0 1.2rem 2.6rem rgba(1, 11, 19, 0.18);
  padding: clamp(1.5rem, 2vw, 2rem);
  position: relative;
  z-index: 6;
}

.pfi-player-stat span,
.pfi-player-ranking-card span,
.pfi-player-detail span {
  color: #64748b;
  display: block;
  font-size: 1.12rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.pfi-player-stat span {
  color: rgba(255, 255, 255, 0.62);
}

.pfi-player-stat strong {
  color: var(--pfi-tertiary-sky);
  display: block;
  font-size: clamp(2.3rem, 3vw, 3.6rem);
  font-weight: 900;
  line-height: 1;
  margin-top: 0.7rem;
}

.pfi-player-hero__stats .pfi-player-stat:first-child strong {
  color: var(--pfi-accent-lime);
}

.pfi-player-stat .pfi-rankings-movement {
  display: inline-flex;
  font-size: clamp(1.7rem, 2vw, 2.4rem);
  margin-top: 0.9rem;
  min-height: 3.6rem;
  min-width: 5.8rem;
}

.pfi-player-stat .pfi-rankings-movement--up {
  background: rgba(191, 255, 0, 0.2);
  color: var(--pfi-accent-lime);
}

.pfi-player-stat .pfi-rankings-movement--down {
  background: rgba(251, 113, 133, 0.2);
  color: #fb7185;
}

.pfi-player-stat .pfi-rankings-movement--new {
  background: rgba(56, 189, 248, 0.18);
  color: var(--pfi-tertiary-sky);
}

.pfi-player-stat .pfi-rankings-movement--same {
  background: rgba(224, 224, 224, 0.18);
  color: var(--pfi-neutral-silver);
}

.pfi-player-visual {
  align-self: stretch;
  grid-column: 2;
  grid-row: 1 / 4;
  min-height: clamp(34rem, 42vw, 52rem);
  overflow: visible;
  position: relative;
  z-index: 2;
}

.pfi-player-visual__rank {
  color: var(--pfi-accent-lime);
  font-size: clamp(9rem, 12vw, 16rem);
  font-weight: 900;
  left: clamp(1.4rem, 3vw, 3rem);
  line-height: 0.82;
  position: absolute;
  top: clamp(1.2rem, 2vw, 2rem);
  z-index: 1;
}

.pfi-player-visual__image {
  align-items: flex-end;
  bottom: -5rem;
  display: flex;
  height: 118%;
  justify-content: center;
  left: 50%;
  pointer-events: none;
  position: absolute;
  transform: translateX(-50%);
  width: min(100%, 44rem);
  z-index: 2;
}

.pfi-player-visual__image .pfi-rankings-player-img,
.pfi-player-visual__image .pfi-rankings-player-fallback {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: bottom center;
  width: 100%;
}

.pfi-player-visual__image .pfi-rankings-player-img--default {
  height: 94%;
  object-fit: contain;
  object-position: bottom center;
  width: 94%;
}

.pfi-player-surface {
  background:
    linear-gradient(180deg, var(--pfi-portal-bg) 0%, var(--pfi-portal-bg-deep) 100%);
  border-top: 1px solid rgba(224, 224, 224, 0.14);
  color: #fff;
  padding: clamp(4rem, 6vw, 7rem) 0 clamp(7rem, 8vw, 10rem);
  position: relative;
}

.pfi-player-surface::before {
  background: linear-gradient(90deg, transparent 0%, rgba(56, 189, 248, 0.32) 50%, transparent 100%);
  content: "";
  height: 1px;
  left: 50%;
  max-width: min(100%, var(--max-screen-width, 1300px));
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: calc(100% - (var(--space-m, 2rem) * 2));
}

.pfi-player-layout {
  align-items: start;
  display: grid;
  gap: clamp(2.4rem, 4vw, 4rem);
  grid-template-columns: minmax(0, 1fr) minmax(28rem, 38rem);
}

.pfi-player-main,
.pfi-player-sidebar,
.pfi-player-links {
  display: grid;
  gap: 1.8rem;
}

.pfi-player-panel,
.pfi-player-card {
  background: color-mix(in srgb, var(--pfi-portal-panel-strong) 84%, transparent);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-top: 0.4rem solid var(--pfi-tertiary-sky);
  border-radius: 1.2rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.24);
  padding: clamp(2.2rem, 3vw, 3rem);
}

.pfi-player-card--mobile-details {
  display: none;
}

.pfi-player-section-heading {
  margin-bottom: 1.8rem;
}

.pfi-player-section-heading h2,
.pfi-player-card h2 {
  color: #fff;
  font-size: clamp(2.4rem, 2.8vw, 3.6rem);
  font-weight: 900;
  line-height: 1.05;
  margin: 0;
}

.pfi-player-ranking-grid {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: 1fr;
}

.pfi-player-ranking-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 1.6rem;
  box-shadow: none;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
}

.pfi-player-ranking-card > div {
  align-content: center;
  display: grid;
  min-height: 9.6rem;
  padding: 1.5rem 1.7rem;
}

.pfi-player-ranking-card > div + div {
  border-left: 1px solid rgba(224, 224, 224, 0.16);
}

.pfi-player-ranking-card span {
  color: rgba(255, 255, 255, 0.62);
}

.pfi-player-detail span {
  color: rgba(255, 255, 255, 0.62);
}

.pfi-player-ranking-card strong {
  color: #fff;
  display: inline-flex;
  font-size: clamp(2.4rem, 3vw, 3.8rem);
  font-weight: 900;
  line-height: 1;
  margin-top: 0.65rem;
}

.pfi-player-ranking-card .pfi-rankings-movement {
  align-items: center;
  background: rgba(191, 255, 0, 0.26);
  color: #315100;
  font-size: 1.3rem;
  justify-content: center;
  margin-top: 0.75rem;
  min-height: 3.1rem;
  width: fit-content;
}

.pfi-player-copy,
.pfi-player-muted {
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.62rem;
  line-height: 1.72;
}

.pfi-player-copy p,
.pfi-player-muted {
  margin: 0;
}

.pfi-player-results-wrap {
  border: 1px solid rgba(224, 224, 224, 0.16);
  border-radius: 1.2rem;
  overflow-x: auto;
}

.pfi-player-results {
  border-collapse: collapse;
  min-width: 72rem;
  width: 100%;
}

.pfi-player-results th,
.pfi-player-results td {
  border-top: 1px solid rgba(224, 224, 224, 0.14);
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.34rem;
  font-weight: 750;
  padding: 1.2rem 1rem;
  text-align: left;
}

.pfi-player-results th {
  background: rgba(56, 189, 248, 0.14);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pfi-player-muted {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(56, 189, 248, 0.22);
  border-left: 0.4rem solid var(--pfi-tertiary-sky);
  border-radius: 1rem;
  color: rgba(255, 255, 255, 0.78);
  padding: 1.5rem 1.8rem;
}

.pfi-player-sidebar {
  position: sticky;
  top: 11rem;
}

.pfi-player-card h2 {
  font-size: 2.4rem;
  margin-bottom: 1.6rem;
}

.pfi-player-detail {
  border-top: 1px solid rgba(224, 224, 224, 0.14);
  display: grid;
  gap: 0.45rem;
  padding: 1.2rem 0;
}

.pfi-player-detail:first-of-type {
  border-top: 0;
}

.pfi-player-detail strong {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 850;
  line-height: 1.35;
}

.pfi-player-detail--empty strong {
  color: rgba(255, 255, 255, 0.5);
}

.pfi-player-card--dark {
  background: rgba(0, 66, 90, 0.82);
  border-color: rgba(255, 255, 255, 0.18);
  color: #fff;
}

.pfi-player-card--dark h2 {
  color: #fff;
}

.pfi-player-card--dark .pfi-player-profile-link {
  background: var(--pfi-action-blue);
  color: #fff;
}

.pfi-player-card--dark .pfi-player-profile-link:hover,
.pfi-player-card--dark .pfi-player-profile-link:focus {
  background: var(--pfi-tertiary, #38bdf8);
  color: #fff;
}

.pfi-player-profile-link {
  align-items: center;
  background: var(--pfi-accent-lime);
  border-radius: 999px;
  color: var(--pfi-surface-dark);
  display: inline-flex;
  font-size: 1.34rem;
  font-weight: 900;
  justify-content: center;
  min-height: 4.2rem;
  padding: 0.9rem 1.3rem;
  text-decoration: none;
}

.pfi-player-profile-link:hover,
.pfi-player-profile-link:focus {
  background: #fff;
  color: var(--pfi-surface-dark);
}

@media (max-width: 980px) {
  .pfi-player-hero__grid,
  .pfi-player-layout {
    grid-template-columns: 1fr;
  }

  .pfi-player-hero__grid {
    grid-template-rows: auto;
    min-height: 0;
  }

  .pfi-player-hero__content,
  .pfi-player-hero__aside {
    padding-bottom: 0;
    text-align: center;
  }

  .pfi-player-hero__content,
  .pfi-player-visual,
  .pfi-player-hero__aside,
  .pfi-player-hero__stats {
    grid-column: 1;
    grid-row: auto;
  }

  .pfi-player-hero__content {
    order: 1;
  }

  .pfi-player-hero h1 {
    margin-inline: auto;
    max-width: 72rem;
  }

  .pfi-player-hero__meta,
  .pfi-player-socials {
    justify-content: center;
  }

  .pfi-player-hero__aside {
    justify-items: center;
    order: 3;
    padding-top: 0;
  }

  .pfi-player-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    order: 4;
    position: relative;
    inset: auto;
  }

  .pfi-player-visual {
    justify-self: center;
    margin-top: clamp(1.8rem, 7vw, 3rem);
    max-width: 42rem;
    min-height: 38rem;
    order: 2;
    width: 100%;
  }

  .pfi-player-visual__image {
    bottom: -4.8rem;
  }

  .pfi-player-sidebar {
    position: static;
  }
}

@media (max-width: 767px) {
  .pfi-player-container {
    padding-inline: 2rem;
  }

  .pfi-player-hero {
    padding: 3.2rem 0 2.8rem;
  }

  .pfi-player-hero h1 {
    font-size: clamp(3.6rem, 11.2vw, 4.2rem);
    line-height: 1.05;
    max-width: none;
  }

  .pfi-player-hero__stats,
  .pfi-player-ranking-grid {
    grid-template-columns: 1fr;
  }

  .pfi-player-ranking-card {
    grid-template-columns: 1fr;
  }

  .pfi-player-ranking-card > div {
    min-height: 0;
    padding: 1.35rem 1.5rem;
  }

  .pfi-player-ranking-card > div + div {
    border-left: 0;
    border-top: 1px solid rgba(0, 66, 90, 0.1);
  }

  .pfi-player-card--mobile-details {
    display: block;
  }

  .pfi-player-sidebar {
    display: none;
  }

  .pfi-player-detail {
    grid-template-columns: 1fr;
  }

  .pfi-player-visual {
    min-height: 38rem;
  }
}

/* ===========================================================================
   PFI Ranking Points
   =========================================================================== */

.pfi-points {
  background:
    linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%),
    var(--pfi-surface-dark);
  color: #ffffff;
  overflow: hidden;
}

.pfi-points-container {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: var(--max-screen-width, 1300px);
  padding-inline: var(--space-m, 2rem);
  width: 100%;
}

.pfi-points-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-points-hero {
  display: flex;
  min-height: 68rem;
  padding-inline: var(--space-m, 2rem);
}

.pfi-points-hero__grid {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-inline: auto;
  max-width: var(--max-screen-width, 1300px);
  min-height: 68rem;
  padding-block: 8rem;
  padding-inline: 0;
  text-align: left;
  width: 100%;
}

.pfi-points-hero__content h1 {
  color: #ffffff;
  font-size: clamp(4.6rem, 5.5vw, 6.2rem);
  font-weight: 800;
  line-height: 1;
  margin: 0;
  max-width: 88rem;
}

.pfi-points-hero__content > p:not(.pfi-points-kicker) {
  color: rgba(255, 255, 255, 0.84);
  font-size: 2rem;
  line-height: 1.55;
  margin: 2.4rem 0 0;
  max-width: 72rem;
}

.pfi-points-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
  margin-top: 3.2rem;
}

.pfi-points-hero__actions a {
  align-items: center;
  border-radius: 0.9rem;
  display: inline-flex;
  font-size: 1.5rem;
  font-weight: 900;
  justify-content: center;
  min-height: 4.8rem;
  padding: 1.3rem 2rem;
  text-decoration: none;
}

.pfi-points-hero__actions a:first-child {
  background: var(--pfi-accent-lime);
  color: var(--pfi-surface-dark);
}

.pfi-points-hero__actions a:last-child {
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #ffffff;
}

.pfi-points-status {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1.6rem;
  box-shadow: 0 2.4rem 7rem rgba(0, 0, 0, 0.24);
  padding: clamp(2.4rem, 4vw, 3.4rem);
}

.pfi-points-status span {
  color: var(--pfi-accent-lime);
  display: block;
  font-size: 1.2rem;
  font-weight: 900;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.pfi-points-status strong {
  color: #ffffff;
  display: block;
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1.1;
}

.pfi-points-status p {
  color: rgba(255, 255, 255, 0.72);
  font-size: 1.55rem;
  line-height: 1.6;
  margin: 1.4rem 0 0;
}

.pfi-points-section {
  padding: clamp(5.5rem, 8vw, 8rem) 0;
}

.pfi-points-section--surface {
  background: #f6f9fc;
  color: var(--pfi-primary-navy);
}

.pfi-points-section--matrix {
  background: #ffffff;
  color: var(--pfi-primary-navy);
}

.pfi-points-section--light {
  background: #edf5f8;
  color: var(--pfi-primary-navy);
}

.pfi-points-section--questions {
  background: linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  color: #ffffff;
}

.pfi-points-section-heading {
  margin: 0 auto clamp(3rem, 5vw, 5rem);
  max-width: 78rem;
  text-align: center;
}

.pfi-points-section-heading--left {
  margin: 0;
  max-width: 50rem;
  text-align: left;
}

.pfi-points-section-heading h2,
.pfi-points-matrix-card__intro h2,
.pfi-points-questions h2,
.pfi-points-cta h2 {
  color: inherit;
  font-size: clamp(3.2rem, 5vw, 5.6rem);
  font-weight: 900;
  line-height: 1;
  margin: 0;
}

.pfi-points-section-heading p:not(.pfi-points-kicker),
.pfi-points-matrix-card__intro p:not(.pfi-points-kicker),
.pfi-points-cta p {
  color: #53687f;
  font-size: 1.75rem;
  line-height: 1.68;
  margin: 1.6rem 0 0;
}

.pfi-points-card-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-points-card {
  background: #ffffff;
  border: 1px solid #dfe7ef;
  border-radius: 1.4rem;
  box-shadow: 0 1.6rem 4.2rem rgba(15, 23, 42, 0.08);
  min-height: 24rem;
  padding: 2.6rem;
}

.pfi-points-card__icon-wrap {
  align-items: center;
  background: rgba(56, 189, 248, 0.12);
  border-radius: 1rem;
  color: var(--pfi-tertiary-sky);
  display: inline-flex;
  height: 5.2rem;
  justify-content: center;
  margin-bottom: 2rem;
  width: 5.2rem;
}

.pfi-points-card__icon {
  height: 2.8rem;
  width: 2.8rem;
}

.pfi-points-card h3 {
  color: var(--pfi-primary-navy);
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.15;
  margin: 0;
}

.pfi-points-card p {
  color: #53687f;
  font-size: 1.55rem;
  line-height: 1.65;
  margin: 1.2rem 0 0;
}

.pfi-points-matrix-card {
  background: #ffffff;
  border: 1px solid #dfe7ef;
  border-radius: 1.8rem;
  box-shadow: 0 2.2rem 6rem rgba(15, 23, 42, 0.12);
  overflow: hidden;
}

.pfi-points-matrix-card__intro {
  background:
    linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%),
    var(--pfi-primary-navy);
  color: #ffffff;
  padding: clamp(2.8rem, 5vw, 4.5rem);
}

.pfi-points-matrix-card__intro p:not(.pfi-points-kicker) {
  color: rgba(255, 255, 255, 0.76);
  max-width: 72rem;
}

.pfi-points-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2.4rem;
}

.pfi-points-badge {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 900;
  line-height: 1;
  padding: 0.8rem 1.1rem;
  text-transform: uppercase;
}

.pfi-points-badge--lime {
  background: var(--pfi-accent-lime);
  border-color: var(--pfi-accent-lime);
  color: var(--pfi-surface-dark);
}

.pfi-points-table-wrap {
  overflow-x: auto;
  width: 100%;
}

.pfi-points-table {
  border-collapse: collapse;
  min-width: 82rem;
  width: 100%;
}

.pfi-points-table th,
.pfi-points-table td {
  border-bottom: 1px solid #e4ebf1;
  font-size: 1.55rem;
  padding: 1.8rem 2rem;
  text-align: left;
  vertical-align: middle;
}

.pfi-points-table thead th {
  background: #f4f8fb;
  color: var(--pfi-primary-navy);
  font-size: 1.2rem;
  font-weight: 900;
  text-transform: uppercase;
}

.pfi-points-table tbody th {
  color: var(--pfi-primary-navy);
  font-weight: 900;
}

.pfi-points-table td {
  color: var(--pfi-primary-navy);
  font-weight: 900;
}

.pfi-points-table--allocation th:not(:first-child),
.pfi-points-table--allocation td {
  text-align: center;
}

.pfi-points-source-note {
  border-top: 1px solid #e4ebf1;
  color: #53687f;
  font-size: 1.4rem;
  line-height: 1.6;
  margin: 0;
  padding: 2rem clamp(2rem, 4vw, 4.5rem);
}

.pfi-points-source-note a {
  color: var(--pfi-tertiary-sky);
  font-weight: 800;
  text-decoration: none;
}

.pfi-points-source-note a:hover,
.pfi-points-source-note a:focus-visible {
  color: var(--pfi-primary-navy);
  text-decoration: underline;
}

.pfi-points-apply-list {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pfi-points-apply-list article {
  border-top: 1px solid #e4ebf1;
  padding: clamp(2.2rem, 4vw, 3rem);
}

.pfi-points-apply-list article:nth-child(odd) {
  border-right: 1px solid #e4ebf1;
}

.pfi-points-apply-list strong {
  color: var(--pfi-primary-navy);
  display: block;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.2;
}

.pfi-points-apply-list p {
  color: #53687f;
  font-size: 1.5rem;
  line-height: 1.6;
  margin: 1rem 0 0;
}

.pfi-points-questions {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 6vw, 6rem);
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
}

.pfi-points-questions ul {
  display: grid;
  gap: 1.2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pfi-points-questions li {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 1rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.6rem;
  line-height: 1.55;
  padding: 1.5rem 1.7rem;
}

.pfi-points-cta {
  background: #ffffff;
  color: var(--pfi-primary-navy);
  padding: clamp(5rem, 7vw, 8rem) var(--space-m, 2rem);
}

.pfi-points-cta__inner {
  align-items: center;
  background: #f2f8ff;
  border: 1px solid #dbeafe;
  border-radius: 0.8rem;
  box-shadow: 0 1.4rem 3.6rem rgba(15, 23, 42, 0.09);
  color: var(--pfi-primary-navy);
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 96rem;
  padding: clamp(3.2rem, 5vw, 5.2rem);
  text-align: center;
}

.pfi-points-cta h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(3rem, 3.4vw, 4.4rem);
  font-weight: 800;
  line-height: 1.12;
  margin: 0 0 1.4rem;
}

.pfi-points-cta p {
  color: #4b5563;
  font-size: clamp(1.65rem, 1.5vw, 2rem);
  line-height: 1.55;
  margin: 0;
  max-width: 66rem;
}

.pfi-points-cta__inner > a {
  align-items: center;
  background: var(--pfi-action-blue);
  border: 1px solid var(--pfi-action-blue);
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  font-size: 1.6rem;
  font-weight: 800;
  justify-content: center;
  min-height: 4.8rem;
  padding: 1.2rem 2.6rem;
  text-decoration: none;
}

@media (max-width: 991px) {
  .pfi-points-hero,
  .pfi-points-hero__grid {
    min-height: 62rem;
  }

  .pfi-points-hero__content h1 {
    font-size: 4.8rem;
  }

  .pfi-points-hero__content > p:not(.pfi-points-kicker) {
    font-size: 1.8rem;
  }

  .pfi-points-questions {
    grid-template-columns: 1fr;
  }

  .pfi-points-card-grid {
    grid-template-columns: 1fr;
  }

  .pfi-points-section-heading,
  .pfi-points-section-heading--left {
    margin-inline: auto;
    text-align: center;
  }

  .pfi-points-cta__inner {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .pfi-points-hero,
  .pfi-points-hero__grid {
    min-height: auto;
  }

  .pfi-points-hero__grid {
    margin-inline: 0;
    padding-block: 5.2rem;
  }

  .pfi-points-hero__content h1 {
    font-size: clamp(3.05rem, 8.6vw, 3.35rem);
    line-height: 1.04;
  }

  .pfi-points-hero__content > p:not(.pfi-points-kicker) {
    font-size: 1.52rem;
    line-height: 1.55;
    margin-top: 1.8rem;
  }

  .pfi-points-hero__actions,
  .pfi-points-badge-row {
    align-items: stretch;
    flex-direction: column;
    gap: 0.9rem;
    margin-top: 2.2rem;
  }

  .pfi-points-hero__actions a,
  .pfi-points-cta__inner > a {
    border-radius: 1.2rem;
    min-height: 4.4rem;
    padding: 1.2rem 1.6rem;
    width: 100%;
  }

  .pfi-points-status {
    display: none;
  }

  .pfi-points-apply-list {
    grid-template-columns: 1fr;
  }

  .pfi-points-apply-list article:nth-child(odd) {
    border-right: 0;
  }

  .pfi-points-table th,
  .pfi-points-table td {
    padding: 1.5rem;
  }

  .pfi-points-cta {
    padding: 3.8rem 0;
  }

  .pfi-points-cta__inner {
    border-radius: 1.2rem;
    box-sizing: border-box;
    margin-inline: auto;
    max-width: calc(100% - 3.2rem);
    padding: 2.2rem 1.8rem;
    width: calc(100% - 3.2rem);
  }

  .pfi-points-cta__inner > a {
    box-sizing: border-box;
    max-width: 100%;
  }
}

/* ===========================================================================
   PFI Referee And Officials
   =========================================================================== */

.pfi-officials {
  background: #f4f8fb;
  color: var(--pfi-primary-navy);
  overflow: hidden;
}

.pfi-officials-container {
  margin: 0 auto;
  max-width: var(--max-screen-width, 1300px);
  padding-inline: var(--space-m, 2rem);
  width: 100%;
}

.pfi-officials-kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-officials-hero {
  background: linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  color: #ffffff;
  padding: clamp(7rem, 10vw, 12rem) var(--space-m, 2rem) clamp(5.5rem, 8vw, 8rem);
  position: relative;
}

.pfi-officials-hero::after {
  background: linear-gradient(180deg, transparent 58%, rgba(1, 11, 19, 0.18));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.pfi-officials-hero__grid {
  align-items: end;
  display: grid;
  gap: clamp(3rem, 6vw, 7rem);
  grid-template-columns: minmax(0, 78rem);
  justify-content: start;
  padding-inline: 0;
  position: relative;
  z-index: 1;
}

.pfi-officials-hero__content h1 {
  color: #ffffff;
  font-size: 6.2rem;
  font-weight: 900;
  line-height: 1;
  margin: 0;
  max-width: 92rem;
}

.pfi-officials-hero__content > p:not(.pfi-officials-kicker) {
  color: rgba(255, 255, 255, 0.78);
  font-size: 2rem;
  line-height: 1.65;
  margin: 2.4rem 0 0;
  max-width: 74rem;
}

.pfi-officials-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 3.2rem;
}

.pfi-officials-button {
  align-items: center;
  border-radius: 0.9rem;
  display: inline-flex;
  font-size: 1.5rem;
  font-weight: 900;
  justify-content: center;
  min-height: 4.8rem;
  padding: 1.3rem 2rem;
  text-decoration: none;
}

.pfi-officials-button--lime {
  background: var(--pfi-accent-lime);
  color: var(--pfi-surface-dark);
}

.pfi-officials-button--ghost {
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
}

.pfi-officials-status {
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1.6rem;
  box-shadow: 0 2.4rem 7rem rgba(0, 0, 0, 0.24);
  padding: clamp(2.4rem, 4vw, 3.4rem);
}

.pfi-officials-status > span {
  color: var(--pfi-accent-lime);
  display: block;
  font-size: 1.2rem;
  font-weight: 900;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.pfi-officials-status > strong {
  color: #ffffff;
  display: block;
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1.12;
}

.pfi-officials-status__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2.4rem;
}

.pfi-officials-status__grid div {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 1rem;
  padding: 1.4rem 1rem;
}

.pfi-officials-status__grid strong,
.pfi-officials-status__grid span {
  display: block;
  text-align: center;
}

.pfi-officials-status__grid strong {
  color: #ffffff;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
}

.pfi-officials-status__grid span {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 0.7rem;
}

.pfi-officials-section {
  padding: clamp(5.5rem, 8vw, 8rem) 0;
}

.pfi-officials-section--intro,
.pfi-officials-section--resources {
  background: #f4f8fb;
}

.pfi-officials-section--pathway {
  background: #ffffff;
}

.pfi-officials-section--spotlight {
  background: linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  color: #ffffff;
}

.pfi-officials-heading {
  margin: 0 auto clamp(3rem, 5vw, 5rem);
  max-width: 82rem;
  text-align: center;
}

.pfi-officials-heading h2,
.pfi-officials-pathway__intro h2,
.pfi-officials-spotlight h2 {
  color: inherit;
  font-size: clamp(3.2rem, 5vw, 5.8rem);
  font-weight: 900;
  line-height: 1;
  margin: 0;
}

.pfi-officials-heading p:not(.pfi-officials-kicker),
.pfi-officials-pathway__intro p {
  color: #53687f;
  font-size: 1.75rem;
  line-height: 1.68;
  margin: 1.6rem 0 0;
}

.pfi-officials-feature-grid,
.pfi-officials-resource-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pfi-officials-feature,
.pfi-officials-resource {
  background: #ffffff;
  border: 1px solid #dfe7ef;
  border-radius: 1.4rem;
  box-shadow: 0 1.6rem 4.2rem rgba(15, 23, 42, 0.08);
  min-height: 24rem;
  padding: 2.6rem;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

a.pfi-officials-resource:hover,
a.pfi-officials-resource:focus {
  border-color: color-mix(in srgb, var(--pfi-tertiary-sky) 42%, #dfe7ef);
  box-shadow: 0 2rem 5rem rgba(15, 23, 42, 0.12);
  transform: translateY(-0.2rem);
}

.pfi-officials-feature__icon,
.pfi-officials-resource > span {
  align-items: center;
  background: rgba(56, 189, 248, 0.12);
  border-radius: 1rem;
  color: var(--pfi-tertiary-sky);
  display: inline-flex;
  height: 5.2rem;
  justify-content: center;
  margin-bottom: 2rem;
  width: 5.2rem;
}

.pfi-officials-feature__svg,
.pfi-officials-resource__icon {
  height: 2.8rem;
  width: 2.8rem;
}

.pfi-officials-feature h3,
.pfi-officials-resource h3 {
  color: var(--pfi-primary-navy);
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.15;
  margin: 0;
}

.pfi-officials-feature p,
.pfi-officials-resource p {
  color: #53687f;
  font-size: 1.55rem;
  line-height: 1.65;
  margin: 1.2rem 0 0;
}

.pfi-officials-resource__cta {
  color: var(--pfi-tertiary-sky);
  display: inline-flex;
  font-size: 1.36rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  margin-top: 1.6rem;
  text-transform: uppercase;
}

.pfi-officials-pathway {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 6vw, 6rem);
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
}

.pfi-officials-pathway__intro {
  position: sticky;
  top: 11rem;
}

.pfi-officials-step-list {
  display: grid;
  gap: 1.4rem;
}

.pfi-officials-step {
  align-items: start;
  background: #f6f9fc;
  border: 1px solid #dfe7ef;
  border-radius: 1.3rem;
  display: grid;
  gap: 0.45rem 1.6rem;
  grid-template-columns: 4.4rem minmax(0, 1fr);
  padding: 2rem;
}

.pfi-officials-step > span {
  align-items: center;
  background: var(--pfi-primary-navy);
  border-radius: 1rem;
  color: var(--pfi-accent-lime);
  display: inline-flex;
  font-size: 1.35rem;
  font-weight: 900;
  height: 4.4rem;
  justify-content: center;
  width: 4.4rem;
}

.pfi-officials-step > div {
  min-width: 0;
}

.pfi-officials-step h3 {
  color: var(--pfi-primary-navy);
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1.16;
  margin: 0;
}

.pfi-officials-step p {
  color: #53687f;
  font-size: 1.55rem;
  line-height: 1.62;
  margin: 0.8rem 0 0;
}

.pfi-officials-spotlight {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 6vw, 6rem);
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
}

.pfi-officials-spotlight ul {
  display: grid;
  gap: 1.2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pfi-officials-spotlight li {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 1rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.6rem;
  line-height: 1.55;
  padding: 1.5rem 1.7rem;
}

.pfi-officials-spotlight li::before,
.pfi-points-questions li::before {
  color: var(--pfi-accent-lime);
  content: "\2192";
  font-weight: 900;
  margin-right: 0.9rem;
}

@media (max-width: 1180px) {
  .pfi-officials-hero__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  .pfi-officials-pathway,
  .pfi-officials-spotlight {
    grid-template-columns: 1fr;
  }

  .pfi-officials-pathway__intro {
    position: static;
  }

  .pfi-officials-feature-grid,
  .pfi-officials-resource-grid {
    grid-template-columns: 1fr;
  }

  .pfi-officials-heading,
  .pfi-officials-pathway__intro {
    margin-inline: auto;
    max-width: 78rem;
    text-align: center;
  }
}

@media (max-width: 767px) {
  .pfi-officials-hero {
    padding: 5.2rem var(--space-m, 2rem) 5rem;
  }

  .pfi-officials-hero__content h1 {
    font-size: clamp(3.1rem, 8.7vw, 3.55rem);
    line-height: 1.04;
  }

  .pfi-officials-hero__content > p:not(.pfi-officials-kicker) {
    font-size: 1.5rem;
    line-height: 1.55;
    margin-top: 1.7rem;
  }

  .pfi-officials-hero__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 0.9rem;
    margin-top: 2.2rem;
  }

  .pfi-officials-button {
    border-radius: 1.2rem;
    min-height: 4.4rem;
    padding: 1.2rem 1.6rem;
    width: 100%;
  }

  .pfi-officials-status {
    display: none;
  }

  .pfi-officials-status__grid {
    grid-template-columns: 1fr;
  }

  .pfi-officials-step {
    gap: 0.35rem 1.2rem;
    grid-template-columns: 4rem minmax(0, 1fr);
    padding: 1.5rem;
  }

  .pfi-officials-step > span {
    height: 4rem;
    width: 4rem;
  }
}

/* PFI Legal / Policy Pages */
.pfi-legal-page {
  background: #f6f9fc;
  color: var(--pfi-primary-navy);
}

.pfi-legal-page__hero {
  background: linear-gradient(135deg, #053142 0%, #053142 34%, var(--pfi-primary-navy) 100%);
  color: #fff;
  padding: clamp(6.4rem, 9vw, 9.5rem) 0 clamp(5rem, 7vw, 7rem);
}

.pfi-legal-page__container {
  margin: 0 auto;
  max-width: 112rem;
  padding: 0 2.4rem;
  width: 100%;
}

.pfi-legal-page__hero .pfi-legal-page__container {
  max-width: 112rem;
}

.pfi-legal-page__kicker {
  color: var(--pfi-accent-lime);
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

.pfi-legal-page h1 {
  color: #fff;
  font-size: clamp(4rem, 5.4vw, 5.8rem);
  line-height: 1.03;
  margin: 0;
  max-width: 82rem;
}

.pfi-legal-page__intro {
  color: rgba(255, 255, 255, 0.83);
  font-size: clamp(1.7rem, 1.6vw, 1.95rem);
  line-height: 1.6;
  margin: 2rem 0 0;
  max-width: 78rem;
}

.pfi-legal-page__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.4rem;
  margin-top: 2.4rem;
}

.pfi-legal-page__meta span {
  align-items: center;
  color: rgba(255, 255, 255, 0.82);
  display: inline-flex;
  font-size: 1.32rem;
  font-weight: 700;
}

.pfi-legal-page__section {
  padding: clamp(4.8rem, 7vw, 7rem) 0;
}

.pfi-legal-page__document {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 0.8rem;
  box-shadow: 0 1.6rem 4rem rgba(1, 11, 19, 0.06);
  margin: 0 auto;
  max-width: 92rem;
  padding: clamp(3rem, 5vw, 5.6rem);
}

.pfi-legal-page__panel {
  border-top: 1px solid rgba(0, 66, 90, 0.12);
  padding: clamp(2.4rem, 4vw, 3.6rem) 0;
}

.pfi-legal-page__panel:first-child {
  border-top: 0;
  padding-top: 0;
}

.pfi-legal-page__panel h2,
.pfi-legal-page__footer h2 {
  color: var(--pfi-primary-navy);
  font-size: clamp(2.1rem, 2.4vw, 2.8rem);
  line-height: 1.18;
  margin: 0 0 1.2rem;
}

.pfi-legal-page__panel p,
.pfi-legal-page__footer p,
.pfi-legal-page__footer a {
  color: #475569;
  font-size: 1.62rem;
  line-height: 1.72;
}

.pfi-legal-page__panel p,
.pfi-legal-page__footer p {
  margin: 0;
}

.pfi-legal-page__panel p + p {
  margin-top: 1.2rem;
}

.pfi-legal-page__footer {
  background: #f6f9fc;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 0.8rem;
  margin-top: clamp(2.4rem, 4vw, 3.8rem);
  padding: clamp(2.2rem, 3.4vw, 3rem);
}

.pfi-legal-page__footer nav {
  display: grid;
  gap: 0.8rem;
  margin-top: 1.8rem;
}

.pfi-legal-page__footer a {
  color: var(--pfi-soft-accent-blue);
  display: inline-flex;
  width: max-content;
  font-weight: 800;
  text-decoration: none;
}

.pfi-legal-page__footer a::after {
  content: none;
}

.pfi-legal-page__footer a:hover,
.pfi-legal-page__footer a:focus {
  color: var(--pfi-action-blue-hover);
}

@media (max-width: 767px) {
  .pfi-legal-page__container {
    padding: 0 1.8rem;
  }

  .pfi-legal-page h1 {
    font-size: clamp(3.2rem, 9vw, 4rem);
  }

  .pfi-legal-page__intro,
  .pfi-legal-page__panel p,
  .pfi-legal-page__footer p,
  .pfi-legal-page__footer a {
    font-size: 1.5rem;
  }

  .pfi-legal-page__document {
    border-radius: 0;
    margin-inline: -1.8rem;
    padding: 3rem 1.8rem;
  }

  .pfi-legal-page__footer a {
    width: fit-content;
  }
}

/* ==========================================================================
   PFI Soft Icon Blue
   ========================================================================== */

.pfi-explore-icon,
.tournament-detail-icon,
.coach-home-base-card__placeholder-icon,
body.single-coach .coach-home-base-card__placeholder-icon,
.club-coach-card__placeholder-icon,
.coach-directory-card__placeholder,
.coach-directory-card__placeholder-icon,
.pfi-county-stat-icon,
body.tax-county #brxe-icothr,
body.tax-county #brxe-icofor,
.pfi-home-pathway-card__icon-wrap,
.pfi-home-competition .pfi-tournament-stats__icon,
.pfi-play-card__icon-wrap,
.pfi-learning-basic__icon-wrap,
.pfi-learning-step__icon-wrap,
.pfi-learning-next__icon-wrap,
.pfi-rules-overview-card__icon-wrap,
.pfi-rules-overview-next-grid__icon-wrap,
.pfi-coaching-card__icon-wrap,
.pfi-course-value__icon,
.pfi-course-requirement__icon,
.pfi-support-card__icon,
.pfi-support-link__icon,
.pfi-support-next-link__icon,
.pfi-coaching-faq-card span,
.pfi-hub-section--light .pfi-hub-card__icon-wrap,
.pfi-competition-detail-summary-card__icon,
.pfi-who-detail-summary-card__icon,
.pfi-membership-detail__summary-icon,
.pfi-national-section--light .pfi-national-card__icon,
.pfi-national-section--documents .pfi-national-document__icon,
.pfi-national--national-team-documents .pfi-national-section--resources .pfi-national-resource__icon,
.pfi-programme-card__icon-wrap,
.pfi-programme-step__icon-wrap,
.pfi-programme-resource__icon-wrap,
.pfi-official-doc__summary-icon,
.pfi-news-card__placeholder-icon,
.pfi-tournament-stats__icon,
.pfi-tournament-card__icon,
body.page-id-425 #brxe-stic03,
body.page-id-425 #brxe-fkjzxm::before,
body.page-id-425 #brxe-bzxxov::before,
body.page-id-425 #brxe-faqacc .x-accordion_icon,
body.page-id-663 #brxe-stic03,
body.page-id-663 #brxe-faqacc .x-accordion_icon {
  color: var(--pfi-icon-blue) !important;
}

.pfi-home-pathway-card__icon-wrap,
.pfi-play-card__icon-wrap,
.pfi-learning-basic__icon-wrap,
.pfi-learning-step__icon-wrap,
.pfi-learning-next__icon-wrap,
.pfi-rules-overview-card__icon-wrap,
.pfi-rules-overview-next-grid__icon-wrap,
.pfi-coaching-card__icon-wrap,
.pfi-support-card__icon,
.pfi-support-link__icon,
.pfi-support-next-link__icon,
.pfi-coaching-faq-card span,
.pfi-hub-section--light .pfi-hub-card__icon-wrap,
.pfi-competition-detail-summary-card__icon,
.pfi-who-detail-summary-card__icon,
.pfi-membership-detail__summary-icon,
.pfi-national-section--light .pfi-national-card__icon,
.pfi-national-section--documents .pfi-national-document__icon,
.pfi-national--national-team-documents .pfi-national-section--resources .pfi-national-resource__icon,
.pfi-programme-card__icon-wrap,
.pfi-programme-step__icon-wrap,
.pfi-programme-resource__icon-wrap,
.pfi-official-doc__summary-icon,
.pfi-news-card__placeholder-icon,
.coach-directory-card__placeholder {
  background: var(--pfi-icon-blue-bg);
  border-color: var(--pfi-icon-blue-border);
}

.pfi-play-safety .pfi-play-card--compact .pfi-play-card__icon-wrap,
.pfi-coaching-standards .pfi-coaching-card--compact .pfi-coaching-card__icon-wrap,
.pfi-hub--compete .pfi-hub-card--compact .pfi-hub-card__icon-wrap {
  background: rgba(191, 255, 0, 0.1);
  border-color: rgba(191, 255, 0, 0.22);
  color: var(--pfi-accent-lime) !important;
}

/* ==========================================================================
   PFI Soft Interaction Blue
   ========================================================================== */

.pfi-rules-tabs__card li::before,
.pfi-course-level-card li::before,
.pfi-support-checklist li::before,
.pfi-competition-detail-section li::before,
.pfi-who-detail-section li::before,
.pfi-membership-detail__panel li::before,
.pfi-official-doc__section li::before,
.pfi-rule-page__list li::before,
body.page-id-1281 .pfi-submit-club-pathway li::before,
body.page-id-664 .pfi-submit-coach-pathway li::before,
body.page-id-664 .pfi-submit-coach-checklist ul li::before,
body.page-id-672 .pfi-host-tournament-pathway li::before {
  background: var(--pfi-soft-accent-blue) !important;
}

.pfi-competition-detail-section li::before,
.pfi-official-doc--code-of-conduct .pfi-official-doc__section li::before,
.pfi-official-doc--anti-doping .pfi-official-doc__section li::before,
.pfi-official-doc--club-standards .pfi-official-doc__section li::before,
.pfi-official-doc--safeguarding .pfi-official-doc__section li::before,
.pfi-official-doc--child-protection .pfi-official-doc__section li::before,
.pfi-official-doc--complaints-procedure .pfi-official-doc__section li::before,
.pfi-official-doc--disciplinary-code .pfi-official-doc__section li::before,
.pfi-official-doc--ethics-compliance .pfi-official-doc__section li::before,
.pfi-official-doc--constitution .pfi-official-doc__section li::before,
body.page-id-1281 .pfi-submit-club-pathway li::before,
body.page-id-664 .pfi-submit-coach-pathway li::before,
body.page-id-664 .pfi-submit-coach-checklist ul li::before,
body.page-id-672 .pfi-host-tournament-pathway li::before {
  box-shadow: 0 0 0 0.3rem var(--pfi-soft-accent-blue-shadow) !important;
}

.pfi-learning-next:hover,
.pfi-learning-next:focus,
.pfi-rules-overview-next-grid a:hover,
.pfi-rules-overview-next-grid a:focus,
.pfi-support-next-link:hover,
.pfi-support-next-link:focus,
.pfi-programme-resource:hover,
.pfi-programme-resource:focus,
.pfi-membership-detail__aside-link:hover,
.pfi-membership-detail__aside-link:focus {
  border-color: var(--pfi-soft-accent-blue-border) !important;
}

.pfi-competition-detail-toc a:hover,
.pfi-competition-detail-toc a:focus-visible,
.pfi-competition-detail-related a:hover,
.pfi-competition-detail-related a:focus-visible,
.pfi-who-detail-toc a:hover,
.pfi-who-detail-toc a:focus-visible,
.pfi-who-detail-related a:hover,
.pfi-who-detail-related a:focus-visible,
.pfi-official-doc__toc a:hover,
.pfi-official-doc__toc a:focus-visible,
.pfi-official-doc__toc a.is-active {
  background: var(--pfi-soft-accent-blue-bg) !important;
  color: var(--pfi-soft-accent-blue) !important;
}

.pfi-membership-detail__aside-link::after,
.pfi-membership-detail__aside-link:hover,
.pfi-membership-detail__aside-link:focus {
  color: var(--pfi-soft-accent-blue) !important;
}

/* ==========================================================================
   PFI Step Number Badges
   ========================================================================== */

.pfi-course-steps span,
.pfi-support-steps span,
.pfi-membership-detail__step > span,
.pfi-national-step > span,
.pfi-rules-nav-card__number {
  align-items: center;
  background: var(--pfi-primary-navy);
  border-radius: 1rem;
  color: var(--pfi-accent-lime) !important;
  display: inline-flex;
  flex: 0 0 4.4rem;
  font-size: 1.35rem;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  height: 4.4rem;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  width: 4.4rem;
}

/* ==========================================================================
   PFI Membership Pricing Icon Exception
   ========================================================================== */

.pfi-membership-detail__price-card .pfi-membership-detail__summary-icon {
  background: rgba(191, 255, 0, 0.12) !important;
  border-color: rgba(191, 255, 0, 0.22) !important;
  color: var(--pfi-accent-lime) !important;
}

/* ==========================================================================
   PFI Sidebar Text Links
   ========================================================================== */

.pfi-who-detail .pfi-who-detail-toc a:hover,
.pfi-who-detail .pfi-who-detail-toc a:focus-visible,
.pfi-who-detail .pfi-who-detail-related a:hover,
.pfi-who-detail .pfi-who-detail-related a:focus-visible,
.pfi-competition-detail .pfi-competition-detail-toc a:hover,
.pfi-competition-detail .pfi-competition-detail-toc a:focus-visible,
.pfi-competition-detail .pfi-competition-detail-related a:hover,
.pfi-competition-detail .pfi-competition-detail-related a:focus-visible {
  background: #f5f8fb !important;
  color: var(--pfi-soft-accent-blue) !important;
}

/* ==========================================================================
   PFI Official Document Contents Links
   ========================================================================== */

.pfi-official-doc .pfi-official-doc__toc a:hover,
.pfi-official-doc .pfi-official-doc__toc a:focus,
.pfi-official-doc .pfi-official-doc__toc a.is-active {
  background: #f5f8fb !important;
  border-color: var(--pfi-soft-accent-blue-border) !important;
  color: var(--pfi-soft-accent-blue) !important;
  transform: translateX(0.2rem);
}

@media (max-width: 767px) {
  .pfi-learning,
  .pfi-programme {
    overflow-x: hidden;
  }

  .pfi-learning-hero,
  .pfi-programme-hero {
    box-sizing: border-box;
    max-width: 100vw;
    overflow: hidden;
  }

  .pfi-learning-hero__inner,
  .pfi-programme-hero__inner {
    box-sizing: border-box;
    margin-inline: 0;
    max-width: min(100%, 32rem);
    min-width: 0;
    width: 100%;
  }

  .pfi-learning-hero__inner,
  .pfi-programme-hero__inner {
    max-width: min(100%, 34rem);
  }

  .pfi-learning-hero__title,
  .pfi-programme-hero__title,
  .pfi-learning-hero__text,
  .pfi-programme-hero__text {
    max-width: 100%;
  }

  .pfi-learning-hero__title,
  .pfi-programme-hero__title {
    font-size: clamp(2.55rem, 6.55vw, 2.8rem) !important;
    overflow-wrap: break-word;
    width: min(100%, 32rem);
  }


  .pfi-learning-hero__text,
  .pfi-programme-hero__text {
    overflow-wrap: break-word;
    width: min(100%, 32rem);
  }

  .pfi-learning-hero__title span,
  .pfi-programme-hero__title span {
    max-width: 100%;
    white-space: normal;
  }

  .pfi-learning--equipment-guide .pfi-learning-hero__inner,
  .pfi-learning--training-tips .pfi-learning-hero__inner,
  .pfi-programme--junior-padel .pfi-programme-hero__inner,
  .pfi-programme--schools-padel .pfi-programme-hero__inner {
    max-width: min(100%, 35rem);
  }

  .pfi-learning--equipment-guide .pfi-learning-hero__title,
  .pfi-learning--training-tips .pfi-learning-hero__title {
    font-size: clamp(2.42rem, 6.25vw, 2.68rem) !important;
    width: min(100%, 35rem);
  }

  .pfi-programme--junior-padel .pfi-programme-hero__title,
  .pfi-programme--schools-padel .pfi-programme-hero__title {
    font-size: clamp(2.35rem, 6.05vw, 2.62rem) !important;
    width: min(100%, 35rem);
  }

  .pfi-learning--beginner-guide .pfi-learning-hero__inner,
  .pfi-learning--injury-prevention .pfi-learning-hero__inner,
  .pfi-programme--padel-for-kids .pfi-programme-hero__inner,
  .pfi-programme--women-in-padel .pfi-programme-hero__inner,
  .pfi-programme--inclusive-padel .pfi-programme-hero__inner {
    max-width: min(100%, 36rem);
  }

  .pfi-learning--beginner-guide .pfi-learning-hero__title,
  .pfi-learning--injury-prevention .pfi-learning-hero__title,
  .pfi-programme--padel-for-kids .pfi-programme-hero__title,
  .pfi-programme--inclusive-padel .pfi-programme-hero__title {
    font-size: clamp(2.28rem, 5.85vw, 2.5rem) !important;
    width: min(100%, 36rem);
  }

  .pfi-learning--beginner-guide .pfi-learning-hero__title span,
  .pfi-learning--injury-prevention .pfi-learning-hero__title span,
  .pfi-programme--padel-for-kids .pfi-programme-hero__title span,
  .pfi-programme--inclusive-padel .pfi-programme-hero__title span {
    white-space: nowrap;
  }

  .pfi-programme--women-in-padel .pfi-programme-hero__title {
    display: block;
    font-size: clamp(2.38rem, 6.05vw, 2.6rem) !important;
    width: min(100%, 36rem);
  }

  .pfi-programme--women-in-padel .pfi-programme-hero__title span {
    display: inline;
    white-space: normal;
  }

  .pfi-programme--women-in-padel .pfi-programme-hero__title span:not(:last-child)::after {
    content: " ";
  }

  .pfi-programme--senior-padel .pfi-programme-hero__inner,
  .pfi-programme--powered-by-kildare-village .pfi-programme-hero__inner {
    padding-top: clamp(2.8rem, 7vw, 3.4rem);
  }

  /* Final visual QA mobile guards for the homepage and consent banner. */
  body.page-id-654 .pfi-home-sponsors__list {
    display: grid !important;
    gap: 1rem 0.9rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-items: center !important;
    width: 100% !important;
  }

  body.page-id-654 .pfi-home-sponsors__item {
    max-width: 100% !important;
    width: 100% !important;
  }

  body.page-id-654 .pfi-home-sponsors__item:nth-child(4) {
    grid-column: 2 !important;
    justify-self: center !important;
    max-width: 100% !important;
  }

  body.page-id-654 .pfi-home-sponsors__link {
    max-width: 100% !important;
    width: 100% !important;
  }

  body.page-id-654 .pfi-home-sponsors__logo {
    max-width: min(100%, 7.2rem) !important;
  }

  .snn-cookie-banner .snn-banner-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .snn-cookie-banner .snn-banner-buttons .snn-button {
    min-width: 0 !important;
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  body.page-id-654 {
    overflow-x: hidden;
  }

  body.page-id-654 .pfi-home,
  body.page-id-654 .pfi-home-sponsors,
  body.page-id-654 .pfi-home-hero,
  body.page-id-654 .pfi-home-stats {
    max-width: 100vw;
    overflow-x: hidden;
  }

  body.page-id-654 .pfi-home-hero__inner,
  body.page-id-654 .pfi-home-section-container,
  body.page-id-654 .pfi-home-hero__content {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
  }

  body.page-id-654 .pfi-home-hero__lead,
  body.page-id-654 .pfi-home-section-text {
    max-width: min(34rem, 100%);
    width: 100%;
  }

  body.page-id-654 .pfi-home-sponsors__list {
    box-sizing: border-box;
    width: 100%;
  }

  body.page-id-654 .pfi-home-sponsors__logo {
    max-width: min(100%, 9rem);
  }

  .snn-cookie-banner {
    box-sizing: border-box !important;
    left: 1rem !important;
    max-width: calc(100vw - 2rem) !important;
    right: 1rem !important;
    width: auto !important;
  }
}

@media (max-width: 991px) {
  body.single-tournament #brx-content,
  body.single-tournament #brxe-trnsgsec,
  body.single-community_event #brx-content,
  body.single-community_event #brxe-trnsgsec {
    box-sizing: border-box !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    width: auto !important;
  }

  body.single-tournament #brxe-trnsgsec,
  body.single-community_event #brxe-trnsgsec {
    --pfi-tournament-mobile-gutter: clamp(2rem, 6vw, 2.6rem);
    padding-left: var(--pfi-tournament-mobile-gutter) !important;
    padding-right: var(--pfi-tournament-mobile-gutter) !important;
  }

  body.single-tournament #brxe-trnsgcon,
  body.single-tournament #brxe-trnsgcon > *,
  body.single-tournament #brxe-trnsgmain,
  body.single-tournament #brxe-trnsgimg,
  body.single-tournament #brxe-trnsgover,
  body.single-tournament #brxe-trnsgcontent,
  body.single-tournament #brxe-trnsgside,
  body.single-tournament .pfi-tournament-featured,
  body.single-tournament .pfi-tournament-featured__frame,
  body.single-tournament .pfi-tournament-overview,
  body.single-tournament .pfi-tournament-fact,
  body.single-tournament .pfi-tournament-fact__header,
  body.single-tournament .pfi-tournament-fact__grid,
  body.single-tournament .pfi-tournament-fact__card,
  body.single-tournament .pfi-tournament-detail,
  body.single-community_event #brxe-trnsgcon,
  body.single-community_event #brxe-trnsgcon > *,
  body.single-community_event #brxe-trnsgmain,
  body.single-community_event #brxe-trnsgimg,
  body.single-community_event #brxe-trnsgover,
  body.single-community_event #brxe-trnsgcontent,
  body.single-community_event #brxe-trnsgceinfo,
  body.single-community_event #brxe-trnsgside,
  body.single-community_event .pfi-tournament-featured,
  body.single-community_event .pfi-tournament-featured__frame,
  body.single-community_event .pfi-tournament-overview,
  body.single-community_event .pfi-tournament-fact,
  body.single-community_event .pfi-tournament-fact__header,
  body.single-community_event .pfi-tournament-fact__grid,
  body.single-community_event .pfi-tournament-fact__card,
  body.single-community_event .pfi-tournament-detail {
    box-sizing: border-box !important;
    max-width: calc(100vw - (var(--pfi-tournament-mobile-gutter, 2rem) * 2)) !important;
    min-width: 0 !important;
    width: calc(100vw - (var(--pfi-tournament-mobile-gutter, 2rem) * 2)) !important;
  }

  body.single-tournament #brxe-trnsgcon,
  body.single-tournament #brxe-trnsgmain,
  body.single-tournament #brxe-trnsgimg,
  body.single-tournament #brxe-trnsgover,
  body.single-tournament #brxe-trnsgcontent,
  body.single-tournament #brxe-trnsgside,
  body.single-tournament .pfi-tournament-featured,
  body.single-tournament .pfi-tournament-featured__frame,
  body.single-tournament .pfi-tournament-overview,
  body.single-tournament .pfi-tournament-fact,
  body.single-tournament .pfi-tournament-fact__header,
  body.single-tournament .pfi-tournament-fact__grid,
  body.single-tournament .pfi-tournament-fact__card,
  body.single-tournament .pfi-tournament-detail,
  body.single-community_event #brxe-trnsgcon,
  body.single-community_event #brxe-trnsgmain,
  body.single-community_event #brxe-trnsgimg,
  body.single-community_event #brxe-trnsgover,
  body.single-community_event #brxe-trnsgcontent,
  body.single-community_event #brxe-trnsgceinfo,
  body.single-community_event #brxe-trnsgside,
  body.single-community_event .pfi-tournament-featured,
  body.single-community_event .pfi-tournament-featured__frame,
  body.single-community_event .pfi-tournament-overview,
  body.single-community_event .pfi-tournament-fact,
  body.single-community_event .pfi-tournament-fact__header,
  body.single-community_event .pfi-tournament-fact__grid,
  body.single-community_event .pfi-tournament-fact__card,
  body.single-community_event .pfi-tournament-detail {
    max-width: calc(100vw - 5.2rem) !important;
    width: calc(100vw - 5.2rem) !important;
  }

  body.single-tournament #brxe-trnsgtitle,
  body.single-tournament .pfi-tournament-overview p,
  body.single-tournament .pfi-tournament-fact__header p,
  body.single-tournament .pfi-tournament-fact__card h3,
  body.single-tournament .pfi-tournament-fact__row strong,
  body.single-tournament .pfi-tournament-fact__text p,
  body.single-tournament .pfi-tournament-fact__subsection p,
  body.single-community_event #brxe-trnsgtitle,
  body.single-community_event .pfi-tournament-overview p,
  body.single-community_event .pfi-tournament-fact__header p,
  body.single-community_event .pfi-tournament-fact__card h3,
  body.single-community_event .pfi-tournament-fact__row strong,
  body.single-community_event .pfi-tournament-fact__text p,
  body.single-community_event .pfi-tournament-fact__subsection p {
    overflow-wrap: anywhere !important;
  }

  body.single-tournament .pfi-tournament-featured,
  body.single-community_event .pfi-tournament-featured {
    box-sizing: border-box !important;
    margin-inline: 0 !important;
    margin-bottom: clamp(2.4rem, 8vw, 3.4rem);
    max-width: calc(100vw - 5.2rem) !important;
    width: calc(100vw - 5.2rem) !important;
  }

  body.single-tournament .pfi-tournament-featured__frame,
  body.single-community_event .pfi-tournament-featured__frame {
    box-sizing: border-box !important;
    margin-inline: 0 !important;
    max-width: calc(100vw - 5.2rem) !important;
    width: calc(100vw - 5.2rem) !important;
  }

  body.single-tournament .pfi-tournament-featured__image,
  body.single-community_event .pfi-tournament-featured__image {
    height: auto;
    max-height: none;
    max-width: 100%;
    width: 100%;
  }

  body.single-tournament #brxe-trnsgmain,
  body.single-community_event #brxe-trnsgmain {
    display: block !important;
  }

  body.single-tournament #brxe-trnsgimg,
  body.single-community_event #brxe-trnsgimg {
    box-sizing: border-box !important;
    display: block !important;
    justify-self: start !important;
    margin-inline: 0 !important;
    max-width: calc(100vw - 5.2rem) !important;
    overflow: hidden;
    width: calc(100vw - 5.2rem) !important;
  }
}

@media (max-width: 991px) {
  body.single-community_event,
  body.single-community_event #brx-content {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  body.single-community_event #brxe-trnsgsec {
    --pfi-community-event-mobile-gutter: clamp(2rem, 6vw, 2.6rem);
    box-sizing: border-box !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    padding-left: var(--pfi-community-event-mobile-gutter) !important;
    padding-right: var(--pfi-community-event-mobile-gutter) !important;
    width: 100% !important;
  }

  body.single-community_event #brxe-trnsgcon,
  body.single-community_event #brxe-trnsgcon > *,
  body.single-community_event #brxe-trnsgmain,
  body.single-community_event #brxe-trnsgimg,
  body.single-community_event #brxe-trnsgover,
  body.single-community_event #brxe-trnsgcontent,
  body.single-community_event #brxe-trnsgceinfo,
  body.single-community_event #brxe-trnsgside,
  body.single-community_event .pfi-tournament-featured,
  body.single-community_event .pfi-tournament-featured__frame,
  body.single-community_event .pfi-tournament-overview,
  body.single-community_event .pfi-tournament-detail {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.single-community_event #brxe-trnsgmain {
    display: block !important;
  }

  body.single-community_event .pfi-tournament-overview {
    padding-left: clamp(1.8rem, 5vw, 2.2rem);
    padding-right: clamp(1.8rem, 5vw, 2.2rem);
  }

  body.single-community_event .pfi-tournament-overview p,
  body.single-community_event #brxe-trnsgcontent,
  body.single-community_event #brxe-trnsgcontent p {
    font-size: 1.65rem;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.single-community_event #brxe-trnsgcon,
  body.single-community_event #brxe-trnsgcon > *,
  body.single-community_event #brxe-trnsgmain,
  body.single-community_event #brxe-trnsgimg,
  body.single-community_event #brxe-trnsgover,
  body.single-community_event #brxe-trnsgcontent,
  body.single-community_event #brxe-trnsgceinfo,
  body.single-community_event #brxe-trnsgside,
  body.single-community_event .pfi-tournament-featured,
  body.single-community_event .pfi-tournament-featured__frame,
  body.single-community_event .pfi-tournament-overview,
  body.single-community_event .pfi-tournament-detail {
    max-width: calc(100vw - 5.2rem) !important;
    width: calc(100vw - 5.2rem) !important;
  }
}

/* Directory FAQ alignment: match the learning-page FAQ treatment on club and coach directory pages. */
body.page-id-425 #brxe-faqacc,
body.page-id-663 #brxe-faqacc {
  display: grid;
  gap: 1.2rem;
  margin: 4rem auto 0;
  max-width: 92rem;
  width: 100%;
}

body.page-id-425 #brxe-faqacc .x-accordion_item,
body.page-id-663 #brxe-faqacc .x-accordion_item {
  background: #fff;
  border: 1px solid rgba(0, 66, 90, 0.1);
  border-radius: 1.4rem;
  box-shadow: 0 1.4rem 3.6rem rgba(1, 11, 19, 0.07);
  overflow: hidden;
  padding: 2rem 2.2rem;
}

body.page-id-425 #brxe-faqacc .x-accordion_heading-wrapper,
body.page-id-663 #brxe-faqacc .x-accordion_heading-wrapper {
  margin: 0;
}

body.page-id-425 #brxe-faqacc .x-accordion_header,
body.page-id-663 #brxe-faqacc .x-accordion_header {
  align-items: center;
  background: transparent !important;
  color: var(--pfi-primary-navy);
  cursor: pointer;
  display: flex;
  gap: 1.6rem;
  justify-content: space-between;
  min-height: 0;
  padding: 0;
  text-align: left;
}

body.page-id-425 #brxe-faqacc .x-accordion_header:hover,
body.page-id-425 #brxe-faqacc .x-accordion_header[aria-expanded="true"],
body.page-id-663 #brxe-faqacc .x-accordion_header:hover,
body.page-id-663 #brxe-faqacc .x-accordion_header[aria-expanded="true"] {
  background: transparent !important;
  color: var(--pfi-primary-navy);
}

body.page-id-425 #brxe-faqacc .x-accordion_title,
body.page-id-663 #brxe-faqacc .x-accordion_title {
  color: inherit;
  flex: 1 1 auto;
  font-size: 1.7rem;
  font-weight: 850;
  line-height: 1.35;
  margin: 0;
  text-align: left;
}

body.page-id-425 #brxe-faqacc .x-accordion_icon,
body.page-id-663 #brxe-faqacc .x-accordion_icon {
  color: var(--pfi-primary-navy) !important;
  flex: 0 0 auto;
  font-size: 1.6rem !important;
  line-height: 1 !important;
  transition: transform 180ms ease;
}

body.page-id-425 #brxe-faqacc .x-accordion_content-inner,
body.page-id-663 #brxe-faqacc .x-accordion_content-inner {
  color: #52637a;
  font-size: 1.55rem;
  line-height: 1.62;
  padding: 1rem 0 0;
  text-align: left;
}

body.page-id-425 #brxe-faqacc .x-accordion_content-inner :is(p, .brxe-text, .brxe-text-basic),
body.page-id-663 #brxe-faqacc .x-accordion_content-inner :is(p, .brxe-text, .brxe-text-basic) {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  text-align: left;
}
