/*
Theme Name:  Rangers Titans Spitfire FC
Theme URI:   https://www.asrangersfc.com
Author:      Rangers Titans Spitfire FC
Author URI:  https://www.asrangersfc.com
Description: Official premium WordPress theme for Rangers Titans Spitfire Football Club — Bujumbura, Burundi. Deep black, crimson red and gold palette with cinematic animations, fully responsive.
Version:     1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rtsfc
Tags: football, sports, dark, responsive, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ═══════════════════════════════════════════════════════════
   RANGERS TITANS SPITFIRE FC — MASTER STYLESHEET
   Deep Black · Crimson Red · Gold
═══════════════════════════════════════════════════════════ */

/* ── CSS CUSTOM PROPERTIES ── */
:root {
	--black:         #050505;
	--deep-black:    #080808;
	--grey-dark:     #111111;
	--grey:          #181818;
	--grey-mid:      #222222;
	--grey-light:    #333333;
	--crimson:       #9b1b2a;
	--crimson-b:     #c0192c;
	--crimson-dark:  #5a0d18;
	--crimson-xdark: #3a0810;
	--gold:          #c9a227;
	--gold-light:    #e8c250;
	--gold-pale:     #f5e4a8;
	--white:         #f5f2eb;
	--white-dim:     rgba(245,242,235,0.75);
	--white-muted:   rgba(245,242,235,0.45);
	--muted:         #666666;
	--muted-2:       #444444;
	--nav-h:         68px;
	--radius:        0px;
	--transition:    0.25s ease;
	--font-display:  'Oswald', sans-serif;
	--font-condensed:'Barlow Condensed', sans-serif;
	--font-body:     'Barlow', sans-serif;
}

/* ── RESET & BASE ── */
*, *::before, *::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	font-size: 16px;
}

body {
	background: var(--black);
	color: var(--white);
	font-family: var(--font-body);
	font-weight: 400;
	line-height: 1.6;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--gold);
	text-decoration: none;
	transition: color var(--transition);
}

a:hover { color: var(--gold-light); }

ul, ol { list-style: none; }

/* ── SCROLLBAR ── */
::-webkit-scrollbar            { width: 5px; }
::-webkit-scrollbar-track      { background: var(--black); }
::-webkit-scrollbar-thumb      { background: var(--crimson); border-radius: 0; }
::-webkit-scrollbar-thumb:hover{ background: var(--crimson-b); }

/* ── TYPOGRAPHY ── */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1;
	letter-spacing: 0.02em;
}

p { margin-bottom: 1rem; }
p:last-child { margin-bottom: 0; }

/* ── UTILITY CLASSES ── */
.container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 2rem;
}

.container--narrow { max-width: 860px; }
.container--wide   { max-width: 1440px; }

.section-pad      { padding: 6rem 0; }
.section-pad--sm  { padding: 4rem 0; }
.section-pad--lg  { padding: 8rem 0; }

.text-center { text-align: center; }
.text-gold   { color: var(--gold); }
.text-crimson{ color: var(--crimson-b); }
.text-muted  { color: var(--muted); }

.section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	font-family: var(--font-condensed);
	font-size: 0.68rem;
	letter-spacing: 0.5em;
	color: var(--gold);
	text-transform: uppercase;
	margin-bottom: 0.6rem;
}

.section-kicker::before {
	content: '';
	width: 28px;
	height: 1px;
	background: var(--gold);
}

.section-title {
	font-family: var(--font-display);
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-weight: 700;
	text-transform: uppercase;
	line-height: 0.95;
	margin-bottom: 1rem;
}

.section-title em {
	font-style: normal;
	color: var(--crimson-b);
}

.gold-bar {
	width: 50px;
	height: 2px;
	background: var(--gold);
	margin: 1.2rem 0;
}

/* ── BUTTONS ── */
.btn {
	display: inline-block;
	font-family: var(--font-display);
	font-size: 0.8rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 0.9rem 2.2rem;
	border: none;
	cursor: pointer;
	clip-path: polygon(10px 0%, 100% 0%, calc(100% - 10px) 100%, 0% 100%);
	transition: all var(--transition);
	text-decoration: none;
	line-height: 1;
}

.btn--primary {
	background: var(--crimson);
	color: var(--white);
	border: 1px solid var(--crimson-b);
	box-shadow: 0 4px 20px rgba(155,27,42,0.3);
}

.btn--primary:hover {
	background: var(--crimson-b);
	color: var(--white);
	transform: translateY(-2px);
	box-shadow: 0 8px 30px rgba(155,27,42,0.5);
}

.btn--outline {
	background: transparent;
	color: var(--gold);
	border: 1px solid rgba(201,162,39,0.4);
}

.btn--outline:hover {
	background: rgba(201,162,39,0.08);
	border-color: var(--gold);
	color: var(--gold);
	transform: translateY(-2px);
}

.btn--gold {
	background: var(--gold);
	color: var(--black);
	border: 1px solid var(--gold-light);
}

.btn--gold:hover {
	background: var(--gold-light);
	color: var(--black);
	transform: translateY(-2px);
}

/* ── BADGES ── */
.badge {
	display: inline-block;
	font-family: var(--font-display);
	font-size: 0.58rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 3px 10px;
	border: 1px solid;
}

.badge--crimson { color: var(--crimson-b); border-color: rgba(192,25,44,0.3); background: rgba(155,27,42,0.08); }
.badge--gold    { color: var(--gold);      border-color: rgba(201,162,39,0.3); background: rgba(201,162,39,0.06); }
.badge--grey    { color: var(--muted);     border-color: rgba(255,255,255,0.1);}

