/*
Theme Name: Sports Culture Network
Theme URI: https://sportculturenetwork.com
Description: Where sports and culture meet. A minimal, fast, accessible sports-news theme for Sports Culture Network (SCN). Requires the SCN Engine plugin to function.
Author: King Bygone / Hypers Ghana Limited
Author URI: https://sportculturenetwork.com
Version: 0.2.2
Requires at least: 6.4
Tested up to: 6.5
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sports-culture-network
Tags: news, blog, custom-colors, dark-mode, accessibility-ready, translation-ready
*/

/* ---------------------------------------------------------------------------
   Self-hosted display face (no external font CDNs, per house rules).
   Archivo Black: a heavy grotesque that stays readable on long, multi-line
   article headlines, unlike ultra-condensed faces.
   --------------------------------------------------------------------------- */
@font-face {
	font-family: "SCN Display";
	src: url("assets/fonts/archivo-black.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* ---------------------------------------------------------------------------
   Design tokens (light is default; dark overrides via [data-theme="dark"]).
   --scn-primary  deep burgundy — headers, links, nav
   --scn-accent   crimson — highlights, live badges, CTAs
   --scn-accent-2 sage teal — secondary accents, quotes, timelines
   --------------------------------------------------------------------------- */
:root {
	--scn-bg: #FDFDFB;
	--scn-surface: #F5EFF2;
	--scn-border: #E8DDE1;
	--scn-ink: #120D10;
	--scn-muted: #7A5A66;
	--scn-primary: #6E1A37;
	--scn-accent: #AE2448;
	--scn-accent-2: #72BAA9;
	--scn-accent-text: #ffffff;
	--scn-max: 1180px;
	--scn-radius: 10px;
	--scn-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--scn-serif: Georgia, "Times New Roman", serif;
	--scn-display: "SCN Display", "Arial Black", "Helvetica Neue", Arial, sans-serif;
}

[data-theme="dark"] {
	--scn-bg: #120810;
	--scn-surface: #1C0F14;
	--scn-border: #2E1822;
	--scn-ink: #F2E8EC;
	--scn-muted: #A08090;
	--scn-primary: #C03060;
	--scn-accent: #D5E7B5;
	--scn-accent-2: #72BAA9;
}

/* ---------------------------------------------------------------------------
   Typography roles.
   Headlines take the condensed display face; scores/stats always render
   with tabular numerals so columns of figures line up.
   --------------------------------------------------------------------------- */
.scn-lead__title,
.scn-report__title,
.scn-article__title,
.scn-profile__name,
.scn-page__title,
.scn-brand,
.scn-footer__brand {
	font-family: var(--scn-display);
	font-weight: 400;
	letter-spacing: -0.01em;
}

time,
table,
.scn-card__meta,
.scn-profile-facts,
.scn-facts dd,
.scn-rank {
	font-variant-numeric: tabular-nums;
}

/* ---------------------------------------------------------------------------
   Base.
   --------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--scn-bg);
	color: var(--scn-ink);
	font-family: var(--scn-font);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

a { color: var(--scn-primary); }
img { max-width: 100%; height: auto; }

.scn-container {
	max-width: var(--scn-max);
	margin: 0 auto;
	padding: 0 20px;
}

.screen-reader-text {
	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 {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--scn-primary);
	color: var(--scn-accent-text);
	padding: 10px 16px;
	z-index: 1000;
}
.skip-link:focus { left: 8px; top: 8px; }

/* ---------------------------------------------------------------------------
   Reading progress bar.
   --------------------------------------------------------------------------- */
.scn-progress {
	position: fixed;
	top: 0; left: 0;
	height: 3px; width: 0;
	background: var(--scn-accent);
	z-index: 1001;
	transition: width .1s linear;
}

/* ---------------------------------------------------------------------------
   Header.
   --------------------------------------------------------------------------- */
.scn-header {
	position: sticky;
	top: 0;
	z-index: 900;
	background: var(--scn-bg);
	border-bottom: 1px solid var(--scn-border);
}
.scn-header__inner {
	display: flex;
	align-items: center;
	gap: 20px;
	min-height: 120px;
	position: relative;
}

.scn-menu-toggle {
	display: none;
	margin-left: auto;
	background: var(--scn-surface);
	border: 1px solid var(--scn-border);
	color: var(--scn-ink);
	width: 38px;
	height: 38px;
	border-radius: 8px;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}
.scn-brand {
	font-weight: 400;
	font-size: 24px;
	letter-spacing: .02em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--scn-ink);
}
.scn-brand span { color: var(--scn-primary); }
.custom-logo-link { display: inline-flex; align-items: center; line-height: 0; }
.custom-logo {
	height: 110px !important;
	width: auto !important;
	max-width: 360px;
	object-fit: contain;
	display: block;
}
@media (max-width: 600px) {
	.custom-logo { height: 80px !important; }
}
.scn-nav { margin-left: auto; }
.scn-nav ul {
	display: flex;
	gap: 18px;
	list-style: none;
	margin: 0; padding: 0;
}
.scn-nav a { text-decoration: none; color: var(--scn-ink); font-weight: 600; font-size: 15px; }
.scn-nav a:hover { color: var(--scn-primary); }

.scn-theme-toggle {
	background: var(--scn-surface);
	border: 1px solid var(--scn-border);
	color: var(--scn-ink);
	border-radius: 999px;
	width: 38px; height: 38px;
	cursor: pointer;
	font-size: 16px;
}


/* ---------------------------------------------------------------------------
   Layout.
   --------------------------------------------------------------------------- */
.scn-main { padding: 32px 0 64px; }

/* Breadcrumbs (visually hidden; BreadcrumbList schema still output for SEO) */
.scn-crumbs { display: none; }
.scn-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; font-size: 13px; color: var(--scn-muted); }
.scn-crumbs li { display: flex; align-items: center; gap: 6px; }
.scn-crumbs li + li::before { content: "›"; color: var(--scn-border); }
.scn-crumbs a { color: var(--scn-muted); text-decoration: none; }
.scn-crumbs a:hover { color: var(--scn-primary); }
.scn-crumbs [aria-current="page"] { color: var(--scn-ink); font-weight: 600; }
.scn-section { margin-bottom: 48px; }
.scn-section__title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--scn-muted);
	padding-bottom: 8px;
	margin: 0 0 20px;
	position: relative;
}
/* Scoreboard rule: 3px bar split 60/40 green/gold under section headings. */
.scn-section__title::after,
.scn-panel__title::after,
.widget-title::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--scn-primary) 0 60%, var(--scn-accent) 60% 100%);
}
.scn-section__title.is-breaking { color: var(--scn-accent-2); }
.scn-section__title.is-breaking::after { background: var(--scn-accent-2); }

.scn-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
}

/* Fixed three-across row (collapses on small screens). */
.scn-grid--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 600px) {
	.scn-grid--3 { grid-template-columns: 1fr; }
}

/* Editorial grid: wide featured card left, two secondary cards stacked right. */
.scn-grid--editorial {
	grid-template-columns: 2fr 1fr;
}
.scn-grid--editorial > .scn-card:first-child {
	grid-row: span 2;
}
.scn-grid--editorial > .scn-card:first-child .scn-card__media {
	aspect-ratio: 3 / 2;
}
.scn-grid--editorial > .scn-card:first-child .scn-card__title {
	font-size: 22px;
	line-height: 1.25;
}
@media (max-width: 700px) {
	.scn-grid--editorial { grid-template-columns: 1fr; }
	.scn-grid--editorial > .scn-card:first-child { grid-row: span 1; }
}

/* List layout: horizontal cards for secondary story lists. */
.scn-grid--list {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--scn-border);
	gap: 0;
}
.scn-grid--list .scn-card {
	flex-direction: row;
	gap: 16px;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--scn-border);
	border-radius: 0;
	padding: 16px 0;
}
.scn-grid--list .scn-card__media {
	flex: 0 0 120px;
	width: 120px;
	height: 80px;
	aspect-ratio: unset;
	border-radius: var(--scn-radius);
	overflow: hidden;
}
.scn-grid--list .scn-card__body { padding: 0; justify-content: center; }
.scn-grid--list .scn-card__excerpt { display: none; }
@media (max-width: 600px) {
	.scn-grid--list .scn-card__media { flex: 0 0 88px; width: 88px; height: 62px; }
}

/* ---------------------------------------------------------------------------
   Cards.
   --------------------------------------------------------------------------- */
