/*
	Theme Name: Stocker Cup — The Archive
	Theme URI: https://stockercup.com
	Description: Custom child theme of Hello Elementor for the Stocker Cup golf tournament. Dark editorial newspaper aesthetic with Playfair Display and Special Elite typography.
	Author: Stocker Cup
	Author URI: https://stockercup.com
	Template: hello-elementor
	Version: 1.1.0
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: stockercup-theme
*/

/* ============================================
   DESIGN TOKENS
   ============================================ */
:root {
	--ink: #0c0a07;
	--bone: #e6dece;
	--silver: #8a857e;
	--dust: #b8ad9e;
	--steel: #32302c;
	--amber: #b87a28;
	--paper: #d2c8b0;
}

/* ============================================
   RESET & BASE
   ============================================ */
* { margin: 0; padding: 0; box-sizing: border-box; }

body,
html,
#content,
.sc-content,
.site-main,
.page-content,
.entry-content,
.post-content,
main,
article,
.hentry,
#main,
.site-content {
	background: var(--ink) !important;
	background-color: var(--ink) !important;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--ink);
	color: var(--bone);
	font-family: 'Special Elite', monospace;
	overflow-x: hidden;
}

/* Film-grain overlay */
body::before {
	content: '';
	position: fixed;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");
	opacity: 0.3;
	pointer-events: none;
	z-index: 9999;
	mix-blend-mode: screen;
}

a { color: var(--bone); text-decoration: none; transition: color .2s; }
a:hover { color: var(--amber); }

/* ============================================
   NAVIGATION
   ============================================ */
.sc-nav {
	border-bottom: 1px solid var(--steel);
	padding: 14px 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--ink);
	position: sticky;
	top: 0;
	z-index: 100;
}

.sc-nav .nav-links {
	display: flex;
	gap: 36px;
	list-style: none;
}

.sc-nav .nav-links a {
	color: var(--silver);
	text-decoration: none;
	font-size: 10px;
	letter-spacing: 3px;
	text-transform: uppercase;
	transition: color .2s;
}

.sc-nav .nav-links a:hover { color: var(--bone); }

.nav-cta {
	color: var(--amber) !important;
	border: 1px solid rgba(184, 122, 40, .3);
	padding: 6px 16px;
}
.nav-cta:hover { border-color: var(--amber) !important; }

.nav-center {
	font-size: 10px;
	color: var(--steel);
	letter-spacing: 2px;
	text-transform: uppercase;
}

/* WordPress menu integration */
.sc-nav .menu {
	display: flex;
	gap: 36px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sc-nav .menu li a {
	color: var(--silver);
	text-decoration: none;
	font-size: 10px;
	letter-spacing: 3px;
	text-transform: uppercase;
	transition: color .2s;
}

.sc-nav .menu li a:hover { color: var(--bone); }

.sc-nav .menu li.menu-item-cta a {
	color: var(--amber);
	border: 1px solid rgba(184, 122, 40, .3);
	padding: 6px 16px;
}
.sc-nav .menu li.menu-item-cta a:hover { border-color: var(--amber); }

/* ============================================
   TICKER
   ============================================ */
.sc-ticker {
	background: var(--amber);
	padding: 10px 60px;
	display: flex;
	align-items: center;
	gap: 24px;
	overflow: hidden;
}

.ticker-label {
	background: var(--ink);
	color: var(--amber);
	padding: 4px 12px;
	font-size: 9px;
	letter-spacing: 3px;
	text-transform: uppercase;
	flex-shrink: 0;
}

.ticker-text {
	display: inline-block;
	font-size: 15px;
	color: var(--ink);
	white-space: nowrap;
	animation: ticker 40s linear infinite;
	/* Keep text rendering consistent during the transform animation —
	   without these the GPU compositor uses lower-quality smoothing while
	   moving, which makes everything look darker until hover pauses it. */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
	transform: translateZ(0);
	backface-visibility: hidden;
}

.sc-ticker:hover .ticker-text { animation-play-state: paused; }

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

/* Live tournament ticker — player cards */
.t-card {
	display: inline-flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 6px;
	vertical-align: middle;
}

.t-pos {
	font-family: Georgia, 'Playfair Display', serif;
	font-weight: 900;
	font-size: 18px;
	line-height: 1;
	color: var(--ink);
	min-width: 28px;
	text-align: right;
	padding-top: 4px;
	flex-shrink: 0;
}

.t-photo {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center top;
	background: var(--ink);
	border: 1px solid var(--ink);
	flex-shrink: 0;
	display: inline-block;
}

.t-info {
	display: inline-flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 2px;
	line-height: 1.15;
	padding-top: 2px;
}

.t-name {
	font-family: "Host Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-weight: 800;
	letter-spacing: 0.5px;
	font-size: 17px;
	color: var(--ink);
	text-transform: uppercase;
}

.t-line {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
}

.t-score {
	font-weight: 900;
	font-size: 16px;
	color: var(--ink);
}

.t-score.is-under { color: #b3261e; }      /* red — under par */
.t-score.is-over  { color: #1f7a3a; }      /* green — over par */
.t-score.is-even  { color: var(--ink); opacity: 0.7; }

.t-thru {
	font-size: 11px;
	color: var(--ink);
	opacity: 0.6;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.t-sep {
	margin: 0 18px;
	color: var(--ink);
	opacity: 0.35;
	align-self: center;
}

.t-meta {
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-size: 11px;
	color: var(--ink);
	background: rgba(12,10,7,0.12);
	padding: 4px 10px;
	border-radius: 2px;
	margin-right: 18px;
	vertical-align: middle;
}

/* Viewport wraps the scrolling text and hides overflow */
.ticker-viewport {
	overflow: hidden;
	flex: 1;
	min-width: 0;
}

/* Manual scroll controls (added by JS when enabled) — hidden until hover */
.t-nav {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
	margin-left: 8px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.18s ease;
}

.sc-ticker:hover .t-nav,
.sc-ticker:focus-within .t-nav {
	opacity: 1;
	pointer-events: auto;
}

.t-nav-btn {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: transparent;
	border: 1.5px solid var(--ink);
	color: var(--ink);
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	transition: background 0.15s ease, color 0.15s ease;
	font-family: serif;
}

.t-nav-btn:hover,
.t-nav-btn:focus {
	background: var(--ink);
	color: var(--amber);
	outline: none;
}

.t-nav-btn:active {
	transform: translateY(1px);
}

/* ============================================
   MASTHEAD (homepage or pages that want it)
   ============================================ */
.sc-masthead {
	text-align: center;
	padding: 56px 60px 44px;
	border-bottom: 3px double var(--steel);
	animation: fadeIn 1.2s both;
}

.mast-ornament {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-bottom: 24px;
	color: var(--silver);
	font-size: 12px;
	letter-spacing: 4px;
}

.mast-ornament .line {
	flex: 1;
	max-width: 80px;
	height: 1px;
	background: var(--steel);
}

.sc-masthead h1 {
	font-family: 'Playfair Display', serif;
	font-size: clamp(60px, 11vw, 148px);
	font-weight: 900;
	letter-spacing: -4px;
	line-height: .88;
	color: var(--bone);
	text-transform: uppercase;
}

.sc-masthead h1 em {
	font-style: italic;
	font-weight: 400;
	color: var(--silver);
	display: block;
	font-size: .28em;
	letter-spacing: 10px;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.masthead-sub {
	margin-top: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	font-size: 12px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--silver);
	flex-wrap: wrap;
}

.masthead-sub .dot { color: var(--steel); }

/* ============================================
   HERO SECTION
   ============================================ */
.hero {
	display: grid;
	grid-template-columns: 1fr 1px 1.7fr 1px 1fr;
	border-bottom: 1px solid var(--steel);
	min-height: 520px;
	animation: fadeUp .8s .2s both;
}

.hero-col { padding: 50px 46px; }
.hero-div { background: var(--steel); }

.hero-col.main {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: radial-gradient(ellipse at center, #181510 0%, var(--ink) 75%);
	position: relative;
	overflow: hidden;
}

.hero-col.main .bg-year {
	position: absolute;
	font-family: 'Playfair Display', serif;
	font-size: 180px;
	font-weight: 900;
	color: #151210;
	line-height: 1;
	user-select: none;
	letter-spacing: -8px;
	pointer-events: none;
}

.col-kicker {
	font-size: 9px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--steel);
	padding-bottom: 12px;
	border-bottom: 1px solid var(--steel);
	margin-bottom: 20px;
}

.hero-col h3 {
	font-family: 'Playfair Display', serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--bone);
	margin-bottom: 16px;
}

.hero-col p {
	font-size: 17px;
	color: var(--silver);
	line-height: 2.1;
}

.badge {
	display: inline-block;
	border: 1px solid var(--silver);
	padding: 6px 18px;
	font-size: 9px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--silver);
	margin-bottom: 28px;
	position: relative;
	z-index: 2;
}

.hero-col.main h2 {
	font-family: 'Playfair Display', serif;
	font-size: 38px;
	font-weight: 700;
	font-style: italic;
	line-height: 1.05;
	color: var(--bone);
	position: relative;
	z-index: 2;
	margin-bottom: 16px;
}

.hero-col.main p {
	font-size: 16px;
	color: var(--silver);
	line-height: 2;
	position: relative;
	z-index: 2;
	max-width: 290px;
}

/* Hero center CTA — auth-aware "Apply for 2026" / "Update Your Profile" */
.hero-cta {
	margin-top: 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	position: relative;
	z-index: 2;
}

.hero-cta-kicker {
	font-family: 'Special Elite', monospace;
	font-size: 11px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--amber);
}

/* ============================================
   STATS ROW
   ============================================ */
.stats-row {
	display: flex;
	border-bottom: 1px solid var(--steel);
	background: #080705;
	animation: fadeUp .6s .4s both;
}

.stat-cell {
	flex: 1;
	padding: 36px 20px;
	text-align: center;
	border-right: 1px solid var(--steel);
}

.stat-cell:last-child { border-right: none; }

.stat-cell .num {
	font-family: 'Playfair Display', serif;
	font-size: 52px;
	font-weight: 900;
	line-height: 1;
	color: var(--bone);
}

.stat-cell .lbl {
	font-size: 9px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--steel);
	margin-top: 6px;
}

