/* ==========================================================================
   Elite 2026 — main stylesheet
   Tokens match the Elite brand sheet.
   ========================================================================== */

@font-face { font-family: "Inter"; src: url("../fonts/inter-500.woff") format("woff"); font-weight: 400 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-600.woff") format("woff"); font-weight: 600 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter Display"; src: url("../fonts/inter-display-700.woff") format("woff"); font-weight: 700; font-style: normal; font-display: swap; }

:root {
	--ground: #0a3a20;
	--ground-deep: #072b17;
	--glow: #0f4a2a;
	--surface: #0d4426;
	--accent: #7bb681;
	--accent-strong: #93c798;
	--chalk: #f7f9f4;
	--chalk-muted: rgba(247, 249, 244, 0.78);
	--chalk-faint: rgba(247, 249, 244, 0.1);
	--rule: rgba(123, 182, 129, 0.45);

	--font-display: "Inter Display", "Inter", system-ui, sans-serif;
	--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

	--wrap: 1180px;
	--wrap-narrow: 760px;
	--gutter: clamp(16px, 4vw, 40px);
	--radius: 16px;
	--radius-sm: 10px;
	--header-h: 76px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

body {
	margin: 0;
	background: var(--ground);
	color: var(--chalk);
	font-family: var(--font-sans);
	font-weight: 500;
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--accent-strong); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; border-radius: 4px; }

.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.wrap--narrow { max-width: calc(var(--wrap-narrow) + 2 * var(--gutter)); }

.screen-reader-text, .skip-link:not(:focus) {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link:focus { position: fixed; top: 12px; left: 12px; z-index: 100; background: var(--chalk); color: var(--ground); padding: 10px 16px; border-radius: var(--radius-sm); font-weight: 600; }

.elite-logo { display: block; }

/* Spaced-capital caption with hairlines */
.caps {
	display: inline-flex; align-items: center; gap: 18px;
	margin: 0 0 14px;
	font-size: 13px; font-weight: 500; letter-spacing: 0.32em; text-transform: uppercase;
	color: var(--accent);
}
.caps .rule { display: inline-block; width: 48px; height: 1px; background: var(--rule); }

/* ---------- Buttons ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 10px 20px;
	border-radius: 999px; border: 1.5px solid transparent;
	font: 600 15px/1.2 var(--font-sans); letter-spacing: 0.01em;
	text-decoration: none; cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.btn--lg { min-height: 52px; padding: 14px 28px; font-size: 16px; }
.btn--accent { background: var(--accent); color: var(--ground); }
.btn--accent:hover { background: var(--accent-strong); color: var(--ground); transform: translateY(-1px); }
.btn--ghost { border-color: rgba(247, 249, 244, 0.35); color: var(--chalk); }
.btn--ghost:hover { border-color: var(--chalk); color: var(--chalk); background: var(--chalk-faint); }

/* ---------- Header ---------- */
.site-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(10, 58, 32, 0.88);
	-webkit-backdrop-filter: saturate(140%) blur(12px);
	backdrop-filter: saturate(140%) blur(12px);
	border-bottom: 1px solid var(--chalk-faint);
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: var(--header-h); }
.site-header__brand { display: block; flex: none; }
.site-header__logo { width: 112px; }