.scn-card {
	background: var(--scn-bg);
	border: 1px solid var(--scn-border);
	border-radius: var(--scn-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.scn-card__media { aspect-ratio: 16/9; background: var(--scn-surface); overflow: hidden; }
.scn-card__media img { width: 100%; height: 100%; object-fit: cover; }

/* Image placeholder (uniform cards when no photo). */
.scn-ph {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background:
		radial-gradient( circle at 30% 25%, rgba(255,255,255,0.06), transparent 60% ),
		linear-gradient( 135deg, var(--scn-primary), #2B0815 );
	color: #fff;
	font-weight: 800;
	font-size: 2.4rem;
	line-height: 1;
	letter-spacing: 0.02em;
	user-select: none;
}
.scn-lead__media .scn-ph { font-size: 4.5rem; }
.scn-headline__media .scn-ph { font-size: 1.4rem; }
.scn-side-people .scn-ph { font-size: 1.1rem; border-radius: 50%; }
.scn-figure .scn-ph { aspect-ratio: 16 / 9; border-radius: var(--scn-radius); font-size: 5rem; }

/* Category-tinted placeholders. */
.scn-ph--music    { background: linear-gradient( 135deg, #7e22ce, #3b0764 ); }
.scn-ph--sport    { background: linear-gradient( 135deg, #15803d, #052e16 ); }
.scn-ph--politics { background: linear-gradient( 135deg, #475569, #1e293b ); }
.scn-ph--film-tv  { background: linear-gradient( 135deg, #0a66c2, #082f49 ); }
.scn-ph--business { background: linear-gradient( 135deg, #0f766e, #042f2e ); }
.scn-ph--royalty  { background: linear-gradient( 135deg, #b45309, #422006 ); }
.scn-ph--celebrity{ background: linear-gradient( 135deg, #be185d, #500724 ); }
.scn-card__body { padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.scn-card__title { margin: 0; font-size: 18px; line-height: 1.3; }
.scn-card__title a { color: var(--scn-ink); text-decoration: none; }
.scn-card__title a:hover { color: var(--scn-primary); }
.scn-card__meta { font-size: 13px; color: var(--scn-muted); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.scn-card__excerpt { font-size: 14px; color: var(--scn-muted); margin: 0; }

.scn-badge--breaking {
	background: var(--scn-accent-2);
	color: var(--scn-accent-text);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
	padding: 2px 8px;
	border-radius: 4px;
}

/* Report Status badge — shown whenever a story is not settled fact.
   Rumours are loudest; other non-confirmed states get an outline. */
.scn-badge--status {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
	padding: 2px 8px;
	border-radius: 4px;
	border: 1px solid currentColor;
	color: var(--scn-muted);
	vertical-align: middle;
}
.scn-badge--status.is-rumour {
	background: var(--scn-accent-2);
	border-color: var(--scn-accent-2);
	color: var(--scn-accent-text);
}

/* ---------------------------------------------------------------------------
   Single.
   --------------------------------------------------------------------------- */
.scn-article { max-width: 760px; margin: 0 auto; }
.scn-article__header { margin-bottom: 24px; }
.scn-article__title { font-size: clamp(28px, 5vw, 44px); line-height: 1.1; margin: 12px 0; }
.scn-article__meta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; color: var(--scn-muted); font-size: 14px; }
.scn-article__content { font-family: var(--scn-serif); font-size: 19px; line-height: 1.75; }
.scn-article__content p { margin: 0 0 1.2em; }
.scn-figure { margin: 0 0 24px; }
.scn-figure figcaption { font-size: 13px; color: var(--scn-muted); margin-top: 6px; }

/* Person profile bio table */
.scn-profile-facts {
	width: 100%;
	border-collapse: collapse;
	margin: 24px 0;
	font-size: 15px;
}
.scn-profile-facts th, .scn-profile-facts td {
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid var(--scn-border);
	vertical-align: top;
}
.scn-profile-facts th { width: 180px; color: var(--scn-muted); font-weight: 600; }

/* ---------------------------------------------------------------------------
   Footer.
   --------------------------------------------------------------------------- */
.scn-footer {
	border-top: 1px solid var(--scn-border);
	background: var(--scn-surface);
	padding: 32px 0;
	color: var(--scn-muted);
	font-size: 14px;
}
.scn-social {
	display: flex;
	gap: 10px;
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
}
.scn-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--scn-primary);
	transition: transform .15s ease, opacity .15s ease;
}
.scn-social__link:hover { transform: translateY(-2px); opacity: .9; }
.scn-social__link img { width: 18px; height: 18px; display: block; }

/* ---------------------------------------------------------------------------
   Notices.
   --------------------------------------------------------------------------- */
.scn-notice {
	max-width: 640px;
	margin: 80px auto;
	padding: 32px;
	border: 1px solid var(--scn-border);
	border-radius: var(--scn-radius);
	background: var(--scn-surface);
	text-align: center;
}

/* ---------------------------------------------------------------------------
   Homepage CTA (Search + Newsletter).
   --------------------------------------------------------------------------- */
.scn-home-cta {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
.scn-home-cta__box {
	background: var(--scn-surface);
	border: 1px solid var(--scn-border);
	border-radius: var(--scn-radius);
	padding: 20px;
}
.scn-section__more { color: var(--scn-primary); text-decoration: none; font-weight: 600; }

.scn-search,
.scn-newsletter {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.scn-search input[type="search"],
.scn-newsletter input[type="email"] {
	flex: 1 1 200px;
	padding: 10px 12px;
	border: 1px solid var(--scn-border);
	border-radius: 8px;
	background: var(--scn-bg);
	color: var(--scn-ink);
	font-size: 15px;
}
.scn-search button,
.scn-newsletter button {
	border: 0;
	background: var(--scn-primary);
	color: #fff;
	font-weight: 700;
	border-radius: 8px;
	padding: 10px 18px;
	cursor: pointer;
}
.scn-newsletter__notice { color: var(--scn-muted); font-size: 14px; margin: 0 0 8px; }

/* ---------------------------------------------------------------------------
   Engine blocks.
   --------------------------------------------------------------------------- */
.scn-quote,
.scn-tribute {
	border-left: 3px solid var(--scn-accent);
	margin: 24px 0;
	padding: 8px 0 8px 18px;
	font-family: var(--scn-serif);
	font-style: italic;
}
.scn-quote cite,
.scn-tribute cite { display: block; margin-top: 8px; font-size: 14px; color: var(--scn-muted); font-style: normal; }

.scn-timeline { list-style: none; margin: 24px 0; padding: 0; border-left: 2px solid var(--scn-border); }
.scn-timeline__item { position: relative; padding: 0 0 20px 20px; }
.scn-timeline__item::before {
	content: ""; position: absolute; left: -7px; top: 5px;
	width: 12px; height: 12px; border-radius: 50%;
	background: var(--scn-accent);
}
.scn-timeline__date { color: var(--scn-muted); font-size: 13px; }
.scn-timeline__item p { margin: 4px 0 0; }

.scn-block-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; margin: 24px 0; }
.scn-block-gallery figure { margin: 0; }
.scn-block-gallery img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }

/* Widgets */
.widget { margin: 0 0 28px; }
.widget-title { font-size: 14px; text-transform: uppercase; letter-spacing: .06em; color: var(--scn-muted); padding-bottom: 6px; position: relative; }
.scn-widget-list { list-style: none; margin: 0; padding: 0; }
.scn-widget-item { padding: 8px 0; border-bottom: 1px solid var(--scn-border); font-size: 15px; }
.scn-widget-item a { text-decoration: none; color: var(--scn-ink); font-weight: 600; }
.scn-widget-item a:hover { color: var(--scn-primary); }
.scn-widget-meta { color: var(--scn-muted); font-size: 13px; }

/* Related content / internal linking */
.scn-related-wrap {
	margin: 40px 0 0;
	padding-top: 24px;
	border-top: 1px solid var(--scn-border);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px;
}
.scn-related-block__title { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--scn-muted); margin: 0 0 8px; }
.scn-related-block ul { list-style: none; margin: 0; padding: 0; }
.scn-related-block li { padding: 5px 0; border-bottom: 1px solid var(--scn-border); font-size: 14px; }
.scn-related-block a { text-decoration: none; color: var(--scn-ink); }
.scn-related-block a:hover { color: var(--scn-primary); }

/* Corrections */
.scn-corrections {
	margin: 32px 0 0;
	padding: 16px 18px;
	background: var(--scn-surface);
	border: 1px solid var(--scn-border);
	border-radius: var(--scn-radius);
}
.scn-corrections__title { font-size: 14px; text-transform: uppercase; letter-spacing: .06em; color: var(--scn-muted); margin: 0 0 10px; }
.scn-corrections ul { margin: 0; padding-left: 18px; }
.scn-corrections li { font-size: 14px; margin-bottom: 6px; }
.scn-corrections time { color: var(--scn-muted); }

/* Search filters */
.scn-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 24px; }
.scn-filters input[type="search"],
.scn-filters select {
	padding: 9px 10px;
	border: 1px solid var(--scn-border);
	border-radius: 8px;
	background: var(--scn-bg);
	color: var(--scn-ink);
	font-size: 14px;
}
.scn-filters input[type="search"] { flex: 1 1 220px; }
.scn-filters button {
	border: 0; background: var(--scn-primary); color: #fff;
	font-weight: 700; border-radius: 8px; padding: 9px 16px; cursor: pointer;
}

/* Print button */
.scn-print-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: transparent;
	border: 1px solid var(--scn-border);
	color: var(--scn-ink);
	border-radius: 8px;
	padding: 6px 12px;
	font-size: 13px;
	cursor: pointer;
}

/* Infinite scroll loading indicator */
.scn-loading { text-align: center; padding: 24px; color: var(--scn-muted); }

/* Share button (byline) */
.scn-share-btn-inline {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--scn-primary);
	border: 0;
	color: #fff;
	border-radius: 8px;
	padding: 6px 12px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}
.scn-share-btn-inline[disabled] { opacity: .6; cursor: wait; }

/* Share-card modal */
.scn-share-modal {
	position: fixed;
	inset: 0;
	z-index: 1200;
	background: rgba(0, 0, 0, .7);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.scn-share-modal__box {
	background: var(--scn-bg);
	border-radius: var(--scn-radius);
	padding: 18px;
	max-width: 420px;
	width: 100%;
	max-height: 92vh;
	overflow: auto;
	position: relative;
}
.scn-share-modal__close {
	position: absolute;
	top: 10px; right: 10px;
	background: var(--scn-surface);
	border: 1px solid var(--scn-border);
	color: var(--scn-ink);
	width: 32px; height: 32px;
	border-radius: 999px;
	cursor: pointer;
}
.scn-share-modal__canvas canvas {
	width: 100%;
	height: auto;
	border-radius: 8px;
	display: block;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
}
.scn-share-modal__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.scn-share-btn {
	flex: 1 1 auto;
	background: var(--scn-surface);
	border: 1px solid var(--scn-border);
	color: var(--scn-ink);
	border-radius: 8px;
	padding: 10px 14px;
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
}
.scn-share-btn--primary { background: var(--scn-primary); border-color: var(--scn-primary); color: #fff; }

/* Breaking news banner */
.scn-banner {
	background: var(--scn-accent);
	color: #fff;
}
.scn-banner__inner {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-top: 8px;
	padding-bottom: 8px;
	min-height: 40px;
}
.scn-banner__label {
	flex: 0 0 auto;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .1em;
	background: #fff;
	color: var(--scn-accent);
	border-radius: 4px;
	padding: 2px 7px;
}
.scn-banner__message {
	flex: 1 1 0;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	text-decoration: none;
}
a.scn-banner__message:hover { text-decoration: underline; }
.scn-banner__close {
	flex: 0 0 auto;
	background: transparent;
	border: 1px solid rgba(255,255,255,.4);
	color: #fff;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 14px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.scn-banner__close:hover { background: rgba(255,255,255,.15); }

/* WhatsApp share button */
.scn-share-btn--wa {
	background: #25D366;
	border: 0;
	color: #fff;
	text-decoration: none;
}
.scn-share-btn--wa:hover { background: #1ebe5d; color: #fff; }

/* Reading time label in byline */
.scn-report__read-time {
	font-size: 13px;
	color: var(--scn-muted);
}

/* ---------------------------------------------------------------------------
   Reporter profile page (taxonomy-scn_reporter.php)
   --------------------------------------------------------------------------- */
.scn-reporter-profile {
	display: flex;
	gap: 28px;
	align-items: flex-start;
	padding: 32px 0 28px;
	border-bottom: 1px solid var(--scn-border);
	margin-bottom: 36px;
}
.scn-reporter-profile__photo-wrap {
	flex: 0 0 120px;
}
.scn-reporter-profile__photo {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	border: 3px solid var(--scn-border);
}
.scn-reporter-profile__initial {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background: var(--scn-primary);
	color: #fff;
	font-size: 48px;
	font-weight: 700;
	font-family: var(--scn-display);
	line-height: 1;
}
.scn-reporter-profile__body {
	flex: 1 1 0;
	min-width: 0;
}
.scn-reporter-profile__name {
	font-size: clamp(26px, 3.5vw, 36px);
	margin: 6px 0 10px;
	line-height: 1.1;
}
.scn-reporter-profile__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	font-size: 14px;
	color: var(--scn-muted);
	margin-bottom: 14px;
}
.scn-reporter-profile__meta > span::before {
	content: '';
}
.scn-reporter-profile__role { font-weight: 600; color: var(--scn-ink); }
.scn-reporter-profile__bio {
	font-size: 16px;
	line-height: 1.65;
	color: var(--scn-muted);
	margin: 0 0 14px;
	max-width: 68ch;
}
.scn-reporter-profile__twitter {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 600;
	color: var(--scn-primary);
	text-decoration: none;
}
.scn-reporter-profile__twitter:hover { text-decoration: underline; }

@media (max-width: 600px) {
	.scn-reporter-profile { flex-direction: column; align-items: center; text-align: center; }
	.scn-reporter-profile__meta { justify-content: center; }
}

/* ---------------------------------------------------------------------------
   Career timeline (single-scn_person.php)
   --------------------------------------------------------------------------- */
.scn-career {
	list-style: none;
	margin: 0;
	padding: 0;
	border-left: 2px solid var(--scn-accent-2);
}
.scn-career__item {
	display: flex;
	gap: 16px;
	align-items: baseline;
	padding: 10px 0 10px 20px;
	position: relative;
}
.scn-career__item::before {
	content: '';
	position: absolute;
	left: -5px;
	top: 16px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--scn-accent-2);
}
.scn-career__period {
	flex: 0 0 100px;
	font-size: 13px;
	font-weight: 700;
	color: var(--scn-muted);
	white-space: nowrap;
}
.scn-career__club {
	font-size: 15px;
	color: var(--scn-ink);
}

/* ---------------------------------------------------------------------------
   Homepage — hero / lead.
   --------------------------------------------------------------------------- */
.scn-hero {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 28px;
	margin: 28px 0 44px;
	padding-bottom: 36px;
	border-bottom: 1px solid var(--scn-border);
}
.scn-lead { display: flex; flex-direction: column; }
.scn-lead__media {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--scn-radius);
	background: var(--scn-surface);
}
.scn-lead__media img { width: 100%; height: 100%; object-fit: cover; }
.scn-lead__title {
	font-size: clamp(26px, 3.4vw, 40px);
	line-height: 1.12;
	margin: 16px 0 10px;
}
.scn-lead__title a { color: var(--scn-ink); text-decoration: none; }
.scn-lead__title a:hover { color: var(--scn-primary); }
.scn-lead__excerpt { font-size: 17px; color: var(--scn-muted); margin: 0 0 12px; }

.scn-hero__secondary { display: flex; flex-direction: column; }
.scn-hero__secondary h2 { margin-top: 0; }

.scn-headline {
	display: flex;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--scn-border);
}
.scn-headline:first-of-type { padding-top: 0; }
.scn-headline__media {
	flex: 0 0 84px;
	width: 84px;
	height: 64px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--scn-surface);
}
.scn-headline__media img { width: 100%; height: 100%; object-fit: cover; }
.scn-headline__title { margin: 0; font-size: 15px; line-height: 1.3; }
.scn-headline__title a { color: var(--scn-ink); text-decoration: none; }
.scn-headline__title a:hover { color: var(--scn-primary); }
.scn-headline__date { display: block; margin-top: 4px; font-size: 12px; color: var(--scn-muted); }

.scn-kicker {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--scn-primary);
	margin-bottom: 6px;
}

/* ---------------------------------------------------------------------------
   Homepage — main + sidebar layout.
   --------------------------------------------------------------------------- */
.scn-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 44px;
	align-items: start;
}
.scn-col-side { position: sticky; top: 84px; display: flex; flex-direction: column; gap: 28px; }

.scn-panel {
	background: var(--scn-surface);
	border: 1px solid var(--scn-border);
	border-radius: var(--scn-radius);
	padding: 18px;
}
.scn-panel__title {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--scn-muted);
	margin: 0 0 14px;
	padding-bottom: 8px;
	position: relative;
}

.scn-rank { list-style: none; counter-reset: scn; margin: 0; padding: 0; }
.scn-rank li {
	counter-increment: scn;
	display: flex;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--scn-border);
}
.scn-rank li:last-child { border-bottom: 0; }
.scn-rank li::before {
	content: counter(scn);
	font-weight: 800;
	font-size: 18px;
	color: var(--scn-primary);
	line-height: 1.2;
	min-width: 20px;
}
.scn-rank a { color: var(--scn-ink); text-decoration: none; font-weight: 600; font-size: 14px; line-height: 1.35; }
.scn-rank a:hover { color: var(--scn-primary); }

.scn-side-people { list-style: none; margin: 0; padding: 0; }
.scn-side-people li { display: flex; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--scn-border); }
.scn-side-people li:last-child { border-bottom: 0; }
.scn-side-people img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; background: var(--scn-bg); }
.scn-avatar { flex: 0 0 44px; width: 44px; height: 44px; display: block; border-radius: 50%; overflow: hidden; }
.scn-side-people a { color: var(--scn-ink); text-decoration: none; font-weight: 600; font-size: 14px; }
.scn-side-people a:hover { color: var(--scn-primary); }
.scn-side-people span { display: block; font-size: 12px; color: var(--scn-muted); }

/* ---------------------------------------------------------------------------
   Static pages.
   --------------------------------------------------------------------------- */
.scn-page { max-width: 760px; margin: 0 auto; padding: 8px 0 48px; }
.scn-page__title { font-size: clamp(28px, 4vw, 40px); line-height: 1.1; margin: 8px 0 20px; }
.scn-page__content { font-size: 18px; line-height: 1.75; }
.scn-page__content h2 { margin-top: 1.6em; }
.scn-page__content p { margin: 0 0 1.1em; }
.scn-page__content ul { margin: 0 0 1.1em 1.2em; }

/* ---------------------------------------------------------------------------
   Single news story (article).
   --------------------------------------------------------------------------- */
.scn-report { max-width: 760px; margin: 0 auto; padding: 8px 0 48px; }
.scn-report__title { font-size: clamp(28px, 4.5vw, 40px); line-height: 1.15; margin: 8px 0 16px; }
.scn-report__dek { font-size: 21px; line-height: 1.5; color: var(--scn-muted); font-family: var(--scn-serif); margin: 0 0 18px; }
.scn-report__byline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	color: var(--scn-muted);
	font-size: 14px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--scn-border);
}
.scn-report__author { font-weight: 700; color: var(--scn-ink); }
.scn-report__byline .scn-print-btn { margin-left: auto; }
.scn-report__figure { margin: 24px 0; }
.scn-report__figure img { border-radius: var(--scn-radius); }

@media (max-width: 640px) {
	/* Headline: slightly looser line-height for wrapped mobile titles */
	.scn-report__title { line-height: 1.22; margin: 6px 0 12px; }

	/* Standfirst: pull down from desktop 21px */
	.scn-report__dek { font-size: 17px; margin: 0 0 14px; line-height: 1.55; }

	/* Body copy: easier read on small screens */
	.scn-article__content { font-size: 17px; line-height: 1.8; }

	/* Hero image: break out of container padding for full-bleed feel */
	.scn-report__figure {
		margin-left: -20px;
		margin-right: -20px;
		margin-top: 16px;
		margin-bottom: 20px;
	}
	.scn-report__figure img { border-radius: 0; width: 100%; }

	/* Byline: tighten gaps, hide print (no one prints on mobile) */
	.scn-report__byline {
		gap: 6px 10px;
		font-size: 13px;
		padding-bottom: 14px;
	}
	.scn-print-btn { display: none; }
}

/* ---------------------------------------------------------------------------
   Related profiles strip (article footer chips).
   --------------------------------------------------------------------------- */
.scn-related { margin: 28px 0 8px; }
.scn-related__heading {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--scn-muted);
	font-weight: 600;
	margin: 0 0 10px;
}
.scn-related__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.scn-related__chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 14px 5px 5px;
	background: var(--scn-surface);
	border: 1px solid var(--scn-border);
	border-radius: 999px;
	text-decoration: none;
	color: var(--scn-ink);
	font-size: 14px;
	font-weight: 500;
	transition: border-color .15s, color .15s;
}
.scn-related__chip:hover { border-color: var(--scn-primary); color: var(--scn-primary); }
.scn-related__avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	overflow: hidden;
	flex: 0 0 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--scn-border);
	font-size: 14px;
	font-weight: 700;
	color: var(--scn-muted);
}
.scn-related__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.scn-related__avatar--club  { background: var(--scn-primary); color: #fff; font-size: 13px; }
.scn-related__avatar--crest { background: #fff; padding: 2px; }
.scn-related__avatar--crest img { width: 100%; height: 100%; object-fit: contain; display: block; border-radius: 50%; }
.scn-related__name { white-space: nowrap; }

.scn-profile-card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-top: 40px;
	padding: 16px 18px;
	background: var(--scn-surface);
	border: 1px solid var(--scn-border);
	border-radius: var(--scn-radius);
}
.scn-profile-card__photo { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; }
.scn-profile-card__photo img { width: 100%; height: 100%; object-fit: cover; }
.scn-profile-card__photo .scn-ph { font-size: 1.4rem; border-radius: 50%; }
.scn-profile-card__body { flex: 1 1 200px; display: flex; flex-direction: column; gap: 2px; }
.scn-profile-card__kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--scn-muted); }
.scn-profile-card__name { font-weight: 800; font-size: 18px; color: var(--scn-ink); text-decoration: none; }
.scn-profile-card__name:hover { color: var(--scn-primary); }
.scn-profile-card__life { font-size: 13px; color: var(--scn-muted); }
.scn-profile-card__cta { flex: 0 0 auto; color: var(--scn-primary); text-decoration: none; font-weight: 700; font-size: 14px; }
.scn-profile-card__cta:hover { text-decoration: underline; }