/* ============================================
   BODY GRID (two-column sections)
   ============================================ */
.body-grid {
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	border-bottom: 1px solid var(--steel);
}

.body-col { padding: 60px 56px; }
.body-col.dark { background: #080705; }

.section-kicker {
	font-size: 9px;
	letter-spacing: 5px;
	text-transform: uppercase;
	color: var(--amber);
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.section-kicker::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--steel);
}

.body-col h2 {
	font-family: 'Playfair Display', serif;
	font-size: 44px;
	font-weight: 900;
	line-height: 1;
	color: var(--bone);
	margin-bottom: 24px;
	letter-spacing: -1px;
}

.body-col h2 em {
	font-style: italic;
	font-weight: 400;
	color: var(--silver);
}

.body-col p {
	font-size: 17px;
	color: var(--silver);
	line-height: 2.2;
	margin-bottom: 16px;
}

blockquote {
	border-left: 2px solid var(--amber);
	padding: 4px 0 4px 20px;
	margin: 24px 0;
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-size: 19px;
	color: var(--dust);
	line-height: 1.5;
}

.format-list {
	list-style: none;
	margin-top: 20px;
}

.format-list li {
	padding: 14px 0;
	border-bottom: 1px solid var(--steel);
	font-size: 16px;
	color: var(--silver);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}

.format-list .fl-label {
	font-size: 9px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--steel);
	flex-shrink: 0;
}

.format-list .fl-value {
	color: var(--bone);
	text-align: right;
}

/* ============================================
   CHAMPIONS GRID
   ============================================ */
.champs-section {
	padding: 60px 56px;
	border-bottom: 1px solid var(--steel);
}

.champs-section h2 {
	font-family: 'Playfair Display', serif;
	font-size: 46px;
	font-weight: 900;
	letter-spacing: -1px;
	color: var(--bone);
	margin-bottom: 40px;
}

.champ-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--steel);
}

.champ-cell {
	background: var(--ink);
	padding: 20px 24px;
	transition: background .2s;
}

.champ-cell:hover { background: #141210; }

.champ-cell.latest {
	background: #13100c;
	border-top: 2px solid var(--amber);
}

.champ-year {
	font-size: 10px;
	letter-spacing: 3px;
	color: var(--silver);
	margin-bottom: 6px;
}

.champ-name {
	font-family: 'Playfair Display', serif;
	font-size: 17px;
	font-weight: 700;
	color: var(--bone);
}

.champ-cell.latest .champ-name { color: var(--amber); }

.champ-score {
	font-size: 10px;
	color: var(--silver);
	margin-top: 4px;
	letter-spacing: 1px;
}

/* ============================================
   REGISTER BAND
   ============================================ */
.register-band {
	display: grid;
	grid-template-columns: 1.4fr 1px 1fr;
	border-bottom: 1px solid var(--steel);
}

.reg-left {
	padding: 70px 56px;
	background: #080705;
}

.reg-left h2 {
	font-family: 'Playfair Display', serif;
	font-size: 50px;
	font-weight: 900;
	font-style: italic;
	line-height: 1;
	color: var(--bone);
	margin-bottom: 20px;
}

.reg-left p {
	font-size: 17px;
	color: var(--silver);
	line-height: 2.2;
	max-width: 460px;
	margin-bottom: 36px;
}

.reg-right {
	padding: 70px 56px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.reg-right h3 {
	font-family: 'Playfair Display', serif;
	font-size: 28px;
	font-weight: 700;
	color: var(--bone);
	margin-bottom: 16px;
}

.reg-right p {
	font-size: 17px;
	color: var(--silver);
	line-height: 2;
	margin-bottom: 28px;
}

.divisions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 28px;
}

.division {
	border: 1px solid var(--steel);
	padding: 14px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 15px;
	color: var(--silver);
	transition: border-color .2s;
}

.division:hover {
	border-color: var(--amber);
	color: var(--bone);
}

.division strong {
	font-family: 'Playfair Display', serif;
	font-size: 16px;
	color: var(--bone);
	font-weight: 700;
	font-style: italic;
}

/* ============================================
   VENUE BAND
   ============================================ */
.venue-band {
	display: grid;
	grid-template-columns: 1fr 1px 1fr 1px 1fr;
	border-bottom: 1px solid var(--steel);
}

.venue-col { padding: 50px 46px; }

.venue-col h4 {
	font-family: 'Playfair Display', serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--bone);
	margin-bottom: 14px;
}

.venue-col p {
	font-size: 16px;
	color: var(--silver);
	line-height: 2;
}

.hotel-list {
	list-style: none;
	margin-top: 14px;
}

.hotel-list li {
	padding: 10px 0;
	border-bottom: 1px solid var(--steel);
	font-size: 15px;
	color: var(--silver);
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

.hotel-list a {
	color: var(--silver);
	text-decoration: none;
	transition: color .2s;
}

.hotel-list a:hover { color: var(--bone); }

.hotel-price {
	font-size: 10px;
	color: var(--steel);
	letter-spacing: 1px;
}

/* ============================================
   BUTTONS
   ============================================ */
.btn {
	display: inline-block;
	padding: 14px 40px;
	font-family: 'Special Elite', monospace;
	font-size: 10px;
	letter-spacing: 4px;
	text-transform: uppercase;
	text-decoration: none;
	transition: all .2s;
	cursor: pointer;
}

.btn-primary {
	background: var(--amber);
	color: var(--ink);
	border: 1px solid var(--amber);
}

.btn-primary:hover {
	background: transparent;
	color: var(--amber);
}

.btn-outline {
	background: transparent;
	color: var(--bone);
	border: 1px solid var(--silver);
}

.btn-outline:hover { border-color: var(--bone); }

.btn-sm {
	padding: 10px 22px;
	font-size: 9px;
}

/* ============================================
   FOOTER
   ============================================ */
.sc-footer {
	padding: 44px 60px;
	border-top: 3px double var(--steel);
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	align-items: center;
	gap: 40px;
}

.footer-brand {
	font-family: 'Playfair Display', serif;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -1px;
	color: var(--bone);
}

.footer-brand small {
	display: block;
	font-family: 'Special Elite', monospace;
	font-size: 9px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--steel);
	margin-top: 4px;
}

.sc-footer .footer-links {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sc-footer .footer-links a {
	font-size: 10px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--steel);
	text-decoration: none;
	transition: color .2s;
}

.sc-footer .footer-links a:hover { color: var(--bone); }

/* WordPress footer menu integration */
.sc-footer .menu {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sc-footer .menu li a {
	font-size: 10px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--steel);
	text-decoration: none;
	transition: color .2s;
}

.sc-footer .menu li a:hover { color: var(--bone); }

.footer-legal {
	font-size: 10px;
	color: var(--steel);
	letter-spacing: 1px;
	line-height: 2;
	text-align: right;
}

/* ============================================
   WORDPRESS / ELEMENTOR CONTENT AREA
   ============================================ */
.sc-content {
	min-height: 40vh;
}

/* ============================================
   ELEMENTOR OVERRIDES — Force Archive aesthetic
   ============================================ */

/* --- Global color variables --- */
body.elementor-page,
body.elementor-default {
	--e-global-color-primary: #e6dece;
	--e-global-color-secondary: #8a857e;
	--e-global-color-text: #8a857e;
	--e-global-color-accent: #b87a28;
}

