@import './public-directory-cards.css';
@import './public-login-experience.css';
@import './public-membership-experience.css';
@import './public-page-headers.css';
@import './public-page-personalities.css';
@import './public-support-media.css';
@import './public-photographic-headers.css';
@import './public-support-directory.css';
@import './public-experience-polish.css';
@import './public-navigation-experience.css';
@import './public-detail-match-cards.css';
@import './public-creative-layer.css';
@import './public-creative-sections.css';
@import './public-creative-pages.css';
@import './public-match-center.css';
@import './public-header-identity.css';
@import './public-home-news.css';
@import './public-home-matches.css';
@import './public-home-counters.css';
@import './public-home-story.css';
@import './public-player-cards.css';
@import './public-home-competitions.css';
@import './public-section-media.css';
@import './public-news-article.css';
@import './public-footer-identity.css';
@import './public-register-wizard.css';

/* Visitor theme. Presentation only; all content, media and interactions stay owned
   by their existing components. The live root matches only while the public header is present. */
:is(.afl-public-site, afl-root:has(> afl-header)) {
  --visitor-forest: var(--afl-primary);
  --visitor-green: var(--afl-symbol-green);
  --visitor-olive: var(--afl-symbol-olive);
  --visitor-gold: var(--afl-symbol-gold);
  --visitor-paper: #f5f7f5;
  --visitor-surface: #fff;
  --visitor-ink: #20382a;
  --visitor-muted: #53645a;
  --visitor-line: #dce4dd;
  --visitor-shadow: 0 12px 32px rgb(13 52 30 / 7%);
  --visitor-link: #176b40;
  --visitor-link-hover: #0f5031;
  --public-ink: var(--visitor-ink);
  --public-muted: var(--visitor-muted);
  --public-green: var(--visitor-forest);
  --brand-green: var(--visitor-green);
  --brand-lime: var(--visitor-gold);
  display: block;
  background: var(--visitor-paper);
  color: var(--visitor-ink);
}