/* ---------------------------------------------------------------------------
   Single profile — Stadium Dark (Option A).
   Dark navy editorial hero: text + inline stats on the left, portrait photo
   bleeding into the right with gradient fades. Light body below.
   --------------------------------------------------------------------------- */
.scn-profile { padding: 0 0 48px; }

.scn-bcast {
	background: #18202E;
	margin: 24px 0 0;
	border-radius: 16px;
	overflow: hidden;
	color: #fff;
	position: relative;
}

/* Subtle gold ambient glow behind the text */
.scn-bcast::before {
	content: "";
	position: absolute;
	top: -120px; left: -120px;
	width: 640px; height: 640px;
	background: radial-gradient(circle, rgba(232,184,75,.07) 0%, transparent 68%);
	pointer-events: none;
}

.scn-bcast__top {
	display: grid;
	grid-template-columns: 1fr 280px;
	min-height: 420px;
	position: relative;
	z-index: 1;
}

/* Left panel: all identity content stacked and bottom-aligned */
.scn-bcast__id {
	padding: 56px 52px 52px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 20px;
}

/* Role / club tag pill */
.scn-bcast__tags { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.scn-bcast__tag {
	background: rgba(232,184,75,.12);
	border: 1px solid rgba(232,184,75,.30);
	color: #E8B84B;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	padding: 5px 13px;
	border-radius: 6px;
}

/* Name */
.scn-bcast__name {
	font-family: var(--scn-display);
	font-size: clamp(2.8rem, 5.5vw, 5.2rem);
	line-height: .91;
	letter-spacing: -.035em;
	color: #fff;
	margin: 0;
	word-break: break-word;
}

/* Known-for line */
.scn-bcast__known {
	font-size: 15px;
	color: rgba(255,255,255,.65);
	line-height: 1.5;
	margin: 0;
	font-style: italic;
}

/* Vertical stat list — label left, value right */
.scn-bcast__stats {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}
.scn-bcast__stats li {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	gap: 10px;
	padding: 6px 0;
	border-bottom: 1px solid rgba(255,255,255,.07);
}
.scn-bcast__stats li:last-child { border-bottom: 0; }
.scn-bcast__stats span {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: rgba(255,255,255,.40);
	flex: 0 0 90px;
}
.scn-bcast__stats strong {
	font-size: 14px;
	color: #fff;
	font-weight: 600;
	line-height: 1.3;
}


/* Portrait photo: fills full column height, dissolves into background */
.scn-bcast__photo {
	position: relative;
	overflow: hidden;
	align-self: stretch;
}
.scn-bcast__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
}
.scn-bcast__photo .scn-ph {
	height: 100%;
	border-radius: 0;
	font-size: 5rem;
}
/* Left-edge fade: photo dissolves left into the dark bg */
.scn-bcast__photo::before {
	content: "";
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: 130px;
	background: linear-gradient(to right, #18202E, transparent);
	z-index: 2;
	pointer-events: none;
}
/* Bottom fade */
.scn-bcast__photo::after {
	content: "";
	position: absolute;
	bottom: 0; left: 0; right: 0;
	height: 110px;
	background: linear-gradient(to top, #18202E, transparent);
	z-index: 2;
	pointer-events: none;
}

/* Compact icon row: social + share on one line */
.scn-bcast__icon-row {
	display: flex;
	align-items: center;
	gap: 8px;
}
.scn-bcast__icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .14);
	color: rgba(255, 255, 255, .80);
	cursor: pointer;
	text-decoration: none;
	transition: background .15s ease, border-color .15s ease;
	flex-shrink: 0;
}
.scn-bcast__icon-btn:hover {
	background: rgba(255, 255, 255, .18);
	border-color: rgba(255, 255, 255, .32);
}
.scn-bcast__icon-btn img {
	width: 18px;
	height: 18px;
	filter: brightness(0) invert(1);
	opacity: .75;
	display: block;
}
.scn-bcast__icon-btn:hover img { opacity: 1; }
.scn-bcast__icon-btn svg { display: block; opacity: .75; }
.scn-bcast__icon-btn:hover svg { opacity: 1; }

/* Body: returns to comfortable light reading bg below the dark hero */
.scn-profile-body {
	max-width: 760px;
	margin: 0 auto;
	padding: 40px 20px 0;
}

.scn-honours { list-style: none; margin: 0; padding: 0; }
.scn-honours li {
	display: inline-block;
	background: var(--scn-surface);
	border: 1px solid var(--scn-border);
	border-radius: 999px;
	padding: 6px 14px;
	margin: 0 8px 8px 0;
	font-size: 14px;
	font-weight: 600;
}

.scn-facts__links { list-style: none; margin: 0; padding: 0; }
.scn-facts__links li { margin-bottom: 6px; }
.scn-facts__links a { color: var(--scn-primary); text-decoration: none; font-size: 14px; }
.scn-facts__links a:hover { text-decoration: underline; }