/* --- Sections & Containers: force dark background --- */
.elementor-section,
.elementor-element.e-con,
.elementor-element.e-con-full,
.elementor-element[data-element_type="container"],
.elementor-top-section,
.elementor-inner-section {
	background-color: var(--ink) !important;
}

/* --- All text white/bone by default --- */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor span,
.elementor-widget-text-editor li,
.elementor-widget-text-editor div,
.elementor-text-editor,
.elementor-text-editor p,
.elementor-text-editor span {
	color: var(--silver) !important;
	font-family: 'Special Elite', monospace !important;
}

/* --- Headings --- */
.elementor-widget-heading .elementor-heading-title,
.elementor-heading-title,
.sc-content h1,
.sc-content h2,
.sc-content h3,
.sc-content h4,
.sc-content h5,
.sc-content h6 {
	font-family: 'Playfair Display', serif !important;
	color: var(--bone) !important;
}

.sc-content p {
	color: var(--silver);
	line-height: 2.1;
}

/* --- Images: subtle border treatment --- */
.elementor-widget-image img {
	border: 1px solid var(--steel);
}

/* --- Elementor buttons: Archive style --- */
.elementor-button-wrapper .elementor-button,
.elementor-widget-button .elementor-button {
	background-color: transparent !important;
	border: 1px solid var(--silver) !important;
	color: var(--bone) !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 10px !important;
	letter-spacing: 4px !important;
	text-transform: uppercase !important;
	padding: 14px 40px !important;
	border-radius: 0 !important;
	transition: all .2s !important;
}

.elementor-button-wrapper .elementor-button:hover,
.elementor-widget-button .elementor-button:hover {
	border-color: var(--bone) !important;
	color: var(--amber) !important;
	background-color: transparent !important;
}

/* Primary buttons (CTA) — use .sc-btn-primary class in Elementor */
.sc-btn-primary .elementor-button,
.elementor-button.elementor-button-warning {
	background-color: var(--amber) !important;
	border-color: var(--amber) !important;
	color: var(--ink) !important;
}

.sc-btn-primary .elementor-button:hover,
.elementor-button.elementor-button-warning:hover {
	background-color: transparent !important;
	color: var(--amber) !important;
}

/* --- Dividers --- */
.elementor-widget-divider .elementor-divider-separator {
	border-color: var(--steel) !important;
}

/* --- Icon lists --- */
.elementor-widget-icon-list .elementor-icon-list-text,
.elementor-widget-icon-list .elementor-icon-list-item a {
	color: var(--silver) !important;
	font-family: 'Special Elite', monospace !important;
}

.elementor-widget-icon-list .elementor-icon-list-item a:hover {
	color: var(--bone) !important;
}

.elementor-widget-icon-list .elementor-icon-list-icon i,
.elementor-widget-icon-list .elementor-icon-list-icon svg {
	color: var(--amber) !important;
	fill: var(--amber) !important;
}

/* --- Links inside content --- */
.elementor-widget a:not(.elementor-button) {
	color: var(--amber) !important;
	transition: color .2s;
}

.elementor-widget a:not(.elementor-button):hover {
	color: var(--bone) !important;
}

/* --- Column/container gaps & borders --- */
.elementor-column-gap-default > .elementor-column > .elementor-element-populated {
	border-right: 1px solid var(--steel);
}

.elementor-column-gap-default > .elementor-column:last-child > .elementor-element-populated {
	border-right: none;
}

/* --- Section borders --- */
.elementor-top-section,
.elementor-element.e-con {
	border-bottom: 1px solid var(--steel) !important;
}

/* --- Elementor forms (if any) --- */
.elementor-field-textual,
.elementor-field-textual input,
.elementor-field-textual textarea {
	background-color: var(--ink) !important;
	border: 1px solid var(--steel) !important;
	color: var(--bone) !important;
	font-family: 'Special Elite', monospace !important;
}

.elementor-field-textual:focus {
	border-color: var(--amber) !important;
}

.elementor-field-label {
	color: var(--silver) !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 9px !important;
	letter-spacing: 3px !important;
	text-transform: uppercase !important;
}

/* --- Elementor widget spacing reset --- */
.elementor-widget:not(:last-child) {
	margin-bottom: 20px;
}

/* --- Remove any Elementor box shadows --- */
.elementor-section,
.elementor-element.e-con,
.elementor-column {
	box-shadow: none !important;
}

/* --- Old Elementor footer override (if still rendered by Elementor) --- */
.site-footer,
footer.site-footer,
.elementor-location-footer {
	background-color: var(--ink) !important;
	border-top: 3px double var(--steel) !important;
}

.site-footer *,
.elementor-location-footer * {
	color: var(--steel) !important;
}

.site-footer a:hover,
.elementor-location-footer a:hover {
	color: var(--bone) !important;
}

/* --- Registration section wrapper --- */
.um-register-section {
	padding: 60px 56px;
	border-bottom: 1px solid var(--steel);
	background: #080705;
}

.um-section-title {
	font-family: 'Playfair Display', serif !important;
	font-size: 44px;
	font-weight: 900;
	line-height: 1;
	color: var(--bone) !important;
	margin-bottom: 16px;
	letter-spacing: -1px;
}

.um-section-title em {
	font-style: italic;
	font-weight: 400;
	color: var(--silver);
}

.um-section-desc {
	color: var(--silver) !important;
	line-height: 2.1;
	max-width: 700px;
	margin-bottom: 36px;
}

/* --- Ultimate Member form overrides --- */
.um,
.um .um-form,
.um .um-field-area,
.um .um-col-alt,
.um .um-row,
.um .um-left,
.um .um-right,
.um .um-center,
.um .um-half {
	background-color: transparent !important;
	background: transparent !important;
}

/* Form wrapper */
.um .um-form {
	max-width: 100% !important;
	border: 1px solid var(--steel) !important;
	padding: 40px !important;
}

/* Field labels */
.um .um-field-label,
.um .um-field-label label {
	color: var(--silver) !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 11px !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
}

/* All input types */
.um input[type="text"],
.um input[type="email"],
.um input[type="password"],
.um input[type="tel"],
.um input[type="number"],
.um input[type="url"],
.um input[type="date"],
.um textarea,
.um select,
.um .um-field-area input,
.um .um-field-area textarea,
.um .um-field-area select {
	background-color: var(--ink) !important;
	border: 1px solid var(--steel) !important;
	color: var(--bone) !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 15px !important;
	padding: 12px 14px !important;
	border-radius: 0 !important;
	transition: border-color .2s !important;
}

.um input:focus,
.um textarea:focus,
.um select:focus {
	border-color: var(--amber) !important;
	outline: none !important;
	box-shadow: none !important;
}

/* Placeholder text */
.um input::placeholder,
.um textarea::placeholder {
	color: var(--steel) !important;
	font-family: 'Special Elite', monospace !important;
}

/* Select dropdowns */
.um select {
	-webkit-appearance: none !important;
	appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a857e' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	padding-right: 36px !important;
}

/* Select2 widget overrides — UM wraps native <select> with select2,
   which ships with a hardcoded white background. Re-skin it to match.
   `body` prefix bumps specificity to outrank UM's plugin CSS regardless
   of load order. Covers both select2 v3 (.select2-choice) and v4
   (.select2-selection__rendered) class names. */

/* === select2 v3 closed field === */
body .select2-container .select2-choice,
body .select2-container.select2-container-active .select2-choice,
body .select2-container.select2-dropdown-open .select2-choice {
	background: var(--ink) !important;
	background-color: var(--ink) !important;
	background-image: none !important;
	border: 1px solid var(--steel) !important;
	color: var(--bone) !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 15px !important;
	height: auto !important;
	min-height: 46px !important;
	padding: 12px 36px 12px 14px !important;
	line-height: 1.4 !important;
	border-radius: 0 !important;
}
body .select2-container .select2-choice > .select2-chosen,
body .select2-container .select2-choice .select2-chosen {
	color: var(--bone) !important;
	line-height: 1.4 !important;
	background: transparent !important;
}
body .select2-container .select2-choice .select2-arrow {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
}
body .select2-container .select2-choice .select2-arrow b {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a857e' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
}
body .select2-container.select2-container-active .select2-choice,
body .select2-container.select2-dropdown-open .select2-choice {
	border-color: var(--amber) !important;
	box-shadow: none !important;
}

/* === select2 v4 closed field — match UM's selector specificity exactly ===
   UM defines `.um-field .select2.select2-container .select2-selection` with
   `background:#fff !important`. We mirror the selector to win source-order. */