/* ── DIVIDERS ── */
hr.gold-rule {
	border: none;
	height: 1px;
	background: linear-gradient(to right, transparent, rgba(201,162,39,0.3), transparent);
	margin: 3rem 0;
}

/* ── PROGRESS BAR ── */
#rtsfc-progress {
	position: fixed;
	top: 0; left: 0;
	height: 2px;
	background: linear-gradient(to right, var(--crimson), var(--gold));
	z-index: 9999;
	width: 0%;
	transition: width 0.08s linear;
	box-shadow: 0 0 8px rgba(201,162,39,0.4);
}

/* ═══════════════════════════════════════════════════════════
   NAVIGATION
═══════════════════════════════════════════════════════════ */
#site-header {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 1000;
	height: var(--nav-h);
	background: rgba(5,5,5,0.97);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(201,162,39,0.12);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 2rem;
	transition: box-shadow var(--transition);
}

#site-header.scrolled {
	box-shadow: 0 4px 40px rgba(0,0,0,0.8);
}

/* Logo */
.site-logo {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	flex-shrink: 0;
}

.site-logo img {
	width: 42px;
	height: 42px;
	object-fit: contain;
	filter: drop-shadow(0 0 8px rgba(201,162,39,0.35));
	transition: filter var(--transition);
}

.site-logo:hover img {
	filter: drop-shadow(0 0 14px rgba(201,162,39,0.6));
}

.logo-text {
	display: flex;
	flex-direction: column;
	line-height: 1;
}

.logo-text__name {
	font-family: var(--font-display);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--white);
}

.logo-text__sub {
	font-family: var(--font-condensed);
	font-size: 0.58rem;
	color: var(--gold);
	letter-spacing: 0.3em;
	text-transform: uppercase;
	margin-top: 3px;
}

/* Primary Nav */
#primary-navigation {
	display: flex;
	align-items: center;
	gap: 0;
}

#primary-navigation ul {
	display: flex;
	align-items: center;
	gap: 0;
	list-style: none;
}

#primary-navigation ul li { position: relative; }

#primary-navigation ul li a {
	display: block;
	font-family: var(--font-display);
	font-size: 0.76rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(245,242,235,0.75);
	text-decoration: none;
	padding: 0.5rem 0.95rem;
	transition: color var(--transition);
	position: relative;
	white-space: nowrap;
}

#primary-navigation ul li a::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0.95rem;
	right: 0.95rem;
	height: 2px;
	background: var(--gold);
	transform: scaleX(0);
	transition: transform var(--transition);
}

#primary-navigation ul li a:hover,
#primary-navigation ul li.current-menu-item > a,
#primary-navigation ul li.current-page-ancestor > a {
	color: var(--gold);
}

#primary-navigation ul li a:hover::after,
#primary-navigation ul li.current-menu-item > a::after {
	transform: scaleX(1);
}

/* Dropdown */
#primary-navigation ul li ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background: rgba(8,8,8,0.98);
	border: 1px solid rgba(201,162,39,0.12);
	border-top: 2px solid var(--crimson);
	flex-direction: column;
	gap: 0;
	box-shadow: 0 10px 40px rgba(0,0,0,0.6);
}

#primary-navigation ul li:hover > ul { display: flex; }

#primary-navigation ul li ul li a {
	font-size: 0.72rem;
	padding: 0.65rem 1.2rem;
	border-bottom: 1px solid rgba(255,255,255,0.04);
	color: var(--white-dim);
}

#primary-navigation ul li ul li a::after { display: none; }
#primary-navigation ul li ul li a:hover { background: rgba(201,162,39,0.06); color: var(--gold); }

/* Nav CTA Button */
.nav-cta {
	background: var(--crimson) !important;
	color: var(--white) !important;
	padding: 0.45rem 1.3rem !important;
	border: 1px solid var(--crimson-b);
	margin-left: 0.5rem;
	clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%);
	letter-spacing: 0.15em !important;
}

.nav-cta::after { display: none !important; }
.nav-cta:hover  { background: var(--crimson-b) !important; }

/* Hamburger */
#nav-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
	z-index: 1001;
}

#nav-toggle span {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--white);
	transition: all 0.3s;
}

#nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#nav-toggle.open span:nth-child(2) { opacity: 0; }
#nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile menu */
#mobile-menu {
	display: none;
	position: fixed;
	top: var(--nav-h);
	left: 0; right: 0;
	background: rgba(5,5,5,0.99);
	border-bottom: 1px solid rgba(201,162,39,0.12);
	z-index: 999;
	max-height: calc(100vh - var(--nav-h));
	overflow-y: auto;
}

#mobile-menu.open { display: block; }

#mobile-menu ul { list-style: none; padding: 1rem 0; }

#mobile-menu ul li a {
	display: block;
	font-family: var(--font-display);
	font-size: 0.9rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--white-dim);
	padding: 0.9rem 2rem;
	border-bottom: 1px solid rgba(255,255,255,0.04);
	text-decoration: none;
	transition: color var(--transition), background var(--transition);
}

#mobile-menu ul li a:hover {
	color: var(--gold);
	background: rgba(201,162,39,0.04);
}

#mobile-menu ul li ul { padding: 0; }
#mobile-menu ul li ul li a {
	padding-left: 3rem;
	font-size: 0.78rem;
	color: var(--muted);
}

/* ═══════════════════════════════════════════════════════════
   HERO / BANNER
═══════════════════════════════════════════════════════════ */
.hero {
	min-height: 100vh;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
	background: var(--deep-black);
}

.hero__bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 80% 60% at 50% 100%, rgba(155,27,42,0.25) 0%, transparent 70%),
		radial-gradient(ellipse 40% 40% at 20% 40%, rgba(155,27,42,0.06) 0%, transparent 60%),
		linear-gradient(180deg, #060606 0%, #0e0e0e 50%, #060606 100%);
}