.site-nav { display: flex; align-items: center; gap: 8px; }
.site-nav .menu { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.site-nav .menu > li { position: relative; display: flex; align-items: center; }
.site-nav .menu a {
	display: block; padding: 10px 12px; border-radius: var(--radius-sm);
	color: var(--chalk); text-decoration: none; font-size: 15px; font-weight: 500; white-space: nowrap;
}
.site-nav .menu a:hover, .site-nav .current-menu-item > a, .site-nav .current-menu-ancestor > a { color: var(--accent); }
.site-nav .current-menu-item > a { background: var(--chalk-faint); }

.submenu-toggle {
	width: 28px; height: 36px; margin-left: -8px; padding: 0;
	background: none; border: 0; color: var(--chalk-muted); cursor: pointer;
}
.submenu-toggle::before { content: ""; display: block; width: 7px; height: 7px; margin: 0 auto; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .15s ease; }
.submenu-toggle[aria-expanded="true"]::before { transform: translateY(1px) rotate(-135deg); }

.site-nav .sub-menu {
	position: absolute; top: calc(100% + 4px); left: 0; min-width: 200px;
	list-style: none; margin: 0; padding: 8px;
	background: var(--ground-deep); border: 1px solid var(--chalk-faint); border-radius: var(--radius);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
	opacity: 0; visibility: hidden; transform: translateY(-4px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.site-nav .menu > li:hover > .sub-menu,
.site-nav .menu > li:focus-within > .sub-menu,
.site-nav .menu > li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.site-nav .sub-menu a { padding: 9px 12px; }
.site-nav .sub-menu a:hover { background: var(--chalk-faint); }
.site-nav__cta { margin-left: 10px; }

.nav-toggle { display: none; }

@media (max-width: 1080px) {
	.nav-toggle {
		display: inline-flex; align-items: center; gap: 10px;
		min-height: 44px; padding: 8px 14px;
		background: none; border: 1.5px solid rgba(247, 249, 244, 0.3); border-radius: 999px;
		color: var(--chalk); font: 600 14px/1 var(--font-sans); cursor: pointer;
	}
	.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after { display: block; width: 16px; height: 1.5px; background: currentColor; position: relative; transition: transform .2s ease, background-color .2s ease; }
	.nav-toggle__bars::before, .nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
	.nav-toggle__bars::before { top: -5px; }
	.nav-toggle__bars::after { top: 5px; }
	.nav-toggle[aria-expanded="true"] .nav-toggle__bars { background: transparent; }
	.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before { transform: translateY(5px) rotate(45deg); }
	.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after { transform: translateY(-5px) rotate(-45deg); }

	.site-nav {
		position: absolute; top: 100%; left: 0; right: 0; z-index: 40;
		height: calc(100vh - var(--header-h)); height: calc(100dvh - var(--header-h));
		flex-direction: column; align-items: stretch; gap: 16px;
		padding: 16px var(--gutter) 32px; overflow-y: auto;
		background: var(--ground-deep);
		opacity: 0; visibility: hidden; transform: translateY(-8px);
		transition: opacity .2s ease, transform .2s ease, visibility .2s;
	}
	.admin-bar .site-nav { height: calc(100dvh - var(--header-h) - 46px); }
	.caps .rule { width: 24px; }
	.nav-open .site-nav { opacity: 1; visibility: visible; transform: none; }
	.nav-open { overflow: hidden; }
	.site-nav .menu { flex-direction: column; align-items: stretch; gap: 0; }
	.site-nav .menu > li { flex-wrap: wrap; border-bottom: 1px solid var(--chalk-faint); }
	.site-nav .menu > li > a { flex: 1; padding: 16px 4px; font-size: 18px; }
	.submenu-toggle { width: 48px; height: 48px; margin: 0; }
	.site-nav .sub-menu {
		position: static; flex-basis: 100%; min-width: 0; display: none;
		padding: 0 0 12px 12px; background: none; border: 0; box-shadow: none;
		opacity: 1; visibility: visible; transform: none;
	}
	.site-nav .menu > li.is-open > .sub-menu { display: block; }
	.site-nav .menu > li:hover > .sub-menu, .site-nav .menu > li:focus-within > .sub-menu { display: none; }
	.site-nav .menu > li.is-open:hover > .sub-menu, .site-nav .menu > li.is-open:focus-within > .sub-menu { display: block; }
	.site-nav .sub-menu a { color: var(--chalk-muted); font-size: 16px; }
	.site-nav__cta { margin: 8px 0 0; min-height: 52px; }
}

/* ---------- Hero (home + 404) ---------- */
.hero {
	position: relative; overflow: hidden; isolation: isolate;
	background: radial-gradient(ellipse 75% 70% at 50% 40%, var(--glow) 0%, var(--ground) 55%, var(--ground-deep) 100%);
	border-bottom: 1px solid var(--chalk-faint);
}
.hero__ghost { position: absolute; z-index: -1; right: -12%; top: -18%; width: min(900px, 90vw); opacity: 0.04; pointer-events: none; }
.hero__inner { display: flex; flex-direction: column; align-items: center; text-align: center; padding-top: clamp(64px, 10vw, 128px); padding-bottom: clamp(64px, 10vw, 120px); }
.hero__logo { width: min(520px, 78vw); margin-bottom: 28px; }
.hero__title {
	max-width: 15ch; margin: 8px 0 18px;
	font-family: var(--font-display); font-weight: 700; letter-spacing: -0.025em; line-height: 1.02;
	font-size: clamp(40px, 6.4vw, 76px); text-wrap: balance;
}
.hero__lede { max-width: 54ch; margin: 0 0 34px; color: var(--chalk-muted); font-size: clamp(17px, 1.8vw, 20px); text-wrap: pretty; }
.hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.hero--compact .hero__inner { min-height: 60vh; justify-content: center; }

/* ---------- Pillars ---------- */
.pillars { padding: clamp(56px, 8vw, 96px) 0; }
.pillars__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 3vw, 40px); }
.pillar { padding-top: 22px; border-top: 1px solid var(--rule); }
.pillar__num { display: block; margin-bottom: 18px; font: 600 13px/1 var(--font-sans); letter-spacing: 0.2em; color: var(--accent); }
.pillar__title { margin: 0 0 10px; font-family: var(--font-display); font-weight: 700; font-size: 30px; letter-spacing: -0.015em; line-height: 1.1; }
.pillar p { margin: 0; color: var(--chalk-muted); }
@media (max-width: 760px) { .pillars__grid { grid-template-columns: 1fr; } }

.home-content { padding: 0 0 clamp(56px, 8vw, 96px); }

/* ---------- CTA band ---------- */
.cta-band { padding: clamp(48px, 7vw, 80px) 0; background: var(--ground-deep); border-top: 1px solid var(--chalk-faint); }
.cta-band__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px; }
.cta-band__title { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(30px, 4vw, 46px); letter-spacing: -0.02em; line-height: 1.05; }
.cta-band__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Page hero ---------- */
.page-hero {
	position: relative; overflow: hidden; isolation: isolate;
	padding: clamp(48px, 8vw, 96px) 0 clamp(36px, 5vw, 56px);
	background: radial-gradient(ellipse 80% 120% at 20% 0%, var(--glow) 0%, var(--ground) 65%);
	border-bottom: 1px solid var(--chalk-faint);
}
.page-hero__ghost { position: absolute; z-index: -1; right: -4%; top: -40%; width: min(560px, 70vw); opacity: 0.045; pointer-events: none; }
.page-hero__title { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(40px, 6vw, 72px); letter-spacing: -0.025em; line-height: 1; }
.page-hero__meta { margin: 14px 0 0; color: var(--chalk-muted); }

.page-body { padding: clamp(40px, 6vw, 72px) 0 clamp(64px, 9vw, 112px); }

/* ---------- Content typography ---------- */
.entry > * { max-width: var(--wrap-narrow); }
.entry > .alignwide, .entry > table, .entry > .table-wrap, .entry > .wp-block-table, .entry > .clips-grid, .entry > .wp-block-gallery { max-width: none; }
.entry > :first-child { margin-top: 0; }
.entry p, .entry ul, .entry ol { margin: 0 0 1.15em; color: rgba(247, 249, 244, 0.88); }
.entry li { margin-bottom: 0.4em; }
.entry li::marker { color: var(--accent); }
.entry h2, .entry h3, .entry h4 { font-family: var(--font-display); font-weight: 700; letter-spacing: -0.015em; line-height: 1.15; color: var(--chalk); margin: 1.8em 0 0.55em; }
.entry h2 { font-size: clamp(28px, 3.4vw, 38px); }
.entry h3 { font-size: clamp(22px, 2.4vw, 27px); }
.entry h4 { font-size: 19px; }
.entry strong, .entry b { color: var(--chalk); font-weight: 600; }
.entry hr { border: 0; height: 1px; background: var(--rule); margin: 2.5em 0; }
.entry blockquote { margin: 1.8em 0; padding: 4px 0 4px 24px; border-left: 2px solid var(--accent); font-size: 1.15em; color: var(--chalk); }
.entry img { border-radius: var(--radius-sm); }
.entry figure { margin: 2em 0; }
.entry figcaption, .entry .wp-caption-text { margin-top: 10px; color: var(--chalk-muted); font-size: 14px; }
.entry .wp-block-button__link, .entry .button { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 24px; border-radius: 999px; background: var(--accent); color: var(--ground); font-weight: 600; text-decoration: none; }
.entry .wp-block-button__link:hover, .entry .button:hover { background: var(--accent-strong); color: var(--ground); }
.entry iframe { max-width: 100%; border: 0; border-radius: var(--radius-sm); }