.um-field .select2.select2-container .select2-selection,
.um-field .select2.select2-container .select2-selection.select2-selection--single,
.um-field .select2.select2-container .select2-selection.select2-selection--multiple {
	background: var(--ink) !important;
	background-color: var(--ink) !important;
	border: 1px solid var(--steel) !important;
	color: var(--bone) !important;
	border-radius: 0 !important;
	min-height: 46px !important;
	height: auto !important;
	line-height: 1.4 !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 15px !important;
	padding: 0 36px 0 14px !important;
}
.um-field .select2-container--default .select2-selection--single .select2-selection__rendered,
.um-field .select2-container--default .select2-selection--multiple .select2-selection__rendered {
	color: var(--bone) !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 15px !important;
	line-height: 46px !important;
	padding: 0 !important;
}
.um-field .select2.select2-container .select2-selection .select2-selection__arrow {
	background: transparent !important;
	border: none !important;
	height: 100% !important;
	width: 34px !important;
}
/* UM renders the chevron via :before with an Ionicon — restyle the icon color */
.um-field .select2.select2-container .select2-selection .select2-selection__arrow:before {
	color: var(--silver) !important;
	font-size: 22px !important;
	line-height: 46px !important;
}
.um-field .select2-container.select2-container--open .select2-dropdown {
	border: 1px solid var(--amber) !important;
	background: #fff !important;
}
.um-field .select2-container.select2-container--open .select2-selection,
.um-field .select2.select2-container.select2-container--focus .select2-selection {
	border-color: var(--amber) !important;
}

/* select2 v4 dropdown panel — white for legibility against the dark form */
.select2-container--open .select2-dropdown,
.select2-dropdown {
	background: #fff !important;
	border: 1px solid var(--amber) !important;
	border-radius: 0 !important;
	color: var(--ink) !important;
}
.select2-container--default .select2-results__option {
	background: #fff !important;
	color: var(--ink) !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 14px !important;
	padding: 10px 14px !important;
}
.select2-container--default .select2-results__option--highlighted,
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option.select2-results__option--highlighted {
	background: var(--amber) !important;
	color: #fff !important;
}
.select2-container--default .select2-results__option[aria-selected="true"] {
	background: #f0eee9 !important;
	color: var(--ink) !important;
}
.select2-search--dropdown .select2-search__field {
	background: #fff !important;
	border: 1px solid #ccc !important;
	color: var(--ink) !important;
	font-family: 'Special Elite', monospace !important;
}

/* The open dropdown panel */
.select2-drop {
	background: var(--ink) !important;
	border: 1px solid var(--amber) !important;
	border-radius: 0 !important;
	color: var(--bone) !important;
	box-shadow: 0 6px 20px rgba(0,0,0,0.6) !important;
}
.select2-drop .select2-search input {
	background: var(--ink) !important;
	border: 1px solid var(--steel) !important;
	color: var(--bone) !important;
	font-family: 'Special Elite', monospace !important;
}
.select2-results {
	background: var(--ink) !important;
	color: var(--bone) !important;
	padding: 4px 0 !important;
}
.select2-results .select2-result-label {
	color: var(--bone) !important;
	padding: 10px 14px !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 14px !important;
}
.select2-results .select2-highlighted {
	background: var(--amber) !important;
	color: var(--ink) !important;
}
.select2-results .select2-highlighted .select2-result-label {
	color: var(--ink) !important;
}
.select2-results .select2-no-results,
.select2-results .select2-searching {
	background: var(--ink) !important;
	color: var(--silver) !important;
	font-family: 'Special Elite', monospace !important;
}

/* Upload buttons */
.um .um-field-area .um-button.um-btn-auto-width,
.um .um-single-file-preview a,
.um .um-field-area .ajax-upload-dragdrop,
.um .um-button.um-alt {
	background-color: transparent !important;
	border: 1px solid var(--steel) !important;
	color: var(--silver) !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 10px !important;
	letter-spacing: 3px !important;
	text-transform: uppercase !important;
	border-radius: 0 !important;
	padding: 10px 24px !important;
	transition: all .2s !important;
}

.um .um-field-area .um-button.um-btn-auto-width:hover,
.um .um-button.um-alt:hover {
	border-color: var(--amber) !important;
	color: var(--amber) !important;
}

/* Register / Login buttons */
.um .um-button,
.um input[type="submit"],
.um .um-form input[type="submit"] {
	background-color: var(--amber) !important;
	color: var(--ink) !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 11px !important;
	letter-spacing: 4px !important;
	text-transform: uppercase !important;
	border-radius: 0 !important;
	border: 1px solid var(--amber) !important;
	padding: 16px 40px !important;
	cursor: pointer !important;
	transition: all .2s !important;
}

.um .um-button:hover,
.um input[type="submit"]:hover {
	background-color: transparent !important;
	color: var(--amber) !important;
}

/* Secondary button (Login link) */
.um .um-button.um-alt,
.um a.um-link-alt {
	background-color: transparent !important;
	border: 1px solid var(--silver) !important;
	color: var(--bone) !important;
}

.um .um-button.um-alt:hover,
.um a.um-link-alt:hover {
	border-color: var(--bone) !important;
}

/* Links inside UM */
.um a {
	color: var(--amber) !important;
	text-decoration: none !important;
}

.um a:hover {
	color: var(--bone) !important;
}

/* Error / notice messages */
.um .um-field-error,
.um .um-field-notice {
	font-family: 'Special Elite', monospace !important;
	font-size: 12px !important;
}

.um .um-field-error {
	color: #c0392b !important;
}

/* Required asterisks */
.um .um-req {
	color: var(--amber) !important;
}

/* Tooltip icons */
.um .um-tip {
	color: var(--steel) !important;
}

/* Columns layout — ensure dark backgrounds */
.um .um-col-1,
.um .um-col-2,
.um .um-col-3,
.um .um-col-121,
.um .um-col-alt-b {
	background: transparent !important;
}

/* reCAPTCHA — darken background */
.um .g-recaptcha {
	margin: 20px auto !important;
}

.um .g-recaptcha > div {
	margin: 0 auto !important;
}

/* UM notice/response text */
.um .um-notice,
.um .um-response {
	background: var(--ink) !important;
	border: 1px solid var(--steel) !important;
	color: var(--bone) !important;
	border-radius: 0 !important;
}

/* Datepicker overrides */
.ui-datepicker {
	background: #080705 !important;
	border: 1px solid var(--steel) !important;
	font-family: 'Special Elite', monospace !important;
	border-radius: 0 !important;
}

.ui-datepicker .ui-datepicker-header {
	background: var(--steel) !important;
	color: var(--bone) !important;
	border: none !important;
	border-radius: 0 !important;
}

.ui-datepicker td a {
	color: var(--silver) !important;
	background: transparent !important;
}

.ui-datepicker td a:hover,
.ui-datepicker td a.ui-state-active {
	color: var(--amber) !important;
	background: var(--ink) !important;
}

.ui-datepicker select {
	background: var(--ink) !important;
	color: var(--bone) !important;
	border: 1px solid var(--steel) !important;
}

/* ============================================
   PAGE MASTHEAD (inner pages)
   ============================================ */
.page-masthead {
	text-align: center;
	padding: 56px 60px 44px;
	border-bottom: 3px double var(--steel);
	animation: fadeIn 1.2s both;
}

.page-masthead h1 {
	font-family: 'Playfair Display', serif;
	font-size: clamp(48px, 8vw, 100px);
	font-weight: 900;
	letter-spacing: -3px;
	line-height: .9;
	color: var(--bone);
	text-transform: uppercase;
	margin: 18px 0 20px;
}

.page-masthead h1 em {
	display: block;
	font-style: italic;
	font-weight: 400;
	color: var(--silver);
	font-size: .38em;
	letter-spacing: 8px;
	margin-bottom: 8px;
}

.breadcrumb {
	font-size: 10px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--steel);
	margin-bottom: 12px;
}

.breadcrumb a {
	color: var(--steel);
	text-decoration: none;
}

.breadcrumb a:hover { color: var(--silver); }

.page-sub {
	font-size: 10px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--silver);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
}

/* ============================================
   CHAMPIONS PAGE — Hero
   ============================================ */
.champ-hero {
	display: grid;
	grid-template-columns: 1fr 1px 1.6fr 1px 1fr;
	border-bottom: 1px solid var(--steel);
	min-height: 380px;
	animation: fadeUp .8s .2s both;
}

.ch-col { padding: 52px 48px; }
.ch-div { background: var(--steel); }

.ch-main {
	background: radial-gradient(ellipse at center, #1a1308 0%, var(--ink) 75%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.ch-bg {
	position: absolute;
	font-family: 'Playfair Display', serif;
	font-size: 180px;
	font-weight: 900;
	color: #130f08;
	line-height: 1;
	letter-spacing: -8px;
	pointer-events: none;
	user-select: none;
}

.ch-badge {
	border: 1px solid var(--steel);
	padding: 6px 18px;
	font-size: 9px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--silver);
	margin-bottom: 24px;
	position: relative;
	z-index: 2;
}