.hero__lines {
	position: absolute;
	inset: 0;
	opacity: 0.045;
	background: repeating-linear-gradient(
		-45deg,
		transparent 0px, transparent 40px,
		rgba(201,162,39,0.6) 40px, rgba(201,162,39,0.6) 41px
	);
	animation: heroLines 35s linear infinite;
}

@keyframes heroLines {
	from { transform: translateX(0); }
	to   { transform: translateX(58px); }
}

.hero__glow {
	position: absolute;
	bottom: -60px;
	left: 50%;
	transform: translateX(-50%);
	width: 800px;
	height: 400px;
	background: radial-gradient(ellipse, rgba(155,27,42,0.35) 0%, transparent 70%);
	filter: blur(50px);
	pointer-events: none;
}

.hero__content {
	position: relative;
	z-index: 2;
	padding: 0 2rem;
	padding-top: var(--nav-h);
	max-width: 960px;
}

.hero__crest {
	width: 180px;
	height: 180px;
	object-fit: contain;
	margin: 0 auto 2rem;
	filter: drop-shadow(0 0 50px rgba(201,162,39,0.55)) drop-shadow(0 0 100px rgba(155,27,42,0.3));
	animation: crestFloat 4s ease-in-out infinite;
}

@keyframes crestFloat {
	0%, 100% { transform: translateY(0); }
	50%       { transform: translateY(-10px); }
}

.hero__kicker {
	font-family: var(--font-condensed);
	font-size: 0.7rem;
	letter-spacing: 0.5em;
	color: var(--gold);
	text-transform: uppercase;
	margin-bottom: 1rem;
	opacity: 0;
	animation: fadeUp 0.8s ease 0.3s forwards;
}

.hero__title {
	font-family: var(--font-display);
	font-size: clamp(3.5rem, 9vw, 7rem);
	font-weight: 700;
	line-height: 0.88;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	margin-bottom: 1.5rem;
	opacity: 0;
	animation: fadeUp 0.8s ease 0.5s forwards;
}

.hero__title .line-1 { display: block; color: var(--crimson-b); }
.hero__title .line-2 { display: block; color: var(--white); }
.hero__title .line-3 { display: block; color: var(--gold); }

.hero__tagline {
	font-family: var(--font-condensed);
	font-size: 1rem;
	letter-spacing: 0.35em;
	color: var(--white-muted);
	text-transform: uppercase;
	margin-bottom: 0.6rem;
	opacity: 0;
	animation: fadeUp 0.8s ease 0.65s forwards;
}

.hero__tagline span { color: var(--gold); }

.hero__location {
	font-size: 0.82rem;
	color: rgba(245,242,235,0.35);
	letter-spacing: 0.1em;
	margin-bottom: 2.5rem;
	opacity: 0;
	animation: fadeUp 0.8s ease 0.75s forwards;
}

.hero__location em { color: rgba(201,162,39,0.6); font-style: normal; }

.hero__buttons {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
	opacity: 0;
	animation: fadeUp 0.8s ease 0.9s forwards;
}

.hero__scroll {
	position: absolute;
	bottom: 2rem;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	color: rgba(245,242,235,0.2);
	font-family: var(--font-condensed);
	font-size: 0.6rem;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	animation: scrollBounce 2.2s ease-in-out infinite;
	opacity: 0;
	animation: fadeIn 1s ease 1.5s forwards, scrollBounce 2.2s ease-in-out 2.5s infinite;
}

.hero__scroll::after {
	content: '';
	width: 1px;
	height: 35px;
	background: linear-gradient(to bottom, rgba(201,162,39,0.6), transparent);
}

@keyframes scrollBounce {
	0%, 100% { transform: translateX(-50%) translateY(0); }
	50%       { transform: translateX(-50%) translateY(6px); }
}

@keyframes fadeUp  { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeIn  { from { opacity:0; } to { opacity:1; } }
@keyframes fadeLeft{ from { opacity:0; transform:translateX(-24px);} to { opacity:1; transform:translateX(0);  } }
@keyframes fadeRight{from { opacity:0; transform:translateX(24px); } to { opacity:1; transform:translateX(0);  } }

/* ═══════════════════════════════════════════════════════════
   NEWS TICKER
═══════════════════════════════════════════════════════════ */
.ticker-bar {
	background: var(--crimson-dark);
	border-top: 1px solid rgba(192,25,44,0.3);
	border-bottom: 1px solid rgba(192,25,44,0.3);
	padding: 0.65rem 0;
	overflow: hidden;
}

.ticker-track {
	display: flex;
	gap: 4rem;
	animation: ticker 35s linear infinite;
	width: max-content;
}

.ticker-track span {
	font-family: var(--font-display);
	font-size: 0.76rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgba(245,242,235,0.85);
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.ticker-track span::before { content: '◆'; color: var(--gold); font-size: 0.45rem; }

@keyframes ticker {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* ═══════════════════════════════════════════════════════════
   NEWS / POSTS GRID
═══════════════════════════════════════════════════════════ */
.news-section {
	background: var(--grey-dark);
	border-top: 1px solid rgba(255,255,255,0.03);
	border-bottom: 1px solid rgba(255,255,255,0.03);
}

.news-grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr;
	gap: 2px;
	background: rgba(255,255,255,0.025);
	margin-top: 2.5rem;
}

.news-card {
	background: var(--black);
	position: relative;
	overflow: hidden;
	cursor: pointer;
	text-decoration: none;
	color: inherit;
	display: block;
	transition: transform 0.3s;
}

.news-card:hover { transform: scale(1.005); z-index: 2; }

.news-card__thumb {
	overflow: hidden;
	position: relative;
}

.news-card__thumb img {
	width: 100%;
	aspect-ratio: 16/9;
	object-fit: cover;
	filter: saturate(0.6) brightness(0.65);
	transition: filter 0.5s, transform 0.5s;
}

.news-card:hover .news-card__thumb img {
	filter: saturate(0.9) brightness(0.8);
	transform: scale(1.05);
}

.news-card__thumb::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(5,5,5,0.6) 0%, transparent 60%);
	pointer-events: none;
}