/* Tables (roster etc.) */
.table-wrap { overflow-x: auto; margin: 0 0 2em; border: 1px solid var(--chalk-faint); border-radius: var(--radius); background: var(--ground-deep); -webkit-overflow-scrolling: touch; }
.entry table { width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.table-wrap table { margin: 0; }
.entry th, .entry td { padding: 13px 16px; text-align: left; border-bottom: 1px solid var(--chalk-faint); white-space: nowrap; }
.entry thead th, .entry tr:first-child th {
	position: sticky; top: 0;
	background: var(--surface); color: var(--accent);
	font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
}
.entry tbody tr:last-child td { border-bottom: 0; }
.entry tbody tr:hover td { background: rgba(247, 249, 244, 0.04); }
.entry td:first-child { color: var(--chalk); font-weight: 600; }
.entry .wp-block-table { margin: 0 0 2em; }
.entry .wp-block-table table { border: 0; }

th.is-sortable { cursor: pointer; user-select: none; }
th.is-sortable::after { content: "↕"; margin-left: 6px; opacity: 0.45; letter-spacing: 0; }
th.is-sortable[aria-sort="ascending"]::after { content: "↑"; opacity: 1; }
th.is-sortable[aria-sort="descending"]::after { content: "↓"; opacity: 1; }

/* Role badges added by main.js on the roster */
.role-badge { display: inline-flex; align-items: center; gap: 7px; padding: 4px 11px 4px 8px; border-radius: 999px; font-size: 13px; font-weight: 600; line-height: 1.3; }
.role-badge::before { content: "!"; display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; font: 700 12px/1 var(--font-display); }
.role-badge--director { background: var(--accent); color: var(--ground); }
.role-badge--director::before { background: var(--chalk); color: var(--ground); }
.role-badge--staff { background: var(--chalk); color: var(--ground); }
.role-badge--staff::before { background: var(--accent); color: var(--ground); }
.role-badge--member { background: transparent; color: var(--chalk); box-shadow: inset 0 0 0 1.5px var(--accent); }
.role-badge--member::before { background: var(--accent); color: var(--ground); }

.roster-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 24px; padding: 0; list-style: none; max-width: none !important; }
.roster-summary li { margin: 0; padding: 14px 20px; border: 1px solid var(--chalk-faint); border-radius: var(--radius); background: var(--ground-deep); color: var(--chalk-muted); font-size: 14px; }
.roster-summary strong { display: block; font: 700 30px/1.1 var(--font-display); color: var(--chalk); }

@media (max-width: 560px) { .roster-summary { grid-template-columns: repeat(2, 1fr); } }

/* Video (clips) */
.entry .wp-video, .entry video { width: 100% !important; border-radius: var(--radius-sm); overflow: hidden; }
.clips-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 20px; margin: 0 0 2em; }
.clips-grid > * { margin: 0 !important; max-width: none !important; }
.clips-grid .wp-video, .clips-grid video { aspect-ratio: 16 / 9; height: auto !important; background: #000; }
.page-clips .entry .wp-video { margin: 0; }

/* Downloads (Download Monitor and plain links) */
.entry a.download-link, .entry .dlm-download-link {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	margin: 0 0 12px; padding: 18px 22px;
	border: 1px solid var(--chalk-faint); border-radius: var(--radius); background: var(--ground-deep);
	color: var(--chalk); font-weight: 600; text-decoration: none;
	transition: border-color .15s ease, background-color .15s ease;
}
.entry a.download-link::after, .entry .dlm-download-link::after { content: "Download ↓"; flex: none; padding: 8px 16px; border-radius: 999px; background: var(--accent); color: var(--ground); font-size: 14px; }
.entry a.download-link:hover, .entry .dlm-download-link:hover { border-color: var(--accent); background: var(--surface); }

/* Posts list */
.post-list { display: grid; gap: 16px; }
.post-card { padding: 24px; border: 1px solid var(--chalk-faint); border-radius: var(--radius); background: var(--ground-deep); }
.post-card__date { margin: 0 0 6px; color: var(--accent); font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; }
.post-card__title { margin: 0 0 8px !important; font-size: 24px !important; }
.post-card__title a { color: var(--chalk); text-decoration: none; }

/* ---------- Footer ---------- */
.site-footer { background: var(--ground-deep); border-top: 1px solid var(--chalk-faint); }
.site-footer__inner { display: grid; grid-template-columns: minmax(240px, 1fr) 2fr; gap: 48px; padding-top: 64px; padding-bottom: 48px; }
.site-footer__mark { width: 64px; margin-bottom: 18px; }
.site-footer__tag { margin: 0 0 20px; color: var(--chalk-muted); }
.footer-menu { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 28px 24px; list-style: none; margin: 0; padding: 0; }
.footer-menu > li > a { display: inline-block; margin-bottom: 8px; color: var(--chalk); font-weight: 600; text-decoration: none; }
.footer-menu > li > a[href="#"] { pointer-events: none; color: var(--accent); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; }
.footer-menu .sub-menu { list-style: none; margin: 0; padding: 0; }
.footer-menu .sub-menu a { display: inline-block; padding: 4px 0; color: var(--chalk-muted); text-decoration: none; }
.footer-menu a:hover { color: var(--accent); }
.footer-menu .submenu-toggle { display: none; }
.site-footer__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 22px; padding-bottom: 28px; border-top: 1px solid var(--chalk-faint); color: var(--chalk-muted); font-size: 14px; }
.site-footer__base p { margin: 0; }
.back-to-top { color: var(--chalk-muted); text-decoration: none; }
@media (max-width: 760px) { .site-footer__inner { grid-template-columns: 1fr; gap: 36px; } }

/* ---------- WordPress core classes ---------- */
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.sticky, .bypostauthor, .gallery-caption { /* required by theme check */ }
.nav-links { display: flex; gap: 8px; margin-top: 32px; }
.page-numbers { display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--chalk-faint); color: var(--chalk); text-decoration: none; }
.page-numbers.current { background: var(--accent); color: var(--ground); border-color: var(--accent); }

/* ---------- Roster highlights and charts (built by main.js) ---------- */
.roster-stats { display: grid; gap: 16px; margin: 0 0 28px; max-width: none !important; }
.roster-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.roster-hl { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 16px 18px; border: 1px solid var(--chalk-faint); border-radius: var(--radius); background: var(--ground-deep); min-width: 0; }
.roster-hl__label { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); }
.roster-hl__value { font: 700 26px/1.15 var(--font-display); color: var(--chalk); letter-spacing: -0.01em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.roster-hl__sub { font-size: 13px; color: var(--chalk-muted); }

.roster-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 760px) { .roster-charts { grid-template-columns: minmax(0, 1fr); } }
.roster-chart { margin: 0 !important; padding: 18px; border: 1px solid var(--chalk-faint); border-radius: var(--radius); background: var(--ground-deep); min-width: 0; }
.roster-chart--years { grid-column: 1 / -1; }
.roster-chart__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; margin: 0 0 16px !important; }
.roster-chart__title { font-weight: 600; color: var(--chalk); font-size: 15px; }
.roster-chart__note { font-size: 13px; color: var(--chalk-muted); }