.ch-main h2 {
	font-family: 'Playfair Display', serif;
	font-size: 52px;
	font-weight: 900;
	font-style: italic;
	line-height: 1;
	color: var(--bone);
	position: relative;
	z-index: 2;
	margin-bottom: 10px;
}

.ch-main .ch-score {
	font-family: 'Playfair Display', serif;
	font-size: 80px;
	font-weight: 900;
	color: var(--amber);
	line-height: 1;
	position: relative;
	z-index: 2;
	margin-bottom: 8px;
}

.ch-main .ch-event {
	font-size: 10px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--silver);
	position: relative;
	z-index: 2;
}

.ch-col h3 {
	font-family: 'Playfair Display', serif;
	font-size: 24px;
	font-weight: 700;
	color: var(--bone);
	margin-bottom: 16px;
}

.ch-col p {
	font-size: 16px;
	color: var(--silver);
	line-height: 2.2;
	margin-bottom: 14px;
}

/* Results mini-table */
.results-mini {
	width: 100%;
	border-collapse: collapse;
	margin-top: 8px;
}

.results-mini tr { border-bottom: 1px solid var(--steel); }
.results-mini tr:last-child { border-bottom: none; }

.results-mini td { padding: 12px 0; }

.results-mini .rm-pos {
	font-size: 10px;
	color: var(--steel);
	width: 40px;
}

.results-mini .rm-name {
	font-family: 'Playfair Display', serif;
	font-size: 16px;
	color: var(--bone);
}

.results-mini .rm-score {
	font-family: 'Playfair Display', serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--silver);
	text-align: right;
}

/* Notable champion cells */
.champ-cell.notable {
	border-left: 2px solid rgba(184, 122, 40, 0.3);
}

.champ-note {
	font-size: 9px;
	color: var(--amber);
	margin-top: 3px;
	letter-spacing: 2px;
	text-transform: uppercase;
	opacity: .7;
}

/* Multi-winners section */
.multi-section {
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	border-bottom: 1px solid var(--steel);
}

.ms-col { padding: 52px 48px; }
.ms-div { background: var(--steel); }

.ms-col h3 {
	font-family: 'Playfair Display', serif;
	font-size: 28px;
	font-weight: 700;
	color: var(--bone);
	margin-bottom: 20px;
}

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

.winner-list li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 12px 0;
	border-bottom: 1px solid var(--steel);
	font-size: 16px;
	color: var(--silver);
	transition: padding-left .15s;
}

.winner-list li:hover { padding-left: 5px; }

.winner-list .wn {
	font-family: 'Playfair Display', serif;
	font-size: 16px;
	color: var(--bone);
	font-weight: 700;
}

.winner-list .wc {
	font-family: 'Playfair Display', serif;
	font-size: 20px;
	color: var(--amber);
	font-weight: 900;
}

/* ============================================
   CTA BAND (shared across pages)
   ============================================ */
.cta-band {
	background: #080705;
	border-bottom: 1px solid var(--steel);
	padding: 60px 56px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	flex-wrap: wrap;
}

.cta-band h2 {
	font-family: 'Playfair Display', serif;
	font-size: 40px;
	font-weight: 900;
	font-style: italic;
	color: var(--bone);
	letter-spacing: -1px;
	max-width: 520px;
	line-height: 1.05;
}

.cta-band .btn-group {
	display: flex;
	gap: 14px;
	flex-shrink: 0;
}

/* ============================================
   HERITAGE PAGE
   ============================================ */
.pull-hero {
	display: grid;
	grid-template-columns: 1fr 1px 1.6fr 1px 1fr;
	border-bottom: 1px solid var(--steel);
	min-height: 420px;
	animation: fadeUp .8s .2s both;
}

.ph-col { padding: 52px 48px; }
.ph-div { background: var(--steel); }

.ph-main {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: radial-gradient(ellipse at center, #181510 0%, var(--ink) 75%);
	position: relative;
	overflow: hidden;
}

.bg-year {
	position: absolute;
	font-family: 'Playfair Display', serif;
	font-size: 200px;
	font-weight: 900;
	color: #100e0a;
	line-height: 1;
	letter-spacing: -10px;
	pointer-events: none;
	user-select: none;
}

.ph-main blockquote {
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-size: 22px;
	color: var(--dust);
	line-height: 1.55;
	position: relative;
	z-index: 2;
	max-width: 380px;
	border-left: none;
	padding: 0;
	margin: 0;
}

.ph-main blockquote::before {
	content: '\201C';
	font-size: 80px;
	color: var(--steel);
	line-height: 0;
	vertical-align: -0.35em;
	margin-right: 4px;
	font-family: 'Playfair Display', serif;
}

.ph-main cite {
	display: block;
	font-size: 10px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--silver);
	margin-top: 16px;
	font-style: normal;
	position: relative;
	z-index: 2;
}

.ph-col h3 {
	font-family: 'Playfair Display', serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--bone);
	margin-bottom: 16px;
}

.ph-col p {
	font-size: 17px;
	color: var(--silver);
	line-height: 2.2;
	margin-bottom: 14px;
}

/* Inline blockquote */
blockquote.inline {
	border-left: 2px solid var(--amber);
	padding: 4px 0 4px 20px;
	margin: 24px 0;
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-size: 19px;
	color: var(--dust);
	line-height: 1.5;
}

/* Timeline */
.timeline {
	list-style: none;
	border-top: 1px solid var(--steel);
	margin-top: 4px;
}

.timeline li {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 24px;
	padding: 18px 0;
	border-bottom: 1px solid var(--steel);
	align-items: start;
	transition: background .2s;
}

.timeline li:hover { padding-left: 6px; }

.tl-year {
	font-family: 'Playfair Display', serif;
	font-size: 22px;
	font-weight: 900;
	color: var(--amber);
	line-height: 1;
	padding-top: 2px;
}

.tl-body h4 {
	font-family: 'Playfair Display', serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--bone);
	margin-bottom: 4px;
}

.tl-body p {
	font-size: 16px;
	color: var(--silver);
	line-height: 1.9;
}

/* Founders */
.founders {
	display: grid;
	grid-template-columns: 1fr 1px 1fr 1px 1fr;
	border-bottom: 1px solid var(--steel);
}

.founder-col { padding: 52px 46px; }
.fd { background: var(--steel); }

.founder-col .f-name {
	font-family: 'Playfair Display', serif;
	font-size: 30px;
	font-weight: 700;
	font-style: italic;
	color: var(--bone);
	margin-bottom: 6px;
	line-height: 1;
}

.founder-col .f-title {
	font-size: 9px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--amber);
	margin-bottom: 18px;
	display: block;
}

.founder-col p {
	font-size: 17px;
	color: var(--silver);
	line-height: 2.1;
}

/* Full-width section */
.full-section {
	padding: 60px 56px;
	border-bottom: 1px solid var(--steel);
}