@media (max-width: 640px) {
	.scn-bcast { margin: 12px 0 0; border-radius: 12px; }
	.scn-bcast__top {
		grid-template-columns: 1fr;
	}
	/* Photo stacks above text on mobile */
	.scn-bcast__photo {
		order: -1;
		height: 280px;
		align-self: auto;
	}
	.scn-bcast__photo img { height: 280px; }
	/* No left-edge fade when stacked */
	.scn-bcast__photo::before { display: none; }
	.scn-bcast__photo::after {
		height: 70px;
		background: linear-gradient(to top, #18202E, transparent);
	}
	.scn-bcast__id {
		padding: 24px 20px 32px;
		justify-content: flex-start;
		gap: 16px;
	}
	.scn-bcast__name { font-size: clamp(2.2rem, 10vw, 3rem); }
	.scn-bcast__stats li { padding-right: 16px; margin-right: 16px; }
	.scn-bcast__stats strong { font-size: 1.2rem; }
	.scn-bcast__icon-btn { width: 34px; height: 34px; }
	.scn-bcast__icon-btn img,
	.scn-bcast__icon-btn svg { width: 16px; height: 16px; }
}

/* ---------------------------------------------------------------------------
   Footer (multi-column).
   --------------------------------------------------------------------------- */
.scn-footer { border-top: 3px solid var(--scn-primary); background: var(--scn-surface); padding: 48px 0 24px; }
.scn-footer__grid {
	display: grid;
	grid-template-columns: 2.2fr 1fr 1fr 1fr;
	gap: 40px;
	margin-bottom: 36px;
}
.scn-footer__brand-col { max-width: 360px; }
.scn-footer__brand { font-weight: 400; font-size: 22px; letter-spacing: .02em; text-transform: uppercase; color: var(--scn-ink); text-decoration: none; }
.scn-footer__brand span { color: var(--scn-primary); }
.scn-footer__logo-link { display: inline-block; }
.scn-footer__logo { height: 70px !important; width: auto !important; max-width: 220px; object-fit: contain; display: block; }
.scn-footer__about { color: var(--scn-muted); font-size: 14px; margin: 12px 0 18px; line-height: 1.6; }

.scn-footer__news strong { display: block; font-size: 13px; margin-bottom: 8px; }
.scn-footer__news .scn-newsletter { gap: 8px; }
.scn-footer__news input[type="email"] {
	flex: 1 1 160px;
	padding: 9px 11px;
	border: 1px solid var(--scn-border);
	border-radius: 8px;
	background: var(--scn-bg);
	color: var(--scn-ink);
	font-size: 14px;
}
.scn-footer__news button {
	border: 0; background: var(--scn-primary); color: #fff;
	font-weight: 700; border-radius: 8px; padding: 9px 16px; cursor: pointer;
}

.scn-footer__col h3 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--scn-ink); margin: 0 0 14px; }
.scn-footer__col ul { list-style: none; margin: 0; padding: 0; }
.scn-footer__col li { margin-bottom: 10px; }
.scn-footer__col a { color: var(--scn-muted); text-decoration: none; font-size: 14px; }
.scn-footer__col a:hover { color: var(--scn-primary); }

.scn-footer__bottom {
	border-top: 1px solid var(--scn-border);
	padding-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	justify-content: space-between;
	color: var(--scn-muted);
	font-size: 13px;
}
.scn-footer__tag { font-style: italic; }
.scn-footer__initiative {
	display: inline-block;
	margin-left: 10px;
	padding-left: 10px;
	border-left: 1px solid var(--scn-border);
	color: var(--scn-muted);
}

@media (max-width: 980px) {
	.scn-hero { grid-template-columns: 1fr; }
	.scn-layout { grid-template-columns: 1fr; }
	.scn-col-side { position: static; }
	.scn-footer__grid { grid-template-columns: 1fr 1fr; }
	.scn-footer__brand-col { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 560px) {
	.scn-footer__grid { grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------------------------
   Utility bar — date + trending ticker.
   --------------------------------------------------------------------------- */
.scn-utility {
	background: var(--scn-primary);
	color: #fff;
	font-size: 13px;
}
.scn-utility__inner {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 34px;
}
.scn-utility__date { white-space: nowrap; opacity: .85; }

.scn-ticker {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	flex: 1;
}
.scn-ticker__label {
	flex: 0 0 auto;
	background: var(--scn-accent);
	color: var(--scn-ink);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 2px 8px;
	border-radius: 4px;
}
[data-theme="dark"] .scn-ticker__label { color: #101613; }
.scn-ticker__viewport { overflow: hidden; flex: 1; min-width: 0; }
.scn-ticker__track {
	display: inline-flex;
	gap: 36px;
	white-space: nowrap;
	animation: scn-ticker-scroll 40s linear infinite;
	padding-left: 100%;
}
.scn-ticker__viewport:hover .scn-ticker__track { animation-play-state: paused; }
.scn-ticker__item { color: #fff; text-decoration: none; }
.scn-ticker__item:hover { text-decoration: underline; }
.scn-ticker__item + .scn-ticker__item::before {
	content: "•";
	color: var(--scn-accent);
	margin-right: 36px;
}
@keyframes scn-ticker-scroll {
	to { transform: translateX(-100%); }
}
@media (prefers-reduced-motion: reduce) {
	.scn-ticker__track { animation: none; padding-left: 0; }
}
@media (max-width: 600px) {
	.scn-utility__date { display: none; }
}

/* ---------------------------------------------------------------------------
   Score strip & league table — mount points for Nsem Match Center.
   The theme styles the containers only; the plugin owns the content.
   --------------------------------------------------------------------------- */
.scn-score-strip {
	margin: 0 0 36px;
	padding: 12px 16px;
	background: var(--scn-surface);
	border: 1px solid var(--scn-border);
	border-radius: var(--scn-radius);
	overflow-x: auto;
	font-variant-numeric: tabular-nums;
}

/* ---------------------------------------------------------------------------
   Badges — league chip.
   --------------------------------------------------------------------------- */
.scn-badge--league {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 2px 8px;
	border-radius: 4px;
	background: var(--scn-surface);
	border: 1px solid var(--scn-border);
	color: var(--scn-primary);
	text-decoration: none;
}
.scn-badge--league:hover { border-color: var(--scn-primary); }

/* Club taxonomy chip — solid primary fill for prominence. */
.scn-badge--club {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 3px 9px;
	border-radius: 4px;
	background: var(--scn-primary);
	color: #fff;
	text-decoration: none;
}
.scn-badge--club:hover { background: var(--scn-accent); }

/* Sport taxonomy chip — teal variant. */
.scn-badge--sport {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 2px 8px;
	border-radius: 4px;
	background: rgba(114, 186, 169, .12);
	border: 1px solid rgba(114, 186, 169, .35);
	color: var(--scn-accent-2);
	text-decoration: none;
}
.scn-badge--sport:hover { border-color: var(--scn-accent-2); }

/* Kicker row — groups category + league + sport chips inline. */
.scn-report__kicker-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: 10px;
}

/* ---------------------------------------------------------------------------
   Taxonomy archive header.
   --------------------------------------------------------------------------- */
.scn-tax-header {
	margin-bottom: 32px;
}
.scn-tax-header .scn-kicker {
	display: inline-block;
	margin-bottom: 8px;
}
.scn-tax-header .scn-archive__desc {
	max-width: 680px;
	color: var(--scn-muted);
	font-size: 15px;
	line-height: 1.6;
	margin-top: 10px;
}

/* ---------------------------------------------------------------------------
   Club profile — hero header.
   --------------------------------------------------------------------------- */
.scn-club-hero {
	background: #120810;
	color: #fff;
	padding: 48px 0 40px;
	position: relative;
	overflow: hidden;
}
.scn-club-hero--banner::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--scn-club-banner) center/cover no-repeat;
	opacity: .18;
	pointer-events: none;
}
.scn-club-hero__inner {
	display: flex;
	align-items: center;
	gap: 32px;
	position: relative;
}
.scn-club-hero__crest {
	flex: 0 0 100px;
	width: 100px;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,.08);
	border-radius: 16px;
	overflow: hidden;
}
.scn-club-hero__crest img { width: 100%; height: 100%; object-fit: contain; }
.scn-club-hero__crest-initial {
	font-size: 42px;
	font-weight: 900;
	color: rgba(255,255,255,.6);
	font-family: var(--scn-display);
}
.scn-club-hero__name {
	font-size: clamp(26px, 5vw, 48px);
	font-family: var(--scn-display);
	font-weight: 400;
	color: #fff;
	margin: 0 0 14px;
	line-height: 1.05;
	text-transform: uppercase;
	letter-spacing: .01em;
}
.scn-club-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 24px;
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	font-size: 14px;
	color: rgba(255,255,255,.7);
}
.scn-club-hero__meta li span {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .06em;
	opacity: .55;
	margin-right: 5px;
}
.scn-club-hero__socials {
	display: flex;
	gap: 10px;
	align-items: center;
}
.scn-club-hero__social {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 50%;
	transition: border-color .15s, background .15s;
}
.scn-club-hero__social:hover { border-color: rgba(255,255,255,.6); background: rgba(255,255,255,.1); }
.scn-club-hero__social img { filter: brightness(0) invert(1); opacity: .8; }

/* ---------------------------------------------------------------------------
   Club profile — body layout.
   --------------------------------------------------------------------------- */
.scn-club-body {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 48px;
	padding: 40px 0 64px;
	align-items: start;
}
.scn-club-main {}
.scn-club-side { position: sticky; top: 24px; }

/* Squad grid */
.scn-club-squad {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 12px;
}
.scn-club-player {
	position: relative;
	display: block;
	text-decoration: none;
	border-radius: var(--scn-radius);
	overflow: hidden;
	aspect-ratio: 3 / 4;
	background: #1a1a2e;
	transition: transform .2s;
}
.scn-club-player:hover { transform: translateY(-3px); }
.scn-club-player img,
.scn-club-player .scn-thumb-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* Bottom gradient + name overlay */
.scn-club-player::after {
	content: '';
	position: absolute;
	inset: 40% 0 0 0;
	background: linear-gradient(to bottom, transparent, rgba(0,0,0,.78) 100%);
	pointer-events: none;
}
.scn-club-player__overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 10px 10px 12px;
	z-index: 2;
}
.scn-club-player__name {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #fff;
	line-height: 1.2;
}

/* News feed sidebar */
.scn-club-newsfeed { list-style: none; margin: 0; padding: 0; }
.scn-club-newsfeed__item {
	display: flex;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--scn-border);
}
.scn-club-newsfeed__item:first-child { padding-top: 0; }
.scn-club-newsfeed__item:last-child { border-bottom: none; }
.scn-club-newsfeed__thumb {
	flex: 0 0 80px;
	width: 80px;
	height: 60px;
	overflow: hidden;
	border-radius: calc(var(--scn-radius) - 2px);
	display: block;
}
.scn-club-newsfeed__thumb img,
.scn-club-newsfeed__thumb .scn-thumb-placeholder { width: 100%; height: 100%; object-fit: cover; }
.scn-club-newsfeed__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.scn-club-newsfeed__title {
	font-size: 13px;
	font-weight: 600;
	color: var(--scn-ink);
	text-decoration: none;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.scn-club-newsfeed__title:hover { color: var(--scn-primary); }
.scn-club-newsfeed__date { font-size: 11px; color: var(--scn-muted); }

.scn-section__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--scn-surface);
	border: 1px solid var(--scn-border);
	border-radius: 99px;
	font-size: 12px;
	font-weight: 600;
	color: var(--scn-muted);
	padding: 1px 8px;
	margin-left: 8px;
	vertical-align: middle;
}

@media (max-width: 900px) {
	.scn-club-body { grid-template-columns: 1fr; gap: 32px; }
	.scn-club-side { position: static; }
	.scn-club-squad { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}
@media (max-width: 560px) {
	.scn-club-hero__inner { flex-direction: column; align-items: flex-start; gap: 20px; }
	.scn-club-hero { padding: 32px 0 28px; }
	.scn-club-hero__name { font-size: 28px; }
	.scn-club-squad { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 12px; }
}

/* ---------------------------------------------------------------------------
   Person "In the news" stories.
   --------------------------------------------------------------------------- */
.scn-person-stories { border-top: 1px solid var(--scn-border); padding-top: 28px; }
.scn-person-stories__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}
.scn-person-stories__list li {
	border-bottom: 1px solid var(--scn-border);
}
.scn-person-stories__list li a {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 13px 0;
	color: var(--scn-ink);
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
}
.scn-person-stories__list li a:hover { color: var(--scn-primary); }
.scn-person-stories__date {
	flex-shrink: 0;
	font-size: 12px;
	color: var(--scn-muted);
	font-weight: 400;
}

/* ---------------------------------------------------------------------------
   Rumour disclaimer.
   --------------------------------------------------------------------------- */
.scn-rumour-note {
	margin: 0 0 18px;
	padding: 10px 14px;
	background: var(--scn-surface);
	border-left: 3px solid var(--scn-accent-2);
	border-radius: 0 var(--scn-radius) var(--scn-radius) 0;
	font-size: 14px;
	color: var(--scn-muted);
}
.scn-rumour-note strong { color: var(--scn-accent-2); text-transform: uppercase; letter-spacing: .04em; }

/* ---------------------------------------------------------------------------
   Culture band — dark tokens even in light mode.
   --------------------------------------------------------------------------- */
.scn-culture {
	--scn-bg: #120810;
	--scn-surface: #1C0F14;
	--scn-border: #2E1822;
	--scn-ink: #F2E8EC;
	--scn-muted: #A08090;
	--scn-primary: #C03060;
	--scn-accent: #D5E7B5;
	--scn-accent-2: #72BAA9;
	background: var(--scn-bg);
	color: var(--scn-ink);
	margin: 48px calc(50% - 50vw) 0;
	padding: 40px calc(50vw - 50%) 48px;
}
.scn-culture .scn-card { background: var(--scn-surface); }