/* Columns: joined by year */
.roster-cols { display: flex; align-items: stretch; gap: 2px; height: 150px; padding-top: 22px; border-bottom: 1px solid var(--rule); }
.roster-cols__col { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; cursor: default; }
.roster-cols__bar { position: relative; display: block; width: 100%; max-width: 28px; margin: 0 auto; background: var(--accent); opacity: .55; border-radius: 4px 4px 0 0; transition: opacity .15s ease; }
.roster-cols__col.is-peak .roster-cols__bar, .roster-cols__col:hover .roster-cols__bar { opacity: 1; }
.roster-cols__val { position: absolute; left: 50%; bottom: calc(100% + 4px); transform: translateX(-50%); font-size: 12px; font-weight: 600; color: var(--chalk); font-variant-numeric: tabular-nums; }
.roster-cols__yr { position: absolute; top: calc(100% + 6px); left: 50%; transform: translateX(-50%); font-size: 11px; color: var(--chalk-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.roster-chart--years { padding-bottom: 34px; }

/* Horizontal bars: countries, regions */
.roster-hbars { display: grid; gap: 10px; margin: 0 !important; padding: 0; list-style: none; max-width: none !important; }
.roster-hbars li { display: grid; grid-template-columns: minmax(0, 9.5em) 1fr auto; align-items: center; gap: 12px; margin: 0; font-size: 14px; cursor: default; }
.roster-hbars__label { color: var(--chalk); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.roster-hbars__track { height: 10px; border-radius: 0 4px 4px 0; background: rgba(247, 249, 244, 0.06); overflow: hidden; }
.roster-hbars__fill { display: block; height: 100%; background: var(--accent); border-radius: 0 4px 4px 0; opacity: .85; }
.roster-hbars li:hover .roster-hbars__fill { opacity: 1; }
@media (max-width: 700px) { .roster-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); } .roster-hl__value { font-size: 22px; } }
.roster-hbars__n { min-width: 2ch; text-align: right; color: var(--chalk-muted); font-variant-numeric: tabular-nums; }

/* ---------- Live Discord count (home hero) ---------- */
.live-pill { display: inline-flex; align-items: center; gap: 10px; margin: -14px 0 26px; padding: 7px 16px 7px 12px; border-radius: 999px; background: rgba(123, 182, 129, 0.14); border: 1px solid rgba(123, 182, 129, 0.35); color: var(--chalk); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.live-pill__dot { position: relative; width: 9px; height: 9px; border-radius: 50%; background: var(--accent); flex: none; }
.live-pill__dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--accent); animation: live-pulse 2s ease-out infinite; }
@keyframes live-pulse { from { transform: scale(1); opacity: .7; } to { transform: scale(2.6); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .live-pill__dot::after { animation: none; } }
.live-pill[hidden] { display: none; }

/* ---------- Live on Discord panel (home) ---------- */
.discord-live { padding: clamp(48px, 7vw, 80px) 0; background: var(--ground-deep); border-top: 1px solid var(--chalk-faint); border-bottom: 1px solid var(--chalk-faint); }
.discord-live .wrap { display: grid; gap: 24px; justify-items: start; }
.discord-live__head { width: 100%; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 40px; }
.discord-live .caps .live-pill__dot { margin-right: -4px; }
.discord-live__title { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(28px, 3.6vw, 42px); letter-spacing: -0.02em; line-height: 1.05; text-wrap: balance; }
.discord-live__stats { display: flex; flex-wrap: wrap; gap: 12px; }
.discord-live__stat { min-width: 120px; padding: 14px 18px; border: 1px solid var(--chalk-faint); border-radius: var(--radius); background: var(--ground); }
.discord-live__stat strong { display: block; font: 700 30px/1.1 var(--font-display); color: var(--chalk); font-variant-numeric: tabular-nums; }
.discord-live__stat span { color: var(--chalk-muted); font-size: 14px; }
.discord-live__stat[hidden] { display: none; }
.discord-live__grid { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 760px) { .discord-live__grid { grid-template-columns: minmax(0, 1fr); } .discord-live__stat { min-width: 0; flex: 1 1 0; } }
.discord-live__card { padding: 20px 22px; border: 1px solid var(--chalk-faint); border-radius: var(--radius); background: var(--ground); min-width: 0; }
.discord-live__card h3 { margin: 0 0 12px; font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); }
.discord-live__list { list-style: none; margin: 0; padding: 0; display: grid; }
.discord-live__list li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--chalk-faint); }
.discord-live__list li:last-child { border-bottom: 0; }
.discord-live__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.discord-live__n { flex: none; min-width: 32px; padding: 2px 10px; border-radius: 999px; background: rgba(123, 182, 129, 0.16); color: var(--accent); font-size: 13px; font-weight: 600; text-align: center; font-variant-numeric: tabular-nums; }
.discord-live__list .discord-live__empty { color: var(--chalk-muted); font-weight: 500; border: 0; }
.discord-live + .home-content { padding-top: clamp(56px, 8vw, 96px); }
.discord-live__stat span { white-space: nowrap; }
@media (max-width: 760px) { .discord-live__stat { padding: 12px 14px; } .discord-live__stat strong { font-size: 24px; } }