.full-section.dark { background: #080705; }

.full-section h2 {
	font-family: 'Playfair Display', serif;
	font-size: 44px;
	font-weight: 900;
	line-height: 1;
	color: var(--bone);
	margin-bottom: 28px;
	letter-spacing: -1px;
}

.full-section h2 em {
	font-style: italic;
	font-weight: 400;
	color: var(--silver);
}

.full-section p {
	font-size: 17px;
	color: var(--silver);
	line-height: 2.2;
	margin-bottom: 16px;
	max-width: 760px;
}

/* ============================================
   SPONSORS PAGE
   ============================================ */
.intro-band {
	display: grid;
	grid-template-columns: 1.4fr 1px 1fr;
	border-bottom: 1px solid var(--steel);
	animation: fadeUp .8s .2s both;
}

.ib-left { padding: 60px 56px; }
.ib-div { background: var(--steel); }

.ib-right {
	padding: 60px 52px;
	background: #080705;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ib-left h2 {
	font-family: 'Playfair Display', serif;
	font-size: 50px;
	font-weight: 900;
	font-style: italic;
	line-height: 1;
	color: var(--bone);
	margin-bottom: 20px;
	letter-spacing: -1px;
}

.ib-left p {
	font-size: 16px;
	color: var(--silver);
	line-height: 2.2;
	margin-bottom: 16px;
}

.ib-right h3 {
	font-family: 'Playfair Display', serif;
	font-size: 26px;
	font-weight: 700;
	color: var(--bone);
	margin-bottom: 16px;
}

.ib-right p {
	font-size: 16px;
	color: var(--silver);
	line-height: 2.1;
	margin-bottom: 20px;
}

/* Featured sponsor cards */
.sponsors-feature {
	padding: 60px 56px;
	border-bottom: 1px solid var(--steel);
}

.sponsors-feature h2 {
	font-family: 'Playfair Display', serif;
	font-size: 40px;
	font-weight: 900;
	letter-spacing: -1px;
	color: var(--bone);
	margin-bottom: 40px;
}

.sponsor-grid-feature {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	background: var(--steel);
	margin-bottom: 1px;
}

.sponsor-card {
	background: var(--ink);
	padding: 44px 48px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 240px;
	transition: background .2s;
}

.sponsor-card:hover { background: #141210; }

.sponsor-card.full {
	grid-column: 1 / -1;
	min-height: 180px;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.sc-name {
	font-family: 'Playfair Display', serif;
	font-size: 32px;
	font-weight: 900;
	color: var(--bone);
	margin-bottom: 6px;
	letter-spacing: -1px;
	line-height: 1;
}

.sc-category {
	font-size: 9px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--amber);
	margin-bottom: 16px;
}

.sc-desc {
	font-size: 15px;
	color: var(--silver);
	line-height: 2.1;
	max-width: 380px;
}

.sc-link {
	display: inline-block;
	margin-top: auto;
	padding-top: 18px;
	font-size: 9px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--steel);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: all .2s;
}

.sc-link:hover {
	color: var(--amber);
	border-color: var(--amber);
}

/* Supporting sponsors */
.sponsors-supporting {
	padding: 0 56px 60px;
	border-bottom: 1px solid var(--steel);
}

.sponsors-supporting h3 {
	font-family: 'Playfair Display', serif;
	font-size: 28px;
	font-weight: 700;
	color: var(--bone);
	margin-bottom: 28px;
	padding-top: 50px;
	border-top: 1px solid var(--steel);
}

.sponsor-grid-support {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--steel);
}

.sponsor-cell {
	background: var(--ink);
	padding: 30px 28px;
	transition: background .2s;
}

.sponsor-cell:hover { background: #141210; }

.scs-name {
	font-family: 'Playfair Display', serif;
	font-size: 20px;
	font-weight: 700;
	color: var(--bone);
	margin-bottom: 6px;
}

.scs-cat {
	font-size: 9px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--steel);
	margin-bottom: 10px;
}

.scs-link {
	font-size: 9px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--silver);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: all .2s;
}

.scs-link:hover {
	color: var(--amber);
	border-color: var(--amber);
}

/* Become a sponsor */
.become-section {
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	border-bottom: 1px solid var(--steel);
}

.bs-col { padding: 60px 56px; }
.bs-div { background: var(--steel); }
.bs-col.dark { background: #080705; }

.bs-col h2 {
	font-family: 'Playfair Display', serif;
	font-size: 40px;
	font-weight: 900;
	line-height: 1;
	color: var(--bone);
	margin-bottom: 20px;
	letter-spacing: -1px;
}

.bs-col h2 em {
	font-style: italic;
	font-weight: 400;
	color: var(--silver);
}

.bs-col p {
	font-size: 16px;
	color: var(--silver);
	line-height: 2.2;
	margin-bottom: 16px;
}

.tiers { list-style: none; margin-top: 8px; }

.tiers li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid var(--steel);
	font-size: 16px;
	color: var(--silver);
	transition: padding-left .15s;
}

.tiers li:hover { padding-left: 5px; }

.tier-name {
	font-family: 'Playfair Display', serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--bone);
}

.tier-badge {
	font-size: 9px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--amber);
}

/* Foundation band */
.foundation-band {
	padding: 50px 56px;
	border-bottom: 1px solid var(--steel);
	text-align: center;
	background: #080705;
}

.foundation-band h3 {
	font-family: 'Playfair Display', serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--bone);
	margin-bottom: 10px;
}

.foundation-band p {
	font-size: 16px;
	color: var(--silver);
	line-height: 2.1;
	max-width: 640px;
	margin: 0 auto;
}

/* ============================================
   PRESERVE PAGE
   ============================================ */
.intro-hero {
	display: grid;
	grid-template-columns: 1fr 1px 1.6fr 1px 1fr;
	border-bottom: 1px solid var(--steel);
	animation: fadeUp .8s .2s both;
}

.ih-col { padding: 52px 48px; }
.ih-div { background: var(--steel); }

.ih-main {
	background: radial-gradient(ellipse at center, #181510 0%, var(--ink) 75%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	position: relative;
	overflow: hidden;
	padding: 52px 48px;
}

.ih-bg {
	position: absolute;
	font-family: 'Playfair Display', serif;
	font-size: 160px;
	font-weight: 900;
	color: #110f0c;
	line-height: 1;
	letter-spacing: -6px;
	pointer-events: none;
	user-select: none;
}

.ih-main h2 {
	font-family: 'Playfair Display', serif;
	font-size: 40px;
	font-weight: 900;
	font-style: italic;
	color: var(--bone);
	position: relative;
	z-index: 2;
	margin-bottom: 14px;
	line-height: 1.1;
}

.ih-main p {
	font-size: 16px;
	color: var(--silver);
	line-height: 2.1;
	position: relative;
	z-index: 2;
	max-width: 320px;
}

.ih-col h3 {
	font-family: 'Playfair Display', serif;
	font-size: 24px;
	font-weight: 700;
	color: var(--bone);
	margin-bottom: 16px;
}

.ih-col p {
	font-size: 16px;
	color: var(--silver);
	line-height: 2.2;
	margin-bottom: 14px;
}

/* Course facts */
.course-facts {
	border-top: 1px solid var(--steel);
	margin-top: 4px;
}

.cf-item {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 14px 0;
	border-bottom: 1px solid var(--steel);
	font-size: 16px;
	gap: 20px;
}

.cf-item:last-child { border-bottom: none; }

.cf-label {
	font-size: 9px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--steel);
	flex-shrink: 0;
}

.cf-value {
	color: var(--bone);
	text-align: right;
	font-family: 'Playfair Display', serif;
	font-size: 15px;
}

/* Customs grid */
.customs-grid {
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	border-bottom: 1px solid var(--steel);
}

.cg-col { padding: 60px 56px; }
.cg-div { background: var(--steel); }
.cg-col.dark { background: #080705; }

.cg-col h2 {
	font-family: 'Playfair Display', serif;
	font-size: 40px;
	font-weight: 900;
	letter-spacing: -1px;
	color: var(--bone);
	margin-bottom: 28px;
}

.cg-col h2 em {
	font-style: italic;
	font-weight: 400;
	color: var(--silver);
}

.rule-group { margin-bottom: 32px; }

.rule-group h4 {
	font-size: 9px;
	letter-spacing: 5px;
	text-transform: uppercase;
	color: var(--amber);
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--steel);
}

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

.rule-list li {
	padding: 12px 0;
	border-bottom: 1px solid var(--steel);
	font-size: 16px;
	color: var(--silver);
	line-height: 1.85;
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 16px;
	transition: padding-left .15s;
}

.rule-list li:hover { padding-left: 4px; }
.rule-list li:last-child { border-bottom: none; }

.rl-label {
	font-size: 9px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--steel);
	padding-top: 2px;
}

.rl-value { color: var(--bone); }

/* Hotels grid */
.hotels-section {
	padding: 60px 56px;
	border-bottom: 1px solid var(--steel);
	background: #080705;
}

.hotels-section h2 {
	font-family: 'Playfair Display', serif;
	font-size: 40px;
	font-weight: 900;
	letter-spacing: -1px;
	color: var(--bone);
	margin-bottom: 40px;
}

.hotel-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1px;
	background: var(--steel);
}

.hotel-card {
	background: var(--ink);
	padding: 28px 24px;
	transition: background .2s;
}