:is(.afl-public-site, afl-root:has(> afl-header)) .container { width: min(1280px, calc(100% - 64px)); }
:is(.afl-public-site, afl-root:has(> afl-header)) main#main-content > section > .container,
:is(.afl-public-site, afl-root:has(> afl-header)) main.inner-main:not(.dashboard-detail) > section > .container {
  width: min(1280px, calc(100% - 64px)); max-width: 1280px; margin-inline: auto;
}
:is(.afl-public-site, afl-root:has(> afl-header)) :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--visitor-forest) !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 5px var(--visitor-gold);
}
:is(.afl-public-site, afl-root:has(> afl-header)) :is(h1, h2, h3) { text-wrap: balance; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(p, h1, h2, h3, a, button) { overflow-wrap: anywhere; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(button, input, select, textarea) { font: inherit; }

/* A solid, in-flow masthead keeps every page below the real navigation height. */
:is(.afl-public-site, afl-root:has(> afl-header)) .site-header {
  position: relative !important;
  inset: auto !important;
  background: var(--visitor-forest) !important;
  color: #fff;
  border-block-end: 3px solid var(--visitor-gold);
}
:is(.afl-public-site, afl-root:has(> afl-header)) .utility-bar { background: rgb(0 0 0 / 9%); }
:is(.afl-public-site, afl-root:has(> afl-header)) .utility-inner { min-height: 42px; height: auto; gap: 16px; padding-block: 5px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .utility-inner p { color: #e1e9df; font-size: 12px; line-height: 1.7; }
:is(.afl-public-site, afl-root:has(> afl-header)) .utility-links { gap: 18px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .utility-links > a { font-size: 12px; color: #f0f3ed; line-height: 1.7; }
:is(.afl-public-site, afl-root:has(> afl-header)) .nav-wrap { min-height: 96px; height: auto !important; gap: 20px; padding-block: 10px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .brand-logo-wrap { width: 202px; height: 64px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation { gap: 0; }
:is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation__entry { padding-inline: 9px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation__entry::before { display: none; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.public-navigation__link, .public-navigation__trigger) {
  font-size: 15px !important;
  line-height: 1.5 !important;
  min-height: 46px;
  color: #f2f5ef !important;
}
:is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation__menu {
  width: max-content;
  min-width: 340px;
  max-width: calc(100vw - 48px);
  border: 1px solid rgb(195 177 103 / 44%);
  border-radius: 12px;
  background: var(--visitor-forest) !important;
  box-shadow: 0 20px 48px rgb(0 0 0 / 22%);
}
:is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation__menu a { font-size: 15px !important; color: #fff; white-space: nowrap; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.search-button, .menu-button, .theme-toggle) {
  min-width: 44px; min-height: 44px; border-radius: 12px !important; color: #fff !important; border-color: rgb(255 255 255 / 30%);
}
:is(.afl-public-site, afl-root:has(> afl-header)) .language-toggle { min-width: 112px; min-height: 36px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .header-welcome-row { background: rgb(255 255 255 / 4%); }
:is(.afl-public-site, afl-root:has(> afl-header)) .header-welcome-row .container { min-height: 30px; }

/* The existing film remains the lead visual. A quiet framed caption anchors it. */
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero { min-height: 650px !important; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-layout {
  min-height: 650px !important;
  padding-block: 60px 104px !important;
  align-items: center;
}
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy {
  max-width: 650px;
  padding: 32px 36px !important;
  border: 1px solid rgb(255 255 255 / 26%) !important;
  border-inline-start: 4px solid var(--visitor-gold) !important;
  border-radius: 18px 18px 4px 18px;
  background: rgb(13 52 30 / 89%) !important;
  backdrop-filter: blur(6px);
  box-shadow: 0 22px 52px rgb(0 0 0 / 15%);
  text-shadow: none;
}
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy h1 { font-size: clamp(36px, 4.2vw, 62px) !important; line-height: 1.22; letter-spacing: -.02em; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy h1 em { color: var(--visitor-gold); }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy > p:not(.eyebrow) { margin-block: 20px 24px; color: #edf2e9; font-size: 17px !important; line-height: 1.85; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy .eyebrow { color: #e5e9dd; margin-block: 0 18px; font-size: 13px; letter-spacing: 0; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy-toggle { inset-block-start: 20px !important; border-radius: 0 10px 10px 0; background: var(--visitor-forest); }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-controls { background: rgb(13 52 30 / 94%); border-color: rgb(255 255 255 / 24%); }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-controls > .container { min-height: 64px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-controls > div > button { width: 44px; height: 44px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-controls > div > span { color: #edf2e9; font-size: 12px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-controls > div > div button {
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  min-height: 44px;
  padding: 0;
  border-radius: 8px;
  background: transparent;
}
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-controls > div > div button::after {
  content: '';
  position: absolute;
  inset-inline: 8px;
  inset-block-start: 20px;
  height: 4px;
  border-radius: 999px;
  background: #90a99a;
  transition: background .2s ease, transform .2s ease;
}
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-controls > div > div button.active {
  background: rgb(255 255 255 / 10%);
}
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-controls > div > div button.active::after {
  background: var(--visitor-gold);
  transform: scaleX(1.2);
}
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-controls button:is(:hover, :focus-visible) {
  background: rgb(255 255 255 / 16%);
}
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-controls button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-controls > div > div button::after { transition: none; }
}
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero .button-primary { background: var(--visitor-gold); color: var(--visitor-forest); border-color: var(--visitor-gold); }
:is(.afl-public-site, afl-root:has(> afl-header)) .hero-actions { gap: 20px; flex-wrap: wrap; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-hero .text-link { color: #fff; }

/* Numbers read as a single league scoreboard instead of unrelated tiles. */
:is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-section { padding-block: 24px; background: var(--visitor-forest); }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-grid { width: min(1280px, calc(100% - 64px)); border-block: 0; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-counter { min-height: 150px; padding: 20px 16px; border-color: rgb(255 255 255 / 17%); box-shadow: none; background: transparent; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value strong { color: #fff; font-size: clamp(34px, 3vw, 48px); }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-counter p { color: #e1e8dc; font-size: 15px !important; line-height: 1.65; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-icon { color: var(--visitor-gold); }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-match-columns .unified-match-card[data-homepage='true'] { min-height: 0; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-match-columns .unified-match-card[data-homepage='true'] .unified-match-versus { min-height: 112px; padding: 8px 16px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-match-columns .unified-match-card[data-homepage='true'] :is(.unified-match-team, .unified-match-score) { min-height: 104px; }

:is(.afl-public-site, afl-root:has(> afl-header)) :is(.home-news-section, .regions-section) { background-color: var(--visitor-paper); }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.home-news-section, .home-matches-section, .regions-section, .competitions-section) { padding-block: clamp(48px, 6vw, 80px); }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-section-heading { gap: 24px; margin-block-end: 30px; align-items: end; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.home-section-heading h2, .section-heading h2) { font-size: clamp(28px, 3vw, 42px) !important; line-height: 1.35; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.home-section-heading:not(.inverted) h2, .regions-section h2) { color: var(--visitor-forest); }
:is(.afl-public-site, afl-root:has(> afl-header)) .section-kicker { letter-spacing: 0; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-section-heading:not(.inverted) :is(.section-kicker, span) { color: var(--visitor-muted); }
:is(.afl-public-site, afl-root:has(> afl-header)) .carousel-actions { flex-wrap: wrap; gap: 8px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .carousel-actions button { min-width: 44px; min-height: 44px; border-radius: 10px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature { border: 1px solid var(--visitor-line); border-radius: 20px; background: #fff; box-shadow: var(--visitor-shadow); overflow: hidden; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy { padding: clamp(24px, 3vw, 44px); }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy h3 { color: var(--visitor-forest); font-size: clamp(25px, 2.6vw, 36px); line-height: 1.5; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy p { color: var(--visitor-muted); line-height: 1.9; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy p { font-size: 16px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy b { font-size: 15px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy :is(time, div > span) { font-size: 13px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy b { color: var(--visitor-forest); }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.home-news-card, .news-card, .video-card) { border-color: var(--visitor-line) !important; border-radius: 16px !important; box-shadow: var(--visitor-shadow); animation: none; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.home-news-card, .news-card):hover { transform: translateY(-3px); border-color: var(--visitor-olive) !important; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.home-news-card, .news-card) h3 { color: var(--visitor-ink); line-height: 1.65; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.home-news-card, .news-card) time { color: var(--visitor-muted); }
:is(.afl-public-site, afl-root:has(> afl-header)) .association-story { background: var(--visitor-forest) !important; }
:is(.afl-public-site, afl-root:has(> afl-header)) .association-story :is(.association-story__copy > p, .association-story__stat strong) { color: var(--visitor-gold); }
:is(.afl-public-site, afl-root:has(> afl-header)) .reveal { opacity: 1; transform: none; }
:is(.afl-public-site, afl-root:has(> afl-header)) .association-story__copy h2 { font-size: clamp(30px, 3.7vw, 52px); line-height: 1.35; }
:is(.afl-public-site, afl-root:has(> afl-header)) .association-story__copy > span { line-height: 1.9; }
:is(.afl-public-site, afl-root:has(> afl-header)) .intro-section .intro-grid { border-radius: 20px; box-shadow: none; }
:is(.afl-public-site, afl-root:has(> afl-header)) .intro-section .intro-grid h2 { font-size: clamp(30px, 4vw, 52px) !important; }
:is(.afl-public-site, afl-root:has(> afl-header)) .intro-section .feature-strip article { min-height: 0; border-radius: 16px; padding: 26px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .intro-section :is(.section-kicker, h2 span, .feature-icon) { color: var(--visitor-gold); }
:is(.afl-public-site, afl-root:has(> afl-header)) .intro-section .feature-strip p { color: #e0e8dc; }

/* Inner pages share a compact stadium entrance, with their original image intact. */
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.page-hero, .page-hero.compact, .portal-hero) {
  min-height: 0 !important;
  padding-block: 46px 30px !important;
  border-block-end: 1px solid rgb(195 177 103 / 35%);
}
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.page-hero h1, .portal-hero h1) { font-size: clamp(30px, 3.5vw, 48px) !important; line-height: 1.35; letter-spacing: -.02em; margin-block: 10px 14px; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.page-hero-inner, .portal-hero-inner) { min-height: 0 !important; padding-block: 0 !important; gap: 30px; align-items: center; }
:is(.afl-public-site, afl-root:has(> afl-header)) .page-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
:is(.afl-public-site, afl-root:has(> afl-header)) .page-hero-inner > div { padding: 0 !important; border: 0 !important; box-shadow: none; background: transparent !important; }
:is(.afl-public-site, afl-root:has(> afl-header)) .page-hero-inner > div > p { color: var(--visitor-gold); font-size: 14px; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.page-hero-inner > div > span, .portal-hero p) { color: #e5ece0; font-size: 16px !important; line-height: 1.9; max-width: 75ch; }
:is(.afl-public-site, afl-root:has(> afl-header)) .page-hero-inner > b { font-size: clamp(70px, 9vw, 110px); opacity: .25; }
:is(.afl-public-site, afl-root:has(> afl-header)) .breadcrumbs { margin-block-start: 24px; gap: 10px; line-height: 1.7; flex-wrap: wrap; }
:is(.afl-public-site, afl-root:has(> afl-header)) .breadcrumbs :is(a, span) { color: #eef2e9; font-size: 14px; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.page-content, .portal-content) { padding-block: clamp(30px, 4vw, 56px); background: var(--visitor-paper); }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.content-card, .stat-tile, .state-panel, .portal-form, .wizard-card, .account-type-card, .faq-item) { border: 1px solid var(--visitor-line); border-radius: 16px; box-shadow: var(--visitor-shadow); }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.filter-bar, .clubs-filter-panel) { padding: 24px; border: 1px solid var(--visitor-line); border-radius: 16px; background: #fff; box-shadow: none; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.filter-bar, .clubs-filter-controls) { gap: 16px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .page-content > .container > .filter-bar { position: static !important; inset: auto !important; z-index: auto !important; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.filter-bar, .clubs-filter-controls, .portal-field) :is(input, select, textarea) { background-color: #fff; color: var(--visitor-ink); border-color: #b9c9bd; border-radius: 10px; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-tabs, .entity-tabs) { gap: 8px; padding: 6px; border: 1px solid var(--visitor-line); border-radius: 12px; background: #fff; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-tabs, .entity-tabs) button { min-height: 44px; border-radius: 8px; padding: 10px 18px; color: var(--visitor-ink); white-space: normal; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-tabs, .entity-tabs) button.active { color: #fff; background: var(--visitor-forest); }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.team-smart-card, .player-card, .association-card, .championship-card, .unified-match-card) { border-color: var(--visitor-line) !important; border-radius: 16px !important; animation: none; box-shadow: var(--visitor-shadow); }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.entity-heading, .clubs-directory-intro) { border-radius: 18px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .document-browser .file-list > article { border-radius: 12px !important; box-shadow: none; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.entity-pager, .pagination) { flex-wrap: wrap; gap: 8px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .entity-pager button { min-height: 44px; border-radius: 10px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .committee-profile { border-radius: 18px; box-shadow: var(--visitor-shadow); }
:is(.afl-public-site, afl-root:has(> afl-header)) .committee-intro { padding: clamp(24px, 3vw, 40px); }
:is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card { border: 1px solid var(--visitor-line); border-radius: 18px; box-shadow: var(--visitor-shadow); overflow: hidden; }
:is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card__content { padding: 20px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card__name { font-size: 20px; line-height: 1.6; }
:is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card__role { padding: 6px 12px; border: 1px solid var(--visitor-line); border-radius: 8px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .regions-section .regions-copy h2 { font-size: clamp(32px, 4vw, 54px) !important; line-height: 1.35; }
:is(.afl-public-site, afl-root:has(> afl-header)) .regions-copy h2 span { color: var(--visitor-olive); }
:is(.afl-public-site, afl-root:has(> afl-header)) .legal-document { box-shadow: var(--visitor-shadow); }
:is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter { border-radius: 20px; }

/* Article, video, partnership and app pages retain their own content layouts. */
:is(.afl-public-site, afl-root:has(> afl-header)) .article-details { border-radius: 18px; box-shadow: var(--visitor-shadow); }
:is(.afl-public-site, afl-root:has(> afl-header)) .article-header h1 { font-size: clamp(27px, 3vw, 40px); line-height: 1.5; }
:is(.afl-public-site, afl-root:has(> afl-header)) .article-body { font-size: 17px; line-height: 2; }
:is(.afl-public-site, afl-root:has(> afl-header)) .article-body :is(p, li) { color: var(--visitor-ink); }
:is(.afl-public-site, afl-root:has(> afl-header)) .related-news-card { border-color: var(--visitor-line); border-radius: 12px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .media-hero { min-height: 380px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .media-hero__content { padding-block: 55px 70px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .media-hero h1 { font-size: clamp(36px, 5vw, 64px); line-height: 1.3; }
:is(.afl-public-site, afl-root:has(> afl-header)) .media-section { padding-block: clamp(40px, 5vw, 72px); }
:is(.afl-public-site, afl-root:has(> afl-header)) .media-button--primary { background: var(--visitor-gold); color: var(--visitor-forest); }
:is(.afl-public-site, afl-root:has(> afl-header)) .media-filter { box-shadow: var(--visitor-shadow); }
:is(.afl-public-site, afl-root:has(> afl-header)) .featured-video { border-radius: 18px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .video-card h3 { min-height: 0; }
:is(.afl-public-site, afl-root:has(> afl-header)) .partners > .hero { padding-block-start: 56px !important; min-height: 0; }
:is(.afl-public-site, afl-root:has(> afl-header)) .partners > .hero > .orbit { top: 56px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .partners :is(.power-card, .path-card) { border-radius: 16px; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-hero, .app-page-hero) { padding-block-start: 56px !important; }

/* Footer is a calm identity anchor, with all original links and app badges. */
:is(.afl-public-site, afl-root:has(> afl-header)) afl-footer > footer { padding-block-start: 48px; background: var(--visitor-forest); border-block-start: 4px solid var(--visitor-gold); }
:is(.afl-public-site, afl-root:has(> afl-header)) .footer-top { padding-block: 0 36px; gap: 36px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .footer-identity-statement { color: #e9eee3; font-size: 17px; line-height: 1.8; }
:is(.afl-public-site, afl-root:has(> afl-header)) .footer-about p { color: #dce5d7; line-height: 1.9; }
:is(.afl-public-site, afl-root:has(> afl-header)) .footer-map { padding-block: 32px; gap: 28px; border-color: rgb(255 255 255 / 18%); }
:is(.afl-public-site, afl-root:has(> afl-header)) .footer-map a { color: #e0e8da; font-size: 15px; line-height: 1.8; }
:is(.afl-public-site, afl-root:has(> afl-header)) .footer-map a:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .footer-map strong { color: var(--visitor-gold); font-size: 17px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .footer-app-promo { border-radius: 16px; box-shadow: none; background: rgb(255 255 255 / 5%); }
:is(.afl-public-site, afl-root:has(> afl-header)) .footer-bottom { padding-block: 24px; color: #e0e8da; gap: 16px; flex-wrap: wrap; }
:is(.afl-public-site, afl-root:has(> afl-header)) .footer-bottom a { color: #e0e8da; }

@media (max-width: 1180px) {
  :is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation { display: none; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .menu-button { display: inline-grid !important; place-items: center; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .nav-actions { margin-inline-start: auto; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .mobile-menu { display: block; position: absolute; inset-block-start: 100%; max-height: min(70dvh, 620px); overflow-y: auto; border-block-end: 3px solid var(--visitor-gold); box-shadow: 0 24px 48px rgb(0 0 0 / 20%); }
  :is(.afl-public-site, afl-root:has(> afl-header)) .mobile-menu .container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; padding-block: 20px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .mobile-menu :is(a, button) { min-height: 48px; color: #fff; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .mobile-menu__submenu { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  :is(.afl-public-site, afl-root:has(> afl-header)) .utility-links { gap: 14px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .utility-inner > p { display: none; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .utility-inner { justify-content: center; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .utility-links { flex-wrap: wrap; justify-content: center; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-section-heading { align-items: start; flex-wrap: wrap; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero { min-height: 570px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-layout { min-height: 570px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature { grid-template-columns: 1fr; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__image { max-height: 360px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  :is(.afl-public-site, afl-root:has(> afl-header)) .container, :is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-grid { width: calc(100% - 32px); }
  :is(.afl-public-site, afl-root:has(> afl-header)) main#main-content > section > .container,
  :is(.afl-public-site, afl-root:has(> afl-header)) main.inner-main:not(.dashboard-detail) > section > .container { width: calc(100% - 32px); }
  :is(.afl-public-site, afl-root:has(> afl-header)) .utility-bar { display: block; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .utility-inner { justify-content: end; min-height: 42px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .utility-links > a { display: none; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .nav-wrap { min-height: 76px; gap: 8px; padding-block: 8px; flex-wrap: wrap; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .brand-logo-wrap { width: 150px; height: 52px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .nav-actions { gap: 6px; flex-wrap: wrap; justify-content: end; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .site-header .electronic-services-menu--nav { display: inline-flex; width: auto; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .site-header .electronic-services-menu--nav .theme-toggle { display: inline-grid; place-items: center; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .electronic-services-menu--nav > .electronic-services-trigger { display: none; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .header-account { gap: 5px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .site-header--authenticated .nav-actions { flex: 1 1 100%; justify-content: space-between; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .site-header--authenticated .brand { margin-inline-end: auto; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .mobile-menu { max-height: 70dvh; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .mobile-menu .container { grid-template-columns: 1fr; gap: 6px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .mobile-menu .container > :is(a, button) { animation: none; padding-block: 12px; border-radius: 10px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .mobile-menu__submenu a { white-space: normal; line-height: 1.8; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero { min-height: 560px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-layout { min-height: 560px !important; padding-block: 72px 90px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy { padding: 24px 20px !important; border-radius: 16px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy h1 { font-size: clamp(31px, 8.5vw, 42px) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy > p:not(.eyebrow) { font-size: 16px !important; line-height: 1.85; margin-block: 16px 20px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy .eyebrow { font-size: 12px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .hero-actions { gap: 12px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .hero-actions a { min-height: 44px; font-size: 14px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-grid { gap: 8px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter { min-height: 142px; padding: 18px 10px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value { gap: 8px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter p { font-size: 14px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-section-heading { gap: 18px; margin-block-end: 24px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy { padding: 24px 20px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy h3 { font-size: 25px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-track { scroll-snap-type: inline proximity; gap: 14px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-card { scroll-snap-align: start; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.page-hero, .page-hero.compact, .portal-hero) { padding-block: 30px 24px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .page-hero-inner > b { font-size: 60px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.page-hero h1, .portal-hero h1) { font-size: 30px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.page-hero-inner > div > span, .portal-hero p) { font-size: 15px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.filter-bar, .clubs-filter-panel) { padding: 18px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-tabs, .entity-tabs) { justify-content: start; flex-wrap: wrap; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-tabs, .entity-tabs) button { flex: 1 1 auto; padding-inline: 12px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .article-header h1 { font-size: 27px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .article-body { font-size: 16px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .media-hero { min-height: 340px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .media-hero__content { padding-block: 36px 60px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .media-hero h1 { font-size: 36px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .footer-top, :is(.afl-public-site, afl-root:has(> afl-header)) .footer-map { grid-template-columns: 1fr; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .footer-top { gap: 24px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .footer-map { gap: 24px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .footer-map > div { padding-block-end: 20px; border-block-end: 1px solid rgb(255 255 255 / 14%); }
  :is(.afl-public-site, afl-root:has(> afl-header)) .footer-bottom > div { display: flex; gap: 16px; flex-wrap: wrap; }
}
/* Important overrides belong to a public-only layer to beat legacy unlayered
   full-width/gradient rules without escalating selector specificity. */
@layer afl-public-visitor-overrides {
  :is(.afl-public-site, afl-root:has(> afl-header)) .page-hero::after { width: 38vw !important; height: 38vw !important; inset: 50% auto auto 65% !important; border: 1px solid rgb(195 177 103 / 22%) !important; border-radius: 50% !important; background: transparent !important; transform: translateY(-50%) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card { border-radius: 18px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card__content { padding: 22px 18px 18px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card__role { font-size: 13px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card__name { font-size: 18px !important; line-height: 1.6; }
  :is(.afl-public-site, afl-root:has(> afl-header)) main.inner-main > .page-content { background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter { border-radius: 20px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.filter-bar, .clubs-filter-panel, .entity-tabs, .match-tabs) { border-radius: 14px !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) {
    --visitor-paper: #101d17 !important; --visitor-surface: #17271f !important;
    --visitor-ink: #edf4ea !important; --visitor-muted: #c2cebf !important; --visitor-line: #42604d !important;
    --visitor-shadow: 0 12px 32px rgb(0 0 0 / 15%) !important;
  }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.home-news-section, .page-content, .portal-content, .regions-section) { background: var(--visitor-paper) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.home-news-feature, .filter-bar, .clubs-filter-panel, .entity-tabs, .match-tabs, .unified-match-card, .unified-match-head, .unified-match-meta, .unified-match-meta > div, .article-details, .legal-page__header, .legal-page__sections, .video-card) { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border-color: var(--visitor-line) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.home-section-heading:not(.inverted) h2, .regions-section h2, .home-news-feature__copy h3, .home-news-feature__copy b, .home-news-card h3, .news-card h3, .article-header h1, .article-body p, .article-body li, .legal-page h2, .legal-page h3, .video-card h3, .entity-tabs button, .match-tabs button, .unified-match-team strong, .unified-match-score > strong, .unified-match-meta dd) { color: var(--visitor-ink) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.home-news-feature__copy p, .home-section-heading:not(.inverted) span, .home-news-card time, .news-card time, .legal-page p, .legal-page li, .unified-match-score small, .match-league) { color: var(--visitor-muted) !important; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.afl-public-site, afl-root:has(> afl-header)) *, :is(.afl-public-site, afl-root:has(> afl-header)) *::before, :is(.afl-public-site, afl-root:has(> afl-header)) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

@media (max-width: 360px) { :is(.afl-public-site, afl-root:has(> afl-header)) .brand-logo-wrap { width: 120px; } }

/* Service entrances no longer reserve space for an overlaid public header. */
:is(.afl-public-site, afl-root:has(> afl-header)) .gate-page { min-height: 0; padding-block: 48px; background: var(--visitor-forest); }
:is(.afl-public-site, afl-root:has(> afl-header)) .gate-card { border-radius: 18px; border-block-start-color: var(--visitor-gold); box-shadow: var(--visitor-shadow); }
:is(.afl-public-site, afl-root:has(> afl-header)) .gate-card h1 { font-size: clamp(26px, 3vw, 36px); line-height: 1.5; }
:is(.afl-public-site, afl-root:has(> afl-header)) .member-shell { padding-block-start: 48px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .app-page { --green: var(--visitor-forest); --green2: var(--visitor-green); --gold: var(--visitor-gold); }
:is(.afl-public-site, afl-root:has(> afl-header)) .partners { --green: var(--visitor-green); --gold: var(--visitor-gold); }
:is(.afl-public-site, afl-root:has(> afl-header)) .app-hero h1 { font-size: clamp(36px, 5vw, 66px); line-height: 1.25; }
:is(.afl-public-site, afl-root:has(> afl-header)) .partners .hero h1 { font-size: clamp(36px, 5.4vw, 72px); line-height: 1.25; }
:is(.afl-public-site, afl-root:has(> afl-header)) .app-section { padding-block: clamp(40px, 6vw, 80px); }
:is(.afl-public-site, afl-root:has(> afl-header)) .app-page h2 { font-size: clamp(28px, 3vw, 44px); line-height: 1.4; }

:is(.afl-public-site, afl-root:has(> afl-header)) :is(.contact-directory__header, .contact-person-card, .staff-email__access-card, .staff-email__mobile-card) { border-radius: 16px; box-shadow: var(--visitor-shadow); }

:is(.afl-public-site, afl-root:has(> afl-header)) :is(.association-card > a, .league-card a, .club-card b, .championship-card b, .team-smart-card b, .player-card b) { min-height: 44px; display: inline-flex; align-items: center; font-size: 15px !important; line-height: 1.7; color: var(--visitor-forest); }
:is(.afl-public-site, afl-root:has(> afl-header)) .association-card > div:not(.api-media) span { font-size: 13px; border-radius: 8px; border: 1px solid var(--visitor-line); }

/* Shared text actions across association, team, player, competition and news cards.
   Whole-card headings and navigation keep their own identity colors. */
@layer afl-public-visitor-overrides {
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) {
    --visitor-link: #9fd6b4;
    --visitor-link-hover: #c9ead6;
  }

  html:root body :is(.afl-public-site, afl-root:has(> afl-header)) :is(
    .association-card > a, .league-card > b, .championship-card > div > b,
    .club-card-copy > b, .card-link, .news-card > div > a,
    .file-list article > a, .content-card-body a b
  ) {
    color: var(--visitor-link) !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
  }

  html:root body :is(.afl-public-site, afl-root:has(> afl-header)) :is(
    .association-card > a, .news-card > div > a, .file-list article > a,
    .content-card-body a
  ):is(:hover, :focus-visible, :active),
  html:root body :is(.afl-public-site, afl-root:has(> afl-header)) a:is(:hover, :focus-visible, :active) :is(
    .card-link, .club-card-copy > b, .content-card-body a b
  ),
  html:root body :is(.afl-public-site, afl-root:has(> afl-header)) a.championship-card:is(:hover, :focus-visible, :active) > div > b,
  html:root body :is(.afl-public-site, afl-root:has(> afl-header)) a.league-card:is(:hover, :focus-visible, :active) > b {
    color: var(--visitor-link-hover) !important;
    text-decoration-thickness: 2px;
  }

  html:root body :is(.afl-public-site, afl-root:has(> afl-header)) :is(
    .association-card > a, .news-card > div > a, .file-list article > a
  ):focus-visible {
    outline-color: var(--visitor-link) !important;
  }
}

@layer afl-public-visitor-overrides {
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.association-card > a, .league-card a, .club-card b, .championship-card b, .team-smart-card b, .player-card b) { color: var(--visitor-gold) !important; }
}

/* Football details use the same compact identity and readable information scale. */
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-detail-hero, .entity-heading, .clubs-directory-intro) { background: linear-gradient(130deg, var(--visitor-forest), var(--visitor-green)); }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-league-line b, .match-facts span, .match-result time, .match-result > small) { font-size: 14px; line-height: 1.6; }
:is(.afl-public-site, afl-root:has(> afl-header)) .info-panel dt { font-size: 14px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .info-panel dd { font-size: 16px; line-height: 1.7; }
:is(.afl-public-site, afl-root:has(> afl-header)) :is(.report-title h2, .lineup-heading h2) { font-size: 22px; line-height: 1.5; }
@media (max-width: 620px) {
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center .formation-pitch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 14px; height: auto !important; min-height: 0 !important; padding: 18px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center .pitch-markings { display: none; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center .pitch-player.positioned-player { position: static !important; inset: auto !important; width: auto; transform: none !important; display: grid; justify-items: center; gap: 6px; padding: 12px 6px; border: 1px solid rgb(255 255 255 / 20%); border-radius: 12px; background: rgb(0 0 0 / 12%); }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center .pitch-player.positioned-player strong { font-size: 14px !important; line-height: 1.65; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center .pitch-player.positioned-player small { font-size: 12px !important; line-height: 1.6; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center .pitch-player.positioned-player > span { width: 44px; height: 44px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-side strong { font-size: 15px; line-height: 1.6; }
}

@media (max-width: 620px) {
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center > .entity-tabs { display: flex; gap: 4px; padding: 4px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center > .entity-tabs button { min-width: 0 !important; flex: 1 1 0; padding: 10px 6px; font-size: 14px !important; }
}

:is(.afl-public-site, afl-root:has(> afl-header)) .news-card small { font-size: 13px !important; line-height: 1.7; color: var(--visitor-muted); }
:is(.afl-public-site, afl-root:has(> afl-header)) .news-card h2 { font-size: 22px; line-height: 1.6; }
:is(.afl-public-site, afl-root:has(> afl-header)) .news-card p { font-size: 16px; line-height: 1.9; }
:is(.afl-public-site, afl-root:has(> afl-header)) .news-card > div > a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid var(--visitor-line); border-radius: 10px; background: var(--visitor-surface); color: var(--visitor-forest); font-size: 15px !important; line-height: 1.7; }

:is(.afl-public-site, afl-root:has(> afl-header)) .media-filter { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(640px, calc(100% - 32px)); max-width: calc(100% - 32px); }
:is(.afl-public-site, afl-root:has(> afl-header)) .media-filter button { min-width: 0; min-height: 48px; padding: 10px 6px !important; white-space: normal !important; font-size: 14px !important; line-height: 1.6 !important; }
:is(.afl-public-site, afl-root:has(> afl-header)) .media-section__header span { color: var(--visitor-muted) !important; }

/* Partnership content follows an editorial rhythm within the same AFL identity. */
:is(.afl-public-site, afl-root:has(> afl-header)) .partners > .hero { background: linear-gradient(135deg, var(--visitor-forest), var(--visitor-green)); }
:is(.afl-public-site, afl-root:has(> afl-header)) .partners .section { padding-block: clamp(40px, 6vw, 80px); padding-inline: max(16px, calc((100% - 1280px) / 2)); }
:is(.afl-public-site, afl-root:has(> afl-header)) .partners :is(.power article, .impact article, .pathway-card) { border-radius: 16px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .partners .power article { padding: 24px; box-shadow: var(--visitor-shadow); }
:is(.afl-public-site, afl-root:has(> afl-header)) .partners .power h3 { margin-block: 20px 10px; font-size: 20px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .partners .power p { font-size: 16px; line-height: 1.85; }
:is(.afl-public-site, afl-root:has(> afl-header)) .partners .stats strong { color: var(--visitor-gold); }

@layer afl-public-visitor-overrides {
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.state-panel, .association-card, .league-card, .club-card, .team-smart-card, .player-card, .committee-profile, .committee-intro, .committee-members, .board-member-card, .board-member-card__content, .stats-seasons > article, .metric-grid > article, .document-browser > header, .file-list > article) { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border-color: var(--visitor-line) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.state-panel, .association-card, .league-card, .club-card, .team-smart-card, .player-card, .committee-profile, .board-member-card, .stats-seasons, .metric-grid, .document-browser) :is(h2, h3, h4, dt, dd) { color: var(--visitor-ink) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.state-panel, .committee-profile, .stats-seasons) p { color: var(--visitor-muted) !important; }
}

:is(.afl-public-site, afl-root:has(> afl-header)) .app-hero p { font-size: clamp(16px, 1.5vw, 20px); line-height: 1.85; }

:is(.afl-public-site, afl-root:has(> afl-header)) .faq-list details { border-radius: 14px; border-color: var(--visitor-line); overflow: hidden; }
:is(.afl-public-site, afl-root:has(> afl-header)) .faq-list summary { min-height: 64px; gap: 16px; padding: 18px 22px; font-size: 17px; line-height: 1.7; }
:is(.afl-public-site, afl-root:has(> afl-header)) .faq-list summary span { display: grid; flex: 0 0 32px; place-items: center; height: 32px; border: 1px solid var(--visitor-line); border-radius: 50%; color: var(--visitor-forest); background: var(--visitor-paper); }
:is(.afl-public-site, afl-root:has(> afl-header)) .faq-list details[open] { border-color: var(--visitor-olive); }
:is(.afl-public-site, afl-root:has(> afl-header)) .faq-list p { padding: 0 22px 22px; font-size: 16px; line-height: 1.9; }
@layer afl-public-visitor-overrides {
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) .faq-list details { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) .faq-list summary span { color: var(--visitor-ink) !important; }
}

@media (max-width: 620px) {
  :is(.afl-public-site, afl-root:has(> afl-header)) .login-layout > .login-form { grid-row: 1; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .login-layout > .login-story { grid-row: 2; min-height: 0; padding: 24px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .login-layout .password-toggle { min-width: 44px; min-height: 44px; }
}

:is(.afl-public-site, afl-root:has(> afl-header)) .file-list h2 { font-size: 18px; line-height: 1.6; }
:is(.afl-public-site, afl-root:has(> afl-header)) .file-list article > a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid var(--visitor-line); border-radius: 10px; font-size: 15px; color: var(--visitor-forest); background: var(--visitor-surface); }
@layer afl-public-visitor-overrides {
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.news-card > div > a, .file-list article > a, .login-links a, .new-account a) { color: var(--visitor-gold) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.gate-card, .success-card, .recovery-success, .success-welcome, .portal-success) { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.portal-form, .wizard-card, .account-type-card, .gate-card, .success-card, .recovery-success, .success-welcome, .portal-success) :is(h1, h2, h3, label > span, .password-toggle) { color: var(--visitor-ink) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.portal-form, .wizard-card, .account-type-card, .gate-card, .success-card, .recovery-success, .success-welcome, .portal-success) :is(p, small, li) { color: var(--visitor-muted) !important; }
}

:is(.afl-public-site, afl-root:has(> afl-header)) .file-icon { color: var(--visitor-forest); font-size: 12px; }

/* Ticket guidance remains intact while selection and verification stay visibly distinct. */
:is(.afl-public-site, afl-root:has(> afl-header)) .ticket-layout { gap: 24px; align-items: start; }
:is(.afl-public-site, afl-root:has(> afl-header)) .ticket-matches button { min-height: 64px; gap: 12px; flex-wrap: wrap; text-align: start; border-radius: 14px; color: var(--visitor-ink); background: var(--visitor-surface); }
:is(.afl-public-site, afl-root:has(> afl-header)) .ticket-matches button.selected { border-color: var(--visitor-olive); box-shadow: inset 0 -3px var(--visitor-olive); }
:is(.afl-public-site, afl-root:has(> afl-header)) .ticket-panel { min-height: 0; padding: clamp(24px, 3vw, 36px); border: 1px solid var(--visitor-olive); border-radius: 18px; background: var(--visitor-forest); color: #fff; }
:is(.afl-public-site, afl-root:has(> afl-header)) .ticket-panel h2 { font-size: 24px; line-height: 1.5; color: #fff; }
:is(.afl-public-site, afl-root:has(> afl-header)) .ticket-panel p { font-size: 16px; color: #e5ece0; }
:is(.afl-public-site, afl-root:has(> afl-header)) .ticket-kicker { color: var(--visitor-gold); font-size: 14px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .ticket-panel label { display: grid; gap: 8px; }
:is(.afl-public-site, afl-root:has(> afl-header)) .ticket-panel input { box-sizing: border-box; width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--visitor-line); border-radius: 10px; background: #fff; color: #20382a; font: inherit; }
:is(.afl-public-site, afl-root:has(> afl-header)) .ticket-panel .primary-action { min-height: 48px; border: 1px solid var(--visitor-gold); border-radius: 10px; background: var(--visitor-gold); color: #0d341e; font: inherit; font-weight: 700; }
:is(.afl-public-site, afl-root:has(> afl-header)) .ticket-panel .primary-action:disabled { opacity: 1; background: #dce4dd; border-color: #dce4dd; color: #4d5e53; cursor: not-allowed; }

/* Homepage: a light editorial programme alongside the original league film. */
@layer afl-public-visitor-overrides {
  @media (max-width: 900px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy { padding: 24px !important; border: 1px solid #dce4dd !important; border-block-start: 4px solid var(--visitor-gold) !important; border-radius: 14px !important; background: #fff !important; color: var(--visitor-forest) !important; backdrop-filter: none !important; text-shadow: none !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy :is(h1, h1 em) { color: var(--visitor-forest) !important; font-style: normal !important; letter-spacing: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy > p { color: #53645a !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy .eyebrow { margin-block-end: 16px !important; font-size: 12px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy > p:not(.eyebrow) { margin-block: 16px 20px !important; font-size: 16px !important; line-height: 1.85 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero .button-primary { min-height: 48px !important; padding: 12px 16px !important; border: 1px solid var(--visitor-forest) !important; border-radius: 8px !important; background: var(--visitor-forest) !important; color: #fff !important; font-size: 15px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero .text-link { display: flex !important; align-items: center !important; gap: 10px !important; min-height: 44px !important; color: var(--visitor-forest) !important; font-size: 15px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero .text-link .play { color: var(--visitor-forest) !important; border-color: #bcc6b8 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-section { padding-block: 20px !important; background: #f5f7f5 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-grid { gap: 10px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter { min-height: 0 !important; padding: 18px 12px !important; border: 1px solid #dce4dd !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value { flex-direction: row !important; gap: 8px !important; flex-wrap: wrap !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value :is(strong, strong span) { padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--visitor-forest) !important; box-shadow: none !important; font-size: 34px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value strong i { color: #586337 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-icon { width: 30px !important; height: 30px !important; color: var(--visitor-forest) !important; background: #f5f7f5 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-icon svg { width: 20px !important; height: 20px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter p { margin-block: 12px 0 !important; color: #53645a !important; font-size: 14px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-section { padding-block: 36px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy { padding: 24px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy h3 { font-size: 25px !important; line-height: 1.65 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section :is(.match-rail, .home-match-columns) { padding-inline: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-match-versus { grid-template-columns: minmax(0, 1fr) 86px minmax(0, 1fr) !important; padding: 18px 12px !important; gap: 10px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-match-score > strong { box-sizing: border-box; width: 100% !important; padding: 8px 6px !important; gap: 4px !important; font-size: 26px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .intro-section { padding-block: 40px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .intro-section .intro-grid { padding: 24px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .intro-section .feature-strip article { min-height: 0 !important; padding: 24px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.competitions-section, .cta-section, .regions-section) { padding-block: 40px !important; }
  }
  @media (max-width: 620px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) afl-home main#main-content > section > .container { width: calc(100% - 32px) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero { min-height: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-layout { min-height: 0 !important; padding-block: 124px 24px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy { width: 100% !important; max-width: none !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy:not(.home-hero-copy--open) { position: absolute !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero:not(:has(.home-hero-copy--open)) .home-hero-layout { min-height: 280px !important; padding-block: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy h1 { font-size: 32px !important; line-height: 1.35 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter:last-child:nth-child(odd) { grid-column: 1 / -1; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-track { grid-auto-columns: 86% !important; gap: 14px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section :is(.match-rail, .home-match-columns) { padding-inline: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-match-versus { grid-template-columns: minmax(0, 1fr) 86px minmax(0, 1fr) !important; padding: 18px 12px !important; gap: 10px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story { min-height: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story__layout { min-height: 0 !important; padding-block: 40px 96px !important; gap: 24px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story__copy h2 { font-size: 28px !important; line-height: 1.5 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story__copy > span { margin-block: 18px !important; font-size: 16px !important; line-height: 1.9 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story__copy a { min-height: 48px !important; font-size: 15px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story__visual { min-height: 220px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story__ring { width: 200px !important; height: 200px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story__ring.ring-two { width: 150px !important; height: 150px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story__stat { width: 160px !important; height: 160px !important; }
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-card h3 { display: block !important; max-height: none !important; -webkit-line-clamp: unset !important; font-size: 20px !important; line-height: 1.65 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-card time { font-size: 12px !important; color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-card > div:last-child { padding: 20px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-card b { display: inline-flex !important; align-items: center; min-height: 44px !important; font-size: 14px !important; color: var(--visitor-forest) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-image > span { border: 1px solid #cbd7c9 !important; background: #fff !important; color: var(--visitor-forest) !important; font-size: 12px !important; border-radius: 6px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section { padding-block: 56px !important; background: var(--visitor-paper) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-match-card { min-height: 0 !important; border-radius: 14px !important; background: var(--visitor-surface) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-match-head { padding: 14px 18px !important; border-block-end: 1px solid var(--visitor-line) !important; background: var(--visitor-surface) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .match-league { max-width: none !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; font-size: 13px !important; line-height: 1.7 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-match-versus { min-height: 0 !important; padding: 20px 18px !important; gap: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-team-logo { width: 56px !important; height: 56px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-match-team { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; justify-items: center !important; gap: 8px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-match-team > :is(strong, .unified-team-logo) { grid-column: 1 !important; grid-row: auto !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-match-team strong { display: block !important; width: 100% !important; max-height: none !important; -webkit-line-clamp: unset !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; color: var(--visitor-ink) !important; font-size: 15px !important; line-height: 1.6 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-match-score > strong { padding: 8px 16px !important; border: 1px solid var(--visitor-line) !important; border-radius: 8px !important; background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; font-size: 30px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-match-score small { margin-block-start: 7px !important; font-size: 12px !important; color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-match-meta { padding: 14px 18px !important; border-block-start: 1px solid var(--visitor-line) !important; gap: 10px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-matches-section .unified-match-meta dd { display: block !important; width: auto !important; max-width: 100% !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; overflow-wrap: anywhere; color: var(--visitor-ink) !important; font-size: 14px !important; }
  @media (min-width: 621px) and (max-width: 900px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero { min-height: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-layout { min-height: 520px !important; padding-block: 40px 88px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy { width: min(100%, 480px) !important; max-width: 480px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy h1 { font-size: 38px !important; line-height: 1.3 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-grid { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 8px !important; overflow-x: visible !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter { min-width: 0 !important; padding: 16px 10px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value :is(strong, strong span) { font-size: 28px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-icon { width: 26px !important; height: 26px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter p { font-size: 13px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-track { grid-auto-columns: calc((100% - 16px) / 2) !important; gap: 16px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story { min-height: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story__layout { min-height: 0 !important; padding-block: 48px 96px !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 28px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story__copy h2 { font-size: 32px !important; line-height: 1.4 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story__copy > span { font-size: 16px !important; line-height: 1.9 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story__visual { min-height: 260px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .association-story__ring { width: 240px !important; height: 240px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .intro-section .feature-strip { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .intro-section .feature-strip article { padding: 20px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competition-feature { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important; min-height: 360px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competitions-section .competition-art { min-height: 360px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competitions-section .competition-info { padding: 24px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competitions-section .competition-info h3 { font-size: 28px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competitions-section .competition-info p { font-size: 16px !important; }
  }
  @media (min-width: 901px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero { min-height: 540px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-layout { min-height: 540px !important; padding-block: 32px 96px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy { width: min(100%, 520px) !important; max-width: 520px !important; padding: 28px 32px !important; border: 1px solid #e1e6de !important; border-inline-start: 4px solid var(--visitor-gold) !important; border-radius: 0 0 20px 0 !important; background: #fff !important; color: var(--visitor-forest) !important; box-shadow: 0 16px 48px rgb(0 0 0 / 14%) !important; backdrop-filter: none !important; text-shadow: none !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy h1 { margin-block: 0 16px !important; font-size: clamp(38px, 3.5vw, 50px) !important; line-height: 1.25 !important; color: var(--visitor-forest) !important; letter-spacing: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy h1 em { color: var(--visitor-forest) !important; font-style: normal !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy .eyebrow { margin-block: 0 16px !important; color: #53645a !important; font-size: 13px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy .eyebrow span { background: var(--visitor-gold) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero-copy > p:not(.eyebrow) { margin-block: 0 24px !important; color: #53645a !important; font-size: 16px !important; line-height: 1.85 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero .hero-actions { gap: 12px 22px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero .button-primary { min-height: 48px !important; padding: 12px 18px !important; border: 1px solid var(--visitor-forest) !important; border-radius: 8px !important; background: var(--visitor-forest) !important; color: #fff !important; font-size: 15px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero .text-link { color: var(--visitor-forest) !important; font-size: 15px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-hero .text-link .play { border-color: #bcc6b8 !important; color: var(--visitor-forest) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-section { padding-block: 16px !important; border-block: 1px solid #dce4dd !important; background: #fff !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter { min-height: 120px !important; padding: 18px !important; border: 0 !important; border-inline-end: 1px solid #dce4dd !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter:last-child { border-inline-end: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value strong { padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--visitor-forest) !important; box-shadow: none !important; font-size: 42px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value strong span { color: var(--visitor-forest) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value strong i { color: #586337 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter p { margin-block: 12px 0 !important; color: #53645a !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-icon { width: 38px !important; height: 38px !important; border: 1px solid #dce4dd !important; background: #f5f7f5 !important; color: var(--visitor-forest) !important; box-shadow: none !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-section { padding-block: 56px !important; background: #f5f7f5 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) !important; border-radius: 16px !important; box-shadow: 0 12px 32px rgb(13 52 30 / 5%) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy { padding: 32px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy h3 { font-size: 30px !important; line-height: 1.55 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .intro-section { padding-block: 64px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .intro-section .intro-grid { padding: 32px !important; gap: 40px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .intro-section .intro-grid h2 { font-size: clamp(32px, 3.2vw, 44px) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .intro-section .feature-strip article { min-height: 200px !important; padding: 24px !important; border-radius: 12px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .intro-section .feature-icon { margin-block-end: 24px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competitions-section { padding-block: 64px !important; background: #f5f7f5 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competitions-section .section-heading h2 { font-size: 36px !important; color: var(--visitor-forest) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competition-feature { min-height: 420px !important; border: 1px solid #dce4dd !important; border-radius: 12px !important; background: #fff !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competitions-section .competition-art { min-height: 420px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competitions-section .competition-info { padding: 32px !important; color: #20382a !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competitions-section .competition-info h3 { color: var(--visitor-forest) !important; font-size: 36px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competitions-section .competition-info p { color: #53645a !important; font-size: 16px !important; line-height: 1.9 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competitions-section .competition-side { gap: 16px !important; margin-block-start: 20px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .competitions-section .competition-side > a { padding: 22px !important; border: 1px solid #dce4dd !important; border-radius: 10px !important; background: #fff !important; color: #20382a !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .cta-section { padding-block: 64px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .cta-section h2 { font-size: 44px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .regions-section { padding-block: 64px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .regions-copy h2 { font-size: 38px !important; }
  }
}

@layer afl-public-visitor-overrides {
  :is(.afl-public-site, afl-root:has(> afl-header)) .gate-card { border-radius: 18px !important; box-shadow: var(--visitor-shadow) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .search-panel label { color: #e5ece0 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .search-panel input::placeholder { color: #c2cebf !important; opacity: 1 !important; }
  @media (max-width: 1180px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .mobile-menu { width: 100% !important; inset-inline: 0 !important; }
  }
  @media (min-width: 621px) and (max-width: 1180px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .nav-actions { display: flex !important; flex-wrap: nowrap !important; align-items: center !important; gap: 8px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .electronic-services-menu--nav { display: flex !important; align-items: center !important; gap: 8px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .search-button { display: grid !important; place-items: center; }
  }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.account-type-card a, .type-toolbar a) { color: var(--visitor-gold) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.account-type-card > div:last-child span, .type-toolbar span) { color: var(--visitor-muted) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) .report-page :is(.filters, .table-wrap, .cards article, .statistics, .statistics-grid article, .state, .detail-section) { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border-color: var(--visitor-line) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) .report-page :is(h2, h3, label, strong, dd) { color: var(--visitor-ink) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) .report-page :is(dt, small, .statistics-grid span) { color: var(--visitor-muted) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) .report-page th { background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; }
}

/* Association and visitor directories: original photography, clear reading surfaces,
   and identity details that follow the content rather than repeating hero overlays. */
@layer afl-public-visitor-overrides {
  :is(.afl-public-site, afl-root:has(> afl-header)) main.inner-main:not(.dashboard-detail) > section > .container { padding-inline: 0 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .about-experience { gap: 32px !important; padding: 0 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter.about-chapter--image {
    display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    min-height: 0 !important; padding: 0 !important; gap: 0 !important;
    border: 1px solid var(--visitor-line) !important; border-radius: 12px !important;
    background: var(--visitor-surface) !important; box-shadow: none !important;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter--image::before { background: none !important; box-shadow: none !important; pointer-events: none; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter__background {
    position: relative !important; inset: auto !important; align-self: stretch !important;
    width: 100% !important; height: 100% !important; min-height: 320px; object-fit: cover;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter--image .about-chapter__copy {
    width: auto !important; min-width: 0; margin: 0 !important; padding: clamp(24px, 3.5vw, 48px) !important;
    justify-self: stretch !important; text-align: start !important; color: var(--visitor-ink) !important;
    border-block-start: 3px solid var(--visitor-gold); background: var(--visitor-surface) !important;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter--image .about-chapter__copy h2 {
    margin-block: 16px 20px !important; color: var(--visitor-ink) !important;
    font-size: clamp(28px, 3vw, 40px) !important; line-height: 1.35 !important; text-shadow: none !important;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter--image :is(.about-chapter__copy > p, .about-goals p) {
    color: var(--visitor-muted) !important; text-shadow: none !important; font-size: 17px !important; line-height: 1.95 !important;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter--image .about-chapter__kicker { color: var(--visitor-muted) !important; font-size: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter--image .about-goals { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter--image .about-goals li { grid-template-columns: 30px minmax(0, 1fr) !important; gap: 12px !important; padding-block: 12px !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter--image .about-goals li > span { color: var(--visitor-muted) !important; font-size: 14px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .board-grid { gap: 24px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card { border-radius: 12px !important; box-shadow: none !important; background: var(--visitor-surface) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card__content { padding: 24px 20px 20px !important; background: var(--visitor-surface) !important; border-block-start: 3px solid var(--visitor-gold); }
  :is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card__number { border-radius: 50% !important; background: var(--visitor-forest) !important; color: #fff !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card__name { color: var(--visitor-ink) !important; font-size: 19px !important; line-height: 1.6 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card__role { color: var(--visitor-muted) !important; background: transparent !important; border: 0 !important; padding: 0 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-profile { border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; box-shadow: none !important; overflow: hidden; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-intro { grid-template-columns: minmax(0, 1fr) !important; min-height: 0 !important; padding: clamp(24px, 3vw, 40px) !important; border-block-start: 3px solid var(--visitor-gold) !important; background: var(--visitor-surface) !important; text-align: start !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-intro > div { padding: 0 !important; min-width: 0; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-intro section { padding: 20px !important; margin-block-start: 20px; background: var(--visitor-paper) !important; border: 1px solid var(--visitor-line) !important; border-radius: 8px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-intro section > b { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-intro section > :is(b, ul) { max-width: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-intro section::after { background: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-intro ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 32px; padding-inline-start: 20px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-intro h2 { color: var(--visitor-ink) !important; font-size: clamp(25px, 2.6vw, 34px) !important; line-height: 1.5 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-intro :is(p, li) { color: var(--visitor-muted) !important; font-size: 16px !important; line-height: 1.9 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-members { padding: 28px !important; background: var(--visitor-paper) !important; border-block-start: 1px solid var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-member-card { border-radius: 10px !important; box-shadow: none !important; background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .member-copy { padding: 18px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .member-copy h4 { margin: 8px 0 !important; color: var(--visitor-ink) !important; font-size: 18px !important; line-height: 1.6 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .member-copy small { margin: 0 !important; color: var(--visitor-muted) !important; font-size: 13px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .member-signature { color: var(--visitor-muted) !important; border-color: var(--visitor-line) !important; font-size: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-members > header :is(small, span) { color: var(--visitor-muted) !important; font-size: 13px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .committee-members > header > span { background: var(--visitor-surface) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.association-card, .league-card, .club-directory-card, .championship-card, .player-card) {
    border: 1px solid var(--visitor-line) !important; border-radius: 12px !important;
    background: var(--visitor-surface) !important; box-shadow: none !important; min-width: 0;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.association-card, .league-card) { border-block-start: 3px solid var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.association-card, .league-card, .club-directory-card, .championship-card, .player-card) h2 { color: var(--visitor-ink) !important; font-size: 20px !important; line-height: 1.65 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.entity-heading, .clubs-directory-intro) { border-radius: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.entity-heading, .clubs-directory-intro) h2 { font-size: clamp(25px, 3vw, 34px) !important; line-height: 1.5 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .stat-tile { border-radius: 12px !important; box-shadow: none !important; border-block-start: 3px solid var(--visitor-gold) !important; background: var(--visitor-surface) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .stat-tile strong { color: var(--visitor-ink) !important; font-size: clamp(36px, 4vw, 54px) !important; font-variant-numeric: tabular-nums; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .stat-tile :is(small, span) { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .file-list > article { padding: 20px !important; border: 1px solid var(--visitor-line) !important; background: var(--visitor-surface) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .file-list h2 { font-size: 18px !important; line-height: 1.6 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.document-browser > header p, .file-list p) { color: var(--visitor-muted) !important; font-size: 14px !important; line-height: 1.8 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .document-browser > header > span { color: var(--visitor-ink) !important; background: var(--visitor-paper) !important; font-size: 14px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .file-list .file-icon { background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line) !important; border-radius: 8px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .faq-list details { border: 1px solid var(--visitor-line) !important; border-radius: 10px !important; background: var(--visitor-surface) !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .faq-list details[open] { border-inline-start: 3px solid var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .faq-list summary { color: var(--visitor-ink) !important; padding: 20px 24px !important; font-size: 18px !important; line-height: 1.7 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .faq-list details > p { color: var(--visitor-muted) !important; padding: 0 24px 24px !important; font-size: 16px !important; line-height: 1.95 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .legal-document { max-width: 960px; margin-inline: auto; padding: clamp(24px, 4vw, 48px) !important; border-radius: 12px !important; border-block-start: 3px solid var(--visitor-gold) !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .legal-page { max-width: 960px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.legal-page__header, .legal-page__sections) { padding: clamp(24px, 4vw, 40px) !important; border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; background: var(--visitor-surface) !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .legal-page__header h2 { color: var(--visitor-ink) !important; font-size: clamp(26px, 3vw, 36px) !important; line-height: 1.5 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .legal-page__header::before { width: 3px !important; background: var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .news-grid { gap: 24px !important; align-items: start; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .news-grid .news-card { border-radius: 12px !important; background: var(--visitor-surface) !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .news-grid .news-card h2 { display: block !important; -webkit-line-clamp: unset !important; max-height: none !important; color: var(--visitor-ink) !important; font-size: 22px !important; line-height: 1.6 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .news-grid .news-card p { color: var(--visitor-muted) !important; font-size: 16px !important; line-height: 1.9 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .article-details { border-radius: 12px !important; border: 1px solid var(--visitor-line) !important; padding: clamp(24px, 4vw, 44px) !important; background: var(--visitor-surface) !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .article-header h1 { color: var(--visitor-ink) !important; font-size: clamp(27px, 3vw, 38px) !important; line-height: 1.55 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .article-meta { gap: 12px; flex-wrap: wrap; padding-block: 14px; border-block: 1px solid var(--visitor-line); }
  :is(.afl-public-site, afl-root:has(> afl-header)) .article-meta time { color: var(--visitor-muted) !important; font-size: 14px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .article-meta span { color: var(--visitor-ink) !important; background: var(--visitor-paper) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.contact-person-card, .staff-email__access-card, .staff-email__mobile-card) { border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; background: var(--visitor-surface) !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.contact-person-card, .staff-email__access-card, .staff-email__mobile-card) :is(h2, h3) { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.contact-person-card, .staff-email__access-card, .staff-email__mobile-card) p { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.staff-email__access-copy > span, .staff-email__mobile-card > div:nth-child(2) > span) { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .staff-email__instructions li { color: var(--visitor-muted) !important; background: var(--visitor-paper) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .staff-email__instructions strong { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .staff-email__mobile-card { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .staff-email__mobile-icon { color: var(--visitor-ink) !important; background: var(--visitor-paper) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .staff-email__access-card > small { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .staff-email__stores a { color: var(--visitor-ink) !important; background: var(--visitor-paper) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .staff-email__stores small { color: var(--visitor-muted) !important; font-size: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .contact-person-card a { color: var(--visitor-ink) !important; background: var(--visitor-paper) !important; border-color: var(--visitor-line) !important; }
  @media (min-width: 981px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter:nth-child(even) .about-chapter__background { order: 2; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter:has(.about-goals) { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important; }
  }
  @media (max-width: 980px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter.about-chapter--image { grid-template-columns: minmax(0, 1fr) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter__background { height: auto !important; min-height: 0 !important; aspect-ratio: 16 / 9; }
  }
  @media (max-width: 620px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) main.inner-main:not(.dashboard-detail) > section > .container { width: calc(100% - 32px) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .about-experience { gap: 24px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .about-chapter--image .about-chapter__copy { padding: 24px 20px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .board-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 24px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .board-member-card > .media-board { aspect-ratio: 5 / 4 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .committee-members { padding: 20px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .committee-intro ul { grid-template-columns: minmax(0, 1fr); }
    :is(.afl-public-site, afl-root:has(> afl-header)) .member-copy { padding: 14px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .committee-members > header { flex-wrap: wrap; gap: 12px; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .faq-list summary { padding: 18px !important; font-size: 17px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .faq-list details > p { padding: 0 18px 20px !important; }
  }
}

/* Public membership services retain their original fields and verification flow. */
@layer afl-public-visitor-overrides {
  :is(.afl-public-site, afl-root:has(> afl-header)) .portal-page { padding-block-start: 0 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .portal-page::before { content: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .portal-page > section > .container { padding-inline: 0 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .portal-page .portal-hero { padding-block: 32px !important; background: var(--visitor-forest) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .portal-page .portal-grid { position: absolute !important; inset: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; pointer-events: none; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .portal-page .portal-hero-inner { min-height: 0 !important; margin-block: 0 !important; padding-block: 0 !important; background: transparent !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.portal-form, .wizard-card, .activation-copy) { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .portal-form { padding: clamp(24px, 3.5vw, 40px) !important; border-radius: 12px !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.portal-form header h2, .activation-copy h2) { color: var(--visitor-ink) !important; font-size: clamp(24px, 2.8vw, 30px) !important; line-height: 1.5 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.portal-form header p, .activation-copy > p, .portal-field > small, .resend-attempts) { color: var(--visitor-muted) !important; font-size: 14px !important; line-height: 1.8 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .portal-field > span { color: var(--visitor-ink) !important; font-size: 15px !important; line-height: 1.7 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.portal-field input, .portal-field select, .portal-field textarea, .segmented-code input) { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .portal-field :is(input:not(.segmented-code input), select, textarea) { font-size: 16px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.password-field, .phone-field) { background: var(--visitor-surface) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .phone-field > span { background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; font-size: 14px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .portal-primary { min-height: 48px !important; padding: 12px 20px !important; border: 1px solid var(--visitor-forest) !important; border-radius: 8px !important; background: var(--visitor-forest) !important; color: #fff !important; font-size: 15px !important; line-height: 1.7 !important; white-space: normal !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .portal-primary:hover { background: var(--visitor-green) !important; color: #fff !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) .portal-primary:not(:disabled) { background: var(--visitor-gold) !important; color: var(--visitor-forest) !important; border-color: var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .portal-secondary { min-height: 48px !important; padding: 12px 20px !important; border: 1px solid var(--visitor-line) !important; border-radius: 8px !important; background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; font-size: 15px !important; line-height: 1.7 !important; white-space: normal !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.portal-primary, .portal-secondary):disabled { opacity: 1 !important; background: var(--visitor-paper) !important; color: var(--visitor-muted) !important; border-color: var(--visitor-line) !important; transform: none !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.portal-form, .wizard-card, .activation-copy) .form-alert { color: var(--visitor-ink) !important; background: var(--visitor-paper) !important; border-color: var(--visitor-gold) !important; font-size: 14px !important; line-height: 1.8 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.portal-form, .wizard-card, .activation-copy) .form-alert.error { color: #94382c !important; background: #fff0ee !important; border-color: #b64636 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.recovery-layout, .activation-card) { gap: 24px !important; background: transparent !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-card { min-height: 0 !important; border-radius: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-side { background: var(--visitor-forest) !important; color: #fff !important; border-radius: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-side :is(li, .chosen-type small, .privacy-note p, .privacy-note b) { color: #e0e8dc !important; font-size: 14px !important; line-height: 1.8 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-side > a { color: var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-side li.active i { color: var(--visitor-forest) !important; background: var(--visitor-gold) !important; border-color: var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-card-head h2 { color: var(--visitor-ink) !important; font-size: clamp(24px, 2.8vw, 30px) !important; line-height: 1.5 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-card-head small { color: var(--visitor-muted) !important; font-size: 14px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-card-head > span { color: var(--visitor-ink) !important; background: var(--visitor-paper) !important; border: 1px solid var(--visitor-line) !important; border-radius: 6px; padding: 6px 10px; font-size: 16px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-card .progress-track { background: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-card .progress-track i { background: var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.account-type-card > small, .account-type-card > div:last-child span, .type-toolbar span) { color: var(--visitor-muted) !important; font-size: 14px !important; line-height: 1.8 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .registration-step-tracker { background: var(--visitor-surface) !important; border-color: var(--visitor-paper) !important; gap: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .registration-step-tracker li { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .registration-step-tracker__marker { color: var(--visitor-muted) !important; background: var(--visitor-paper) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .registration-step-tracker__step--current .registration-step-tracker__marker { color: var(--visitor-forest) !important; background: var(--visitor-gold) !important; border-color: var(--visitor-gold) !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .registration-step-tracker__step--current .registration-step-tracker__label { color: var(--visitor-ink) !important; font-weight: 700; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .registration-step-tracker__step--complete .registration-step-tracker__marker { color: #fff !important; background: var(--visitor-forest) !important; border-color: var(--visitor-forest) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-card :is(.registration-instructions-step > header, .registration-instructions-groups article, .review-box, .optional-panel, .club-team-types__option) { color: var(--visitor-ink) !important; background: var(--visitor-paper) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-card :is(.registration-instructions-step, .registration-instructions-groups) :is(h3, h4) { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-card :is(.registration-instructions-step header small, .registration-instructions-step header p, .registration-instructions-groups li) { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .registration-instructions-groups article > span { color: var(--visitor-ink) !important; background: var(--visitor-surface) !important; border: 1px solid var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .segmented-input__country { color: var(--visitor-ink) !important; background: var(--visitor-paper) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-actions { gap: 12px !important; flex-wrap: wrap; border-color: var(--visitor-line) !important; background: var(--visitor-surface) !important; }
  @media (min-width: 621px) and (max-width: 900px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .registration-step-tracker { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)) !important; }
  }
  @media (max-width: 620px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-shell { display: flex !important; flex-direction: column !important; gap: 20px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-shell > .wizard-card { order: -1; width: 100%; box-sizing: border-box; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-side { width: 100%; box-sizing: border-box; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .registration-step-tracker { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; padding: 20px !important; gap: 16px 12px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .registration-step-tracker li:last-child:nth-child(odd) { grid-column: 1 / -1; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .registration-step-tracker li:not(:last-child)::after { content: none !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .registration-instructions-step > header { grid-template-columns: minmax(0, 1fr) !important; padding: 20px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .registration-instructions-groups article { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; padding: 18px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .wizard-actions > :is(button, a) { flex: 1 1 100%; }
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) .activation-card { min-height: 0 !important; border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; overflow: hidden; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .activation-copy { padding: clamp(24px, 3.5vw, 40px) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .activation-copy > small { color: var(--visitor-muted) !important; font-size: 14px !important; line-height: 1.8 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .activation-actions { display: flex !important; flex-wrap: wrap; gap: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .recovery-story { border-radius: 12px !important; padding: 32px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .recovery-story h2 { color: #fff !important; font-size: clamp(24px, 2.8vw, 30px) !important; line-height: 1.5 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .recovery-story p { color: #e0e8dc !important; font-size: 16px !important; line-height: 1.9 !important; }
  @media (max-width: 620px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .portal-page > section > .container { width: calc(100% - 32px) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .segmented-code input { height: 48px !important; padding: 0 !important; font-size: 16px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.recovery-layout, .activation-card) { display: flex !important; flex-direction: column !important; gap: 20px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .recovery-layout > .portal-form { order: -1; width: 100%; box-sizing: border-box; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .activation-card > .activation-copy { order: -1; width: 100%; box-sizing: border-box; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .recovery-story { width: 100%; box-sizing: border-box; padding: 24px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .activation-actions > button { flex: 1 1 100%; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .portal-form { padding: 24px 20px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .phone-field > span { padding-inline: 8px !important; }
  }
}

/* Keep public tab and paging foregrounds paired with their own surfaces. */
@layer afl-public-visitor-overrides {
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.entity-heading, .clubs-directory-intro) { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line) !important; border-inline-start: 3px solid var(--visitor-gold) !important; padding: 24px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.entity-heading, .clubs-directory-intro) :is(h2, h3) { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.entity-heading, .clubs-directory-intro) :is(p, small) { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .association-card > div:not(.api-media) > span { background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .association-card > div:not(.api-media) > span b { color: inherit !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .unified-match-meta dt { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .unified-match-meta dt svg { color: inherit !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .unified-match-card .status-completed { background: #e8f4ec !important; color: #205638 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center :is(.comparison-card, .report-section, .info-panel, .team-lineup-card, .lineup-view, .events-view, .event-legend, .event-card) { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center :is(.comparison-card, .report-section, .info-panel, .event-card) :is(h2, h3, strong, b, dd, header span) { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center :is(.comparison-card, .report-section, .info-panel, .event-card) :is(small, p, dt) { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center :is(.halves-grid > article, .events-team-head, .timeline-start, .event-time, .bench, .team-lineup-card > header) { background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center :is(.halves-grid > article, .bench, .team-lineup-card > header) :is(h3, h4, strong, b, span) { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center :is(.halves-grid > article, .bench, .team-lineup-card > header) small { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center .bench a { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center .lineup-heading :is(h2, small) { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center .lineup-team-switcher button { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center .lineup-team-switcher button.active { background: var(--visitor-forest) !important; color: #fff !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .match-center .lineup-team-switcher button :is(b, small, span) { color: inherit !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .entity-tabs button > span { background: transparent !important; color: inherit !important; white-space: nowrap !important; overflow-wrap: normal; min-inline-size: 2ch; flex-shrink: 0; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.team-smart-card, .player-card, .championship-card) :is(.card-kicker, .card-meta) { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .stats-seasons > section { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; padding: 24px !important; overflow: hidden; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .stats-seasons > section > header { background: transparent !important; border-block-end: 1px solid var(--visitor-line); padding-block-end: 18px; margin-block-end: 18px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .stats-seasons > section > header small { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .metric-grid > article { background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line) !important; padding: 18px !important; border-radius: 10px !important; min-width: 0; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .metric-grid > article strong { color: var(--visitor-ink) !important; font-size: 30px !important; line-height: 1.3; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .metric-grid > article > span:last-child { color: var(--visitor-muted) !important; font-size: 14px !important; line-height: 1.7 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .metric-grid .metric-icon { display: grid !important; place-items: center; width: 36px; height: 36px; background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line); border-radius: 8px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .metric-grid .metric-icon svg { width: 20px; height: 20px; color: inherit !important; }
  @media (max-width: 760px) { :is(.afl-public-site, afl-root:has(> afl-header)) .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
  @media (max-width: 520px) { :is(.afl-public-site, afl-root:has(> afl-header)) .stats-seasons > section { padding: 16px !important; } :is(.afl-public-site, afl-root:has(> afl-header)) .metric-grid > article { padding: 14px !important; } }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.team-entity-grid, .player-grid) { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 16px !important; }
  @media (max-width: 980px) { :is(.afl-public-site, afl-root:has(> afl-header)) :is(.team-entity-grid, .player-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
  @media (max-width: 520px) { :is(.afl-public-site, afl-root:has(> afl-header)) :is(.team-entity-grid, .player-grid) { grid-template-columns: minmax(0, 1fr) !important; } }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-tabs, .entity-tabs, .media-filter) button,
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-tabs, .entity-tabs, .media-filter) button {
    background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line) !important; opacity: 1 !important; transition: border-color .15s ease, box-shadow .15s ease !important;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-tabs, .entity-tabs, .media-filter) button:is(:hover, :focus-visible),
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-tabs, .entity-tabs, .media-filter) button:is(:hover, :focus-visible) {
    background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; border-color: var(--visitor-olive) !important;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-tabs, .entity-tabs, .media-filter) button.active,
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-tabs, .entity-tabs, .media-filter) button.active {
    background: var(--visitor-forest) !important; color: #fff !important; border-color: var(--visitor-olive) !important;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.entity-pager, .pagination-bar, .report-page .pager) button {
    background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line) !important; opacity: 1 !important;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.entity-pager, .pagination-bar, .report-page .pager) button:disabled {
    background: var(--visitor-paper) !important; color: var(--visitor-muted) !important; cursor: not-allowed; opacity: 1 !important;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.match-tabs, .entity-tabs, .media-filter, .entity-pager, .pagination-bar) button :is(span, svg, b, small) { color: inherit !important; }
}

/* Membership entry stays on white paper, including when the surrounding site is dark. */
@layer afl-public-visitor-overrides {
  :is(.afl-public-site, afl-root:has(> afl-header)) .portal-page:has(.wizard-shell, .recovery-layout, .activation-card) .portal-content {
    background: var(--visitor-paper) !important;
    padding-block: 24px 48px !important;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.wizard-card, .recovery-layout .portal-form, .activation-copy) {
    --visitor-surface: #fff;
    --visitor-paper: #f5f7f5;
    --visitor-ink: #20382a;
    --visitor-muted: #53645a;
    --visitor-line: #c5d2c8;
    color-scheme: light;
    background: #fff !important;
    color: #20382a !important;
    border: 1px solid #dce4dd !important;
    box-shadow: 0 12px 36px rgb(0 0 0 / 12%) !important;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.wizard-card, .recovery-layout .portal-form, .activation-copy) :is(input, select, textarea) {
    background: #fff !important;
    color: #20382a !important;
    border-color: #a9bcaf !important;
    caret-color: var(--visitor-forest);
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) select :is(option, optgroup) {
    background: var(--visitor-surface) !important;
    color: var(--visitor-ink) !important;
  }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.wizard-card, .recovery-layout .portal-form, .activation-copy) select { color-scheme: light !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.wizard-card, .recovery-layout .portal-form, .activation-copy) :is(input, textarea)::placeholder { color: #607367 !important; opacity: 1; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.wizard-card-head, .wizard-actions) { background: #f5f7f5 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.wizard-card, .recovery-layout .portal-form, .activation-copy) .portal-primary { background: var(--visitor-forest) !important; color: #fff !important; border-color: var(--visitor-forest) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.wizard-card, .recovery-layout .portal-form, .activation-copy) .portal-secondary { background: #f5f7f5 !important; color: #20382a !important; border-color: #a9bcaf !important; }
  @media (max-width: 620px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.wizard-card, .recovery-layout .portal-form) .segmented-code:has(input:nth-child(9)) { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 6px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.wizard-card, .recovery-layout .portal-form) .phone-field { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important; padding: 10px !important; border-radius: 10px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.wizard-card, .recovery-layout .portal-form) .phone-field > span { min-height: 36px; justify-content: center; border: 0 !important; }
  }
}

/* Marketing and editorial pages share the visitor type, surfaces and action language. */
@layer afl-public-visitor-overrides {
  :is(.afl-public-site, afl-root:has(> afl-header)) .counter-grid article { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .counter-grid article :is(strong, svg, span) { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .member-shell { min-height: 0 !important; padding-block: 48px !important; background: var(--visitor-paper) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .member-state { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.member-state:not(.afl-auth-connection-state) h1, .public-page .state-panel h1) { color: var(--visitor-ink) !important; font-size: clamp(28px, 3.5vw, 40px) !important; line-height: 1.4 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .member-state p { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.member-state a, .public-page .state-panel > a) { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 20px !important; background: var(--visitor-forest) !important; color: #fff !important; border-radius: 8px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-page, .partners) { --ink: var(--visitor-ink); --green: var(--visitor-forest); --green2: var(--visitor-green); --gold: var(--visitor-gold); --cream: var(--visitor-paper); background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-wrap, .academy-landing .wrap) { width: min(1280px, calc(100% - 64px)) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-hero h1, .partners .hero h1, .media-hero h1) { font-size: clamp(30px, 3.5vw, 48px) !important; line-height: 1.35 !important; letter-spacing: -.02em !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-section h2, .partners .section h2, .partners .cta h2, .media-section h2) { font-size: clamp(26px, 2.8vw, 34px) !important; line-height: 1.45 !important; letter-spacing: normal !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-section, .media-section) { padding-block: 56px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .partners .section { padding-block: 56px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-hero, .partners > .hero, .media-hero) { min-height: 0 !important; padding-block: 48px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .media-hero__content { padding-block: 0 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-hero p, .partners .hero p, .media-hero p) { font-size: 17px !important; line-height: 1.9 !important; color: #e5ece0 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-section, .partners .section) p { font-size: 16px !important; line-height: 1.9 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-two-col > p, .app-gallery p, .app-note, .partners .power p, .partners .impact article p, .partners .journey li b, .partners .pathway-copy p, .partners .note, .partners .paths-lead) { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-audience, .app-impact, .app-stats, .partners .scale, .partners .paths, .media-center .x-section) { background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-stat-grid article, .app-card-grid article, .app-audience-panel, .app-impact-grid > span, .partners .power article, .partners .impact article, .partners .pathway-card, .partners .meters article, .featured-video, .video-card, .media-state) { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .app-stat-grid article { min-height: 0 !important; padding: 24px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .app-stat-grid strong { color: var(--visitor-ink) !important; font-size: 44px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-section-no, .app-card-grid b, .partners .power article > b, .partners .section > header > i, .partners .scale > small, .partners .pathway-copy small, .partners .pathway-meta span, .partners .meters small) { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .partners .stats { border: 0 !important; gap: 16px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .partners .stats article { background: var(--visitor-surface) !important; border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; min-height: 0 !important; padding: 24px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .partners .stats strong { font-size: 44px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .partners .stats :is(strong, span) { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .app-card-grid article { min-height: 0 !important; border-block-start: 3px solid var(--visitor-gold) !important; padding: 24px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .app-card-grid h3 { margin-block: 18px 0 !important; font-size: 18px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-audience-panel h3, .app-audience-panel li, .app-impact blockquote, .partners .pathway-copy h3, .featured-video__copy h3, .video-card h3) { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .app-impact blockquote { font-size: clamp(24px, 2.6vw, 32px) !important; line-height: 1.7 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .app-tabs { flex-wrap: wrap !important; overflow: visible !important; gap: 8px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .app-tabs button { min-height: 48px; border: 1px solid var(--visitor-line) !important; border-radius: 8px !important; background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; white-space: normal; transition: border-color .15s ease, box-shadow .15s ease !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .app-tabs button[aria-selected='true'] { background: var(--visitor-forest) !important; color: #fff !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-secondary-button, .media-button, .partners .actions a, .partners .cta > a, .partners .pathway-copy > a) { min-height: 48px !important; border-radius: 8px !important; padding: 12px 20px !important; font-size: 15px !important; line-height: 1.7 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .partners .pathway-copy > a { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .partners .pathway-visual { background: var(--visitor-forest) !important; color: #fff !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .partners :is(.pathway-card, .impact-stages li) { animation: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .media-button--primary { background: var(--visitor-gold) !important; color: var(--visitor-forest) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .media-button--outline { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .featured-video__copy :is(p, .video-date) { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .featured-video__copy p { display: block !important; -webkit-line-clamp: unset !important; overflow: visible !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.featured-video__copy .text-action, .video-card a, .media-state a) { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .media-center .x-copy :is(h2, p) { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .media-center .x-copy > span { color: var(--visitor-muted) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .media-center .x-copy > span { display: inline-block; direction: ltr; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .media-center .x-feed { border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-download-promo, .partners .cta) { background: var(--visitor-forest) !important; color: #fff !important; padding-block: 48px !important; }
  @media (max-width: 620px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-wrap, .academy-landing .wrap) { width: calc(100% - 32px) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-section, .media-section, .partners .section) { padding-block: 36px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-tabs button, .partners .actions a) { flex: 1 1 auto; }
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-stat-grid, .app-card-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.app-stat-grid article, .app-card-grid article) { padding: 16px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .app-stat-grid strong { font-size: 28px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .app-card-grid h3 { font-size: 16px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .partners .stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .partners .stats article { padding: 16px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .partners .stats strong { font-size: 28px !important; }
  }
}

/* Dedicated academy and participation screens use the same visitor identity. */
@layer afl-public-visitor-overrides {
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing { color: var(--visitor-ink) !important; background: var(--visitor-paper) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .academy-hero { min-height: 520px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .academy-hero::after { background: linear-gradient(90deg, rgb(4 27 20 / 90%), rgb(4 27 20 / 72%)) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing:dir(rtl) .academy-hero::after { background: linear-gradient(270deg, rgb(4 27 20 / 90%), rgb(4 27 20 / 72%)) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .hero-copy { padding-block: 80px 56px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .hero-copy h1 { color: #fff !important; font-size: clamp(34px, 4.5vw, 58px) !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .hero-copy p { color: #e0e8dc !important; font-size: 16px !important; line-height: 1.9 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .hero-copy > span { color: var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .section { padding-block: 64px !important; background: var(--visitor-paper) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .section.alt { background: var(--visitor-surface) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing :is(.intro, .benefits-layout) { gap: 40px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing :is(.intro h2, .section-head h2) { color: var(--visitor-ink) !important; font-size: clamp(28px, 3vw, 40px) !important; line-height: 1.45 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing :is(.intro p, .section-head p, .benefits-layout > div > p, .register-card p) { color: var(--visitor-muted) !important; font-size: 16px !important; line-height: 1.9 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .section-kicker { color: var(--visitor-muted) !important; font-size: 14px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .quote-card { min-height: 280px !important; padding: 32px !important; border-radius: 12px !important; background: var(--visitor-forest) !important; color: #fff !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .quote-card span { color: var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing :is(.age-card, .register-card, .eligible-grid article, .benefit-list > div, .state) { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .age-card { min-height: 0 !important; padding: 24px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .age-card p { color: var(--visitor-muted) !important; font-size: 14px !important; line-height: 1.85 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .age-card b { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .eligible-grid b { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .age-card:first-child { background: var(--visitor-forest) !important; color: #fff !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .age-card:first-child b { color: var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .age-card:first-child p { color: #e0e8dc !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing :is(.hero-registration-cta, .final .cta) { min-height: 48px !important; padding: 12px 22px !important; border: 1px solid var(--visitor-gold) !important; border-radius: 8px !important; background: var(--visitor-gold) !important; color: var(--visitor-forest) !important; box-shadow: none !important; font-size: 16px !important; line-height: 1.7 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .register-card a { display: inline-flex; align-items: center; min-height: 44px; color: var(--visitor-ink) !important; font-size: 15px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .final { padding-block: 64px !important; background: var(--visitor-forest) !important; color: #fff !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .final .section-kicker { color: var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page .active-league-content { background: var(--visitor-paper) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page :is(.workflow-card, .progress) { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page :is(.workflow-card h2, .segmented-field > span, .team-card dd, .age-options label) { color: var(--visitor-ink) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page :is(.workflow-card header small, .segmented-field > small, .workflow-card > p, .team-card dt, .age-options small, .progress li) { color: var(--visitor-muted) !important; font-size: 14px !important; line-height: 1.8 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page :is(.digit-boxes input, .country-code, .age-options label, .info-box, .empty-state) { color: var(--visitor-ink) !important; background: var(--visitor-paper) !important; border-color: var(--visitor-line) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page .progress b { color: var(--visitor-ink) !important; background: var(--visitor-paper) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page .age-options label.selected { border-color: var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page .age-options label:focus-within { outline: 2px solid var(--visitor-gold); outline-offset: 3px; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page .progress :is(.current, .done) b { color: var(--visitor-forest) !important; background: var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page .primary-action { background: var(--visitor-forest) !important; color: #fff !important; border-radius: 8px !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page :is(.secondary-action, .text-action) { color: var(--visitor-ink) !important; background: var(--visitor-paper) !important; border: 1px solid var(--visitor-line) !important; border-radius: 8px !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page .primary-action:not(:disabled) { color: var(--visitor-forest) !important; background: var(--visitor-gold) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page button:disabled { color: var(--visitor-muted) !important; background: var(--visitor-paper) !important; opacity: 1 !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.success-welcome, .success-next, .success-instruction) { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border: 1px solid var(--visitor-line) !important; border-radius: 12px !important; box-shadow: none !important; padding: 28px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.success-next, .success-instruction, .success-welcome) :is(p, small, li span) { color: var(--visitor-muted) !important; font-size: 15px !important; line-height: 1.9 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .success-next > a { display: inline-flex; align-items: center; min-height: 44px; color: var(--visitor-ink) !important; font-size: 15px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .participation-success { padding-block: 48px !important; min-height: 0 !important; background: var(--visitor-forest) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .participation-success .success-card { background: var(--visitor-surface) !important; color: var(--visitor-ink) !important; border-radius: 16px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .participation-success .success-card :is(h1, p, small) { color: var(--visitor-ink) !important; }
  @media (max-width: 620px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .academy-hero { min-height: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .hero-copy { padding-block: 100px 40px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .section { padding-block: 40px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .academy-landing .quote-card { min-height: 0 !important; padding: 24px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page .workflow-card { padding: 20px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page .digit-boxes input { font-size: 16px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .active-league-page .button-row > button { flex: 1 1 100%; white-space: normal; }
  }
}

/* Featured editorial lead: existing news content and photograph remain unchanged. */
@layer afl-public-visitor-overrides {
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature { min-height: 400px !important; border: 1px solid var(--visitor-line) !important; border-radius: 16px !important; background: var(--visitor-surface) !important; box-shadow: 0 12px 32px rgb(13 52 30 / 5%) !important; transition: border-color .2s ease, box-shadow .2s ease !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature:hover { transform: none !important; border-color: var(--visitor-gold) !important; box-shadow: 0 16px 36px rgb(13 52 30 / 9%) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy { position: relative; justify-content: center !important; align-items: flex-start !important; padding: clamp(24px, 3.2vw, 44px) !important; border-block-start: 3px solid var(--visitor-gold); }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy > div { width: 100%; flex-wrap: wrap; gap: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy > div span { padding: 6px 12px !important; border: 1px solid var(--visitor-line); border-radius: 6px !important; background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; font-size: 13px !important; font-weight: 700 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy time { margin-inline-start: auto; color: var(--visitor-muted) !important; font-size: 13px !important; font-variant-numeric: tabular-nums; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy h3 { margin-block: 22px 14px !important; color: var(--visitor-ink) !important; font-size: clamp(25px, 2.4vw, 32px) !important; font-weight: 800 !important; line-height: 1.55 !important; text-align: start; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy p { display: block !important; overflow: visible !important; -webkit-line-clamp: unset !important; margin-block: 0 24px !important; color: var(--visitor-muted) !important; font-size: 16px !important; line-height: 1.85 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy b { display: inline-flex !important; align-items: center; justify-content: space-between; gap: 20px; min-height: 48px; margin-top: 0 !important; padding: 10px 16px !important; border: 1px solid var(--visitor-forest); border-radius: 8px; background: var(--visitor-forest) !important; color: #fff !important; font-size: 15px !important; line-height: 1.7; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy b i { margin: 0 !important; color: inherit !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__image { min-height: 400px !important; max-height: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__image img { display: block; object-position: center; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__image span { inset: auto auto 20px 20px !important; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgb(255 255 255 / 45%); border-radius: 8px; background: rgb(13 52 30 / 90%); color: #fff !important; font-size: 22px !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy b { background: var(--visitor-gold) !important; color: var(--visitor-forest) !important; border-color: var(--visitor-gold); }
  @media (max-width: 900px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature { grid-template-columns: minmax(0, 1fr) !important; min-height: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__image { order: -1; min-height: 0 !important; aspect-ratio: 16 / 10; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy { padding: 24px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature__copy h3 { font-size: clamp(24px, 4vw, 30px) !important; margin-block: 18px 12px !important; }
  }
  @media (prefers-reduced-motion: reduce) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-news-feature { transition: none !important; }
  }
}

/* Association figures: one coherent statistics panel, with quiet brand accents. */
@layer afl-public-visitor-overrides {
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-section { padding-block: 28px !important; border-block: 0 !important; background: var(--visitor-paper) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-section::before { background: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-grid { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 0 !important; overflow: hidden !important; padding: 8px !important; border: 1px solid var(--visitor-line) !important; border-block-start: 3px solid var(--visitor-gold) !important; border-radius: 16px; background: var(--visitor-surface); box-shadow: 0 8px 24px rgb(13 52 30 / 4%); }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter { min-width: 0 !important; min-height: 168px !important; padding: 20px 12px !important; border: 0 !important; border-inline-end: 1px solid var(--visitor-line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; backdrop-filter: none !important; transform: none !important; align-content: center !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter:last-child { border-inline-end: 0 !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter::before,
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value strong::after { content: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) :is(.home-counter-index, .home-counter-sweep, .home-counter-icon > span) { display: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value { flex-direction: column-reverse !important; flex-wrap: nowrap !important; gap: 12px !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value strong { min-width: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; overflow: visible !important; background: transparent !important; box-shadow: none !important; font-size: clamp(30px, 3.3vw, 44px) !important; line-height: 1.1 !important; letter-spacing: -1.5px !important; color: var(--visitor-forest) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value strong span { color: var(--visitor-forest) !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value strong i { color: #586337 !important; font-size: .46em !important; animation: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-icon { width: 38px !important; height: 38px !important; border: 1px solid var(--visitor-line) !important; border-radius: 10px !important; background: var(--visitor-paper) !important; color: var(--visitor-ink) !important; box-shadow: none !important; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-icon svg { width: 22px !important; height: 22px !important; transform: none !important; stroke-width: 1.7; }
  :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter p { margin-block: 10px 0 !important; color: var(--visitor-muted) !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.7 !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value :is(strong, strong span) { color: var(--visitor-ink) !important; }
  html[data-theme='dark'] :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value strong i { color: var(--visitor-gold) !important; }
  @media (max-width: 900px) and (min-width: 621px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter { padding-inline: 6px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter p { font-size: 13px !important; }
  }
  @media (max-width: 620px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-section { padding-block: 20px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counters-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; padding: 6px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter { min-height: 150px !important; padding: 16px 8px !important; border-block-end: 1px solid var(--visitor-line) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter:nth-child(even) { border-inline-end: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter:last-child:nth-child(odd) { grid-column: 1 / -1; min-height: 128px !important; border: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter:last-child:nth-child(odd) .home-counter-value { flex-direction: row !important; gap: 16px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter-value :is(strong, strong span) { font-size: 34px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .home-counter p { font-size: 14px !important; }
  }
}

/* Desktop masthead: a quiet utility strip above the AFL navigation. */
@layer afl-public-visitor-overrides {
  @media (min-width: 1181px) {
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.nav-wrap, .utility-inner) { width: min(1440px, calc(100% - 48px)); }
    :is(.afl-public-site, afl-root:has(> afl-header)) .utility-links > :is(a, button, div) { white-space: nowrap; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .utility-links { flex-wrap: nowrap; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation__entry { flex-shrink: 0; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .site-header { border-block-end: 2px solid var(--visitor-gold) !important; box-shadow: 0 4px 18px rgb(0 0 0 / 8%); }
    :is(.afl-public-site, afl-root:has(> afl-header)) .utility-bar { background: #f5f7f5 !important; color: #20382a !important; border-block-end: 1px solid #dce4dd !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .utility-inner { min-height: 50px !important; padding-block: 3px !important; gap: 24px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .utility-inner > p { flex: 0 1 auto; color: #53645a !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.6 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .utility-links { gap: clamp(12px, 1.3vw, 22px) !important; flex-shrink: 0; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .utility-links > a { display: inline-flex; align-items: center; min-height: 44px; color: #20382a !important; font-size: 13px !important; font-weight: 600; text-decoration: none; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .utility-links > a:is(:hover, :focus-visible) { color: #0d341e !important; text-decoration: underline; text-decoration-color: #76834c; text-underline-offset: 5px; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .electronic-services-trigger--utility { min-height: 38px; padding: 7px 12px !important; border: 1px solid #0d341e !important; border-radius: 7px; background: #0d341e !important; color: #fff !important; font-size: 13px !important; font-weight: 700; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .electronic-services-trigger--utility:is(:hover, :focus-visible) { background: #134829 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .language-toggle { min-width: 98px !important; min-height: 38px !important; padding: 7px 12px !important; border: 1px solid #cbd6cd !important; border-radius: 7px !important; background: #fff !important; color: #20382a !important; box-shadow: none !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .language-toggle :is(span, img) { color: inherit !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .nav-wrap { min-height: 98px !important; gap: 24px !important; padding-block: 12px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .brand { flex-shrink: 0; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .brand-logo-wrap { width: 212px !important; height: 64px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation { align-items: center !important; justify-content: center !important; gap: 2px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation__entry { padding-inline: 0 !important; border: 0 !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.public-navigation__link, .public-navigation__trigger) { min-height: 48px !important; padding: 12px 10px !important; border: 0 !important; border-radius: 7px; background: transparent !important; color: #edf4ea !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.6 !important; white-space: nowrap; }
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.public-navigation__link, .public-navigation__trigger):is(:hover, :focus-visible),
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.public-navigation__link--active, .public-navigation__trigger--open) { background: rgb(255 255 255 / 8%) !important; color: #fff !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.public-navigation__link, .public-navigation__trigger) { transform: none !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.public-navigation__link, .public-navigation__trigger)::after { inset-inline: 10px !important; bottom: 3px !important; width: auto !important; height: 2px !important; border-radius: 2px; background: #c3b167 !important; transform: scaleX(0) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.public-navigation__link, .public-navigation__trigger):is(:hover, :focus-visible)::after,
    :is(.afl-public-site, afl-root:has(> afl-header)) :is(.public-navigation__link--active, .public-navigation__trigger--open)::after { transform: scaleX(1) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation__menu { inset-block-start: calc(100% + 13px) !important; padding: 8px !important; border: 1px solid #dce4dd !important; border-block-start: 3px solid #c3b167 !important; border-radius: 10px !important; background: #fff !important; box-shadow: 0 16px 36px rgb(0 0 0 / 18%) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation__menu::before { background: none !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation__menu a { min-height: 46px; padding: 12px 14px !important; color: #20382a !important; border-color: #e6ebe6 !important; font-size: 15px !important; line-height: 1.6 !important; background: transparent !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation__menu a:is(:hover, :focus-visible),
    :is(.afl-public-site, afl-root:has(> afl-header)) .public-navigation__menu a.public-navigation__menu-link--active { color: #0d341e !important; background: #eef2eb !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .nav-actions { gap: 10px !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .search-button { width: 46px !important; height: 46px !important; border: 1px solid rgb(255 255 255 / 30%) !important; border-radius: 8px !important; background: rgb(255 255 255 / 6%) !important; color: #fff !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .electronic-services-menu--utility .electronic-services-popover { width: 270px; padding: 8px !important; border: 1px solid #dce4dd !important; border-block-start: 3px solid #c3b167 !important; border-radius: 10px !important; background: #fff !important; backdrop-filter: none !important; box-shadow: 0 16px 36px rgb(0 0 0 / 18%) !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .electronic-services-menu--utility .electronic-services-popover :is(a, button) { min-height: 46px; padding: 12px 14px !important; border: 0 !important; border-radius: 7px; background: transparent !important; color: #20382a !important; font-size: 15px !important; line-height: 1.6 !important; text-align: start; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .electronic-services-menu--utility .electronic-services-popover :is(a, button):is(:hover, :focus-visible) { background: #eef2eb !important; color: #0d341e !important; }
    :is(.afl-public-site, afl-root:has(> afl-header)) .utility-bar :is(a, button):focus-visible { outline-color: #0d341e !important; }
  }
}