.news-card__body { padding: 1.4rem 1.6rem 1.8rem; }
.news-card--featured .news-card__body { padding: 1.75rem 2rem 2rem; }

.news-card__cat {
	font-family: var(--font-display);
	font-size: 0.6rem;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--crimson-b);
	margin-bottom: 0.5rem;
}

.news-card__title {
	font-family: var(--font-condensed);
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--white);
	margin-bottom: 0.6rem;
	transition: color var(--transition);
}

.news-card--featured .news-card__title { font-size: 1.55rem; }
.news-card:hover .news-card__title { color: var(--gold-light); }

.news-card__excerpt {
	font-size: 0.82rem;
	color: var(--white-muted);
	line-height: 1.65;
	margin-bottom: 0.75rem;
}

.news-card__meta {
	font-size: 0.72rem;
	color: var(--muted);
	letter-spacing: 0.04em;
}

.news-card__bg-num {
	position: absolute;
	bottom: -1rem;
	right: -0.5rem;
	font-family: var(--font-display);
	font-size: 6rem;
	font-weight: 700;
	color: rgba(255,255,255,0.02);
	line-height: 1;
	pointer-events: none;
	user-select: none;
	transition: color 0.3s;
}

.news-card:hover .news-card__bg-num { color: rgba(201,162,39,0.04); }

.news-side { display: flex; flex-direction: column; gap: 2px; }
.news-side .news-card__thumb img { aspect-ratio: 16/7; }

/* ═══════════════════════════════════════════════════════════
   STAT COUNTER STRIP
═══════════════════════════════════════════════════════════ */
.stats-strip {
	background: linear-gradient(180deg, var(--deep-black) 0%, rgba(155,27,42,0.06) 50%, var(--deep-black) 100%);
	border-top: 1px solid rgba(155,27,42,0.18);
	border-bottom: 1px solid rgba(155,27,42,0.18);
}

.stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.04);
	margin-top: 3rem;
}

.stat-box {
	background: var(--black);
	padding: 2.5rem 1.5rem;
	text-align: center;
	position: relative;
	overflow: hidden;
	transition: background var(--transition);
}

.stat-box::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 2px;
	background: linear-gradient(to right, transparent, var(--gold), transparent);
	opacity: 0;
	transition: opacity var(--transition);
}

.stat-box:hover { background: rgba(201,162,39,0.04); }
.stat-box:hover::before { opacity: 1; }

.stat-box__number {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(2.5rem, 5vw, 3.8rem);
	font-weight: 700;
	color: var(--gold);
	line-height: 1;
	margin-bottom: 0.4rem;
}

.stat-box__label {
	font-family: var(--font-condensed);
	font-size: 0.7rem;
	letter-spacing: 0.28em;
	color: var(--muted);
	text-transform: uppercase;
}

/* ═══════════════════════════════════════════════════════════
   ABOUT SECTION
═══════════════════════════════════════════════════════════ */
.about-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5rem;
	align-items: center;
}

.about-text p {
	font-size: 0.92rem;
	line-height: 1.8;
	color: var(--white-dim);
	margin-bottom: 1.2rem;
}

.about-text strong { color: var(--white); font-weight: 500; }

.name-blocks { display: grid; gap: 1rem; margin-top: 2rem; }

.name-block {
	border-left: 3px solid var(--crimson);
	padding: 0.8rem 1.2rem;
	background: rgba(155,27,42,0.05);
	transition: background var(--transition), border-color var(--transition);
}

.name-block:hover { background: rgba(155,27,42,0.1); border-color: var(--crimson-b); }

.name-block h4 {
	font-family: var(--font-display);
	font-size: 0.9rem;
	letter-spacing: 0.15em;
	color: var(--gold);
	margin-bottom: 0.3rem;
	font-weight: 600;
}

.name-block p {
	font-size: 0.8rem;
	color: var(--white-muted);
	line-height: 1.6;
	margin: 0;
}

.about-crest {
	text-align: center;
}

.about-crest img {
	width: 300px;
	margin: 0 auto;
	filter: drop-shadow(0 0 60px rgba(201,162,39,0.4)) drop-shadow(0 0 120px rgba(155,27,42,0.25));
	animation: crestFloat 5s ease-in-out infinite;
}

.colours-row {
	display: flex;
	gap: 1.2rem;
	justify-content: center;
	margin-top: 1.5rem;
	flex-wrap: wrap;
}

.colour-chip {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-condensed);
	font-size: 0.72rem;
	letter-spacing: 0.15em;
	color: var(--white-muted);
	text-transform: uppercase;
}

.colour-swatch {
	width: 14px;
	height: 14px;
	border-radius: 50%;
}

/* ═══════════════════════════════════════════════════════════
   HISTORY TIMELINE
═══════════════════════════════════════════════════════════ */
.history-section {
	background: var(--grey-dark);
	border-top: 1px solid rgba(255,255,255,0.03);
	border-bottom: 1px solid rgba(255,255,255,0.03);
}

.timeline {
	position: relative;
	margin-top: 3rem;
	padding-left: 2rem;
}