.hotel-card:hover { background: #141210; }

.hotel-card h4 {
	font-family: 'Playfair Display', serif;
	font-size: 18px;
	font-weight: 700;
	font-style: italic;
	color: var(--bone);
	margin-bottom: 8px;
	line-height: 1.2;
}

.hotel-card h4 a {
	color: inherit;
	text-decoration: none;
	transition: color .2s;
}

.hotel-card h4 a:hover { color: var(--amber); }

.hotel-addr {
	font-size: 10px;
	color: var(--silver);
	line-height: 1.8;
	margin-bottom: 10px;
}

.hotel-meta {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.hotel-dist {
	font-size: 10px;
	letter-spacing: 2px;
	color: var(--steel);
	text-transform: uppercase;
}

.hotel-card .hotel-price {
	font-family: 'Playfair Display', serif;
	font-size: 16px;
	color: var(--amber);
}

.hotel-phone {
	font-size: 10px;
	color: var(--silver);
	margin-top: 6px;
}

/* ============================================
   RESULTS PAGE — Top 5, Tabs, Score Key, Tatum
   ============================================ */

/* Top 5 list */
.top5-list { list-style: none; margin-top: 8px; }

.top5-list li {
	display: grid;
	grid-template-columns: 32px 1fr auto;
	align-items: baseline;
	padding: 11px 0;
	border-bottom: 1px solid var(--steel);
	gap: 12px;
	transition: padding-left .15s;
}

.top5-list li:hover { padding-left: 4px; }
.top5-list li:last-child { border-bottom: none; }

.t5-pos { font-size: 10px; color: var(--steel); letter-spacing: 1px; }
.t5-name { font-family: 'Playfair Display', serif; font-size: 16px; color: var(--bone); }

.top5-list li.winner .t5-name {
	font-style: italic;
	color: var(--amber);
	font-size: 18px;
}

.t5-score {
	font-family: 'Playfair Display', serif;
	font-size: 20px;
	font-weight: 700;
	color: var(--silver);
}

.top5-list li.winner .t5-score {
	color: var(--amber);
	font-size: 24px;
}

/* Champion hero extra classes */
.ch-bg-text {
	position: absolute;
	font-family: 'Playfair Display', serif;
	font-size: 170px;
	font-weight: 900;
	color: #130f08;
	line-height: 1;
	letter-spacing: -8px;
	pointer-events: none;
	user-select: none;
}

.ch-score-large {
	font-family: 'Playfair Display', serif;
	font-size: 86px;
	font-weight: 900;
	color: var(--amber);
	line-height: 1;
	position: relative;
	z-index: 2;
	margin-bottom: 10px;
}

/* Leaderboard section */
.leaderboard-section {
	padding: 0;
	border-bottom: 1px solid var(--steel);
}

.lb-header {
	padding: 36px 56px 0;
	background: #080705;
	border-bottom: 1px solid var(--steel);
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.lb-title {
	font-family: 'Playfair Display', serif;
	font-size: 36px;
	font-weight: 900;
	letter-spacing: -1px;
	color: var(--bone);
	padding-bottom: 20px;
}

/* Round tabs */
.round-tabs { display: flex; gap: 0; }

.round-tab {
	padding: 12px 28px;
	font-size: 9px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--silver);
	background: transparent;
	border: none;
	border-top: 1px solid var(--steel);
	border-left: 1px solid var(--steel);
	border-bottom: 1px solid var(--steel);
	cursor: pointer;
	font-family: 'Special Elite', monospace;
	transition: all .15s;
}

.round-tab:last-child { border-right: 1px solid var(--steel); }
.round-tab:hover { color: var(--bone); background: rgba(255, 255, 255, 0.02); }

.round-tab.active {
	color: var(--amber);
	background: var(--ink);
	border-bottom-color: var(--ink);
	border-top-color: var(--amber);
}

/* Round panels */
.round-panel { display: none; }
.round-panel.active { display: block; }

/* Score key */
.score-key {
	padding: 16px 56px;
	background: #060504;
	border-bottom: 1px solid var(--steel);
	display: flex;
	gap: 28px;
	align-items: center;
	flex-wrap: wrap;
}

.sk-label {
	font-size: 9px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--steel);
	margin-right: 4px;
}

.sk-item {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 10px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--silver);
}

.sk-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
}