/* ---------- [elite_people] role holders ---------- */
.entry > .people-list { max-width: none; }
.people-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: var(--wrap-narrow); gap: 10px; margin: 0 0 1.6em !important; padding: 0; list-style: none; }
.people-list li { margin: 0; }
.people-card { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; padding: 12px 14px; border: 1px solid var(--chalk-faint); border-radius: var(--radius); background: var(--ground-deep); }
.people-card__mark { grid-row: 1 / span 2; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; font: 700 17px/1 var(--font-display); }
.people-card__name { color: var(--chalk); font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.people-card__since { color: var(--chalk-muted); font-size: 13px; line-height: 1.3; }
.people-list--director .people-card__mark { background: var(--accent); color: var(--chalk); box-shadow: inset 0 0 0 2px var(--chalk); }
.people-list--staff .people-card__mark { background: var(--chalk); color: var(--ground); box-shadow: inset 0 0 0 2px var(--accent); }
.people-list--member .people-card__mark { background: var(--ground); color: var(--accent); box-shadow: inset 0 0 0 2px var(--accent); }
.people-empty { color: var(--chalk-muted); }
.role-intro { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 1.4em !important; padding: 0 !important; list-style: none; }

@media (max-width: 560px) { .people-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .people-card { padding: 10px 12px; column-gap: 10px; } .people-card__mark { width: 28px; height: 28px; font-size: 14px; } }

/* ---------- Roles page: role cards ---------- */
.entry > .role-cards, .entry > .role-steps { max-width: none; }
.entry .wp-block-columns.role-cards { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; margin: 2em 0 2.5em; }
@media (max-width: 900px) { .entry .wp-block-columns.role-cards { grid-template-columns: minmax(0, 1fr); } }
.entry .role-card { position: relative; display: flex; flex-direction: column; min-width: 0; margin: 0 !important; padding: 26px 24px 24px; border: 1px solid var(--chalk-faint); border-radius: 20px; background: var(--ground-deep); }
.entry .role-card::before { content: "!"; display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 18px; border-radius: 50%; font: 700 28px/1 var(--font-display); }
.entry .role-card--member::before { background: var(--ground); color: var(--accent); box-shadow: inset 0 0 0 3px var(--accent); }
.entry .role-card--staff::before { background: var(--chalk); color: var(--ground); box-shadow: inset 0 0 0 3px var(--accent); }
.entry .role-card--director::before { background: var(--accent); color: var(--chalk); box-shadow: inset 0 0 0 3px var(--chalk), 0 0 0 6px rgba(123, 182, 129, 0.18); }
.entry .role-card--director { border-color: rgba(123, 182, 129, 0.55); background: radial-gradient(ellipse 120% 80% at 50% 0%, rgba(123, 182, 129, 0.16), var(--ground-deep) 70%); }
.entry .role-card > * { max-width: none; }
.entry .role-card h2 { margin: 0 0 4px; font-size: 30px; }
.entry .role-card__tag { margin: 0 0 14px; color: var(--accent); font-size: 14px; font-weight: 600; }
.entry .role-card .role-count { margin: 0 0 16px; padding: 0 0 16px; border-bottom: 1px solid var(--chalk-faint); color: var(--chalk-muted); font-size: 14px; }
.entry .role-card .role-count strong { font: 700 34px/1 var(--font-display); color: var(--chalk); margin-right: 4px; font-variant-numeric: tabular-nums; }
.entry .role-card ul.wp-block-list { margin: 0 0 18px; padding-left: 18px; font-size: 15px; }
.entry .role-card li { margin-bottom: 0.3em; }
.entry .role-card h3 { margin: auto 0 10px; padding-top: 6px; font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); font-family: var(--font-sans); }
.entry .role-card .people-list { grid-template-columns: minmax(0, 1fr); gap: 6px; margin: 0 !important; }
.entry .role-card .people-card { padding: 8px 10px; border-radius: 12px; background: rgba(247, 249, 244, 0.03); }
.entry .role-card .people-card__mark { width: 26px; height: 26px; font-size: 13px; }
.entry .role-card .wp-block-buttons { margin: auto 0 0; }
.entry .role-card .wp-block-button__link { min-height: 40px; padding: 9px 18px; font-size: 14px; }
.role-ladder { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 6px !important; color: var(--chalk-muted); font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; }

/* How it works: numbered step track */
.entry ol.role-steps { counter-reset: step; list-style: none; padding: 0; margin: 1.2em 0 2em; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 900px) { .entry ol.role-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .entry ol.role-steps { grid-template-columns: minmax(0, 1fr); } }
.entry ol.role-steps > li { counter-increment: step; position: relative; margin: 0; padding: 54px 18px 18px; border: 1px solid var(--chalk-faint); border-radius: var(--radius); background: var(--ground-deep); font-size: 15px; color: var(--chalk-muted); min-width: 0; }
.entry ol.role-steps > li::before { content: counter(step, decimal-leading-zero); position: absolute; top: 16px; left: 18px; font: 700 22px/1 var(--font-display); color: var(--accent); letter-spacing: 0.02em; }
.entry ol.role-steps > li strong { display: block; margin-bottom: 4px; color: var(--chalk); font-size: 16px; }
.people-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 !important; padding: 0 !important; list-style: none; }
.people-chips li { margin: 0 !important; padding: 4px 10px; border-radius: 999px; border: 1px solid rgba(123, 182, 129, 0.35); background: rgba(123, 182, 129, 0.08); color: var(--chalk); font-size: 13px; font-weight: 600; line-height: 1.4; }
.people-chips li::marker { content: none; }

/* ---------- Player cards: [elite_people show="cards"] ---------- */
.entry > .players { max-width: none; }
.players { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 0 2.4em !important; padding: 0 !important; list-style: none; }
@media (max-width: 900px) { .players { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .players { grid-template-columns: minmax(0, 1fr); } }
.player { position: relative; margin: 0 !important; overflow: hidden; border: 1px solid var(--chalk-faint); border-radius: 20px; background: var(--ground-deep); min-width: 0; transition: transform .2s ease, border-color .2s ease; }
.player:hover { transform: translateY(-3px); border-color: rgba(123, 182, 129, 0.5); }
.player::marker { content: none; }
.player__top { position: relative; height: 92px; background: linear-gradient(135deg, rgba(123, 182, 129, 0.22), rgba(123, 182, 129, 0.04) 70%); border-bottom: 1px solid var(--chalk-faint); }
.player--director .player__top { background: radial-gradient(ellipse 90% 140% at 20% 0%, rgba(123, 182, 129, 0.55), rgba(15, 74, 42, 0.6) 60%, var(--ground-deep)); }
.player__top::after { content: "!"; position: absolute; right: 16px; bottom: -34px; font: 700 120px/1 var(--font-display); color: var(--chalk); opacity: .05; pointer-events: none; }
.player__avatar { position: absolute; left: 20px; bottom: -32px; display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; object-fit: cover; font: 700 30px/1 var(--font-display); z-index: 1; }
.player--director .player__avatar { background: var(--accent); color: var(--chalk); box-shadow: 0 0 0 4px var(--ground-deep), 0 0 0 7px var(--chalk); }
.player--staff .player__avatar { background: var(--chalk); color: var(--ground); box-shadow: 0 0 0 4px var(--ground-deep), 0 0 0 7px var(--accent); }
.player--member .player__avatar { background: var(--ground); color: var(--accent); box-shadow: 0 0 0 4px var(--ground-deep), 0 0 0 7px var(--accent); }
.player__role { position: absolute; top: 14px; right: 14px; padding: 4px 11px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; }
.player--director .player__role { background: var(--accent); color: var(--ground); }
.player--staff .player__role { background: var(--chalk); color: var(--ground); }
.player--member .player__role { color: var(--chalk); box-shadow: inset 0 0 0 1.5px var(--accent); }
.player__body { padding: 44px 20px 18px; }
.entry .player__name { margin: 0 !important; font-family: var(--font-display); font-size: 24px; letter-spacing: -0.01em; line-height: 1.1; overflow-wrap: anywhere; }
.entry .player__loc { margin: 4px 0 0 !important; color: var(--chalk-muted); font-size: 14px; }
.player__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid var(--chalk-faint); }
.player__stats div { min-width: 0; }
.player__stats dt { font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); }
.player__stats dd { margin: 2px 0 0; font: 700 16px/1.2 var(--font-display); color: var(--chalk); font-variant-numeric: tabular-nums; white-space: nowrap; }
.members-wall { max-width: none !important; }