.timeline::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 2px;
	background: linear-gradient(to bottom, transparent, var(--crimson) 10%, var(--gold) 50%, var(--crimson) 90%, transparent);
}

.tl-item {
	position: relative;
	padding-left: 2.5rem;
	padding-bottom: 3rem;
	opacity: 0;
	transform: translateX(-20px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}

.tl-item.visible {
	opacity: 1;
	transform: translateX(0);
}

.tl-item:last-child { padding-bottom: 0; }

.tl-item::before {
	content: '';
	position: absolute;
	left: -7px;
	top: 4px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--gold);
	border: 3px solid var(--black);
	box-shadow: 0 0 0 2px rgba(201,162,39,0.3), 0 0 20px rgba(201,162,39,0.2);
	transition: transform var(--transition), box-shadow var(--transition);
}

.tl-item:hover::before {
	transform: scale(1.3);
	box-shadow: 0 0 0 3px rgba(201,162,39,0.4), 0 0 30px rgba(201,162,39,0.3);
}

.tl-year {
	font-family: var(--font-condensed);
	font-size: 0.62rem;
	letter-spacing: 0.4em;
	color: var(--gold);
	text-transform: uppercase;
	margin-bottom: 0.4rem;
	display: inline-block;
	background: rgba(201,162,39,0.08);
	border-left: 2px solid var(--gold);
	padding: 2px 10px;
}

.tl-title {
	font-family: var(--font-display);
	font-size: 1.3rem;
	font-weight: 600;
	margin-bottom: 0.6rem;
	color: var(--white);
}

.tl-title em { font-style: normal; color: var(--gold-light); }

.tl-text {
	font-size: 0.87rem;
	line-height: 1.78;
	color: var(--white-muted);
}

.tl-text strong { color: var(--white-dim); font-weight: 500; }

/* ═══════════════════════════════════════════════════════════
   PALMARÈS
═══════════════════════════════════════════════════════════ */
.palmares-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
	gap: 1px;
	background: rgba(255,255,255,0.04);
	margin-top: 2.5rem;
}

.palmares-item {
	background: var(--black);
	padding: 1.75rem;
	border-top: 2px solid var(--crimson);
	position: relative;
	overflow: hidden;
	transition: background var(--transition), transform var(--transition);
}

.palmares-item::after {
	content: '';
	position: absolute;
	top: 0; right: 0;
	width: 70px; height: 70px;
	background: radial-gradient(circle at top right, rgba(201,162,39,0.07), transparent);
}

.palmares-item:hover { background: rgba(201,162,39,0.04); transform: translateY(-2px); }

.palmares-item__icon { font-size: 1.6rem; margin-bottom: 0.75rem; display: block; }

.palmares-item__title {
	font-family: var(--font-condensed);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 0.4rem;
	color: var(--white);
}

.palmares-item__note {
	font-size: 0.78rem;
	color: var(--muted);
	line-height: 1.55;
}

/* ═══════════════════════════════════════════════════════════
   VALUES
═══════════════════════════════════════════════════════════ */
.values-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1px;
	background: rgba(255,255,255,0.04);
	margin-top: 2.5rem;
}

.value-card {
	background: var(--black);
	padding: 2rem 1.5rem;
	transition: background var(--transition);
}

.value-card:hover { background: rgba(155,27,42,0.07); }

.value-card__icon { font-size: 1.8rem; margin-bottom: 0.75rem; display: block; }

.value-card__name {
	font-family: var(--font-display);
	font-size: 0.85rem;
	letter-spacing: 0.15em;
	color: var(--gold);
	margin-bottom: 0.4rem;
	text-transform: uppercase;
}

.value-card__desc {
	font-size: 0.79rem;
	color: var(--white-muted);
	line-height: 1.65;
}

/* ═══════════════════════════════════════════════════════════
   ACADEMY / FORMATION
═══════════════════════════════════════════════════════════ */
.academy-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: start;
	margin-top: 3rem;
}

.academy-text p {
	font-size: 0.9rem;
	line-height: 1.8;
	color: var(--white-dim);
	margin-bottom: 1rem;
}

.pillars-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-top: 1.5rem;
}

.pillar {
	background: var(--grey-mid);
	border: 1px solid rgba(255,255,255,0.05);
	border-top: 2px solid var(--gold);
	padding: 1.2rem;
}

.pillar h4 {
	font-family: var(--font-display);
	font-size: 0.78rem;
	letter-spacing: 0.15em;
	color: var(--gold);
	margin-bottom: 0.4rem;
	font-weight: 600;
}

.pillar p { font-size: 0.77rem; color: var(--muted); line-height: 1.5; margin: 0; }

.academy-quote {
	background: linear-gradient(135deg, rgba(155,27,42,0.12), rgba(5,5,5,0));
	border: 1px solid rgba(155,27,42,0.2);
	padding: 2.5rem;
	position: relative;
}

.academy-quote::before {
	content: '"';
	position: absolute;
	top: -1.5rem; left: 1.5rem;
	font-family: var(--font-display);
	font-size: 6rem;
	color: rgba(201,162,39,0.15);
	line-height: 1;
	pointer-events: none;
}

.academy-quote blockquote {
	font-family: var(--font-condensed);
	font-style: italic;
	font-size: 1.2rem;
	line-height: 1.65;
	color: var(--white-dim);
	margin-bottom: 1rem;
}

.academy-quote cite {
	font-family: var(--font-display);
	font-size: 0.62rem;
	letter-spacing: 0.3em;
	color: var(--gold);
	text-transform: uppercase;
	font-style: normal;
}

.tags-row { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 2rem; }