.sk-dot.eagle { background: var(--eagle, #2a6a48); }
.sk-dot.birdie { background: var(--birdie, #4a8a48); }
.sk-dot.par-dot { background: var(--silver); }
.sk-dot.bogey { background: var(--bogey, #8a3030); }
.sk-dot.dbl { background: var(--dbl, #6a1818); }

/* Tatum Trophy section */
.tatum-section {
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	border-bottom: 1px solid var(--steel);
}

.tt-col { padding: 56px 52px; }
.tt-div { background: var(--steel); }
.tt-col.dark { background: #080705; }

.tt-col h2 {
	font-family: 'Playfair Display', serif;
	font-size: 40px;
	font-weight: 900;
	letter-spacing: -1px;
	color: var(--bone);
	margin-bottom: 8px;
}

.tt-col h2 em {
	font-style: italic;
	font-weight: 400;
	color: var(--silver);
}

.tt-col p {
	font-size: 16px;
	color: var(--silver);
	line-height: 2.2;
	margin-bottom: 14px;
}

.tt-list { list-style: none; margin-top: 4px; }

.tt-list li {
	display: grid;
	grid-template-columns: 28px 1fr auto;
	gap: 12px;
	align-items: baseline;
	padding: 11px 0;
	border-bottom: 1px solid var(--steel);
	transition: padding-left .15s;
}

.tt-list li:hover { padding-left: 4px; }
.tt-list li:last-child { border-bottom: none; }

.tt-pos { font-size: 10px; color: var(--steel); }

.tt-team {
	font-family: 'Playfair Display', serif;
	font-size: 15px;
	color: var(--bone);
}

.tt-score {
	font-family: 'Playfair Display', serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--silver);
}

.tt-list li.winner .tt-team {
	font-style: italic;
	color: var(--amber);
}

.tt-list li.winner .tt-score {
	color: var(--amber);
	font-size: 22px;
}

/* Score color variables for results */
:root {
	--birdie: #4a8a48;
	--eagle: #2a6a48;
	--bogey: #8a3030;
	--dbl: #6a1818;
}

/* ============================================
   GOLF GENIUS SCORECARD — Archive Theme Override
   ============================================ */

/* Results section wrapper */
.results-section {
	padding: 0;
	border-bottom: 1px solid var(--steel);
}

/* Container */
.golf-scorecard-container {
	background: var(--ink) !important;
}

/* Round selector bar */
.golf-rounds-selector {
	background: #080705 !important;
	border-bottom: 1px solid var(--steel) !important;
	padding: 14px 24px !important;
}

.golf-rounds-selector label {
	color: var(--silver) !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 9px !important;
	letter-spacing: 3px !important;
	text-transform: uppercase !important;
}

.golf-rounds-selector select,
.golf-rounds-selector .rounds-dropdown,
.golf-rounds-selector .frontend-event-select {
	background: var(--ink) !important;
	color: var(--bone) !important;
	border: 1px solid var(--steel) !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 11px !important;
	letter-spacing: 1px !important;
	border-radius: 0 !important;
	padding: 8px 12px !important;
}

.golf-rounds-selector select:focus {
	border-color: var(--amber) !important;
	outline: none !important;
}

.golf-scorecard-selector-badge {
	background: var(--steel) !important;
	color: var(--bone) !important;
	border: 1px solid var(--steel) !important;
	border-radius: 0 !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 9px !important;
	letter-spacing: 2px !important;
}

/* Table wrapper */
.golf-table-wrapper {
	background: var(--ink) !important;
	scrollbar-color: var(--steel) var(--ink) !important;
}

.golf-table-wrapper::-webkit-scrollbar-track {
	background: var(--ink) !important;
}

.golf-table-wrapper::-webkit-scrollbar-thumb {
	background: var(--steel) !important;
	border-radius: 0 !important;
}

.golf-table-wrapper::-webkit-scrollbar-thumb:hover {
	background: var(--silver) !important;
}

/* Touch scroll gradient */
@media (hover: none) and (pointer: coarse) {
	.golf-table-wrapper::after {
		background: linear-gradient(to right, transparent, rgba(12, 10, 7, 0.8)) !important;
	}
}

/* Table base */
.golf-scorecard-table {
	font-family: 'Playfair Display', serif !important;
	border-spacing: 0 !important;
}

/* Header row */
.golf-scorecard-table thead th {
	background: var(--steel) !important;
	color: var(--silver) !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 9px !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	font-weight: 400 !important;
	border: none !important;
	border-bottom: 1px solid var(--ink) !important;
	border-right: 1px solid rgba(12, 10, 7, 0.5) !important;
}

/* Par row */
.golf-scorecard-table .par-row td {
	background: #1a1816 !important;
	color: var(--silver) !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 10px !important;
	font-weight: 400 !important;
	border-bottom: 2px solid var(--steel) !important;
}

.golf-scorecard-table thead tr.par-row td:nth-last-child(1),
.golf-scorecard-table thead tr.par-row td:nth-last-child(2) {
	background-color: #1a1816 !important;
	color: transparent !important;
}

/* Body cells */
.golf-scorecard-table tbody td {
	background: var(--ink) !important;
	color: var(--silver) !important;
	border-bottom: 1px solid var(--steel) !important;
	border-right: 1px solid rgba(50, 48, 44, 0.3) !important;
	font-size: 13px !important;
}

.golf-scorecard-table tbody tr:nth-child(even) td {
	background: #080705 !important;
	color: var(--silver) !important;
}

/* Hover */
.golf-scorecard-table tbody tr:hover td {
	background: #141210 !important;
}

/* POS column — sticky */
.golf-scorecard-table thead th:first-child,
.golf-scorecard-table thead tr.par-row td:first-child {
	background: var(--steel) !important;
	color: var(--silver) !important;
	box-shadow: 2px 0 8px rgba(0, 0, 0, 0.4) !important;
}

.golf-scorecard-table tbody td:first-child {
	background: var(--steel) !important;
	color: var(--bone) !important;
	font-family: 'Playfair Display', serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	box-shadow: 2px 0 8px rgba(0, 0, 0, 0.4) !important;
	border-bottom: 1px solid rgba(12, 10, 7, 0.6) !important;
}

.golf-scorecard-table tbody tr:hover td:first-child {
	background: var(--steel) !important;
}

/* Highly specific POS overrides */
.golf-table-wrapper .golf-scorecard-table > thead > tr > th:first-child,
.golf-table-wrapper .golf-scorecard-table > tbody > tr > td:first-child {
	background: var(--steel) !important;
	color: var(--bone) !important;
	border-bottom: 1px solid rgba(12, 10, 7, 0.6) !important;
}

/* PLAYER column — sticky */
.golf-scorecard-table thead th:nth-child(2),
.golf-scorecard-table thead tr.par-row td:nth-child(2) {
	background: var(--steel) !important;
	color: var(--silver) !important;
	box-shadow: 2px 0 6px rgba(0, 0, 0, 0.3) !important;
}

.golf-scorecard-table td:nth-child(2) {
	color: var(--bone) !important;
	font-family: 'Playfair Display', serif !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: 0 !important;
}

.golf-scorecard-table tbody td:nth-child(2) {
	background: var(--ink) !important;
	border-bottom: 1px solid var(--steel) !important;
	box-shadow: 2px 0 6px rgba(0, 0, 0, 0.3) !important;
}

.golf-scorecard-table tbody tr:nth-child(even) td:nth-child(2) {
	background: #080705 !important;
	border-bottom: 1px solid var(--steel) !important;
}

.golf-scorecard-table tbody tr:hover td:nth-child(2) {
	background: #141210 !important;
}

/* Score colors on dark background */
.golf-scorecard-table .score-red {
	color: var(--amber) !important;
	font-weight: 700 !important;
}

.golf-scorecard-table .score-black {
	color: var(--silver) !important;
	font-weight: 700 !important;
}

.golf-scorecard-table .score-even {
	color: var(--dust) !important;
	font-weight: 400 !important;
}

/* TO PAR and TOTAL columns */
.golf-scorecard-table tbody td:nth-last-child(2),
.golf-scorecard-table tbody td:last-child {
	background-color: var(--ink) !important;
	font-weight: 700 !important;
}

.golf-scorecard-table tbody tr:nth-child(even) td:nth-last-child(2),
.golf-scorecard-table tbody tr:nth-child(even) td:last-child {
	background-color: #080705 !important;
}

/* Mobile sticky overrides */
@media (max-width: 767px) {
	.golf-scorecard-table th:first-child,
	.golf-scorecard-table td:first-child,
	.golf-scorecard-table .par-row td:first-child {
		background-color: var(--steel) !important;
	}

	.golf-scorecard-table th:nth-child(2),
	.golf-scorecard-table .par-row td:nth-child(2) {
		background-color: var(--steel) !important;
		color: var(--silver) !important;
	}

	.golf-scorecard-table td:nth-child(2) {
		background-color: var(--ink) !important;
	}
}

/* Par modal */
.gg-par-modal-content {
	background: #080705 !important;
	color: var(--bone) !important;
	border: 1px solid var(--steel) !important;
	border-radius: 0 !important;
}

.gg-par-table th {
	background: var(--steel) !important;
	color: var(--silver) !important;
	border-color: var(--ink) !important;
}

.gg-par-table td {
	border-color: var(--steel) !important;
	color: var(--bone) !important;
}

/* ============================================
   ANIMATIONS
   ============================================ */
@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes fadeUp {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: translateY(0); }
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
	.hero,
	.champ-hero,
	.pull-hero,
	.intro-hero {
		grid-template-columns: 1fr;
	}

	.hero-div,
	.ch-div,
	.ph-div,
	.ih-div { display: none; }

	.hero-col,
	.ch-col,
	.ph-col,
	.ih-col { padding: 40px 30px; }

	.ch-main,
	.ph-main,
	.ih-main { padding: 60px 30px; min-height: 300px; }

	.body-grid,
	.multi-section,
	.customs-grid,
	.become-section,
	.tatum-section {
		grid-template-columns: 1fr;
	}

	.tt-div { display: none; }

	.ms-div,
	.cg-div,
	.bs-div { display: none; }

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

	.register-band,
	.intro-band {
		grid-template-columns: 1fr;
	}

	.venue-band,
	.founders {
		grid-template-columns: 1fr;
	}

	.fd { display: none; }

	.sponsor-grid-feature {
		grid-template-columns: 1fr;
	}

	.sponsor-card.full {
		flex-direction: column;
	}

	.sponsor-grid-support {
		grid-template-columns: repeat(2, 1fr);
	}

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

	.sc-footer {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.footer-legal { text-align: center; }
}

@media (max-width: 768px) {
	.sc-nav {
		flex-direction: column;
		gap: 12px;
		padding: 14px 20px;
	}

	.sc-nav .nav-links,
	.sc-nav .menu {
		gap: 16px;
		flex-wrap: wrap;
		justify-content: center;
	}

	.nav-center { display: none; }

	.sc-ticker { padding: 10px 20px; }

	.sc-masthead,
	.page-masthead { padding: 40px 20px 30px; }

	.stats-row { flex-wrap: wrap; }
	.stat-cell {
		flex: 1 1 33%;
		border-bottom: 1px solid var(--steel);
	}

	.champ-grid {
		grid-template-columns: 1fr 1fr;
	}

	.sponsor-grid-support {
		grid-template-columns: 1fr;
	}

	.hotel-grid {
		grid-template-columns: 1fr;
	}

	.rule-list li {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.cta-band {
		flex-direction: column;
		text-align: center;
	}

	.cta-band .btn-group {
		flex-direction: column;
		width: 100%;
	}

	.sc-footer { padding: 30px 20px; }

	.lb-header {
		padding: 20px 20px 0;
		flex-direction: column;
		align-items: flex-start;
	}

	.round-tabs { flex-wrap: wrap; }

	.round-tab {
		padding: 10px 16px;
		font-size: 8px;
		letter-spacing: 2px;
	}

	.score-key {
		padding: 12px 20px;
		gap: 16px;
	}
}

/* ============================================
   IMAGE SYSTEM — Archive theme image utilities
   ============================================ */

.archive-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.archive-img-frame {
	position: relative;
	overflow: hidden;
	background: #1a1816;
	margin-bottom: 20px;
}

.archive-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	pointer-events: none;
}

.archive-bg-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(26,24,22,0.45) 0%, rgba(26,24,22,0.65) 100%);
}

.archive-bg-overlay--very-dark {
	background: rgba(8,7,5,0.9);
}

/* Lift natural children above bg image inside hosted sections */
.hero-col.main > *:not(.archive-bg):not(.archive-bg-overlay),
.register-band > *:not(.archive-bg):not(.archive-bg-overlay) {
	position: relative;
	z-index: 2;
}

/* register-band is display:grid — give it a positioning context for the bg */
.register-band { position: relative; overflow: hidden; }

/* Portrait images preserve heads with top-aligned crop */
.archive-img--portrait { object-position: center top; }

/* Tonal treatments — match the master image list */
.tone-grayscale       { filter: grayscale(1) contrast(1.05); }
.tone-bw              { filter: grayscale(1) contrast(1.15) brightness(0.95); }
.tone-desaturated     { filter: saturate(0.4) brightness(0.85); }
.tone-desat-darkened  { filter: saturate(0.3) brightness(0.45) contrast(1.1); }
.tone-desat-warm      { filter: saturate(0.55) sepia(0.18) brightness(0.88); }
.tone-warm            { filter: saturate(0.85) sepia(0.25) brightness(0.95); }
.tone-warm-golden     { filter: saturate(0.95) sepia(0.4) hue-rotate(-8deg) brightness(0.95); }
.tone-very-dark       { filter: saturate(0.3) brightness(0.18); }
.tone-sepia           { filter: sepia(0.55) saturate(0.5) brightness(0.92); }

/* Placeholder block for image slots not yet provided */
.archive-img-pending {
	background: #1a1816;
	border: 2px dashed var(--steel);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--steel);
	font-family: 'Special Elite', monospace;
	font-size: 11px;
	letter-spacing: 3px;
	text-transform: uppercase;
	text-align: center;
	padding: 16px;
	margin-bottom: 20px;
}