/* Flags and compact member cards */
.entry .player__loc { display: flex; align-items: center; gap: 8px; }
.flag { display: inline-flex; flex: none; overflow: hidden; border-radius: 3px; box-shadow: 0 0 0 1px rgba(247, 249, 244, 0.18); line-height: 0; }
.flag svg { display: block; }
.players--compact { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 1100px) { .players--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .players--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.players--compact .player { border-radius: 16px; }
.players--compact .player__top { height: 54px; }
.players--compact .player__top::after { font-size: 80px; bottom: -24px; right: 10px; }
.players--compact .player__avatar { left: 14px; bottom: -22px; width: 46px; height: 46px; font-size: 20px; box-shadow: 0 0 0 3px var(--ground-deep), 0 0 0 5px var(--accent); }
.players--compact .player__role { display: none; }
.players--compact .player__body { padding: 30px 14px 14px; }
.entry .players--compact .player__name { font-size: 18px; }
.entry .players--compact .player__loc { font-size: 13px; gap: 6px; }
.players--compact .flag svg { width: 18px; height: 12px; }
.players--compact .player__stats { margin-top: 12px; padding-top: 10px; gap: 4px; }
.players--compact .player__stats dt { font-size: 9.5px; letter-spacing: 0.1em; }
.players--compact .player__stats dd { font-size: 14px; }
@media (max-width: 560px) {
	.players--compact .player__stats { grid-template-columns: minmax(0, 1fr); gap: 3px; }
	.players--compact .player__stats div { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }
	.players--compact .player__stats dd { margin: 0; font-size: 13px; }
}

/* ---------- Roster: everyone as cards, with search / sort / view switch ---------- */
.players--all.players--compact .player__role { display: inline-block; top: 10px; right: 10px; padding: 3px 8px; font-size: 9.5px; letter-spacing: 0.14em; }
.players--all .player--member .player__role { display: none; }
.roster-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 16px; max-width: none !important; }
.roster-tools__search { flex: 1 1 220px; min-width: 0; height: 42px; padding: 0 14px 0 38px; border: 1px solid rgba(247, 249, 244, 0.18); border-radius: 999px; background: var(--ground-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237bb681' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 14px center; color: var(--chalk); font: 500 15px var(--font-sans); }
.roster-tools__search::placeholder { color: var(--chalk-muted); }
.roster-tools__search:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(123, 182, 129, 0.25); }
.roster-tools__sort { height: 42px; padding: 0 34px 0 14px; border: 1px solid rgba(247, 249, 244, 0.18); border-radius: 999px; background: var(--ground-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f7f9f4' stroke-width='2.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center; color: var(--chalk); font: 600 14px var(--font-sans); appearance: none; -webkit-appearance: none; cursor: pointer; }
.roster-tools__sort:focus { outline: none; border-color: var(--accent); }
.roster-tools__view { display: inline-flex; padding: 3px; border: 1px solid rgba(247, 249, 244, 0.18); border-radius: 999px; background: var(--ground-deep); }
.roster-tools__view button { height: 34px; padding: 0 16px; border: 0; border-radius: 999px; background: none; color: var(--chalk-muted); font: 600 14px var(--font-sans); cursor: pointer; }
.roster-tools__view button[aria-pressed="true"] { background: var(--accent); color: var(--ground); }
.roster-tools__count { width: 100%; margin: 0; color: var(--chalk-muted); font-size: 13px; }
.roster-noresults { margin: 0 0 2em; padding: 24px; border: 1px dashed rgba(247, 249, 244, 0.2); border-radius: var(--radius); color: var(--chalk-muted); text-align: center; max-width: none !important; }
.player[hidden], .roster-noresults[hidden], .table-wrap[hidden], tr[hidden], .players[hidden] { display: none !important; }

/* ---------- Home: pillars mark, explore cards, closing band ---------- */
.pillar__mark { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 16px; border-radius: 50%; background: rgba(123, 182, 129, 0.14); box-shadow: inset 0 0 0 1.5px var(--accent); color: var(--accent); font: 700 17px/1 var(--font-display); }
.pillar__num { display: none; }
.explore { padding: clamp(56px, 8vw, 96px) 0; }
.explore__title { margin: 0 0 28px; font-family: var(--font-display); font-weight: 700; font-size: clamp(28px, 3.6vw, 42px); letter-spacing: -0.02em; line-height: 1.05; }
.explore__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
@media (max-width: 1000px) { .explore__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .explore__grid { grid-template-columns: minmax(0, 1fr); } }
.explore__grid li { margin: 0; min-width: 0; }
.explore-card { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 22px; border: 1px solid var(--chalk-faint); border-radius: 18px; background: var(--ground-deep); color: var(--chalk); text-decoration: none; transition: border-color .2s ease, transform .2s ease, background-color .2s ease; }
.explore-card:hover { color: var(--chalk); border-color: rgba(123, 182, 129, 0.55); background: var(--surface); transform: translateY(-3px); }
.explore-card__stat { color: var(--chalk-muted); font-size: 14px; }
.explore-card__stat strong { font: 700 40px/1 var(--font-display); color: var(--accent); letter-spacing: -0.02em; margin-right: 2px; font-variant-numeric: tabular-nums; }
.explore-card__title { margin-top: 6px; font: 700 20px/1.2 var(--font-display); }
.explore-card__title span { color: var(--accent); transition: transform .2s ease; display: inline-block; }
.explore-card:hover .explore-card__title span { transform: translateX(4px); }
.explore-card__text { color: var(--chalk-muted); font-size: 15px; line-height: 1.5; }
.discord-live + .explore { border-top: 0; }
.cta-band__text { margin: 10px 0 0; color: var(--chalk-muted); max-width: 46ch; }

/* ---------- Join Us: fit cards, checklists ---------- */
.entry > .fit-cards { max-width: none; }
.entry .wp-block-columns.fit-cards { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 1.6em 0 2.4em; }
@media (max-width: 760px) { .entry .wp-block-columns.fit-cards { grid-template-columns: minmax(0, 1fr); } }
.entry .fit-card { margin: 0 !important; padding: 24px; border: 1px solid var(--chalk-faint); border-radius: 18px; background: var(--ground-deep); min-width: 0; }
.entry .fit-card--yes { border-color: rgba(123, 182, 129, 0.5); background: radial-gradient(ellipse 120% 90% at 0% 0%, rgba(123, 182, 129, 0.14), var(--ground-deep) 65%); }
.entry .fit-card h3 { margin: 0 0 14px; font-size: 22px; }
.entry .fit-card > * { max-width: none; }
.entry ul.ticks, .entry ul.crosses { list-style: none; margin: 0 0 1.4em; padding: 0; display: grid; gap: 10px; }
.entry ul.ticks li, .entry ul.crosses li { position: relative; margin: 0; padding-left: 32px; }
.entry ul.ticks li::before, .entry ul.crosses li::before { position: absolute; left: 0; top: 2px; display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; font: 700 12px/1 var(--font-sans); }
.entry ul.ticks li::before { content: "✓"; background: var(--accent); color: var(--ground); }
.entry ul.crosses li::before { content: "✕"; background: rgba(247, 249, 244, 0.1); color: var(--chalk-muted); }
.entry .fit-card ul { margin-bottom: 0; }
.entry ul.ticks--cols { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; gap: 10px 24px; }
@media (max-width: 600px) { .entry ul.ticks--cols { grid-template-columns: minmax(0, 1fr); } }

/* Buttons groups in content: sit in a row; "outline" style = secondary */
.entry .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.entry .wp-block-buttons > .wp-block-button { margin: 0; }
.entry .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--chalk); box-shadow: inset 0 0 0 1.5px rgba(247, 249, 244, 0.35); }
.entry .wp-block-button.is-style-outline .wp-block-button__link:hover { box-shadow: inset 0 0 0 1.5px var(--chalk); background: var(--chalk-faint); color: var(--chalk); }