.tag {
	background: rgba(201,162,39,0.08);
	border: 1px solid rgba(201,162,39,0.2);
	color: var(--gold);
	font-family: var(--font-display);
	font-size: 0.6rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 4px 12px;
}

/* ═══════════════════════════════════════════════════════════
   OPPONENTS / FIXTURES
═══════════════════════════════════════════════════════════ */
.opponents-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 1px;
	background: rgba(255,255,255,0.04);
	margin-top: 2.5rem;
}

.opponent-card {
	background: var(--black);
	padding: 1.6rem;
	text-align: center;
	transition: background var(--transition);
}

.opponent-card:hover { background: rgba(155,27,42,0.07); }

.opponent-card__icon { font-size: 1.4rem; margin-bottom: 0.5rem; }

.opponent-card__name {
	font-family: var(--font-condensed);
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 0.25rem;
	color: var(--white);
}

.opponent-card__comp {
	font-family: var(--font-display);
	font-size: 0.58rem;
	letter-spacing: 0.2em;
	color: var(--muted);
	text-transform: uppercase;
}

/* ═══════════════════════════════════════════════════════════
   CTA MEMBERSHIP BAND
═══════════════════════════════════════════════════════════ */
.cta-band {
	background: linear-gradient(135deg, var(--crimson-dark) 0%, var(--black) 50%, var(--crimson-dark) 100%);
	border-top: 1px solid rgba(155,27,42,0.3);
	border-bottom: 1px solid rgba(155,27,42,0.3);
	position: relative;
	overflow: hidden;
}

.cta-band::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.012'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
	pointer-events: none;
}

.cta-band__inner {
	position: relative;
	z-index: 1;
	text-align: center;
}

.cta-band h2 {
	font-family: var(--font-display);
	font-size: clamp(2rem, 5vw, 3.2rem);
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 1rem;
}

.cta-band p {
	font-size: 0.95rem;
	color: rgba(245,242,235,0.65);
	max-width: 480px;
	margin: 0 auto 2.5rem;
	line-height: 1.75;
}

.cta-band__buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* ═══════════════════════════════════════════════════════════
   SPONSORS
═══════════════════════════════════════════════════════════ */
.sponsors-section {
	background: var(--grey-dark);
	border-top: 1px solid rgba(255,255,255,0.03);
}

.sponsors-row {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 3rem;
	flex-wrap: wrap;
	margin-top: 2rem;
}

.sponsor-item {
	font-family: var(--font-display);
	font-size: 1.1rem;
	letter-spacing: 0.15em;
	color: rgba(245,242,235,0.15);
	text-transform: uppercase;
	transition: color var(--transition);
	cursor: default;
}

.sponsor-item:hover { color: rgba(245,242,235,0.4); }

/* ═══════════════════════════════════════════════════════════
   SINGLE POST / PAGE
═══════════════════════════════════════════════════════════ */
.page-hero {
	background: var(--grey-dark);
	border-bottom: 1px solid rgba(201,162,39,0.1);
	padding: 6rem 0 3rem;
	margin-top: var(--nav-h);
}

.post-content {
	font-size: 0.95rem;
	line-height: 1.85;
	color: var(--white-dim);
}

.post-content h1, .post-content h2, .post-content h3,
.post-content h4, .post-content h5, .post-content h6 {
	color: var(--white);
	margin: 2rem 0 1rem;
}

.post-content h2 { font-size: clamp(1.4rem, 3vw, 2rem); }
.post-content h3 { font-size: clamp(1.1rem, 2.5vw, 1.5rem); }

.post-content p { margin-bottom: 1.2rem; }

.post-content a { color: var(--gold); }
.post-content a:hover { color: var(--gold-light); }

.post-content img {
	max-width: 100%;
	height: auto;
	margin: 1.5rem 0;
	filter: saturate(0.8);
	transition: filter var(--transition);
}

.post-content img:hover { filter: saturate(1); }

.post-content blockquote {
	border-left: 3px solid var(--gold);
	padding: 1rem 1.5rem;
	background: rgba(201,162,39,0.05);
	margin: 1.5rem 0;
	font-family: var(--font-condensed);
	font-style: italic;
	font-size: 1.05rem;
	color: var(--white-dim);
}

.post-content ul, .post-content ol {
	list-style: disc;
	padding-left: 2rem;
	margin-bottom: 1.2rem;
}

.post-content ol { list-style: decimal; }
.post-content li { margin-bottom: 0.4rem; color: var(--white-dim); }

.post-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
}

.post-content th {
	font-family: var(--font-display);
	font-size: 0.7rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--gold);
	padding: 0.75rem 1rem;
	text-align: left;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

.post-content td {
	padding: 0.85rem 1rem;
	border-bottom: 1px solid rgba(255,255,255,0.04);
	font-size: 0.88rem;
}

.post-content tr:hover td { background: rgba(201,162,39,0.03); }

/* Post thumbnail */
.post-thumbnail {
	width: 100%;
	max-height: 480px;
	object-fit: cover;
	filter: saturate(0.7) brightness(0.75);
	margin-bottom: 2rem;
}

/* Post meta */
.post-meta {
	display: flex;
	gap: 1.5rem;
	flex-wrap: wrap;
	font-family: var(--font-condensed);
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	color: var(--muted);
	text-transform: uppercase;
	margin-bottom: 2rem;
}

.post-meta span { display: flex; align-items: center; gap: 0.4rem; }

/* Archive / blog loop */
.posts-loop {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 1px;
	background: rgba(255,255,255,0.03);
	margin-top: 2.5rem;
}

.loop-card {
	background: var(--black);
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	transition: transform 0.3s;
}

.loop-card:hover { transform: translateY(-3px); z-index: 2; color: inherit; }