/* ---------------------------------------------------------------------------
   Print (reader-friendly).
   --------------------------------------------------------------------------- */
@media print {
	.scn-header,
	.scn-footer,
	.scn-nav,
	.scn-utility,
	.scn-culture,
	.scn-score-strip,
	.scn-progress,
	.scn-consent,
	.scn-theme-toggle,
	.scn-print-btn,
	.scn-share-btn-inline,
	.scn-related-wrap,
	.skip-link,
	.navigation {
		display: none !important;
	}
	body { background: #fff; color: #000; }
	.scn-main { padding: 0; }
	.scn-article { max-width: 100%; }
	a { color: #000; text-decoration: none; }
	.scn-article__content, .scn-profile-facts { font-size: 12pt; }
	.scn-bcast { background: transparent; color: #000; margin: 0; border-radius: 0; }
	.scn-bcast__top { grid-template-columns: 1fr 200px; min-height: 0; }
	.scn-bcast__id { padding: 20px 20px 20px 0; justify-content: flex-start; }
	.scn-bcast__tag { color: #444; border-color: #ccc; background: transparent; }
	.scn-bcast__name { color: #000; }
	.scn-bcast__known { color: #444; }
	.scn-bcast__stats strong { color: #000; }
	.scn-bcast__stats span { color: #444; }
	.scn-bcast__stats li { border-right-color: #ccc; }
	.scn-bcast__photo::before,
	.scn-bcast__photo::after { display: none; }
	.scn-bcast__icon-row { display: none; }
}

@media (max-width: 700px) {
	.scn-home-cta { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
	.scn-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
	.scn-nav { display: none; }
	.scn-nav.is-open {
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		background: var(--scn-bg);
		border-top: 1px solid var(--scn-border);
		border-bottom: 1px solid var(--scn-border);
		box-shadow: 0 12px 24px rgba(0, 0, 0, .12);
		z-index: 950;
	}
	.scn-nav.is-open ul { flex-direction: column; gap: 0; }
	.scn-nav.is-open li { padding: 0 20px; }
	.scn-nav.is-open a { display: block; padding: 12px 0; border-bottom: 1px solid var(--scn-border); }
	.scn-nav.is-open li:last-child a { border-bottom: 0; }
}

/* ==========================================================================
   Directory
   ========================================================================== */

/* Archive header */
.scn-dir-header { padding: 40px 0 32px; }
.scn-dir-title  { font-size: 2rem; font-weight: 800; margin: 0 0 8px; }
.scn-dir-intro  { color: var(--scn-muted); margin: 0 0 24px; }

/* Search */
.scn-dir-search-form  { margin-bottom: 20px; }
.scn-dir-search-wrap  { display: flex; max-width: 480px; border: 1px solid var(--scn-border); border-radius: 6px; overflow: hidden; background: var(--scn-bg); }
.scn-dir-search-input { flex: 1; border: 0; padding: 10px 14px; font-size: .95rem; background: transparent; color: var(--scn-text); outline: none; }
.scn-dir-search-btn   { padding: 0 14px; background: none; border: 0; border-left: 1px solid var(--scn-border); color: var(--scn-muted); cursor: pointer; display: flex; align-items: center; }
.scn-dir-search-btn:hover { color: var(--scn-accent); }

/* Filter pills */
.scn-dir-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.scn-dir-filter  { padding: 6px 16px; border-radius: 100px; border: 1px solid var(--scn-border); font-size: .85rem; font-weight: 600; color: var(--scn-text); text-decoration: none; background: var(--scn-bg); transition: background .15s, color .15s, border-color .15s; }
.scn-dir-filter:hover,
.scn-dir-filter.is-active { background: var(--scn-accent); color: #fff; border-color: var(--scn-accent); }

/* Listing grid */
.scn-dir-grid  { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 40px; }

/* Card */
.scn-dir-card         { background: var(--scn-surface); border: 1px solid var(--scn-border); border-radius: 10px; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.scn-dir-card:hover   { box-shadow: 0 6px 20px rgba(0,0,0,.08); transform: translateY(-2px); }
.scn-dir-card__inner  { display: flex; gap: 14px; padding: 18px; text-decoration: none; color: inherit; }
.scn-dir-card__logo   { flex-shrink: 0; width: 56px; height: 56px; border-radius: 8px; overflow: hidden; background: var(--scn-accent); display: flex; align-items: center; justify-content: center; }
.scn-dir-card__img    { width: 56px; height: 56px; object-fit: cover; display: block; }
.scn-dir-card__initial{ font-size: 1.5rem; font-weight: 800; color: #fff; line-height: 1; }
.scn-dir-card__body   { flex: 1; min-width: 0; }
.scn-dir-card__top    { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }
.scn-dir-card__name   { font-size: .95rem; font-weight: 700; margin: 0; color: var(--scn-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.scn-dir-card__location { font-size: .78rem; color: var(--scn-muted); margin: 4px 0 0; display: flex; align-items: center; gap: 4px; }
.scn-dir-card__tagline  { font-size: .82rem; color: var(--scn-muted); margin: 6px 0 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Verified badge */
.scn-dir-verified      { display: inline-flex; align-items: center; gap: 4px; background: #0d8a5e; color: #fff; border-radius: 100px; width: 18px; height: 18px; justify-content: center; flex-shrink: 0; }
.scn-dir-verified--lg  { width: auto; height: auto; padding: 3px 10px; font-size: .78rem; font-weight: 700; border-radius: 100px; }

/* Type badge */
.scn-dir-badge { display: inline-block; padding: 2px 10px; background: color-mix(in srgb, var(--scn-accent) 12%, transparent); color: var(--scn-accent); border-radius: 100px; font-size: .75rem; font-weight: 700; text-decoration: none; margin-top: 4px; }
a.scn-dir-badge:hover { background: var(--scn-accent); color: #fff; }

.scn-dir-empty { color: var(--scn-muted); text-align: center; padding: 60px 0; }

/* ---- Single listing profile ---- */
.scn-dir-profile { padding: 32px 0 60px; }

/* Hero row */
.scn-dir-profile__hero      { display: flex; gap: 28px; align-items: flex-start; margin-bottom: 40px; }
.scn-dir-profile__logo-wrap { flex-shrink: 0; }
.scn-dir-profile__logo      { width: 120px; height: 120px; border-radius: 12px; object-fit: cover; display: block; border: 1px solid var(--scn-border); }
.scn-dir-profile__initial   { width: 120px; height: 120px; border-radius: 12px; background: var(--scn-accent); display: flex; align-items: center; justify-content: center; font-size: 3rem; font-weight: 900; color: #fff; }
.scn-dir-profile__identity  { flex: 1; min-width: 0; }
.scn-dir-profile__name-row  { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.scn-dir-profile__name      { font-size: 2rem; font-weight: 900; margin: 0; }
.scn-dir-profile__types     { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.scn-dir-profile__tagline   { font-size: 1.05rem; color: var(--scn-muted); margin: 0 0 14px; }
.scn-dir-profile__meta      { display: flex; flex-wrap: wrap; gap: 16px; margin: 0; }
.scn-dir-profile__meta-item { display: flex; flex-direction: column; gap: 2px; }
.scn-dir-profile__meta-item dt { font-size: .75rem; font-weight: 700; color: var(--scn-muted); text-transform: uppercase; letter-spacing: .05em; display: flex; align-items: center; gap: 4px; }
.scn-dir-profile__meta-item dd { font-size: .9rem; color: var(--scn-text); margin: 0; }

/* Two-column body */
.scn-dir-profile__body    { display: grid; grid-template-columns: 1fr 280px; gap: 40px; align-items: start; }
.scn-dir-profile__content { min-width: 0; }

/* Notable people */
.scn-dir-notable         { margin-top: 40px; border-top: 1px solid var(--scn-border); padding-top: 28px; }
.scn-dir-notable__heading{ font-size: 1.1rem; font-weight: 800; margin: 0 0 14px; }
.scn-dir-notable__list   { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px 16px; }
.scn-dir-notable__list li{ padding: 8px 12px; background: var(--scn-surface); border: 1px solid var(--scn-border); border-radius: 6px; font-size: .9rem; font-weight: 600; }

/* Sidebar */
.scn-dir-profile__sidebar { background: var(--scn-surface); border: 1px solid var(--scn-border); border-radius: 10px; padding: 20px; display: flex; flex-direction: column; gap: 0; }
.scn-dir-sidebar-btn      { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 16px; background: var(--scn-accent); color: #fff; border-radius: 8px; font-weight: 700; font-size: .9rem; text-decoration: none; margin-bottom: 20px; transition: opacity .15s; }
.scn-dir-sidebar-btn:hover{ opacity: .88; }
.scn-dir-sidebar-section  { border-top: 1px solid var(--scn-border); padding-top: 16px; margin-top: 16px; }
.scn-dir-sidebar-heading  { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--scn-muted); margin: 0 0 10px; }
.scn-dir-sidebar-link     { display: flex; align-items: center; gap: 8px; font-size: .88rem; color: var(--scn-text); text-decoration: none; margin-bottom: 6px; word-break: break-all; }
.scn-dir-sidebar-link:hover{ color: var(--scn-accent); }
.scn-dir-social           { display: flex; gap: 10px; }
.scn-dir-social__link     { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--scn-border); border-radius: 8px; color: var(--scn-text); text-decoration: none; transition: border-color .15s, color .15s; }
.scn-dir-social__link:hover{ border-color: var(--scn-accent); color: var(--scn-accent); }
.scn-dir-sidebar-note     { font-size: .75rem; color: var(--scn-muted); margin: 16px 0 0; border-top: 1px solid var(--scn-border); padding-top: 14px; }

@media (max-width: 900px) {
	.scn-dir-grid { grid-template-columns: repeat(2, 1fr); }
	.scn-dir-profile__body { grid-template-columns: 1fr; }
	.scn-dir-profile__sidebar { order: -1; }
}

@media (max-width: 600px) {
	.scn-dir-grid { grid-template-columns: 1fr; }
	.scn-dir-profile__hero { flex-direction: column; gap: 16px; }
	.scn-dir-profile__name { font-size: 1.5rem; }
}

/* ===========================================================================
   Player Profile — Cinematic Stadium Layout
   Always-dark hero, two-column body, tab-switched panels.
   =========================================================================== */

/* Page wrapper — forces dark tokens site-wide for this template */
.scn-person-wrap {
	--pf-bg:       #0e0e0e;
	--pf-surface:  #181818;
	--pf-surface2: #222;
	--pf-border:   #2a2a2a;
	--pf-ink:      #f0f0f0;
	--pf-muted:    #888;
	--pf-muted2:   #444;
	--pf-accent:   #c8102e;
	--pf-accent2:  #e8223e;
	--pf-gold:     #f0a500;
	background: var(--pf-bg);
	color: var(--pf-ink);
}

/* ── HERO ────────────────────────────────────────────────────────────────── */
.scn-pf-hero {
	position: relative;
	background: #080808;
	min-height: 400px;
	overflow: hidden;
}

/* Gradient masks photo → content */
.scn-pf-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to right,  transparent 24%, rgba(8,8,8,.75) 52%, #080808 72%),
		linear-gradient(to bottom, transparent 65%, #080808 100%);
	z-index: 2;
	pointer-events: none;
}

/* Player photo — absolute left fill */
.scn-pf-hero__photo {
	position: absolute;
	left: 0;
	top: 0;
	width: 56%;
	height: 100%;
	overflow: hidden;
}
.scn-pf-hero__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	filter: contrast(1.05) saturate(1.1);
	display: block;
}

/* Jersey number watermark */
.scn-pf-hero__number {
	position: absolute;
	bottom: -10px;
	left: calc(56% - 180px);
	z-index: 3;
	font-size: 180px;
	font-weight: 900;
	color: rgba(255,255,255,.05);
	line-height: 1;
	letter-spacing: -6px;
	user-select: none;
	pointer-events: none;
	font-family: var(--scn-display);
}

/* Club badge — top-left corner */
.scn-pf-hero__badge {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 10;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: rgba(255,255,255,.95);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 16px rgba(0,0,0,.6);
	overflow: hidden;
}
.scn-pf-hero__badge img { width: 38px; height: 38px; object-fit: contain; }
.scn-pf-hero__badge span { font-size: 22px; font-weight: 900; color: var(--pf-accent); }

/* Inner layout — pushes content to the right */
.scn-pf-hero__inner {
	position: relative;
	z-index: 5;
	padding: 40px 0 44px;
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	gap: 28px;
	min-height: 400px;
}

.scn-pf-hero__info {
	flex: 1;
	max-width: 520px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-top: 6px;
}

/* Name */
.scn-pf-hero__firstname {
	display: block;
	font-size: clamp(14px, 2vw, 20px);
	font-weight: 400;
	letter-spacing: 6px;
	text-transform: uppercase;
	color: #bbb;
	line-height: 1;
	margin-bottom: 4px;
	font-family: var(--scn-font);
}
.scn-pf-hero__lastname {
	display: block;
	font-size: clamp(42px, 7vw, 72px);
	font-weight: 900;
	letter-spacing: -2px;
	text-transform: uppercase;
	line-height: .95;
	color: #fff;
	text-shadow: 0 2px 28px rgba(0,0,0,.8);
	font-family: var(--scn-display);
}

/* Meta row */
.scn-pf-hero__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 13px;
	color: #aaa;
}
.scn-pf-hero__meta-chip {
	background: rgba(200,16,46,.18);
	border: 1px solid rgba(200,16,46,.4);
	color: #ff6b80;
	padding: 3px 10px;
	border-radius: 100px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .3px;
	text-decoration: none;
	transition: background .15s;
}
.scn-pf-hero__meta-chip:hover { background: rgba(200,16,46,.3); }
.scn-pf-hero__meta-sep { color: var(--pf-muted2); }

/* KPI strip */
.scn-pf-hero__kpis {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
.scn-pf-kpi { display: flex; flex-direction: column; gap: 2px; }
.scn-pf-kpi__val {
	font-size: clamp(18px, 2.5vw, 24px);
	font-weight: 800;
	color: #fff;
	line-height: 1;
}
.scn-pf-kpi__val--accent { color: var(--pf-accent); font-size: 16px; }
.scn-pf-kpi__lbl {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .8px;
	color: var(--pf-muted);
}
.scn-pf-kpi__div { width: 1px; background: var(--pf-border); align-self: stretch; }

/* Known for */
.scn-pf-hero__known {
	font-size: 13px;
	color: #aaa;
	font-style: italic;
	margin: 0;
}

/* Actions row */
.scn-pf-hero__actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.scn-pf-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: rgba(255,255,255,.07);
	border: 1px solid var(--pf-border);
	border-radius: 8px;
	color: #ccc;
	cursor: pointer;
	transition: background .15s, border-color .15s;
	text-decoration: none;
}
.scn-pf-icon-btn:hover { background: rgba(255,255,255,.14); border-color: #555; }

.scn-pf-fav-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: var(--pf-accent);
	border: none;
	border-radius: 8px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .3px;
	padding: 9px 16px;
	cursor: pointer;
	transition: background .15s;
	white-space: nowrap;
}
.scn-pf-fav-btn:hover { background: var(--pf-accent2); }
.scn-pf-fav-btn--active { background: #333; border: 1px solid #555; }
.scn-pf-fav-btn--active:hover { background: #444; }

/* Right stat column */
.scn-pf-hero__stat-col {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 110px;
	padding-top: 6px;
}
.scn-pf-stat-box {
	background: rgba(255,255,255,.05);
	border: 1px solid var(--pf-border);
	border-radius: 8px;
	padding: 12px 14px;
	text-align: center;
}
.scn-pf-stat-box--accent { background: var(--pf-accent); border-color: var(--pf-accent); }
.scn-pf-stat-box__num {
	display: block;
	font-size: 30px;
	font-weight: 900;
	color: #fff;
	line-height: 1;
}
.scn-pf-stat-box__num--sm { font-size: 18px; letter-spacing: -0.5px; }
.scn-pf-stat-box__lbl {
	display: block;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .8px;
	text-transform: uppercase;
	color: rgba(255,255,255,.55);
	margin-top: 4px;
}

/* ── TAB BAR ─────────────────────────────────────────────────────────────── */
.scn-pf-tabs {
	background: #111;
	border-bottom: 1px solid var(--pf-border);
	position: sticky;
	top: 52px;
	z-index: 90;
}
.scn-pf-tabs__inner {
	display: flex;
	gap: 0;
}
.scn-pf-tab {
	padding: 14px 20px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: var(--pf-muted);
	cursor: pointer;
	border: none;
	background: none;
	border-bottom: 3px solid transparent;
	transition: color .15s, border-color .15s;
}
.scn-pf-tab:hover { color: var(--pf-ink); }
.scn-pf-tab--active { color: var(--pf-accent); border-bottom-color: var(--pf-accent); }

/* ── PAGE BODY ───────────────────────────────────────────────────────────── */
.scn-pf-page { background: var(--pf-bg); padding-bottom: 60px; }

.scn-pf-layout {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 28px;
	align-items: start;
	padding-top: 28px;
}

/* Panels — tab content */
.scn-pf-panel { display: none; }
.scn-pf-panel--active { display: block; }

/* Section heading */
.scn-pf-section { margin-bottom: 36px; }
.scn-pf-section__title {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--pf-muted);
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.scn-pf-section__title::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--pf-border);
}

/* ── SEASON STATS GRID ───────────────────────────────────────────────────── */
.scn-pf-stats-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 10px;
}
.scn-pf-stat-card {
	background: var(--pf-surface);
	border: 1px solid var(--pf-border);
	border-top: 2px solid var(--pf-border);
	border-radius: 6px;
	padding: 18px 10px;
	text-align: center;
}
.scn-pf-stat-card--hi { border-top-color: var(--pf-accent); }
.scn-pf-stat-card__num {
	display: block;
	font-size: 28px;
	font-weight: 900;
	color: #fff;
	line-height: 1;
}
.scn-pf-stat-card--hi .scn-pf-stat-card__num { color: var(--pf-accent); }
.scn-pf-stat-card__lbl {
	display: block;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .8px;
	text-transform: uppercase;
	color: var(--pf-muted);
	margin-top: 7px;
}

/* ── NEWS LIST ───────────────────────────────────────────────────────────── */
.scn-pf-news { display: flex; flex-direction: column; gap: 0; }
.scn-pf-news-item {
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--pf-border);
	align-items: start;
}
.scn-pf-news-item:last-child { border-bottom: none; }
.scn-pf-news-thumb {
	width: 96px;
	height: 68px;
	border-radius: 5px;
	overflow: hidden;
	flex-shrink: 0;
	display: block;
	background: var(--pf-surface2);
}
.scn-pf-news-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.scn-pf-news-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}
.scn-pf-news-tag {
	background: var(--pf-accent);
	color: #fff;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .5px;
	text-transform: uppercase;
	padding: 2px 6px;
	border-radius: 3px;
}
.scn-pf-news-meta time { font-size: 11px; color: var(--pf-muted); }
.scn-pf-news-title {
	font-size: 13px;
	font-weight: 600;
	color: var(--pf-ink);
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-decoration: none;
}
.scn-pf-news-title:hover { color: var(--pf-accent); }

/* ── STATS TABLE ─────────────────────────────────────────────────────────── */
.scn-pf-table-wrap { overflow-x: auto; }
.scn-pf-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}
.scn-pf-table thead th {
	padding: 9px 14px;
	text-align: left;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: var(--pf-muted);
	border-bottom: 1px solid var(--pf-border);
	white-space: nowrap;
}
.scn-pf-table thead th:not(:first-child) { text-align: center; }
.scn-pf-table tbody tr { border-bottom: 1px solid var(--pf-border); transition: background .1s; }
.scn-pf-table tbody tr:last-child { border-bottom: none; }
.scn-pf-table tbody tr:hover { background: rgba(255,255,255,.03); }
.scn-pf-table tbody td {
	padding: 10px 14px;
	color: var(--pf-ink);
	vertical-align: middle;
}
.scn-pf-table tbody td:not(:first-child) { text-align: center; }
.scn-pf-table tbody td strong { font-weight: 800; color: #fff; }

/* ── HONOURS — FULL (career panel) ──────────────────────────────────────── */
.scn-pf-honours-full { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0; }
.scn-pf-honours-full__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid var(--pf-border);
	font-size: 13px;
}
.scn-pf-honours-full__item:last-child { border-bottom: none; }
.scn-pf-honours-full__icon { font-size: 15px; flex-shrink: 0; }
.scn-pf-honours-full__title { font-weight: 600; flex: 1; }
.scn-pf-honours-full__club { font-size: 11px; color: var(--pf-muted); }
.scn-pf-honours-full__year {
	font-size: 11px;
	font-weight: 700;
	color: var(--pf-gold);
	background: rgba(240,165,0,.1);
	border: 1px solid rgba(240,165,0,.2);
	padding: 2px 8px;
	border-radius: 100px;
	white-space: nowrap;
}

/* ── SIDEBAR CARDS ───────────────────────────────────────────────────────── */
.scn-pf-aside { display: flex; flex-direction: column; gap: 18px; }
.scn-pf-card {
	background: var(--pf-surface);
	border: 1px solid var(--pf-border);
	border-radius: 8px;
	overflow: hidden;
}
.scn-pf-card__head {
	background: var(--pf-surface2);
	border-bottom: 1px solid var(--pf-border);
	padding: 10px 16px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .8px;
	text-transform: uppercase;
	color: var(--pf-muted);
	margin: 0;
}

/* Profile table */
.scn-pf-profile-tbl { width: 100%; border-collapse: collapse; }
.scn-pf-profile-tbl tr { border-bottom: 1px solid var(--pf-border); }
.scn-pf-profile-tbl tr:last-child { border-bottom: none; }
.scn-pf-profile-tbl td { padding: 9px 16px; font-size: 12px; vertical-align: top; }
.scn-pf-profile-tbl__label { color: var(--pf-muted); font-weight: 500; white-space: nowrap; width: 44%; }
.scn-pf-profile-tbl__val { color: var(--pf-ink); font-weight: 600; }
.scn-pf-profile-tbl__val a { color: var(--pf-ink); text-decoration: none; }
.scn-pf-profile-tbl__val a:hover { color: var(--pf-accent); }

/* Career summary table */
.scn-pf-career-tbl { width: 100%; border-collapse: collapse; font-size: 12px; }
.scn-pf-career-tbl thead th {
	padding: 8px 14px;
	text-align: left;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: var(--pf-muted);
	border-bottom: 1px solid var(--pf-border);
}
.scn-pf-career-tbl thead th:not(:first-child) { text-align: center; }
.scn-pf-career-tbl tbody tr { border-bottom: 1px solid var(--pf-border); }
.scn-pf-career-tbl tbody tr:last-child { border-bottom: none; }
.scn-pf-career-tbl tbody tr:hover { background: rgba(255,255,255,.03); }
.scn-pf-career-tbl tbody td { padding: 9px 14px; color: var(--pf-ink); vertical-align: top; }
.scn-pf-career-tbl tbody td:not(:first-child) { text-align: center; font-weight: 700; }
.scn-pf-career-tbl__club { display: block; font-weight: 600; }
.scn-pf-career-tbl__years { display: block; font-size: 10px; color: var(--pf-muted); margin-top: 1px; }

/* Honours sidebar */
.scn-pf-honours { list-style: none; padding: 0; margin: 0; }
.scn-pf-honours__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	border-bottom: 1px solid var(--pf-border);
}
.scn-pf-honours__item:last-child { border-bottom: none; }
.scn-pf-honours__icon { font-size: 14px; flex-shrink: 0; }
.scn-pf-honours__info { flex: 1; min-width: 0; }
.scn-pf-honours__title { display: block; font-size: 12px; font-weight: 600; color: var(--pf-ink); }
.scn-pf-honours__club  { display: block; font-size: 10px; color: var(--pf-muted); margin-top: 1px; }
.scn-pf-honours__year {
	font-size: 10px;
	font-weight: 700;
	color: var(--pf-gold);
	background: rgba(240,165,0,.1);
	border: 1px solid rgba(240,165,0,.2);
	padding: 2px 6px;
	border-radius: 100px;
	white-space: nowrap;
	flex-shrink: 0;
}

/* Links card */
.scn-pf-links { list-style: none; padding: 8px 0; margin: 0; }
.scn-pf-links li { border-bottom: 1px solid var(--pf-border); }
.scn-pf-links li:last-child { border-bottom: none; }
.scn-pf-links a { display: block; padding: 9px 16px; font-size: 12px; font-weight: 600; color: var(--pf-ink); text-decoration: none; transition: color .15s; }
.scn-pf-links a:hover { color: var(--pf-accent); }

/* ── RESPONSIVE ──────────────────────────────────────────────────────────── */

/* Tablet: collapse sidebar, 3-col stats */
@media (max-width: 900px) {
	.scn-pf-layout { grid-template-columns: 1fr; }
	.scn-pf-aside  { order: -1; }
	.scn-pf-stats-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Mobile hero: photo fills full background, content stacks at bottom */
@media (max-width: 860px) {
	.scn-pf-hero { min-height: 520px; }

	/* Photo becomes full-bleed background — fully visible */
	.scn-pf-hero__photo {
		width: 100%;
		height: 100%;
		opacity: 1;
	}
	.scn-pf-hero__photo img {
		object-position: top center;
	}

	/* Gradient: clear at top so face shows, dark from 50% down */
	.scn-pf-hero::before {
		background:
			linear-gradient(to bottom,
				transparent          0%,
				rgba(8,8,8,.15)     30%,
				rgba(8,8,8,.75)     55%,
				rgba(8,8,8,.96)     72%,
				#080808             88%
			);
	}

	/* Stack content column → sits at the bottom of the hero */
	.scn-pf-hero__inner {
		flex-direction: column;
		justify-content: flex-end;
		align-items: flex-start;
		gap: 0;
		min-height: 520px;
		padding: 0 0 28px;
	}

	/* Info block: full width, stacks last (visually at very bottom) */
	.scn-pf-hero__info {
		max-width: 100%;
		width: 100%;
		order: 2;
		gap: 10px;
	}

	/* Stat boxes: horizontal row sits just above the name block */
	.scn-pf-hero__stat-col {
		flex-direction: row;
		gap: 8px;
		order: 1;
		min-width: auto;
		margin-bottom: 14px;
	}
	.scn-pf-stat-box {
		min-width: 72px;
		padding: 8px 12px;
	}
	.scn-pf-stat-box__num      { font-size: 22px; }
	.scn-pf-stat-box__num--sm  { font-size: 15px; }
	.scn-pf-stat-box__lbl      { font-size: 8px; }

	/* Jersey watermark — push to far right, smaller */
	.scn-pf-hero__number {
		left: auto;
		right: -8px;
		font-size: 130px;
		bottom: -5px;
	}

	/* Badge: slightly smaller on mobile */
	.scn-pf-hero__badge { width: 46px; height: 46px; top: 14px; left: 14px; }
	.scn-pf-hero__badge img { width: 32px; height: 32px; }
}

/* Small phone tweaks */
@media (max-width: 480px) {
	.scn-pf-hero { min-height: 480px; }
	.scn-pf-hero__inner { min-height: 480px; padding-bottom: 24px; }

	.scn-pf-hero__firstname { font-size: 13px; letter-spacing: 4px; }
	.scn-pf-hero__lastname  { font-size: clamp(36px, 11vw, 52px); }

	/* KPI strip: allow wrap, tighten gaps */
	.scn-pf-hero__kpis { gap: 8px 14px; flex-wrap: wrap; }
	.scn-pf-kpi__div   { display: none; }
	.scn-pf-kpi__val   { font-size: 18px; }

	/* Actions: allow wrap */
	.scn-pf-hero__actions { flex-wrap: wrap; gap: 8px; }

	/* Stat boxes: 3 boxes in a row — tighter */
	.scn-pf-stat-box { min-width: 62px; padding: 7px 10px; }
	.scn-pf-stat-box__num { font-size: 20px; }

	/* Stats grid: 2 columns */
	.scn-pf-stats-grid { grid-template-columns: repeat(2, 1fr); }

	/* Tabs: horizontally scrollable, don't wrap */
	.scn-pf-tabs__inner {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		flex-wrap: nowrap;
	}
	.scn-pf-tabs__inner::-webkit-scrollbar { display: none; }
	.scn-pf-tab { padding: 12px 14px; font-size: 11px; white-space: nowrap; flex-shrink: 0; }

	/* Layout padding */
	.scn-pf-layout { padding-top: 14px; }

	/* News items: tighter */
	.scn-pf-news-item { grid-template-columns: 80px 1fr; gap: 10px; }
	.scn-pf-news-thumb { width: 80px; height: 58px; }

	/* Profile table: smaller text */
	.scn-pf-profile-tbl td { font-size: 11px; padding: 8px 12px; }
}

/* ===========================================================================
   Footer — black cinematic rebuild (2026-07-12)
   Overrides all earlier .scn-footer* rules above.
   =========================================================================== */

.scn-footer {
	position: relative;
	background: #0a0a0a;
	color: #fff;
	border-top: none;
	overflow: hidden;
}

/* Decorative geometric SVG lines */
.scn-footer__deco {
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: .045;
}
.scn-footer__deco svg {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Inner padded area sits above deco */
.scn-footer__inner {
	position: relative;
	z-index: 1;
	padding: 72px 0 56px;
}

/* 4-col grid */
.scn-footer__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1fr;
	gap: 40px 56px;
	align-items: start;
	margin: 0;
}

/* -- Brand column ---------------------------------------------------------------- */
.scn-footer__brand-col { max-width: none; }

.scn-footer__logo-link { display: inline-block; margin-bottom: 4px; }
.scn-footer__logo {
	height: 60px !important;
	width: auto !important;
	max-width: 200px;
	object-fit: contain;
	display: block;
	filter: brightness(0) invert(1);
}

.scn-footer__brand {
	font-family: var(--scn-display);
	font-size: 20px;
	font-weight: 400;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
	display: inline-block;
	margin-bottom: 4px;
}
.scn-footer__brand span { color: var(--scn-primary); }

.scn-footer__about {
	color: #999;
	font-size: 14px;
	line-height: 1.7;
	margin: 16px 0 24px;
}

/* Social icons - circular outlined */
.scn-social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
}
.scn-social__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.25);
	color: #fff;
	text-decoration: none;
	transition: border-color .2s, background .2s;
}
.scn-social__link:hover {
	border-color: #fff;
	background: rgba(255,255,255,.08);
}
.scn-social__link img {
	width: 16px;
	height: 16px;
	filter: brightness(0) invert(1);
	object-fit: contain;
}

/* Newsletter */
.scn-footer__news { margin-bottom: 24px; max-width: 340px; }
.scn-footer__news strong {
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #fff;
	margin-bottom: 10px;
}
.scn-footer__news .scn-newsletter { gap: 8px; }
.scn-footer__news input[type="email"] {
	flex: 1 1 140px;
	padding: 9px 12px;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 6px;
	background: rgba(255,255,255,.06);
	color: #fff;
	font-size: 14px;
}
.scn-footer__news input[type="email"]::placeholder { color: #666; }
.scn-footer__news button {
	border: 0;
	background: var(--scn-primary);
	color: #fff;
	font-weight: 700;
	border-radius: 6px;
	padding: 9px 16px;
	cursor: pointer;
	white-space: nowrap;
}

/* Back to Top */
.scn-back-top {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 10px 20px;
	border: 1px solid rgba(255,255,255,.3);
	color: #fff;
	text-decoration: none;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	transition: border-color .2s, background .2s;
}
.scn-back-top:hover {
	border-color: #fff;
	background: rgba(255,255,255,.06);
	color: #fff;
}

/* -- Nav columns ----------------------------------------------------------------- */
.scn-footer__col { padding-top: 4px; }

.scn-footer__col h3 {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: #fff;
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255,255,255,.12);
}

.scn-footer__col ul { list-style: none; margin: 0; padding: 0; }
.scn-footer__col li { margin-bottom: 12px; }

.scn-footer__col a {
	color: #888;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.4;
	transition: color .15s;
}
.scn-footer__col a:hover { color: #fff; }

.scn-footer__col li:first-child a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(255,255,255,.35);
}
.scn-footer__col li:first-child a:hover { text-decoration-color: #fff; }

/* -- Bottom bar ------------------------------------------------------------------ */
.scn-footer__bottom {
	position: relative;
	z-index: 1;
	background: var(--scn-primary);
	padding: 14px 0;
	border-top: none;
}
.scn-footer__bottom .scn-container {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px 14px;
	color: rgba(255,255,255,.85);
	font-size: 12px;
	text-align: center;
}
.scn-footer__sep { opacity: .5; }
.scn-footer__initiative { opacity: .8; }
.scn-footer__tag { font-style: italic; opacity: .7; }

/* -- Responsive ------------------------------------------------------------------ */
@media (max-width: 900px) {
	.scn-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: 36px 32px;
	}
	.scn-footer__brand-col {
		grid-column: 1 / -1;
		max-width: none;
	}
}
@media (max-width: 560px) {
	.scn-footer__inner { padding: 48px 0 40px; }
	.scn-footer__grid { grid-template-columns: 1fr; gap: 28px; }
	.scn-footer__bottom .scn-container { flex-direction: column; gap: 4px; }
}

/* Teams sidebar panel — initial-letter avatar fallback */
.scn-avatar--initial {
	background: var(--scn-primary);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
}

/* Career Summary tab — table enhancements */
.scn-pf-table--career { width: 100%; }
.scn-pf-table__muted  { color: var(--scn-muted); font-size: 13px; }
.scn-pf-table__total td {
	border-top: 2px solid var(--scn-border);
	font-size: 13px;
	padding-top: 10px;
	color: var(--scn-ink);
}

/* Player profile mobile fixes */
@media (max-width: 860px) {
	/* Stat boxes (Position/Foot) overlap the face — hide on mobile.
	   Same data is visible in the Player Profile sidebar table. */
	.scn-pf-hero__stat-col { display: none; }

	/* Meta row (club · position · nationality) was clipping off-screen */
	.scn-pf-hero__meta { flex-wrap: wrap; gap: 4px 6px; }
}

/* ==========================================================================
   Player profile mobile — STACKED layout: photo on top, details below.
   Completely replaces the overlay approach from the earlier @media (max-width:860px) block.
   ========================================================================== */
@media (max-width: 860px) {

	/* Hero becomes a flex column; no fixed height — grows with content */
	.scn-pf-hero {
		display: flex;
		flex-direction: column;
		min-height: unset;
		overflow: visible;
	}

	/* Photo leaves absolute positioning and flows as the first column child */
	.scn-pf-hero__photo {
		position: relative;
		left: auto; top: auto;
		width: 100%;
		height: 62vw;
		max-height: 380px;
		opacity: 1;
		flex-shrink: 0;
	}
	.scn-pf-hero__photo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: top center;
	}

	/* Gradient covers only the photo portion, fading it into the dark bg */
	.scn-pf-hero::before {
		inset: unset;
		top: 0; left: 0; right: 0;
		height: 62vw;
		max-height: 380px;
		background: linear-gradient(to bottom,
			transparent        25%,
			rgba(8,8,8,.55)    68%,
			#080808           100%
		);
	}

	/* Badge: still absolute in the hero → sits in the photo area at top-left */
	.scn-pf-hero__badge { top: 14px; left: 14px; }

	/* Jersey number watermark — meaningless over the content area, hide it */
	.scn-pf-hero__number { display: none; }

	/* .scn-container is the second flex child — content lives below the photo */
	/* Inner: normal top-down column, no more flex-end push */
	.scn-pf-hero__inner {
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		min-height: unset;
		padding: 20px 0 28px;
		gap: 12px;
	}

	/* Info block: full width, natural DOM order (first) */
	.scn-pf-hero__info {
		order: 0;
		max-width: 100%;
		width: 100%;
		gap: 12px;
	}

	/* Stat boxes: horizontal row after the info block (natural DOM order) */
	.scn-pf-hero__stat-col {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		order: 0;
		gap: 8px;
		margin-bottom: 0;
		min-width: auto;
	}
	.scn-pf-stat-box         { min-width: 72px; padding: 8px 12px; }
	.scn-pf-stat-box__num    { font-size: 22px; }
	.scn-pf-stat-box__num--sm { font-size: 15px; }
	.scn-pf-stat-box__lbl    { font-size: 8px; }

	/* Meta row wraps so long club · position · nationality doesn't clip */
	.scn-pf-hero__meta { flex-wrap: wrap; gap: 4px 6px; }
}

/* Narrow phones */
@media (max-width: 480px) {
	.scn-pf-hero__photo      { height: 68vw; max-height: none; }
	.scn-pf-hero::before     { height: 68vw; }
	.scn-pf-hero__inner      { padding: 16px 0 24px; }
	.scn-pf-hero__firstname  { font-size: 13px; letter-spacing: 4px; }
	.scn-pf-hero__lastname   { font-size: clamp(36px, 11vw, 54px); }
}

/* ================================================
   People Archive (/people/) — Editorial List
   ================================================ */

.scn-ppl-page {
	background: #f4f4f0;
	min-height: 60vh;
}

/* ---- Header ---- */

.scn-ppl-header {
	background: #111;
	color: #fff;
	padding: 2.75rem 0 2.25rem;
	border-bottom: 3px solid #8b1a2c;
}

.scn-ppl-eyebrow {
	display: block;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #8b1a2c;
	margin-bottom: 0.45rem;
}

.scn-ppl-header__title {
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	font-weight: 900;
	letter-spacing: -0.025em;
	line-height: 1;
	margin: 0 0 0.35rem;
}

.scn-ppl-header__intro {
	font-size: 0.85rem;
	color: rgba(255,255,255,0.45);
	margin: 0 0 1.75rem;
}

/* Search */
.scn-ppl-search-form { margin-bottom: 1.25rem; }

.scn-ppl-search-wrap {
	display: flex;
	max-width: 400px;
	background: rgba(255,255,255,0.07);
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: 5px;
	overflow: hidden;
	transition: border-color 0.15s;
}

.scn-ppl-search-wrap:focus-within {
	border-color: rgba(255,255,255,0.35);
}

.scn-ppl-search-input {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: none;
	color: #fff;
	padding: 0.6rem 0.9rem;
	font-size: 0.85rem;
	outline: none;
}

.scn-ppl-search-input::placeholder { color: rgba(255,255,255,0.28); }

.scn-ppl-search-btn {
	background: transparent;
	border: none;
	color: rgba(255,255,255,0.4);
	cursor: pointer;
	padding: 0 0.85rem;
	display: flex;
	align-items: center;
	transition: color 0.15s;
}

.scn-ppl-search-btn:hover { color: #fff; }

/* Role filter pills */
.scn-ppl-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.scn-ppl-filter {
	display: inline-block;
	padding: 0.27rem 0.8rem;
	border-radius: 50px;
	border: 1px solid rgba(255,255,255,0.17);
	color: rgba(255,255,255,0.58);
	font-size: 0.74rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.scn-ppl-filter:hover {
	border-color: rgba(255,255,255,0.4);
	color: #fff;
}

.scn-ppl-filter.is-active {
	background: #8b1a2c;
	border-color: #8b1a2c;
	color: #fff;
}

/* ---- A–Z strip ---- */

.scn-ppl-az {
	background: #fff;
	border-bottom: 1px solid #e5e5e5;
	position: sticky;
	top: 0;
	z-index: 20;
}

.scn-ppl-az__inner {
	display: flex;
	align-items: center;
	gap: 1px;
	overflow-x: auto;
	padding: 0.5rem 0;
	scrollbar-width: none;
}

.scn-ppl-az__inner::-webkit-scrollbar { display: none; }

.scn-ppl-az__letter {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 28px;
	border-radius: 4px;
	font-size: 0.72rem;
	font-weight: 700;
	color: #555;
	text-decoration: none;
	flex-shrink: 0;
	transition: background 0.12s, color 0.12s;
}

.scn-ppl-az__letter:not(.is-empty):hover {
	background: #f0f0f0;
	color: #111;
}

.scn-ppl-az__letter.is-active {
	background: #111;
	color: #fff;
}

.scn-ppl-az__letter.is-empty {
	color: #ccc;
	cursor: default;
	pointer-events: none;
}

/* ---- Body / List ---- */

.scn-ppl-body {
	padding-top: 1.5rem;
	padding-bottom: 3.5rem;
}

/* Letter section divider */
.scn-ppl-section-head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 1.75rem 0 0.6rem;
}

.scn-ppl-section-head:first-child { margin-top: 0; }

.scn-ppl-section-head__letter {
	font-size: 1.5rem;
	font-weight: 900;
	color: #111;
	line-height: 1;
	width: 1.75rem;
	flex-shrink: 0;
}

.scn-ppl-section-head__line {
	flex: 1;
	height: 1px;
	background: #ddd;
}

/* List group */
.scn-ppl-list {
	display: flex;
	flex-direction: column;
}

/* Row */
.scn-ppl-row {
	display: grid;
	grid-template-columns: 52px 1fr auto;
	align-items: center;
	gap: 0 1rem;
	padding: 0.7rem 0;
	border-bottom: 1px solid #eaeaea;
	text-decoration: none;
	color: inherit;
	border-radius: 5px;
}

.scn-ppl-row:last-child { border-bottom: none; }

.scn-ppl-row:hover {
	background: #fff;
}

/* Avatar */
.scn-ppl-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #1a1a2e;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 1.1rem;
	font-weight: 900;
	color: rgba(255,255,255,0.14);
}

.scn-ppl-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
}

/* Avatar colour variety */
.scn-ppl-row:nth-child(2n)  .scn-ppl-avatar { background: #1e1212; }
.scn-ppl-row:nth-child(3n)  .scn-ppl-avatar { background: #0f1f2e; }
.scn-ppl-row:nth-child(4n)  .scn-ppl-avatar { background: #121e14; }
.scn-ppl-row:nth-child(5n)  .scn-ppl-avatar { background: #201a10; }
.scn-ppl-row:nth-child(6n)  .scn-ppl-avatar { background: #1a1222; }

/* Name + sub */
.scn-ppl-row__info { min-width: 0; }

.scn-ppl-row__name {
	font-size: 0.92rem;
	font-weight: 700;
	color: #111;
	line-height: 1.2;
	margin-bottom: 0.12rem;
}

.scn-ppl-row__sub {
	font-size: 0.74rem;
	color: #777;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Right column: badge + nationality */
.scn-ppl-row__right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.25rem;
	flex-shrink: 0;
}

.scn-ppl-row__nation {
	font-size: 0.68rem;
	color: #aaa;
}

/* Role badges — colour-coded */
.scn-ppl-badge {
	display: inline-block;
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.18rem 0.58rem;
	border-radius: 3px;
	white-space: nowrap;
}

.scn-ppl-badge--player        { background: #e8f0fe; color: #1a56db; }
.scn-ppl-badge--coach         { background: #fdf2e9; color: #c05621; }
.scn-ppl-badge--referee       { background: #f0fdf4; color: #166534; }
.scn-ppl-badge--pundit        { background: #fdf4ff; color: #7c3aed; }
.scn-ppl-badge--administrator { background: #fff7ed; color: #92400e; }
.scn-ppl-badge--other         { background: #f1f5f9; color: #475569; }

/* Empty state */
.scn-ppl-empty {
	padding: 4rem 0;
	color: #777;
	text-align: center;
	font-size: 0.95rem;
}

/* ---- Responsive ---- */

@media (max-width: 700px) {
	.scn-ppl-header { padding: 2rem 0 1.75rem; }
	.scn-ppl-header__intro { margin-bottom: 1.25rem; }

	.scn-ppl-row {
		grid-template-columns: 44px 1fr auto;
		gap: 0 0.75rem;
	}

	.scn-ppl-avatar { width: 40px; height: 40px; font-size: 0.9rem; }
	.scn-ppl-row__name { font-size: 0.85rem; }
	.scn-ppl-row__nation { display: none; }
}

@media (max-width: 480px) {
	.scn-ppl-row { grid-template-columns: 40px 1fr; }
	.scn-ppl-row__right { display: none; }
}

/* ==========================================================================
   MOBILE OVERRIDES
   All corrections to responsive layout issues — overrides earlier rules
   via cascade position. Do not edit above; add fixes here.
   ========================================================================== */

/* ------------------------------------------------------------------
   1. HEADER HEIGHT TOKEN
   --scn-header-h drives every sticky element that sits below the
   header, so they all stay in sync when the header height changes.
   ------------------------------------------------------------------ */
:root { --scn-header-h: 120px; }

@media (max-width: 760px) { :root { --scn-header-h: 64px; } }

/* ------------------------------------------------------------------
   2. COMPACT HEADER ON MOBILE
   Shrinks logo and bar height from 120 px → 64 px so the header
   doesn't consume a third of a phone screen.
   Gap reduced from 20 px → 8 px so the hamburger + dark-mode toggle
   both stay inside the frame on narrow phones (320 px–480 px).
   Brand/logo gets flex-shrink so it yields space to the buttons.
   ------------------------------------------------------------------ */
@media (max-width: 760px) {
	.scn-header__inner {
		min-height: 64px;
		gap: 8px;
	}
	/* Allow brand text to shrink and truncate rather than pushing buttons off-screen */
	.scn-brand {
		font-size: 18px;
		flex-shrink: 1;
		min-width: 0;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	/* Logo link should not shrink — its height is already fixed */
	.custom-logo-link  { flex-shrink: 0; }
	.custom-logo       { height: 52px !important; }
	/* Buttons stay fixed-size and never get squeezed off-frame */
	.scn-menu-toggle,
	.scn-theme-toggle  { width: 34px; height: 34px; font-size: 16px; flex-shrink: 0; }
}
@media (max-width: 480px) {
	.custom-logo { height: 44px !important; }
	.scn-brand   { font-size: 16px; }
}

/* ------------------------------------------------------------------
   3. PLAYER PROFILE — TAB BAR STICKY OFFSET
   Was hard-coded to top: 52 px which placed it inside the 120 px
   header. Now uses the token so it always sticks below the header.
   ------------------------------------------------------------------ */
.scn-pf-tabs { top: var(--scn-header-h); }

/* ------------------------------------------------------------------
   4. PEOPLE ARCHIVE — A-Z STRIP STICKY OFFSET
   Was top: 0 so it scrolled under the sticky header on mobile.
   ------------------------------------------------------------------ */
.scn-ppl-az { top: var(--scn-header-h); }

/* ------------------------------------------------------------------
   5. PROFILE FACTS TABLE — fixed 180 px column busts 320 px screens
   ------------------------------------------------------------------ */
@media (max-width: 540px) {
	.scn-profile-facts th { width: auto; min-width: 90px; }
	.scn-profile-facts td { word-break: break-word; }
}

/* ------------------------------------------------------------------
   6. TRENDING TICKER — reduce lead padding so headlines appear sooner
   on narrow phones (100 % pre-pad = 320 px of blank space at 320 px)
   ------------------------------------------------------------------ */
@media (max-width: 480px) {
	.scn-ticker__track { padding-left: 50%; }
}

/* ------------------------------------------------------------------
   7. CULTURE BAND — prevent iOS horizontal overflow
   The calc(50% - 50vw) negative-margin full-bleed technique can
   trigger body scroll on iOS Safari; overflow-x: hidden contains it.
   ------------------------------------------------------------------ */
.scn-culture { overflow-x: hidden; }

/* ------------------------------------------------------------------
   8. DIRECTORY ARCHIVE HEADER — trim wasted vertical space on mobile
   ------------------------------------------------------------------ */
@media (max-width: 600px) {
	.scn-dir-header { padding: 24px 0 20px; }
	.scn-dir-title  { font-size: 1.6rem; }
}

/* ------------------------------------------------------------------
   9. FOOTER BOTTOM BAR — remove orphaned left border when stacked
   At 560 px the items go single-column and the decorative border-left
   on .scn-footer__initiative becomes a hanging indent with no left element.
   ------------------------------------------------------------------ */
@media (max-width: 560px) {
	.scn-footer__bottom     { flex-direction: column; gap: 6px; }
	.scn-footer__initiative { margin-left: 0; padding-left: 0; border-left: 0; }
}

/* ------------------------------------------------------------------
   10. PEOPLE ARCHIVE — tighten filter pills at 360 px and below
   ------------------------------------------------------------------ */
@media (max-width: 400px) {
	.scn-ppl-filters { gap: 0.25rem; }
	.scn-ppl-filter  { font-size: 0.68rem; padding: 0.28rem 0.55rem; }
}

/* ------------------------------------------------------------------
   11. EMPTY / NOTICE PAGES — oversized 80 px top margin wastes screen
   ------------------------------------------------------------------ */
@media (max-width: 600px) {
	.scn-notice { margin-top: 40px; padding: 24px 20px; }
}

/* ------------------------------------------------------------------
   12. SCROLLABLE TABLES — fade right edge indicates more columns
   ------------------------------------------------------------------ */
@media (max-width: 760px) {
	.scn-pf-table-wrap { position: relative; }
	.scn-pf-table-wrap::after {
		content: '';
		position: absolute;
		top: 0; right: 0; bottom: 0;
		width: 40px;
		pointer-events: none;
		background: linear-gradient(to left, rgba(10,10,10,.85) 0%, transparent 100%);
	}
}

/* ------------------------------------------------------------------
   13. UTILITY BAR — hide date text on very small screens so the ticker
   gets the full width
   ------------------------------------------------------------------ */
@media (max-width: 360px) {
	.scn-utility__date { display: none; }
}