/* ---------- Forms (any plugin: WPForms, Contact Form 7, Forminator, Fluent Forms, Gravity, Jetpack…) ---------- */
.entry form { max-width: var(--wrap-narrow); }
.entry form :is(label, legend, .wpforms-field-label, .forminator-label, .ff-el-input--label label, .gfield_label) { display: block; margin: 0 0 6px; color: var(--chalk); font-size: 15px; font-weight: 600; line-height: 1.35; }
.entry form :is(.wpforms-field-sublabel, .wpforms-field-description, .forminator-description, .ff-el-help-message, .gfield_description, small) { color: var(--chalk-muted); font-size: 13px; font-weight: 500; }
.entry form :is(.wpforms-required-label, .forminator-required, .ff-el-is-required, .gfield_required) { color: var(--accent); }
.entry form :is(input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="number"], input[type="date"], input[type="search"], input[type="password"], select, textarea) {
	width: 100%; max-width: 100%; min-height: 46px; padding: 11px 14px;
	border: 1px solid rgba(247, 249, 244, 0.2); border-radius: 12px;
	background: var(--ground-deep); color: var(--chalk);
	font: 500 16px/1.4 var(--font-sans); box-shadow: none; color-scheme: dark;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.entry form textarea { min-height: 110px; resize: vertical; }
.entry form select { appearance: none; -webkit-appearance: none; padding-right: 40px; background: var(--ground-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f7f9f4' stroke-width='2.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center; }
.entry form ::placeholder { color: rgba(247, 249, 244, 0.45); }
.entry form :is(input, select, textarea):focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(123, 182, 129, 0.25); }
.entry form :is(input[type="checkbox"], input[type="radio"]) { width: 20px; height: 20px; margin: 0 10px 0 0; vertical-align: -4px; accent-color: var(--accent); }
.entry form :is(.wpforms-field, .wpcf7-form > p, .forminator-row, .ff-el-group, .gfield, .grunion-field-wrap) { margin: 0 0 20px; padding: 0; }
.entry form :is(.wpforms-field-checkbox li, .wpforms-field-radio li, .wpcf7-list-item, .forminator-checkbox, .forminator-radio, .ff-el-form-check, .gchoice) { margin: 0 0 8px; color: rgba(247, 249, 244, 0.88); font-weight: 500; }
.entry form :is(.wpforms-field-checkbox ul, .wpforms-field-radio ul) { list-style: none; padding: 0; margin: 0; }
.entry form :is(.wpforms-field-checkbox label, .wpforms-field-radio label, .wpcf7-list-item-label) { display: inline; font-weight: 500; }
.entry form :is(input[type="submit"], button[type="submit"], .wpforms-submit, .wpcf7-submit, .forminator-button-submit, .ff-btn-submit, .gform_button) {
	display: inline-flex; align-items: center; justify-content: center; width: auto; min-height: 52px; padding: 14px 30px;
	border: 0; border-radius: 999px; background: var(--accent); color: var(--ground);
	font: 600 16px/1.2 var(--font-sans); cursor: pointer; box-shadow: none; text-shadow: none;
	transition: background-color .15s ease, transform .15s ease;
}
.entry form :is(input[type="submit"], button[type="submit"], .wpforms-submit, .wpcf7-submit, .forminator-button-submit, .ff-btn-submit, .gform_button):hover { background: var(--accent-strong); transform: translateY(-1px); }
.entry form :is(.wpforms-error, .wpcf7-not-valid-tip, .forminator-error-message, .error.text-danger, .validation_message, label.error) { margin-top: 6px; color: #f2b8a2; font-size: 13px; font-weight: 600; background: none; border: 0; padding: 0; }
.entry form :is(input, select, textarea)[aria-invalid="true"] { border-color: #e08a6a; }
.entry :is(.wpforms-confirmation-container-full, .wpcf7-response-output, .forminator-response-message, .ff-message-success, .gform_confirmation_message) { margin: 20px 0; padding: 16px 18px; border: 1px solid rgba(123, 182, 129, 0.5); border-radius: 14px; background: rgba(123, 182, 129, 0.12); color: var(--chalk); }
.entry .wpforms-container { margin: 0 0 1.5em; }
.form-section-label { margin: 28px 0 14px !important; padding-top: 18px; border-top: 1px solid var(--chalk-faint); color: var(--accent); font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; }

/* Contact Form 7 specifics */
.entry .wpcf7-form .cf7-label { display: block; margin: 0 0 8px; color: var(--chalk); font-size: 15px; font-weight: 600; }
.entry .wpcf7-form .form-section-label { display: block; }
.entry .wpcf7-form .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.entry .wpcf7-form label small { display: block; margin-top: 6px; }
.entry .wpcf7-form .wpcf7-list-item { display: block; margin: 0 0 8px; }
.entry .wpcf7-form .wpcf7-list-item label { display: inline-flex; align-items: center; margin: 0; font-weight: 500; cursor: pointer; }
.entry .wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label a { color: var(--accent); }
.entry .wpcf7-form .wpcf7-spinner { background-color: var(--accent); }
.entry .wpcf7-form .cf7-label + br { display: none; }
.entry .wpcf7-form .cf7-label + br + .wpcf7-form-control-wrap, .entry .wpcf7-form .cf7-label + .wpcf7-form-control-wrap { margin-top: 0; }

/* ---------- Rules: rule cards and callout panel ---------- */
.entry > ul.rule-cards, .entry > .callout { max-width: none; }
.entry ul.rule-cards { list-style: none; padding: 0; margin: 1.2em 0 2.4em; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 900px) { .entry ul.rule-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .entry ul.rule-cards { grid-template-columns: minmax(0, 1fr); } }
.entry ul.rule-cards > li { position: relative; margin: 0; padding: 66px 20px 20px; border: 1px solid var(--chalk-faint); border-radius: 18px; background: var(--ground-deep); color: var(--chalk-muted); font-size: 15px; line-height: 1.55; min-width: 0; }
.entry ul.rule-cards > li::before { content: "!"; position: absolute; top: 18px; left: 20px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(123, 182, 129, 0.14); box-shadow: inset 0 0 0 1.5px var(--accent); color: var(--accent); font: 700 17px/1 var(--font-display); }
.entry ul.rule-cards > li strong { display: block; margin-bottom: 6px; color: var(--chalk); font: 700 20px/1.2 var(--font-display); letter-spacing: -0.01em; }
.entry .callout { margin: 1.2em 0 2.4em; padding: 24px 26px; border: 1px solid rgba(123, 182, 129, 0.5); border-radius: 18px; background: radial-gradient(ellipse 120% 100% at 0% 0%, rgba(123, 182, 129, 0.14), var(--ground-deep) 65%); }
.entry .callout > * { max-width: none; }
.entry .callout > :first-child { margin-top: 0; }
.entry .callout > :last-child { margin-bottom: 0; }
.entry .callout h2 { margin-top: 0; }
.entry .callout ul.ticks li strong { color: var(--chalk); }

/* ---------- Games page: live now, most played, timeline ---------- */
.entry > .games-now, .entry > .games-top, .entry > ol.timeline { max-width: none; }
.games-now { margin: 1.4em 0 2.4em; padding: 20px 22px; border: 1px solid rgba(123, 182, 129, 0.45); border-radius: 18px; background: radial-gradient(ellipse 120% 100% at 0% 0%, rgba(123, 182, 129, 0.12), var(--ground-deep) 65%); }
.games-now .caps { display: flex; gap: 10px; margin-bottom: 8px; }
.games-now .caps .live-pill__dot { margin: 0; }
.entry .games-now__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; margin: 0; padding: 0; }
@media (max-width: 600px) { .entry .games-now__list { grid-template-columns: minmax(0, 1fr); } }
.entry .games-now__list li::marker { content: none; }
.entry ol.games-top { list-style: none; margin: 1em 0 0.6em; padding: 0; display: grid; gap: 10px; }
.entry ol.games-top li { display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: center; gap: 14px; margin: 0; padding: 14px 18px; border: 1px solid var(--chalk-faint); border-radius: 16px; background: var(--ground-deep); }
.entry ol.games-top li.is-top { border-color: rgba(123, 182, 129, 0.55); background: radial-gradient(ellipse 100% 140% at 0% 50%, rgba(123, 182, 129, 0.16), var(--ground-deep) 60%); }
.games-top__rank { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(123, 182, 129, 0.14); color: var(--accent); font: 700 18px/1 var(--font-display); font-variant-numeric: tabular-nums; }
.is-top .games-top__rank { background: var(--accent); color: var(--ground); }
.games-top__body { display: grid; gap: 6px; min-width: 0; }
.games-top__name { color: var(--chalk); font: 700 18px/1.2 var(--font-display); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.games-top__bar { display: block; height: 8px; border-radius: 0 4px 4px 0; background: rgba(247, 249, 244, 0.06); overflow: hidden; }
.games-top__bar span { display: block; height: 100%; border-radius: 0 4px 4px 0; background: var(--accent); }
.games-top__meta { color: var(--chalk-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.games-note, .games-empty { color: var(--chalk-muted); font-size: 14px; }
.games-empty { padding: 20px; border: 1px dashed rgba(247, 249, 244, 0.2); border-radius: 16px; max-width: none !important; }
/* Timeline */
.entry ol.timeline { list-style: none; position: relative; margin: 1.2em 0 2.4em; padding: 0 0 0 28px; display: grid; gap: 18px; }
.entry ol.timeline::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(var(--accent), rgba(123, 182, 129, 0.15)); border-radius: 2px; }
.entry ol.timeline > li { position: relative; margin: 0; color: var(--chalk-muted); }
.entry ol.timeline > li::before { content: ""; position: absolute; left: -27px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: var(--ground); box-shadow: inset 0 0 0 3px var(--accent); }
.entry ol.timeline > li strong { display: inline-block; min-width: 3.2em; margin-right: 8px; color: var(--accent); font: 700 17px/1.3 var(--font-display); font-variant-numeric: tabular-nums; }
.entry ol.timeline > li em { font-style: normal; color: var(--chalk); font-weight: 600; }
.server-embed { margin: 1em 0 2em; max-width: 100%; overflow-x: auto; }
.server-embed iframe { display: block; border: 0; border-radius: 12px; max-width: 100%; }

/* ---------- Streamers: always-visible streamer cards ---------- */
.entry > ul.streamer-cards { max-width: none; }
.entry ul.streamer-cards { list-style: none; margin: 1.2em 0 2.4em; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 900px) { .entry ul.streamer-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .entry ul.streamer-cards { grid-template-columns: minmax(0, 1fr); } }
.entry ul.streamer-cards > li { position: relative; display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 74px 20px 20px; border: 1px solid var(--chalk-faint); border-radius: 18px; background: linear-gradient(160deg, rgba(123, 182, 129, 0.16), var(--ground-deep) 45%); color: var(--chalk-muted); font-size: 15px; min-width: 0; }
.entry ul.streamer-cards > li::before { content: ""; position: absolute; top: 18px; left: 20px; width: 42px; height: 42px; border-radius: 12px; background: var(--chalk) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230a3a20' d='M4.3 3 3 6.4v13.1h4.5V22h2.6l2.4-2.5h3.6l4.9-4.9V3H4.3zm14.9 10.7-2.8 2.8h-4.5L9.5 19v-2.5H5.8V4.8h13.4v8.9zM16.4 7.8h-1.7v5h1.7v-5zm-4.6 0h-1.7v5h1.7v-5z'/%3E%3C/svg%3E") no-repeat center / 24px; }
.entry ul.streamer-cards > li strong { color: var(--chalk); font: 700 22px/1.15 var(--font-display); overflow-wrap: anywhere; }
.entry ul.streamer-cards > li a { align-self: flex-start; margin-top: auto; padding: 9px 16px; border-radius: 999px; background: var(--accent); color: var(--ground); font-size: 14px; font-weight: 600; text-decoration: none; }
.entry ul.streamer-cards > li a:hover { background: var(--accent-strong); color: var(--ground); }
.entry ul.streamer-cards > li .streamer-cards__gap { height: 8px; }