.loop-card__thumb {
	overflow: hidden;
}

.loop-card__thumb img {
	width: 100%;
	aspect-ratio: 16/9;
	object-fit: cover;
	filter: saturate(0.6) brightness(0.7);
	transition: filter 0.4s, transform 0.4s;
}

.loop-card:hover .loop-card__thumb img {
	filter: saturate(0.9) brightness(0.85);
	transform: scale(1.04);
}

.loop-card__body {
	padding: 1.5rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.loop-card__cat {
	font-family: var(--font-display);
	font-size: 0.58rem;
	letter-spacing: 0.3em;
	color: var(--crimson-b);
	text-transform: uppercase;
	margin-bottom: 0.4rem;
}

.loop-card__title {
	font-family: var(--font-condensed);
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 0.75rem;
	color: var(--white);
	transition: color var(--transition);
}

.loop-card:hover .loop-card__title { color: var(--gold-light); }

.loop-card__excerpt {
	font-size: 0.82rem;
	color: var(--white-muted);
	line-height: 1.65;
	flex: 1;
	margin-bottom: 1rem;
}

.loop-card__meta {
	font-size: 0.7rem;
	color: var(--muted);
	margin-top: auto;
}

/* Pagination */
.pagination {
	display: flex;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 3rem;
	flex-wrap: wrap;
}

.pagination a,
.pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	font-family: var(--font-display);
	font-size: 0.78rem;
	letter-spacing: 0.1em;
	border: 1px solid rgba(255,255,255,0.08);
	color: var(--muted);
	text-decoration: none;
	transition: all var(--transition);
}

.pagination a:hover { border-color: var(--gold); color: var(--gold); }
.pagination .current { background: var(--crimson); border-color: var(--crimson-b); color: var(--white); }

/* ═══════════════════════════════════════════════════════════
   COMMENTS
═══════════════════════════════════════════════════════════ */
.comments-area { margin-top: 4rem; padding-top: 3rem; border-top: 1px solid rgba(255,255,255,0.06); }

.comments-title {
	font-family: var(--font-display);
	font-size: 1.3rem;
	color: var(--white);
	margin-bottom: 2rem;
}

.comment-list { list-style: none; }

.comment {
	padding: 1.5rem 0;
	border-bottom: 1px solid rgba(255,255,255,0.05);
}

.comment-author { font-family: var(--font-condensed); font-size: 0.85rem; font-weight: 700; color: var(--white); }
.comment-meta   { font-size: 0.72rem; color: var(--muted); margin-bottom: 0.75rem; }
.comment-body p { font-size: 0.87rem; color: var(--white-dim); line-height: 1.7; }

/* Comment form */
.comment-form label {
	display: block;
	font-family: var(--font-display);
	font-size: 0.68rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 0.4rem;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	background: var(--grey-dark);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 0;
	color: var(--white);
	font-family: var(--font-body);
	font-size: 0.88rem;
	padding: 0.75rem 1rem;
	transition: border-color var(--transition);
	margin-bottom: 1.2rem;
}

.comment-form input:focus,
.comment-form textarea:focus {
	outline: none;
	border-color: var(--gold);
}

.comment-form textarea { min-height: 120px; resize: vertical; }

/* ═══════════════════════════════════════════════════════════
   SIDEBAR & WIDGETS
═══════════════════════════════════════════════════════════ */
.sidebar { display: flex; flex-direction: column; gap: 2rem; }

.widget {
	background: var(--grey-dark);
	border-top: 2px solid var(--crimson);
	padding: 1.5rem;
}

.widget-title {
	font-family: var(--font-display);
	font-size: 0.75rem;
	letter-spacing: 0.25em;
	color: var(--gold);
	text-transform: uppercase;
	margin-bottom: 1.2rem;
	padding-bottom: 0.6rem;
	border-bottom: 1px solid rgba(201,162,39,0.15);
}

.widget ul { list-style: none; }
.widget ul li { border-bottom: 1px solid rgba(255,255,255,0.04); }
.widget ul li a {
	display: block;
	padding: 0.55rem 0;
	font-size: 0.83rem;
	color: var(--white-dim);
	text-decoration: none;
	transition: color var(--transition), padding-left var(--transition);
}

.widget ul li a:hover { color: var(--gold); padding-left: 6px; }

.wp-block-search__input {
	width: 100%;
	background: var(--grey-mid);
	border: 1px solid rgba(255,255,255,0.08);
	color: var(--white);
	padding: 0.65rem 1rem;
	font-size: 0.85rem;
	border-radius: 0;
}

.wp-block-search__button {
	background: var(--crimson);
	color: var(--white);
	border: none;
	padding: 0.65rem 1.2rem;
	font-family: var(--font-display);
	font-size: 0.72rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background var(--transition);
}

.wp-block-search__button:hover { background: var(--crimson-b); }

/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
#site-footer {
	background: var(--deep-black);
	border-top: 1px solid rgba(201,162,39,0.1);
}

.footer-top {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 3rem;
	padding: 4rem 0 3rem;
	border-bottom: 1px solid rgba(255,255,255,0.05);
}

.footer-brand { display: flex; flex-direction: column; gap: 1rem; }

.footer-logo img {
	width: 75px;
	filter: drop-shadow(0 0 10px rgba(201,162,39,0.25));
}

