/*
Theme Name: Victoria
Author: Victoria Częstochowa
Description: The Victoria Częstochowa WordPress theme foundation.
Version: 0.2.0
Requires at least: 6.0
Requires PHP: 8.2
Text Domain: victoria
*/

:root {
	--green-950: #06251c;
	--green-900: #0a3a2c;
	--green-800: #0d5a42;
	--green-700: #0e7655;
	--green-500: #35b77d;
	--green-200: #b7e6cf;
	--green-100: #e7f6ed;
	--ink: #11261f;
	--muted: #5d6f67;
	--line: #d7e8de;
	--paper: #f7fbf8;
	--white: #ffffff;
	--display: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
	--body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--radius-lg: 28px;
	--radius-md: 18px;
	--container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); line-height: 1.55; }
a { color: inherit; }
.screen-reader-text:focus, :is(a, button, input, textarea, select, [tabindex]):focus-visible { outline: 3px solid var(--green-500); outline-offset: 3px; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }
.screen-reader-text:focus { background: var(--white); clip: auto; clip-path: none; height: auto; left: 1rem; margin: 0; padding: .75rem 1rem; top: 1rem; width: auto; z-index: 1000; }
.site-shell { overflow: hidden; }
.container { margin: 0 auto; max-width: var(--container); padding-left: 1.5rem; padding-right: 1.5rem; width: 100%; }
.site-header { background: #FFFFFF; border-bottom: 1px solid var(--line); color: #103D2C; position: relative; z-index: 20; }
.header-inner { align-items: center; display: flex; gap: 2rem; justify-content: space-between; min-height: 82px; }
.brand { align-items: center; display: inline-flex; gap: .8rem; text-decoration: none; }
.brand-mark { align-items: center; background: var(--green-500); border: 2px solid rgba(255,255,255,.75); border-radius: 50%; color: var(--green-950); display: inline-flex; font-family: var(--display); font-size: .7rem; font-weight: 900; height: 42px; justify-content: center; letter-spacing: -.04em; line-height: 1; width: 42px; }
.brand-mark--logo { background: transparent; border: 0; border-radius: 0; }
.brand-logo { display: block; height: 42px; object-fit: contain; width: 42px; }
.brand-copy { display: grid; line-height: 1.05; }
.brand-name { color: #103D2C; font-size: .98rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.brand-subtitle { color: #103D2C; font-size: .66rem; font-weight: 700; letter-spacing: .16em; margin-top: .3rem; text-transform: uppercase; }
.site-nav { align-items: stretch; align-self: stretch; display: flex; gap: 1.55rem; }
.nav-item { align-items: center; display: flex; position: relative; }
.site-nav a { color: #103D2C; font-size: .82rem; font-weight: 700; text-decoration: none; text-decoration-color: #27B77B; text-underline-offset: .3em; }
.site-nav a:hover, .site-nav a:focus-visible { color: #103D2C; text-decoration-line: underline; text-decoration-thickness: 2px; }
.nav-item.is-current > a { text-decoration-line: underline; text-decoration-thickness: 2px; }
.submenu-toggle { align-items: center; background: transparent; border: 0; border-radius: 3px; color: #103D2C; cursor: pointer; display: inline-flex; flex: 0 0 24px; justify-content: center; margin-left: 2px; min-height: 32px; padding: 0; }
.submenu-toggle svg { display: block; transition: transform .16s ease-out; }
.submenu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.submenu-toggle:hover { background: var(--green-100); }
.nav-submenu { background: #FFFFFF; border-radius: 4px; box-shadow: 0 8px 24px rgba(7,34,25,.14); left: -.75rem; list-style: none; margin: 0; min-width: 156px; padding: 6px; position: absolute; top: calc(100% - 8px); z-index: 30; }
.nav-submenu[hidden] { display: none; }
.site-nav .nav-submenu a { border-radius: 2px; display: block; font-size: .78rem; font-weight: 600; line-height: 1.4; padding: .5rem .625rem; text-decoration: none; white-space: nowrap; }
.nav-submenu a:hover, .nav-submenu a:focus-visible, .nav-submenu a[aria-current="page"] { background: var(--green-100); color: var(--green-950); }
@media (prefers-reduced-motion: reduce) { .submenu-toggle svg { transition: none; } }
.site-header :is(a, button):focus-visible { box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 4px #103D2C; outline: 2px solid #27B77B; outline-offset: 2px; }
.menu-toggle { background: transparent; border: 1px solid #103D2C; border-radius: 99px; color: #103D2C; display: none; font: inherit; font-size: .78rem; font-weight: 800; padding: .62rem .9rem; }
.menu-toggle:hover, .menu-toggle:focus-visible { background: #27B77B; border-color: #27B77B; color: #103D2C; }
.hero { background: var(--green-950); color: var(--white); min-height: 660px; overflow: hidden; position: relative; }
.hero:after { background: linear-gradient(90deg, rgba(7,34,25,.94) 0%, rgba(7,34,25,.72) 34%, rgba(7,34,25,.2) 68%, rgba(7,34,25,.08) 100%); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 1; }
.hero-image { height: 100%; inset: 0; object-fit: cover; object-position: center; position: absolute; width: 100%; }
.hero-inner { align-items: center; display: flex; min-height: 660px; position: relative; z-index: 2; }
.eyebrow { align-items: center; color: var(--green-800); display: flex; font-size: .72rem; font-weight: 800; gap: .65rem; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow:before { background: var(--green-500); content: ""; height: 2px; width: 30px; }
.hero .eyebrow, .route-hero .eyebrow, .section-dark .eyebrow { color: var(--green-200); }
.hero h1 { font-family: var(--display); font-size: clamp(4.5rem, 10vw, 8.75rem); letter-spacing: -.075em; line-height: .82; margin: 1.5rem 0 1.65rem; max-width: 800px; text-transform: uppercase; }
.hero-lede { color: rgba(255,255,255,.76); font-size: clamp(1rem, 1.8vw, 1.35rem); max-width: 540px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2.25rem; }
.button { align-items: center; border: 1px solid transparent; border-radius: 99px; display: inline-flex; font-size: .82rem; font-weight: 800; gap: .65rem; justify-content: center; min-height: 48px; padding: .8rem 1.25rem; text-decoration: none; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button-primary { background: var(--green-500); color: var(--green-950); }
.button-primary:hover, .button-primary:focus-visible { background: #62d69b; }
.button-ghost { border-color: rgba(255,255,255,.35); color: var(--white); }
.button-ghost:hover, .button-ghost:focus-visible { background: rgba(255,255,255,.1); }
.section { padding: 7rem 0; }
.section-tight { padding: 4rem 0; }
.section-dark { background: var(--green-900); color: var(--white); }
.section-green { background: var(--green-100); }
.section-green .eyebrow { color: var(--green-800); }
.section-green .eyebrow:before { background: var(--green-800); }
.section-heading { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 2.5rem; }
.section-heading h2 { font-family: var(--display); font-size: clamp(2.7rem, 5vw, 5rem); letter-spacing: -.06em; line-height: .9; margin: .7rem 0 0; text-transform: uppercase; }
.section-heading p { color: var(--muted); margin: 0; max-width: 370px; }
.section-dark .section-heading p { color: var(--green-200); }
.match-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.match-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); min-height: 205px; padding: 1.5rem; position: relative; }
.section-dark .match-card { background: rgba(255,255,255,.06); border-color: rgba(183,230,207,.18); }
.card-kicker { color: var(--green-700); font-size: .7rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.section-dark .card-kicker { color: var(--green-200); }
.match-card h3 { font-family: var(--display); font-size: 2.1rem; letter-spacing: -.05em; line-height: .95; margin: 2.8rem 0 .55rem; text-transform: uppercase; }
.match-card-populated h3 { margin-bottom: .35rem; }
.match-teams { display: flex; flex-direction: column; gap: .2rem; overflow-wrap: anywhere; }
.match-team { display: block; }
.match-vs { color: var(--green-500); font-size: 1.1rem; line-height: 1; }
.match-score { color: var(--green-700); font-family: var(--display); font-size: 2.5rem; font-weight: 900; letter-spacing: -.06em; line-height: 1; margin: .8rem 0 .65rem; }
.match-details { color: var(--muted); font-size: .78rem; line-height: 1.45; margin: 0; overflow-wrap: anywhere; }
.pending { color: var(--muted); font-size: .9rem; margin: 0; }
.section-dark .pending { color: rgba(255,255,255,.62); }
.card-mark { color: var(--green-500); font-size: 2.2rem; font-weight: 300; line-height: 1; position: absolute; right: 1.4rem; top: 1.25rem; }
.news-grid, .partner-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0,1fr)); }
.news-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); min-height: 260px; padding: 1.35rem; }
.news-card-media { border-radius: 12px; display: block; height: 118px; margin-bottom: 1.4rem; overflow: hidden; }
.news-card-image { display: block; height: 100%; object-fit: cover; width: 100%; }
.news-card-top { align-items: center; background: linear-gradient(135deg, var(--green-100), #d3f1e0); border-radius: 12px; display: flex; height: 118px; justify-content: center; margin-bottom: 1.4rem; }
.news-card-top span { color: var(--green-700); font-family: var(--display); font-size: 1.15rem; letter-spacing: .08em; text-transform: uppercase; }
.news-card-neutral { background: radial-gradient(circle at 70% 25%, rgba(53,183,125,.42), transparent 35%), linear-gradient(135deg, var(--green-950), var(--green-800)); }
.news-card-neutral span { color: var(--green-200); font-size: 1rem; text-align: center; }
.news-card-meta, .article-meta { align-items: center; color: var(--green-700); display: flex; flex-wrap: wrap; font-size: .7rem; font-weight: 800; gap: .55rem; letter-spacing: .08em; margin-bottom: .7rem; text-transform: uppercase; }
.news-card-meta span:before, .article-meta span:before { content: "·"; margin-right: .55rem; }
.news-card h2, .news-card h3 { font-size: 1.05rem; line-height: 1.15; margin: 0 0 .45rem; }
.news-card h2 a, .news-card h3 a { text-decoration: none; }
.news-card h2 a:hover, .news-card h2 a:focus-visible, .news-card h3 a:hover, .news-card h3 a:focus-visible { color: var(--green-700); }
.news-card p { color: var(--muted); font-size: .9rem; margin: 0; }
.news-filter-nav, .news-home-nav { display: flex; flex-wrap: wrap; gap: .6rem; }
.news-filter-nav { margin-bottom: 1.8rem; }
.news-filter-nav a, .news-home-filter { border: 1px solid var(--green-700); border-radius: 99px; color: var(--green-700); font-size: .78rem; font-weight: 900; padding: .72rem 1rem; text-decoration: none; }
.news-filter-nav a:hover, .news-filter-nav a:focus-visible, .news-filter-nav a[aria-current="page"], .news-home-filter:hover, .news-home-filter:focus-visible { background: var(--green-700); color: var(--white); }
.news-home-nav { align-items: center; margin-top: 1.5rem; }
.news-pagination { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }
.news-pagination .page-numbers { border: 1px solid var(--green-700); border-radius: 99px; color: var(--green-700); font-size: .78rem; font-weight: 900; padding: .72rem 1rem; text-decoration: none; }
.news-pagination .page-numbers:hover, .news-pagination .page-numbers:focus-visible, .news-pagination .page-numbers.current { background: var(--green-700); color: var(--white); }
.route-hero { background: var(--green-950); color: var(--white); padding: 6rem 0 5rem; }
.route-hero h1 { font-family: var(--display); font-size: clamp(3.8rem, 9vw, 7.5rem); letter-spacing: -.08em; line-height: .84; margin: 1.2rem 0 1rem; text-transform: uppercase; }
.route-hero p { color: var(--green-200); margin: 0; max-width: 430px; }
.news-list-section { min-height: 440px; }
.empty-state { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); max-width: 680px; padding: 2rem; }
.empty-state h2 { font-family: var(--display); font-size: clamp(2.3rem, 5vw, 4rem); letter-spacing: -.06em; line-height: .9; margin: 0 0 1rem; text-transform: uppercase; }
.empty-state p { color: var(--muted); margin: 0 0 1.5rem; }
.article-section { background: var(--green-100); min-height: 640px; padding: 5rem 0 7rem; }
.article-container { max-width: 900px; }
.article-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(1.4rem, 4vw, 3rem); }
.article-back { color: var(--green-700); display: inline-block; font-size: .82rem; font-weight: 800; margin-bottom: 2.2rem; text-decoration: none; }
.article-card h1 { font-family: var(--display); font-size: clamp(3rem, 8vw, 7rem); letter-spacing: -.08em; line-height: .84; margin: 0 0 2rem; overflow-wrap: anywhere; text-transform: uppercase; }
.article-media { border-radius: var(--radius-md); margin: 0 0 2rem; overflow: hidden; }
.article-image { display: block; height: auto; width: 100%; }
.article-content { font-size: 1.05rem; max-width: 700px; }
.article-content > :first-child { margin-top: 0; }
.article-content a { color: var(--green-700); }
.article-home-link { margin-top: 2rem; }
.academy { background: var(--green-500); color: var(--green-950); overflow: hidden; position: relative; }
.academy:after { border: 1px solid rgba(6,37,28,.17); border-radius: 50%; content: ""; height: 620px; position: absolute; right: -100px; top: -240px; width: 620px; }
.academy-inner { display: grid; gap: clamp(2.5rem, 6vw, 6rem); grid-template-columns: minmax(250px, .78fr) minmax(0, 1.22fr); position: relative; z-index: 1; }
.academy-intro { min-width: 0; }
.academy-has-groups { align-items: start; }
.academy .eyebrow { color: var(--green-950); }
.academy .eyebrow:before { background: var(--green-900); }
.academy h2 { font-family: var(--display); font-size: clamp(3.4rem, 7vw, 7.2rem); letter-spacing: -.08em; line-height: .82; margin: 1rem 0 1.5rem; max-width: 680px; text-transform: uppercase; }
.academy p { font-size: 1.05rem; max-width: 530px; }
.academy .button-primary { background: var(--green-950); color: var(--white); }
.academy .button-primary:hover, .academy .button-primary:focus-visible { background: var(--green-800); }
.academy-panel { background: rgba(255,255,255,.35); border: 1px solid rgba(6,37,28,.14); border-radius: var(--radius-lg); grid-column: 1 / -1; padding: 1.5rem; }
.academy-panel strong { display: block; font-family: var(--display); font-size: 2.8rem; letter-spacing: -.06em; line-height: .9; text-transform: uppercase; }
.academy-panel p { font-size: .86rem; margin: 1.25rem 0 0; }
.academy-recruitment { background: rgba(255,255,255,.88); border: 1px solid rgba(6,37,28,.14); border-radius: var(--radius-lg); color: var(--ink); grid-column: 1 / -1; padding: 1.5rem; }
.academy-recruitment h3 { font-family: var(--display); font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.06em; line-height: .9; margin: .75rem 0 1rem; max-width: 560px; text-transform: uppercase; }
.academy-recruitment-coordinator { font-size: .95rem; margin: 0; }
.academy-recruitment-links { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; margin-top: 1.1rem; }
.academy-recruitment-links a { color: var(--green-700); font-size: .9rem; font-weight: 800; overflow-wrap: anywhere; text-decoration-color: rgba(6,37,28,.35); text-underline-offset: .2em; }
.academy-recruitment-links a:hover, .academy-recruitment-links a:focus-visible { color: var(--green-950); }
.academy-groups { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; }
.academy-group-card { background: rgba(255,255,255,.88); border: 1px solid rgba(6,37,28,.14); border-radius: var(--radius-lg); color: var(--ink); overflow: hidden; }
.academy-group-media { aspect-ratio: 16 / 9; background: var(--green-950); min-width: 0; overflow: hidden; }
.academy-group-image, .academy-group-placeholder { display: block; height: 100%; width: 100%; }
.academy-group-image { object-fit: cover; }
.academy-group-placeholder { align-items: center; background: radial-gradient(circle at 72% 22%, rgba(53,183,125,.38), transparent 35%), linear-gradient(140deg, var(--green-950), var(--green-800)); color: var(--green-200); display: flex; flex-direction: column; justify-content: center; overflow: hidden; text-align: center; }
.academy-group-crest { display: block; flex: 0 0 auto; height: 78px; max-height: 48%; max-width: 48%; object-fit: contain; width: 78px; }
.academy-group-placeholder span { font-size: .56rem; font-weight: 900; letter-spacing: .14em; line-height: 1.45; margin-top: 1rem; text-transform: uppercase; }
.academy-group-content { padding: 1.4rem; }
.academy-group-content { min-width: 0; }
.academy-group-content h3 { font-family: var(--display); font-size: 2rem; letter-spacing: -.05em; line-height: .95; margin: 0; overflow-wrap: anywhere; text-transform: uppercase; }
.academy-group-link { color: inherit; text-decoration: none; }
.academy-group-link:hover, .academy-group-link:focus-visible { color: var(--green-700); }
.academy-group-description { font-size: .92rem; margin-top: 1rem; }
.academy-group-description, .academy-group-description p { overflow-wrap: anywhere; }
.academy-group-description p { font-size: inherit; margin: 0; }
.academy-group-details { border-top: 1px solid var(--line); display: grid; font-size: .82rem; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); margin: 1.25rem 0 0; padding-top: .85rem; row-gap: .55rem; }
.academy-group-details dt, .academy-group-details dd { min-width: 0; overflow-wrap: anywhere; }
.academy-group-details dt { color: var(--green-800); font-weight: 800; }
.academy-group-details dd { margin: 0; white-space: normal; }
.academy-group-cta { color: var(--green-700); display: inline-block; font-size: .78rem; font-weight: 900; letter-spacing: .06em; margin-top: 1.25rem; text-decoration: none; text-transform: uppercase; }
.academy-group-cta:hover, .academy-group-cta:focus-visible { color: var(--green-950); text-decoration: underline; }
.senior-groups { display: grid; gap: 2.75rem; }
.senior-coach-card { align-items: center; background: var(--green-950); border-radius: var(--radius-lg); color: var(--white); display: flex; gap: 1.25rem; margin-bottom: 2rem; max-width: 520px; padding: 1.25rem 1.5rem; }
.senior-coach-mark { align-items: center; background: var(--green-500); border-radius: 50%; display: flex; flex: 0 0 58px; height: 58px; justify-content: center; overflow: hidden; width: 58px; }
.senior-coach-crest { display: block; flex: 0 0 auto; height: 38px; max-height: 68%; max-width: 68%; object-fit: contain; width: 38px; }
.senior-coach-card .card-kicker { color: var(--green-200); }
.senior-coach-card h3 { font-family: var(--display); font-size: 1.65rem; letter-spacing: -.05em; line-height: .9; margin: .35rem 0 .3rem; text-transform: uppercase; }
.senior-coach-card p { color: var(--green-200); font-size: 1rem; font-weight: 800; margin: 0; overflow-wrap: anywhere; }
.senior-group { min-width: 0; }
.senior-group-heading { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; margin-bottom: 1rem; padding-bottom: .8rem; }
.senior-group-heading h3 { color: var(--green-800); font-family: var(--display); font-size: clamp(1.8rem, 3vw, 2.8rem); letter-spacing: -.06em; line-height: .9; margin: 0; text-transform: uppercase; }
.senior-group-heading span { color: var(--green-700); font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.senior-player-grid { align-items: start; display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.senior-player-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); min-width: 0; overflow: hidden; }
.senior-player-card-no-photo { align-self: start; }
.senior-player-media { aspect-ratio: 4 / 5; min-width: 0; overflow: hidden; position: relative; }
.senior-player-media-no-photo { aspect-ratio: auto; min-height: 148px; }
.senior-player-image, .senior-player-placeholder { display: block; height: 100%; width: 100%; }
.senior-player-image { object-fit: cover; }
.senior-player-placeholder { align-items: center; background: radial-gradient(circle at 72% 22%, rgba(53,183,125,.38), transparent 35%), linear-gradient(140deg, var(--green-950), var(--green-800)); color: var(--green-200); display: flex; flex-direction: column; justify-content: center; overflow: hidden; text-align: center; }
.senior-player-crest { display: block; flex: 0 0 auto; height: 56px; max-height: 58%; max-width: 58%; object-fit: contain; width: 56px; }
.senior-player-placeholder span { font-size: .56rem; font-weight: 900; letter-spacing: .14em; line-height: 1.45; margin-top: 1rem; text-transform: uppercase; }
.senior-player-content { min-height: 72px; padding: .9rem 1rem; }
.senior-player-content h4 { font-size: 1rem; line-height: 1.05; margin: 0; min-width: 0; overflow-wrap: anywhere; }
.senior-player-number { align-items: center; background: var(--green-500); border: 3px solid var(--white); border-radius: 50%; bottom: .7rem; color: var(--green-950); display: flex; font-family: var(--display); font-size: 1.25rem; font-weight: 900; height: 2.85rem; justify-content: center; letter-spacing: -.06em; line-height: 1; position: absolute; right: .7rem; width: 2.85rem; }
.senior-roster-preview { min-width: 0; }
.senior-roster-preview-heading { align-items: end; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 1rem; }
.senior-roster-preview-heading h3 { font-family: var(--display); font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.06em; line-height: .9; margin: .45rem 0 0; text-transform: uppercase; }
.senior-roster-preview-heading p { color: var(--green-700); flex: 0 0 auto; font-size: .72rem; font-weight: 900; letter-spacing: .12em; margin: 0 0 .2rem; text-transform: uppercase; }
.senior-roster-track { display: flex; gap: 1rem; margin: 0 -.15rem; overflow-x: auto; overscroll-behavior-inline: contain; padding: .15rem .15rem 1rem; scroll-snap-type: x mandatory; scrollbar-color: var(--green-500) var(--green-100); scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.senior-roster-track::-webkit-scrollbar { height: 6px; }
.senior-roster-track::-webkit-scrollbar-track { background: var(--green-100); border-radius: 99px; }
.senior-roster-track::-webkit-scrollbar-thumb { background: var(--green-500); border-radius: 99px; }
.senior-roster-track:focus-visible { border-radius: var(--radius-md); outline: 3px solid var(--green-500); outline-offset: 3px; }
.senior-placeholder-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); flex: 0 0 clamp(220px, 22vw, 260px); min-width: 0; overflow: hidden; scroll-snap-align: start; }
.senior-placeholder-photo { align-items: center; aspect-ratio: 4 / 5; background: radial-gradient(circle at 70% 18%, rgba(53,183,125,.3), transparent 34%), linear-gradient(145deg, var(--green-950), var(--green-800)); display: flex; flex-direction: column; justify-content: center; overflow: hidden; position: relative; }
.senior-placeholder-crest { display: block; height: 104px; max-height: 38%; max-width: 48%; object-fit: contain; opacity: .34; width: 104px; }
.senior-placeholder-photo span { bottom: 1rem; color: rgba(255,255,255,.55); font-size: .58rem; font-weight: 900; letter-spacing: .16em; position: absolute; text-transform: uppercase; }
.senior-placeholder-content { min-height: 94px; padding: 1rem 1.05rem 1.1rem; }
.senior-placeholder-position { color: var(--green-700); display: block; font-size: .66rem; font-weight: 900; letter-spacing: .13em; margin-bottom: .45rem; text-transform: uppercase; }
.senior-placeholder-content h4 { font-family: var(--display); font-size: 1.5rem; letter-spacing: -.04em; line-height: .95; margin: 0; text-transform: uppercase; }
.club-grid { align-items: stretch; display: grid; gap: 1rem; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); min-width: 0; }
.club-stat { background: var(--green-500); border-radius: var(--radius-lg); color: var(--green-950); display: flex; flex-direction: column; justify-content: space-between; min-height: 340px; min-width: 0; padding: 1.75rem; }
.club-stat strong { font-family: var(--display); font-size: clamp(6rem, 13vw, 12rem); letter-spacing: -.1em; line-height: .7; }
.club-stat span { font-size: .78rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.club-copy { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); min-width: 0; padding: 2rem; }
.club-copy h3 { font-family: var(--display); font-size: 2.7rem; letter-spacing: -.06em; line-height: .9; margin: 0 0 1.2rem; text-transform: uppercase; }
.club-copy p { color: var(--muted); max-width: 580px; }
.club-president { align-items: baseline; border-top: 1px solid var(--line); display: flex; gap: 1rem; justify-content: space-between; margin-top: 1.5rem; padding-top: 1rem; }
.club-president span { color: var(--green-700); font-size: .68rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.club-president strong { color: var(--green-950); font-size: 1rem; font-weight: 900; overflow-wrap: anywhere; text-align: right; }
.address { border-top: 1px solid var(--line); color: var(--green-800); font-size: .9rem; font-weight: 800; margin-top: 2rem; overflow-wrap: anywhere; padding-top: 1rem; }
.club-history { margin-top: 4rem; min-width: 0; }
.club-history-heading { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 1.5rem; }
.club-history-heading h3 { color: var(--green-950); font-family: var(--display); font-size: clamp(2.5rem, 5vw, 4.8rem); letter-spacing: -.07em; line-height: .86; margin: .7rem 0 0; text-transform: uppercase; }
.club-history-heading p { color: var(--green-900); margin: 0; max-width: 340px; }
.history-list { border-top: 1px solid var(--line); }
.history-item { display: grid; gap: 1rem; grid-template-columns: 24px minmax(0, 1fr); min-width: 0; padding: 1.5rem 0; }
.history-item + .history-item { border-top: 1px solid var(--line); }
.history-item-rail { border-left: 1px solid var(--green-700); min-height: 100%; position: relative; }
.history-item-rail span { background: var(--green-700); border: 4px solid var(--green-100); border-radius: 50%; height: 14px; left: -7px; position: absolute; top: 0; width: 14px; }
.history-item-body { min-width: 0; }
.history-period { color: var(--green-800); font-size: .74rem; font-weight: 900; letter-spacing: .14em; margin-bottom: .55rem; overflow-wrap: anywhere; text-transform: uppercase; }
.history-item h4 { color: var(--green-950); font-family: var(--display); font-size: clamp(1.65rem, 3vw, 2.8rem); letter-spacing: -.055em; line-height: .92; margin: 0; overflow-wrap: anywhere; text-transform: uppercase; }
.history-item-media { border-radius: var(--radius-md); margin-top: 1rem; max-width: 620px; overflow: hidden; }
.history-item-image { display: block; height: auto; max-height: 360px; object-fit: cover; width: 100%; }
.history-item-content { color: var(--green-900); margin-top: .85rem; max-width: 720px; overflow-wrap: anywhere; word-break: break-word; }
.history-item-content > :first-child { margin-top: 0; }
.history-item-content > :last-child { margin-bottom: 0; }
.history-item-content a { color: var(--green-800); text-decoration-thickness: 1px; text-underline-offset: .18em; }
.history-item-content a:hover, .history-item-content a:focus-visible { color: var(--green-950); }
.history-empty-state { align-items: center; background: var(--white); border-color: var(--line); display: flex; gap: 2rem; max-width: none; }
.history-empty-state h3 { color: var(--green-950); font-family: var(--display); font-size: clamp(2.3rem, 5vw, 4.4rem); letter-spacing: -.07em; line-height: .86; margin: .8rem 0 1rem; text-transform: uppercase; }
.history-empty-state p { color: var(--green-900); margin-bottom: 0; }
.history-empty-mark { align-items: center; background: var(--green-500); border-radius: 50%; display: flex; flex: 0 0 150px; height: 150px; justify-content: center; overflow: hidden; width: 150px; }
.history-empty-crest { display: block; flex: 0 0 auto; height: 76px; max-height: 58%; max-width: 58%; object-fit: contain; width: 76px; }
.partner-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.partner-card { align-items: center; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); color: var(--green-700); display: flex; flex-direction: column; gap: 1rem; justify-content: center; min-height: 176px; padding: 1.4rem; text-align: center; }
.partner-card-link { text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.partner-card-link:hover, .partner-card-link:focus-visible { border-color: var(--green-500); box-shadow: 0 12px 30px rgba(6,37,28,.08); transform: translateY(-2px); }
.partner-card-logo { align-items: center; display: flex; justify-content: center; min-height: 72px; width: 100%; }
.partner-card-logo img { display: block; height: auto; max-height: 76px; max-width: 100%; object-fit: contain; width: auto; }
.partner-card-name { font-family: var(--display); font-size: 1.35rem; letter-spacing: -.04em; overflow-wrap: anywhere; text-transform: uppercase; }

/* Club and history pages */
.club-page-hero { background: var(--green-950); color: var(--white); overflow: hidden; position: relative; }
.club-page-hero:after { border: 1px solid rgba(183,230,207,.22); border-radius: 50%; content: ""; height: min(56vw, 680px); position: absolute; right: -7vw; top: -30%; width: min(56vw, 680px); }
.club-page-hero-inner { align-items: center; display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr) minmax(260px, .58fr); min-height: 440px; padding-bottom: 4rem; padding-top: 4rem; position: relative; z-index: 1; }
.club-page-intro h1, .history-page-hero h1 { font-family: var(--display); font-size: clamp(4rem, 9vw, 8rem); letter-spacing: -.075em; line-height: .82; margin: 0 0 1.35rem; text-transform: uppercase; }
.club-page-intro p, .history-page-hero-inner > p { color: var(--green-200); font-size: clamp(1rem, 1.5vw, 1.2rem); max-width: 520px; }
.club-year-mark { align-items: flex-start; background: var(--green-500); color: var(--green-950); display: flex; flex-direction: column; justify-content: space-between; min-height: 260px; padding: 1.5rem; position: relative; }
.club-year-mark > span { font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.club-year-mark strong { font-family: var(--display); font-size: clamp(5rem, 10vw, 8.5rem); letter-spacing: -.095em; line-height: .8; }
.club-year-mark img { bottom: 1.35rem; height: 58px; object-fit: contain; position: absolute; right: 1.35rem; width: 58px; }
.club-identity { background: var(--green-100); }
.club-identity-grid { display: grid; gap: clamp(2rem, 8vw, 8rem); grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.club-identity-heading h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(3rem, 6vw, 6rem); letter-spacing: -.07em; line-height: .86; margin: .75rem 0 0; max-width: 620px; text-transform: uppercase; }
.club-identity-copy { align-self: center; }
.club-identity-copy > p { color: var(--green-900); font-size: clamp(1.1rem, 2vw, 1.45rem); line-height: 1.55; margin: 0; max-width: 680px; }
.club-page-president { border-color: rgba(13,90,66,.25); justify-content: flex-start; }
.club-chronicle { background: var(--white); }
.club-chronicle .club-history-heading { align-items: end; }
.club-chronicle .club-history-heading h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(2.8rem, 6vw, 5.7rem); letter-spacing: -.07em; line-height: .85; margin: .6rem 0 0; text-transform: uppercase; }
.text-link { color: var(--green-800); font-size: .86rem; font-weight: 900; text-decoration-color: var(--green-500); text-underline-offset: .24em; }
.text-link:hover, .text-link:focus-visible { color: var(--green-950); }
.club-milestones { border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.club-milestone { min-width: 0; padding: 1.5rem 1.4rem 1.5rem 0; }
.club-milestone + .club-milestone { border-left: 1px solid var(--line); padding-left: 1.4rem; }
.club-milestone h3 { color: var(--green-950); font-family: var(--display); font-size: clamp(1.5rem, 2.8vw, 2.5rem); letter-spacing: -.05em; line-height: .95; margin: 0; overflow-wrap: anywhere; text-transform: uppercase; }
.club-milestone > p:last-child { color: var(--muted); font-size: .94rem; margin: .8rem 0 0; }
.club-milestones-empty { color: var(--muted); }
.club-story-cta { background: var(--green-500); color: var(--green-950); padding: clamp(3.5rem, 8vw, 7rem) 0; }
.club-story-cta-inner { align-items: end; display: grid; gap: 1.5rem 2rem; grid-template-columns: minmax(0, 1fr) auto; }
.club-story-cta-inner > p { font-size: .72rem; font-weight: 900; grid-column: 1 / -1; letter-spacing: .14em; margin: 0; text-transform: uppercase; }
.club-story-cta h2 { font-family: var(--display); font-size: clamp(3rem, 7vw, 7rem); letter-spacing: -.075em; line-height: .84; margin: 0; text-transform: uppercase; }
.club-story-cta .button-primary { background: var(--green-950); color: var(--white); }
.club-story-cta .button-primary:hover, .club-story-cta .button-primary:focus-visible { background: var(--green-800); }
.history-page-hero { background: var(--green-950); color: var(--white); }
.history-page-hero-inner { padding-bottom: clamp(3.5rem, 8vw, 7rem); padding-top: 2rem; }
.history-back-link { color: var(--green-200); display: inline-block; font-size: .82rem; font-weight: 800; margin-bottom: clamp(3rem, 8vw, 7rem); text-decoration-color: var(--green-500); text-underline-offset: .25em; }
.history-back-link:hover, .history-back-link:focus-visible { color: var(--white); }
.history-page-hero h1 { font-size: clamp(4rem, 11vw, 10rem); margin-bottom: 1.2rem; }
.history-page-hero h1 span { color: var(--green-500); }
.history-page-hero-inner > p { margin: 0; }
.history-timeline-section { background: var(--paper); }
.history-timeline { list-style: none; margin: 0 auto; max-width: 1040px; padding: 0; }
.history-timeline-item { display: grid; gap: 0 clamp(1rem, 3vw, 2.5rem); grid-template-columns: 18px minmax(0, 1fr); position: relative; }
.history-timeline-item:not(:last-child) { padding-bottom: clamp(2.5rem, 6vw, 5rem); }
.history-timeline-item:before { background: var(--green-200); content: ""; left: 8px; position: absolute; top: 14px; bottom: 0; width: 2px; }
.history-timeline-item:last-child:before { bottom: auto; height: 14px; }
.history-timeline-marker { background: var(--green-700); border: 4px solid var(--paper); border-radius: 50%; height: 18px; margin-top: 5px; outline: 1px solid var(--green-700); position: relative; width: 18px; z-index: 1; }
.history-timeline-entry { background: var(--white); border: 1px solid var(--line); min-width: 0; padding: clamp(1.2rem, 3vw, 2.5rem); }
.history-timeline-entry h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(1.8rem, 4vw, 3.5rem); letter-spacing: -.06em; line-height: .9; margin: 0; overflow-wrap: anywhere; text-transform: uppercase; }
.history-timeline-media { margin: 1.5rem 0 0; overflow: hidden; }
.history-timeline-image { display: block; height: auto; max-height: 560px; object-fit: cover; width: 100%; }
.history-timeline-content { color: var(--green-900); font-size: 1rem; line-height: 1.75; margin-top: 1.2rem; max-width: 72ch; overflow-wrap: anywhere; }
.history-timeline-content > :first-child { margin-top: 0; }
.history-timeline-content > :last-child { margin-bottom: 0; }
.history-timeline-content a { color: var(--green-800); text-underline-offset: .18em; }
.history-timeline-content a:hover, .history-timeline-content a:focus-visible { color: var(--green-950); }
.history-timeline-empty { background: var(--white); border: 1px solid var(--line); margin: 0 auto; max-width: 760px; padding: clamp(1.5rem, 4vw, 3rem); }
.history-timeline-empty h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(2rem, 5vw, 4rem); letter-spacing: -.06em; line-height: .9; margin: 0 0 .8rem; text-transform: uppercase; }
.history-timeline-empty p { color: var(--muted); margin: 0; }
.history-return-button { margin: 3rem 0 0 2.25rem; }
@media (max-width: 700px) {
	.club-page-hero-inner { align-items: stretch; gap: 1.75rem; grid-template-columns: 1fr; min-height: 0; padding-bottom: 3rem; padding-top: 3.5rem; }
	.club-page-intro h1 { font-size: clamp(4.5rem, 20vw, 6.5rem); }
	.club-year-mark { min-height: 200px; }
	.club-year-mark strong { font-size: clamp(5.5rem, 25vw, 7.5rem); }
	.club-identity-grid { grid-template-columns: 1fr; }
	.club-chronicle .club-history-heading { align-items: start; display: block; }
	.club-chronicle .text-link { display: inline-block; margin-top: 1.2rem; }
	.club-milestones { grid-template-columns: 1fr; }
	.club-milestone, .club-milestone + .club-milestone { border-left: 0; border-top: 1px solid var(--line); padding: 1.25rem 0; }
	.club-story-cta-inner { align-items: start; grid-template-columns: 1fr; }
	.club-story-cta .button-primary { justify-self: start; }
	.history-page-hero-inner { padding-top: 1.5rem; }
	.history-back-link { margin-bottom: 3.5rem; }
	.history-page-hero h1 { font-size: clamp(4.4rem, 20vw, 6.6rem); }
	.history-timeline-item { gap: 0 .8rem; grid-template-columns: 14px minmax(0, 1fr); }
	.history-timeline-item:before { left: 6px; }
	.history-timeline-marker { height: 14px; width: 14px; }
	.history-timeline-entry { padding: 1.2rem; }
	.history-return-button { margin-left: 1.75rem; }
}
.partner-empty-state { align-items: center; display: flex; gap: 2rem; max-width: none; }
.partner-empty-state h3 { font-family: var(--display); font-size: clamp(2.3rem, 5vw, 4.4rem); letter-spacing: -.07em; line-height: .86; margin: .8rem 0 1rem; text-transform: uppercase; }
.partner-empty-state p { margin-bottom: 0; }
.partner-empty-mark { align-items: center; background: var(--green-950); border-radius: 50%; display: flex; flex: 0 0 150px; height: 150px; justify-content: center; overflow: hidden; width: 150px; }
.partner-empty-crest { display: block; flex: 0 0 auto; height: 68px; max-height: 54%; max-width: 54%; object-fit: contain; width: 68px; }
.social { align-items: center; background: var(--green-100); border-radius: var(--radius-lg); display: grid; gap: 2rem; grid-template-columns: 1fr auto; padding: 2rem; }
.social h2 { font-family: var(--display); font-size: 2.4rem; letter-spacing: -.06em; line-height: .9; margin: 0 0 .7rem; text-transform: uppercase; }
.social p { color: var(--muted); margin: 0; }
.social-links { display: flex; flex-wrap: wrap; gap: .65rem; }
.social-link { align-items: center; border: 1px solid var(--green-700); border-radius: 50%; color: var(--green-700); display: inline-flex; height: 48px; justify-content: center; text-decoration: none; transition: background-color .2s ease, color .2s ease, transform .2s ease; width: 48px; }
.social-link:hover, .social-link:focus-visible { background: var(--green-700); color: var(--white); transform: translateY(-2px); }
.social-icon { display: block; height: 21px; width: 21px; }
.contact-grid { align-items: end; display: grid; gap: 3rem; grid-template-columns: 1fr .8fr; }
.contact-grid h2 { font-family: var(--display); font-size: clamp(3.5rem, 7vw, 7rem); letter-spacing: -.08em; line-height: .82; margin: .8rem 0 0; text-transform: uppercase; }
.contact-note { color: var(--green-200); max-width: 370px; }
.contact-details { display: grid; gap: .7rem; }
.contact-detail { border-top: 1px solid rgba(183,230,207,.3); font-size: 1rem; font-weight: 700; padding-top: .7rem; overflow-wrap: anywhere; }
.contact-address { border-top: 1px solid rgba(183,230,207,.3); font-size: 1rem; font-weight: 700; margin-top: 2rem; padding-top: 1rem; }
.contact-detail a { color: inherit; text-decoration-color: rgba(183,230,207,.5); text-underline-offset: .2em; }
.site-footer { background: var(--green-950); border-top: 1px solid rgba(183,230,207,.15); color: var(--green-200); padding: 3.5rem 0 1.25rem; }
.footer-inner { display: grid; gap: 2.5rem; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, .8fr); }
.footer-brand { align-items: flex-start; display: flex; gap: .8rem; }
.footer-brand .brand-mark { flex: 0 0 42px; }
.footer-brand .brand-name { color: var(--white); display: block; }
.footer-brand .brand-subtitle { color: var(--green-200); }
.footer-brand p { color: var(--green-200); font-size: .82rem; margin: .8rem 0 0; max-width: 260px; }
.footer-heading { color: var(--white); font-size: .7rem; font-weight: 900; letter-spacing: .14em; margin: 0 0 .9rem; text-transform: uppercase; }
.footer-nav { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin: 0; padding: 0; list-style: none; }
.footer-nav a, .footer-contact a { color: var(--green-200); font-size: .82rem; text-decoration-color: rgba(183,230,207,.45); text-underline-offset: .2em; }
.footer-nav a:hover, .footer-nav a:focus-visible, .footer-contact a:hover, .footer-contact a:focus-visible { color: var(--white); }
.footer-contact { display: grid; gap: .55rem; margin: 0; }
.footer-contact p { color: var(--green-200); font-size: .82rem; margin: 0; overflow-wrap: anywhere; }
.footer-social-links { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .25rem; }
.footer-social-link { align-items: center; border: 1px solid rgba(183,230,207,.45); border-radius: 50%; color: var(--green-200); display: inline-flex; height: 40px; justify-content: center; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, color .2s ease; width: 40px; }
.footer-contact .footer-social-link:hover, .footer-contact .footer-social-link:focus-visible { background: var(--green-500); border-color: var(--green-500); color: var(--green-950); }
.footer-social-link .social-icon { height: 18px; width: 18px; }
.footer-bottom { align-items: center; border-top: 1px solid rgba(183,230,207,.15); color: rgba(183,230,207,.7); display: flex; flex-wrap: wrap; font-size: .68rem; gap: .65rem 1.5rem; justify-content: space-between; letter-spacing: .08em; margin-top: 2.5rem; padding-top: 1rem; text-transform: uppercase; }
.footer-bottom nav { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; }
.footer-bottom nav a { color: var(--green-200); text-underline-offset: .2em; }
.footer-bottom nav a:hover, .footer-bottom nav a:focus-visible { color: var(--white); }
.cookie-settings-trigger { background: none; border: 0; color: var(--green-200); cursor: pointer; font: inherit; letter-spacing: inherit; padding: 0; text-decoration: underline; text-underline-offset: .2em; text-transform: inherit; }
.cookie-settings-trigger:hover, .cookie-settings-trigger:focus-visible { color: var(--white); }
.cookie-banner { background: var(--paper); border-top: 1px solid var(--line); bottom: 0; box-shadow: 0 -12px 38px rgba(6,37,28,.18); color: var(--ink); left: 0; max-height: min(75vh, 460px); overflow-y: auto; position: fixed; right: 0; z-index: 1000; }
.cookie-banner[hidden] { display: none; }
.cookie-banner-inner { align-items: center; display: flex; gap: clamp(1rem, 3vw, 3rem); justify-content: space-between; padding-bottom: 1.35rem; padding-top: 1.35rem; }
.cookie-banner-copy { max-width: 68ch; }
.cookie-banner h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(1.6rem, 3vw, 2.25rem); letter-spacing: -.03em; line-height: 1.1; margin: 0 0 .35rem; }
.cookie-banner p { font-size: .92rem; line-height: 1.5; margin: 0; }
.cookie-banner p a { color: var(--green-700); font-weight: 700; text-underline-offset: .2em; }
.cookie-banner-actions { display: flex; flex: 0 0 auto; gap: .6rem; }
.cookie-choice { border: 1px solid var(--green-800); border-radius: 8px; cursor: pointer; font: inherit; font-size: .85rem; font-weight: 800; min-height: 46px; padding: .65rem 1rem; transition: background-color .2s ease, color .2s ease; }
.cookie-choice-reject { background: var(--green-900); color: var(--white); }
.cookie-choice-reject:hover, .cookie-choice-reject:focus-visible { background: var(--green-950); }
.cookie-choice-accept { background: var(--green-800); color: var(--white); }
.cookie-choice-accept:hover, .cookie-choice-accept:focus-visible { background: var(--green-950); }
@media (max-width: 850px) {
	.cookie-banner-inner { align-items: stretch; flex-direction: column; gap: 1rem; }
	.cookie-banner-actions { flex-wrap: wrap; }
	.cookie-choice { flex: 1 1 180px; }
}
@media (prefers-reduced-motion: reduce) {
	.cookie-choice { transition: none; }
}
@media (max-width: 900px) { .hero h1 { font-size: clamp(4rem, 11vw, 7rem); } .site-nav { gap: .85rem; } .site-nav a { font-size: .72rem; } }
@media (max-width: 1050px) {
	.academy-inner { gap: 2rem; grid-template-columns: 1fr; }
	.academy-intro { max-width: 680px; }
}
@media (max-width: 700px) {
	.container { padding-left: 1.15rem; padding-right: 1.15rem; }
	.header-inner { min-height: 70px; }
	.menu-toggle { display: inline-flex; }
	.site-nav { align-items: stretch; background: #FFFFFF; border-bottom: 1px solid var(--line); display: none; flex-direction: column; gap: 0; left: 0; max-height: calc(100dvh - 70px); overflow-y: auto; padding: .5rem 1.15rem 1rem; position: absolute; right: 0; top: 70px; }
	.site-nav.is-open { display: flex; }
	.nav-item { border-top: 1px solid var(--line); flex-wrap: wrap; }
	.site-nav .nav-item > a { align-items: center; display: flex; flex: 1; min-height: 48px; padding: .8rem 0; }
	.site-nav a { font-size: .82rem; }
	.submenu-toggle { flex-basis: 44px; margin-left: auto; min-height: 44px; }
	.nav-submenu { background: transparent; border-radius: 0; box-shadow: none; flex-basis: 100%; left: auto; min-width: 0; padding: 0 0 .5rem .75rem; position: static; top: auto; }
	.site-nav .nav-submenu a { align-items: center; display: flex; font-size: .82rem; min-height: 44px; padding: .5rem .75rem; }
	.hero, .hero-inner { min-height: 610px; }
	.hero-inner { align-content: center; display: block; padding-bottom: 5rem; padding-top: 4rem; }
	.hero h1 { font-size: clamp(4rem, 18vw, 6.8rem); margin-top: 1.3rem; }
	.hero-image { object-position: 24% center; }
	.section { padding: 4.7rem 0; }
	.section-tight { padding: 3rem 0; }
	.section-heading { align-items: start; display: block; margin-bottom: 1.8rem; }
	.section-heading h2 { font-size: clamp(2.8rem, 15vw, 4.6rem); }
	.section-heading p { margin-top: 1.1rem; }
	.match-grid, .news-grid, .partner-grid, .academy-inner, .contact-grid { grid-template-columns: 1fr; }
	.club-grid { grid-template-columns: minmax(0, 1fr); }
	.match-card { min-height: 175px; }
	.match-card h3 { margin-top: 2.2rem; }
	.academy-has-groups { gap: 2rem; }
	.academy-groups { grid-template-columns: 1fr; }
	.academy h2 { font-size: clamp(3.8rem, 18vw, 6.3rem); }
	.senior-player-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.senior-groups { gap: 1.5rem; }
	.senior-coach-card { margin-bottom: 1.5rem; max-width: none; }
	.senior-player-content { align-items: flex-start; flex-direction: column; gap: .45rem; min-height: 88px; }
	.senior-player-card-no-photo .senior-player-content { min-height: 78px; }
	.senior-player-media-no-photo { min-height: 102px; }
	.senior-roster-preview-heading { align-items: end; }
	.senior-placeholder-card { flex-basis: 76vw; max-width: 270px; min-width: 220px; }
	.senior-placeholder-content { min-height: 88px; }
	.history-empty-crest { height: 54px; width: 54px; }
	.partner-empty-crest { height: 48px; width: 48px; }
	.partner-empty-state { align-items: flex-start; flex-direction: column; }
	.partner-empty-mark { flex-basis: 108px; height: 108px; width: 108px; }
	.club-stat { min-height: 220px; }
	.club-stat strong { font-size: 8rem; }
	.club-president { align-items: flex-start; flex-direction: column; gap: .4rem; }
	.club-president strong { text-align: left; }
	.club-history-heading { align-items: start; display: block; }
	.club-history-heading p { margin-top: 1rem; }
	.history-empty-state { align-items: flex-start; flex-direction: column; }
	.history-empty-mark { flex-basis: 108px; height: 108px; width: 108px; }
	.social { align-items: start; grid-template-columns: 1fr; }
	.footer-inner { grid-template-columns: 1fr; gap: 1.75rem; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.button, .partner-card-link, .social-link { transition: none; }
	.button:hover, .button:focus-visible, .partner-card-link:hover, .partner-card-link:focus-visible, .social-link:hover, .social-link:focus-visible { transform: none; }
}

/* First-team matches page */
.matches-page-hero { background: var(--green-950); color: var(--white); }
.matches-page-hero-inner { padding-bottom: clamp(3.5rem, 8vw, 7rem); padding-top: clamp(3.5rem, 8vw, 7rem); }
.matches-page-hero h1 { font-family: var(--display); font-size: clamp(3.8rem, 9vw, 8rem); letter-spacing: -.075em; line-height: .84; margin: 0 0 1.25rem; text-transform: uppercase; }
.matches-page-hero p { color: var(--green-200); font-size: clamp(1rem, 1.5vw, 1.2rem); margin: 0; max-width: 580px; }
.matches-featured { background: var(--green-100); }
.matches-section-heading { align-items: end; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 1.6rem; }
.matches-section-heading h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(2.6rem, 5.7vw, 5rem); letter-spacing: -.07em; line-height: .88; margin: .55rem 0 0; text-transform: uppercase; }
.matches-section-heading .eyebrow { margin: 0; }
.matches-count { color: var(--green-800); flex: 0 0 auto; font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.matches-feature-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.matches-feature { background: var(--white); border: 1px solid var(--line); min-width: 0; padding: clamp(1.3rem, 3vw, 2rem); }
.matches-feature-next { background: var(--green-950); border-color: var(--green-950); color: var(--white); }
.matches-feature-label { color: var(--green-700); font-size: .7rem; font-weight: 900; letter-spacing: .14em; margin: 0 0 1.25rem; text-transform: uppercase; }
.matches-feature-next .matches-feature-label { color: var(--green-200); }
.matches-feature-score { align-items: center; color: var(--green-950); display: flex; font-family: var(--display); font-size: clamp(3.5rem, 7vw, 6.5rem); font-weight: 900; gap: .3em; letter-spacing: -.08em; line-height: .9; }
.matches-score-separator { color: var(--green-500); font-size: .65em; }
.matches-feature-date { align-items: baseline; color: var(--green-500); display: flex; flex-wrap: wrap; gap: .55rem .8rem; }
.matches-feature-date span:first-child { font-family: var(--display); font-size: clamp(3.5rem, 7vw, 6rem); font-weight: 900; letter-spacing: -.08em; line-height: .9; }
.matches-feature-date span:last-child { color: var(--green-200); font-size: .9rem; font-weight: 800; }
.matches-feature-teams { display: flex; flex-direction: column; font-family: var(--display); font-size: clamp(1.25rem, 2.4vw, 2rem); letter-spacing: -.04em; line-height: 1; margin: 1.2rem 0 .7rem; overflow-wrap: anywhere; text-transform: uppercase; }
.matches-vs { color: var(--green-500); font-size: .8em; line-height: 1.5; }
.matches-feature-meta { color: var(--muted); font-size: .8rem; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.matches-feature-next .matches-feature-meta { color: var(--green-200); }
.matches-feature-empty { background: rgba(255,255,255,.64); }
.matches-empty-copy { color: var(--muted); margin: 2rem 0 0; }
.matches-schedule { background: var(--white); }
.matches-list, .matches-results-list { list-style: none; margin: 0; padding: 0; }
.matches-list { border-top: 1px solid var(--line); }
.matches-list-item { align-items: center; display: grid; gap: 1.2rem; grid-template-columns: 96px minmax(0, 1fr) minmax(180px, .72fr); min-width: 0; padding: 1.25rem 0; }
.matches-list-item + .matches-list-item { border-top: 1px solid var(--line); }
.matches-list-date { align-items: baseline; color: var(--green-800); display: flex; flex-wrap: wrap; gap: .1rem .35rem; }
.matches-list-date span:first-child { color: var(--green-950); font-family: var(--display); font-size: 2.5rem; font-weight: 900; letter-spacing: -.07em; line-height: .9; }
.matches-list-date span:nth-child(2) { font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.matches-list-date span:last-child { flex-basis: 100%; font-size: .78rem; font-weight: 800; margin-top: .25rem; }
.matches-list-teams { color: var(--green-950); display: flex; flex-direction: column; font-family: var(--display); font-size: clamp(1.2rem, 2.5vw, 1.8rem); font-weight: 800; letter-spacing: -.035em; line-height: 1; min-width: 0; overflow-wrap: anywhere; text-transform: uppercase; }
.matches-list-meta { align-items: flex-start; display: flex; flex-direction: column; gap: .55rem; min-width: 0; }
.matches-list-meta p { color: var(--muted); font-size: .76rem; line-height: 1.45; margin: 0; overflow-wrap: anywhere; }
.matches-status { border-radius: 99px; color: var(--green-950); display: inline-block; font-size: .64rem; font-weight: 900; letter-spacing: .08em; padding: .4rem .7rem; text-transform: uppercase; }
.matches-status-scheduled { background: var(--green-100); }
.matches-status-postponed { background: #fff3d7; color: #61480a; }
.matches-status-cancelled { background: #fce9e7; color: #75251d; }
.matches-empty-state { background: var(--paper); border: 1px solid var(--line); color: var(--muted); margin: 0; padding: 1.5rem; }
.matches-results { background: var(--paper); }
.matches-results-list { border-top: 1px solid var(--line); }
.matches-result-item { align-items: center; display: grid; gap: 1rem; grid-template-columns: 100px minmax(0, 1fr) auto minmax(0, .8fr); min-width: 0; padding: 1rem 0; }
.matches-result-item + .matches-result-item { border-top: 1px solid var(--line); }
.matches-result-item time { color: var(--green-800); font-size: .75rem; font-weight: 800; }
.matches-result-opponent { color: var(--green-950); font-size: .92rem; font-weight: 900; min-width: 0; overflow-wrap: anywhere; text-transform: uppercase; }
.matches-result-score { color: var(--green-950); font-family: var(--display); font-size: 1.7rem; font-weight: 900; letter-spacing: -.04em; white-space: nowrap; }
.matches-result-competition { color: var(--muted); font-size: .72rem; line-height: 1.4; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 700px) {
	.matches-page-hero-inner { padding-bottom: 3.5rem; padding-top: 3.5rem; }
	.matches-page-hero h1 { font-size: clamp(3.4rem, 16vw, 5.4rem); }
	.matches-feature-grid { grid-template-columns: 1fr; }
	.matches-section-heading { align-items: start; display: block; }
	.matches-count { display: inline-block; margin-top: .9rem; }
	.matches-list-item { align-items: start; gap: .8rem 1rem; grid-template-columns: 72px minmax(0, 1fr); }
	.matches-list-date { grid-row: span 2; }
	.matches-list-date span:first-child { font-size: 2.2rem; }
	.matches-list-teams { font-size: 1.3rem; }
	.matches-list-meta { align-items: flex-start; grid-column: 2; }
	.matches-result-item { gap: .55rem .8rem; grid-template-columns: minmax(0, 1fr) auto; }
	.matches-result-item time { grid-column: 1; grid-row: 1; }
	.matches-result-opponent { grid-column: 1; grid-row: 2; }
	.matches-result-score { grid-column: 2; grid-row: 1 / span 2; }
	.matches-result-competition { grid-column: 1 / -1; }
}

/* Contact page */
.contact-page-hero { background: var(--green-950); color: var(--white); }
.contact-page-hero-inner { padding-bottom: clamp(3.5rem, 8vw, 7rem); padding-top: clamp(3.5rem, 8vw, 7rem); }
.contact-page-hero h1 { font-family: var(--display); font-size: clamp(4rem, 10vw, 8.5rem); letter-spacing: -.075em; line-height: .82; margin: 0 0 1.35rem; text-transform: uppercase; }
.contact-page-hero p { color: var(--green-200); font-size: clamp(1rem, 1.5vw, 1.2rem); margin: 0; max-width: 640px; }
.contact-page-details { background: var(--paper); }
.contact-page-grid { align-items: stretch; display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-page-card { min-width: 0; padding: clamp(1.4rem, 3.5vw, 2.6rem); }
.contact-page-club { background: var(--green-950); color: var(--white); }
.contact-page-academy { background: var(--green-100); color: var(--green-950); }
.contact-page-card .eyebrow { font-size: .66rem; margin: 0 0 1rem; }
.contact-page-club .eyebrow { color: var(--green-200); }
.contact-page-academy .eyebrow { color: var(--green-800); }
.contact-page-card h2 { font-family: var(--display); font-size: clamp(2.2rem, 4.2vw, 3.8rem); letter-spacing: -.065em; line-height: .88; margin: 0 0 2rem; overflow-wrap: anywhere; text-transform: uppercase; }
.contact-page-list { margin: 0; }
.contact-page-item { border-top: 1px solid var(--line); display: grid; gap: .45rem; grid-template-columns: minmax(86px, .42fr) minmax(0, 1fr); padding: .9rem 0; }
.contact-page-club .contact-page-item { border-color: rgba(183,230,207,.28); }
.contact-page-item dt { color: var(--green-800); font-size: .67rem; font-weight: 900; letter-spacing: .1em; padding-top: .15rem; text-transform: uppercase; }
.contact-page-club .contact-page-item dt { color: var(--green-200); }
.contact-page-item dd { color: var(--green-950); font-size: .94rem; font-weight: 750; margin: 0; min-width: 0; overflow-wrap: anywhere; white-space: normal; }
.contact-page-item address { font-style: normal; }
.contact-page-item dd a { color: inherit; text-decoration-color: var(--green-500); text-underline-offset: .2em; }
.contact-page-club .contact-page-item dd { color: var(--white); }
.contact-page-item dd a:hover, .contact-page-item dd a:focus-visible { color: var(--green-700); }
.contact-page-club .contact-page-item dd a:hover, .contact-page-club .contact-page-item dd a:focus-visible { color: var(--green-200); }
.contact-page-empty { background: var(--white); border: 1px solid var(--line); color: var(--muted); margin: 0; padding: 1.5rem; }
.contact-page-location { background: var(--green-500); color: var(--green-950); padding: clamp(3.5rem, 7vw, 6rem) 0; }
.contact-page-location-inner { align-items: end; display: flex; gap: 2rem; justify-content: space-between; }
.contact-page-location .eyebrow { color: var(--green-950); margin: 0 0 .7rem; }
.contact-page-location .eyebrow:before { background: var(--green-950); }
.contact-page-location h2, .contact-page-social h2 { font-family: var(--display); font-size: clamp(3rem, 6vw, 5.8rem); letter-spacing: -.07em; line-height: .86; margin: 0 0 1rem; text-transform: uppercase; }
.contact-page-location address { font-size: 1.05rem; font-style: normal; font-weight: 700; line-height: 1.5; }
.contact-route-link { background: var(--green-950); color: var(--white); flex: 0 0 auto; }
.contact-route-link:hover, .contact-route-link:focus-visible { background: var(--green-800); }
.contact-page-social { background: var(--white); }
.contact-page-social-inner { align-items: end; display: flex; gap: 2rem; justify-content: space-between; }
.contact-page-social h2 { font-size: clamp(2.6rem, 5vw, 4.8rem); margin-bottom: 0; }
.contact-social-links { display: flex; flex-wrap: wrap; gap: .7rem; }
.contact-social-links a { align-items: center; border: 1px solid var(--green-800); color: var(--green-800); display: inline-flex; font-size: .82rem; font-weight: 900; gap: .8rem; justify-content: space-between; min-width: 142px; padding: .85rem 1rem; text-decoration-color: var(--green-500); text-underline-offset: .2em; transition: background-color .18s ease, color .18s ease; }
.contact-social-links a:hover, .contact-social-links a:focus-visible { background: var(--green-800); color: var(--white); }
@media (max-width: 700px) {
	.contact-page-hero-inner { padding-bottom: 3.5rem; padding-top: 3.5rem; }
	.contact-page-hero h1 { font-size: clamp(4rem, 18vw, 6.4rem); }
	.contact-page-grid { grid-template-columns: 1fr; }
	.contact-page-location-inner, .contact-page-social-inner { align-items: flex-start; flex-direction: column; }
	.contact-route-link { align-self: flex-start; }
	.contact-page-social h2 { max-width: 12ch; }
	.contact-social-links { width: 100%; }
	.contact-social-links a { flex: 1 1 130px; }
}

/* Academy flagship landing — scoped to this page */
.academy-page :is(a, button):focus-visible { outline: 3px solid var(--green-800); outline-offset: 4px; }
.academy-page-hero a:focus-visible, .academy-page-contact a:focus-visible { outline-color: var(--green-200); }
.academy-page ::selection { background: var(--green-200); color: var(--green-950); }
.academy-page-hero { background: var(--green-950); color: var(--white); isolation: isolate; overflow: hidden; position: relative; }
.academy-page-hero-image { height: 100%; inset: 0; object-fit: cover; object-position: 50% 56%; position: absolute; width: 100%; z-index: -2; }
.academy-page-hero:after { background: linear-gradient(90deg, rgba(3,28,20,.94) 0%, rgba(3,28,20,.88) 29%, rgba(3,28,20,.55) 63%, rgba(3,28,20,.18) 100%), linear-gradient(0deg, rgba(3,28,20,.62), transparent 45%); content: ""; inset: 0; position: absolute; z-index: -1; }
.academy-page-hero-inner { align-items: center; display: flex; min-height: 710px; padding-bottom: 6rem; padding-top: 5rem; position: relative; }
.academy-page-hero-copy { max-width: 960px; }
.academy-page-label { color: var(--green-200); font-size: .73rem; font-weight: 800; letter-spacing: .14em; margin: 0 0 2rem; text-transform: uppercase; }
.academy-page-hero h1 { font-family: var(--display); font-size: clamp(4rem, 7.5vw, 6rem); font-weight: 900; letter-spacing: -.035em; line-height: .95; margin: 0 0 1.6rem; text-wrap: balance; }
.academy-page-lede { color: var(--white); font-size: clamp(1.05rem, 1.5vw, 1.18rem); line-height: 1.65; margin: 0; max-width: 470px; }
.academy-page-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.6rem; margin-top: 2rem; }
.academy-page .academy-action-primary { background: var(--green-500); border: 1px solid transparent; border-radius: 4px; color: var(--green-950); font-size: .85rem; min-height: 56px; padding: 1rem 1.45rem; }
.academy-page .academy-action-primary:hover, .academy-page .academy-action-primary:focus-visible { background: var(--green-200); }
.academy-action-secondary { color: var(--white); display: inline-flex; font-size: .84rem; font-weight: 800; gap: .8rem; padding: 1rem 0; text-decoration-thickness: 1px; text-underline-offset: .35em; }
.academy-action-secondary:hover { color: var(--green-200); }
.academy-page-hero-signature { border-top: 1px solid rgba(255,255,255,.5); bottom: 2rem; color: var(--white); font-size: .65rem; font-weight: 800; letter-spacing: .14em; line-height: 1.65; margin: 0; padding-top: .65rem; position: absolute; right: 1.5rem; text-transform: uppercase; }
.academy-page-groups { background: var(--white); padding: 5rem 0; scroll-margin-top: 1.5rem; }
.academy-page-section-heading { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 2.5rem; }
.academy-page-section-heading h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(3rem, 5.6vw, 4.6rem); font-weight: 900; letter-spacing: -.035em; line-height: .98; margin: 0; }
.academy-page-section-heading > p { color: var(--muted); line-height: 1.6; margin: 0; max-width: 360px; }
.academy-page-group-grid { display: grid; gap: 2.5rem 1.8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.academy-page-group { min-width: 0; }
.academy-page-group-media { aspect-ratio: 16 / 10; background: var(--green-950); display: block; overflow: hidden; }
.academy-page-group-image { display: block; height: 100%; object-fit: cover; width: 100%; }
.academy-page-group-crest { align-items: center; background: linear-gradient(145deg, var(--green-950), var(--green-800)); display: flex; height: 100%; justify-content: center; width: 100%; }
.academy-page-group-crest img { height: 140px; object-fit: contain; width: 140px; }
.academy-page-group-copy { border-bottom: 1px solid var(--line); padding: 1.4rem 0 1.6rem; }
.academy-page-group-year { color: var(--green-800); font-size: .74rem; font-weight: 800; letter-spacing: .08em; margin: 0 0 .5rem; text-transform: uppercase; }
.academy-page-group-copy h3 { color: var(--green-950); font-family: var(--display); font-size: clamp(1.8rem, 3vw, 2.7rem); letter-spacing: -.03em; line-height: 1; margin: 0; overflow-wrap: anywhere; }
.academy-page-group-copy h3 a { text-decoration: none; }
.academy-page-group-copy h3 a:hover { color: var(--green-800); }
.academy-page-group-coach { color: var(--green-900); font-size: .9rem; margin: .85rem 0 0; }
.academy-page-group-coach span { color: var(--muted); margin-right: .5rem; }
.academy-page-group-link { align-items: center; min-height: 44px; color: var(--green-800); display: inline-flex; font-size: .8rem; font-weight: 800; gap: .8rem; margin-top: 1.3rem; text-decoration-thickness: 1px; text-underline-offset: .35em; }
.academy-page-group-grid-single { grid-template-columns: 1fr; }
.academy-page-group-grid-single .academy-page-group { align-items: center; display: grid; gap: 2.5rem; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
.academy-page-group-grid-single .academy-page-group-copy { border-bottom: 0; padding: 0; }
.academy-page-about { background: var(--green-100); padding: 5.5rem 0; }
.academy-page-about-inner { align-items: center; display: grid; gap: clamp(2rem, 6vw, 5rem); grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.academy-page-about-inner > h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(2.8rem, 4.4vw, 4.2rem); letter-spacing: -.035em; line-height: 1.03; margin: 0; }
.academy-page-about-inner > h2 span { color: var(--green-800); }
.academy-page-about-copy { color: var(--green-900); font-size: 1.06rem; line-height: 1.75; max-width: 65ch; }
.academy-page-about-copy > p { margin: 0; }
.academy-page-editor-content { overflow-wrap: anywhere; }
.academy-page-editor-content > :first-child { margin-top: 0; }
.academy-page-editor-content :is(h2, h3, h4) { color: var(--green-950); font-family: var(--display); font-size: 1.5rem; letter-spacing: -.02em; line-height: 1.2; margin: 1.6rem 0 .75rem; }
.academy-page-editor-content img { height: auto; max-width: 100%; }
.academy-page-editor-content a { color: var(--green-800); text-underline-offset: .25em; }
.academy-page-editor-content > :last-child { margin-bottom: 0; }
.academy-page-contact { background: var(--green-950); color: var(--white); padding: 6rem 0; scroll-margin-top: 1rem; }
.academy-page-contact-inner { align-items: center; display: grid; gap: 2rem 5rem; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.academy-page-contact h2 { font-family: var(--display); font-size: clamp(3rem, 5.3vw, 4.6rem); font-weight: 900; letter-spacing: -.035em; line-height: .98; margin: 0; }
.academy-page-contact-intro { color: var(--green-200); margin: 1.2rem 0 0; max-width: 42ch; }
.academy-page-coordinator { display: flex; flex-direction: column; gap: .4rem; margin: 2rem 0 0; }
.academy-page-coordinator span { color: var(--green-200); font-size: .7rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.academy-page-coordinator strong { font-size: 1rem; }
.academy-page-contact-actions { align-items: stretch; display: flex; flex-direction: column; gap: 1.3rem; min-width: 0; }
.academy-contact-call { background: var(--green-500); border-radius: 4px; color: var(--green-950); display: flex; flex-direction: column; gap: .4rem; padding: 1.6rem 3.5rem 1.6rem 1.6rem; position: relative; text-decoration: none; }
.academy-contact-call > span:first-child { font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.academy-contact-call strong { font-family: var(--display); font-size: clamp(1.8rem, 3vw, 2.5rem); letter-spacing: -.02em; }
.academy-contact-arrow { font-size: 2rem; position: absolute; right: 1.4rem; top: 1.3rem; }
.academy-contact-call:hover, .academy-contact-call:focus-visible { background: var(--green-200); }
.academy-contact-email { align-items: center; display: inline-flex; gap: .35rem; min-height: 44px; align-self: flex-start; color: var(--green-200); font-size: .92rem; font-weight: 750; overflow-wrap: anywhere; text-underline-offset: .3em; }
.academy-page-contact-phone { font-size: 1.5rem; margin: 0; overflow-wrap: anywhere; }
.academy-page-news { background: var(--white); padding: 5rem 0; }
.academy-page-all-news { color: var(--green-800); font-size: .85rem; font-weight: 800; text-underline-offset: .3em; }
.academy-page-news-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.academy-page-news-item { min-width: 0; }
.academy-page-news-media { aspect-ratio: 16 / 10; display: block; margin-bottom: 1.2rem; overflow: hidden; }
.academy-page-news-image { height: 100%; object-fit: cover; width: 100%; }
.academy-page-news-date { color: var(--green-800); font-size: .7rem; font-weight: 800; margin: 0 0 .6rem; }
.academy-page-news-item h3 { color: var(--green-950); font-size: 1.2rem; line-height: 1.3; margin: 0 0 .7rem; }
.academy-page-news-item h3 a { text-decoration: none; }
.academy-page-news-item > p:last-child { color: var(--muted); font-size: .9rem; margin-bottom: 0; }
@media (max-width: 900px) {
	.academy-page-hero-inner { min-height: 650px; }
	.academy-page-hero h1 { font-size: clamp(3.5rem, 8vw, 5rem); }
	.academy-page-section-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
	.academy-page-about-inner, .academy-page-contact-inner { gap: 2rem; grid-template-columns: 1fr; }
	.academy-page-news-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 600px) {
	.academy-page-hero-inner { align-items: flex-start; min-height: 690px; padding-bottom: 7rem; padding-top: 4.5rem; }
	.academy-page-hero-image { object-position: 62% 55%; }
	.academy-page-hero:after { background: linear-gradient(90deg, rgba(3,28,20,.85), rgba(3,28,20,.65)), linear-gradient(0deg, rgba(3,28,20,.65), transparent 60%); }
	.academy-page-label { font-size: .64rem; letter-spacing: .1em; margin-bottom: 1.6rem; }
	.academy-page-hero h1 { font-size: clamp(3.3rem, 13.6vw, 4.6rem); line-height: 1; }
	.academy-page-lede { font-size: 1rem; }
	.academy-page-actions { align-items: flex-start; flex-direction: column; gap: .4rem; margin-top: 1.7rem; }
	.academy-page .academy-action-primary { font-size: .78rem; justify-content: space-between; padding: 1rem 1.1rem; width: 100%; }
	.academy-page-hero-signature { bottom: 1.5rem; font-size: .6rem; }
	.academy-page-groups, .academy-page-about, .academy-page-news { padding: 3rem 0; }
	.academy-page-section-heading h2 { font-size: 2.8rem; }
	.academy-page-group-grid, .academy-page-news-grid, .academy-page-group-grid-single .academy-page-group { grid-template-columns: 1fr; }
	.academy-page-group-grid-single .academy-page-group { gap: 0; }
	.academy-page-group-grid-single .academy-page-group-copy { padding: 1.4rem 0; }
	.academy-page-about-inner > h2 { font-size: 2.8rem; }
	.academy-page-contact { padding: 3.5rem 0; }
	.academy-page-contact h2 { font-size: 2.9rem; }
	.academy-contact-email { font-size: .8rem; }
}
@media (prefers-reduced-motion: reduce) { html:has(.academy-page) { scroll-behavior: auto; } }

/* Existing Academy group detail layout */
.academy-group-full-content a { color: var(--green-800); text-underline-offset: .2em; }
.academy-group-information-list dt { color: var(--muted); font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.academy-page-kicker { color: var(--green-800); font-size: .7rem; font-weight: 900; letter-spacing: .16em; margin: 0; text-transform: uppercase; }
.academy-group-hero .academy-page-kicker { color: var(--green-200); }
.academy-group-hero h1 { font-family: var(--display); font-size: clamp(4rem, 8.2vw, 7.2rem); letter-spacing: -.055em; line-height: .88; margin: 1.1rem 0 1.4rem; max-width: 760px; }
.academy-group-information h2, .academy-group-description-section h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(3rem, 6vw, 5.7rem); letter-spacing: -.05em; line-height: .9; margin: .65rem 0 0; }
.academy-group-hero { background: var(--green-950); color: var(--white); }
.academy-group-hero-inner { align-items: center; display: grid; gap: clamp(2rem, 6vw, 5rem); grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr); min-height: 480px; padding-bottom: 4rem; padding-top: 3rem; }
.academy-group-hero-copy { min-width: 0; }
.academy-group-back { color: var(--green-200); display: inline-block; font-size: .82rem; font-weight: 800; margin-bottom: 3rem; text-decoration-color: var(--green-500); text-underline-offset: .25em; }
.academy-group-back:hover, .academy-group-back:focus-visible { color: var(--white); }
.academy-group-hero h1 { overflow-wrap: anywhere; }
.academy-group-hero-fact { align-items: baseline; display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin: .8rem 0 0; }
.academy-group-hero-fact span { color: var(--green-200); font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.academy-group-hero-fact strong { font-size: 1rem; }
.academy-group-hero-media { background: var(--green-900); max-height: 390px; overflow: hidden; }
.academy-group-hero-image { display: block; height: 100%; max-height: 390px; object-fit: cover; width: 100%; }
.academy-group-description-section { background: var(--white); }
.academy-group-reading { max-width: 900px; }
.academy-group-description-section h2 { font-size: clamp(2.6rem, 5vw, 4.4rem); margin: 0 0 1.5rem; }
.academy-group-full-content { color: var(--green-900); font-size: 1.05rem; line-height: 1.8; max-width: 72ch; overflow-wrap: anywhere; }
.academy-group-full-content > :first-child { margin-top: 0; }
.academy-group-full-content > :last-child { margin-bottom: 0; }
.academy-group-information { background: var(--green-100); }
.academy-group-information-inner { align-items: start; display: grid; gap: 2rem 5rem; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.academy-group-information h2 { font-size: clamp(2.8rem, 5vw, 4.8rem); }
.academy-group-information-list { border-top: 1px solid rgba(13,90,66,.22); margin: 0; }
.academy-group-information-list > div { border-bottom: 1px solid rgba(13,90,66,.22); display: grid; gap: 1rem; grid-template-columns: minmax(150px, .6fr) minmax(0, 1fr); padding: 1rem 0; }
.academy-group-information-list dt { color: var(--green-800); padding-top: .2rem; }
.academy-group-information-list dd { color: var(--green-950); font-size: .96rem; font-weight: 700; margin: 0; overflow-wrap: anywhere; }
.academy-group-information-list dd a { color: inherit; text-decoration-color: var(--green-700); text-underline-offset: .2em; }
.academy-group-return { padding-bottom: 4rem; padding-top: 3rem; }
.academy-group-return .button-primary { background: var(--green-950); color: var(--white); }
.academy-group-return .button-primary:hover, .academy-group-return .button-primary:focus-visible { background: var(--green-800); }
.academy-no-groups { grid-template-columns: minmax(0, 1fr); }
.academy-no-groups .academy-intro { max-width: 760px; }
@media (max-width: 900px) {
	.academy-group-hero-inner { grid-template-columns: minmax(0, 1fr) minmax(220px, .72fr); }
}
@media (max-width: 700px) {
	.academy-group-information-inner { grid-template-columns: 1fr; }
	.academy-group-information h2 { font-size: clamp(2.8rem, 13vw, 4rem); }
	.academy-group-information-list > div { gap: .4rem; grid-template-columns: 1fr; }
	.academy-group-hero-inner { gap: 2rem; grid-template-columns: 1fr; min-height: 0; padding-bottom: 3.5rem; padding-top: 1.4rem; }
	.academy-group-back { margin-bottom: 2.5rem; }
	.academy-group-hero h1 { font-size: clamp(3.5rem, 16vw, 5.4rem); }
	.academy-group-hero-media, .academy-group-hero-image { max-height: 280px; }
	.academy-group-description-section h2 { font-size: 2.8rem; }
	.academy-group-return { padding-bottom: 3rem; }
}

/* First team — dedicated page only */
.first-team-page ::selection { background: var(--green-200); color: var(--green-950); }
.first-team-page a:focus-visible { outline: 3px solid var(--green-200); outline-offset: 4px; }
.first-team-hero { background: var(--green-950); color: var(--white); isolation: isolate; overflow: hidden; position: relative; }
.first-team-hero::after { background: linear-gradient(90deg, rgba(14,36,27,.98) 0%, rgba(14,36,27,.9) 25%, rgba(14,36,27,.45) 49%, rgba(14,36,27,.08) 75%), linear-gradient(0deg, rgba(14,36,27,.7), transparent 40%); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 1; }
.first-team-hero-inner { align-items: center; display: flex; min-height: 640px; padding-bottom: 5rem; padding-top: 5rem; position: relative; z-index: 2; }
.first-team-hero-copy { max-width: 440px; }
.first-team-hero h1 { font-family: var(--display); font-size: clamp(4.5rem, 8vw, 6rem); font-weight: 900; letter-spacing: -.035em; line-height: .9; margin: 0 0 1.6rem; }
.first-team-hero-copy > p { color: var(--green-200); font-size: 1.15rem; line-height: 1.65; margin: 0 0 2rem; max-width: 440px; }
.first-team-page .first-team-button { background: var(--green-500); border: 0; border-radius: 4px; color: var(--green-950); min-height: 56px; padding: 1rem 1.5rem; }
.first-team-page .first-team-button:hover { background: var(--green-200); }
.first-team-hero-photo { display: block; height: 100%; inset: 0; object-fit: cover; object-position: 50% 35%; position: absolute; width: 100%; }
.first-team-hero-credit { bottom: 1rem; color: var(--white); font-size: .65rem; position: absolute; right: 1.5rem; z-index: 2; }
.first-team-roster { background: var(--white); padding: 5rem 0; }
.first-team-roster > .container > h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(3rem, 5vw, 4.5rem); letter-spacing: -.035em; line-height: 1; margin: 0 0 3rem; }
.first-team-position + .first-team-position { margin-top: 3.5rem; }
.first-team-position-heading { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1.5rem; padding-bottom: .8rem; }
.first-team-position-heading h3 { color: var(--green-950); font-family: var(--display); font-size: 1.8rem; letter-spacing: -.025em; line-height: 1; margin: 0; }
.first-team-position-heading > span { color: var(--green-800); font-size: .85rem; font-weight: 800; }
.first-team-player-list { display: grid; column-gap: 2rem; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.first-team-player { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: 1rem; justify-content: space-between; min-width: 0; padding: 1rem 0; }
.first-team-player-name { color: var(--green-950); font-family: var(--display); font-size: 1.5rem; letter-spacing: -.025em; line-height: 1.2; overflow-wrap: anywhere; }
.first-team-player-number { color: var(--green-800); flex-shrink: 0; font-family: var(--display); font-size: 1.5rem; font-variant-numeric: tabular-nums; line-height: 1; }
.first-team-staff { background: var(--green-100); padding: 4.5rem 0; }
.first-team-staff-inner { align-items: center; display: grid; gap: 3rem; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.first-team-staff h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(3rem, 5vw, 4.5rem); letter-spacing: -.035em; line-height: .98; margin: 0; }
.first-team-coach { border-top: 1px solid var(--green-800); padding-top: 1.4rem; }
.first-team-coach p { color: var(--green-800); font-size: .75rem; font-weight: 800; letter-spacing: .08em; margin: 0 0 .85rem; text-transform: uppercase; }
.first-team-coach h3 { color: var(--green-950); font-family: var(--display); font-size: clamp(2rem, 3.5vw, 3rem); letter-spacing: -.03em; line-height: 1.1; margin: 0; overflow-wrap: anywhere; }
.first-team-matches { background: var(--green-950); color: var(--white); padding: 4.5rem 0; }
.first-team-matches-heading { align-items: center; display: flex; gap: 2rem; justify-content: space-between; }
.first-team-matches-heading h2 { font-family: var(--display); font-size: clamp(2.5rem, 4.5vw, 3.8rem); letter-spacing: -.03em; line-height: 1.05; margin: 0; }
.first-team-schedule-link { color: var(--green-200); display: inline-flex; font-size: .86rem; font-weight: 800; gap: .75rem; min-height: 44px; align-items: center; text-underline-offset: .35em; }
.first-team-next-match { border-top: 1px solid rgba(183,230,207,.3); display: grid; gap: 3rem; grid-template-columns: minmax(0, .5fr) minmax(0, 1.5fr); margin-top: 2rem; padding-top: 2rem; }
.first-team-next-match time { display: flex; flex-direction: column; gap: .65rem; }
.first-team-next-match time strong { color: var(--green-500); font-family: var(--display); font-size: clamp(3.5rem, 6vw, 5.5rem); letter-spacing: -.03em; line-height: .95; }
.first-team-next-match time > span { color: var(--green-200); font-size: .95rem; font-weight: 750; }
.first-team-match-side { color: var(--green-200); font-size: .75rem; font-weight: 800; letter-spacing: .08em; margin: 0 0 .65rem; text-transform: uppercase; }
.first-team-next-match h3 { font-family: var(--display); font-size: clamp(2rem, 3.7vw, 3.2rem); letter-spacing: -.03em; line-height: 1.05; margin: 0; overflow-wrap: anywhere; }
.first-team-match-competition { color: var(--green-200); font-size: .9rem; margin: .9rem 0 0; }
@media (max-width: 900px) {
 .first-team-hero-inner { min-height: 600px; }
 .first-team-player-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .first-team-staff-inner { gap: 2rem; }
}
@media (max-width: 600px) {
 .first-team-hero-inner { align-items: flex-end; min-height: 740px; padding-top: 3rem; padding-bottom: 3.5rem; }
 .first-team-hero-photo { object-position: 44% 30%; }
 .first-team-hero::after { background: linear-gradient(0deg, rgba(14,36,27,.99) 0%, rgba(14,36,27,.93) 29%, rgba(14,36,27,.35) 62%, rgba(14,36,27,.08) 100%); }
 .first-team-hero h1 { font-size: clamp(3.8rem, 18vw, 5rem); }
 .first-team-hero-copy > p { font-size: 1rem; }
 .first-team-roster, .first-team-staff, .first-team-matches { padding: 3rem 0; }
 .first-team-player-list { grid-template-columns: 1fr; }
 .first-team-staff-inner { grid-template-columns: 1fr; }
 .first-team-matches-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
 .first-team-next-match { gap: 2rem; grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
 html:has(.first-team-page) { scroll-behavior: auto; }
}

/* Partners page and its Club discovery link */
.partners-page ::selection { background: var(--green-200); color: var(--green-950); }
.partners-page a:focus-visible { outline: 3px solid var(--green-800); outline-offset: 4px; }
.partners-page-hero { background: var(--green-950); color: var(--white); }
.partners-page-hero-inner { align-items: center; display: grid; gap: 3rem; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); min-height: 420px; padding-bottom: 4rem; padding-top: 4rem; }
.partners-page-hero h1 { font-family: var(--display); font-size: clamp(4rem, 7vw, 5.8rem); font-weight: 900; letter-spacing: -.035em; line-height: .95; margin: 0; }
.partners-page-intro { border-top: 1px solid rgba(183,230,207,.4); padding-top: 1.5rem; }
.partners-page-intro p { color: var(--green-200); font-size: 1.15rem; line-height: 1.65; margin: 0; max-width: 360px; }
.partners-page-intro img { display: block; height: 60px; margin-top: 1.5rem; object-fit: contain; width: 60px; }
.partners-page-directory { background: var(--white); padding: 5rem 0; }
.partners-page-directory h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(2.8rem, 5vw, 4.3rem); letter-spacing: -.035em; line-height: 1; margin: 0 0 2.5rem; }
.partners-page-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.partners-page-grid > li { display: flex; min-width: 0; }
.partners-page-tile { background: var(--white); border: 1px solid var(--line); color: var(--green-950); display: flex; flex-direction: column; min-height: 250px; min-width: 0; padding: 1.25rem; text-decoration: none; width: 100%; }
.partners-page-tile-link { transition: border-color .2s ease-out, background-color .2s ease-out; }
.partners-page-tile-link:hover { background: var(--paper); border-color: var(--green-800); }
.partners-page-logo-space { align-items: center; display: flex; flex: 1; justify-content: center; min-height: 155px; padding: .5rem; }
.partners-page-logo { display: block; height: auto; max-height: 140px; max-width: 100%; object-fit: contain; width: auto; }
.partners-page-wordmark { color: var(--green-950); font-family: var(--display); font-size: clamp(1.35rem, 2.2vw, 1.9rem); letter-spacing: -.02em; line-height: 1.1; margin: 0; overflow-wrap: anywhere; text-align: center; }
.partners-page-caption { align-items: center; border-top: 1px solid var(--line); display: flex; gap: .8rem; justify-content: space-between; margin-top: 1rem; padding-top: .85rem; }
.partners-page-caption h3, .partners-page-caption > span { font-size: .8rem; font-weight: 750; line-height: 1.4; margin: 0; overflow-wrap: anywhere; }
.partners-page-caption svg { flex-shrink: 0; }
.partners-page-grid-single { grid-template-columns: minmax(0, 380px); }
.partners-page-collaboration { background: var(--green-100); padding: 5rem 0; }
.partners-page-collaboration-inner { align-items: center; display: grid; gap: 3rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.partners-page-collaboration h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(3rem, 5.2vw, 4.5rem); letter-spacing: -.035em; line-height: 1; margin: 0; }
.partners-page-collaboration p { color: var(--green-900); font-size: 1.1rem; line-height: 1.7; margin: 0 0 1.6rem; max-width: 50ch; }
.partners-page .partners-page-contact { background: var(--green-950); border: 0; border-radius: 4px; color: var(--white); min-height: 56px; padding: 1rem 1.4rem; }
.partners-page .partners-page-contact:hover { background: var(--green-800); }
.club-identity-copy > .club-partners-link { font-size: .86rem; margin: 1.6rem 0 0; }
.club-page-links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.board-page { padding: clamp(2.5rem, 6vw, 5rem) 0 clamp(4rem, 8vw, 7rem); }
.board-page-inner { max-width: 940px; }
.board-back-link { align-items: center; display: inline-flex; font-size: .85rem; gap: .5rem; }
.board-page h1 { color: var(--green-950); font-family: var(--display); font-size: clamp(3rem, 7vw, 5rem); letter-spacing: -.03em; line-height: 1; margin: 2rem 0 2.5rem; text-transform: uppercase; }
.board-page-content { margin-top: 2rem; }
.board-page-content ul.board-members { list-style: none; margin: 0; padding: 0; }
.board-members li { align-items: baseline; border-top: 1px solid var(--line); display: grid; gap: .75rem 2rem; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); padding: 1rem .25rem; }
.board-members li:last-child { border-bottom: 1px solid var(--line); }
.board-members strong { color: var(--green-950); font-size: 1.1rem; font-weight: 700; overflow-wrap: anywhere; }
@media (max-width: 600px) { .board-members li { gap: .25rem; grid-template-columns: 1fr; padding: .85rem .25rem; } }
.club-partners-link a { align-items: center; display: inline-flex; gap: .5rem; min-height: 44px; }
@media (max-width: 900px) {
 .partners-page-hero-inner { gap: 2rem; grid-template-columns: 1fr; min-height: 0; }
 .partners-page-hero h1 { font-size: 4.5rem; }
 .partners-page-intro { align-items: center; display: flex; gap: 2rem; justify-content: space-between; }
 .partners-page-intro img { margin-top: 0; }
 .partners-page-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .partners-page-grid-single { grid-template-columns: minmax(0, 380px); }
 .partners-page-collaboration-inner { gap: 2rem; grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
 .partners-page-hero-inner { padding-bottom: 3rem; padding-top: 3rem; }
 .partners-page-hero h1 { font-size: clamp(3.4rem, 15vw, 4.5rem); }
 .partners-page-intro p { font-size: 1rem; }
 .partners-page-intro img { height: 44px; width: 44px; }
 .partners-page-directory, .partners-page-collaboration { padding: 3rem 0; }
 .partners-page-grid { gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .partners-page-grid-single { grid-template-columns: 1fr; }
 .partners-page-tile { min-height: 250px; padding: .8rem; }
 .partners-page-logo-space { min-height: 155px; padding: 0; }
 .partners-page-logo { max-height: 140px; }
 .partners-page-wordmark { font-size: 1.3rem; }
 .partners-page-caption h3, .partners-page-caption > span { font-size: .72rem; }
 .partners-page-collaboration h2 { font-size: 2.9rem; }
 .partners-page-collaboration p { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .partners-page-tile-link { transition: none; } }

/* Homepage — previews of the dedicated club pages. */
.home-page ::selection { background: var(--green-200); color: var(--green-950); }
.home-page a:focus-visible { outline: 3px solid var(--green-800); outline-offset: 4px; }
.home-page :is(.hero,.home-seniors,.home-contact) a:focus-visible { outline-color: var(--green-200); }
.home-page .button { border-radius: 4px; min-height: 56px; }
.home-page :is(h2,h3,h4) { text-wrap: balance; }
.home-page .section-heading h2 { font-size: clamp(2.8rem,5vw,4.5rem); letter-spacing: -.03em; line-height: 1; margin: 0; text-transform: none; }
.home-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.25rem; margin-top: 2rem; }
.home-text-link { align-items: center; display: inline-flex; font-size: .9rem; font-weight: 800; gap: .7rem; min-height: 44px; text-underline-offset: .35em; }
.home-text-link svg { flex-shrink: 0; }
.home-section-link { margin-top: 2rem; }
.home-academy { background: var(--white); padding: 6rem 0; }
.home-academy-intro { align-items: center; display: grid; gap: 3rem; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
.home-academy-copy h2 { color: var(--green-950); font-family: var(--display); font-size: clamp(3.8rem,6.5vw,6rem); letter-spacing: -.035em; line-height: .95; margin: 0 0 1.6rem; }
.home-academy-copy > p { color: var(--green-800); font-size: 1.05rem; max-width: 43ch; }
.home-academy-copy > .home-academy-lede { color: var(--green-950); font-size: 1.4rem; font-weight: 800; line-height: 1.3; }
.home-academy-photo { aspect-ratio: 5 / 4; margin: 0; overflow: hidden; }
.home-academy-photo img { display: block; height: 100%; object-fit: cover; object-position: center 68%; width: 100%; }
.home-academy-groups { margin-top: 3.5rem; }
.home-academy-groups-heading { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem 2rem; justify-content: space-between; margin-bottom: 1.5rem; }
.home-academy-groups-heading > h3 { font-family: var(--display); font-size: 2rem; letter-spacing: -.03em; margin: 0; }
.home-academy-groups-heading .home-text-link { color: var(--green-800); }
.home-group-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.home-team-photo-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.home-group { min-width: 0; }
.home-group-media { align-items: center; aspect-ratio: 16 / 10; background: var(--green-100); display: flex; justify-content: center; overflow: hidden; }
.home-group-media img { display: block; height: 100%; object-fit: cover; width: 100%; }
.home-group-media.home-team-media { aspect-ratio: 3 / 2; }
.home-team-media img { min-width: 0; }
.home-group-media .home-group-crest { height: 100px; object-fit: contain; width: 100px; }
.home-group-copy { padding-top: 1rem; }
.home-group-copy h4 { font-family: var(--display); font-size: 1.9rem; letter-spacing: -.025em; line-height: 1.1; margin: .5rem 0; overflow-wrap: anywhere; }
.home-group-copy a { text-decoration: none; }
.home-group-copy a:hover { text-decoration: underline; text-underline-offset: .15em; }
.home-group-copy p { color: var(--green-800); font-size: .85rem; margin: .3rem 0; overflow-wrap: anywhere; }
.home-matches { border-top: 1px solid var(--line); }
.home-page .match-card { border-radius: 0; min-height: 0; padding: 2rem; }
.home-page .match-card h3 { font-size: 2rem; letter-spacing: -.025em; line-height: 1.1; margin: 1.5rem 0 .7rem; text-transform: none; }
.home-page .match-score { color: var(--green-950); font-size: 4.5rem; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.home-page .match-details { font-size: .9rem; line-height: 1.7; }
.home-page #aktualnosci { padding: 5rem 0; }
.home-page .news-card { border-radius: 0; padding: 0 0 1.5rem; }
.home-page .news-card-media,.home-page .news-card-top { border-radius: 0; height: auto; aspect-ratio: 16 / 10; }
.home-page .news-card-neutral { background: var(--green-950); }
.home-page .news-card :is(.news-card-meta,h3,p) { margin-left: 1.3rem; margin-right: 1.3rem; }
.home-page .news-card h3 { font-family: var(--display); font-size: 1.8rem; letter-spacing: -.025em; line-height: 1.15; overflow-wrap: anywhere; }
.home-seniors { background: var(--green-950); color: var(--white); padding: 4rem 0; }
.home-seniors-heading { align-items: center; display: flex; gap: 2rem; justify-content: space-between; }
.home-seniors h2 { font-family: var(--display); font-size: clamp(2.8rem,4.5vw,4.3rem); letter-spacing: -.03em; line-height: 1; margin: 0; }
.home-seniors-heading p { color: var(--green-200); margin: 1rem 0 0; }
.home-seniors-heading .button { flex-shrink: 0; }
.home-coach { align-items: baseline; border-top: 1px solid rgba(183,230,207,.3); display: flex; flex-wrap: wrap; gap: 1rem 3rem; margin-top: 2rem; padding-top: 1.5rem; }
.home-coach span { color: var(--green-200); font-size: .9rem; }
.home-coach strong { font-family: var(--display); font-size: 2rem; letter-spacing: -.025em; line-height: 1.2; }
.home-player-list { display: grid; column-gap: 2rem; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 2rem 0 0; padding: 0; }
.home-player { align-items: center; border-bottom: 1px solid rgba(183,230,207,.3); display: flex; gap: 1rem; justify-content: space-between; min-width: 0; padding: 1rem 0; }
.home-player-copy { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.home-player-name { font-family: var(--display); font-size: 1.5rem; letter-spacing: -.025em; line-height: 1.2; overflow-wrap: anywhere; }
.home-player-position { color: var(--green-200); font-size: .85rem; }
.home-player-number { color: var(--green-200); flex-shrink: 0; font-family: var(--display); font-size: 1.5rem; font-variant-numeric: tabular-nums; line-height: 1; }
@media (max-width:900px) { .home-player-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.home-club { background: var(--green-100); padding: 5rem 0; }
.home-club-intro { display: grid; gap: 3rem; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.home-club h2 { font-family: var(--display); font-size: clamp(3rem,5vw,4.5rem); letter-spacing: -.03em; line-height: 1; margin: 0; }
.home-club-intro p { color: var(--green-800); font-size: 1.05rem; margin: 0 0 1rem; }
.home-club-intro .home-founded { font-size: .9rem; font-weight: 800; margin: 1.5rem 0 0; }
.home-history { display: grid; gap: 2rem; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 3rem; }
.home-history article { border-top: 1px solid var(--green-800); min-width: 0; padding-top: 1.5rem; }
.home-history h3 { font-family: var(--display); font-size: 1.7rem; letter-spacing: -.025em; line-height: 1.15; margin: .8rem 0; overflow-wrap: anywhere; }
.home-history p { color: var(--green-800); font-size: .9rem; margin: .5rem 0; }
.home-history .history-period { font-size: 1.4rem; }
.home-partners { background: var(--white); padding: 4rem 0; }
.home-partners .section-heading h2 { max-width: 650px; }
.home-partners .partner-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.home-partners .partner-card { border-radius: 0; min-height: 180px; }
.home-partners .partner-card-logo img { height: auto; max-height: 110px; max-width: 100%; object-fit: contain; width: auto; }
.home-contact { background: var(--green-900); color: var(--white); padding: 4rem 0; }
.home-contact-inner { align-items: center; display: grid; gap: 3rem; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); }
.home-contact h2 { font-family: var(--display); font-size: clamp(2.8rem,5vw,4.5rem); letter-spacing: -.03em; line-height: 1; margin: 0; }
.home-contact p { color: var(--green-200); margin: 1.5rem 0; max-width: 45ch; }
.home-social { align-items: flex-start; display: flex; flex-direction: column; gap: .5rem; }
.home-social a { align-items: center; color: var(--green-200); display: inline-flex; font-size: 1.2rem; font-weight: 750; gap: 1rem; min-height: 48px; text-underline-offset: .3em; }
@media (max-width:900px) {
 .home-academy { padding: 4rem 0; }
 .home-academy-intro { gap: 2.5rem; grid-template-columns: 1fr; }
 .home-academy-photo { aspect-ratio: 16 / 10; }
 .home-group-grid { gap: 1rem; }
 .home-club-intro,.home-contact-inner { gap: 2rem; grid-template-columns: 1fr; }
 .home-partners .partner-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .home-history { gap: 1.2rem; }
}
@media (max-width:600px) {
 .home-page .section-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
 .home-academy,.home-club,.home-seniors,.home-partners,.home-contact,.home-page #aktualnosci { padding: 3rem 0; }
 .home-academy-copy h2 { font-size: 3.8rem; }
 .home-academy-copy > .home-academy-lede { font-size: 1.25rem; }
 .home-academy-photo { aspect-ratio: 4 / 3; }
 .home-group-grid,.home-history { grid-template-columns: 1fr; }
 .home-team-photo-grid { grid-template-columns: 1fr; }
 .home-group-grid { gap: 2rem; }
 .home-seniors-heading { align-items: flex-start; flex-direction: column; gap: 1.5rem; }
 .home-player-list { grid-template-columns: 1fr; }
 .home-page .match-card { padding: 1.5rem; }
 .home-page .match-card h3 { font-size: 1.7rem; }
 .home-history { gap: 1.8rem; }
 .home-coach { gap: .7rem; }
}
@media (prefers-reduced-motion:reduce) {
 .home-page .button { transition: none; }
 .home-page .button:hover,.home-page .button:focus-visible { transform: none; }
 html:has(.home-page) { scroll-behavior: auto; }
}
/* Final render corrections: upcoming kickoff hierarchy and compact cooperation. */
.home-match-date { align-items: baseline; display: flex; flex-wrap: wrap; gap: .6rem 1rem; margin: .8rem 0; }
.home-match-date strong { color: var(--green-950); font-family: var(--display); font-size: 4.5rem; letter-spacing: -.03em; line-height: 1; }
.home-match-date span { color: var(--green-800); font-size: .9rem; font-weight: 800; }
.home-partners { padding-top: 3rem; padding-bottom: 3rem; }
.home-partners .home-section-link { margin-top: 1rem; }
.home-partners a.partner-card { text-decoration: none; transition: border-color .2s ease-out; }
.home-partners a.partner-card:hover { border-color: var(--green-800); }
@media (prefers-reduced-motion:reduce) { .home-partners a.partner-card { transition: none; } }

/* Homepage empty states. */
.home-news-empty { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 1.8rem 0; }
.home-news-empty p { color: var(--green-800); font-size: 1.1rem; margin: 0; }
.home-roster-empty { align-items: center; border-top: 1px solid rgba(183,230,207,.3); display: flex; gap: 1.5rem; margin-top: 2rem; padding-top: 1.5rem; }
.home-roster-empty img { flex-shrink: 0; height: 90px; object-fit: contain; width: 90px; }
.home-roster-empty p { color: var(--green-200); margin: 0; max-width: 40ch; }

/* Academy family portrait: an editorial introduction above one generous photograph. */
.academy-family-hero { padding:0 0 3.5rem; background:var(--green-100); color:var(--green-950); }
.academy-family-hero::after { content:none; }
.academy-family-hero .academy-page-hero-inner { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:3rem; align-items:center; min-height:0; padding-top:3.5rem; padding-bottom:2.5rem; }
.academy-family-hero h1 { font-size:clamp(3rem,5vw,5.5rem); line-height:1.02; letter-spacing:-.035em; margin:0; text-wrap:balance; }
.academy-family-hero .academy-page-lede { color:var(--green-800); font-size:1.05rem; line-height:1.65; max-width:45ch; }
.academy-family-hero .academy-page-actions { gap:1rem 1.5rem; margin-top:1.5rem; }
.academy-family-hero .academy-action-secondary { color:var(--green-950); }
.academy-family-hero .academy-action-secondary:hover { color:var(--green-700); }
.academy-family-hero a:focus-visible { outline-color:var(--green-800); }
.academy-family-media { margin:0 auto; }
.academy-family-media img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:50% 58%; }
.home-academy-photo { aspect-ratio:3/2; }
.home-academy-photo img { object-fit:contain; object-position:center; }
@media(max-width:900px) {
 .academy-family-hero .academy-page-hero-inner { grid-template-columns:1fr; gap:1.5rem; padding-top:2.5rem; padding-bottom:2rem; }
 .academy-family-hero h1 { font-size:clamp(3rem,6.5vw,4.5rem); }
 .academy-family-hero .academy-page-hero-copy { max-width:620px; }
 .academy-family-hero .academy-page-actions { flex-direction:row; align-items:center; gap:.7rem 1.5rem; }
 .academy-family-hero .academy-action-primary { width:auto; }
 .academy-family-media img { aspect-ratio:3/2; object-fit:contain; }
}
@media(max-width:540px) {
 .academy-family-hero { padding-bottom:1.25rem; }
 .academy-family-hero .academy-page-hero-inner { padding-top:2rem; padding-bottom:1.5rem; gap:1.25rem; }
 .academy-family-hero h1 { font-size:clamp(2.7rem,10.5vw,3.3rem); }
 .academy-family-hero .academy-page-lede { font-size:1rem; }
 .academy-family-hero .academy-page-actions { gap:.3rem .9rem; margin-top:1rem; }
 .academy-family-media { padding-left:0; padding-right:0; width:100%; }
}
