/* header.css — masthead, 3-rule sandwich, sticky shrink. */

.hc-masthead {
	background: var(--c-paper);
	border-top: 3px solid var(--c-ink);
	transition: padding .2s ease;
	position: sticky;
	top: 0;
	z-index: 40;
}
.hc-masthead__inner {
	max-width: var(--container);
	margin-inline: auto;
	padding: 28px var(--gutter) 0;
	text-align: center;
}
.hc-masthead__wordmark {
	font-family: var(--f-display);
	font-weight: 900;
	font-size: var(--f-masthead);
	line-height: 1;
	letter-spacing: 0.03em;
	color: var(--c-ink);
	margin: 0;
	text-transform: uppercase;
}
.hc-masthead__wordmark a { color: inherit; border: 0; }
.hc-masthead__date {
	font-family: var(--f-body);
	font-weight: 500;
	font-size: 0.9375rem;
	color: var(--c-stone);
	margin: 14px 0 22px;
	letter-spacing: 0.02em;
}
.hc-masthead__rule {
	border: 0;
	border-top: 1px solid var(--c-ink);
	margin: 0;
}

/* Nav — rules.md C3: uppercase Plex Sans, sandwich between 1px rules. */
.hc-nav {
	max-width: var(--container);
	margin-inline: auto;
	padding: 14px var(--gutter);
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 32px;
	flex-wrap: wrap;
}
.hc-nav__list {
	display: flex;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: center;
}
.hc-nav__item { position: relative; }
.hc-nav__link {
	font-family: var(--f-body);
	font-weight: 500;
	font-size: 0.9375rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-ink);
	padding: 6px 2px;
	border-bottom: 1px solid transparent;
	transition: color .15s ease, border-color .15s ease;
	display: inline-block;
	background: none;
}
.hc-nav__link:hover,
.hc-nav__link[aria-expanded="true"],
.hc-nav__item:hover .hc-nav__link { color: var(--c-accent); border-bottom-color: var(--c-accent); }

/* Dropdown (Sports) */
.hc-nav__dropdown {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	background: var(--c-paper);
	border: 1px solid var(--c-ink);
	padding: 14px 24px;
	min-width: 220px;
	list-style: none;
	margin: 0;
	display: none;
	z-index: 30;
}
.hc-nav__item:hover .hc-nav__dropdown,
.hc-nav__item:focus-within .hc-nav__dropdown { display: block; }
.hc-nav__dropdown li { margin: 0; padding: 6px 0; }
.hc-nav__dropdown a {
	font-family: var(--f-body);
	font-size: 0.875rem;
	letter-spacing: 0.06em;
	color: var(--c-ink);
	border-bottom: 1px solid transparent;
}
.hc-nav__dropdown a:hover { color: var(--c-accent); border-bottom-color: var(--c-accent); }

.hc-masthead__bottomrule {
	border: 0;
	border-top: 1px solid var(--c-ink);
	margin: 0;
}

/* Sticky shrink state */
.hc-masthead.is-shrunk {
	padding: 0;
}
.hc-masthead.is-shrunk .hc-masthead__inner { padding-top: 12px; }
.hc-masthead.is-shrunk .hc-masthead__wordmark { font-size: 1.375rem; }
.hc-masthead.is-shrunk .hc-masthead__date,
.hc-masthead.is-shrunk .hc-masthead__rule,
.hc-masthead.is-shrunk .hc-nav,
.hc-masthead.is-shrunk .hc-masthead__bottomrule { display: none; }
.hc-masthead.is-shrunk {
	height: 48px;
	border-bottom: 1px solid var(--c-ink);
	border-top-width: 3px;
}

/* Mobile toggle (only below 768) */
.hc-nav__toggle {
	display: none;
	font-family: var(--f-body);
	text-transform: uppercase;
	font-size: 0.8125rem;
	letter-spacing: 0.12em;
	padding: 6px 12px;
	border: 1px solid var(--c-ink);
}
.hc-nav.is-open .hc-nav__list { display: flex; }

/* Affiliate disclosure persistent banner (C2/D7) */
.hc-affbanner {
	background: var(--c-paper-alt);
	border-bottom: 1px solid var(--c-stone);
	padding: 10px var(--gutter);
	font-family: var(--f-body);
	font-size: 0.8125rem;
	color: var(--c-ink);
	text-align: center;
	position: relative;
}
.hc-affbanner__inner { max-width: var(--container); margin-inline: auto; padding-right: 30px; }
.hc-affbanner a { color: var(--c-ink); border-bottom: 1px solid var(--c-ink); }
.hc-affbanner a:hover { color: var(--c-accent); border-bottom-color: var(--c-accent); }
.hc-affbanner__close {
	position: absolute;
	right: var(--gutter);
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--f-body);
	font-size: 1rem;
	color: var(--c-ink-muted);
	background: transparent;
	padding: 2px 6px;
}
.hc-affbanner__close:hover { color: var(--c-accent); }
.hc-affbanner[hidden] { display: none; }