.footer-name {
	font-family: var(--font-display);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.footer-desc {
	font-size: 0.82rem;
	color: var(--muted);
	line-height: 1.75;
}

.footer-motto {
	font-family: var(--font-condensed);
	font-style: italic;
	color: var(--gold);
	font-size: 0.85rem;
	letter-spacing: 0.1em;
}

.footer-col-title {
	font-family: var(--font-display);
	font-size: 0.7rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 1.1rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid rgba(201,162,39,0.15);
}

.footer-col ul { display: flex; flex-direction: column; gap: 0.4rem; }

.footer-col ul li a {
	color: var(--muted);
	font-size: 0.82rem;
	text-decoration: none;
	transition: color var(--transition);
}

.footer-col ul li a:hover { color: var(--white); }

.footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.5rem 0;
	flex-wrap: wrap;
	gap: 1rem;
}

.footer-copy {
	font-size: 0.76rem;
	color: var(--muted);
}

.footer-copy span { color: var(--gold); }

.social-links { display: flex; gap: 0.5rem; }

.social-link {
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.85rem;
	color: var(--muted);
	text-decoration: none;
	border: 1px solid rgba(255,255,255,0.08);
	clip-path: polygon(4px 0%, 100% 0%, calc(100% - 4px) 100%, 0% 100%);
	transition: all var(--transition);
}

.social-link:hover {
	background: var(--crimson);
	border-color: var(--crimson-b);
	color: var(--white);
}

/* ═══════════════════════════════════════════════════════════
   SCROLL REVEAL
═══════════════════════════════════════════════════════════ */
.reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.75s ease, transform 0.75s ease;
}

.reveal.visible {
	opacity: 1;
	transform: translateY(0);
}

.reveal-left  { transform: translateX(-28px); }
.reveal-right { transform: translateX(28px); }
.reveal-left.visible, .reveal-right.visible { transform: translateX(0); }

/* ═══════════════════════════════════════════════════════════
   WOOCOMMERCE / SHOP (if used for merch)
═══════════════════════════════════════════════════════════ */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px,1fr));
	gap: 1px;
	background: rgba(255,255,255,0.04);
}

.woocommerce ul.products li.product {
	background: var(--black);
	padding: 0;
	border: none;
}

.woocommerce ul.products li.product a img {
	filter: saturate(0.7);
	transition: filter var(--transition);
}

.woocommerce ul.products li.product:hover a img { filter: saturate(1); }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
	.stats-grid      { grid-template-columns: repeat(2,1fr); }
	.footer-top      { grid-template-columns: 1fr 1fr; }
	.about-grid      { grid-template-columns: 1fr; }
	.academy-grid    { grid-template-columns: 1fr; }
	.about-crest     { order: -1; }
	.about-crest img { width: 200px; }
	.news-grid       { grid-template-columns: 1fr 1fr; }
	.news-card--featured { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
	:root { --nav-h: 60px; }

	#primary-navigation { display: none; }
	#nav-toggle { display: flex; }

	.hero__title { font-size: clamp(2.8rem, 12vw, 5rem); }
	.hero__crest { width: 130px; height: 130px; }

	.news-grid     { grid-template-columns: 1fr; }
	.news-side     { gap: 2px; }
	.palmares-grid { grid-template-columns: 1fr; }
	.values-grid   { grid-template-columns: 1fr 1fr; }
	.pillars-grid  { grid-template-columns: 1fr; }
	.opponents-grid{ grid-template-columns: repeat(2,1fr); }
	.posts-loop    { grid-template-columns: 1fr; }

	.footer-top    { grid-template-columns: 1fr; gap: 2rem; padding: 3rem 0 2rem; }
	.footer-bottom { flex-direction: column; text-align: center; }
}

@media (max-width: 520px) {
	.container { padding: 0 1.25rem; }
	.section-pad, .section-pad--lg { padding: 4rem 0; }

	.stats-grid    { grid-template-columns: repeat(2,1fr); }
	.values-grid   { grid-template-columns: 1fr; }
	.opponents-grid{ grid-template-columns: 1fr; }

	.hero__buttons { flex-direction: column; align-items: center; }
	.btn { width: 100%; max-width: 280px; text-align: center; }

	.cta-band__buttons { flex-direction: column; align-items: center; }
}

/* ═══════════════════════════════════════════════════════════
   WORDPRESS CORE CLASSES
═══════════════════════════════════════════════════════════ */
.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;
	width: 1px;
	word-wrap: normal !important;
}

.alignleft  { float: left; margin-right: 1.5rem; }
.alignright { float: right; margin-left: 1.5rem; }
.aligncenter{ text-align: center; margin: 0 auto; }
.alignwide  { max-width: 1100px; margin-left: auto; margin-right: auto; }
.alignfull  { max-width: 100%; }

.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 0.78rem; color: var(--muted); margin-top: 0.4rem; font-style: italic; }

.sticky { border-left: 3px solid var(--gold); padding-left: 1rem; }

.bypostauthor { /* author highlight */ }

/* Gutenberg blocks */
.wp-block-quote {
	border-left: 3px solid var(--gold);
	padding: 1rem 1.5rem;
	background: rgba(201,162,39,0.04);
	margin: 1.5rem 0;
}

.wp-block-code {
	background: var(--grey-mid);
	padding: 1rem;
	font-size: 0.85rem;
	overflow-x: auto;
}

.wp-block-separator {
	border: none;
	height: 1px;
	background: linear-gradient(to right, transparent, rgba(201,162,39,0.3), transparent);
	margin: 2rem 0;
}

.wp-block-image img { filter: saturate(0.75); transition: filter var(--transition); }
.wp-block-image img:hover { filter: saturate(1); }

/* ═══════════════════════════════════════════════════════════
   PRINT
═══════════════════════════════════════════════════════════ */
@media print {
	#site-header, #site-footer, #rtsfc-progress,
	.hero__scroll, .ticker-bar { display: none !important; }

	body { background: #fff; color: #000; }
	a    { color: #000; }
}
