/* ============================================================
   SILVER CHROME (1.0.3). Corbin's colors are red, white and silver.
   Structural surfaces are white and silver with graphite type; only
   photographs carry darkness. Loaded last in the cascade.
   ============================================================ */
@layer components {
	/* Archive surfaces: cool silver, not warm paper. */
	:root { --paper: #f3f4f6; --paper-2: #e6e8ec; --paper-line: #cfd3d8; --paper-ink: #1c1f23; --paper-muted: #6f757c; }
	:root { --silver: #d9dce1; --silver-2: #e9ebee; --silver-3: #f3f4f6; --silver-line: #c6cad0; --graphite: #2b3036; --gray-section: #eef0f2; --gray-section-2: #e5e8ec; --gray-line: #d3d7dc; --white-card: #ffffff; --white: #f9fafb; }
	body { background: var(--gray-section); }
	/* Header */
	.site-header { background: #fff; color: var(--graphite); }
	.utility { background: var(--silver-2); border-bottom-color: var(--silver-line); }
	.utility__place, .utility__menu a, .utility__social a, .utility__search { color: var(--graphite); }
	.utility__place { color: #5b6169; }
	.utility__divider { background: var(--silver-line); }
	.masthead { background: #fff; }
	.primary-nav__menu a, .menu-item__toggle, .nav-toggle { color: var(--graphite); }
	.primary-nav .sub-menu { background: #fff; box-shadow: 0 16px 32px rgba(43,48,54,.18); }
	.primary-nav .sub-menu a { color: var(--graphite); }
	.primary-nav.is-open { background: #fff; }
	.primary-nav.is-open .primary-nav__menu > .menu-item { border-bottom-color: var(--silver-line); }
	.logo__sub { color: var(--graphite); }
	.logo__word { -webkit-text-stroke: 0; }
	/* Rail */
	.rail__head { background: #fff; color: var(--graphite); border-bottom: 1px solid var(--silver-line); }
	.rail__all { color: var(--graphite); }
	.rail__btn { border-color: var(--silver-line); color: var(--graphite); }
	.rail__btn:hover { background: var(--silver-2); }
	.rail { box-shadow: 0 12px 32px rgba(43,48,54,.16); }
	/* Section bands, page heads, archive bands */
	.section--dark, .sport-schedule, .archive-section--dark, .page-head, .history-cta, .sport-intro, .gallery-intro, .team-card--roster { background: var(--silver); color: var(--graphite); }
	.page-head, .history-cta { border-color: var(--red); }
	.archive-section--dark::before { display: none; }
	.archive-section--dark .archive-section__head { border-color: var(--graphite); }
	.archive-section--paper { background: var(--silver-3); }
	.stat, .archive-stats .fact, .archive-hero .fact { color: var(--graphite); }
	.archive-hero.has-image .fact, .archive-hero.has-image .archive-stats .fact { color: #fff; }
	.archive-hero.has-image .fact__label, .archive-hero.has-image .archive-coverage { color: rgba(255,255,255,.72); }
	.archive-section--dark .archive-title__sub { color: #5b6169; }
	.stat__label, .stat__sub, .fact__label, .archive-title__sub, .archive-empty, .history-cta__text, .sport-intro__text, .gallery-intro__text, .decade__count { color: #5b6169; }
	.schedule__list--dark .game-row { background: #fff; border-color: var(--silver-line); }
	.schedule__list--dark .game-row__link { color: var(--graphite); }
	.schedule__list--dark .game-row__link:hover { background: var(--silver-3); }
	.schedule__list--dark .game-row__date { border-right-color: var(--silver-line); }
	.schedule__list--dark .game-row__dow, .schedule__list--dark .game-row__sub, .schedule__list--dark .game-row__when, .schedule__list--dark .game-row__arrow, .schedule__list--dark .game-row__result--l, .schedule__list--dark .game-row__opponent em { color: #6f757c; }
	.schedule__list--dark .tag { background: var(--silver-2); color: var(--graphite); }
	.season-list--dark .season-card { background: #fff; border-color: var(--silver-line); color: var(--graphite); }
	.season-list--dark .season-card__meta { color: #6f757c; } .season-list--dark .season-card__meta b { color: var(--graphite); }
	.sport-list__item { color: var(--graphite); border-bottom-color: var(--silver-line); } .sport-list { border-top-color: var(--silver-line); } .sport-list__meta { color: #6f757c; }
	.decade { color: var(--graphite); border-color: var(--silver-line); background: #fff; }
	.person-card { color: var(--graphite); }
	.btn--outline { border-color: var(--graphite); color: var(--graphite); }
	.btn--outline:hover { background: var(--graphite); color: #fff; }
	.archive-hero.has-image .btn--outline, .hero .btn--outline, .sport-hero .btn--outline, .game-hero .btn--outline, .gallery-hero .btn--outline, .roster-hero .btn--outline, .story-feature .btn--outline { border-color: #fff; color: #fff; }
	.team-card--roster { color: var(--graphite); } .team-card--roster .team-card__label { color: var(--red); } .team-card--roster .team-card__text { color: #5b6169; } .team-card--roster .btn { background: var(--red); border-color: var(--red); color: #fff; }
	.team-card__preview b { color: var(--red); } .team-card__preview i { background: var(--red); color: #fff; }
	.game-card--off .game-card__meta { color: var(--red); }
	.empty { background: var(--silver); color: var(--graphite); } .empty__text { color: #5b6169; }
	/* Sport page spotlight: both cards white, next game gets a red top rule */
	.game-spot--primary { background: #fff; color: var(--graphite); border-color: var(--silver-line); border-top: 3px solid var(--red); }
	.game-spot--primary .game-spot__label { border-bottom-color: var(--silver-line); }
	.game-spot--primary .game-spot__flag, .game-spot--primary .game-spot__meta, .game-spot--primary .game-spot__opponent em { color: #6f757c; }
	.game-spot--primary .game-spot__foot { border-top-color: var(--silver-line); }
	/* Game page: header photo or silver */
	.game-hero:not(.has-photo) { background: var(--silver); color: var(--graphite); }
	.game-hero:not(.has-photo) .game-hero__back, .game-hero:not(.has-photo) .matchup__record, .game-hero:not(.has-photo) .matchup__score b, .game-hero:not(.has-photo) .matchup__vs, .game-hero:not(.has-photo) .game-hero__venue { color: #6f757c; }
	.game-hero:not(.has-photo) .matchup__score.is-corbin b:first-child, .game-hero:not(.has-photo) .matchup__score.is-opp b:last-child, .game-hero:not(.has-photo) .matchup__status--time { color: var(--graphite); }
	/* Person hero, archive hero without image, sport hero without image */
	.person-hero, .archive-hero:not(.has-image), .sport-hero.no-image, .roster-hero.no-image, .gallery-hero.no-image, .notfound { background: var(--silver); color: var(--graphite); }
	.sport-hero.no-image::before { display: none; }
	.person-hero .fact, .archive-hero:not(.has-image) .fact { color: var(--graphite); }
	.archive-head__back--light, .person-hero .fact__label, .archive-hero:not(.has-image) .archive-hero__lede, .archive-coverage, .notfound__text { color: #5b6169; }
	.archive-hero:not(.has-image) .archive-hero__title, .sport-hero.no-image .sport-hero__name { text-shadow: none; }
	.archive-hero:not(.has-image) .series-record__label, .archive-hero:not(.has-image) .archive-stats .fact__label { color: #5b6169; }
	.sport-hero.no-image .sport-hero__tagline { color: #5b6169; }
	/* Footer: silver, and the panorama fades into it */
	.site-footer { background: var(--silver); color: var(--graphite); }
	.site-footer__subtitle, .site-footer__menu a, .site-footer__motto, .site-footer__disclaimer, .site-footer__copy { color: #5b6169; }
	.site-footer__menu a:hover { color: var(--graphite); }
	.site-footer__social a { color: var(--graphite); }
	.site-footer__legal { border-top-color: var(--silver-line); }
	.site-footer__mark--type { box-shadow: 0 0 0 2px #fff inset, 0 0 0 5px var(--red) inset; }
	.panorama__overlay { background: linear-gradient(180deg, rgba(43,48,54,.25) 0%, rgba(43,48,54,.1) 45%, rgba(217,220,225,.85) 88%, var(--silver) 100%); }
	/* Quote on a solid red plate so it reads on any photograph */
	.panorama__quote { color: #fff; text-shadow: none; background: var(--red); padding: var(--sp-4) var(--sp-5); border-left: 6px solid #fff; box-shadow: 0 12px 32px rgba(0,0,0,.25); max-width: 30rem; }
	.panorama__quote::after { display: none; }
	/* Filters */
	.filters { background: #fff; }
	.chip { background: #fff; border-color: var(--silver-line); color: var(--graphite); }
	.chip:hover { border-color: var(--graphite); }
	/* Active filters are always red with white type, pinned by element+class so page-level link rules cannot override them. */
	a.chip.is-active, .filters a.chip.is-active, .filters--paper a.chip.is-active, a.chip--sm.is-active { background: var(--red); border-color: var(--red); color: #fff; }
	a.chip.is-active:hover { background: var(--red-btn-hover); border-color: var(--red-btn-hover); color: #fff; }
	.chip--dark { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); color: #fff; }
	.person-hero .chip--dark, .archive-hero:not(.has-image) .chip--dark { background: #fff; border-color: var(--silver-line); color: var(--graphite); }
	.card .records__list { grid-template-columns: 1fr; }
	.card .record__link { grid-template-columns: 72px 1fr; }
	.card .record__value { font-size: 1.5rem; }
	.filters--paper { background: #fff; }
	.archive-head { background: var(--silver); border-bottom-color: var(--silver-line); }
	.champ-card { background: #fff; border-color: var(--silver-line); color: var(--graphite); }
	.champ-card--state { background: #fff; border-color: var(--silver-line); border-top: 4px solid var(--red); color: var(--graphite); }
	.champ-card--state .champ-card__sport, .champ-card__sport { color: #6f757c; }
	.champ-card__excerpt { color: #3f444a; }
	.season-feature { background: var(--graphite); }
	.season-card, .record__link { background: #fff; border-color: var(--silver-line); }
	.records__cat { border-color: var(--silver-line); }
}

@layer components {
	/* ============================================================
	   POP PASS (1.6.1). The game week is the loudest thing on the page:
	   Corbin red, slanted, oversized. Numbers get big. Section heads get a red rule.
	   ============================================================ */
	.gameweek { position: relative; background: linear-gradient(100deg, var(--red-deep) 0%, var(--red) 55%, #e02533 100%); color: #fff; border: 0; overflow: hidden; }
	.gameweek::before { content: ""; position: absolute; right: -8%; top: -30%; width: 46%; height: 160%; background: rgba(255,255,255,.06); transform: skewX(-14deg); pointer-events: none; }
	.gameweek::after { content: "C"; position: absolute; right: 2%; bottom: -22%; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 26rem; line-height: 1; color: rgba(255,255,255,.05); pointer-events: none; }
	.gameweek__inner { position: relative; z-index: 1; padding-block: var(--sp-7); }
	.gameweek__label { color: #fff; font-size: var(--fs-small); padding: 6px 10px; background: rgba(0,0,0,.22); }
	.gameweek__dot { background: #fff; }
	.gameweek__matchup { color: #fff; margin-top: var(--sp-3); }
	.gameweek__vs { font-size: clamp(2.75rem, 6.5vw, 6rem); text-shadow: 0 3px 24px rgba(0,0,0,.25); }
	.gameweek__vs em { color: rgba(255,255,255,.6); }
	.gameweek__score span { color: #fff; }
	.gameweek__score b, .gameweek__score--opp b { color: #fff; }
	.gameweek__score--opp b { color: rgba(255,255,255,.55); }
	.gameweek__meta { color: rgba(255,255,255,.85); font-size: var(--fs-small); margin-top: 12px; }
	.countdown__unit { background: #fff; min-width: 76px; padding: 12px 12px 10px; }
	.countdown__unit b { color: var(--red); font-size: 2.5rem; }
	.countdown__unit span { color: var(--gray-meta); }
	.countdown__to { color: rgba(255,255,255,.85); font-weight: var(--fw-bold); }
	.gameweek__fact { background: rgba(255,255,255,.12); color: #fff; border-left: 4px solid #fff; }
	.gameweek__fact b { font-size: 1.75rem; color: #fff; }
	.gameweek__fact span { color: rgba(255,255,255,.8); }
	a.gameweek__fact:hover { background: #fff; color: var(--red); }
	a.gameweek__fact:hover b { color: var(--red); } a.gameweek__fact:hover span { color: var(--gray-meta); }
	.gameweek--live { border-top: 0; }
	.gameweek--live .gameweek__label { background: #fff; color: var(--red); }

	/* Numbers strip: big, red, with slanted dividers */
	.numstrip { background: #fff; border-bottom: 4px solid var(--red); }
	.numstrip__inner { gap: 0; padding-block: 0; }
	.numstrip__item { flex: 1 1 auto; padding: var(--sp-4) var(--sp-5) var(--sp-4) var(--sp-4); position: relative; }
	.numstrip__item + .numstrip__item::before { content: ""; position: absolute; left: -6px; top: 18%; height: 64%; width: 2px; background: var(--silver-line); transform: skewX(-14deg); }
	.numstrip__item b { font-size: clamp(2rem, 3.4vw, 3rem); }
	.numstrip__item:hover b { color: var(--graphite); }
	.numstrip__more { padding: 0 var(--sp-4); }

	/* Section heads: red rule under the title everywhere on the homepage and archive */
	.schedule__group-head, .archive-section__head { border-bottom-width: 4px; border-bottom-color: var(--red); }
	.archive-section--paper .archive-section__head, .archive-section--dark .archive-section__head { border-color: var(--red); }
	.rail__head { border-bottom: 4px solid var(--red); }
	.rail__title::after { display: none; }

	/* Spotlight and coaches: a red bar on the left */
	.spot, .coachcard { border-left: 4px solid var(--red); }
	.spot__title, .coachcard__name { letter-spacing: var(--ls-tight); }
	/* On this date: year in red is fine; make W squares louder, L graphite */
	.otd__result { background: var(--graphite); color: #fff; }
	.otd__result--w { background: var(--red); }
	/* Quick links: lift on hover */
	.quick__card { transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
	.quick__card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(206,26,39,.28); }
	/* Poll: red heading bar */
	.poll { border-top: 4px solid var(--red); }
	.poll__q { color: var(--red); }
	/* Rail final cards: W in a red square */
	.game-card__result--w { color: #fff; background: var(--red); padding: 1px 6px; }
	/* Series/season pages: red rule under hero facts */
	.archive-hero:not(.has-image) { background: linear-gradient(180deg, var(--silver) 0%, #e9ebee 100%); }
	.archive-hero__title--year { color: var(--red); }
}

@layer components {
	/* ---- Homepage module layouts (1.6.2): fill the band, alternate surfaces ---- */
	.spotlight { background: var(--silver-2); }
	.spotlight__grid.spotlight__grid--one { grid-template-columns: 1fr; }
	.spotlight__grid--one .spot--legend { grid-template-columns: minmax(260px, 34%) 1fr; min-height: 380px; }
	.spotlight__grid--one .spot__body { padding: var(--sp-6); justify-content: center; }
	.spotlight__grid--one .spot__title { font-size: clamp(2.25rem, 4vw, 3.5rem); }
	.spotlight__grid--one .spot__text { font-size: 1.0625rem; max-width: 48rem; }
	.spotlight__grid--one .spot__media { aspect-ratio: auto; }
	.coachstrip { background: #fff; }
	.coachstrip__grid:has(> .coachcard:only-child) { grid-template-columns: 1fr; }
	.coachstrip__grid:has(> .coachcard:only-child) .coachcard { grid-template-columns: 200px 1fr; padding: 0; overflow: hidden; }
	.coachstrip__grid:has(> .coachcard:only-child) .coachcard__photo { width: 200px; height: 100%; min-height: 200px; }
	.coachstrip__grid:has(> .coachcard:only-child) .coachcard__body { padding: var(--sp-5); gap: 6px; }
	.coachstrip__grid:has(> .coachcard:only-child) .coachcard__name { font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: var(--fw-black); letter-spacing: var(--ls-tight); }
	.coachstrip__grid:has(> .coachcard:only-child) .coachcard__meta { font-size: var(--fs-small); }
	.otd-band { background: var(--silver-2); }
	.otd { grid-template-columns: 1fr; }
	.otd__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sp-2) var(--sp-4); padding-bottom: var(--sp-3); border-bottom: 4px solid var(--red); }
	.otd__head .archive-title { margin-top: 0; }
	.otd__list { grid-column: auto; grid-template-columns: 1fr; }
	.otd .textlink { grid-column: auto; }
	.otd__item { border-left: 4px solid var(--silver-line); }
	.otd__item:hover { border-left-color: var(--red); }
	@media (min-width: 900px) { .otd__list { grid-template-columns: 1fr 1fr; } }
	@media (min-width: 1024px) { .otd { grid-template-columns: 1fr; } .otd__list, .otd .textlink { grid-column: auto; } }
	.pollwrap { background: #fff; }
	.thisweek { background: #fff; }
}

@layer components {
	/* Buttons: hover states pinned (1.6.3). Outline fills red with white type on every surface. */
	a.btn.btn--outline, button.btn.btn--outline { background: transparent; }
	a.btn.btn--outline:hover, button.btn.btn--outline:hover, a.btn.btn--outline:focus-visible { background: var(--red); border-color: var(--red); color: #fff; }
	.archive-hero.has-image a.btn.btn--outline:hover, .hero a.btn.btn--outline:hover, .sport-hero a.btn.btn--outline:hover, .game-hero a.btn.btn--outline:hover, .gallery-hero a.btn.btn--outline:hover, .roster-hero a.btn.btn--outline:hover, .story-feature a.btn.btn--outline:hover { background: #fff; border-color: #fff; color: var(--red); }
	.contribute a.btn.btn--outline:hover { background: #fff; border-color: #fff; color: var(--red); }
	a.btn.btn--fill:hover { background: var(--red-deep); border-color: var(--red-deep); color: #fff; }
	.contribute a.btn.btn--fill:hover { background: var(--graphite); border-color: var(--graphite); color: #fff; }
	.btn > span, .btn .btn__arrow { color: inherit; }
}

@layer components {
	/* Phones: homepage feature cards stack, photo on top (1.7.1) */
	@media (max-width: 767px) {
		.spotlight__grid--one .spot--legend { grid-template-columns: 1fr; min-height: 0; }
		.spotlight__grid--one .spot__media { aspect-ratio: 4 / 3; }
		.spotlight__grid--one .spot__media img { object-position: center 20%; }
		.spotlight__grid--one .spot__body { padding: var(--sp-4); }
		.spotlight__grid--one .spot__title { font-size: 2rem; }
		.spotlight__grid--one .spot__text { font-size: 0.9375rem; }
		.coachstrip__grid:has(> .coachcard:only-child) .coachcard { grid-template-columns: 1fr; }
		.coachstrip__grid:has(> .coachcard:only-child) .coachcard__photo { width: 100%; height: auto; aspect-ratio: 16 / 9; min-height: 0; }
		.coachstrip__grid:has(> .coachcard:only-child) .coachcard__photo img { object-position: center 20%; }
		.coachstrip__grid:has(> .coachcard:only-child) .coachcard__name { font-size: 1.75rem; }
		.pro { grid-template-columns: 1fr; }
		.gameweek__vs { font-size: 2.25rem; }
		.countdown__unit { min-width: 0; flex: 1; padding: 10px 6px 8px; }
		.countdown__unit b { font-size: 1.75rem; }
		.countdown__to { flex-basis: 100%; padding: 0; }
		.numstrip__inner { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; }
		.numstrip__item { padding: var(--sp-3) var(--sp-3); border-bottom: 1px solid var(--silver-line); }
		.numstrip__item + .numstrip__item::before { display: none; }
		.numstrip__more { grid-column: 1 / -1; padding: var(--sp-3); }
		.otd__item { grid-template-columns: auto 1fr 32px; gap: var(--sp-3); padding: var(--sp-3); }
		.otd__year { font-size: 1.25rem; min-width: 3.5ch; }
		.otd__line { font-size: 1rem; }
		.otd__result { width: 32px; height: 32px; font-size: 1rem; }
	}
}

@layer components {
	/* ---- Legend of the week, poster treatment (2.0.1) ---- */
	.legend { position: relative; display: grid; overflow: hidden; background: #fff; border: 1px solid var(--silver-line); isolation: isolate; }
	.legend__media { display: block; position: relative; background: var(--black-panel); overflow: hidden; }
	.legend__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 15%; display: block; filter: grayscale(1) contrast(1.05); transition: transform 700ms var(--ease), filter 400ms var(--ease); }
	.legend:hover .legend__media img { transform: scale(1.03); filter: grayscale(0.6) contrast(1.05); }
	.legend__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 70%, rgba(206,26,39,.35)); pointer-events: none; }
	.legend__media-empty { display: grid; place-items: center; width: 100%; height: 100%; min-height: 320px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 6rem; color: rgba(255,255,255,.12); background: linear-gradient(160deg, #3a3f46, #1c1f23); }
	.legend__body { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-3); padding: var(--sp-6) var(--sp-5); border-left: 8px solid var(--red); }
	.legend__kicker { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; background: var(--red); color: #fff; font-size: var(--fs-label); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; }
	.legend__star { font-size: 0.9em; }
	.legend__name { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.75rem, 6vw, 5.5rem); line-height: 0.88; letter-spacing: -0.02em; text-transform: uppercase; color: var(--graphite); }
	.legend__name:hover { color: var(--red); }
	.legend__role { font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--red); }
	.legend__quote { font-family: var(--font-serif); font-size: clamp(1.0625rem, 1.5vw, 1.375rem); line-height: 1.45; color: var(--gray-body); max-width: 40rem; padding-left: var(--sp-4); border-left: 3px solid var(--silver-line); }
	.legend__honors { display: flex; flex-wrap: wrap; gap: 8px; }
	.legend__honor { padding: 6px 10px; background: var(--silver-2); font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--graphite); }
	.legend__honor--hof, .legend__honor--pro { background: var(--graphite); color: #fff; }
	.legend__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); margin-top: var(--sp-2); }
	.legend__ghost { position: absolute; right: -0.05em; bottom: -0.28em; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(8rem, 22vw, 20rem); line-height: 1; color: rgba(206,26,39,.06); pointer-events: none; z-index: 0; letter-spacing: -0.04em; }
	@media (min-width: 768px) { .legend { grid-template-columns: minmax(280px, 42%) 1fr; min-height: 460px; } .legend__body { padding: var(--sp-7) var(--sp-7) var(--sp-7) var(--sp-6); justify-content: center; } }
	@media (max-width: 767px) { .legend__media { aspect-ratio: 4 / 3; } .legend__name { font-size: 2.5rem; } .legend__ghost { display: none; } }
	.spotlight__grid.spotlight__grid--one { grid-template-columns: 1fr; }
}

@layer components {
	/* ---- On the sideline, poster treatment (2.0.2) ---- */
	.coachstrip__grid--one { grid-template-columns: 1fr; }
	.coachpost { position: relative; display: grid; overflow: hidden; background: #fff; border: 1px solid var(--silver-line); isolation: isolate; }
	.coachpost__media { display: block; position: relative; background: var(--black-panel); overflow: hidden; }
	.coachpost__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; display: block; transition: transform 700ms var(--ease); }
	.coachpost:hover .coachpost__media img { transform: scale(1.03); }
	.coachpost__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 70%, rgba(206,26,39,.35)); pointer-events: none; }
	.coachpost__body { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-3); padding: var(--sp-6) var(--sp-5); border-left: 8px solid var(--red); }
	.coachpost__name { font-size: clamp(2.5rem, 5vw, 4.5rem); }
	.coachpost__stats { display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-5); }
	.coachpost__stat { display: flex; flex-direction: column; gap: 2px; }
	.coachpost__stat b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.5rem, 2.6vw, 2.25rem); line-height: 1; letter-spacing: var(--ls-tight); color: var(--red); }
	.coachpost__stat span { font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.coachpost__best { font-size: var(--fs-label); font-weight: var(--fw-semi); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); }
	.coachpost__best a { color: var(--graphite); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--red); }
	.coachstrip__grid:not(.coachstrip__grid--one) .coachpost { grid-template-columns: 1fr; }
	.coachstrip__grid:not(.coachstrip__grid--one) .coachpost__media { aspect-ratio: 4 / 3; }
	.coachstrip__grid:not(.coachstrip__grid--one) .coachpost__name { font-size: 2rem; }
	.coachstrip__grid:not(.coachstrip__grid--one) .legend__ghost { display: none; }
	@media (min-width: 768px) { .coachstrip__grid--one .coachpost { grid-template-columns: minmax(280px, 38%) 1fr; min-height: 420px; } .coachstrip__grid--one .coachpost__body { padding: var(--sp-7) var(--sp-7) var(--sp-7) var(--sp-6); justify-content: center; } .coachstrip__grid { grid-template-columns: repeat(2, 1fr); } .coachstrip__grid--one { grid-template-columns: 1fr; } }
	@media (max-width: 767px) { .coachpost__media { aspect-ratio: 4 / 3; } .coachpost__name { font-size: 2.25rem; } }
}

@layer components {
	/* ---- Hero readability (2.2.1): heavier left scrim, vignette, bigger CTA ---- */
	.hero__overlay { background:
		linear-gradient(90deg, rgba(8,8,10,.82) 0%, rgba(8,8,10,.62) 32%, rgba(8,8,10,.18) 62%, rgba(8,8,10,.08) 100%),
		radial-gradient(120% 90% at 50% 50%, transparent 55%, rgba(8,8,10,.45) 100%),
		linear-gradient(180deg, rgba(8,8,10,.25) 0%, transparent 30%, rgba(8,8,10,.55) 100%); }
	@media (min-width: 768px) { .hero__overlay { background:
		linear-gradient(90deg, rgba(8,8,10,.85) 0%, rgba(8,8,10,.6) 38%, rgba(8,8,10,.12) 66%, rgba(8,8,10,.04) 100%),
		radial-gradient(120% 90% at 50% 50%, transparent 55%, rgba(8,8,10,.45) 100%),
		linear-gradient(180deg, rgba(8,8,10,.3) 0%, transparent 30%, rgba(8,8,10,.6) 100%); } }
	.hero__title { text-shadow: 0 4px 40px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.4); }
	.hero__kicker { text-shadow: 0 1px 12px rgba(0,0,0,.6); }
	.hero .btn--outline { background: #fff; border-color: #fff; color: var(--red); padding-inline: 28px; font-size: 1rem; }
	.hero a.btn.btn--outline:hover { background: var(--red); border-color: var(--red); color: #fff; }
	.hero__tagline { text-shadow: 0 1px 12px rgba(0,0,0,.6); }
}

@layer components {
	/* ---- Hero focus and darkness (Site Settings) ---- */
	.hero--focus-left .hero__media img { object-position: left center; }
	.hero--focus-right .hero__media img { object-position: right center; }
	.hero--focus-top .hero__media img { object-position: center top; }
	.hero--focus-bottom .hero__media img { object-position: center bottom; }
	.hero--dark-light .hero__overlay { opacity: .6; }
	.hero--dark-heavy .hero__overlay { background:
		linear-gradient(90deg, rgba(8,8,10,.94) 0%, rgba(8,8,10,.8) 40%, rgba(8,8,10,.35) 70%, rgba(8,8,10,.15) 100%),
		radial-gradient(120% 90% at 50% 50%, transparent 45%, rgba(8,8,10,.6) 100%),
		linear-gradient(180deg, rgba(8,8,10,.4) 0%, transparent 30%, rgba(8,8,10,.7) 100%); }
}

@layer components {
	/* ---- Numbers strip, statement version (2.5.1) ---- */
	.numstrip { position: relative; overflow: hidden; background: #fff; border-top: 0; border-bottom: 6px solid var(--red); }
	.numstrip__inner { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; padding-block: var(--sp-5); }
	.numstrip__item { flex: none; display: flex; flex-direction: column-reverse; gap: 6px; padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--silver-line); }
	.numstrip__item + .numstrip__item::before { display: none; }
	.numstrip__item b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.75rem, 4.6vw, 4.5rem); line-height: 0.9; letter-spacing: -0.02em; color: var(--red); transition: transform var(--dur) var(--ease); }
	.numstrip__item span { font-size: var(--fs-label); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--graphite); }
	.numstrip__item:hover b { transform: translateX(4px); color: var(--red-deep); }
	.numstrip__more { grid-column: 1 / -1; justify-self: start; margin: var(--sp-3) var(--sp-4) 0; }
	.numstrip__ghost { position: absolute; right: -0.08em; top: 50%; transform: translateY(-50%); font-family: var(--font-display); font-weight: var(--fw-black); font-size: 24rem; line-height: 1; color: rgba(206,26,39,.05); pointer-events: none; }
	@media (min-width: 768px) { .numstrip__inner { grid-template-columns: repeat(5, auto) 1fr; align-items: center; gap: 0 var(--sp-5); padding-block: var(--sp-6); } .numstrip__item { border-bottom: 0; padding: 0 var(--sp-5) 0 0; border-right: 2px solid var(--silver-line); } .numstrip__item:nth-child(5) { border-right: 0; } .numstrip__more { grid-column: auto; justify-self: end; margin: 0; } }
	@media (max-width: 767px) { .numstrip__ghost { display: none; } }
}

@layer components {
	.numstrip__lead { display: flex; flex-direction: column; gap: 4px; padding-right: var(--sp-5); border-right: 4px solid var(--red); }
	.numstrip__lead-kicker { font-size: var(--fs-label); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.numstrip__lead-title { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: 0.95; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.numstrip__item span { font-size: 1rem; font-weight: var(--fw-black); letter-spacing: 0.04em; color: var(--graphite); }
	.numstrip__item b { font-size: clamp(2.5rem, 4vw, 3.75rem); }
	@media (min-width: 768px) { .numstrip__inner { grid-template-columns: auto repeat(5, auto) 1fr; } .numstrip__item:nth-child(6) { border-right: 0; } .numstrip__item:nth-child(5) { border-right: 2px solid var(--silver-line); } }
	@media (max-width: 767px) { .numstrip__lead { grid-column: 1 / -1; padding: var(--sp-3) var(--sp-4); border-right: 0; border-left: 4px solid var(--red); } }
}

@layer components { .numstrip__item b { white-space: nowrap; } @media (min-width: 768px) and (max-width: 1279px) { .numstrip__item b { font-size: clamp(2rem, 3.2vw, 3rem); } .numstrip__lead-title { font-size: 1.25rem; } } }

@layer components {
	.matchup__mark { display: grid; place-items: center; }
	.matchup__mark-img { width: 96px; height: auto; max-height: 72px; object-fit: contain; }
	.scorebox__mark-img { width: 44px; height: auto; object-fit: contain; }
	.site-footer__mark { width: 64px; height: auto; border-radius: 0; background: transparent; box-shadow: none; }
	.logo__img { display: block; height: 52px; width: auto; }
	.is-compact .logo__img { height: 40px; }
	.empty__mark img { width: 48px; height: auto; }
}

@layer components { .matchup__mark { background: transparent; box-shadow: none; width: auto; height: auto; color: transparent; font-size: 0; padding: 0; } .matchup__mark-img { width: 110px; max-height: 80px; } }

@layer components {
	/* ---- Game header without a photo: everything readable on silver (2.6.1) ---- */
	.game-hero:not(.has-photo) .radio:not(.is-on) { background: #fff; border-color: var(--silver-line); color: var(--graphite); }
	.game-hero:not(.has-photo) .radio:not(.is-on) .radio__state { color: var(--gray-meta); }
	.game-hero:not(.has-photo) .radio:not(.is-on) .radio__station { color: var(--graphite); }
	.game-hero:not(.has-photo) .radio:not(.is-on) .radio__dot { background: var(--silver-line); }
	.game-hero:not(.has-photo) .addcal__summary { background: #fff; border-color: var(--silver-line); color: var(--graphite); }
	.game-hero:not(.has-photo) .game-hero__context, .game-hero:not(.has-photo) .game-hero__ctx { color: #5b6169; }
	.game-hero:not(.has-photo) .game-hero__season { color: var(--red); text-decoration-color: var(--red); }
	.game-hero:not(.has-photo) .game-hero__kicker { color: var(--red); }
	.game-hero:not(.has-photo) .matchup__status--time, .game-hero:not(.has-photo) .matchup__vs { color: var(--graphite); }
	.game-hero:not(.has-photo) .promo--line { background: #fff; color: var(--graphite); border: 1px solid var(--silver-line); }
	.game-hero:not(.has-photo) .promo--line .promo__label, .game-hero:not(.has-photo) .promo--line .promo__headline { color: var(--gray-meta); }
}

@layer components {
	.gameweek--football::after { display: none; }
	.gameweek__ghostmark { position: absolute; right: -6%; top: 50%; transform: translateY(-50%) rotate(-8deg); width: 46%; max-width: 760px; opacity: .08; pointer-events: none; }
	@media (max-width: 767px) { .gameweek__ghostmark { width: 90%; right: -30%; opacity: .07; } }
}

@layer components {
	/* ---- Designed game header (no photo): silver field, red edge, sweeps, ghost mark (2.6.3) ---- */
	.game-hero--designed { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(100deg, #e9ebee 0%, var(--silver) 45%, #d3d7dc 100%); border-left: 10px solid var(--red); }
	.game-hero__bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
	.game-hero__bg::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, #e9ebee 0%, var(--silver) 50%, #d2d6db 100%); }
	.game-hero__ghost { position: absolute; right: -4%; top: 50%; transform: translateY(-50%) rotate(-8deg); width: 48%; max-width: 820px; opacity: .10; }
	.game-hero--designed:not(.game-hero--football) .game-hero__ghost { opacity: .07; width: 40%; }
	.game-hero--designed .matchup__name { text-shadow: 0 1px 0 rgba(255,255,255,.6); }
	.game-hero--designed .matchup__score b { text-shadow: 0 2px 0 rgba(255,255,255,.7); }
	@media (max-width: 767px) { .game-hero--designed { border-left-width: 6px; } .game-hero__ghost { width: 95%; right: -35%; opacity: .08; } }
}

@layer components {
	/* Opponent logos: a white box vanishes on light surfaces even before the file is cleaned */
	.matchup__logo-img, .game-card__logo img, .game-row__logo img, .series-head__logo img, .series-row__logo img, .rival__logo img, .scorebox__logo img, .livebar__logo img, .team-card__logo img { mix-blend-mode: multiply; }
	.game-hero.has-photo .matchup__logo-img { mix-blend-mode: normal; }
	.matchup__logo { background: transparent; box-shadow: none; }
	.game-hero--designed .matchup__logo-empty { background: rgba(255,255,255,.6); }
}

@layer components {
	/* Logo tiles gone: transparent logos sit straight on the surface (2.7.1) */
	.matchup__logo, .game-hero:not(.has-photo) .matchup__logo, .game-card__logo, .game-row__logo, .series-head__logo, .series-row__logo, .rival__logo, .scorebox__logo { background: transparent; border: 0; box-shadow: none; }
	.matchup__logo { width: 110px; height: 90px; }
	.matchup__logo-img { max-height: 90px; }
	.matchup__logo-empty, .game-card__logo-empty, .game-row__logo-empty { background: rgba(0,0,0,.06); }
	.game-hero.has-photo .matchup__logo-img { filter: drop-shadow(0 2px 8px rgba(0,0,0,.4)); }
}

@layer components {
	.series-head { gap: var(--sp-4); }
	.series-head__logo { width: 96px; height: 96px; background: transparent; border: 0; }
	.series-head__logo img, .series-head__mark { width: 96px; height: 96px; object-fit: contain; }
	.series-head__logo-empty { display: grid; place-items: center; width: 100%; height: 100%; background: rgba(0,0,0,.06); }
	@media (max-width: 767px) { .series-head { flex-wrap: wrap; } .series-head__logo { width: 64px; height: 64px; } .series-head__logo img, .series-head__mark { width: 64px; height: 64px; } .series-head__title { flex-basis: 100%; order: 3; } }
}




@layer components {
	/* Ghost C is the real Corbin C (2.7.5) */
	.numstrip__ghost { position: absolute; right: -2%; top: 50%; transform: translateY(-50%) rotate(-6deg); width: 22%; max-width: 360px; height: auto; opacity: .07; font-size: 0; color: transparent; pointer-events: none; }
	.gameweek::after { display: none; }
	.gameweek__ghostmark { display: block; }
	.legend__ghost img { width: 5em; height: auto; opacity: 1; }
	.legend__ghost:has(img) { font-size: 4rem; opacity: .06; }
	.site-footer__mark { background: transparent; padding: 0; width: 64px; height: auto; }
	.matchup__mark, .series-head__logo--corbin, .scorebox__mark { background: transparent; box-shadow: none; padding: 0; }
}

@layer components {
	/* Wordmark artwork (2.7.7) */
	.logo--img { display: inline-flex; align-items: center; }
	.logo__img { display: block; height: 64px; width: auto; }
	.is-compact .logo__img { height: 48px; }
	.site-footer .logo__img { height: 56px; }
	@media (max-width: 767px) { .logo__img { height: 48px; } .is-compact .logo__img { height: 40px; } }
}

@layer components {
	.logo__img { height: 92px; }
	.masthead { padding-block: 10px; }
	.is-compact .logo__img { height: 60px; }
	@media (max-width: 767px) { .logo__img { height: 64px; } .is-compact .logo__img { height: 52px; } }
}

@layer components {
	/* ---- Live scoreboard bar (2.7.8) ---- */
	.livebar { background: linear-gradient(100deg, #15181c 0%, #2b3036 60%, #1c1f23 100%); color: #fff; border-top: 4px solid var(--on-air, #1fa356); position: relative; overflow: hidden; }
	.livebar::before { content: ""; position: absolute; left: -30%; top: 0; width: 30%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent); animation: livesweep 3.2s linear infinite; }
	@keyframes livesweep { to { left: 110%; } }
	.livebar__game { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; max-width: var(--container); margin: 0 auto; padding: 12px var(--gutter); position: relative; z-index: 1; }
	.livebar__tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; background: var(--on-air, #1fa356); color: #fff; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; }
	.livebar__board { display: inline-flex; align-items: center; gap: 14px; color: #fff; font-family: var(--font-display); text-transform: uppercase; }
	.livebar__team { display: inline-flex; align-items: center; gap: 10px; }
	.livebar__team b { font-weight: var(--fw-bold); font-size: 1rem; letter-spacing: var(--ls-ui); color: rgba(255,255,255,.85); }
	.livebar__logo { width: 34px; height: 34px; object-fit: contain; filter: drop-shadow(0 2px 6px rgba(0,0,0,.5)); }
	.livebar__score { font-size: 2.25rem; font-weight: var(--fw-black); line-height: 1; min-width: 1.2em; text-align: center; font-variant-numeric: tabular-nums; }
	.livebar__score.is-bump { animation: bump 600ms var(--ease); color: var(--on-air, #1fa356); }
	@keyframes bump { 0% { transform: scale(1); } 30% { transform: scale(1.35); } 100% { transform: scale(1); } }
	.livebar__period { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-width: 64px; padding: 6px 10px; margin: 0 6px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); }
	.livebar__period span:first-child { font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); color: var(--on-air, #1fa356); }
	.livebar__period span:last-child { font-size: 1.125rem; font-weight: var(--fw-black); font-variant-numeric: tabular-nums; }
	.livebar__note { flex: 1 1 200px; font-family: var(--font-serif); font-size: 0.9375rem; color: rgba(255,255,255,.8); }
	.livebar__links { display: inline-flex; gap: 8px; margin-left: auto; }
	.livebar__links a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.3); color: #fff; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; }
	.livebar__links a:hover { background: var(--on-air, #1fa356); border-color: var(--on-air, #1fa356); }
	.livebar__links .icon { width: 12px; height: 12px; }
	.livebar__board:hover .livebar__team b { color: #fff; }
	@media (max-width: 767px) { .livebar__game { gap: 8px 12px; padding: 10px var(--gutter); } .livebar__score { font-size: 1.75rem; } .livebar__team b { display: none; } .livebar__logo { width: 28px; height: 28px; } .livebar__note { flex-basis: 100%; font-size: 0.875rem; } .livebar__links { margin-left: 0; } }
}

@layer components {
	/* ---- Live bar in Corbin red and white (2.7.9) ---- */
	.livebar { background: linear-gradient(100deg, var(--red-deep) 0%, var(--red) 55%, #e02533 100%); border-top: 0; border-bottom: 4px solid #fff; color: #fff; }
	.livebar::before { background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent); }
	.livebar__tag { background: #fff; color: var(--red); }
	.livebar__dot { background: var(--on-air, #1fa356); animation: pulse 1.2s infinite; }
	.livebar__team b { color: #fff; }
	.livebar__score { color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.25); }
	.livebar__score.is-bump { color: #fff; }
	.livebar__period { background: #fff; border-color: #fff; color: var(--red); }
	.livebar__period span:first-child { color: var(--red); }
	.livebar__period span:last-child { color: var(--graphite); }
	.livebar__note { color: rgba(255,255,255,.92); }
	.livebar__links a { border-color: rgba(255,255,255,.55); color: #fff; }
	.livebar__links a:hover { background: #fff; border-color: #fff; color: var(--red); }
	.livebar__logo { filter: drop-shadow(0 2px 6px rgba(0,0,0,.35)); }
	.livebar__board:hover .livebar__team b { color: rgba(255,255,255,.8); }
}

@layer components {
	.watch { background: var(--graphite); color: #fff; padding-block: var(--sp-5) var(--sp-6); }
	.watch__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-3); }
	.watch__title { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; text-transform: uppercase; letter-spacing: var(--ls-tight); }
	.watch__out { margin-left: auto; color: #fff; font-size: var(--fs-label); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; }
	.watch__frame { position: relative; aspect-ratio: 16 / 9; background: #000; border: 4px solid #fff; }
	.watch__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
	.watch__note { margin-top: var(--sp-2); font-family: var(--font-serif); font-size: 0.875rem; color: rgba(255,255,255,.7); }
	.watch .livebar__tag { background: #fff; color: var(--red); }
}

@layer components {
	.watch__grid { display: grid; gap: var(--sp-4); }
	.watch__rail { display: grid; gap: var(--sp-4); align-content: start; }
	.watch .promo--band { background: transparent; border: 0; padding-block: 0 var(--sp-4); }
	.watch .promo--band + .watch__grid { margin-top: 0; }
	.watch__grid + .promo--band { padding-top: var(--sp-4); padding-bottom: 0; }
	.watch .promo__label { color: rgba(255,255,255,.7); }
	.promo--dark .promo__creative { border-color: rgba(255,255,255,.15); }
	.watch .promo__creative { box-shadow: 0 10px 30px rgba(0,0,0,.35); }
	@media (min-width: 1024px) { .watch__grid--rail { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; } }
}

@layer components { .watch .promo--band .promo__creative img { width: 100%; max-height: 150px; object-fit: cover; object-position: center; } .watch .promo--band { margin-bottom: var(--sp-3); } }

@layer components {
	.footer-seo { background: #fff; border-top: 1px solid var(--silver-line); }
	.footer-seo__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; padding-block: 12px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; }
	.footer-seo__kicker { color: var(--red); font-weight: var(--fw-black); }
	.footer-seo a { color: var(--gray-meta); } .footer-seo a:hover { color: var(--red); }
}

@layer components {
	/* ---- Game week, final state (3.2.1) ---- */
	.gameweek--final .gameweek__label { background: #fff; color: var(--red); }
	.gameweek__verdict { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin-top: var(--sp-3); font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.75rem, 3.6vw, 3rem); line-height: 0.95; letter-spacing: var(--ls-tight); text-transform: uppercase; color: #fff; text-shadow: 0 3px 24px rgba(0,0,0,.25); }
	.gameweek__verdict-score { font-size: 0.75em; color: rgba(255,255,255,.75); }
	.gameweek__final { display: inline-flex; align-items: center; gap: var(--sp-5); margin-top: var(--sp-4); padding: var(--sp-3) var(--sp-5); background: rgba(0,0,0,.22); color: #fff; }
	.gameweek__team { display: inline-flex; align-items: center; gap: 12px; font-family: var(--font-display); text-transform: uppercase; opacity: .75; }
	.gameweek__team.is-winner { opacity: 1; }
	.gameweek__team-name { font-weight: var(--fw-extra); font-size: 1.125rem; letter-spacing: var(--ls-ui); }
	.gameweek__team b { font-weight: var(--fw-black); font-size: clamp(3rem, 6vw, 5rem); line-height: 1; letter-spacing: var(--ls-tight); }
	.gameweek__mark { width: 44px; height: 44px; object-fit: contain; filter: drop-shadow(0 2px 6px rgba(0,0,0,.35)); }
	.gameweek__final-tag { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 56px; height: 56px; background: #fff; color: var(--red); font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: 1; }
	.gameweek__final-tag small { font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); color: var(--gray-meta); }
	.gameweek__after { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); margin-top: var(--sp-4); }
	.gameweek__cta { background: #fff; border-color: #fff; color: var(--red); }
	.gameweek__cta:hover { background: var(--graphite); border-color: var(--graphite); color: #fff; }
	.gameweek__next { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; border-left: 4px solid #fff; color: #fff; }
	.gameweek__next .kicker { color: rgba(255,255,255,.75); }
	.gameweek__next-line { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; }
	.gameweek__next-meta { font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.8); }
	.gameweek__next:hover { background: rgba(255,255,255,.12); }
	@media (max-width: 767px) { .gameweek__final { gap: var(--sp-3); padding: var(--sp-3); } .gameweek__team-name { display: none; } .gameweek__team b { font-size: 2.5rem; } }
}


@layer components {
	/* The same scorebug the stream uses, over the embedded player */
	.bug-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; pointer-events: none; z-index: 2; background: transparent; }
}

@layer components {
	/* ---- Did you know ---- */
	.dyk { background: var(--graphite); color: #fff; }
	.dyk__inner { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); padding-block: var(--sp-5); }
	.dyk__mark { flex: none; width: 56px; height: 56px; display: grid; place-items: center; background: #fff; }
	.dyk__mark img { width: 44px; height: auto; }
	.dyk__body { flex: 1 1 420px; display: flex; flex-direction: column; gap: 4px; }
	.dyk__kicker { font-family: var(--font-display); font-size: var(--fs-label); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.dyk__kicker::before { content: "★ "; }
	.dyk__text { font-family: var(--font-serif); font-size: clamp(1.0625rem, 1.6vw, 1.375rem); line-height: 1.45; color: #fff; margin: 0; }
	.dyk__link { flex: none; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid rgba(255,255,255,.4); color: #fff; font-family: var(--font-display); font-size: var(--fs-label); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; }
	.dyk__link:hover { background: #fff; border-color: #fff; color: var(--red); }
	.card--dyk { border-left: 4px solid var(--red); }
	.card--dyk .card__text { font-family: var(--font-serif); font-size: 0.9375rem; line-height: 1.5; color: var(--gray-body); margin: 0 0 8px; }
}

@layer components {
	/* ---- Several promotions in one slot ---- */
	.promo-row { display: grid; gap: var(--sp-4); }
	.promo--in-row { margin-bottom: 0; }
	.promo--multi .promo__label { margin-bottom: 4px; }
	@media (min-width: 640px) { .promo-row--2 { grid-template-columns: repeat(2, 1fr); } }
	@media (min-width: 900px) { .promo-row--3 { grid-template-columns: repeat(3, 1fr); } .promo-row--4 { grid-template-columns: repeat(2, 1fr); } }
	@media (min-width: 1200px) { .promo-row--4 { grid-template-columns: repeat(4, 1fr); } }
	.rail-side .promo-row, .watch__rail .promo-row, .game-body__side .promo-row { grid-template-columns: 1fr; }
}

@layer components {
	/* ---- Ghost C behind the silver page heads (3.10.1) ---- */
	.page-head, .archive-head, .archive-hero:not(.has-image) { position: relative; overflow: hidden; isolation: isolate; }
	.page-head::before, .archive-head::before, .archive-hero:not(.has-image)::before {
		content: ""; position: absolute; right: -2%; top: 50%; translate: 0 -50%; rotate: -8deg;
		width: clamp(260px, 30vw, 520px); aspect-ratio: 1.7 / 1;
		background: var(--corbin-mark, none) center/contain no-repeat;
		opacity: .08; z-index: -1; pointer-events: none;
	}
	.page-head::after, .archive-head::after, .archive-hero:not(.has-image)::after {
		content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none;
		background: linear-gradient(100deg, #e9ebee 0%, var(--silver) 55%, #d2d6db 100%);
	}
	.page-head__inner, .archive-head__inner, .archive-hero__inner { position: relative; z-index: 1; }
	@media (max-width: 767px) { .page-head::before, .archive-head::before, .archive-hero:not(.has-image)::before { right: -16%; opacity: .06; } }
	/* the game header already has its own designed background */
	.game-hero--designed::before, .game-hero--designed::after { display: none; }
}

@layer components {
	.watch--highlights { background: var(--graphite); }
	.watch__badge { display: inline-block; padding: 5px 12px; background: var(--red); color: #fff; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; }
	.watch--highlights .watch__frame { border-width: 3px; }
}

@layer components {
	/* ---- Season page rail ---- */
	.season-story--rail { display: grid; gap: var(--sp-6); }
	.season-story__main { min-width: 0; }
	.season-story--rail .prose--story { margin-inline: 0; max-width: 46rem; }
	.season-moments { margin-top: var(--sp-6); }
	.season-rail .card { background: #fff; border: 1px solid var(--paper-line); }
	.card--title { border-left: 4px solid var(--red); }
	.card__subtitle { margin: var(--sp-3) 0 6px; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; }
	@media (min-width: 1024px) { .season-story--rail { grid-template-columns: minmax(0, 1fr) 320px; gap: var(--sp-8); } .season-rail { position: sticky; top: 96px; } }
}

@layer components {
	/* ---- Game record (4.0) ---- */
	.game-hero__label { display: inline-block; margin: 0 auto var(--sp-3); padding: 6px 14px; background: var(--red); color: #fff; font-family: var(--font-display); font-size: var(--fs-label); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; }
	.game-hero__inner { text-align: center; }
	.game-record { display: grid; gap: var(--sp-6); }
	.record-block { background: #fff; border: 1px solid var(--silver-line); padding: var(--sp-5); }
	.record-block__title { margin: 0 0 var(--sp-4); padding-bottom: 10px; border-bottom: 3px solid var(--red); font-family: var(--font-display); font-size: 1.25rem; font-weight: var(--fw-black); letter-spacing: var(--ls-tight); text-transform: uppercase; }
	.qtr-table th, .qtr-table td { padding: 10px 12px; }
	.qtr-table .scoreboard__team { text-align: left; font-weight: var(--fw-extra); }
	.qtr-table td { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 1.25rem; text-align: center; font-variant-numeric: tabular-nums; }
	.qtr-table .scoreboard__final { font-size: 1.5rem; font-weight: var(--fw-black); }
	.qtr-table .is-winner .scoreboard__final { color: var(--red); }
	.plays { display: grid; gap: 6px; }
	.plays__period { margin: var(--sp-3) 0 4px; font-family: var(--font-display); font-size: var(--fs-label); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.plays__period:first-child { margin-top: 0; }
	.play { display: grid; grid-template-columns: 150px 1fr auto; gap: var(--sp-3); align-items: start; padding: 10px 12px; border-left: 4px solid var(--silver-line); background: var(--silver-3); }
	.play--corbin { border-left-color: var(--red); }
	.play__who { display: flex; flex-direction: column; gap: 2px; }
	.play__team { font-family: var(--font-display); font-weight: var(--fw-black); text-transform: uppercase; letter-spacing: var(--ls-ui); }
	.play__clock { font-family: var(--font-display); font-size: var(--fs-small); color: var(--gray-meta); font-variant-numeric: tabular-nums; }
	.play__what { display: flex; flex-direction: column; gap: 2px; }
	.play__type { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.play__desc { font-family: var(--font-serif); font-size: 1rem; color: var(--gray-ink); }
	.play__desc a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--red); }
	.play__pat, .play__notes { font-size: 0.875rem; color: var(--gray-body); font-family: var(--font-serif); }
	.play__score { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-small); text-transform: uppercase; letter-spacing: var(--ls-ui); color: var(--graphite); white-space: nowrap; }
	.leaders { display: grid; gap: var(--sp-3); grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
	.leader { display: flex; flex-direction: column; gap: 3px; padding: var(--sp-3) var(--sp-4); background: var(--silver-3); border-top: 4px solid var(--red); }
	.leader__cat { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.leader__name { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.375rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; }
	.leader__name a { color: var(--graphite); }
	.leader__line { font-family: var(--font-serif); font-size: 0.9375rem; color: var(--gray-body); }
	.tstats { width: 100%; border-collapse: collapse; }
	.tstats th, .tstats td { padding: 8px 10px; border-bottom: 1px solid var(--silver-2); text-align: center; font-family: var(--font-display); }
	.tstats thead th { font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.tstats tbody th { text-align: left; font-weight: var(--fw-semi); color: var(--gray-body); }
	.tstats td { font-weight: var(--fw-bold); font-size: 1.0625rem; font-variant-numeric: tabular-nums; }
	.pstats__cat { margin: var(--sp-4) 0 6px; font-family: var(--font-display); font-size: var(--fs-label); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.pstats__cat:first-of-type { margin-top: 0; }
	.pstats-wrap { overflow-x: auto; }
	.pstats { width: 100%; border-collapse: collapse; font-family: var(--font-display); }
	.pstats th, .pstats td { padding: 7px 8px; border-bottom: 1px solid var(--silver-2); text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; }
	.pstats thead th { font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.pstats__name { text-align: left !important; font-weight: var(--fw-bold); }
	.gstory { display: grid; gap: var(--sp-4); align-items: center; color: var(--gray-ink); margin-bottom: var(--sp-3); }
	.gstory__media img { width: 100%; height: 100%; object-fit: cover; display: block; aspect-ratio: 16/10; }
	.gstory__body { display: flex; flex-direction: column; gap: 6px; }
	.gstory__title { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.05; letter-spacing: var(--ls-tight); text-transform: uppercase; }
	.gstory:hover .gstory__title { color: var(--red); }
	.gstory__excerpt { font-family: var(--font-serif); color: var(--gray-body); }
	.gstory__more { font-family: var(--font-display); font-size: var(--fs-label); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--red); }
	@media (min-width: 700px) { .gstory { grid-template-columns: 240px 1fr; } }
	.ggal { display: block; color: var(--gray-ink); }
	.ggal__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin-bottom: 10px; }
	.ggal__grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
	.ggal__more { font-family: var(--font-display); font-size: var(--fs-label); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--red); }
	.sblock { display: grid; gap: var(--sp-4); }
	.sblock__lead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
	.sblock__leader { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-small); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); }
	.sblock__record { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 3rem; line-height: 1; letter-spacing: var(--ls-tight); color: var(--red); }
	.sblock__count { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); text-transform: uppercase; letter-spacing: var(--ls-ui); color: var(--gray-meta); }
	.sblock__facts { display: grid; gap: var(--sp-3); grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 0; }
	.sblock__facts dt { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.sblock__facts dd { margin: 2px 0 0; font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 1.0625rem; text-transform: uppercase; }
	.sblock__facts dd a { color: var(--graphite); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--red); }
	.gnotes { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
	.gnotes li { padding-left: 18px; position: relative; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.45; }
	.gnotes li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; background: var(--red); }
	.gnotes__link { color: var(--red); text-decoration: none; }
	.gnotes__foot { margin: var(--sp-3) 0 0; font-size: 0.8125rem; color: var(--gray-meta); font-family: var(--font-serif); }
	.coaches-pair { display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
	.coaches-pair__side { display: flex; flex-direction: column; gap: 3px; }
	.coaches-pair__name { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.coaches-pair__role { font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.sources { margin: 0; padding-left: 1.2em; font-family: var(--font-serif); display: grid; gap: 6px; color: var(--gray-body); }
	.sources b { color: var(--gray-ink); font-weight: 600; }
	.gnav { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
	.gnav__item { display: flex; flex-direction: column; gap: 3px; padding: var(--sp-4); background: #fff; border: 1px solid var(--silver-line); color: var(--graphite); }
	.gnav__item--next { text-align: right; align-items: flex-end; }
	.gnav__opp { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; }
	.gnav__meta { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); }
	.gnav__item:hover { border-color: var(--red); } .gnav__item:hover .gnav__opp { color: var(--red); }
	@media (max-width: 639px) { .play { grid-template-columns: 1fr; gap: 4px; } .play__score { white-space: normal; } .gnav { grid-template-columns: 1fr; } .gnav__item--next { text-align: left; align-items: flex-start; } .record-block { padding: var(--sp-4); } }
}

@layer components {
	/* ---- Game header in Corbin red (4.0.2) ---- */
	.game-hero.game-hero--designed:not(.has-photo) { background: linear-gradient(105deg, var(--red-deep) 0%, var(--red) 45%, #e02533 100%); border-left: 0; color: #fff; }
	.game-hero.game-hero--designed:not(.has-photo) .game-hero__bg::before { background: linear-gradient(100deg, rgba(0,0,0,.18) 0%, transparent 45%, rgba(255,255,255,.08) 100%); }
	.game-hero.game-hero--designed:not(.has-photo) .game-hero__ghost { opacity: .12; }
	.game-hero.game-hero--designed:not(.has-photo) .game-hero__back, .game-hero.game-hero--designed:not(.has-photo) .game-hero__context, .game-hero.game-hero--designed:not(.has-photo) .game-hero__ctx, .game-hero.game-hero--designed:not(.has-photo) .game-hero__kicker, .game-hero.game-hero--designed:not(.has-photo) .game-hero__date, .game-hero.game-hero--designed:not(.has-photo) .game-hero__venue { color: rgba(255,255,255,.85); }
	.game-hero.game-hero--designed:not(.has-photo) .game-hero__season { color: #fff; text-decoration-color: rgba(255,255,255,.6); }
	.game-hero.game-hero--designed:not(.has-photo) .game-hero__season:hover { color: #fff; text-decoration-color: #fff; }
	.game-hero.game-hero--designed:not(.has-photo) .game-hero__label { background: #fff; color: var(--red); }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__name { color: #fff; text-shadow: 0 3px 24px rgba(0,0,0,.25); font-size: clamp(1.75rem, 3.4vw, 2.75rem); }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__record { color: rgba(255,255,255,.8); }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__score b, .game-hero.game-hero--designed:not(.has-photo) .matchup__score { color: #fff; font-size: clamp(4.5rem, 9vw, 8rem); text-shadow: 0 4px 30px rgba(0,0,0,.3); }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__score--loser, .game-hero.game-hero--designed:not(.has-photo) .matchup__score.is-loser { color: rgba(255,255,255,.55); }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__divider { background: rgba(255,255,255,.45); }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__vs { color: #fff; }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__status { color: #fff; background: rgba(0,0,0,.25); padding: 6px 12px; }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__status--time { background: transparent; color: rgba(255,255,255,.85); }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__mark { background: #fff; padding: 12px; width: 110px; height: 110px; display: grid; place-items: center; box-shadow: 0 8px 24px rgba(0,0,0,.3); }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__mark-img { width: 100%; height: 100%; object-fit: contain; }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__logo { width: 110px; height: 110px; background: #fff; padding: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.3); display: grid; place-items: center; }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__logo-img { max-height: 90px; mix-blend-mode: normal; filter: none; }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__logo-empty { background: rgba(255,255,255,.2); }
	.game-hero.game-hero--designed:not(.has-photo) .game-hero__meta, .game-hero.game-hero--designed:not(.has-photo) .game-hero__when { color: #fff; }
	.game-hero.game-hero--designed:not(.has-photo) .radio:not(.is-on), .game-hero.game-hero--designed:not(.has-photo) .addcal__summary { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.4); color: #fff; }
	.game-hero.game-hero--designed:not(.has-photo) .radio:not(.is-on) .radio__state, .game-hero.game-hero--designed:not(.has-photo) .radio:not(.is-on) .radio__station { color: #fff; }
	.game-hero.game-hero--designed:not(.has-photo) .radio:not(.is-on) .radio__dot { background: rgba(255,255,255,.5); }
	.game-hero.game-hero--designed:not(.has-photo) .promo--line { background: rgba(0,0,0,.22); color: #fff; border: 0; }
	.game-hero.game-hero--designed:not(.has-photo) .promo--line .promo__label, .game-hero.game-hero--designed:not(.has-photo) .promo--line .promo__headline { color: rgba(255,255,255,.85); }
	.game-hero.game-hero--designed:not(.has-photo) .bug-frame { display: none; }
	@media (max-width: 767px) { .game-hero.game-hero--designed:not(.has-photo) .matchup__mark, .game-hero.game-hero--designed:not(.has-photo) .matchup__logo { width: 72px; height: 72px; padding: 8px; } .game-hero.game-hero--designed:not(.has-photo) .matchup__logo-img { max-height: 56px; } }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__score b { color: #fff; }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__score.is-corbin b:last-child, .game-hero.game-hero--designed:not(.has-photo) .matchup__score.is-opp b:first-child { color: rgba(255,255,255,.5); }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__score i { background: rgba(255,255,255,.5); }
	.game-hero.game-hero--designed:not(.has-photo) .matchup__vs, .game-hero.game-hero--designed:not(.has-photo) .matchup__status--time { color: #fff; }
	.game-hero.game-hero--designed:not(.has-photo) .game-hero__ctx a, .game-hero.game-hero--designed:not(.has-photo) .game-hero__context a { color: #fff; text-decoration-color: rgba(255,255,255,.6); }
}

@layer components { .game-hero.game-hero--designed:not(.has-photo) .matchup__score.is-opp b:last-child, .game-hero.game-hero--designed:not(.has-photo) .matchup__score.is-corbin b:first-child, .game-hero.game-hero--designed:not(.has-photo) .matchup__score b:not(:first-child):not(:last-child) { color: #fff; } }

@layer components {
	/* ---- Redhound Today ---- */
	.today__grid { display: grid; gap: var(--sp-5); }
	.today__feature { position: relative; display: flex; flex-direction: column; gap: 8px; padding: var(--sp-5); background: #fff; border: 1px solid var(--silver-line); border-top: 5px solid var(--red); }
	.today__feature.is-live { border-top-color: #1fa356; }
	.today__feature-kicker { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.today__feature.is-live .today__feature-kicker { color: #1fa356; }
	.today__feature-title { margin: 0; display: flex; flex-direction: column; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: .95; letter-spacing: var(--ls-tight); text-transform: uppercase; }
	.today__feature-title small { font-size: 0.5em; color: var(--gray-meta); font-weight: var(--fw-bold); margin: 4px 0; }
	.today__feature-meta { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); }
	.today__feature-score { display: flex; gap: var(--sp-5); }
	.today__feature-score span { display: flex; flex-direction: column; font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-small); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); }
	.today__feature-score b { font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1; letter-spacing: var(--ls-tight); color: var(--graphite); font-weight: var(--fw-black); }
	.today__feature-state { font-family: var(--font-display); font-weight: var(--fw-black); font-size: var(--fs-small); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.today__feature-rec { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.today__feature-links { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-4); margin-top: 6px; }
	.today__cols { display: grid; gap: var(--sp-5); }
	.today__h { margin: 0 0 8px; padding-bottom: 6px; border-bottom: 2px solid var(--graphite); font-family: var(--font-display); font-size: var(--fs-label); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; }
	.today__list { margin: 0; padding: 0; list-style: none; }
	.today__row { display: grid; grid-template-columns: 78px 1fr auto; gap: var(--sp-3); align-items: center; padding: 10px 0; border-bottom: 1px solid var(--silver-2); }
	.today__row.is-live { background: rgba(31,163,86,.06); padding-inline: 8px; }
	.today__when { display: flex; flex-direction: column; font-family: var(--font-display); font-weight: var(--fw-black); font-size: var(--fs-small); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--red); }
	.today__when small { font-weight: var(--fw-semi); color: var(--gray-meta); font-size: var(--fs-micro); }
	.today__what { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
	.today__sport { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.today__state { font-style: normal; margin-left: 6px; padding: 1px 6px; background: var(--silver-2); color: var(--graphite); font-size: 0.625rem; }
	.today__state--live { background: #1fa356; color: #fff; } .today__state--final { background: var(--graphite); color: #fff; } .today__state--off { background: #ffe9b8; color: #7a5b00; }
	.today__match, .today__score { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.0625rem; line-height: 1.1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.today__score { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
	.today__score span { color: var(--gray-meta); font-weight: var(--fw-bold); } .today__score span.is-w { color: var(--graphite); }
	.today__score b { font-weight: var(--fw-black); margin-left: 4px; }
	.today__wl { font-style: normal; padding: 0 6px; background: var(--red); color: #fff; font-size: 0.75rem; }
	.today__meta { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.today__go a { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); white-space: nowrap; }
	@media (min-width: 900px) { .today__cols { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--sp-6); } .today__grid.has-feature { grid-template-columns: 340px 1fr; align-items: start; } }
	@media (max-width: 639px) { .today__row { grid-template-columns: 64px 1fr; } .today__go { grid-column: 2; } }
}

@layer components {
	/* ---- History mega menu ---- */
	@media (min-width: 1024px) {
		.primary-nav__menu > .menu-item--mega { position: static; }
		.primary-nav .sub-menu.sub-menu--mega { position: absolute; left: 0; right: 0; top: 100%; width: auto; min-width: 0; display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-6); padding: var(--sp-5) var(--sp-6) var(--sp-6); background: #fff; border-top: 3px solid var(--red); box-shadow: 0 24px 48px rgba(0,0,0,.14); z-index: 40; }
		.primary-nav__menu > .menu-item--mega:hover > .sub-menu--mega, .primary-nav__menu > .menu-item--mega:focus-within > .sub-menu--mega, .primary-nav__menu > .menu-item--mega.is-open > .sub-menu--mega { display: grid; }
		/* invisible bridge over the header strip between the link and the panel, so the hover survives the trip */
		.primary-nav .sub-menu--mega::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 48px; }
		.mega__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
		.primary-nav .sub-menu--mega .menu-item a { display: block; padding: 7px 0; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); border-bottom: 1px solid var(--silver-2); }
		.primary-nav .sub-menu--mega .menu-item a:hover { color: var(--red); }
	}
	.mega__head { display: block; margin-bottom: 8px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.primary-nav.is-open .sub-menu--mega { display: none; } .primary-nav.is-open .menu-item.is-open > .sub-menu--mega { display: block; }
	.primary-nav.is-open .mega__col { margin-bottom: var(--sp-3); } .primary-nav.is-open .mega__col ul { list-style: none; margin: 0; padding: 0; }
}

@layer components {
	/* ---- Homepage community pitch ---- */
	.hcom { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(100deg, var(--red-deep) 0%, var(--red) 55%, #15181c 100%); color: #fff; }
	.hcom__ghost { position: absolute; right: -6%; top: 50%; translate: 0 -50%; rotate: -8deg; width: 40%; max-width: 700px; opacity: .1; z-index: -1; }
	.hcom__inner { display: grid; gap: var(--sp-6); padding-block: var(--sp-7); align-items: center; }
	.hcom__kicker { display: inline-block; padding: 5px 12px; background: #fff; color: var(--red); font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; }
	.hcom__title { margin: var(--sp-3) 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.25rem, 5vw, 4rem); line-height: .92; letter-spacing: var(--ls-tight); text-transform: uppercase; color: #fff; }
	.hcom__title b { background: var(--graphite); padding: 0 .12em; display: inline-block; }
	.hcom__lede { margin: 0; max-width: 40rem; font-family: var(--font-serif); font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.45; color: rgba(255,255,255,.92); }
	.hcom__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); margin-top: var(--sp-4); }
	.hcom__btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 20px; background: #fff; color: var(--red); font-family: var(--font-display); font-size: 1rem; font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; } .hcom__btn:hover { background: var(--graphite); color: #fff; } .hcom__btn .icon { width: 16px; height: 16px; }
	.hcom__link { color: #fff; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px; }
	.hcom__recent { margin: var(--sp-3) 0 0; font-family: var(--font-display); font-size: var(--fs-micro); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); }
	.hcom__perks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; grid-template-columns: repeat(2, 1fr); }
	.hcom__perks li { display: grid; grid-template-columns: 28px 1fr; gap: 2px 10px; padding: 12px 14px; background: rgba(0,0,0,.25); border-left: 3px solid #fff; } .hcom__perks i { grid-row: span 2; font-style: normal; font-size: 1.25rem; } .hcom__perks b { font-family: var(--font-display); font-weight: var(--fw-black); text-transform: uppercase; letter-spacing: var(--ls-tight); } .hcom__perks span { font-family: var(--font-serif); font-size: 0.8125rem; color: rgba(255,255,255,.85); }
	@media (min-width: 1000px) { .hcom__inner { grid-template-columns: 1.15fr 1fr; gap: var(--sp-8); } }
	.hcom--member { background: var(--graphite); } .hcom--member .hcom__inner { padding-block: var(--sp-5); grid-template-columns: 1fr; gap: var(--sp-4); }
	.hcom__tiles { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
	.hcom__tile { display: flex; flex-direction: column; padding: 14px 16px; background: rgba(255,255,255,.06); border-left: 4px solid var(--red); color: #fff; } .hcom__tile b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2rem; line-height: 1; letter-spacing: var(--ls-tight); } .hcom__tile span { margin-top: 4px; font-family: var(--font-display); font-size: var(--fs-micro); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); } .hcom__tile:hover { background: var(--red); } .hcom__tile--cta { background: var(--red); border-left-color: #fff; }
	.hfoot-join { background: var(--red); color: #fff; } .hfoot-join__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3); padding-block: 12px; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-ui); text-transform: uppercase; } .hfoot-join__inner b { font-weight: var(--fw-black); } .hfoot-join .btn { background: #fff; border-color: #fff; color: var(--red); }
}

@layer components { .hcom__btn--ghost { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.7); } .hcom__btn--ghost:hover { background: #fff; color: var(--red); } }

@layer components { .hcom--member .hcom__inner { padding-block: var(--sp-4); } .hcom__hello--patch { display: flex; align-items: center; gap: var(--sp-4); } .hcom__title--sm { font-size: clamp(1.5rem, 3vw, 2.25rem); margin: 4px 0 2px; } .hcom--member .hcom__lede { font-size: 1rem; } .hcom__mylink { color: #ff8a93; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; margin-left: 6px; } .hcom--member .hcom__tiles { grid-template-columns: repeat(4, 1fr); } @media (min-width: 1000px) { .hcom--member .hcom__inner { grid-template-columns: 1fr 1.4fr; align-items: center; } } @media (max-width: 767px) { .hcom--member .hcom__tiles { grid-template-columns: 1fr 1fr; } } }

@layer components {
	/* member status bar under the hero */
	.hcom--bar { background: var(--graphite); color: #fff; border-bottom: 3px solid var(--red); }
	.hcom__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3) var(--sp-5); padding-block: 12px; }
	.hcom__bar-id { display: flex; align-items: center; gap: 12px; color: #fff; } .hcom__bar-id .ltr--sm { --ltr: 48px; } .hcom__bar-id .ltr__years, .hcom__bar-id .ltr__pins { display: none; }
	.hcom__bar-id b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.375rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; } .hcom__bar-id small { display: block; margin-top: 3px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); }
	.hcom__bar-tiles { display: flex; flex-wrap: wrap; gap: 6px; }
	.hcom__bar-tiles a { display: flex; flex-direction: column; min-width: 120px; padding: 8px 12px; background: rgba(255,255,255,.07); border-left: 3px solid var(--red); color: #fff; } .hcom__bar-tiles a:hover { background: rgba(255,255,255,.14); }
	.hcom__bar-tiles b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.375rem; line-height: 1; letter-spacing: var(--ls-tight); } .hcom__bar-tiles span { margin-top: 2px; font-family: var(--font-display); font-size: 0.625rem; letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); }
	.hcom__bar-tiles a.is-cta { background: var(--red); border-left-color: #fff; } .hcom__bar-tiles a.is-cta:hover { background: var(--red-deep); }
	@media (max-width: 767px) { .hcom__bar-tiles a { min-width: calc(50% - 3px); } }
	/* utility bar member chip */
	.utility__me { display: inline-flex; align-items: center; gap: 6px; margin-left: 10px; padding: 3px 8px 3px 3px; background: var(--red); color: #fff; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; }
	.utility__me .ltr--xs { --ltr: 22px; margin: 0; } .utility__me .ltr__body { border-width: 1px; outline: 0; } .utility__me .ltr__num { font-size: 10px; }
	.utility__me:hover { background: var(--graphite); }
}

@layer components {
	.utility__medrop { position: relative; display: inline-block; }
	.utility__memenu { position: absolute; right: 0; top: 100%; min-width: 180px; display: none; flex-direction: column; background: #fff; border: 1px solid var(--silver-line); border-top: 3px solid var(--red); box-shadow: 0 16px 40px rgba(0,0,0,.18); z-index: 50; }
	.utility__medrop:hover .utility__memenu, .utility__medrop:focus-within .utility__memenu { display: flex; }
	.utility__memenu a { padding: 10px 14px; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); border-bottom: 1px solid var(--silver-2); } .utility__memenu a:hover { background: var(--red); color: #fff; } .utility__memenu a.is-out { color: var(--red); } .utility__memenu a.is-out:hover { background: var(--graphite); }
	.hcom__bar-tiles a.is-quiet { background: transparent; border-left-color: rgba(255,255,255,.3); min-width: 0; color: rgba(255,255,255,.7); } .hcom__bar-tiles a.is-quiet:hover { color: #fff; background: rgba(255,255,255,.08); }
}

@layer components {
	/* guest pitch: graphite so it never fights the red game-week band */
	.hcom:not(.hcom--bar) { background: linear-gradient(160deg, #15181c 0%, var(--graphite) 55%, #15181c 100%); border-top: 3px solid var(--red); }
	.hcom:not(.hcom--bar) .hcom__ghost { opacity: .06; }
	.hcom:not(.hcom--bar) .hcom__kicker { background: var(--red); color: #fff; }
	.hcom:not(.hcom--bar) .hcom__title b { background: var(--red); }
	.hcom:not(.hcom--bar) .hcom__btn { background: var(--red); color: #fff; } .hcom:not(.hcom--bar) .hcom__btn:hover { background: #fff; color: var(--red); }
	.hcom:not(.hcom--bar) .hcom__btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); } .hcom:not(.hcom--bar) .hcom__btn--ghost:hover { background: #fff; color: var(--graphite); }
	.hcom:not(.hcom--bar) .hcom__perks li { background: rgba(255,255,255,.06); border-left-color: var(--red); }
	.hcom:not(.hcom--bar) .hcom__recent { color: rgba(255,255,255,.6); }
}

@layer components { .hcom:not(.hcom--bar) { border-top: 0; } }

@layer components {
	/* ---- Community pitch v3: framed, ribboned, unmissable ---- */
	.hpitch { background: var(--silver); padding-bottom: var(--sp-7); }
	.hpitch__ribbon { background: var(--red); color: #fff; }
	.hpitch__ribbon .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 22px; padding-block: 10px; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; } .hpitch__ribbon b { font-weight: var(--fw-black); font-size: 1.125rem; letter-spacing: var(--ls-tight); }
	.hpitch__frame { padding-top: var(--sp-6); }
	.hpitch__card { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(160deg, #15181c 0%, var(--graphite) 55%, #1c1f23 100%); color: #fff; border: 6px solid #fff; outline: 3px solid var(--red); box-shadow: 0 30px 70px rgba(0,0,0,.22); }
	.hpitch__card::before { content: ""; position: absolute; left: -10%; top: 0; bottom: 0; width: 42%; background: linear-gradient(105deg, var(--red-deep), var(--red)); transform: skewX(-14deg); z-index: -1; opacity: .95; }
	.hpitch__ghost { position: absolute; right: -6%; top: 50%; translate: 0 -50%; rotate: -8deg; width: 42%; max-width: 640px; opacity: .06; z-index: -1; }
	.hpitch__grid { display: grid; gap: var(--sp-6); padding: var(--sp-6) var(--sp-6); }
	.hpitch__kicker { display: inline-block; padding: 6px 12px; background: #fff; color: var(--red); font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; }
	.hpitch__title { margin: var(--sp-3) 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.5rem, 5.5vw, 4.5rem); line-height: .9; letter-spacing: var(--ls-tight); text-transform: uppercase; color: #fff; text-shadow: 0 6px 30px rgba(0,0,0,.4); } .hpitch__title b { display: inline-block; background: #fff; color: var(--red); padding: 0 .12em; }
	.hpitch__lede { margin: 0; max-width: 40rem; font-family: var(--font-serif); font-size: clamp(1.0625rem, 1.6vw, 1.3125rem); line-height: 1.45; color: rgba(255,255,255,.95); }
	.hpitch__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-4); margin-top: var(--sp-5); }
	.hpitch__btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 24px; background: #fff; color: var(--red); font-family: var(--font-display); font-size: 1.125rem; font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; box-shadow: 0 10px 24px rgba(0,0,0,.3); } .hpitch__btn:hover { background: var(--graphite); color: #fff; } .hpitch__btn .icon { width: 18px; height: 18px; }
	.hpitch__btn--ghost { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.7); box-shadow: none; font-size: 0.9375rem; padding: 14px 18px; } .hpitch__btn--ghost:hover { background: #fff; color: var(--graphite); }
	.hpitch__link { color: #fff; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px; }
	.hpitch__recent { margin: var(--sp-3) 0 0; font-family: var(--font-display); font-size: var(--fs-micro); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); }
	.hpitch__nums { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 10px; } .hpitch__nums div { display: flex; flex-direction: column; padding: 10px 12px; background: rgba(255,255,255,.07); border-top: 3px solid var(--red); } .hpitch__nums b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.375rem, 2.2vw, 1.875rem); line-height: 1; letter-spacing: var(--ls-tight); } .hpitch__nums span { margin-top: 3px; font-family: var(--font-display); font-size: 0.625rem; letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); }
	.hpitch__perks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; grid-template-columns: repeat(2, 1fr); }
	.hpitch__perks li { display: grid; grid-template-columns: 28px 1fr; gap: 2px 10px; padding: 12px 14px; background: rgba(255,255,255,.06); border-left: 3px solid var(--red); } .hpitch__perks i { grid-row: span 2; font-style: normal; font-size: 1.25rem; } .hpitch__perks b { font-family: var(--font-display); font-weight: var(--fw-black); text-transform: uppercase; letter-spacing: var(--ls-tight); } .hpitch__perks span { font-family: var(--font-serif); font-size: 0.8125rem; color: rgba(255,255,255,.85); }
	@media (min-width: 1000px) { .hpitch__grid { grid-template-columns: 1.15fr 1fr; align-items: center; padding: var(--sp-7) var(--sp-7); } }
	@media (max-width: 767px) { .hpitch__card::before { width: 100%; left: 0; transform: none; height: 46%; bottom: auto; } .hpitch__nums { grid-template-columns: 1fr 1fr; } .hpitch__perks { grid-template-columns: 1fr; } }
}

@layer components { .hpitch__title { font-size: clamp(2.25rem, 4.6vw, 3.75rem); } .hpitch__title b { white-space: nowrap; } @media (max-width: 640px) { .hpitch__title b { white-space: normal; } } }

@layer components {
	.hpitch__ribbon .container > span:first-child { padding: 3px 8px; background: #fff; color: var(--red); font-weight: var(--fw-black); }
	.hpitch__perks li { grid-template-columns: 34px 1fr; align-items: start; }
	.hpitch__perks i { display: grid; place-items: center; width: 34px; height: 34px; background: var(--red); color: #fff; } .hpitch__perks i svg { width: 18px; height: 18px; }
	.hpitch__perks div { display: flex; flex-direction: column; gap: 2px; }
	.hpitch__quiet { margin: var(--sp-3) 0 0; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); }
	.join__perks i { display: grid; place-items: center; width: 34px; height: 34px; background: #fff; color: var(--red); flex: none; margin-top: 0; } .join__perks i svg { width: 18px; height: 18px; }
}

@layer components {
	/* ---- Community pitch: full bleed ---- */
	.hpitch { padding-bottom: 0; background: none; }
	.hpitch__card--bleed { border: 0; outline: 0; box-shadow: none; border-top: 4px solid #fff; border-bottom: 6px solid var(--red); background-color: #15181c; background-image: linear-gradient(90deg, rgba(21,24,28,.96) 0%, rgba(21,24,28,.9) 45%, rgba(21,24,28,.6) 100%), var(--pitch-bg); background-size: cover; background-position: center right; }
	.hpitch__card--bleed::before { width: 46%; left: -8%; opacity: .96; }
	.hpitch__card--bleed .hpitch__grid { padding-block: var(--sp-8); gap: var(--sp-7); }
	.hpitch__card--bleed .hpitch__title { font-size: clamp(2.5rem, 5.4vw, 4.75rem); }
	.hpitch__card--bleed .hpitch__lede { font-size: clamp(1.125rem, 1.75vw, 1.5rem); max-width: 42rem; }
	.hpitch__card--bleed .hpitch__btn { font-size: 1.25rem; padding: 18px 28px; }
	.hpitch__card--bleed .hpitch__nums b { font-size: clamp(1.75rem, 2.8vw, 2.5rem); } .hpitch__card--bleed .hpitch__nums div { padding: 14px 16px; background: rgba(0,0,0,.35); }
	.hpitch__card--bleed .hpitch__perks li { background: rgba(0,0,0,.35); padding: 14px 16px; } .hpitch__card--bleed .hpitch__perks b { font-size: 1.125rem; } .hpitch__card--bleed .hpitch__perks span { font-size: 0.9375rem; }
	.hpitch__card--bleed .hpitch__ghost { opacity: .08; width: 40%; }
	@media (min-width: 1200px) { .hpitch__card--bleed .hpitch__grid { grid-template-columns: 1.1fr 1fr; padding-block: var(--sp-9, 96px); } }
}

@layer components { .hpitch__card--bleed .hpitch__nums { grid-template-columns: repeat(2, 1fr); } .hpitch__card--bleed .hpitch__nums b { white-space: nowrap; font-size: clamp(1.5rem, 2.2vw, 2.125rem); } .hpitch__card--bleed .hpitch__perks li { grid-template-columns: 34px 1fr; } @media (min-width: 1200px) { .hpitch__card--bleed .hpitch__nums { grid-template-columns: repeat(4, auto); } } }

/* 4.23.1 · Homepage red discipline: one red field at a time. Game Week owns the red band, so the guest
   community pitch drops its red slab (it was stacking ribbon red + slab red + border red + Game Week red,
   three different reds touching). The slant stays, as a tonal graphite panel (no red rule: it would run through the lede). */
@layer components {
	.hpitch__card--bleed { border-bottom: 4px solid #fff; }
	.hpitch__card--bleed::before { background: linear-gradient(105deg, #1d2126 0%, var(--graphite) 100%); opacity: 1; }
	.hpitch__card--bleed .hpitch__btn:not(.hpitch__btn--ghost) { background: var(--red-btn); color: #fff; }
	.hpitch__card--bleed .hpitch__btn:not(.hpitch__btn--ghost):hover { background: #fff; color: var(--red); }
}

/* 4.23.3 · Community pitch photo framing: position and dimming come from Site Settings (--pitch-x / --pitch-y, dim class). */
@layer components {
	.hpitch__card--bleed { background-position: var(--pitch-x, 100%) var(--pitch-y, 20%); }
	.hpitch__card--dim-light { background-image: linear-gradient(90deg, rgba(21,24,28,.94) 0%, rgba(21,24,28,.8) 45%, rgba(21,24,28,.3) 100%), var(--pitch-bg); }
	.hpitch__card--dim-heavy { background-image: linear-gradient(90deg, rgba(21,24,28,.97) 0%, rgba(21,24,28,.94) 45%, rgba(21,24,28,.78) 100%), var(--pitch-bg); }
}

/* 4.23.5 · Profile header: the class year is a link to the class page. */
@layer components { .deck2__class { color: #fff; text-decoration: underline; text-underline-offset: 3px; } .deck2__class:hover { color: #fff; text-decoration-thickness: 2px; } }

/* 4.24.0 · The Forum front page. Short masthead with this week's game, four boards, conversations, rail.
   Red stays an accent: chip, buttons, flags. Surfaces are graphite (masthead) and silver/white (everything else). */
@layer components {
	.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

	/* Masthead */
	.fhero { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(160deg, #15181c, var(--graphite)); color: #fff; border-bottom: var(--nav-rule, 3px) solid var(--red); }
	.fhero .rhero__ghost { z-index: -1; opacity: .07; }
	.fhero__inner { display: grid; gap: var(--sp-6); align-items: end; padding-block: var(--sp-7) var(--sp-6); }
	.fhero__lead { display: flex; flex-direction: column; align-items: flex-start; }
	.fhero__title { margin: 10px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3.25rem, 8vw, 6.5rem); line-height: .88; letter-spacing: var(--ls-tight); text-transform: uppercase; text-shadow: 0 6px 40px rgba(0,0,0,.45); }
	.fhero__intro { margin: var(--sp-3) 0 0; max-width: 36rem; font-family: var(--font-serif); font-size: clamp(1.0625rem, 1.5vw, 1.3125rem); line-height: 1.45; color: rgba(255,255,255,.92); }
	.fhero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-4); margin-top: var(--sp-4); }
	.fhero__link { color: #fff; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px; }
	.fbtn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 22px; background: var(--red-btn); color: #fff; font-family: var(--font-display); font-size: 1.0625rem; font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; }
	.fbtn:hover { background: #fff; color: var(--red); } .fbtn .icon { width: 18px; height: 18px; }
	.fbtn--dark:hover, .fbtn--block:hover { background: var(--graphite); color: #fff; }
	.fbtn--block { display: flex; width: 100%; }

	.fgame { display: flex; flex-direction: column; gap: 8px; padding: var(--sp-4) var(--sp-5); background: rgba(0,0,0,.38); border-top: 4px solid #fff; }
	.fgame__label { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); }
	.fgame__label i { width: 8px; height: 8px; background: var(--on-air, #1fa356); }
	.fgame--live { border-top-color: var(--on-air, #1fa356); }
	.fgame__vs { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.75rem, 2.6vw, 2.5rem); line-height: .95; letter-spacing: var(--ls-tight); text-transform: uppercase; color: #fff; }
	.fgame__vs em { font-style: normal; color: rgba(255,255,255,.55); font-size: .7em; }
	.fgame__vs:hover, .fgame__score:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 3px; }
	.fgame__score { display: flex; gap: var(--sp-5); color: #fff; } .fgame__score span { display: flex; flex-direction: column; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: rgba(255,255,255,.8); } .fgame__score b { font-weight: var(--fw-black); font-size: clamp(2.5rem, 4vw, 3.5rem); line-height: 1; color: #fff; }
	.fgame__meta { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-ui); text-transform: uppercase; color: rgba(255,255,255,.8); }
	.fgame__cta { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-top: 6px; padding: 12px 14px; background: #fff; color: var(--graphite); }
	.fgame__cta span { display: flex; flex-direction: column; gap: 2px; } .fgame__cta b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.125rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--red); } .fgame__cta small { font-family: var(--font-serif); font-size: 0.875rem; color: var(--gray-body); }
	.fgame__cta .icon { width: 20px; height: 20px; color: var(--red); flex: none; } .fgame__cta:hover { background: var(--red); color: #fff; } .fgame__cta:hover b, .fgame__cta:hover small, .fgame__cta:hover .icon { color: #fff; }

	.fhero__strip { background: rgba(0,0,0,.3); border-top: 1px solid rgba(255,255,255,.1); }
	.fhero__strip .container { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px var(--sp-5); padding-block: 12px; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); }
	.fhero__strip b { font-weight: var(--fw-black); font-size: 1.25rem; letter-spacing: var(--ls-tight); color: #fff; margin-right: 4px; }
	.fhero__strip-note { margin-left: auto; }
	@media (min-width: 1000px) { .fhero__inner { grid-template-columns: 1.25fr minmax(340px, .75fr); padding-block: var(--sp-8) var(--sp-6); } }
	@media (max-width: 767px) { .fhero__strip-note { margin-left: 0; flex-basis: 100%; } }
	a.vhero__since { color: #fff; } a.vhero__since:hover { background: #fff; color: var(--red); }
	.fhero-new { min-height: 0; } .fhero-new .vhero__inner { padding-block: var(--sp-6); } .fhero-new .vhero__title { font-size: clamp(2.75rem, 7vw, 5rem); }

	/* Boards */
	.forum { padding-top: var(--sp-6); }
	.fboards { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); margin-bottom: var(--sp-7); }
	.fboard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); transition: border-color var(--dur, 180ms); }
	.fboard:hover, .fboard:focus-within { border-top-color: var(--red); }
	.fboard__head { display: grid; grid-template-columns: 40px 1fr; gap: 0 12px; align-items: center; padding: var(--sp-4) var(--sp-4) 0; color: var(--graphite); }
	.fboard__icon { grid-row: span 2; display: grid; place-items: center; width: 40px; height: 40px; background: var(--graphite); color: #fff; font-style: normal; } .fboard__icon svg { width: 22px; height: 22px; }
	.fboard:hover .fboard__icon { background: var(--red); }
	.fboard__name { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; }
	.fboard__head:hover .fboard__name { color: var(--red); }
	.fboard__count { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.fboard__desc { margin: 10px var(--sp-4) var(--sp-4); font-family: var(--font-serif); font-size: 0.9375rem; line-height: 1.45; color: var(--gray-body); }
	.fboard__latest { display: flex; flex-direction: column; gap: 3px; margin-top: auto; padding: 12px var(--sp-4) 14px; background: var(--silver-3); border-top: 1px solid var(--silver-line); color: var(--graphite); }
	.fboard__latest:hover { background: var(--silver-2); } .fboard__latest:hover b { color: var(--red); }
	.fboard__k { font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.fboard__latest b { font-family: var(--font-display); font-weight: var(--fw-extra, 800); font-size: 1.0625rem; line-height: 1.12; letter-spacing: 0; text-transform: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.fboard__latest small { font-family: var(--font-display); font-size: var(--fs-micro); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.fboard__latest--start b { font-family: var(--font-serif); font-weight: 500; font-style: italic; font-size: 1rem; line-height: 1.3; }
	.fboard__latest--start small { text-transform: none; letter-spacing: 0; font-family: var(--font-serif); font-size: 0.8125rem; }

	@media (max-width: 767px) { .fboards { grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: var(--sp-6); } .fboard__head { grid-template-columns: 32px 1fr; gap: 0 8px; padding: 10px; } .fboard__icon { width: 32px; height: 32px; } .fboard__icon svg { width: 18px; height: 18px; } .fboard__name { font-size: 1.125rem; } .fboard__desc, .fboard__latest { display: none; } }

	/* Conversations + rail */
	.forum__grid { display: grid; gap: var(--sp-6); align-items: start; }
	@media (min-width: 1000px) { .forum__grid { grid-template-columns: minmax(0, 1fr) 320px; gap: var(--sp-7); } .forum__rail { position: sticky; top: var(--sp-5); } }
	.forum__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--sp-3); padding-bottom: 10px; margin-bottom: var(--sp-3); border-bottom: 4px solid var(--graphite); }
	.forum__head--later { margin-top: var(--sp-7); }
	.forum__title { margin: 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: .95; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.forum__tabs { display: flex; gap: 4px; } .forum__tabs a { padding: 7px 12px; border: 1px solid var(--silver-line); background: #fff; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); }
	.forum__tabs a:hover { border-color: var(--graphite); } .forum__tabs a.is-on { background: var(--graphite); border-color: var(--graphite); color: #fff; } .forum__tabs b { margin-left: 4px; padding: 0 6px; background: var(--red); color: #fff; font-weight: var(--fw-black); }

	.ftopics { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
	.ftopic { display: grid; grid-template-columns: 48px minmax(0, 1fr) 76px 116px; gap: 0 var(--sp-4); align-items: center; padding: 12px 14px; background: #fff; border: 1px solid var(--silver-line); border-left: 4px solid var(--silver-line); }
	.ftopic:hover { border-left-color: var(--graphite); } .ftopic.is-pinned { border-left-color: var(--red); } .ftopic.is-locked { background: var(--silver-3); }
	.ftopic__who { display: grid; place-items: center; } .ftopic__who .ltr--sm { --ltr: 46px; } .ftopic__who .ltr__years, .ftopic__who .ltr__pins { display: none; }
	.ftopic__initial { display: grid; place-items: center; width: 44px; height: 44px; background: var(--graphite); color: #fff; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.375rem; }
	.ftopic__main { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
	.ftopic__title { font-family: var(--font-display); font-weight: var(--fw-extra, 800); font-size: clamp(1.125rem, 1.6vw, 1.375rem); line-height: 1.08; color: var(--graphite); overflow-wrap: anywhere; }
	.ftopic__title:hover { color: var(--red); }
	.ftopic__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.ftopic__board { color: var(--red); font-weight: var(--fw-black); } .ftopic__board:hover { text-decoration: underline; text-underline-offset: 3px; }
	.ftopic__flag { padding: 2px 6px; background: var(--red); color: #fff; font-weight: var(--fw-black); } .ftopic__flag--quiet { background: var(--silver); color: var(--graphite); }
	.ftopic__count { display: flex; flex-direction: column; align-items: center; padding: 8px 4px 6px; background: var(--silver-2); color: var(--graphite); } .ftopic__count b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.625rem; line-height: 1; letter-spacing: var(--ls-tight); } .ftopic__count span, .ftopic__last span { font-family: var(--font-display); font-size: 0.625rem; font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.ftopic__count:hover { background: var(--graphite); color: #fff; } .ftopic__count:hover span { color: rgba(255,255,255,.75); }
	.ftopic.is-open .ftopic__count { background: #fff; outline: 1px dashed var(--silver-line); outline-offset: -1px; }
	.ftopic__last { display: flex; flex-direction: column; gap: 2px; text-align: right; } .ftopic__last b { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); }
	.ftopic.is-open .ftopic__last b { color: var(--red); }
	@media (max-width: 767px) { .ftopic { grid-template-columns: 40px minmax(0, 1fr) 60px; gap: 0 12px; padding: 10px; } .ftopic__last { display: none; } .ftopic__who .ltr--sm { --ltr: 38px; } .ftopic__initial { width: 38px; height: 38px; } .ftopic__count b { font-size: 1.375rem; } }

	.fempty { padding: var(--sp-5); background: #fff; border: 1px solid var(--silver-line); border-left: 4px solid var(--graphite); } .fempty b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); } .fempty p { margin: 10px 0 0; max-width: 40rem; font-family: var(--font-serif); line-height: 1.5; color: var(--gray-body); }
	.fempty--first { border-left-color: var(--red); padding: var(--sp-6); } .fempty--first b { font-size: clamp(1.75rem, 3vw, 2.5rem); } .fempty--first .fbtn { margin-top: var(--sp-4); }

	.fsaid { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; background: #fff; border: 1px solid var(--silver-line); }
	.fsaid li + li { border-top: 1px solid var(--silver-line); } .fsaid a { display: flex; flex-direction: column; gap: 6px; padding: 14px var(--sp-4); color: var(--graphite); } .fsaid a:hover { background: var(--silver-3); }
	.fsaid__text { font-family: var(--font-serif); font-size: 1rem; line-height: 1.45; color: var(--gray-ink, #1a1a1a); }
	.fsaid__meta { font-family: var(--font-display); font-size: var(--fs-micro); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); } .fsaid__meta b { color: var(--graphite); font-weight: var(--fw-black); }

	.forum__rail { display: grid; gap: 10px; }
	.fcard { padding: var(--sp-4); background: #fff; border: 1px solid var(--silver-line); }
	.fcard__k { display: block; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.fcard p { margin: 8px 0 0; font-family: var(--font-serif); font-size: 0.9375rem; line-height: 1.5; color: var(--gray-body); }
	.fcard__big { display: block; margin-top: 6px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.75rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.fcard--post { background: var(--graphite); border-color: var(--graphite); } .fcard--post .fcard__k { color: #fff; } .fcard--post p { color: rgba(255,255,255,.88); } .fcard--post .fbtn { margin-top: var(--sp-3); } .fcard--post .fbtn:hover { background: #fff; color: var(--red); }
	.fcard__link { display: inline-block; margin-top: 12px; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); text-decoration: underline; text-underline-offset: 3px; } .fcard--post .fcard__link { color: #fff; } .fcard__link:hover { color: var(--red); } .fcard--post .fcard__link:hover { color: #fff; text-decoration-thickness: 2px; }
	.fcard__people { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; } .fcard__people a, .fcard__people span { display: inline-block; padding: 5px 9px; background: var(--silver-3); border: 1px solid var(--silver-line); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); } .fcard__people em { font-style: normal; color: var(--red); } .fcard__people a:hover { background: var(--graphite); border-color: var(--graphite); color: #fff; } .fcard__people a:hover em { color: #fff; }
	@media (prefers-reduced-motion: reduce) { .fboard { transition: none; } }
}

/* 4.24.1 · Join form: email choices. */
@layer components { .join__mail { margin: 0; padding: 12px 14px; border: 1px solid var(--silver-line); background: var(--silver-3); display: grid; gap: 8px; } .join__mail legend { padding: 0 6px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--graphite); } .join__mail b { color: var(--graphite); } }

/* 4.25.0 · Homepage photo band: its own graphite section (photographs read best on dark), lead gallery plus up to four,
   with the share-a-photo ask filling whatever space is still open. The legend now runs the full row. */
@layer components {
	.hphotos { background: linear-gradient(180deg, #181b1f, var(--graphite)); color: #fff; padding-block: var(--sp-8); border-top: 4px solid var(--red); }
	.hphotos__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-5); }
	.hphotos__kicker { display: block; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); }
	.hphotos__title { margin: 6px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.25rem, 5vw, 4rem); line-height: .9; letter-spacing: var(--ls-tight); text-transform: uppercase; color: #fff; }
	.hphotos__all { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: #fff; text-decoration: underline; text-underline-offset: 4px; } .hphotos__all .icon { width: 16px; height: 16px; } .hphotos__all:hover { color: #fff; text-decoration-thickness: 2px; }

	.hphotos__grid { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(170px, 17vw, 250px); grid-auto-flow: dense; }
	.hphoto { position: relative; display: block; overflow: hidden; background: #0e1012; color: #fff; isolation: isolate; }
	.hphoto--lead { grid-column: span 2; grid-row: span 2; }
	.hphoto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; transition: transform 600ms var(--ease, ease); }
	.hphoto:hover img, .hphoto:focus-visible img { transform: scale(1.04); }
	.hphoto::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(8,8,10,0) 45%, rgba(8,8,10,.86) 100%); pointer-events: none; }
	.hphoto__empty { position: absolute; inset: 0; background: repeating-linear-gradient(135deg, #1f2328 0 14px, #23272c 14px 28px); }
	.hphoto__body { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 14px 16px; border-left: 4px solid transparent; transition: border-color 200ms; }
	.hphoto:hover .hphoto__body, .hphoto:focus-visible .hphoto__body { border-left-color: var(--red); }
	.hphoto__new { padding: 3px 8px; background: var(--red); font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; }
	.hphoto__title { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; text-shadow: 0 2px 14px rgba(0,0,0,.6); }
	.hphoto--lead .hphoto__title { font-size: clamp(1.75rem, 3vw, 2.75rem); line-height: .92; } .hphoto--lead .hphoto__body { padding: var(--sp-5); gap: 6px; }
	.hphoto__meta { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.82); }

	/* the ask takes whatever the galleries have not filled yet */
	.hphoto-ask { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; padding: var(--sp-5); background: rgba(255,255,255,.05); outline: 1px dashed rgba(255,255,255,.28); outline-offset: -1px; color: #fff; grid-column: span 2; }
	.hphotos__grid--n1 .hphoto-ask { grid-row: span 2; padding: var(--sp-6); } .hphotos__grid--n2 .hphoto:not(.hphoto--lead) { grid-column: span 2; } .hphotos__grid--n4 .hphoto-ask { grid-column: span 1; padding: var(--sp-4); }
	.hphoto-ask:hover, .hphoto-ask:focus-visible { background: rgba(255,255,255,.09); outline-color: #fff; color: #fff; }
	.hphoto-ask__k { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); }
	.hphoto-ask__t { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.5rem, 2.6vw, 2.5rem); line-height: .95; letter-spacing: var(--ls-tight); text-transform: uppercase; }
	.hphoto-ask__d { max-width: 30rem; font-family: var(--font-serif); font-size: 1rem; line-height: 1.5; color: rgba(255,255,255,.85); }
	.hphotos__grid--n4 .hphoto-ask__d { display: none; } .hphotos__grid--n4 .hphoto-ask__t { font-size: 1.375rem; }
	.hphoto-ask__btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; padding: 12px 18px; background: var(--red-btn); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; } .hphoto-ask__btn .icon { width: 16px; height: 16px; }
	.hphoto-ask:hover .hphoto-ask__btn { background: #fff; color: var(--red); }
	.hphotos__grid--n4 .hphoto-ask__btn { padding: 9px 12px; }
	.hphotos__foot { margin: var(--sp-4) 0 0; font-family: var(--font-serif); color: rgba(255,255,255,.8); } .hphotos__foot a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

	@media (max-width: 899px) { .hphotos { padding-block: var(--sp-7); } .hphotos__grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; } .hphoto--lead { grid-column: 1 / -1; grid-row: span 2; } .hphoto-ask, .hphotos__grid--n4 .hphoto-ask { grid-column: 1 / -1; grid-row: auto; padding: var(--sp-5); } .hphotos__grid--n4 .hphoto-ask__d { display: block; } .hphotos__grid--n2 .hphoto:not(.hphoto--lead) { grid-column: 1 / -1; } .hphotos__grid { grid-auto-rows: minmax(150px, auto); } }
	@media (prefers-reduced-motion: reduce) { .hphoto img { transition: none; } .hphoto:hover img { transform: none; } }

	/* Legend on the full row: narrower portrait column, honors flow across */
	.spotlight__grid--one .legend { grid-template-columns: minmax(280px, 32%) 1fr; min-height: 440px; }
	.spotlight__grid--one .legend__quote { max-width: 46rem; }
	@media (max-width: 767px) { .spotlight__grid--one .legend { grid-template-columns: 1fr; } }
}

/* 4.26.0 · Share Your Redhound History, guest landing: full-width photo hero with live numbers, what to send, how it works,
   what the Archive is missing (graphite band), recently added, wide join panel. Red stays on chips, numerals and buttons. */
@layer components {
	.chero { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: linear-gradient(160deg, #15181c, var(--graphite)); border-bottom: var(--nav-rule, 3px) solid var(--red); }
	.chero--photo { background-image: linear-gradient(90deg, rgba(16,18,21,.96) 0%, rgba(16,18,21,.86) 42%, rgba(16,18,21,.42) 100%), var(--chero-bg); background-size: cover; background-position: center 28%; }
	@media (max-width: 767px) { .chero--photo { background-image: linear-gradient(180deg, rgba(16,18,21,.9), rgba(16,18,21,.8)), var(--chero-bg); } }
	.chero--photo .rhero__ghost { display: none; } .chero .rhero__ghost { z-index: -1; opacity: .07; }
	.chero__inner { display: flex; flex-direction: column; align-items: flex-start; padding-block: clamp(3.5rem, 9vw, 7.5rem) clamp(2.5rem, 5vw, 4.5rem); }
	.chero__title { margin: 14px 0 0; max-width: 14ch; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3.25rem, 9.5vw, 8.5rem); line-height: .86; letter-spacing: var(--ls-tight); text-transform: uppercase; text-shadow: 0 6px 40px rgba(0,0,0,.5); }
	.chero__title span { display: inline-block; margin-top: .1em; padding: .06em .12em 0; background: #fff; color: var(--red); text-shadow: none; line-height: .9; }
	.chero__intro { margin: var(--sp-4) 0 0; max-width: 40rem; font-family: var(--font-serif); font-size: clamp(1.125rem, 1.7vw, 1.4375rem); line-height: 1.45; color: rgba(255,255,255,.94); }
	.chero__actions, .cjoin__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-4); margin-top: var(--sp-5); }
	.chero__link { color: #fff; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; } .chero__link:hover { color: #fff; text-decoration-thickness: 2px; }
	.chero__strip { background: rgba(0,0,0,.42); border-top: 1px solid rgba(255,255,255,.12); }
	.chero__strip .container { display: flex; flex-wrap: wrap; align-items: end; gap: var(--sp-3) var(--sp-7); padding-block: var(--sp-4); }
	.chero__strip div div, .chero__strip .container > div { display: flex; flex-direction: column; gap: 2px; }
	.chero__strip b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1; letter-spacing: var(--ls-tight); }
	.chero__strip span { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.72); }
	.chero__credit { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.85); font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; } .chero__credit .icon { width: 14px; height: 14px; } .chero__credit:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

	.cland { display: block; }
	.cland__ctx { margin: 0 0 var(--sp-6); padding: 14px var(--sp-4); background: #fff; border-left: 4px solid var(--red); font-family: var(--font-serif); font-size: 1.0625rem; color: var(--gray-body); } .cland__ctx a { color: var(--red); font-weight: 600; }
	.cland__head { margin-bottom: var(--sp-4); padding-bottom: 12px; border-bottom: 4px solid var(--graphite); } .cland__head--later { margin-top: var(--sp-8); }
	.cland__title { margin: 6px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.875rem, 4vw, 3.25rem); line-height: .95; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }

	.cwant { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
	.cwant__card { padding: var(--sp-5); background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); }
	.cwant__icon { display: grid; place-items: center; width: 52px; height: 52px; background: var(--graphite); color: #fff; font-style: normal; } .cwant__icon svg { width: 28px; height: 28px; }
	.cwant__name { display: block; margin-top: var(--sp-3); font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.625rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.cwant__card p { margin: 10px 0 0; font-family: var(--font-serif); font-size: 1rem; line-height: 1.5; color: var(--gray-body); }

	.csteps { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); counter-reset: none; }
	.csteps li { position: relative; padding: var(--sp-5) var(--sp-5) var(--sp-5) calc(var(--sp-5) + 4px); background: #fff; border: 1px solid var(--silver-line); overflow: hidden; }
	.csteps li::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--red); }
	.csteps__n { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 4.5rem; line-height: .8; letter-spacing: var(--ls-tight); color: var(--silver); }
	.csteps__t { display: block; margin-top: 10px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.csteps p { margin: 8px 0 0; font-family: var(--font-serif); font-size: 1rem; line-height: 1.5; color: var(--gray-body); }

	/* Most wanted: a graphite panel the full width of the container */
	.cmiss { margin: var(--sp-8) 0 0; padding: clamp(var(--sp-5), 4vw, var(--sp-8)); background: linear-gradient(180deg, #181b1f, var(--graphite)); color: #fff; border-top: 4px solid var(--red); display: grid; gap: var(--sp-6); align-items: center; }
	@media (min-width: 1000px) { .cmiss { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--sp-8); } }
	.cmiss__k { display: inline-block; padding: 4px 10px; background: var(--red); font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; }
	.cmiss__title { margin: 12px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2rem, 4.2vw, 3.5rem); line-height: .92; letter-spacing: var(--ls-tight); text-transform: uppercase; }
	.cmiss__lead p { margin: var(--sp-3) 0 0; max-width: 30rem; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.5; color: rgba(255,255,255,.85); }
	.cmiss__nums { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
	.cmiss__nums div { padding: var(--sp-4); background: rgba(0,0,0,.32); border-top: 4px solid #fff; }
	.cmiss__nums b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3rem, 5.5vw, 4.75rem); line-height: .85; letter-spacing: var(--ls-tight); }
	.cmiss__nums span { display: block; margin-top: 8px; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; }
	.cmiss__nums p { margin: 8px 0 0; font-family: var(--font-serif); font-size: .9375rem; line-height: 1.45; color: rgba(255,255,255,.78); }

	.crecent { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: clamp(220px, 24vw, 340px); }
	.crecent--n1 { grid-template-columns: 1fr; grid-auto-rows: clamp(280px, 34vw, 460px); } .crecent--n2 { grid-template-columns: 1fr 1fr; }
	.crecent .hphoto__title { font-size: clamp(1.375rem, 2.2vw, 2rem); } .crecent .hphoto__body { padding: var(--sp-4); }
	@media (max-width: 767px) { .crecent, .crecent--n2 { grid-template-columns: 1fr; grid-auto-rows: 240px; } }

	.cjoin { margin-top: var(--sp-8); display: grid; background: #fff; border: 1px solid var(--silver-line); border-top: 6px solid var(--red); }
	@media (min-width: 1000px) { .cjoin { grid-template-columns: 1.05fr .95fr; } }
	.cjoin__pitch { padding: clamp(var(--sp-5), 4vw, var(--sp-8)); }
	.cjoin__k { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.cjoin__title { margin: 8px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.25rem, 4.6vw, 4rem); line-height: .9; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.cjoin__pitch > p { margin: var(--sp-3) 0 0; max-width: 34rem; font-family: var(--font-serif); font-size: 1.125rem; line-height: 1.5; color: var(--gray-body); }
	.cjoin .chero__link { color: var(--graphite); } .cjoin .chero__link:hover { color: var(--red); } .cjoin .fbtn:hover { background: var(--graphite); color: #fff; }
	.cjoin__pitch > .cjoin__quiet { margin-top: var(--sp-4); font-family: var(--font-display); font-size: var(--fs-micro); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.cjoin__list { list-style: none; margin: 0; padding: clamp(var(--sp-5), 4vw, var(--sp-7)); background: var(--silver-3); border-left: 1px solid var(--silver-line); display: grid; gap: var(--sp-4); align-content: center; }
	.cjoin__list li { padding-left: var(--sp-4); border-left: 4px solid var(--graphite); } .cjoin__list b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); } .cjoin__list span { display: block; margin-top: 4px; font-family: var(--font-serif); font-size: 1rem; line-height: 1.45; color: var(--gray-body); }
	@media (max-width: 999px) { .cjoin__list { border-left: 0; border-top: 1px solid var(--silver-line); } .chero__credit { margin-left: 0; flex-basis: 100%; } .chero__strip .container { gap: var(--sp-3) var(--sp-5); } }
}

/* 4.26.1 · Photo band, second pass: film-strip edges, an outlined ghost word, viewfinder corner marks, the year stamped on the
   lead photo, small tiles that come up to full colour on hover, and the ask drawn as an empty frame waiting for a print. */
@layer components {
	.hphotos { position: relative; overflow: hidden; isolation: isolate; padding-block: calc(var(--sp-8) + 22px); border-top: 0; }
	/* film perforations along both edges */
	.hphotos::before, .hphotos::after { content: ""; position: absolute; left: 0; right: 0; height: 22px; z-index: 1; background-color: #0c0d0f; background-image: repeating-linear-gradient(90deg, transparent 0 14px, rgba(255,255,255,.2) 14px 30px, transparent 30px 44px); background-size: 44px 10px; background-repeat: repeat-x; background-position: 0 6px; }
	.hphotos::before { top: 0; border-bottom: 3px solid var(--red); } .hphotos::after { bottom: 0; }
	.hphotos__ghost { position: absolute; z-index: -1; right: -1vw; top: 18px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(7rem, 22vw, 20rem); line-height: .8; letter-spacing: -.02em; text-transform: uppercase; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.07); pointer-events: none; user-select: none; }
	@supports not (-webkit-text-stroke: 1px #fff) { .hphotos__ghost { color: rgba(255,255,255,.04); } }
	.hphotos__head { align-items: end; margin-bottom: var(--sp-5); padding-bottom: var(--sp-3); border-bottom: 1px solid rgba(255,255,255,.16); }
	.hphotos__kicker { display: inline-block; padding: 5px 16px 5px 10px; background: var(--red); color: #fff; clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%); }
	.hphotos__title { margin-top: 12px; font-size: clamp(2.75rem, 6.5vw, 5.5rem); line-height: .86; }
	.hphotos__side { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px var(--sp-5); }
	.hphotos__count { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); } .hphotos__count b { font-weight: var(--fw-black); font-size: 1.375rem; letter-spacing: var(--ls-tight); color: #fff; margin-right: 2px; }

	.hphotos__grid { gap: 10px; grid-auto-rows: clamp(180px, 18vw, 270px); }
	.hphoto { outline: 1px solid rgba(255,255,255,.1); outline-offset: -1px; }
	.hphoto:not(.hphoto--lead) img { filter: grayscale(.85) contrast(1.06) brightness(.92); transition: transform 600ms var(--ease, ease), filter 400ms var(--ease, ease); }
	.hphoto:not(.hphoto--lead):hover img, .hphoto:not(.hphoto--lead):focus-visible img { filter: none; }
	.hphoto--lead img { filter: contrast(1.04) saturate(1.05); }
	.hphoto::after { background: linear-gradient(180deg, rgba(8,8,10,.25) 0%, rgba(8,8,10,0) 30%, rgba(8,8,10,0) 48%, rgba(8,8,10,.9) 100%); }
	.hphoto__body { border-left-width: 0; padding-left: 16px; } .hphoto:hover .hphoto__body, .hphoto:focus-visible .hphoto__body { border-left-color: transparent; }
	.hphoto__title { transition: color 200ms; } .hphoto--lead .hphoto__title { font-size: clamp(2rem, 3.8vw, 3.5rem); line-height: .88; }
	.hphoto__new { padding: 4px 16px 4px 10px; clip-path: polygon(0 0, 100% 0, calc(100% - 9px) 100%, 0 100%); }
	.hphoto__year { position: absolute; z-index: 2; top: 30px; right: 54px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3rem, 7vw, 6.5rem); line-height: .8; letter-spacing: -.02em; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.55); pointer-events: none; }
	@supports not (-webkit-text-stroke: 1px #fff) { .hphoto__year { color: rgba(255,255,255,.35); } }

	/* viewfinder corner marks: always on the lead and the empty frame, on hover elsewhere */
	.hphoto__vf { position: absolute; inset: 10px; z-index: 3; pointer-events: none; opacity: 0; transition: opacity 200ms, inset 300ms var(--ease, ease); --c: #fff; --l: 18px; --t: 3px;
		background:
			linear-gradient(var(--c), var(--c)) left top / var(--l) var(--t) no-repeat, linear-gradient(var(--c), var(--c)) left top / var(--t) var(--l) no-repeat,
			linear-gradient(var(--c), var(--c)) right top / var(--l) var(--t) no-repeat, linear-gradient(var(--c), var(--c)) right top / var(--t) var(--l) no-repeat,
			linear-gradient(var(--c), var(--c)) left bottom / var(--l) var(--t) no-repeat, linear-gradient(var(--c), var(--c)) left bottom / var(--t) var(--l) no-repeat,
			linear-gradient(var(--c), var(--c)) right bottom / var(--l) var(--t) no-repeat, linear-gradient(var(--c), var(--c)) right bottom / var(--t) var(--l) no-repeat; }
	.hphoto--lead .hphoto__vf { opacity: .9; inset: 14px; --l: 26px; } .hphoto:hover .hphoto__vf, .hphoto:focus-visible .hphoto__vf { opacity: 1; --c: var(--red); inset: 8px; }
	.hphoto--lead .hphoto__body { padding: var(--sp-6) var(--sp-6) calc(var(--sp-5) + 14px); } .hphoto:not(.hphoto--lead) .hphoto__body { padding: 14px 18px 20px; }

	.hphoto-ask { position: relative; outline: 0; background: repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 12px, rgba(255,255,255,.06) 12px 24px); padding: var(--sp-6) var(--sp-6) var(--sp-6) calc(var(--sp-6) + 6px); }
	.hphoto-ask .hphoto__vf { opacity: .75; inset: 12px; --l: 24px; } .hphoto-ask:hover .hphoto__vf, .hphoto-ask:focus-visible .hphoto__vf { opacity: 1; --c: var(--red); inset: 8px; }
	.hphoto-ask:hover, .hphoto-ask:focus-visible { background: repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 12px, rgba(255,255,255,.09) 12px 24px); }
	.hphoto-ask__cam { width: 44px; height: 44px; color: rgba(255,255,255,.85); }
	.hphotos__grid--n4 .hphoto-ask { padding: var(--sp-4) var(--sp-4) var(--sp-4) calc(var(--sp-4) + 6px); } .hphotos__grid--n4 .hphoto-ask__cam { width: 28px; height: 28px; }
	.hphoto-ask__btn { clip-path: none; }
	@media (max-width: 899px) { .hphotos__ghost { top: 30px; font-size: 34vw; } .hphoto--lead .hphoto__body { padding: var(--sp-4) var(--sp-4) calc(var(--sp-4) + 10px); } }
	@media (prefers-reduced-motion: reduce) { .hphoto:not(.hphoto--lead) img, .hphoto__vf { transition: none; } }
}

/* 4.27.0 · Join page tour. Rhythm after the dark hero: white (try your years), silver (what you get, a bento with two graphite
   cards and one photo card), graphite (who it is for), white (promises), silver (questions), red (final call: the page's one red field). */
@layer components {
	.join__more { display: inline-flex; align-items: center; gap: 8px; margin-top: var(--sp-4); color: #fff; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; } .join__more .icon { width: 16px; height: 16px; } .join__more:hover { color: #fff; text-decoration-thickness: 2px; }
	.join__card { scroll-margin-top: 110px; } .jera { scroll-margin-top: 90px; }
	.jtag { display: inline-block; padding: 4px 16px 4px 10px; background: var(--red); color: #fff; font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; clip-path: polygon(0 0, 100% 0, calc(100% - 9px) 100%, 0 100%); }
	.jtour__head { margin-bottom: var(--sp-5); padding-bottom: 12px; border-bottom: 4px solid var(--graphite); }
	.jtour__title { margin: 6px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.25rem, 5vw, 4.25rem); line-height: .9; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }

	/* Try your years */
	.jera { position: relative; overflow: hidden; isolation: isolate; background: #fff; border-bottom: 1px solid var(--silver-line); padding-block: var(--sp-8); }
	.jera__ghost { position: absolute; z-index: -1; right: -2vw; bottom: -12%; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(12rem, 34vw, 30rem); line-height: .8; letter-spacing: -.03em; color: transparent; -webkit-text-stroke: 2px #e6e9ed; pointer-events: none; user-select: none; }
	.jera__inner { display: grid; gap: var(--sp-6); align-items: center; } @media (min-width: 1000px) { .jera__inner { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--sp-8); } }
	.jera__title { margin: 14px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.75rem, 6vw, 5.5rem); line-height: .86; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.jera__ask p { margin: var(--sp-3) 0 0; max-width: 30rem; font-family: var(--font-serif); font-size: 1.125rem; line-height: 1.5; color: var(--gray-body); }
	.jera__field { display: block; margin-top: var(--sp-4); }
	.jera__field input { width: min(100%, 17rem); padding: 10px 16px 6px; border: 0; border-bottom: 6px solid var(--red); background: var(--silver-3); font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.75rem, 6vw, 4.5rem); line-height: 1; letter-spacing: var(--ls-tight); color: var(--graphite); border-radius: 0; }
	.jera__field input::placeholder { color: var(--silver); font-size: .5em; letter-spacing: var(--ls-ui); text-transform: uppercase; } .jera__field input:focus { outline: 3px solid var(--graphite); outline-offset: 2px; }
	.jera__ask .jera__status { min-height: 1.5em; margin-top: 10px; font-family: var(--font-display); font-size: var(--fs-small); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--red); }
	.jera__cards { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); } @media (max-width: 767px) { .jera__cards { grid-template-columns: 1fr 1fr; } }
	.jera__card { display: flex; flex-direction: column; gap: 6px; padding: var(--sp-4); background: var(--graphite); color: #fff; border-top: 4px solid #fff; outline: 1px solid var(--graphite); animation: jera-in 360ms var(--ease, ease) both; }
	.jera__card:nth-child(2) { animation-delay: 60ms; } .jera__card:nth-child(3) { animation-delay: 120ms; } .jera__card:nth-child(4) { animation-delay: 180ms; }
	@keyframes jera-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
	.jera__card span { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); }
	.jera__card b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2rem, 3.4vw, 3rem); line-height: .9; letter-spacing: var(--ls-tight); }
	.jera__card small { font-family: var(--font-serif); font-size: .9375rem; line-height: 1.35; color: rgba(255,255,255,.85); }
	.jera__card.is-champ { border-top-color: var(--red); } .jera__card.is-champ small { color: #fff; font-weight: 600; }
	.jera__card.is-empty { background: var(--silver-3); color: var(--graphite); border-top-color: var(--silver); outline-color: var(--silver-line); } .jera__card.is-empty span, .jera__card.is-empty small { color: var(--gray-meta); } .jera__card.is-empty b { font-size: 1.5rem; }
	a.jera__card:hover { background: #15181c; color: #fff; }
	.jera__next { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); margin-top: var(--sp-4); } .jera__next p { flex: 1 1 22rem; margin: 0; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.5; color: var(--gray-body); } .jera__next strong { color: var(--graphite); }
	.jera .fbtn:hover, .jfaq .fbtn:hover { background: var(--graphite); color: #fff; }

	/* What you get: bento */
	.jtour { background: var(--silver-3); padding-block: var(--sp-8); }
	.jbento { display: grid; gap: 10px; grid-template-columns: repeat(12, minmax(0, 1fr)); }
	.jb { position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; gap: var(--sp-4); padding: clamp(var(--sp-4), 2.6vw, var(--sp-6)); background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); grid-column: span 12; }
	.jb h3 { margin: 12px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.75rem, 2.8vw, 2.5rem); line-height: .95; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.jb p { margin: 10px 0 0; max-width: 36rem; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.5; color: var(--gray-body); }
	.jb .jb__foot { margin: auto 0 0; padding-top: var(--sp-3); font-family: var(--font-display); font-size: var(--fs-micro); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.jb--dark, .jb--ranks { background: linear-gradient(160deg, #15181c, var(--graphite)); border-color: var(--graphite); border-top-color: var(--red); color: #fff; } .jb--dark h3, .jb--ranks h3 { color: #fff; } .jb--dark p, .jb--ranks p { color: rgba(255,255,255,.86); } .jb--ranks .jb__foot { color: rgba(255,255,255,.65); }
	.jb--sm { gap: 0; } .jb--sm h3 { font-size: 1.5rem; margin-top: var(--sp-3); } .jb--sm p { font-size: 1rem; }
	.jb__ico { display: grid; place-items: center; width: 44px; height: 44px; background: var(--graphite); color: #fff; font-style: normal; } .jb__ico svg { width: 24px; height: 24px; } .jb--sm:hover { border-top-color: var(--red); } .jb--sm:hover .jb__ico { background: var(--red); }
	@media (min-width: 700px) { .jb--sm { grid-column: span 6; } }
	@media (min-width: 1100px) { .jb--card { grid-column: span 5; } .jb--alerts { grid-column: span 7; } .jb--wall { grid-column: span 7; } .jb--forum { grid-column: span 5; } .jb--sm { grid-column: span 4; } .jb--ranks { grid-column: span 12; flex-direction: row; flex-wrap: wrap; align-items: center; } .jb--ranks .jb__copy { flex: 1 1 22rem; } .jb--ranks .jranks { flex: 2 1 30rem; } .jb--ranks .jb__foot { flex-basis: 100%; margin-top: 0; } .jb--alerts { flex-direction: row; flex-wrap: wrap; align-items: center; } .jb--alerts .jb__copy { flex: 1 1 16rem; } .jb--alerts .jmail { flex: 1 1 17rem; } .jb--alerts .jb__foot { flex-basis: 100%; margin-top: 0; padding-top: 0; } }

	/* specimen letterman card */
	.jcard { display: flex; align-items: center; gap: var(--sp-4); margin-top: auto; padding: var(--sp-4); background: rgba(0,0,0,.35); border-left: 4px solid var(--red); }
	.jcard__patch { position: relative; flex: none; width: 104px; height: 104px; background: var(--red); display: grid; place-items: center; box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 6px var(--red); }
	.jcard__c { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 6rem; line-height: 1; color: rgba(255,255,255,.22); } .jcard__num { position: absolute; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 3.25rem; line-height: 1; color: #fff; letter-spacing: -.02em; }
	.jcard__id { display: flex; flex-direction: column; gap: 4px; min-width: 0; } .jcard__id b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.75rem; line-height: 1; text-transform: uppercase; letter-spacing: var(--ls-tight); } .jcard__id span { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); }
	.jcard__bars { display: flex; gap: 4px; margin-top: 6px; } .jcard__bars i { width: 26px; height: 5px; background: #fff; } .jcard__bars i:last-child { background: rgba(255,255,255,.3); }

	/* the last final, as the email shows it */
	.jmail { border: 1px solid var(--silver-line); background: #fff; box-shadow: 0 18px 40px -22px rgba(0,0,0,.45); }
	.jmail__bar { display: flex; justify-content: space-between; padding: 8px 12px; border-bottom: 3px solid var(--red); font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); } .jmail__bar span:first-child { color: var(--red); font-weight: var(--fw-black); }
	.jmail__body { padding: var(--sp-4); background: linear-gradient(160deg, #15181c, var(--graphite)); color: #fff; }
	.jmail__chip { display: inline-block; padding: 3px 8px; background: var(--red); font-family: var(--font-display); font-size: 0.625rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; }
	.jmail__score { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); margin-top: 10px; } .jmail__score small { display: block; font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.8); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .jmail__score b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3.5rem, 6vw, 5rem); line-height: .86; letter-spacing: -.02em; } .jmail__score b.is-dim { color: rgba(255,255,255,.45); }
	.jmail__meta { display: block; margin-top: 10px; font-family: var(--font-display); font-size: 0.6875rem; letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); }

	/* name on the wall */
	.jb--wall { min-height: 340px; justify-content: flex-end; } .jb--wall.has-photo { background: #0e1012; border-color: #0e1012; border-top-color: var(--red); color: #fff; }
	.jb__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; } .jb--wall.has-photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,11,13,.35) 0%, rgba(10,11,13,.92) 72%); }
	.jb--wall.has-photo h3 { color: #fff; } .jb--wall.has-photo p { color: rgba(255,255,255,.9); }
	.jwall__credit { display: inline-block; margin-top: var(--sp-3); padding: 8px 12px; background: #fff; color: var(--graphite); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-ui); text-transform: uppercase; } .jwall__credit b { color: var(--red); font-weight: var(--fw-black); }

	.jboards { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; } .jboards li { padding: 10px 12px; background: var(--silver-3); border-left: 4px solid var(--graphite); } .jboards b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.125rem; line-height: 1; text-transform: uppercase; letter-spacing: var(--ls-tight); color: var(--graphite); } .jboards span { display: block; margin-top: 3px; font-family: var(--font-serif); font-size: .9375rem; color: var(--gray-body); }

	.jranks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; align-items: end; }
	.jranks li { display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; padding: 12px; background: rgba(255,255,255,.08); border-top: 4px solid rgba(255,255,255,.4); min-height: 76px; } .jranks li:nth-child(2) { min-height: 98px; } .jranks li:nth-child(3) { min-height: 120px; } .jranks li:nth-child(4) { min-height: 142px; } .jranks li.is-top { min-height: 164px; background: var(--red); border-top-color: #fff; }
	.jranks b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1rem, 1.5vw, 1.375rem); line-height: 1; text-transform: uppercase; letter-spacing: var(--ls-tight); } .jranks span { font-family: var(--font-display); font-size: 0.6875rem; letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); }
	@media (max-width: 599px) { .jranks { grid-template-columns: 1fr; } .jranks li, .jranks li:nth-child(n) { min-height: 0; flex-direction: row; justify-content: space-between; align-items: baseline; border-top: 0; border-left: 4px solid rgba(255,255,255,.4); } .jranks li.is-top { border-left-color: #fff; } }

	/* who, promises, questions, final */
	.jwho { background: linear-gradient(180deg, #181b1f, var(--graphite)); color: #fff; padding-block: var(--sp-8); } .jwho .archive-kicker { color: rgba(255,255,255,.7); } .jwho .jtour__title { color: #fff; }
	.jwho__inner { display: grid; gap: var(--sp-6); align-items: center; } @media (min-width: 1000px) { .jwho__inner { grid-template-columns: 1fr 1fr; gap: var(--sp-8); } }
	.jwho__lede { margin: var(--sp-3) 0 0; max-width: 34rem; font-family: var(--font-serif); font-size: 1.125rem; line-height: 1.5; color: rgba(255,255,255,.88); }
	.jwho__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; } .jwho__list li { padding: 12px 18px; background: #fff; color: var(--graphite); font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.125rem, 1.8vw, 1.5rem); line-height: 1; text-transform: uppercase; letter-spacing: var(--ls-tight); } .jwho__list li.is-quiet { background: transparent; color: #fff; outline: 1px dashed rgba(255,255,255,.4); outline-offset: -1px; }

	.jprom { background: #fff; padding-block: var(--sp-8); border-bottom: 1px solid var(--silver-line); }
	.jprom__grid { display: grid; gap: var(--sp-6); align-items: center; } @media (min-width: 900px) { .jprom__grid { grid-template-columns: minmax(260px, .7fr) 1.3fr; gap: var(--sp-8); } }
	.jprom__num { padding: var(--sp-5); border-left: 8px solid var(--red); } .jprom__num span { display: block; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); } .jprom__num b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(5rem, 12vw, 10rem); line-height: .82; letter-spacing: -.03em; color: var(--graphite); } .jprom__num small { display: block; margin-top: 10px; max-width: 20rem; font-family: var(--font-serif); font-size: 1rem; line-height: 1.45; color: var(--gray-body); }
	.jprom__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; } .jprom__list li { padding: 14px 0; border-bottom: 1px solid var(--silver-line); font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.5; color: var(--gray-body); } .jprom__list li:first-child { border-top: 4px solid var(--graphite); } .jprom__list b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.1875rem; text-transform: uppercase; letter-spacing: var(--ls-tight); color: var(--graphite); margin-right: 6px; }

	.jfaq { background: var(--silver-3); padding-block: var(--sp-8); } .jfaq__list { display: grid; gap: 6px; max-width: 62rem; }
	.jfaq details { background: #fff; border: 1px solid var(--silver-line); border-left: 4px solid var(--graphite); } .jfaq details[open] { border-left-color: var(--red); }
	.jfaq summary { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-3); padding: 16px var(--sp-4); cursor: pointer; list-style: none; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.125rem, 1.8vw, 1.5rem); line-height: 1.05; text-transform: uppercase; letter-spacing: var(--ls-tight); color: var(--graphite); } .jfaq summary::-webkit-details-marker { display: none; }
	.jfaq summary::after { content: "+"; flex: none; font-size: 1.75rem; line-height: 1; color: var(--red); } .jfaq details[open] summary::after { content: "\2212"; } .jfaq summary:focus-visible { outline: 3px solid var(--graphite); outline-offset: -3px; }
	.jfaq details p { margin: 0; padding: 0 var(--sp-4) var(--sp-4); max-width: 52rem; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.55; color: var(--gray-body); }

	.jfinal { background: linear-gradient(105deg, var(--red-deep), var(--red)); color: #fff; padding-block: var(--sp-8); }
	.jfinal__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-5); }
	.jfinal__title { margin: 0; max-width: 18ch; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.5rem, 6vw, 5rem); line-height: .88; letter-spacing: var(--ls-tight); text-transform: uppercase; } .jfinal__title span { display: block; }
	.jfinal .fbtn { background: #fff; color: var(--red); padding: 18px 28px; font-size: 1.1875rem; } .jfinal .fbtn:hover { background: var(--graphite); color: #fff; }
	@media (prefers-reduced-motion: reduce) { .jera__card { animation: none; } html:has(.jera) { scroll-behavior: auto; } }
}

/* 4.28.0 · Sign in: split screen. Newest archive photo and what is waiting inside on the left, the form on a white panel with a
   slanted edge on the right. Also fixes the old bug behind the mismatched password box: password inputs were never in the form styles. */
@layer components {
	.ctb-field input[type=password], .ctb-field input[type=number], .ctb-field input[type=tel] { width: 100%; padding: 10px 12px; border: 1px solid var(--paper-line); font: inherit; font-size: 1rem; border-radius: 0; }

	.signin { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); min-height: min(860px, calc(100vh - 120px)); background: #15181c; color: #fff; border-bottom: var(--nav-rule, 3px) solid var(--red); isolation: isolate; }
	@media (min-width: 1000px) { .signin { grid-template-columns: minmax(0, 1.15fr) minmax(460px, .85fr); } }
	.signin__side { position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; gap: var(--sp-6); padding: clamp(var(--sp-6), 6vw, var(--sp-9, 96px)) clamp(var(--gutter, 24px), 5vw, 88px); background: linear-gradient(160deg, #15181c, var(--graphite)); }
	.signin--photo .signin__side { background-image: linear-gradient(100deg, rgba(14,16,19,.94) 0%, rgba(14,16,19,.78) 55%, rgba(14,16,19,.5) 100%), var(--signin-bg); background-size: cover; background-position: center 28%; } .signin--photo .rhero__ghost { display: none; }
	.signin__side .rhero__ghost { z-index: -1; opacity: .07; }
	.signin__title { margin: 16px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3rem, 7vw, 6.75rem); line-height: .86; letter-spacing: var(--ls-tight); text-transform: uppercase; text-shadow: 0 6px 40px rgba(0,0,0,.5); }
	.signin__title span { display: inline-block; margin-top: .1em; padding: .06em .12em 0; background: #fff; color: var(--red); text-shadow: none; line-height: .9; }
	.signin__intro { margin: var(--sp-4) 0 0; max-width: 32rem; font-family: var(--font-serif); font-size: clamp(1.0625rem, 1.5vw, 1.3125rem); line-height: 1.5; color: rgba(255,255,255,.92); }
	.signin__k { display: block; margin-bottom: 10px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); }
	.signin__inside ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); max-width: 56rem; }
	.signin__inside li { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; background: rgba(0,0,0,.42); border-top: 3px solid #fff; }
	.signin__inside li span { font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); }
	.signin__inside li b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; line-height: 1.02; letter-spacing: var(--ls-tight); text-transform: uppercase; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.signin__inside li small { font-family: var(--font-display); font-size: 0.6875rem; letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); }

	.signin__panel { position: relative; display: flex; align-items: center; background: #fff; color: var(--graphite); padding: clamp(var(--sp-6), 5vw, var(--sp-8)) clamp(var(--gutter, 24px), 4vw, 72px); }
	@media (min-width: 1000px) { .signin__panel { margin-left: -56px; padding-left: calc(56px + clamp(24px, 4vw, 72px)); clip-path: polygon(56px 0, 100% 0, 100% 100%, 0 100%); } .signin__panel::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(var(--red), var(--red)); clip-path: polygon(56px 0, 64px 0, 8px 100%, 0 100%); } }
	.signin__box { position: relative; z-index: 1; width: min(100%, 27rem); margin-inline: auto; }
	.signin__h { margin: 6px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3rem, 5vw, 4.5rem); line-height: .86; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.signin__back { margin: var(--sp-3) 0 0; padding: 10px 14px; background: var(--silver-3); border-left: 4px solid var(--graphite); font-family: var(--font-serif); font-size: 1rem; line-height: 1.45; color: var(--gray-body); } .signin__back strong { color: var(--graphite); }
	.signin__err { margin: var(--sp-3) 0 0; padding: 12px 14px; background: #fff4f4; border-left: 4px solid var(--red); } .signin__err p { margin: 0; font-family: var(--font-serif); font-size: 1rem; line-height: 1.45; color: #7a1017; }
	.signin__form { display: grid; gap: var(--sp-4); margin-top: var(--sp-5); }
	.signin__f { display: grid; gap: 7px; } .signin__f > span:first-child { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--graphite); }
	.signin__f input { width: 100%; height: 58px; padding: 0 16px; border: 2px solid var(--silver-line); border-radius: 0; background: var(--silver-3); font-family: var(--font-serif); font-size: 1.125rem; color: var(--graphite); transition: border-color 150ms, background 150ms; -webkit-appearance: none; appearance: none; }
	.signin__f input::placeholder { color: #9aa0a8; } .signin__f input:hover { border-color: var(--graphite); } .signin__f input:focus { outline: 0; border-color: var(--graphite); background: #fff; box-shadow: inset 0 -4px 0 var(--red); }
	.signin__pw { position: relative; display: block; } .signin__pw input { padding-right: 84px; }
	.signin__show { position: absolute; right: 6px; top: 6px; bottom: 6px; padding: 0 14px; border: 0; background: var(--graphite); color: #fff; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; cursor: pointer; } .signin__show:hover, .signin__show[aria-pressed=true] { background: var(--red); } .signin__show:focus-visible { outline: 3px solid var(--graphite); outline-offset: 2px; }
	.signin__btn { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; height: 62px; border: 0; background: var(--red-btn); color: #fff; font-family: var(--font-display); font-size: 1.25rem; font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; cursor: pointer; transition: background 150ms; } .signin__btn .icon { width: 20px; height: 20px; transition: transform 200ms var(--ease, ease); }
	.signin__btn:hover { background: var(--graphite); } .signin__btn:hover .icon { transform: translateX(4px); } .signin__btn:focus-visible { outline: 3px solid var(--graphite); outline-offset: 3px; }
	.signin__row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px var(--sp-4); margin: 0; font-family: var(--font-display); font-size: var(--fs-small); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); } .signin__row a { color: var(--red); font-weight: var(--fw-bold); text-decoration: underline; text-underline-offset: 3px; } .signin__row a:hover { color: var(--graphite); }
	.signin__new { margin-top: var(--sp-6); padding-top: var(--sp-5); border-top: 4px solid var(--graphite); } .signin__new b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: 1; text-transform: uppercase; letter-spacing: var(--ls-tight); color: var(--graphite); } .signin__new p { margin: 8px 0 0; font-family: var(--font-serif); font-size: 1rem; line-height: 1.5; color: var(--gray-body); }
	.signin__join { display: inline-flex; align-items: center; gap: 10px; margin-top: var(--sp-3); padding: 13px 18px; border: 2px solid var(--graphite); color: var(--graphite); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; } .signin__join .icon { width: 16px; height: 16px; } .signin__join:hover { background: var(--graphite); color: #fff; }
	@media (max-width: 999px) { .signin { min-height: 0; } .signin__side { padding-block: var(--sp-6); gap: var(--sp-4); } .signin__intro { display: none; } .signin__inside { order: 3; } .signin__panel { order: 2; } .signin { grid-template-rows: auto auto; } .signin__side { display: contents; } .signin__lead, .signin__inside { padding-inline: var(--gutter, 24px); } .signin__lead { order: 1; padding-block: var(--sp-6) var(--sp-5); background: linear-gradient(160deg, #15181c, var(--graphite)); } .signin--photo .signin__lead { background-image: linear-gradient(180deg, rgba(14,16,19,.88), rgba(14,16,19,.8)), var(--signin-bg); background-size: cover; background-position: center 28%; } .signin__inside { padding-block: var(--sp-5) var(--sp-6); background: #15181c; } .signin__side .rhero__ghost { display: none; } .signin__panel { border-top: 4px solid var(--red); } }
	@media (prefers-reduced-motion: reduce) { .signin__btn .icon, .signin__f input { transition: none; } }
}

/* 4.29.0 · Championship pages. Cinematic hero with an outlined year and a scoreboard, title-to-title navigation, the season in
   numbers, the road to the title as a game-by-game run (postseason and title game marked), the team, photos, were-you-there, every title. */
@layer components {
	.chx-tag { display: inline-block; padding: 5px 16px 5px 10px; background: var(--red); color: #fff; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%); }
	.chx-tag--line { background: transparent; clip-path: none; padding: 4px 10px; outline: 1px solid rgba(255,255,255,.5); outline-offset: -1px; }

	.chx-hero { position: relative; overflow: hidden; isolation: isolate; min-height: min(88vh, 900px); display: flex; align-items: flex-end; color: #fff; background: linear-gradient(160deg, #101215, var(--graphite)); border-bottom: 6px solid var(--red); }
	.chx-hero__img { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; filter: grayscale(.35) contrast(1.05); }
	.chx-hero.has-image::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(10,11,13,.55) 0%, rgba(10,11,13,.35) 30%, rgba(10,11,13,.9) 78%, rgba(10,11,13,.97) 100%), linear-gradient(90deg, rgba(10,11,13,.7), rgba(10,11,13,0) 65%); }
	.chx-hero .rhero__ghost { z-index: -2; opacity: .06; }
	.chx-hero__ghost { position: absolute; z-index: -1; right: -1.5vw; top: 4%; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(9rem, 30vw, 28rem); line-height: .78; letter-spacing: -.03em; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.2); pointer-events: none; user-select: none; }
	@supports not (-webkit-text-stroke: 1px #fff) { .chx-hero__ghost { color: rgba(255,255,255,.08); } }
	.chx-hero__inner { display: flex; flex-direction: column; align-items: flex-start; padding-block: var(--sp-8) var(--sp-7); }
	.chx-hero__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--sp-4); }
	.chx-hero__title { margin: 14px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3rem, 8.5vw, 8rem); line-height: .84; letter-spacing: var(--ls-tight); text-transform: uppercase; text-shadow: 0 8px 50px rgba(0,0,0,.6); }
	.chx-hero__year { display: block; width: fit-content; margin-bottom: .1em; padding: .04em .14em 0; background: #fff; color: var(--red); text-shadow: none; line-height: .9; }
	.chx-hero__over { margin: var(--sp-3) 0 0; font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 1.5rem; letter-spacing: var(--ls-ui); text-transform: uppercase; }

	.chx-score { display: flex; flex-wrap: wrap; align-items: stretch; gap: 6px; margin-top: var(--sp-5); }
	.chx-score__side { display: flex; flex-direction: column; justify-content: space-between; min-width: 170px; padding: 12px 18px 8px; background: rgba(0,0,0,.55); border-top: 4px solid rgba(255,255,255,.35); }
	.chx-score__side span { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); }
	.chx-score__side b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(4.5rem, 9vw, 8rem); line-height: .82; letter-spacing: -.03em; color: rgba(255,255,255,.55); }
	.chx-score__side.is-won { border-top-color: var(--red); } .chx-score__side.is-won span, .chx-score__side.is-won b { color: #fff; }
	.chx-line { align-self: flex-end; border-collapse: collapse; background: rgba(0,0,0,.55); font-family: var(--font-display); } .chx-line th { padding: 6px 10px; font-size: 0.6875rem; font-weight: var(--fw-bold); letter-spacing: var(--ls-label); color: rgba(255,255,255,.6); border-bottom: 1px solid rgba(255,255,255,.18); } .chx-line td { padding: 7px 10px; text-align: center; font-weight: var(--fw-bold); font-size: 1.0625rem; color: #fff; } .chx-line td:first-child { text-align: left; font-size: var(--fs-micro); letter-spacing: var(--ls-label); text-transform: uppercase; padding-right: 16px; } .chx-line b { font-weight: var(--fw-black); }

	.chx-facts { display: flex; flex-wrap: wrap; gap: var(--sp-4) var(--sp-7); margin-top: var(--sp-6); padding-top: var(--sp-4); border-top: 1px solid rgba(255,255,255,.2); width: 100%; }
	.chx-facts > * { display: flex; flex-direction: column; gap: 4px; color: #fff; } .chx-facts b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; } .chx-facts span { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); }
	.chx-facts a:hover b { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 3px; text-decoration-color: var(--red); }

	.chx-nav { background: #fff; border-bottom: 1px solid var(--silver-line); } .chx-nav .container { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
	.chx-nav__a { display: flex; align-items: center; gap: 14px; padding: 16px 0; color: var(--graphite); } .chx-nav__a--next { justify-content: flex-end; text-align: right; padding-left: var(--sp-4); border-left: 1px solid var(--silver-line); }
	.chx-nav__a .icon { width: 22px; height: 22px; color: var(--red); flex: none; } .chx-nav__a span { display: flex; flex-direction: column; gap: 3px; min-width: 0; } .chx-nav__a small { font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); } .chx-nav__a b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1rem, 1.7vw, 1.375rem); line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; }
	a.chx-nav__a:hover b { color: var(--red); } .chx-nav__a.is-empty b { color: var(--gray-meta); }

	.chx-nums { background: #fff; border-bottom: 4px solid var(--graphite); padding-block: var(--sp-6); }
	.chx-nums__k { display: block; margin-bottom: var(--sp-4); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.chx-nums__grid { display: grid; gap: var(--sp-4) var(--sp-5); grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } .chx-nums__grid div { padding-left: var(--sp-4); border-left: 4px solid var(--graphite); } .chx-nums__grid div:first-child { border-left-color: var(--red); }
	.chx-nums__grid b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.75rem, 5vw, 4.5rem); line-height: .85; letter-spacing: -.02em; color: var(--graphite); } .chx-nums__grid span { display: block; margin-top: 8px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }

	.chx-story .prose--story > h2:first-child, .chx-story .prose--story > h1:first-child { margin-top: 0; } .chx-story .prose--story > p:first-of-type { font-size: 1.3125rem; line-height: 1.5; color: var(--graphite); }
	@media (min-width: 1000px) { .chx-side { position: sticky; top: 110px; align-self: start; } }

	.chx-head { margin-bottom: var(--sp-5); padding-bottom: 12px; border-bottom: 4px solid var(--graphite); } .chx-head h2 { margin: 8px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.25rem, 5vw, 4.25rem); line-height: .9; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); } .chx-head p { margin: 10px 0 0; font-family: var(--font-serif); font-size: 1.0625rem; color: var(--gray-body); }
	.chx-head--light { border-bottom-color: rgba(255,255,255,.25); } .chx-head--light h2 { color: #fff; } .chx-head--light p { color: rgba(255,255,255,.8); }

	.chx-road { background: linear-gradient(180deg, #15181c, var(--graphite)); color: #fff; padding-block: var(--sp-8); }
	.chx-run { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
	.chx-g a { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; height: 100%; padding: 12px 14px; background: rgba(255,255,255,.06); border-left: 4px solid rgba(255,255,255,.35); color: #fff; } .chx-g a:hover { background: rgba(255,255,255,.12); }
	.chx-g__n { grid-column: 1 / -1; font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.6); }
	.chx-g__opp { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.1875rem; line-height: 1.02; letter-spacing: var(--ls-tight); text-transform: uppercase; } .chx-g__opp em { font-style: normal; font-size: .7em; color: rgba(255,255,255,.55); }
	.chx-g__score { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.1875rem; line-height: 1.02; white-space: nowrap; text-align: right; } .chx-g__score b { color: rgba(255,255,255,.6); margin-right: 2px; }
	.chx-g__date { grid-column: 1 / -1; font-family: var(--font-display); font-size: 0.6875rem; letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.55); }
	.chx-g.is-l a { border-left-color: rgba(255,255,255,.15); background: rgba(0,0,0,.25); } .chx-g.is-l .chx-g__opp, .chx-g.is-l .chx-g__score { color: rgba(255,255,255,.6); }
	.chx-g.is-post a { background: #fff; color: var(--graphite); border-left-color: var(--graphite); } .chx-g.is-post .chx-g__n { color: var(--red); } .chx-g.is-post .chx-g__opp em, .chx-g.is-post .chx-g__score b, .chx-g.is-post .chx-g__date { color: var(--gray-meta); } .chx-g.is-post a:hover { background: var(--silver-2); } .chx-g.is-post.is-l .chx-g__opp, .chx-g.is-post.is-l .chx-g__score { color: var(--gray-meta); }
	.chx-g.is-title { grid-column: 1 / -1; } .chx-g.is-title a { background: var(--red); color: #fff; border-left: 0; padding: var(--sp-4) var(--sp-5); grid-template-columns: 1fr auto; align-items: end; } .chx-g.is-title a:hover { background: var(--red-deep); }
	.chx-g.is-title .chx-g__n, .chx-g.is-title .chx-g__date, .chx-g.is-title .chx-g__opp em, .chx-g.is-title .chx-g__score b { color: rgba(255,255,255,.85); } .chx-g.is-title .chx-g__opp, .chx-g.is-title .chx-g__score { font-size: clamp(1.75rem, 3.6vw, 3rem); line-height: .92; }

	.chx-staff { display: flex; flex-wrap: wrap; gap: 6px var(--sp-6); margin: 0 0 var(--sp-4); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); } .chx-staff a { color: var(--graphite); font-weight: var(--fw-black); text-decoration: underline; text-underline-offset: 3px; } .chx-staff a:hover { color: var(--red); }
	.chx-roster { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
	.chx-roster li { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 12px; padding: 8px 14px 8px 8px; background: #fff; border: 1px solid var(--silver-line); }
	.chx-roster b { display: grid; place-items: center; height: 38px; background: var(--graphite); color: #fff; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; letter-spacing: -.01em; } .chx-roster li.is-captain b { background: var(--red); }
	.chx-roster span { font-family: var(--font-display); font-weight: var(--fw-extra, 800); font-size: 1.0625rem; line-height: 1.05; color: var(--graphite); } .chx-roster em { font-style: normal; margin-left: 4px; font-size: 0.625rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); } .chx-roster small { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.chx-note { margin: var(--sp-4) 0 0; font-family: var(--font-serif); font-size: 1rem; color: var(--gray-body); } .chx-note a { color: var(--red); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
	.chx-missing { padding: var(--sp-5); background: #fff; border: 1px solid var(--silver-line); border-left: 4px solid var(--red); } .chx-missing b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: 1; text-transform: uppercase; letter-spacing: var(--ls-tight); color: var(--graphite); } .chx-missing p { margin: 10px 0 var(--sp-4); max-width: 40rem; font-family: var(--font-serif); line-height: 1.5; color: var(--gray-body); } .chx-missing .fbtn:hover { background: var(--graphite); color: #fff; }

	.chx-photos .hphotos__title { font-size: clamp(2.25rem, 5vw, 4.25rem); } .chx-photogrid { position: relative; z-index: 2; }

	.chx-there { background: #fff; padding-block: var(--sp-8); border-top: 1px solid var(--silver-line); border-bottom: 1px solid var(--silver-line); }
	.chx-there__inner { display: grid; gap: var(--sp-6); align-items: center; } @media (min-width: 1000px) { .chx-there__inner { grid-template-columns: 1.3fr .7fr; gap: var(--sp-8); } }
	.chx-there__title { margin: 14px 0 0; max-width: 18ch; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.25rem, 5vw, 4.25rem); line-height: .9; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.chx-there p { margin: var(--sp-3) 0 0; max-width: 38rem; font-family: var(--font-serif); font-size: 1.125rem; line-height: 1.5; color: var(--gray-body); }
	.chx-there__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-4); margin-top: var(--sp-5); } .chx-there .fbtn:hover { background: var(--graphite); color: #fff; } .chx-there .chero__link { color: var(--graphite); } .chx-there .chero__link:hover { color: var(--red); }
	.chx-classes { padding: var(--sp-5); background: var(--graphite); color: #fff; border-top: 4px solid var(--red); } .chx-classes > span { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); }
	.chx-classes ul { list-style: none; margin: 12px 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .chx-classes a { display: grid; place-items: center; padding: 14px 0 10px; background: rgba(255,255,255,.08); color: #fff; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1; letter-spacing: -.01em; } .chx-classes a:hover { background: #fff; color: var(--red); } .chx-classes small { display: block; font-family: var(--font-serif); font-size: .9375rem; line-height: 1.45; color: rgba(255,255,255,.8); }

	.chx-titles { display: grid; gap: 6px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
	.chx-title { display: flex; flex-direction: column; gap: 4px; padding: var(--sp-4); background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); color: var(--graphite); } a.chx-title:hover { border-top-color: var(--red); } a.chx-title:hover b { color: var(--red); }
	.chx-title b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2.75rem; line-height: .85; letter-spacing: -.02em; } .chx-title span { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.0625rem; line-height: 1.05; text-transform: uppercase; letter-spacing: var(--ls-tight); } .chx-title small { font-family: var(--font-display); font-size: var(--fs-micro); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.chx-title.is-here { background: var(--graphite); border-color: var(--graphite); border-top-color: var(--red); color: #fff; } .chx-title.is-here small { color: rgba(255,255,255,.7); }
	@media (max-width: 767px) { .chx-hero { min-height: 0; } .chx-hero__inner { padding-block: var(--sp-6) var(--sp-5); } .chx-score__side { min-width: 0; flex: 1 1 40%; } .chx-line { width: 100%; } .chx-nav .container { grid-template-columns: 1fr; } .chx-nav__a--next { border-left: 0; border-top: 1px solid var(--silver-line); padding-left: 0; } .chx-facts { gap: var(--sp-3) var(--sp-5); } }
}
@layer components { .chx-photos .crecent .hphoto--lead { grid-column: auto; grid-row: auto; } .chx-photos .crecent--n1 { grid-auto-rows: clamp(300px, 36vw, 520px); } }

/* 4.30.0 · Championships index, "the trophy room": photo hero with a hanging banner for every state title, live numbers,
   a century timeline with a pin for every championship, state titles as alternating features, the rest grouped by level. */
@layer components {
	.trophy { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: linear-gradient(160deg, #101215, var(--graphite)); border-bottom: 6px solid var(--red); }
	.trophy__img { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: center 28%; filter: grayscale(1) contrast(1.08) brightness(.8); }
	.trophy.has-image::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(10,11,13,.82) 0%, rgba(10,11,13,.72) 45%, rgba(10,11,13,.95) 100%); }
	.trophy .rhero__ghost { z-index: -2; opacity: .06; }
	.trophy__inner { padding-block: var(--sp-7) var(--sp-7); }
	.trophy__lead { margin-top: var(--sp-5); }
	.trophy__title { margin: 14px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3.5rem, 11vw, 10.5rem); line-height: .82; letter-spacing: var(--ls-tight); text-transform: uppercase; text-shadow: 0 8px 50px rgba(0,0,0,.6); }
	.trophy__intro { margin: var(--sp-4) 0 0; max-width: 42rem; font-family: var(--font-serif); font-size: clamp(1.125rem, 1.7vw, 1.4375rem); line-height: 1.45; color: rgba(255,255,255,.92); }

	/* gym banners: hung from a rail, swallowtail cut at the bottom */
	.banners { list-style: none; margin: var(--sp-7) 0 0; padding: 14px 0 0; display: flex; flex-wrap: wrap; gap: 14px; border-top: 6px solid #fff; position: relative; }
	.banners::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: rgba(0,0,0,.35); }
	.banner { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; width: clamp(150px, 15vw, 200px); padding: 18px 12px 46px; background: linear-gradient(180deg, var(--red) 0%, var(--red-deep) 100%); color: #fff; text-align: center; clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - 30px), 0 100%); transform-origin: top center; transition: transform 350ms var(--ease, ease), filter 200ms; box-shadow: inset 0 0 0 3px rgba(255,255,255,.9), inset 0 0 0 5px var(--red-deep); }
	.banner::before { content: ""; position: absolute; top: -14px; left: 50%; width: 2px; height: 14px; background: #fff; translate: -50% 0; }
	.banner:hover, .banner:focus-visible { transform: rotate(-2deg) translateY(2px); filter: brightness(1.08); color: #fff; }
	.banner__k { font-family: var(--font-display); font-size: 0.625rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.85); }
	.banner__year { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.75rem, 4.4vw, 3.75rem); line-height: .82; letter-spacing: -.02em; }
	.banner__label { font-family: var(--font-display); font-weight: var(--fw-black); font-size: .9375rem; line-height: 1.02; letter-spacing: .02em; text-transform: uppercase; }
	.banner__score { margin-top: 2px; padding: 2px 8px; background: #fff; color: var(--red); font-family: var(--font-display); font-weight: var(--fw-black); font-size: .9375rem; letter-spacing: .02em; }

	.trophy__strip { background: rgba(0,0,0,.5); border-top: 1px solid rgba(255,255,255,.12); } .trophy__strip .container { display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-7); padding-block: var(--sp-4); } .trophy__strip .container > div { display: flex; flex-direction: column; gap: 2px; }
	.trophy__strip b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1; letter-spacing: var(--ls-tight); } .trophy__strip span { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.72); }

	/* timeline */
	.tline { background: #fff; padding-block: var(--sp-5) var(--sp-4); border-bottom: 1px solid var(--silver-line); }
	.tline__k { display: block; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.tline__track { position: relative; height: 92px; margin: 0 14px; border-bottom: 4px solid var(--graphite); }
	.tline__dec { position: absolute; bottom: 0; translate: -50% 0; padding-bottom: 6px; font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-bold); letter-spacing: var(--ls-label); color: var(--silver-line); } .tline__dec::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 1px; height: 6px; background: var(--silver-line); }
	.tline__pin { position: absolute; bottom: 0; translate: -50% 0; width: 6px; height: 26px; background: var(--graphite); } .tline__pin:hover, .tline__pin:focus-visible { background: var(--red); outline: 0; height: 34px; }
	.tline__pin--state { width: 8px; height: 56px; background: var(--red); z-index: 1; } .tline__pin--state:hover, .tline__pin--state:focus-visible { height: 64px; background: var(--red-deep); }
	.tline__pin i { position: absolute; bottom: calc(100% + 4px); left: 50%; translate: -50% 0; font-style: normal; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.125rem; line-height: 1; color: var(--graphite); white-space: nowrap; }
	.tline__ends { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-3); margin-top: 8px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.tline__legend { display: inline-flex; align-items: center; gap: 6px; } .tline__legend i { display: inline-block; width: 6px; height: 14px; background: var(--graphite); margin-left: 10px; } .tline__legend i.is-state { background: var(--red); margin-left: 0; }
	@media (max-width: 767px) { .tline__legend { display: none; } .tline__dec:nth-of-type(even) { display: none; } }

	/* state title features */
	.trophy-body .chx-head--later { margin-top: var(--sp-8); }
	.sfeat-list { display: grid; gap: var(--sp-5); }
	.sfeat { display: grid; background: #fff; border: 1px solid var(--silver-line); border-top: 6px solid var(--red); overflow: hidden; }
	@media (min-width: 1000px) { .sfeat { grid-template-columns: 1.15fr 1fr; min-height: 480px; } .sfeat--flip .sfeat__media { order: 2; } }
	.sfeat__media { position: relative; display: block; overflow: hidden; background: #0e1012; min-height: 300px; isolation: isolate; }
	.sfeat__media img:not(.sfeat__mark) { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; filter: grayscale(1) contrast(1.06); transition: transform 700ms var(--ease, ease), filter 400ms var(--ease, ease); }
	.sfeat:hover .sfeat__media img:not(.sfeat__mark) { transform: scale(1.03); filter: grayscale(.2) contrast(1.06); }
	.sfeat__mark { position: absolute; inset: 0; margin: auto; width: 55%; opacity: .1; }
	.sfeat__media .hphoto__vf { opacity: .85; inset: 14px; --l: 26px; } .sfeat:hover .sfeat__media .hphoto__vf { --c: var(--red); inset: 10px; opacity: 1; }
	.sfeat__ghost { position: absolute; z-index: 2; left: 18px; bottom: 6px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(4.5rem, 11vw, 9.5rem); line-height: .8; letter-spacing: -.03em; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.75); pointer-events: none; }
	@supports not (-webkit-text-stroke: 1px #fff) { .sfeat__ghost { color: rgba(255,255,255,.5); } }
	.sfeat__body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--sp-3); padding: clamp(var(--sp-5), 4vw, var(--sp-8)); }
	.sfeat__k { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.sfeat__title { margin: 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2rem, 3.6vw, 3.25rem); line-height: .9; letter-spacing: var(--ls-tight); text-transform: uppercase; } .sfeat__title a { color: var(--graphite); } .sfeat__title a:hover { color: var(--red); }
	.sfeat__year { display: block; font-size: 1.7em; line-height: .82; color: var(--red); letter-spacing: -.02em; }
	.sfeat__score { display: flex; gap: 6px; } .sfeat__score div { display: flex; flex-direction: column; min-width: 120px; padding: 10px 14px 6px; background: var(--silver-3); border-top: 4px solid var(--silver); } .sfeat__score div.is-won { background: var(--graphite); border-top-color: var(--red); color: #fff; }
	.sfeat__score span { font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); } .sfeat__score .is-won span { color: rgba(255,255,255,.8); } .sfeat__score b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.75rem, 4.5vw, 4rem); line-height: .85; letter-spacing: -.02em; color: var(--gray-meta); } .sfeat__score .is-won b { color: #fff; }
	.sfeat__over { margin: 0; font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 1.25rem; letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); }
	.sfeat__text { margin: 0; max-width: 34rem; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.55; color: var(--gray-body); }
	.sfeat__meta { margin: 0; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.sfeat__btn:hover { background: var(--graphite); color: #fff; }

	.trophy-missing { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-4); margin-top: var(--sp-8); padding: var(--sp-5) var(--sp-6); background: var(--graphite); color: #fff; border-left: 6px solid var(--red); } .trophy-missing b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.5rem, 2.6vw, 2.25rem); line-height: 1; text-transform: uppercase; letter-spacing: var(--ls-tight); } .trophy-missing p { margin: 8px 0 0; max-width: 46rem; font-family: var(--font-serif); font-size: 1rem; line-height: 1.5; color: rgba(255,255,255,.85); } .trophy-missing .fbtn:hover { background: #fff; color: var(--red); }
	@media (max-width: 767px) { .banners { gap: 10px; } .banner { width: calc(50% - 5px); } .trophy__inner { padding-block: var(--sp-6); } }
	@media (prefers-reduced-motion: reduce) { .banner, .sfeat__media img { transition: none; } .banner:hover { transform: none; } }
}
@layer components { .banners li { display: flex; } .banner { min-height: 190px; justify-content: flex-start; } }

/* 4.31.0 · Season (team) pages. Cinematic hero with the outlined year and a hanging banner for any title, season-to-season nav,
   the season drawn as a margin chart (one bar per game, up for wins, down for losses), numbers and superlatives, a closing call to that team.
   Also fixes the old bug where the previous/next season links were white text on the light hero and could not be seen. */
@layer components {
	.shero { position: relative; overflow: hidden; isolation: isolate; min-height: min(82vh, 820px); display: flex; align-items: flex-end; color: #fff; background: linear-gradient(160deg, #101215, var(--graphite)); border-bottom: 6px solid var(--red); }
	.shero.has-image::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(10,11,13,.6) 0%, rgba(10,11,13,.4) 30%, rgba(10,11,13,.9) 78%, rgba(10,11,13,.97) 100%), linear-gradient(90deg, rgba(10,11,13,.7), rgba(10,11,13,0) 65%); }
	.shero .rhero__ghost { z-index: -2; opacity: .06; }
	.shero__inner { display: grid; gap: var(--sp-5) var(--sp-7); align-items: end; padding-block: var(--sp-8) var(--sp-6); }
	@media (min-width: 1000px) { .shero__inner { grid-template-columns: minmax(0, 1fr) auto; } .shero__facts { grid-column: 1 / -1; } }
	.shero__title { margin: 14px 0 0; display: flex; flex-direction: column; align-items: flex-start; font-family: var(--font-display); font-weight: var(--fw-black); text-transform: uppercase; letter-spacing: var(--ls-tight); }
	.shero__year { padding: .03em .1em 0; background: #fff; color: var(--red); font-size: clamp(5.5rem, 17vw, 15rem); line-height: .8; letter-spacing: -.03em; }
	.shero__word { margin-top: .12em; font-size: clamp(2.25rem, 6vw, 5.5rem); line-height: .86; text-shadow: 0 8px 50px rgba(0,0,0,.6); }
	.shero__summary { margin: var(--sp-4) 0 0; max-width: 40rem; font-family: var(--font-serif); font-size: clamp(1.125rem, 1.8vw, 1.5rem); line-height: 1.4; color: rgba(255,255,255,.94); }
	.shero__banners { margin: 0; align-self: start; border-top-width: 6px; justify-content: flex-end; } .banner--minor { background: linear-gradient(180deg, #3a4048, var(--graphite)); box-shadow: inset 0 0 0 3px rgba(255,255,255,.85), inset 0 0 0 5px var(--graphite); } .banner--minor .banner__score { color: var(--graphite); }
	.shero__facts { margin-top: 0; }

	/* margin chart */
	.sline { background: linear-gradient(180deg, #15181c, var(--graphite)); color: #fff; padding-block: var(--sp-7) var(--sp-6); }
	.sline__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--sp-3) var(--sp-5); margin-bottom: var(--sp-5); }
	.sline__title { margin: 12px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2rem, 4.4vw, 3.75rem); line-height: .9; letter-spacing: var(--ls-tight); text-transform: uppercase; }
	.sline__legend { display: flex; flex-wrap: wrap; gap: 6px var(--sp-4); margin: 0; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); } .sline__legend span { display: inline-flex; align-items: center; gap: 6px; }
	.sline__legend i { display: inline-block; width: 12px; height: 12px; background: #fff; } .sline__legend i.is-l { background: rgba(255,255,255,.28); } .sline__legend i.is-p { background: transparent; outline: 2px solid #fff; outline-offset: -2px; } .sline__legend i.is-t { background: var(--red); }
	.sbars { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 12), minmax(0, 1fr)); gap: clamp(3px, .6vw, 8px); }
	.sbar a { position: relative; display: grid; grid-template-rows: calc(var(--bar, 170px) * var(--up, 1)) max(10px, calc(var(--bar, 170px) * var(--dn, .3))) auto; color: #fff; }
	.sbar__up, .sbar__dn { position: relative; display: block; } .sbar__up { border-bottom: 2px solid rgba(255,255,255,.5); } .sbar__up i { position: absolute; left: 0; right: 0; bottom: 0; background: #fff; transition: background 150ms; } .sbar__dn i { position: absolute; left: 0; right: 0; top: 0; background: rgba(255,255,255,.28); }
	.sbar.is-post .sbar__up i { background: transparent; box-shadow: inset 0 0 0 3px #fff; } .sbar.is-post .sbar__dn i { background: transparent; box-shadow: inset 0 0 0 3px rgba(255,255,255,.4); } .sbar.is-title .sbar__up i { background: var(--red); box-shadow: none; }
	.sbar.is-tie .sbar__up i { height: 4px !important; background: rgba(255,255,255,.6); }
	.sbar__n { display: block; padding-top: 8px; text-align: center; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(.75rem, 1.2vw, 1rem); color: rgba(255,255,255,.6); } .sbar.is-w .sbar__n { color: #fff; }
	.sbar__tip { position: absolute; z-index: 3; left: 50%; top: 8px; translate: -50% 0; display: none; flex-direction: column; gap: 2px; min-width: 150px; padding: 10px 12px; background: #fff; color: var(--graphite); border-top: 4px solid var(--red); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; text-align: left; white-space: nowrap; box-shadow: 0 14px 30px -12px rgba(0,0,0,.6); pointer-events: none; }
	.sbar__tip b { font-weight: var(--fw-black); font-size: 1.375rem; line-height: 1; letter-spacing: var(--ls-tight); } .sbar__tip em { font-style: normal; font-size: 0.6875rem; color: var(--red); letter-spacing: var(--ls-label); }
	.sbar a:hover .sbar__tip, .sbar a:focus-visible .sbar__tip { display: flex; } .sbar a:hover .sbar__up i, .sbar a:focus-visible .sbar__up i { background: var(--red); box-shadow: none; } .sbar a:hover .sbar__dn i { background: rgba(255,255,255,.55); } .sbar a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
	.sbar:nth-child(-n+2) .sbar__tip { left: 0; translate: 0 0; } .sbar:nth-last-child(-n+2) .sbar__tip { left: auto; right: 0; translate: 0 0; }
	@media (max-width: 767px) { .sbars { --bar: 120px; } }

	.snums { border-bottom: 1px solid var(--silver-line); }
	.ssuper { display: grid; gap: 6px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin-top: var(--sp-6); }
	.ssuper__c { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; background: var(--silver-3); border-left: 4px solid var(--graphite); color: var(--graphite); } a.ssuper__c:hover { border-left-color: var(--red); background: var(--silver-2); }
	.ssuper__c span { font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); } .ssuper__c b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.625rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; } .ssuper__c small { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }

	/* the old light-hero season nav was white on silver: make any that remain readable */
	.archive-hero:not(.has-image) .season-nav a { color: var(--graphite); } .archive-hero:not(.has-image) .season-nav a:hover { color: var(--red); }
	@media (max-width: 767px) { .shero { min-height: 0; } .shero__inner { padding-block: var(--sp-6) var(--sp-5); } .shero__banners { justify-content: flex-start; } }
}

/* 4.32.0 · Keepsake as a poster. One letter-size sheet, sized in container units so the same layout holds on a phone, a monitor and paper.
   Two finishes: Poster (graphite) and Paper (white). Red is the class year, the title seasons and thin rules only. */
@layer components {
	.kp-tools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-5); margin-bottom: var(--sp-4); } .kp-tools .fbtn { border: 0; cursor: pointer; } .kp-tools .fbtn:hover { background: var(--graphite); color: #fff; }
	.kp-tools__finish { display: inline-flex; align-items: center; gap: 4px; } .kp-tools__finish span { margin-right: 6px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.kp-tools__finish button { padding: 9px 14px; border: 1px solid var(--silver-line); background: #fff; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); cursor: pointer; border-radius: 0; } .kp-tools__finish button.is-on { background: var(--graphite); border-color: var(--graphite); color: #fff; }
	.kp-tools__tip { flex-basis: 100%; margin: 0; max-width: 46rem; font-family: var(--font-serif); font-size: .9375rem; color: var(--gray-body); }

	.kp-wrap { container-type: inline-size; width: min(100%, 900px); }
	.kp { --ink: #fff; --ink2: rgba(255,255,255,.72); --ink3: rgba(255,255,255,.5); --rule: rgba(255,255,255,.2); --panel: rgba(0,0,0,.34); --bg: linear-gradient(165deg, #0f1114 0%, #23272d 60%, #1a1d21 100%); --ghost: rgba(255,255,255,.09);
		position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; aspect-ratio: 8.5 / 11; min-height: 0; padding: 5cqw 5.4cqw 3.6cqw; background: var(--bg); color: var(--ink); box-shadow: 0 30px 60px -30px rgba(0,0,0,.55), 0 0 0 1px rgba(0,0,0,.2); font-family: var(--font-display); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.kp--paper { --ink: #1d2126; --ink2: #4a5058; --ink3: #8a9099; --rule: #c6cad0; --panel: #f3f4f6; --bg: #fff; --ghost: #e4e7eb; }
	.kp::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1.1cqw; background: var(--red); }
	.kp::after { content: ""; position: absolute; z-index: -1; right: -14cqw; top: -6cqw; width: 70cqw; height: 58cqw; background: linear-gradient(115deg, transparent 0 46%, rgba(206,26,39,.16) 46% 47.2%, transparent 47.2%); pointer-events: none; }
	.kp__ghost { position: absolute; z-index: -1; right: 2.5cqw; top: 4.5cqw; font-weight: 900; font-size: 46cqw; line-height: .78; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: .35cqw var(--ghost); user-select: none; } .kp__ghost--yr { font-size: 38cqw; }
	.kp__top { display: flex; justify-content: space-between; align-items: center; gap: 2cqw; padding-bottom: 1.6cqw; border-bottom: .2cqw solid var(--rule); }
	.kp__brand { display: inline-flex; align-items: center; gap: 1.2cqw; font-size: 1.5cqw; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; } .kp__brand i { font-style: normal; font-weight: 600; color: var(--ink2); } .kp__mark { width: 4.2cqw; height: auto; } .kp--paper .kp__mark { filter: brightness(0) saturate(100%) invert(15%) sepia(88%) saturate(4300%) hue-rotate(347deg) brightness(88%); }
	.kp__range { font-size: 1.5cqw; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--ink2); } .kp__range em { font-style: normal; color: var(--ink3); margin: 0 .3em; }
	.kp__hero { margin-top: 3.4cqw; }
	.kp__tag { display: inline-block; padding: .55cqw 2cqw .45cqw 1.1cqw; background: var(--red); color: #fff; font-size: 1.25cqw; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; clip-path: polygon(0 0, 100% 0, calc(100% - 1.1cqw) 100%, 0 100%); }
	.kp__title { margin: 1.4cqw 0 0; font-weight: 900; font-size: 12.4cqw; line-height: .8; letter-spacing: -.015em; text-transform: uppercase; color: var(--ink); } .kp__title span { color: var(--red); } .kp--poster .kp__title span { display: inline-block; padding: .04em .1em 0; margin-left: .04em; background: #fff; line-height: .86; }
	.kp__who { display: flex; flex-wrap: wrap; align-items: baseline; gap: .6cqw 2cqw; margin: 2.2cqw 0 0; font-size: 1.5cqw; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ink2); } .kp__who b { font-size: 2.9cqw; font-weight: 900; letter-spacing: .01em; color: var(--ink); } .kp__who span { padding-left: 2cqw; border-left: .2cqw solid var(--red); }
	.kp__stats { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: .8cqw; margin-top: 3cqw; } .kp__stats div { padding: 1.3cqw 1.4cqw 1.1cqw; background: var(--panel); border-top: .45cqw solid var(--ink); } .kp__stats div:first-child { border-top-color: var(--red); }
	.kp__stats b { display: block; font-weight: 900; font-size: 4.4cqw; line-height: .85; letter-spacing: -.02em; } .kp__stats span { display: block; margin-top: .8cqw; font-size: 1.05cqw; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ink2); }

	.kp__seasons { flex: 0 1 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.2cqw; margin-top: 3cqw; align-content: start; } .kp__seasons--n1 { grid-template-columns: minmax(0, 40cqw); } .kp__seasons--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kp__seasons--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.kp-s { break-inside: avoid; min-width: 0; display: flex; flex-direction: column; }
	.kp-s__head { display: grid; grid-template-columns: auto 1fr; align-items: end; gap: 0 1cqw; padding-bottom: .9cqw; border-bottom: .35cqw solid var(--ink); } .kp-s.is-champ .kp-s__head { border-bottom-color: var(--red); }
	.kp-s__head b { font-weight: 900; font-size: 4.6cqw; line-height: .8; letter-spacing: -.02em; color: var(--red); } .kp-s__head span { display: flex; flex-direction: column; gap: .2cqw; font-size: 1.02cqw; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ink2); min-width: 0; } .kp-s__head strong { font-size: 1.9cqw; font-weight: 900; letter-spacing: 0; color: var(--ink); line-height: 1; }
	.kp-s__head em { grid-column: 1 / -1; margin-top: .7cqw; padding: .35cqw .8cqw .25cqw; background: var(--red); color: #fff; font-style: normal; font-size: .98cqw; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; justify-self: start; }
	.kp-s__bars { display: flex; align-items: flex-end; gap: .3cqw; height: 4.4cqw; margin: 1cqw 0 .9cqw; border-bottom: .15cqw solid var(--rule); } .kp-s__bars i { flex: 1 1 0; height: var(--h); background: var(--ink); } .kp-s__bars i { max-width: 9%; } .kp-s__bars i.l { background: var(--ink3); height: 14%; } .kp-s__bars i.t { background: var(--ink3); height: 8%; } .kp-s__bars i.p { background: var(--red); }
	.kp-s__list { list-style: none; margin: 0; padding: 0; flex: 1 1 auto; display: grid; grid-auto-rows: minmax(min-content, 3cqw); align-content: start; } .kp-s__list li { display: grid; grid-template-columns: 3.9cqw minmax(0, 1fr) auto; gap: .6cqw; align-items: baseline; padding: .42cqw 0 .36cqw; align-items: center; border-bottom: .1cqw solid var(--rule); font-size: 1.28cqw; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; line-height: 1.1; }
	.kp-s__list li span:first-child { color: var(--ink3); font-size: 1cqw; letter-spacing: .08em; } .kp-s__list li span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .kp-s__list em { font-style: normal; color: var(--ink3); font-size: .9em; } .kp-s__list b { font-weight: 900; white-space: nowrap; color: var(--ink); } .kp-s__list li.is-l b, .kp-s__list li.is-l span:nth-child(2) { color: var(--ink3); } .kp-s__list li.is-post span:nth-child(2)::after { content: " \2605"; color: var(--red); font-size: .85em; }

	.kp__motto { margin: auto 0 0; padding-top: 2.4cqw; font-weight: 900; font-size: 6.1cqw; line-height: .86; letter-spacing: -.01em; text-transform: uppercase; color: transparent; -webkit-text-stroke: .16cqw var(--ink3); } .kp__motto b { color: var(--red); -webkit-text-stroke: 0; font-weight: 900; }
	.kp__foot { margin-top: 2.2cqw; padding-top: 1.4cqw; border-top: .2cqw solid var(--rule); display: grid; gap: 1cqw; } .kp__notes { display: flex; flex-wrap: wrap; gap: .6cqw 3cqw; font-size: 1.15cqw; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink2); } .kp__notes b { color: var(--red); font-weight: 900; margin-right: .5em; }
	.kp__sign { display: flex; justify-content: space-between; gap: 2cqw; font-size: 1.05cqw; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ink3); } .kp__sign b { color: var(--ink); font-weight: 900; }

	@media print {
		@page { size: letter portrait; margin: 0; }
		body * { visibility: hidden !important; } .kp-wrap, .kp-wrap * { visibility: visible !important; }
		.kp-wrap { position: absolute !important; left: 0; top: 0; width: 8.5in !important; max-width: none; } .kp { width: 8.5in; height: 11in; aspect-ratio: auto; box-shadow: none; }
		.kp-tools, .site-header, .site-footer { display: none !important; }
	}
}

/* 4.33.0 · Members pick the seasons that were actually theirs. Account picker, the My Era note, and keepsake layouts for one to six seasons. */
@layer components {
	.rh-seasons { border: 1px solid var(--silver-line); background: var(--silver-3); padding: 12px 14px 14px; margin: 0; } .rh-seasons legend { padding: 0 6px; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--graphite); } .rh-seasons legend small { font-weight: var(--fw-semi); color: var(--gray-meta); margin-left: 6px; }
	.rh-seasons__row { display: flex; flex-wrap: wrap; gap: 6px; } .rh-seasons__row label { position: relative; cursor: pointer; } .rh-seasons__row input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
	.rh-seasons__row span { display: block; min-width: 76px; padding: 12px 14px 9px; text-align: center; background: #fff; border: 2px solid var(--silver-line); font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: 1; letter-spacing: var(--ls-tight); color: var(--gray-meta); }
	.rh-seasons__row input:checked + span { background: var(--graphite); border-color: var(--graphite); color: #fff; box-shadow: inset 0 -4px 0 var(--red); } .rh-seasons__row input:focus-visible + span { outline: 3px solid var(--graphite); outline-offset: 2px; } .rh-seasons__row label:hover span { border-color: var(--graphite); }
	.rh-seasons .ctb-help { margin: 10px 0 0; }
	.rh-yearsnote { margin: 0 0 var(--sp-5); padding: 12px 16px; background: #fff; border-left: 4px solid var(--red); font-family: var(--font-serif); font-size: 1rem; line-height: 1.5; color: var(--gray-body); } .rh-yearsnote a { color: var(--red); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
	.kp__seasons--n5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.6cqw; } .kp__seasons--n6 { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.3cqw; }
	.kp__seasons--n5 .kp-s__head b, .kp__seasons--n6 .kp-s__head b { font-size: 3.6cqw; } .kp__seasons--n5 .kp-s__list li { font-size: 1.05cqw; grid-template-columns: 3.3cqw minmax(0, 1fr) auto; } .kp__seasons--n6 .kp-s__list li { font-size: .92cqw; grid-template-columns: minmax(0, 1fr) auto; } .kp__seasons--n6 .kp-s__list li span:first-child { display: none; }
	.kp__seasons--n1 .kp-s__list li, .kp__seasons--n2 .kp-s__list li { font-size: 1.6cqw; grid-template-columns: 5cqw minmax(0, 1fr) auto; } .kp__seasons--n1 .kp-s__list, .kp__seasons--n2 .kp-s__list { grid-auto-rows: minmax(min-content, 3.4cqw); } .kp__seasons--n1 { grid-template-columns: minmax(0, 56cqw); } .kp__seasons--n1 .kp-s__head b, .kp__seasons--n2 .kp-s__head b { font-size: 6.4cqw; } .kp__seasons--n1 .kp-s__head strong, .kp__seasons--n2 .kp-s__head strong { font-size: 2.6cqw; } .kp__seasons--n1 .kp-s__bars, .kp__seasons--n2 .kp-s__bars { height: 6cqw; }
}

/* 4.34.0 · "I was there": the block on finished game pages and the season-at-a-time controls on My Era. */
@layer components {
	.there { background: linear-gradient(180deg, #15181c, var(--graphite)); color: #fff; padding-block: var(--sp-8); border-top: 6px solid var(--red); scroll-margin-top: 90px; }
	.there__inner { display: grid; gap: var(--sp-6); align-items: start; } @media (min-width: 1000px) { .there__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-8); } }
	.there__title { margin: 14px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.25rem, 4.6vw, 4rem); line-height: .9; letter-spacing: var(--ls-tight); text-transform: uppercase; } .there__title b { display: inline-block; padding: .02em .12em 0; margin-right: .08em; background: #fff; color: var(--red); line-height: .92; }
	.there__sub { margin: var(--sp-3) 0 0; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.8); }
	.there__err { margin: var(--sp-3) 0 0; padding: 10px 14px; background: rgba(0,0,0,.4); border-left: 4px solid var(--red); font-family: var(--font-serif); color: #fff; }
	.there__form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: var(--sp-5); }
	.there__btn { padding: 14px 18px; border: 2px solid rgba(255,255,255,.55); background: transparent; color: #fff; font-family: var(--font-display); font-size: 1.0625rem; font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; cursor: pointer; border-radius: 0; } .there__btn:hover { border-color: #fff; background: rgba(255,255,255,.1); } .there__btn.is-on { background: #fff; border-color: #fff; color: var(--red); box-shadow: inset 0 -4px 0 var(--red); } .there__btn:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
	.there__clear, .there__signin { background: none; border: 0; padding: 0 6px; color: rgba(255,255,255,.8); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; } .there__clear:hover, .there__signin:hover { color: #fff; }
	.there__note { margin: var(--sp-3) 0 0; font-family: var(--font-serif); font-size: .9375rem; color: rgba(255,255,255,.75); } .there__note a { color: #fff; }
	.there__people { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
	.there__people li > a, .there__people li:not(:has(a)) { display: flex; flex-direction: column; gap: 3px; padding: 11px 14px; background: rgba(255,255,255,.07); border-left: 4px solid rgba(255,255,255,.4); color: #fff; height: 100%; } .there__people li.is-played > a, .there__people li.is-played:not(:has(a)) { border-left-color: var(--red); background: rgba(255,255,255,.11); } .there__people li.is-coached > a, .there__people li.is-coached:not(:has(a)) { border-left-color: #fff; }
	.there__people a:hover { background: rgba(255,255,255,.18); } .there__people b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.125rem; line-height: 1.05; letter-spacing: var(--ls-tight); text-transform: uppercase; } .there__people span { font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); }

	.erathere { margin-top: var(--sp-7); } .erathere__head { margin-bottom: var(--sp-4); } .erathere__head p { margin: 8px 0 0; max-width: 46rem; font-family: var(--font-serif); color: var(--gray-body); } .erathere__head strong { color: var(--red); }
	.erathere__row { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 6px var(--sp-4); padding: 14px 16px; margin-top: 6px; background: #fff; border: 1px solid var(--silver-line); border-left: 4px solid var(--graphite); scroll-margin-top: 110px; } @media (min-width: 900px) { .erathere__row { grid-template-columns: auto 1fr auto; } }
	.erathere__row > b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2.25rem; line-height: .85; letter-spacing: -.02em; color: var(--red); } .erathere__row > span:not(.erathere__btns) { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); }
	.erathere__btns { display: flex; flex-wrap: wrap; gap: 6px; grid-column: 1 / -1; } @media (min-width: 900px) { .erathere__btns { grid-column: auto; } }
	.erathere__btns button { padding: 10px 14px; border: 2px solid var(--graphite); background: #fff; color: var(--graphite); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; cursor: pointer; border-radius: 0; } .erathere__btns button:hover { background: var(--graphite); color: #fff; } .erathere__btns button.is-quiet { border-color: var(--silver-line); color: var(--gray-meta); }
}

/* 4.35.0 · Memories From That Night. Set as testimony in a single reading column: serif, generous, one hanging quotation mark,
   hairline rules between accounts. No cards, no avatars, no counters. */
@layer components {
	.mem { background: #fff; padding-block: var(--sp-8); border-top: 1px solid var(--silver-line); scroll-margin-top: 90px; }
	.mem__inner { max-width: 58rem; }
	.mem__head { padding-bottom: var(--sp-4); border-bottom: 4px solid var(--graphite); }
	.mem__k { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.mem__title { margin: 8px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.25rem, 5vw, 4rem); line-height: .9; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.mem__count { margin: 12px 0 0; font-family: var(--font-serif); font-style: italic; font-size: 1.0625rem; color: var(--gray-body); }
	.mem__item { position: relative; margin: 0; padding: var(--sp-6) 0 var(--sp-6) clamp(2.5rem, 6vw, 4.5rem); border-bottom: 1px solid var(--silver-line); }
	.mem__item::before { content: "\201C"; position: absolute; left: 0; top: calc(var(--sp-6) - .12em); font-family: var(--font-serif); font-weight: 700; font-size: clamp(4rem, 8vw, 6.5rem); line-height: .8; color: var(--red); }
	.mem__text { margin: 0; font-family: var(--font-serif); font-size: clamp(1.1875rem, 1.9vw, 1.4375rem); line-height: 1.6; color: var(--gray-ink, #1a1a1a); quotes: none; } .mem__text p { margin: 0 0 .9em; } .mem__text p:last-child { margin-bottom: 0; }
	.mem__by { display: flex; flex-direction: column; gap: 4px; margin-top: var(--sp-4); padding-left: var(--sp-3); border-left: 3px solid var(--graphite); }
	.mem__by b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.3125rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.mem__by span { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.mem__item.is-featured { padding-block: var(--sp-7); } .mem__item.is-featured .mem__text { font-size: clamp(1.4375rem, 2.7vw, 2.125rem); line-height: 1.42; color: var(--graphite); } .mem__item.is-featured .mem__by { border-left-color: var(--red); } .mem__item.is-featured::before { top: calc(var(--sp-7) - .12em); }
	.mem__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3) var(--sp-5); padding-top: var(--sp-5); }
	.mem__foot p { margin: 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.375rem, 2.4vw, 2rem); line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.mem__foot span { font-family: var(--font-serif); font-style: italic; font-size: 1rem; color: var(--gray-body); }
	.mem__add { display: inline-flex; align-items: center; gap: 10px; padding: 13px 20px; border: 2px solid var(--graphite); color: var(--graphite); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; } .mem__add .icon { width: 16px; height: 16px; } .mem__add:hover { background: var(--graphite); color: #fff; }
	.mem--empty { background: var(--silver-3); padding-block: var(--sp-7); } .mem--empty .mem__head { border-bottom: 0; padding-bottom: 0; } .mem--empty .mem__title { font-size: clamp(2rem, 4.2vw, 3.25rem); } .mem--empty .mem__count { font-size: 1.1875rem; max-width: 40rem; } .mem__foot--solo { justify-content: flex-start; padding-top: var(--sp-4); }
	.champx .mem { border-top: 0; }
}

/* 4.36.0 · Claim Your Profile: the member page, the quiet verified marks on records, and the way in from a player page. */
@layer components {
	.claim { max-width: 62rem; }
	.claim__steps { list-style: none; margin: 0 0 var(--sp-6); padding: 0; display: grid; gap: 6px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
	.claim__steps li { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); } .claim__steps li:first-child { border-top-color: var(--red); }
	.claim__steps b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2.25rem; line-height: .85; color: var(--silver); } .claim__steps span { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.0625rem; line-height: 1.05; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.claim__find label, .claim__notelabel, .claim__h { display: block; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--graphite); } .claim__notelabel small { font-weight: var(--fw-semi); color: var(--gray-meta); margin-left: 6px; }
	.claim__find div { display: flex; gap: 6px; margin-top: 8px; max-width: 40rem; } .claim__find input { flex: 1 1 auto; min-width: 0; height: 58px; padding: 0 16px; border: 2px solid var(--silver-line); background: #fff; font-family: var(--font-serif); font-size: 1.125rem; border-radius: 0; } .claim__find input:focus { outline: 0; border-color: var(--graphite); box-shadow: inset 0 -4px 0 var(--red); }
	.claim__find button { padding: 0 22px; border: 0; background: var(--graphite); color: #fff; font-family: var(--font-display); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; cursor: pointer; } .claim__find button:hover { background: var(--red); }
	.claim__find p, .claim__hint { margin: 8px 0 0; font-family: var(--font-serif); font-size: .9375rem; color: var(--gray-body); }
	.claim__h { margin-top: var(--sp-6); padding-bottom: 8px; border-bottom: 4px solid var(--graphite); font-size: 1.5rem; letter-spacing: var(--ls-tight); }
	.claim__opts { display: grid; gap: 4px; margin-top: var(--sp-3); }
	.claim__opt { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 12px 16px; background: #fff; border: 1px solid var(--silver-line); border-left: 4px solid var(--silver-line); cursor: pointer; } .claim__opt:hover { border-left-color: var(--graphite); } .claim__opt:has(input:checked) { border-left-color: var(--red); background: var(--silver-3); }
	.claim__opt input { width: 22px; height: 22px; accent-color: var(--red-btn); } .claim__opt b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; line-height: 1.05; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); } .claim__opt small { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.claim__opt a { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); text-decoration: underline; text-underline-offset: 3px; } .claim__opt.is-taken { opacity: .55; cursor: not-allowed; }
	.claim__notelabel { margin-top: var(--sp-6); } .claim__pick textarea { width: 100%; margin-top: 8px; padding: 12px 14px; border: 2px solid var(--silver-line); background: #fff; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.5; border-radius: 0; } .claim__pick textarea:focus { outline: 0; border-color: var(--graphite); }
	.claim__send { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-5); margin-top: var(--sp-4); } .claim__send .fbtn { border: 0; cursor: pointer; } .claim__send .fbtn:hover, .claim__none .fbtn:hover { background: var(--graphite); color: #fff; } .claim__send p { flex: 1 1 20rem; margin: 0; font-family: var(--font-serif); font-size: .9375rem; line-height: 1.5; color: var(--gray-body); }
	.claim__state, .claim__none { padding: var(--sp-6); background: #fff; border: 1px solid var(--silver-line); border-top: 6px solid var(--graphite); } .claim__state--ok { border-top-color: var(--red); }
	.claim__state h2 { margin: 14px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2rem, 4vw, 3.25rem); line-height: .92; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); } .claim__state p, .claim__none p { margin: var(--sp-3) 0 0; max-width: 46rem; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.55; color: var(--gray-body); }
	.claim__none b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: 1; text-transform: uppercase; color: var(--graphite); } .claim__none .fbtn { margin-top: var(--sp-4); }
	.claim__linked { list-style: none; margin: var(--sp-4) 0 0; padding: 0; display: grid; gap: 4px; } .claim__linked li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding: 10px 14px; background: var(--silver-3); border-left: 4px solid var(--graphite); } .claim__linked span { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); } .claim__linked b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.125rem; text-transform: uppercase; letter-spacing: var(--ls-tight); color: var(--graphite); }
	.claim__state .claim__rule { margin-top: var(--sp-4); padding-top: var(--sp-4); border-top: 1px solid var(--silver-line); font-size: 1rem; } .claim__rule a, .claim__note a { color: var(--red); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
	.claim__err, .claim__note { margin: 0 0 var(--sp-4); padding: 12px 16px; background: #fff; border-left: 4px solid var(--red); font-family: var(--font-serif); color: var(--gray-body); } .claim__err { background: #fff4f4; color: #7a1017; }

	/* verified marks: deliberately small */
	.vclaim { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 10px 0 0; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.85); } .vclaim svg { width: 14px; height: 14px; padding: 2px; background: #fff; color: var(--red); box-sizing: content-box; } .vclaim a { color: #fff; text-decoration: underline; text-underline-offset: 3px; } .vclaim--ask { color: rgba(255,255,255,.7); }
	.archive-hero:not(.has-image) .vclaim, .lhero--light .vclaim { color: var(--gray-meta); } .archive-hero:not(.has-image) .vclaim a, .lhero--light .vclaim a { color: var(--red); }
	.chx-roster li.is-verified span::after, li.is-verified::after { content: "\2713"; margin-left: 6px; font-weight: 900; color: var(--red); font-size: .85em; } .chx-roster li.is-verified::after { content: none; }
}

/* 4.37.0 · My Era, verified. Quiet by design: a small source label on season cards, one record-style block per roster season,
   and three collapsible panels. No badges, no counters that reward, no colour for status beyond the existing red accents. */
@layer components {
	.era-src { display: block; margin-top: 6px; font-family: var(--font-display); font-size: 0.625rem; font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); } .era-src.is-verified { color: var(--graphite); } .era-src.is-verified::before { content: "\2713\00a0"; color: var(--red); font-weight: 900; }
	.erav-status { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: var(--sp-5) 0 0; padding: 12px 16px; background: #fff; border: 1px solid var(--silver-line); border-left: 4px solid var(--graphite); } .erav-status b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.0625rem; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); } .erav-status span { font-family: var(--font-serif); font-size: .9375rem; color: var(--gray-body); } .erav-status a, .erav__lede a { color: var(--red); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
	.erav__lede { margin: 0 0 var(--sp-4); max-width: 52rem; font-family: var(--font-serif); font-size: 1rem; line-height: 1.55; color: var(--gray-body); } .erav__saved { margin: 0 0 var(--sp-3); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--red); }
	.erav-s { margin-top: 10px; background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); scroll-margin-top: 110px; }
	.erav-s__head { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px var(--sp-4); padding: var(--sp-4) var(--sp-5); } @media (min-width: 800px) { .erav-s__head { grid-template-columns: auto 1fr auto; } }
	.erav-s__year { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3rem, 6vw, 4.5rem); line-height: .8; letter-spacing: -.02em; color: var(--red); }
	.erav-s__id { display: flex; flex-direction: column; gap: 4px; min-width: 0; } .erav-s__sport, .erav-s__meta { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.erav-s__me { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.375rem, 2.4vw, 1.875rem); line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); } .erav-s__me em { font-style: normal; margin-left: 8px; padding-left: 10px; border-left: 2px solid var(--silver-line); font-size: .72em; color: var(--gray-body); }
	.erav-s__links { display: flex; gap: var(--sp-3); grid-column: 1 / -1; } @media (min-width: 800px) { .erav-s__links { grid-column: auto; } } .erav-s__links a { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); text-decoration: underline; text-underline-offset: 3px; } .erav-s__links a:hover { color: var(--red); }
	.erav-box { border-top: 1px solid var(--silver-line); } .erav-box summary { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px var(--sp-4); padding: 14px var(--sp-5); cursor: pointer; list-style: none; } .erav-box summary::-webkit-details-marker { display: none; }
	.erav-box summary b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); } .erav-box summary b::before { content: "+"; display: inline-block; width: 1em; color: var(--red); } .erav-box[open] summary b::before { content: "\2212"; }
	.erav-box summary span { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); } .erav-box summary:hover b { color: var(--red); } .erav-box summary:focus-visible { outline: 3px solid var(--graphite); outline-offset: -3px; }
	.erav-box > form, .erav-box > ul, .erav-box > h4, .erav-box > p { margin-inline: var(--sp-5); } .erav-box > :last-child { margin-bottom: var(--sp-4); }
	.erav-box__note { margin-block: 0 var(--sp-3); max-width: 50rem; font-family: var(--font-serif); font-size: .9375rem; line-height: 1.5; color: var(--gray-body); }
	.erav-games { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--silver-line); } .erav-games label { display: grid; grid-template-columns: 24px 4.2rem minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 4px; border-bottom: 1px solid var(--silver-line); cursor: pointer; font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 1.0625rem; letter-spacing: .01em; text-transform: uppercase; color: var(--graphite); } .erav-games label:hover { background: var(--silver-3); } .erav-games label:has(input:checked) { box-shadow: inset 4px 0 0 var(--red); }
	.erav-games input { width: 20px; height: 20px; accent-color: var(--red-btn); } .erav-games__d { font-size: var(--fs-micro); letter-spacing: var(--ls-label); color: var(--gray-meta); } .erav-games__o em { font-style: normal; font-size: .8em; color: var(--gray-meta); } .erav-games__o i { font-style: normal; margin-left: 8px; font-size: .625rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); color: var(--red); } .erav-games__r { font-weight: var(--fw-black); white-space: nowrap; } .erav-games__x { grid-column: 3 / -1; font-size: .625rem; letter-spacing: var(--ls-label); color: var(--gray-meta); }
	.erav-save { margin-top: var(--sp-4); padding: 12px 18px; border: 2px solid var(--graphite); background: var(--graphite); color: #fff; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; cursor: pointer; border-radius: 0; } .erav-save:hover { background: var(--red-btn); border-color: var(--red-btn); }
	.erav-h { margin-block: var(--sp-3) 8px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.erav-team { list-style: none; padding: 0; margin-block: 0 var(--sp-3); display: grid; gap: 4px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); } .erav-team li > * { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 10px; padding: 6px 12px 6px 6px; background: var(--silver-3); border: 1px solid var(--silver-line); color: var(--graphite); }
	.erav-team b { display: grid; place-items: center; height: 32px; background: var(--silver); color: var(--graphite); font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.0625rem; } .erav-team li span span { font-family: var(--font-display); font-weight: var(--fw-extra, 800); font-size: 1rem; line-height: 1.05; } .erav-team small { font-family: var(--font-display); font-size: .625rem; font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.erav-team--v li > * { background: #fff; border-left: 4px solid var(--red); } .erav-team--v b { background: var(--graphite); color: #fff; } .erav-team--v a:hover { background: var(--silver-3); } .erav-team--v li > * > span { font-family: var(--font-display); font-weight: var(--fw-extra, 800); }
	.erav-gaps { list-style: none; padding: 0; margin-block: 0 var(--sp-3); display: grid; gap: 4px; } .erav-gaps li { display: grid; grid-template-columns: 1fr; gap: 4px var(--sp-4); align-items: center; padding: 12px 14px; background: var(--silver-3); border-left: 4px solid var(--graphite); } @media (min-width: 800px) { .erav-gaps li { grid-template-columns: 9rem 1fr auto; } }
	.erav-gaps__k { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); } .erav-gaps__t { font-family: var(--font-serif); font-size: 1rem; line-height: 1.45; color: var(--graphite); } .erav-gaps__t em { color: var(--gray-body); } .erav-gaps a { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); white-space: nowrap; } .erav-gaps a .icon { width: 14px; height: 14px; } .erav-gaps a:hover { color: var(--red); }
}

/* 4.37.1 · I was there, season rows: the choice you made stays visibly on. */
@layer components { .erathere__btns button.is-on { background: var(--graphite); color: #fff; box-shadow: inset 0 -4px 0 var(--red); } .erathere__row:has(button.is-on) { border-left-color: var(--red); } .erathere__head strong { display: inline-block; margin-right: 4px; } }

/* 4.38.0 · I was there, game by game. One collapsible row per season; inside, every game with a segmented choice. */
@layer components {
	.sg { margin-top: 6px; background: #fff; border: 1px solid var(--silver-line); border-left: 4px solid var(--graphite); scroll-margin-top: 110px; } .sg.has-marks { border-left-color: var(--red); }
	.sg > summary { display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: 6px var(--sp-4); padding: 14px 16px; cursor: pointer; list-style: none; } .sg > summary::-webkit-details-marker { display: none; } .sg > summary:focus-visible { outline: 3px solid var(--graphite); outline-offset: -3px; }
	.sg__year { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2.25rem; line-height: .85; letter-spacing: -.02em; color: var(--red); }
	.sg__rec, .sg__sum { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); } .sg.has-marks .sg__sum { color: var(--graphite); font-weight: var(--fw-black); }
	.sg__toggle { padding: 9px 14px; border: 2px solid var(--graphite); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); white-space: nowrap; } .sg > summary:hover .sg__toggle, .sg[open] .sg__toggle { background: var(--graphite); color: #fff; } .sg[open] .sg__toggle { font-size: 0; } .sg[open] .sg__toggle::after { content: "Close"; font-size: var(--fs-small); }
	.sg form { padding: 0 16px 16px; border-top: 1px solid var(--silver-line); }
	.sg__bulk { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 12px 0; } .sg__bulk span { margin-right: 4px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.sg__bulk button { padding: 6px 10px; border: 1px solid var(--silver-line); background: var(--silver-3); font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--graphite); cursor: pointer; border-radius: 0; } .sg__bulk button:hover { border-color: var(--graphite); }
	.sg__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--silver-line); }
	.sg__list li { display: grid; grid-template-columns: 4rem minmax(0, 1fr) auto auto; align-items: center; gap: 6px 14px; padding: 8px 4px; border-bottom: 1px solid var(--silver-line); } .sg__list li:has(.sg__pick label:not(.sg__no) input:checked) { box-shadow: inset 4px 0 0 var(--red); padding-left: 12px; }
	.sg__d { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.sg__o { font-family: var(--font-display); font-weight: var(--fw-extra, 800); font-size: 1.0625rem; line-height: 1.1; text-transform: uppercase; color: var(--graphite); min-width: 0; } .sg__o:hover { color: var(--red); } .sg__o em { font-style: normal; font-size: .8em; color: var(--gray-meta); } .sg__o i { font-style: normal; margin-left: 8px; font-size: .625rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); color: var(--red); }
	.sg__r { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1rem; white-space: nowrap; color: var(--graphite); }
	.sg__pick { display: inline-flex; } .sg__pick label { position: relative; margin-left: -1px; cursor: pointer; } .sg__pick input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
	.sg__pick span { display: block; padding: 8px 12px; border: 1px solid var(--silver-line); background: #fff; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); white-space: nowrap; }
	.sg__pick label:hover span { border-color: var(--graphite); color: var(--graphite); position: relative; z-index: 1; } .sg__pick input:focus-visible + span { outline: 3px solid var(--graphite); outline-offset: 1px; position: relative; z-index: 2; }
	.sg__pick input:checked + span { background: var(--graphite); border-color: var(--graphite); color: #fff; position: relative; z-index: 1; } .sg__pick label:first-child input:checked + span { box-shadow: inset 0 -3px 0 var(--red); } .sg__no input:checked + span { background: var(--silver-3); border-color: var(--silver-line); color: var(--gray-meta); }
	.sg__save { display: flex; flex-wrap: wrap; align-items: center; gap: 8px var(--sp-4); padding-top: 14px; } .sg__save button { padding: 12px 20px; border: 0; background: var(--red-btn); color: #fff; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; cursor: pointer; border-radius: 0; } .sg__save button:hover { background: var(--graphite); } .sg__save span { font-family: var(--font-serif); font-size: .9375rem; color: var(--gray-body); }
	.erav-games-wrap { padding: 0 var(--sp-5) var(--sp-4); border-top: 1px solid var(--silver-line); } .erav-games-wrap .erav-box__note { margin-top: var(--sp-3); } .erav-games-wrap .sg { border-left-width: 1px; } .erav-games-wrap .sg__year, .erav-games-wrap .sg__rec { display: none; } .erav-games-wrap .sg > summary { grid-template-columns: 1fr auto; } .erav-games-wrap .sg__sum::before { content: "Games I played in · "; font-weight: var(--fw-black); color: var(--graphite); }
	@media (max-width: 767px) { .sg > summary { grid-template-columns: auto 1fr; } .sg__sum, .sg__toggle { grid-column: 1 / -1; } .sg__toggle { text-align: center; } .sg__list li { grid-template-columns: 3.4rem minmax(0, 1fr) auto; } .sg__pick { grid-column: 1 / -1; display: flex; } .sg__pick label { flex: 1 1 0; } .sg__pick span { text-align: center; padding-inline: 4px; } }
}

/* 4.39.0 · My Home board. Built around things to do. A prioritised action queue leads; the rest is live context. */
@layer components {
	.mhome { padding-top: var(--sp-5); } .mh { display: grid; gap: var(--sp-5); margin-top: var(--sp-5); align-items: start; } @media (min-width: 1100px) { .mh { grid-template-columns: minmax(0, 1fr) 380px; gap: var(--sp-6); } }
	.mh__main, .mh__rail { display: grid; gap: var(--sp-5); min-width: 0; }
	.mh-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-4); } .mh-head h2 { margin: 10px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2rem, 4vw, 3.25rem); line-height: .9; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); } .mh-head--sm h2 { font-size: clamp(1.5rem, 2.6vw, 2.125rem); margin-top: 6px; }
	.mh-prog { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; min-width: 150px; } .mh-prog b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2.5rem; line-height: .8; color: var(--graphite); } .mh-prog b i { font-style: normal; font-size: .5em; color: var(--gray-meta); } .mh-prog span { display: block; width: 100%; height: 6px; background: var(--silver); } .mh-prog em { display: block; height: 100%; background: var(--red); }

	.mh-moves { padding: clamp(var(--sp-4), 3vw, var(--sp-6)); background: #fff; border: 1px solid var(--silver-line); border-top: 6px solid var(--red); }
	.mh-moves__lead { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
	.mh-moves__lead li { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 10px var(--sp-4); padding: var(--sp-4); background: var(--silver-3); border-left: 4px solid var(--graphite); } @media (min-width: 760px) { .mh-moves__lead li { grid-template-columns: auto minmax(0, 1fr) auto; } }
	.mh-moves__lead li.is-first { background: linear-gradient(160deg, #15181c, var(--graphite)); border-left-color: var(--red); color: #fff; padding: var(--sp-5); }
	.mh-moves__n { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 3rem; line-height: .8; color: var(--silver); } .is-first .mh-moves__n { font-size: 4.5rem; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.55); }
	.mh-moves__lead b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.375rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); } .is-first b { font-size: clamp(1.625rem, 2.8vw, 2.375rem); color: #fff; }
	.mh-moves__lead p { margin: 6px 0 0; max-width: 40rem; font-family: var(--font-serif); font-size: 1rem; line-height: 1.45; color: var(--gray-body); } .is-first p { color: rgba(255,255,255,.88); font-size: 1.0625rem; }
	.mh-moves__lead a { grid-column: 1 / -1; justify-self: start; white-space: nowrap; } @media (min-width: 760px) { .mh-moves__lead a { grid-column: auto; justify-self: end; } } .is-first .fbtn:hover { background: #fff; color: var(--red); } .mh-moves__lead li.is-quiet { opacity: .8; }
	.mh-btn { display: inline-flex; align-items: center; gap: 8px; padding: 11px 16px; border: 2px solid var(--graphite); color: var(--graphite); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; } .mh-btn .icon { width: 15px; height: 15px; } .mh-btn:hover { background: var(--graphite); color: #fff; } .mh-btn--light { border-color: rgba(255,255,255,.6); color: #fff; } .mh-btn--light:hover { background: #fff; border-color: #fff; color: var(--red); }
	.mh-moves__done { margin: 0; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.55; color: var(--gray-body); }
	.mh-moves__rest { margin-top: var(--sp-3); } .mh-moves__rest summary { cursor: pointer; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); } .mh-moves__rest summary:hover { color: var(--graphite); }
	.mh-moves__rest ul { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 4px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); } .mh-moves__rest li { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 1rem; text-transform: uppercase; letter-spacing: .01em; } .mh-moves__rest a { color: var(--graphite); text-decoration: underline; text-underline-offset: 3px; } .mh-moves__rest a:hover { color: var(--red); } .mh-moves__rest li.is-done { color: var(--gray-meta); } .mh-moves__rest li.is-done::before { content: "\2713\00a0"; color: var(--red); font-weight: 900; }

	.mh-spot { position: relative; overflow: hidden; isolation: isolate; padding: clamp(var(--sp-5), 4vw, var(--sp-7)); background: linear-gradient(160deg, #101215, var(--graphite)); color: #fff; border-top: 6px solid #fff; } .mh-spot.is-win { border-top-color: var(--red); }
	.mh-spot__ghost { position: absolute; z-index: -1; right: -1vw; top: -.08em; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(8rem, 20vw, 17rem); line-height: .8; letter-spacing: -.03em; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.1); pointer-events: none; }
	.mh-spot__k { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); }
	.mh-spot__score { display: flex; flex-wrap: wrap; gap: 6px; margin-top: var(--sp-3); color: #fff; } .mh-spot__score span { display: flex; flex-direction: column; min-width: 150px; padding: 12px 16px 6px; background: rgba(0,0,0,.45); border-top: 4px solid rgba(255,255,255,.3); } .mh-spot__score .is-won { border-top-color: var(--red); }
	.mh-spot__score small { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); } .mh-spot__score b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3.5rem, 7vw, 6rem); line-height: .82; letter-spacing: -.03em; color: rgba(255,255,255,.5); } .mh-spot__score .is-won b, .mh-spot__score .is-won small { color: #fff; } .mh-spot__score:hover b { text-decoration: underline; text-decoration-thickness: 4px; text-underline-offset: 6px; text-decoration-color: var(--red); }
	.mh-spot__meta { margin: var(--sp-3) 0 0; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-ui); text-transform: uppercase; color: rgba(255,255,255,.8); }
	.mh-spot__acts, .mh-game__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: var(--sp-4); } .mh-spot__was { padding: 11px 16px; background: #fff; color: var(--red); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; } .mh-spot__link { margin-left: 6px; display: inline-flex; align-items: center; gap: 6px; color: #fff; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px; } .mh-spot__link .icon { width: 14px; height: 14px; }

	.mh-seasons__grid { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
	.mh-season { display: flex; flex-direction: column; gap: 4px; padding: var(--sp-4); background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); color: var(--graphite); } .mh-season.is-champ, .mh-season:hover { border-top-color: var(--red); }
	.mh-season b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2.5rem; line-height: .82; letter-spacing: -.02em; color: var(--red); } .mh-season__rec { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; line-height: 1; }
	.mh-season__bars { display: flex; align-items: flex-end; gap: 2px; height: 44px; margin: 8px 0 6px; border-bottom: 2px solid var(--silver-line); } .mh-season__bars i { flex: 1 1 0; height: var(--h); background: var(--silver); } .mh-season__bars i.l { background: var(--silver-2); } .mh-season__bars i.on { background: var(--graphite); } .mh-season__bars i.on.l { background: var(--gray-meta); }
	.mh-season__mk { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); } .mh-season:hover .mh-season__mk { color: var(--red); }

	.mh-game { padding: var(--sp-5); background: linear-gradient(105deg, var(--red-deep), var(--red)); color: #fff; } .mh-game__k { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.85); } .mh-game__k i { width: 8px; height: 8px; background: #fff; }
	.mh-game__vs { display: block; margin-top: 10px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.75rem, 3vw, 2.375rem); line-height: .92; letter-spacing: var(--ls-tight); text-transform: uppercase; color: #fff; } .mh-game__vs em { font-style: normal; font-size: .62em; color: rgba(255,255,255,.7); } .mh-game__vs:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 3px; }
	.mh-cd { display: flex; gap: 6px; margin-top: var(--sp-4); } .mh-cd span { display: flex; flex-direction: column; align-items: center; min-width: 74px; padding: 10px 8px 6px; background: #fff; color: var(--gray-meta); font-family: var(--font-display); font-size: 0.625rem; font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; } .mh-cd b { font-weight: var(--fw-black); font-size: 2.25rem; line-height: .9; letter-spacing: -.02em; color: var(--red); }
	.mh-game__meta { margin: var(--sp-3) 0 0; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-ui); text-transform: uppercase; color: rgba(255,255,255,.9); } .mh-game .mh-btn--light:hover { color: var(--red); }

	.mh-card { padding: var(--sp-4) var(--sp-5); background: #fff; border: 1px solid var(--silver-line); } .mh-card__k { display: block; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); } .mh-card p { margin: 8px 0 0; font-family: var(--font-serif); font-size: .9375rem; line-height: 1.5; color: var(--gray-body); }
	.mh-card__more { display: inline-block; margin-top: 12px; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); text-decoration: underline; text-underline-offset: 3px; } .mh-card__more:hover { color: var(--red); } .mh-card__row { display: flex; flex-wrap: wrap; gap: 4px var(--sp-4); }
	.mh-level__row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); margin-top: 6px; } .mh-level__row b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); } .mh-level__row span { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.125rem; color: var(--gray-meta); } .mh-level__bar { height: 8px; margin-top: 10px; background: var(--silver); } .mh-level__bar i { display: block; height: 100%; background: var(--red); }
	.mh-level__badges { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; } .mh-level__badges li { padding: 4px 8px; background: var(--silver-3); border: 1px solid var(--silver-line); font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--graphite); }
	.mh-list { list-style: none; margin: 8px 0 0; padding: 0; } .mh-list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 9px 0; border-bottom: 1px solid var(--silver-line); font-family: var(--font-display); } .mh-list b, .mh-list--t a { font-weight: var(--fw-black); font-size: 1.0625rem; line-height: 1.1; text-transform: uppercase; color: var(--graphite); } .mh-list--t a:hover { color: var(--red); } .mh-list span { font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); } .mh-list span.is-live { color: var(--red); } .mh-list li > a:last-child:not(:first-child) { margin-left: auto; font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--graphite); text-decoration: underline; text-underline-offset: 3px; }
}

/* 4.40.0 · My Era, rebuilt. Hero that states the era, every game of those years as one chart split by season, season cards that
   carry their own game-by-game picker, the games worth remembering, people, photos, and a three-part close. */
@layer components {
	.ehero { position: relative; overflow: hidden; isolation: isolate; min-height: min(74vh, 720px); display: flex; align-items: flex-end; color: #fff; background: linear-gradient(160deg, #101215, var(--graphite)); border-bottom: 6px solid var(--red); }
	.ehero.has-image::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(10,11,13,.62) 0%, rgba(10,11,13,.45) 30%, rgba(10,11,13,.92) 80%, rgba(10,11,13,.97) 100%), linear-gradient(90deg, rgba(10,11,13,.7), rgba(10,11,13,0) 65%); } .ehero .rhero__ghost { z-index: -2; opacity: .06; }
	.ehero__inner { padding-block: var(--sp-8) var(--sp-6); }
	.ehero__title { display: flex; flex-wrap: wrap; align-items: center; gap: .08em .18em; margin: 16px 0 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(4rem, 13vw, 12rem); line-height: .8; letter-spacing: -.03em; }
	.ehero__title span { padding: .03em .08em 0; background: #fff; color: var(--red); } .ehero__title span + em + span { background: transparent; color: #fff; padding-inline: 0; text-shadow: 0 8px 50px rgba(0,0,0,.6); } .ehero__title em { font-style: normal; font-size: .3em; letter-spacing: .04em; text-transform: uppercase; color: rgba(255,255,255,.6); }
	.ehero__line { margin: var(--sp-4) 0 0; max-width: 46rem; font-family: var(--font-serif); font-size: clamp(1.125rem, 1.9vw, 1.5rem); line-height: 1.45; color: rgba(255,255,255,.94); } .ehero__line b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.15em; letter-spacing: var(--ls-tight); }
	.ehero__facts b i { font-style: normal; font-size: .6em; color: rgba(255,255,255,.6); }
	.enav { padding-block: var(--sp-5) 0; border: 0; } .enav .rh-yearsnote { margin: var(--sp-4) 0 0; }

	.eline { padding-block: var(--sp-7); } .sline__legend i.is-me { background: transparent; box-shadow: inset 0 -4px 0 var(--red); outline: 1px solid rgba(255,255,255,.4); outline-offset: -1px; }
	.eline__seasons { display: flex; gap: clamp(10px, 2vw, 28px); align-items: flex-end; } .eline__s { flex: var(--n) 1 0; min-width: 0; }
	.eline .sbar__n { display: none; } .eline .sbar a { grid-template-rows: calc(var(--bar, 150px) * var(--up, 1)) max(10px, calc(var(--bar, 150px) * var(--dn, .3))); } .eline .sbar.is-mine .sbar__up { border-bottom-color: var(--red); border-bottom-width: 4px; } .eline .sbar.is-mine .sbar__up i { background: #fff; } .eline .sbar:not(.is-mine) .sbar__up i { opacity: .45; } .eline .sbar:not(.is-mine).is-post .sbar__up i { opacity: .7; }
	.eline__seasons:not(:has(.is-mine)) .sbar .sbar__up i { opacity: 1; }
	.eline__y { display: flex; align-items: baseline; gap: 10px; margin-top: 12px; padding-top: 10px; border-top: 2px solid rgba(255,255,255,.3); color: #fff; } .eline__y b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.5rem, 2.6vw, 2.25rem); line-height: .85; letter-spacing: -.02em; } .eline__y span { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); color: rgba(255,255,255,.75); } .eline__y:hover b { color: #fff; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: var(--red); text-decoration-thickness: 3px; }
	@media (max-width: 767px) { .eline__seasons { flex-direction: column; align-items: stretch; gap: var(--sp-5); } .eline .sbars { --bar: 90px; } }

	.eseasons .chx-head p { max-width: 52rem; } .eseasons__saved { color: var(--red); }
	.eseason { margin-top: 10px; background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); } .eseason.is-champ { border-top-color: var(--red); }
	.eseason__head { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px var(--sp-5); padding: var(--sp-4) var(--sp-5); } @media (min-width: 800px) { .eseason__head { grid-template-columns: auto 1fr auto; } }
	.eseason__year { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3rem, 6vw, 5rem); line-height: .8; letter-spacing: -.03em; color: var(--red); } .eseason__year:hover { color: var(--graphite); }
	.eseason__id { display: flex; flex-direction: column; gap: 4px; min-width: 0; } .eseason__id b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.5rem, 2.6vw, 2.125rem); line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); } .eseason__id > span:not(.era-src) { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-semi); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); } .eseason__id .era-src { margin-top: 0; }
	.eseason__more { display: inline-flex; align-items: center; gap: 6px; grid-column: 1 / -1; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); text-decoration: underline; text-underline-offset: 3px; } @media (min-width: 800px) { .eseason__more { grid-column: auto; } } .eseason__more .icon { width: 14px; height: 14px; } .eseason__more:hover { color: var(--red); }
	.eseason .sg { margin: 0; border: 0; border-top: 1px solid var(--silver-line); } .eseason .sg .sg__year, .eseason .sg .sg__rec { display: none; } .eseason .sg > summary { grid-template-columns: 1fr auto; padding-inline: var(--sp-5); } .eseason .sg form { padding-inline: var(--sp-5); } .eseason .sg.has-marks { box-shadow: inset 4px 0 0 var(--red); }
	.eseason__note { margin: 0; padding: 12px var(--sp-5); border-top: 1px solid var(--silver-line); font-family: var(--font-serif); font-size: .9375rem; color: var(--gray-body); } .eseason__note a { color: var(--red); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
	.eseasons .erav { margin-top: var(--sp-7); }

	.emoments { background: linear-gradient(180deg, #15181c, var(--graphite)); color: #fff; padding-block: var(--sp-8); }
	.emoments__grid { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
	.emoment { display: flex; flex-direction: column; gap: 6px; padding: var(--sp-5); background: rgba(0,0,0,.34); border-top: 4px solid #fff; } .emoment:first-child { border-top-color: var(--red); }
	.emoment__k { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); }
	.emoment__score { display: flex; align-items: baseline; gap: .18em; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3.5rem, 6vw, 5.5rem); line-height: .82; letter-spacing: -.03em; color: #fff; } .emoment__score i { font-style: normal; font-size: .62em; color: rgba(255,255,255,.5); } .emoment__score:hover b { text-decoration: underline; text-decoration-thickness: 4px; text-underline-offset: 6px; text-decoration-color: var(--red); }
	.emoment__opp { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.375rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; } .emoment__d { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); }
	.emoment__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: auto; padding-top: var(--sp-3); } .emoment__acts em { font-style: normal; padding: 4px 8px; background: #fff; color: var(--red); font-family: var(--font-display); font-size: 0.6875rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; } .emoment__acts a { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: #fff; text-decoration: underline; text-underline-offset: 3px; }

	.eclose__grid { display: grid; gap: 10px; } @media (min-width: 1000px) { .eclose__grid { grid-template-columns: 1.4fr 1fr 1fr; } }
	.eclose__c { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: clamp(var(--sp-4), 3vw, var(--sp-6)); background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); } .eclose__c h2 { margin: 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.5rem, 2.6vw, 2.125rem); line-height: .95; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); } .eclose__c p { margin: 0; font-family: var(--font-serif); font-size: 1rem; line-height: 1.5; color: var(--gray-body); } .eclose__c > a { margin-top: auto; }
	.eclose__c--dark { background: linear-gradient(160deg, #15181c, var(--graphite)); border-color: var(--graphite); border-top-color: var(--red); color: #fff; } .eclose__c--dark h2 { color: #fff; font-size: clamp(1.75rem, 3.2vw, 2.75rem); } .eclose__c--dark p { color: rgba(255,255,255,.88); } .eclose__c--dark .fbtn:hover { background: #fff; color: var(--red); }
	.eclose__c ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; } .eclose__c li { display: flex; align-items: baseline; gap: 10px; } .eclose__c li b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2.25rem; line-height: .85; } .eclose__c li span { font-family: var(--font-serif); font-size: 1rem; color: rgba(255,255,255,.88); }
	.ehero ~ .hphotos .crecent--n1 { grid-auto-rows: clamp(240px, 26vw, 360px); }
}

/* 4.40.1 · One member nav everywhere, including the forum. The forum's own board tabs sit under it as a quieter second row. */
@layer components { .rh-nav--member { margin-bottom: var(--sp-4); } .rh-nav--sub { margin-top: calc(var(--sp-4) * -1 + 6px); padding-top: 10px; border-top: 1px solid var(--silver-line); gap: 2px; } .rh-nav--sub a { padding: 6px 10px; background: transparent; border-color: transparent; font-size: var(--fs-micro); letter-spacing: var(--ls-label); color: var(--gray-meta); } .rh-nav--sub a:hover { background: transparent; border-color: var(--graphite); color: var(--graphite); } .rh-nav--sub a.is-here { background: transparent; border-color: transparent; color: var(--graphite); box-shadow: inset 0 -3px 0 var(--red); } .rh-nav--sub a.is-cta { background: var(--red); border-color: var(--red); color: #fff; } .forum .rh-nav--member { margin-bottom: var(--sp-6); } }

/* 4.41.0 · Year by year. Banners for state champions (red) and state runners-up (silver), a decade grid shaded by record, and a
   table where both stay marked through any sort or filter. Red is the champions' colour; runners-up are honoured in silver. */
@layer components {
	.yby-hero__title { font-size: clamp(3.5rem, 10vw, 9rem); } .yby-banners { margin-top: var(--sp-6); }
	.banner--runner { background: linear-gradient(180deg, #f3f4f6 0%, #c9cdd3 100%); color: var(--graphite); box-shadow: inset 0 0 0 3px var(--graphite), inset 0 0 0 5px #e1e4e8; } .banner--runner::before { background: #fff; }
	.banner--runner .banner__k { color: var(--graphite); } .banner--runner .banner__score { background: var(--graphite); color: #fff; } .banner--runner:hover, .banner--runner:focus-visible { color: var(--graphite); }
	.yby-banners .banner { width: clamp(140px, 13vw, 184px); } .yby-banners .banner__label { font-size: .8125rem; }

	.ygrid { background: linear-gradient(180deg, #15181c, var(--graphite)); color: #fff; padding-block: var(--sp-7); }
	.ygrid__legend i { width: 14px; height: 14px; } .ygrid__legend i + i { margin-left: -4px; } .ygrid__legend .t1 { background: #3a4048; } .ygrid__legend .t2 { background: #59616b; } .ygrid__legend .t3 { background: #858d97; } .ygrid__legend .t4 { background: #bcc2ca; } .ygrid__legend .t5 { background: #fff; } .ygrid__legend .is-champ { background: var(--red); } .ygrid__legend .is-runner { background: #fff; box-shadow: inset 0 0 0 3px var(--red); }
	.ygrid__rows { display: grid; gap: 6px; } .ygrid__row { display: grid; grid-template-columns: 4.5rem repeat(10, minmax(0, 1fr)); gap: 6px; align-items: stretch; }
	.ygrid__row > b { align-self: center; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1rem, 1.6vw, 1.5rem); letter-spacing: var(--ls-tight); color: rgba(255,255,255,.75); }
	.ycell { position: relative; display: grid; place-items: center; height: clamp(38px, 4.4vw, 60px); background: #3a4048; color: rgba(255,255,255,.85); font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(.75rem, 1.2vw, 1.0625rem); transition: transform 150ms var(--ease, ease); } .ycell i { font-style: normal; }
	.ycell.is-none { background: transparent; outline: 1px dashed rgba(255,255,255,.12); outline-offset: -1px; } .ycell.t0 { background: #2f343a; color: rgba(255,255,255,.5); } .ycell.t2 { background: #59616b; } .ycell.t3 { background: #858d97; color: #15181c; } .ycell.t4 { background: #bcc2ca; color: #15181c; } .ycell.t5 { background: #fff; color: #15181c; }
	.ycell.is-champ { background: var(--red); color: #fff; box-shadow: inset 0 0 0 2px #fff; } .ycell.is-runner { background: #fff; color: var(--red); box-shadow: inset 0 0 0 4px var(--red); } .ycell.is-state { background: var(--graphite); color: #fff; box-shadow: inset 0 0 0 3px var(--red); } .ygrid__legend .is-state { background: var(--graphite); box-shadow: inset 0 0 0 3px var(--red); } .yby__badge--state { background: var(--graphite); color: #fff; box-shadow: inset 0 0 0 2px var(--red); } .yby__badge--region { background: var(--red); color: #fff; }
	a.ycell:hover, a.ycell:focus-visible { transform: scale(1.12); z-index: 3; outline: 2px solid #fff; outline-offset: 0; }
	.ycell__tip { position: absolute; z-index: 5; left: 50%; bottom: calc(100% + 8px); translate: -50% 0; display: none; flex-direction: column; gap: 2px; min-width: 150px; padding: 10px 12px; background: #fff; color: var(--graphite); border-top: 4px solid var(--red); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; text-align: left; white-space: nowrap; box-shadow: 0 14px 30px -12px rgba(0,0,0,.6); pointer-events: none; }
	.ycell__tip b { font-weight: var(--fw-black); font-size: 1.375rem; line-height: 1; } .ycell__tip em { font-style: normal; font-size: .6875rem; color: var(--gray-meta); letter-spacing: var(--ls-label); } .ycell__tip u { text-decoration: none; font-size: .6875rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); color: var(--red); }
	a.ycell:hover .ycell__tip, a.ycell:focus-visible .ycell__tip { display: flex; } .ygrid__row a.ycell:nth-child(-n+3) .ycell__tip { left: 0; translate: 0 0; } .ygrid__row a.ycell:nth-last-child(-n+2) .ycell__tip { left: auto; right: 0; translate: 0 0; }
	@media (max-width: 767px) { .ygrid__row { grid-template-columns: 3rem repeat(10, minmax(0, 1fr)); gap: 3px; } .ycell i { display: none; } }

	.yby-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--sp-3); } .yby-filters .chip { cursor: pointer; }
	.yby--v2 thead th { position: sticky; top: 0; z-index: 2; background: var(--graphite); color: #fff; cursor: pointer; } .yby--v2 td { padding-block: 10px; }
	.yby--v2 tr.is-champion td { background: #fff5f5; } .yby--v2 tr.is-champion td:first-child { box-shadow: inset 6px 0 0 var(--red); } .yby--v2 tr.is-runner td { background: var(--silver-3); } .yby--v2 tr.is-runner td:first-child { box-shadow: inset 6px 0 0 var(--graphite); }
	.yby--v2 tr:hover td { background: var(--silver-2); } .yby--v2 td:first-child { padding-left: 18px; }
	.yby__badge { text-decoration: none; padding: 3px 8px; } a.yby__badge:hover { background: var(--graphite); color: #fff; } .yby__badge--runner { background: #fff; color: var(--graphite); box-shadow: inset 0 0 0 2px var(--graphite); } a.yby__badge--runner:hover { background: var(--graphite); color: #fff; }
	.yby__pct { display: inline-block; vertical-align: middle; width: 54px; height: 6px; margin-right: 8px; background: var(--silver); } .yby__pct i { display: block; height: 100%; background: var(--graphite); } .is-champion .yby__pct i { background: var(--red); }
	@media (prefers-reduced-motion: reduce) { .ycell { transition: none; } a.ycell:hover { transform: none; } }
}

/* 4.41.0 (cont.) · perfect seasons, and runners-up on their own smaller rail under the champions. */
@layer components { .ycell.is-perfect::after { content: ""; position: absolute; top: 5px; right: 5px; width: 9px; height: 9px; background: #15181c; rotate: 45deg; } .ycell.is-champ.is-perfect::after { background: #fff; } .ygrid__legend .is-perfect { background: #fff; position: relative; } .ygrid__legend .is-perfect::after { content: ""; position: absolute; top: 2px; right: 2px; width: 5px; height: 5px; background: #15181c; rotate: 45deg; } .yby__badge--perfect { background: #fff; color: var(--graphite); box-shadow: inset 0 0 0 1px var(--silver-line); } }
@layer components { .yby-banners--runners { margin-top: var(--sp-5); padding-top: 12px; border-top-width: 3px; border-top-color: rgba(255,255,255,.55); gap: 10px; align-items: flex-start; } .yby-banners--runners .banner { width: clamp(104px, 9vw, 128px); min-height: 0; padding: 12px 8px 34px; clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - 20px), 0 100%); } .yby-banners--runners .banner::before { top: -12px; height: 12px; } .yby-banners--runners .banner__year { font-size: clamp(1.75rem, 2.8vw, 2.375rem); } .yby-banners--runners .banner__k { font-size: .5625rem; } .yby-banners--runners .banner__label { font-size: .75rem; }
	.yby-banners__h { display: flex; flex-direction: column; justify-content: center; gap: 4px; min-width: 150px; padding-right: var(--sp-3); color: #fff; } .yby-banners__h b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 3rem; line-height: .8; } .yby-banners__h span { max-width: 10rem; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.75); } }

/* 4.41.1 · Year by year, champion rows. Two fixes: the champion tag was red text on a red tag (it inherited the red link colour,
   so it read as a blank bar), and the title years now stand out as tall graphite rows with the championship photo. */
@layer components {
	.yby--v2 td:first-child a.yby__badge { color: #fff; } .yby--v2 td:first-child a.yby__badge--runner { color: var(--graphite); } .yby--v2 td:first-child a.yby__badge--runner:hover, .yby--v2 td:first-child a.yby__badge:hover { color: #fff; }
	.yby--v2 tr.is-champion td { background: linear-gradient(180deg, #181b1f, var(--graphite)); color: #fff; border-top: 4px solid var(--red); padding-block: 14px; vertical-align: middle; font-size: 1.125rem; } .yby--v2 tr.is-champion td:first-child { box-shadow: none; padding-left: 14px; font-size: inherit; }
	.yby--v2 tr.is-champion + tr td { border-top-color: transparent; } .yby--v2 tr.is-champion:hover td { background: linear-gradient(180deg, #181b1f, var(--graphite)); }
	.yby--v2 tr.is-champion td a { color: #fff; } .yby--v2 tr.is-champion .yby__pct { background: rgba(255,255,255,.22); } .yby--v2 tr.is-champion .yby__pct i { background: var(--red); }
	.yby-champ { display: flex; align-items: center; gap: 18px; white-space: normal; }
	.yby-champ__photo { position: relative; flex: none; display: block; width: clamp(150px, 15vw, 230px); aspect-ratio: 16 / 10; overflow: hidden; background: #0e1012; outline: 2px solid rgba(255,255,255,.85); outline-offset: -2px; }
	.yby-champ__photo img:not(.yby-champ__mark) { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; filter: grayscale(1) contrast(1.06); transition: filter 300ms var(--ease, ease), transform 500ms var(--ease, ease); } .yby--v2 tr.is-champion:hover .yby-champ__photo img:not(.yby-champ__mark) { filter: none; transform: scale(1.04); }
	.yby-champ__mark { position: absolute; inset: 0; margin: auto; width: 56%; opacity: .16; }
	.yby-champ__id { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
	.yby-champ__tag { padding: 4px 14px 3px 9px; background: var(--red); color: #fff; font-family: var(--font-display); font-size: .6875rem; font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 100%, 0 100%); }
	.yby--v2 tr.is-champion td:first-child a.yby-champ__year { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.5rem, 4.4vw, 4rem); line-height: .8; letter-spacing: -.02em; color: #fff; text-decoration: none; } .yby--v2 tr.is-champion td:first-child a.yby-champ__year:hover { color: #fff; text-decoration: underline; text-decoration-thickness: 4px; text-underline-offset: 5px; text-decoration-color: var(--red); }
	.yby--v2 tr.is-champion td:first-child a.yby-champ__label { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: rgba(255,255,255,.85); text-decoration: underline; text-underline-offset: 3px; } .yby-champ__label .icon { width: 14px; height: 14px; }
	.yby-champ__final { display: flex; flex-direction: column; gap: 4px; white-space: normal; text-decoration: none; } .yby-champ__final b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2rem, 3.4vw, 3rem); line-height: .85; letter-spacing: -.02em; color: #fff; } .yby-champ__final i { font-style: normal; color: rgba(255,255,255,.55); }
	.yby-champ__final span { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.8); } .yby-champ__final:hover b { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 5px; text-decoration-color: var(--red); }
	.yby--v2 tr.is-runner td { padding-block: 14px; border-top: 3px solid var(--graphite); } .yby--v2 tr.is-runner td:first-child a:first-child { font-size: 1.5rem; }
	@media (max-width: 899px) { .yby-champ { gap: 12px; } .yby-champ__photo { width: 110px; } }
	@media (prefers-reduced-motion: reduce) { .yby-champ__photo img { transition: none; } }
}

/* 4.42.0 · Scoring through the years. A dark main chart with the gap shaded and title years marked, a margin chart, decades,
   ranked boards, single-game extremes, a score distribution and a coaches table. Red means Corbin; silver means the opponent. */
@layer components {
	.sc-hero__title { font-size: clamp(3rem, 8.4vw, 8rem); }
	.sc-chart { background: linear-gradient(180deg, #15181c, var(--graphite)); color: #fff; padding-block: var(--sp-7); }
	.sc-legend i.sc-k { border-radius: 0; } .sc-legend i.sc-k--pf { width: 22px; height: 4px; background: var(--red); } .sc-legend i.sc-k--pa { width: 22px; height: 4px; background: #aab0b8; } .sc-legend i.sc-k--ch { width: 12px; height: 12px; background: var(--red); outline: 2px solid #fff; } .sc-legend i.sc-k--ru { width: 9px; height: 9px; background: #fff; outline: 2px solid var(--red); outline-offset: 0; }
	.sc-k { display: inline-block; width: 22px; height: 4px; vertical-align: middle; } .sc-k--pf { background: var(--red); } .sc-k--pa { background: #aab0b8; } .sc-k--ch, .sc-k--ru { width: 11px; height: 11px; rotate: 45deg; margin-inline: 3px; } .sc-k--ch { background: var(--red); outline: 2px solid #fff; } .sc-k--ru { background: #fff; outline: 2px solid var(--red); outline-offset: -2px; }
	.sc-plot { position: relative; } .sc-plot svg { display: block; width: 100%; height: clamp(260px, 34vw, 480px); overflow: visible; }
	.sc-grid { stroke: rgba(255,255,255,.1); stroke-width: 1; vector-effect: non-scaling-stroke; } .sc-grid--v { stroke: rgba(255,255,255,.06); }
	.sc-tick { fill: rgba(255,255,255,.6); font-family: var(--font-display); font-size: 15px; font-weight: 700; letter-spacing: .06em; } .sc-note { fill: #fff; font-family: var(--font-display); font-size: 17px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; paint-order: stroke; stroke: #1b1f23; stroke-width: 5px; }
	.sc-area { fill: rgba(206,26,39,.2); } .sc-line { fill: none; stroke-width: 3.5; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; } .sc-line--pf { stroke: var(--red); } .sc-line--pa { stroke: #aab0b8; stroke-width: 2.5; }
	.sc-mark { vector-effect: non-scaling-stroke; stroke-width: 2.5; } .sc-mark--ch { fill: var(--red); stroke: #fff; } .sc-mark--ru { fill: #fff; stroke: var(--red); }
	.sc-guide { stroke: #fff; stroke-width: 1.5; opacity: 0; vector-effect: non-scaling-stroke; pointer-events: none; } .sc-hit { fill: transparent; cursor: pointer; } a:focus .sc-hit { fill: rgba(255,255,255,.08); } .sc-plot a:focus { outline: 0; }
	.sc-tip { position: absolute; top: 8px; z-index: 3; display: flex; flex-direction: column; gap: 3px; min-width: 190px; padding: 12px 14px; background: #fff; color: var(--graphite); border-top: 4px solid var(--red); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; box-shadow: 0 16px 34px -14px rgba(0,0,0,.7); pointer-events: none; } .sc-tip[hidden] { display: none; }
	.sc-tip b { font-weight: var(--fw-black); font-size: 2rem; line-height: .9; letter-spacing: -.01em; } .sc-tip em { font-style: normal; font-weight: var(--fw-black); font-size: 1.25rem; margin-right: 4px; } .sc-tip__row { display: flex; align-items: center; gap: 8px; } .sc-tip u { text-decoration: none; color: var(--red); font-weight: var(--fw-black); font-size: var(--fs-micro); letter-spacing: var(--ls-label); } .sc-tip [data-coach] { color: var(--gray-meta); font-size: var(--fs-micro); letter-spacing: var(--ls-label); }
	.sc-cap { margin: var(--sp-3) 0 0; font-family: var(--font-serif); font-style: italic; font-size: .9375rem; color: rgba(255,255,255,.7); } .sc-cap--dark { color: var(--gray-body); }

	.mbars { list-style: none; margin: 0; padding: 0 0 26px; display: grid; grid-template-columns: repeat(var(--n, 100), minmax(0, 1fr)); gap: 2px; } .mbars li { position: relative; }
	.mbars a { display: grid; grid-template-rows: 130px 90px; } .mbars__up, .mbars__dn { position: relative; display: block; } .mbars__up { border-bottom: 2px solid var(--graphite); } .mbars__up i { position: absolute; left: 0; right: 0; bottom: 0; background: var(--graphite); } .mbars__dn i { position: absolute; left: 0; right: 0; top: 0; background: #b5bac1; }
	.mbars li.is-champ .mbars__up i { background: var(--red); } .mbars li.is-runner .mbars__up i { background: #fff; box-shadow: inset 0 0 0 2px var(--red); } .mbars a:hover i, .mbars a:focus-visible i { background: var(--red-deep); box-shadow: none; } .mbars a:focus-visible { outline: 2px solid var(--graphite); }
	.mbars b { position: absolute; left: 0; bottom: -24px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); color: var(--gray-meta); } @media (max-width: 767px) { .mbars { gap: 1px; } .mbars a { grid-template-rows: 90px 60px; } .mbars li:not(:nth-child(20n+8)) b { display: none; } }

	.sc-decades { background: linear-gradient(180deg, #15181c, var(--graphite)); color: #fff; padding-block: var(--sp-8); }
	.sc-dec__grid { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); } .sc-dec { display: flex; flex-direction: column; gap: 6px; padding: var(--sp-4); background: rgba(0,0,0,.34); border-top: 4px solid rgba(255,255,255,.5); }
	.sc-dec b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2.5rem; line-height: .85; letter-spacing: -.02em; } .sc-dec__n, .sc-dec__m { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.7); } .sc-dec__m { margin-top: 4px; color: #fff; font-size: var(--fs-small); }
	.sc-dec__bar { display: grid; grid-template-columns: 1fr 3.2rem; align-items: center; gap: 8px; } .sc-dec__bar i { display: block; height: 12px; } .sc-dec__bar .pf { background: var(--red); } .sc-dec__bar .pa { background: #aab0b8; } .sc-dec__bar em { font-style: normal; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.125rem; text-align: right; }

	.sc-boards__grid { display: grid; gap: var(--sp-5); } @media (min-width: 1000px) { .sc-boards__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
	.sc-board { background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); } .sc-board h3 { margin: 0; padding: 14px 16px 12px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); border-bottom: 1px solid var(--silver-line); }
	.sc-board ol { list-style: none; margin: 0; padding: 0; } .sc-board a { display: grid; grid-template-columns: 1.6rem 3.4rem 1fr auto; align-items: center; gap: 2px 10px; padding: 9px 16px; border-bottom: 1px solid var(--silver-line); color: var(--graphite); } .sc-board li:last-child a { border-bottom: 0; } .sc-board a:hover { background: var(--silver-3); }
	.sc-board__n { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1rem; color: var(--gray-meta); } .sc-board__y { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.375rem; line-height: 1; color: var(--red); } .sc-board__bar { height: 8px; background: var(--silver); } .sc-board__bar i { display: block; height: 100%; background: var(--graphite); } .sc-board li.is-champ .sc-board__bar i { background: var(--red); }
	.sc-board__v { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; min-width: 3.2rem; text-align: right; } .sc-board__r { grid-column: 2 / -1; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); } .sc-board li:first-child a { background: var(--silver-3); } .sc-board li:first-child .sc-board__y, .sc-board li:first-child .sc-board__v { font-size: 1.75rem; }
	.sc-hard { margin: var(--sp-5) 0 0; padding: 14px 18px; background: #fff; border-left: 4px solid var(--graphite); font-family: var(--font-serif); font-size: 1rem; line-height: 1.5; color: var(--gray-body); } .sc-hard b { font-family: var(--font-display); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); margin-right: 6px; }

	.sc-streaks { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); margin-top: 8px; } .sc-streak { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 0 12px; padding: var(--sp-4) var(--sp-5); background: rgba(0,0,0,.34); border-left: 4px solid var(--red); }
	.sc-streak b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 3.25rem; line-height: .85; } .sc-streak span { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.125rem; letter-spacing: var(--ls-ui); text-transform: uppercase; } .sc-streak p { grid-column: 1 / -1; margin: 8px 0 0; font-family: var(--font-serif); font-size: .9375rem; color: rgba(255,255,255,.8); }

	.sc-dist__grid { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: clamp(4px, 1vw, 12px); align-items: end; } .sc-bin { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; }
	.sc-bin__bar { display: flex; align-items: flex-end; width: 100%; height: 220px; border-bottom: 3px solid var(--graphite); } .sc-bin__bar i { position: relative; display: block; width: 100%; background: var(--silver); } .sc-bin__bar em { position: absolute; left: 0; right: 0; bottom: 0; background: var(--red); }
	.sc-bin b { margin-top: 6px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1rem, 1.8vw, 1.5rem); line-height: 1; color: var(--graphite); } .sc-bin span { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); } .sc-bin strong { font-family: var(--font-display); font-weight: var(--fw-black); font-size: var(--fs-small); color: var(--red); }
	@media (max-width: 767px) { .sc-bin__bar { height: 140px; } .sc-bin span { display: none; } .sc-tip { display: none !important; } }
	.sc-ctable td:first-child { color: var(--graphite); font-size: 1.0625rem; }
}

/* 4.43.0 · New from your era (My Home), evidence and appeals on the claim page, and the in-memoriam line on a profile. */
@layer components {
	.mh-news { padding: clamp(var(--sp-4), 3vw, var(--sp-6)); background: #fff; border: 1px solid var(--silver-line); border-top: 6px solid var(--graphite); }
	.mh-news__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--silver-line); }
	.mh-news__list a { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 4px 14px; padding: 12px 6px; border-bottom: 1px solid var(--silver-line); color: var(--graphite); } .mh-news__list a:hover { background: var(--silver-3); } .mh-news__list li.is-new a { box-shadow: inset 4px 0 0 var(--red); padding-left: 14px; }
	.mh-news__img, .mh-news__ico { display: grid; place-items: center; width: 52px; height: 52px; overflow: hidden; background: var(--graphite); color: #fff; } .mh-news__img img { width: 100%; height: 100%; object-fit: cover; } .mh-news__ico svg { width: 24px; height: 24px; }
	.mh-news__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; } .mh-news__body b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.1875rem; line-height: 1.08; letter-spacing: var(--ls-tight); text-transform: uppercase; } .mh-news__body em { font-style: italic; font-family: var(--font-serif); font-size: .9375rem; line-height: 1.4; color: var(--gray-body); }
	.mh-news__when { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); white-space: nowrap; } .mh-news__when i { font-style: normal; margin-right: 6px; padding: 2px 7px; background: var(--red); color: #fff; font-weight: var(--fw-black); }
	.mh-news__empty { margin: 0; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.55; color: var(--gray-body); }
	.mh-need { display: flex; flex-wrap: wrap; align-items: center; gap: 10px var(--sp-5); margin-top: var(--sp-4); padding: var(--sp-4); background: var(--silver-3); border-left: 4px solid var(--red); } .mh-need__k { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red); }
	.mh-need ul { flex: 1 1 18rem; list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px var(--sp-5); font-family: var(--font-serif); font-size: 1rem; color: var(--graphite); } .mh-need li b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: 1; margin-right: 4px; }
	@media (max-width: 600px) { .mh-news__list a { grid-template-columns: 44px minmax(0, 1fr); } .mh-news__img, .mh-news__ico { width: 44px; height: 44px; } .mh-news__when { grid-column: 2; } }

	.claim__files { display: block; width: 100%; margin-top: 8px; padding: 14px; border: 2px dashed var(--silver-line); background: #fff; font-family: var(--font-serif); font-size: 1rem; cursor: pointer; } .claim__files:hover, .claim__files:focus { border-color: var(--graphite); outline: 0; }
	.claim__files::file-selector-button { margin-right: 14px; padding: 9px 14px; border: 2px solid var(--graphite); border-radius: 0; background: var(--graphite); color: #fff; font-family: var(--font-display); font-weight: var(--fw-black); font-size: var(--fs-small); letter-spacing: var(--ls-ui); text-transform: uppercase; cursor: pointer; }
	.claim__appeal { margin-bottom: var(--sp-6); border-top-color: var(--red); } .claim__appeal .claim__pick { margin-top: var(--sp-4); } .claim__appeal .claim__notelabel:first-of-type { margin-top: 0; }
	.vclaim--memorial { color: #fff; } .vclaim--memorial::before { content: ""; width: 10px; height: 10px; background: #fff; rotate: 45deg; margin-right: 4px; }
}

/* 4.44.0 · Join page, rewritten. Nine chapters, each the owner's words on one side and a live specimen on the other, then
   "This is your history too" as a closing statement. */
@layer components {
	.jch { background: var(--silver-3); padding-block: var(--sp-8); } .jch .jtour__head { margin-bottom: var(--sp-6); }
	.jc { display: grid; gap: 0; margin-top: 10px; background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); } .jc:hover { border-top-color: var(--red); }
	@media (min-width: 960px) { .jc { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); } .jc--flip .jc__copy { order: 2; } }
	.jc__copy { position: relative; padding: clamp(var(--sp-5), 4vw, var(--sp-7)); } .jc__copy h3 { margin: 0 0 var(--sp-3); max-width: 16ch; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2rem, 3.8vw, 3.25rem); line-height: .92; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.jc__copy p { margin: 0 0 .9em; max-width: 38rem; font-family: var(--font-serif); font-size: 1.125rem; line-height: 1.6; color: var(--gray-body); } .jc__copy p:last-of-type { margin-bottom: 0; } .jc__copy strong { color: var(--graphite); }
	.jc__n { display: block; margin-bottom: 10px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; letter-spacing: .12em; color: var(--red); } .jc__n::after { content: ""; display: inline-block; width: 44px; height: 3px; margin-left: 12px; vertical-align: middle; background: var(--red); } .jc__n--light { color: #fff; } .jc__n--light::after { background: #fff; }
	.jc__copy .jc__fine { padding-left: var(--sp-3); border-left: 3px solid var(--silver-line); font-size: 1rem; } .jc__copy .jc__stand { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.375rem; line-height: 1.15; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
	.jc__link { display: inline-flex; align-items: center; gap: 8px; margin-top: var(--sp-3); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--red); text-decoration: underline; text-underline-offset: 3px; } .jc__link .icon { width: 15px; height: 15px; }
	.jc__show { display: flex; flex-direction: column; justify-content: center; gap: var(--sp-3); padding: clamp(var(--sp-5), 4vw, var(--sp-7)); background: var(--silver-3); border-top: 1px solid var(--silver-line); min-height: 240px; } @media (min-width: 960px) { .jc__show { border-top: 0; border-left: 1px solid var(--silver-line); } .jc--flip .jc__show { border-left: 0; border-right: 1px solid var(--silver-line); } }
	.jc__show--dark { background: linear-gradient(160deg, #15181c, var(--graphite)); color: #fff; border-color: var(--graphite); }
	.jc__cap { margin: 0; font-family: var(--font-serif); font-style: italic; font-size: .9375rem; color: var(--gray-body); } .jc__cap--light { color: rgba(255,255,255,.75); }
	.jc__verified { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: rgba(255,255,255,.85); } .jc__verified svg { width: 14px; height: 14px; padding: 2px; background: #fff; color: var(--red); box-sizing: content-box; }
	.jc__seasons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; } .jc__season { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); } .jc__season.is-champ { border-top-color: var(--red); }
	.jc__season b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2.25rem; line-height: .85; letter-spacing: -.02em; color: var(--red); } .jc__season span { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; color: var(--graphite); } .jc__season small { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.jc__game { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.5rem, 2.6vw, 2.125rem); line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; } .jc__roles { display: flex; flex-wrap: wrap; gap: 6px; } .jc__roles span { padding: 12px 16px; border: 2px solid rgba(255,255,255,.5); font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1rem; letter-spacing: var(--ls-ui); text-transform: uppercase; } .jc__roles span.is-on { background: #fff; border-color: #fff; color: var(--red); box-shadow: inset 0 -4px 0 var(--red); }
	.jc__quote { position: relative; margin: 0; padding-left: clamp(2.5rem, 5vw, 4rem); } .jc__quote::before { content: "\201C"; position: absolute; left: 0; top: -.1em; font-family: var(--font-serif); font-weight: 700; font-size: clamp(4rem, 7vw, 6rem); line-height: .8; color: var(--red); }
	.jc__quote blockquote { margin: 0; font-family: var(--font-serif); font-size: clamp(1.25rem, 2.2vw, 1.75rem); line-height: 1.45; color: var(--graphite); quotes: none; } .jc__quote figcaption { display: flex; flex-direction: column; gap: 4px; margin-top: var(--sp-4); padding-left: var(--sp-3); border-left: 3px solid var(--graphite); } .jc__quote b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; line-height: 1; text-transform: uppercase; color: var(--graphite); } .jc__quote span { font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.jc__gaps { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; } .jc__gaps li { display: flex; align-items: baseline; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.18); } .jc__gaps b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.5rem, 4.4vw, 3.75rem); line-height: .85; letter-spacing: -.02em; } .jc__gaps span { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: rgba(255,255,255,.8); }
	.jc__show .jranks, .jc__show .jboards, .jc__show .jmail, .jc__show .jcard { margin: 0; }

	.jyours { position: relative; overflow: hidden; background: linear-gradient(160deg, #101215, var(--graphite)); color: #fff; padding-block: var(--sp-9, 6rem); border-top: 6px solid var(--red); }
	.jyours__inner { max-width: 60rem; } .jyours__title { margin: 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(3rem, 8vw, 7rem); line-height: .85; letter-spacing: var(--ls-tight); text-transform: uppercase; }
	.jyours__lede { margin: var(--sp-5) 0 0; max-width: 44rem; font-family: var(--font-serif); font-size: clamp(1.25rem, 2.2vw, 1.625rem); line-height: 1.45; color: rgba(255,255,255,.92); }
	.jyours__list { list-style: none; margin: var(--sp-6) 0; padding: 0; border-top: 1px solid rgba(255,255,255,.2); } .jyours__list li { padding: 14px 0 12px; border-bottom: 1px solid rgba(255,255,255,.2); font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.5rem, 3.4vw, 2.75rem); line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: rgba(255,255,255,.55); transition: color 200ms, padding-left 200ms; } .jyours__list li:hover { color: #fff; padding-left: 14px; box-shadow: inset 4px 0 0 var(--red); }
	.jyours__close { margin: 0 0 var(--sp-5); max-width: 44rem; font-family: var(--font-serif); font-size: clamp(1.125rem, 1.9vw, 1.4375rem); line-height: 1.5; color: rgba(255,255,255,.9); } .jyours__close b { display: block; margin-top: .4em; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5em; line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: #fff; } .jyours .fbtn:hover { background: #fff; color: var(--red); }
	@media (prefers-reduced-motion: reduce) { .jyours__list li { transition: none; } }
}
@layer components { .jc__show .jranks { flex: none; width: 100%; } .jc__show--dark .jranks li b { color: #fff; } .jc__show .jranks li { padding: 10px 8px; } .jc__show .jranks b { font-size: clamp(.8125rem, 1.15vw, 1.0625rem); overflow-wrap: anywhere; } }

/* 4.45.0 · No contest: its own state on the game page, and a plain note explaining that it does not count. */
@layer components { .matchup__nc { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.75rem, 4vw, 3.25rem); line-height: .9; letter-spacing: var(--ls-tight); text-transform: uppercase; color: #fff; padding: .08em .3em 0; box-shadow: inset 0 0 0 3px rgba(255,255,255,.7); white-space: nowrap; } .nc-note { background: var(--graphite); color: #fff; border-top: 4px solid #fff; padding-block: var(--sp-4); } .nc-note .container { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px var(--sp-4); } .nc-note b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.375rem; letter-spacing: var(--ls-ui); text-transform: uppercase; } .nc-note p { margin: 0; flex: 1 1 28rem; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.5; color: rgba(255,255,255,.9); } }

/* 4.45.2 · Homepage lead story. On phones the words no longer sit on the photograph: photo on top, headline on a solid graphite panel
   under it, so it reads the same whatever the picture is. On wider screens the dark floor now belongs to the text block itself, so it
   grows with a long headline instead of stopping halfway up it. Long subtitles are held to a few lines. */
@layer components {
	.story-lead__title { text-wrap: balance; } .story-lead__subtitle { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
	@media (max-width: 767px) {
		.story-lead { aspect-ratio: auto; height: auto; background: var(--graphite); border-bottom: 6px solid var(--red); }
		.story-lead__link { display: flex; flex-direction: column; height: auto; }
		.story-lead__img { position: static; z-index: auto; width: 100%; height: auto; aspect-ratio: 16 / 10; object-position: center 30%; }
		.story-lead__img--empty { display: block; }
		.story-lead__fade { display: none; }
		.story-lead__body { position: static; padding: var(--sp-5) var(--sp-4) var(--sp-5); background: linear-gradient(180deg, #181b1f, var(--graphite)); }
		.story-lead__body .kicker--tag { margin-top: calc( var(--sp-5) * -1 - 14px ); position: relative; }
		.story-lead__title { margin-top: var(--sp-3); font-size: clamp(1.75rem, 8vw, 2.5rem); line-height: .95; color: #fff; }
		.story-lead__subtitle { margin-top: var(--sp-3); font-family: var(--font-serif); font-size: 1.0625rem; font-weight: 400; line-height: 1.5; letter-spacing: 0; color: rgba(255,255,255,.88); -webkit-line-clamp: 4; }
		.story-lead__deck { display: none; }
		.story-lead__body .btn { margin-top: var(--sp-4); }
	}
	@media (min-width: 768px) {
		.story-lead__fade { background: linear-gradient(180deg, rgba(10,11,13,0) 0%, rgba(10,11,13,.25) 45%, rgba(10,11,13,.6) 100%); }
		.story-lead__body { padding-top: clamp(4rem, 9vw, 8rem); background: linear-gradient(180deg, rgba(10,11,13,0) 0%, rgba(10,11,13,.78) 32%, rgba(10,11,13,.95) 100%); }
		.story-lead__title { text-shadow: 0 2px 24px rgba(0,0,0,.55); } .story-lead__subtitle { max-width: 46rem; font-size: clamp(1.0625rem, 1.5vw, 1.3125rem); font-weight: 500; color: rgba(255,255,255,.92); }
	}
}

/* 4.47.0 · Media desk: the offer and application, upload by game, and a photographer's galleries with their status. */
@layer components {
	.mdesk { max-width: 72rem; }
	.mdesk__pitch { display: grid; gap: var(--sp-5); align-items: start; } @media (min-width: 1000px) { .mdesk__pitch { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-7); } }
	.mdesk__why { padding: clamp(var(--sp-5), 4vw, var(--sp-7)); background: linear-gradient(160deg, #15181c, var(--graphite)); color: #fff; border-top: 6px solid var(--red); } .mdesk__why h2 { margin: 0 0 var(--sp-4); font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2rem, 4vw, 3.25rem); line-height: .92; letter-spacing: var(--ls-tight); text-transform: uppercase; }
	.mdesk__why ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-3); } .mdesk__why li { padding-left: var(--sp-4); border-left: 3px solid rgba(255,255,255,.35); font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.5; color: rgba(255,255,255,.9); } .mdesk__why li b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; letter-spacing: var(--ls-ui); text-transform: uppercase; color: #fff; }
	.mdesk__apply, .mdesk__up form { display: grid; gap: var(--sp-3); padding: clamp(var(--sp-4), 3vw, var(--sp-6)); background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); } .mdesk__apply h3 { margin: 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.75rem; line-height: 1; text-transform: uppercase; color: var(--graphite); }
	.mdesk__grid { display: grid; gap: var(--sp-4); grid-template-columns: repeat(2, minmax(0, 1fr)); } .mdesk__f--wide { grid-column: 1 / -1; } @media (max-width: 700px) { .mdesk__grid { grid-template-columns: 1fr; } }
	.mdesk__f label:not(.mdesk__drop) { display: block; margin-bottom: 6px; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--graphite); } .mdesk__f label small { font-weight: var(--fw-semi); color: var(--gray-meta); margin-left: 4px; } .mdesk__f label b { display: inline-grid; place-items: center; width: 1.6em; height: 1.6em; margin-right: 6px; background: var(--red); color: #fff; font-size: .95em; }
	.mdesk__f input[type=text], .mdesk__f input[type=url], .mdesk__f select, .mdesk__f textarea { width: 100%; min-height: 54px; padding: 12px 14px; border: 2px solid var(--silver-line); border-radius: 0; background: var(--silver-3); font-family: var(--font-serif); font-size: 1.0625rem; color: var(--graphite); } .mdesk__f input:focus, .mdesk__f select:focus, .mdesk__f textarea:focus { outline: 0; border-color: var(--graphite); background: #fff; box-shadow: inset 0 -4px 0 var(--red); }
	.mdesk__f p { margin: 6px 0 0; font-family: var(--font-serif); font-size: .9375rem; line-height: 1.45; color: var(--gray-body); }
	.mdesk__drop { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 170px; padding: var(--sp-5); border: 3px dashed var(--silver-line); background: repeating-linear-gradient(135deg, #f3f4f6 0 12px, #eceef1 12px 24px); text-align: center; cursor: pointer; } .mdesk__drop:hover, .mdesk__drop:focus-within { border-color: var(--graphite); }
	.mdesk__drop input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; } .mdesk__drop-t { padding: 12px 20px; background: var(--graphite); color: #fff; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.125rem; letter-spacing: var(--ls-ui); text-transform: uppercase; } .mdesk__drop-s { font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); } .mdesk__drop-s.is-bad { color: var(--red); }
	.mdesk__send { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-5); } .mdesk__send p { flex: 1 1 18rem; margin: 0; font-family: var(--font-serif); font-size: .9375rem; color: var(--gray-body); } .mdesk .fbtn { border: 0; cursor: pointer; justify-self: start; } .mdesk .fbtn:hover { background: var(--graphite); color: #fff; } .mdesk .fbtn[disabled] { opacity: .6; cursor: wait; }
	.mdesk__terms { border: 1px solid var(--silver-line); background: var(--silver-3); padding: 12px 16px; } .mdesk__terms summary { cursor: pointer; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--graphite); } .mdesk__terms ol { margin: 10px 0 0; padding-left: 1.2em; display: grid; gap: 6px; font-family: var(--font-serif); font-size: .9375rem; line-height: 1.5; color: var(--gray-body); }
	.mdesk__agree { display: flex; align-items: flex-start; gap: 10px; font-family: var(--font-serif); font-size: 1rem; color: var(--graphite); cursor: pointer; } .mdesk__agree input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--red-btn); }
	.mdesk__flash { margin-bottom: var(--sp-5); padding: 14px 18px; background: #fff; border-left: 6px solid #1a7f37; } .mdesk__flash.is-bad { border-left-color: var(--red); } .mdesk__flash b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.25rem; letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); } .mdesk__flash ul { margin: 8px 0 0; padding-left: 1.2em; font-family: var(--font-serif); color: var(--gray-body); }
	.mdesk__mine { margin-top: var(--sp-8); } .mdesk__list { list-style: none; margin: 0 0 var(--sp-4); padding: 0; display: grid; gap: 4px; } .mdesk__list li > * { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: var(--sp-4); padding: 8px 16px 8px 8px; background: #fff; border: 1px solid var(--silver-line); color: var(--graphite); } .mdesk__list a:hover { border-color: var(--graphite); }
	.mdesk__thumb { display: block; width: 72px; height: 54px; overflow: hidden; background: var(--graphite); } .mdesk__thumb img { width: 100%; height: 100%; object-fit: cover; } .mdesk__t b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.1875rem; line-height: 1.05; text-transform: uppercase; } .mdesk__t em { font-style: normal; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
	.mdesk__st { padding: 5px 10px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; background: var(--silver-3); color: var(--gray-meta); box-shadow: inset 0 0 0 1px var(--silver-line); } .mdesk__st--publish { background: var(--graphite); color: #fff; box-shadow: inset 0 -3px 0 var(--red); }
	.mstrip { background: var(--graphite); color: #fff; border-top: 4px solid var(--red); padding-block: var(--sp-3); } .mstrip .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px var(--sp-5); } .mstrip span { font-family: var(--font-serif); font-size: 1rem; color: rgba(255,255,255,.9); } .mstrip b { font-family: var(--font-display); font-weight: var(--fw-black); letter-spacing: var(--ls-ui); text-transform: uppercase; color: #fff; margin-right: 4px; }
}

/* 4.47.1 · Media desk: how much room is left in the gallery for the chosen game. */
@layer components { .mdesk__f p.mdesk__room { margin-top: 8px; padding: 8px 12px; background: #fff; border-left: 4px solid var(--red); font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); } }

/* 4.47.2 · Join form: the media route. */
@layer components { .join__media { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0 14px; padding: 12px 14px; background: var(--silver-3); border-left: 4px solid var(--graphite); cursor: pointer; font-family: var(--font-serif); font-size: .9375rem; line-height: 1.45; color: var(--gray-body); } .join__media input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--red-btn); } .join__media b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1rem; letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); } }

/* 4.48.0 · Join: the media panel revealed by the Connection dropdown. */
@layer components { .join__mediabox { display: grid; gap: var(--sp-3); margin: 4px 0 14px; padding: var(--sp-4); background: var(--silver-3); border-left: 4px solid var(--red); } .join__mediabox[hidden] { display: none; } .join__mediabox-lead { margin: 0; font-family: var(--font-serif); font-size: .9375rem; line-height: 1.5; color: var(--gray-body); } .join__mediabox-lead b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1rem; letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); } .join__terms { border: 1px solid var(--silver-line); background: #fff; padding: 10px 14px; } .join__terms summary { cursor: pointer; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-black); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--graphite); } .join__terms ol { margin: 8px 0 0; padding-left: 1.2em; display: grid; gap: 5px; font-family: var(--font-serif); font-size: .875rem; line-height: 1.45; color: var(--gray-body); } }

/* 4.49.0 · Media: sports the applicant covers, and the scope line on the desk. */
@layer components { .join__sports { display: flex; flex-wrap: wrap; gap: 4px 14px; padding-top: 4px; } .join__sports label { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-serif); font-size: .9375rem; color: var(--gray-body); text-transform: none; letter-spacing: 0; } .join__sports input { width: 18px; height: 18px; accent-color: var(--red-btn); } .mdesk__scope { margin: 0 0 var(--sp-4); padding: 8px 14px; background: var(--graphite); color: #fff; font-family: var(--font-display); font-size: var(--fs-small); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; } }

/* 4.49.1 · Join card: keep everything inside the card, whatever the column width, and let the revealed media panel and selects behave.
   The break was full-width children (the media panel, selects, the agree rows) not being held to the grid's content width. */
@layer components {
	.join__form { grid-template-columns: minmax(0, 1fr); } /* a min-width:0 track stops wide children from pushing the grid wider than the card */
	.join__form > * { min-width: 0; } .join__f { min-width: 0; }
	.join__f input, .join__f select, .join__f textarea { width: 100%; max-width: 100%; box-sizing: border-box; }
	.join__row { min-width: 0; } .join__row > * { min-width: 0; }
	.join__mediabox { min-width: 0; box-sizing: border-box; }
	.join__mediabox .join__row { grid-template-columns: minmax(0, 1fr); } /* inside the narrow panel, stack the two fields rather than squeezing them */
	@media (min-width: 460px) { .join__mediabox .join__row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
	.join__sports { min-width: 0; }
	.join__agree { align-items: flex-start; } .join__agree input { flex: none; margin-top: 3px; }
}

/* From the game: a real photo block on the game page. Cover large, a strip of the next four, a graphite bar with the credit and the count. */
.gfrom { display: grid; gap: 4px; margin-bottom: 14px; color: var(--gray-ink); text-decoration: none; background: var(--graphite); }
.gfrom--grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: auto auto; }
.gfrom__lead { grid-row: 1; display: block; overflow: hidden; } .gfrom__lead img { display: block; width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.gfrom--solo .gfrom__lead img { aspect-ratio: 16 / 9; }
.gfrom__strip { grid-row: 1; display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.gfrom__cell { position: relative; overflow: hidden; display: block; } .gfrom__cell img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gfrom__plus { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(43, 48, 54, .72); color: #fff; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 30px; }
.gfrom__bar { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 18px; padding: 12px 16px; background: var(--graphite); color: #fff; }
.gfrom__title { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 22px; line-height: 1; text-transform: uppercase; letter-spacing: .01em; }
.gfrom__meta { font-size: 13px; color: rgba(255,255,255,.72); }
.gfrom__cta { margin-left: auto; font-family: var(--font-display); font-size: var(--fs-label); font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: #fff; display: inline-flex; align-items: center; gap: 6px; }
.gfrom:hover .gfrom__cta { color: var(--red); } .gfrom:hover img { filter: brightness(1.05); }
@media (max-width: 720px) { .gfrom--grid { grid-template-columns: 1fr; } .gfrom__strip { grid-row: 2; grid-template-rows: 1fr; grid-template-columns: repeat(4, minmax(0, 1fr)); } .gfrom__cell img { aspect-ratio: 1; } .gfrom__bar { grid-row: 3; } .gfrom__cta { margin-left: 0; width: 100%; } }

/* ===== Seasons index: summary strip, century spine, decades, season cards with a win/loss strip ===== */
.sx { margin-bottom: var(--sp-8); }
.sx__head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--sp-4); padding-bottom: var(--sp-3); border-bottom: 4px solid var(--red); margin-bottom: var(--sp-4); }
.sx__head .archive-title small { font-size: .5em; font-weight: var(--fw-bold); letter-spacing: .06em; color: var(--gray-meta); margin-left: 10px; }
.sx__strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 6px; margin-bottom: var(--sp-5); }
.sx__stat { padding: 14px 16px; background: var(--white-card); border: var(--bw-hair) solid var(--gray-line); border-top: 4px solid var(--graphite); }
.sx__stat.is-red { border-top-color: var(--red); } .sx__stat.is-red b { color: var(--red); }
.sx__stat b small { font-size: .5em; font-weight: var(--fw-bold); color: var(--gray-meta); letter-spacing: .02em; }
.sx__stat b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2rem; line-height: .9; letter-spacing: -.01em; }
.sx__stat span { display: block; margin-top: 6px; font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-label); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); }
/* spine */
.spine { margin-bottom: var(--sp-6); padding: 14px 16px 12px; background: var(--white-card); border: var(--bw-hair) solid var(--gray-line); }
.spine__ticks { display: flex; gap: 2px; height: 34px; align-items: flex-end; }
.spine__tick { flex: 1 1 0; min-width: 3px; height: 40%; background: var(--gray-line); transition: height .15s, filter .15s; }
.spine__tick.p1 { height: 30%; background: #d9dce1; } .spine__tick.p2 { height: 45%; background: #b9bec6; } .spine__tick.p3 { height: 60%; background: #8f96a0; } .spine__tick.p4 { height: 78%; background: #5c636c; } .spine__tick.p5 { height: 95%; background: var(--graphite); }
.spine__tick.is-title { height: 100%; background: var(--red); } .spine__tick.is-runner { height: 100%; background: #fff; box-shadow: inset 0 0 0 2px var(--red); } .spine__tick.is-state { height: 100%; background: var(--graphite); box-shadow: inset 0 0 0 2px var(--red); } .spine__legend i.is-state { background: var(--graphite); box-shadow: inset 0 0 0 2px var(--red); }
.spine__tick.none { height: 14%; background: #e6e8ec; }
.spine__tick:hover { filter: brightness(.7); }
.spine__decades { display: flex; justify-content: space-between; margin-top: 8px; border-top: 1px solid var(--gray-line); padding-top: 8px; }
.spine__decade { font-family: var(--font-display); font-weight: var(--fw-black); font-size: var(--fs-label); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); text-decoration: none; }
.spine__decade:hover { color: var(--red); }
.spine__legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 8px; font-size: 12px; color: var(--gray-meta); }
.spine__legend span { display: inline-flex; align-items: center; gap: 4px; } .spine__legend i { width: 10px; height: 10px; display: inline-block; background: var(--gray-line); }
.spine__legend i.is-title { background: var(--red); } .spine__legend i.is-runner { background: #fff; box-shadow: inset 0 0 0 2px var(--red); } .spine__legend i.p5 { background: var(--graphite); } .spine__legend i.p4 { background: #5c636c; } .spine__legend i.p3 { background: #8f96a0; } .spine__legend i.p2 { background: #b9bec6; } .spine__legend i.p1 { background: #d9dce1; }
/* decade */
.dec { margin-bottom: var(--sp-6); scroll-margin-top: 90px; }
.dec__head { display: flex; align-items: baseline; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.dec__title { margin: 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2.6rem; line-height: 1; letter-spacing: -.01em; color: var(--graphite); }
.dec__meta { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-label); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); } .dec__meta b { color: var(--ink, #1c1f23); } .dec__meta em { font-style: normal; color: var(--red); }
/* cards */
.sgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 8px; }
.sc { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 16px 18px 14px; background: var(--white-card); border: var(--bw-hair) solid var(--gray-line); border-top: 4px solid var(--graphite); color: inherit; text-decoration: none; overflow: hidden; transition: border-color .15s, box-shadow .15s; }
.sc:hover { border-color: var(--graphite); box-shadow: 0 10px 24px -14px rgba(28,31,35,.4); }
.sc__top { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
.sc__year { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2.4rem; line-height: .9; color: var(--red); letter-spacing: -.01em; }
.sc__rec { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: 1; color: var(--ink, #1c1f23); }
.sc__norec { font-family: var(--font-body); font-weight: 400; font-size: .85rem; font-style: italic; color: var(--gray-meta); }
.sc__flag { margin-left: auto; padding: 3px 8px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 10px; letter-spacing: var(--ls-ui); text-transform: uppercase; }
.sc__flag--title { background: var(--red); color: #fff; } .sc__flag--runner { background: #fff; color: var(--red); box-shadow: inset 0 0 0 2px var(--red); } .sc__flag--perfect { background: var(--graphite); color: #fff; } .sc__flag--state { background: var(--graphite); color: #fff; box-shadow: inset 0 0 0 2px var(--red); } .sc__flag--region { background: #fff; color: var(--graphite); box-shadow: inset 0 0 0 2px var(--graphite); }
.sc__strip { display: flex; gap: 2px; } .sc__strip i { flex: 1 1 0; height: 6px; background: var(--gray-line); } .sc__strip i.w { background: var(--graphite); } .sc__strip i.l { background: #d0d4da; } .sc__strip i.t { background: #9aa0a8; } .sc__strip i.ps { outline: 1px solid var(--red); outline-offset: -1px; }
.sc__foot { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; font-size: 13px; color: var(--gray-meta); }
.sc__coach { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-label); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--graphite); }
.sc__pts em { font-style: normal; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; } .sc__post { font-style: italic; }
/* title season: graphite band with the championship photo bleeding in */
.sc--title { background: var(--graphite); color: #fff; border-color: var(--graphite); border-top-color: var(--red); }
.sc--title .sc__rec, .sc--title .sc__coach { color: #fff; } .sc--title .sc__foot, .sc--title .sc__norec { color: rgba(255,255,255,.72); }
.sc--title .sc__strip i { background: rgba(255,255,255,.18); } .sc--title .sc__strip i.w { background: #fff; } .sc--title .sc__strip i.l { background: rgba(255,255,255,.3); }
.sc__photo { position: absolute; inset: 0 0 0 auto; width: 46%; z-index: 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 45%); mask-image: linear-gradient(90deg, transparent, #000 45%); opacity: .55; } .sc__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.1); }
.sc--title > :not(.sc__photo) { position: relative; z-index: 1; }
.sc__title-line { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: #fff; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.18); }
.sc--runner { border-top-color: var(--red); } .sc--perfect:not(.sc--title) { border-top-color: var(--graphite); box-shadow: inset 4px 0 0 var(--red); }
@media (max-width: 720px) { .spine__ticks { height: 26px; } .spine__decades { overflow-x: auto; gap: 14px; justify-content: flex-start; } .sgrid { grid-template-columns: 1fr; } .sc__year { font-size: 2.1rem; } .dec__title { font-size: 2.1rem; } }

/* ===== In memoriam for people: ribbon on the portrait, a graphite line under the name, and a band on the Legends index ===== */
.lhero__ribbon, .person-card__ribbon { position: absolute; top: 14px; right: -34px; width: 130px; height: 16px; background: #111315; rotate: 45deg; z-index: 3; box-shadow: 0 1px 3px rgba(0,0,0,.4); pointer-events: none; }
.lhero__ribbon::after, .person-card__ribbon::after { content: ""; position: absolute; inset: 5px 0; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.lhero__photo { position: relative; overflow: hidden; }
.lhero--memorial .lhero__img { filter: grayscale(.15); }
.lhero__mem { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin: 6px 0 4px; }
.lhero__mem-k { padding: 3px 9px; background: #111315; color: #fff; font-family: var(--font-display); font-weight: var(--fw-black); font-size: var(--fs-label); letter-spacing: var(--ls-ui); text-transform: uppercase; }
.lhero__mem-years { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 1.1rem; letter-spacing: .04em; color: rgba(255,255,255,.85); }
.lhero__mem-line { margin: 10px 0 0; max-width: 60ch; font-style: italic; font-size: 1.05rem; line-height: 1.5; color: rgba(255,255,255,.85); border-left: 3px solid var(--red); padding-left: 14px; }
.person-card--memorial .person-card__media { position: relative; overflow: hidden; }
.person-card--memorial .person-card__img { filter: grayscale(.25); }
.person-card__mem { display: inline-block; align-self: flex-start; justify-self: start; width: max-content; margin: 2px 0 6px; padding: 2px 7px; background: #111315; color: #fff; font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 10px; letter-spacing: var(--ls-ui); text-transform: uppercase; }
.memband { margin: 0 0 var(--sp-6); padding: 18px 20px; background: var(--white-card); border: var(--bw-hair) solid var(--gray-line); border-left: 4px solid #111315; }
.memband__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-bottom: 12px; }
.memband__k { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.1rem; letter-spacing: .08em; text-transform: uppercase; color: var(--graphite); }
.memband__sub { font-style: italic; color: var(--gray-meta); }
.memband__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }
.memband__person { display: flex; align-items: center; gap: 12px; padding: 8px; background: var(--silver-3, #f3f4f6); color: inherit; text-decoration: none; border: var(--bw-hair) solid var(--gray-line); }
.memband__person:hover { border-color: var(--graphite); }
.memband__img { width: 48px; height: 48px; object-fit: cover; flex: none; filter: grayscale(.3); background: var(--gray-line); } .memband__img--empty { display: block; }
.memband__name { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.05rem; text-transform: uppercase; letter-spacing: .01em; }
.memband__meta { display: block; font-size: 12px; color: var(--gray-meta); }

/* ===== Timeline moments, rebuilt. Three tiers that read as three tiers; body copy always on a legible ground. ===== */
.tl .tm { position: relative; margin: 0 0 10px; }
.tm__dot { position: absolute; left: -30px; top: 22px; width: 12px; height: 12px; background: var(--red); border: 3px solid var(--paper); box-sizing: content-box; z-index: 2; }
@media (min-width: 900px) { .tm__dot { left: -46px; } }
/* head row: year tab, date, type tag */
.tm__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin-bottom: 8px; }
.tm__year { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: .9; letter-spacing: -.01em; color: var(--red); }
.tm__meta { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-label); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); }
.tm__type { margin-left: auto; padding: 2px 8px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 10px; letter-spacing: var(--ls-ui); text-transform: uppercase; background: var(--silver); color: var(--graphite); }
.tm__type--championship { background: var(--red); color: #fff; } .tm__type--stadium, .tm__type--program { background: var(--graphite); color: #fff; } .tm__type--player, .tm__type--coach, .tm__type--hof { background: #fff; color: var(--red); box-shadow: inset 0 0 0 2px var(--red); }
.tm__title { margin: 0 0 6px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.5rem; line-height: .95; letter-spacing: .005em; text-transform: uppercase; color: var(--ink, #1c1f23); }
.tm__summary { margin: 0; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.5; color: var(--gray-body); }
.tm__desc { margin-top: 12px; font-family: var(--font-serif); font-size: 1rem; line-height: 1.6; color: var(--gray-body); max-width: 72ch; } .tm__desc p { margin: 0 0 .8em; } .tm__desc p:last-child { margin: 0; }
.tm__facts { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 12px 0 0; } .tm__facts dt { font-family: var(--font-display); font-size: 10px; font-weight: var(--fw-bold); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); } .tm__facts dd { margin: 0; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.2rem; text-transform: uppercase; }
.tm__score { margin: 12px 0 0; font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 1.05rem; letter-spacing: .02em; text-transform: uppercase; color: var(--graphite); } .tm__score b { font-weight: var(--fw-black); color: var(--red); } .tm__score span { color: var(--gray-meta); font-weight: var(--fw-bold); }
.tm__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--gray-line); }
.tm__source { margin-left: auto; font-family: var(--font-serif); font-style: italic; font-size: .8125rem; color: var(--gray-meta); text-decoration: none; } .tm__source:hover { color: var(--red); }
/* STANDARD: a compact white row */
.tm--standard { background: #fff; border: var(--bw-hair) solid var(--gray-line); padding: 14px 18px; }
.tm--standard .tm__title { font-size: 1.25rem; } .tm--standard .tm__summary { font-size: 1rem; }
.tm--standard.has-image { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; align-items: start; } .tm--standard .tm__media img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
/* FEATURED: white card, red rule, photo beside the text */
.tm--featured { background: #fff; border: var(--bw-hair) solid var(--gray-line); border-left: 5px solid var(--red); padding: 20px 22px; margin-bottom: 14px; }
.tm--featured .tm__title { font-size: clamp(1.6rem, 2.6vw, 2.1rem); }
.tm--featured.has-image { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 22px; align-items: start; } .tm--featured.has-image .tm__media { order: 2; } .tm--featured .tm__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; filter: grayscale(.2); }
/* MAJOR: graphite band, the year ghosted behind, photo bleeding in on the right, silver body copy */
.tm--major { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(160deg, #14171a, var(--graphite)); color: #fff; border-top: 5px solid var(--red); padding: 26px 30px 24px; margin: 4px 0 22px; }
.tm--major .tm__dot { width: 18px; height: 18px; top: 24px; left: -33px; } @media (min-width: 900px) { .tm--major .tm__dot { left: -49px; } }
.tm__ghost { position: absolute; right: -2%; bottom: -14%; z-index: -1; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(9rem, 22vw, 17rem); line-height: 1; letter-spacing: -.04em; color: rgba(255,255,255,.05); pointer-events: none; user-select: none; }
.tm--major .tm__year { color: var(--red); font-size: 1.7rem; } .tm--major .tm__meta { color: rgba(255,255,255,.7); } .tm--major .tm__type { background: var(--red); color: #fff; }
.tm--major .tm__title { color: #fff; font-size: clamp(2rem, 4.2vw, 3.2rem); max-width: 22ch; }
.tm--major .tm__summary { color: rgba(255,255,255,.88); font-size: 1.15rem; max-width: 64ch; }
.tm--major .tm__desc { color: rgba(255,255,255,.78); }
.tm--major .tm__facts dt { color: rgba(255,255,255,.6); } .tm--major .tm__facts dd, .tm--major .tm__score, .tm--major .tm__score span { color: #fff; }
.tm--major .tm__foot { border-top-color: rgba(255,255,255,.18); } .tm--major .textlink { color: #fff; } .tm--major .tm__source { color: rgba(255,255,255,.6); } .tm--major .tm__source:hover { color: #fff; }
.tm--major.has-image { display: grid; grid-template-columns: minmax(0, 1fr) 42%; gap: 0; padding: 0; }
.tm--major.has-image .tm__body { padding: 26px 30px 24px; } .tm--major.has-image .tm__media { position: relative; min-height: 280px; } .tm--major.has-image .tm__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) contrast(1.05); -webkit-mask-image: linear-gradient(90deg, transparent, #000 40%); mask-image: linear-gradient(90deg, transparent, #000 40%); }
/* decade headings tighter, year headings gone */
.tl-decade { margin-bottom: var(--sp-4); } .tl-decade-block { margin-bottom: var(--sp-7); }
@media (max-width: 720px) { .tm--featured.has-image, .tm--major.has-image, .tm--standard.has-image { grid-template-columns: 1fr; } .tm--major.has-image .tm__media { min-height: 200px; order: -1; } .tm--major.has-image .tm__media img { -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent); mask-image: linear-gradient(180deg, #000 60%, transparent); } .tm--featured.has-image .tm__media { order: -1; } .tm__type { margin-left: 0; } .tm__source { margin-left: 0; } .tm--major { padding: 20px 18px; } .tm--featured { padding: 16px; } }

/* ===== Anniversaries on the home page: a poster lead plus a side stack ===== */
.tyih__layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 10px; align-items: stretch; }
.tyih__layout--solo { grid-template-columns: 1fr; } .tyih__layout--pair { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.tyih__lead--second { border-top-color: var(--graphite); background: linear-gradient(160deg, #1c2024, #33393f); } .tyih__lead--second .tyih__lead-title { font-size: clamp(1.6rem, 2.8vw, 2.2rem); } .tyih__lead--second .tyih__big b { font-size: clamp(3.2rem, 6vw, 5rem); }
.tyih__lead-media img.is-backdrop { opacity: .3; filter: grayscale(.5) contrast(1.05); }
.tyih__tag { display: inline-block; margin-right: 10px; padding: 3px 8px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 10px; letter-spacing: var(--ls-ui); text-transform: uppercase; vertical-align: middle; } .tyih__tag--player, .tyih__tag--coach { background: #fff; color: var(--red); } .tyih__tag--stadium, .tyih__tag--program, .tyih__tag--season { background: rgba(255,255,255,.14); color: #fff; }
.tyih__lead-media { animation: none; } .tyih__lead:hover .tyih__lead-media img { transform: scale(1.03); } .tyih__lead-media img { transition: transform .6s ease; }
.tyih__lead { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: flex-end; min-height: 380px; padding: 28px 30px; background: linear-gradient(160deg, #14171a, var(--graphite)); color: #fff; text-decoration: none; border-top: 5px solid var(--red); }
.tyih__lead-media { position: absolute; inset: 0; z-index: -2; } .tyih__lead-media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) contrast(1.05); opacity: .45; }
.tyih__lead.has-image::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8,8,10,.15) 0%, rgba(8,8,10,.85) 70%); }
.tyih__lead-ghost { position: absolute; right: -2%; top: -6%; z-index: -1; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(9rem, 20vw, 16rem); line-height: 1; letter-spacing: -.04em; color: rgba(255,255,255,.06); pointer-events: none; }
.tyih__lead-body { display: flex; flex-direction: column; gap: 6px; max-width: 60ch; }
.tyih__big { display: flex; align-items: baseline; gap: 10px; margin-bottom: 4px; } .tyih__big b { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(4rem, 8vw, 6.5rem); line-height: .8; color: var(--red); letter-spacing: -.03em; } .tyih__big span { font-family: var(--font-display); font-weight: var(--fw-black); font-size: var(--fs-label); letter-spacing: var(--ls-ui); text-transform: uppercase; color: rgba(255,255,255,.8); }
.tyih__lead-meta { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-label); letter-spacing: var(--ls-ui); text-transform: uppercase; color: rgba(255,255,255,.65); }
.tyih__lead-title { font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height: .95; text-transform: uppercase; letter-spacing: .005em; color: #fff; }
.tyih__lead-sum { font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.5; color: rgba(255,255,255,.85); }
.tyih__lead-cta { margin-top: 10px; display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 10px 16px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: var(--fw-black); font-size: var(--fs-label); letter-spacing: var(--ls-ui); text-transform: uppercase; }
.tyih__lead:hover .tyih__lead-cta { background: #fff; color: var(--red); }
.tyih__side { display: grid; gap: 10px; grid-auto-rows: 1fr; }
.tyih__item { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: center; padding: 14px 16px; background: #fff; border: var(--bw-hair) solid var(--gray-line); border-left: 5px solid var(--graphite); color: inherit; text-decoration: none; }
.tyih__item--major { border-left-color: var(--red); } .tyih__item:hover { border-color: var(--graphite); }
.tyih__num { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 2.6rem; line-height: .8; color: var(--red); letter-spacing: -.02em; min-width: 2ch; text-align: right; }
.tyih__item-body { display: flex; flex-direction: column; gap: 3px; }
.tyih__ago { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 11px; letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--gray-meta); }
.tyih__title { font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.2rem; line-height: 1; text-transform: uppercase; color: var(--ink, #1c1f23); }
.tyih__sum { font-family: var(--font-serif); font-size: .9rem; line-height: 1.4; color: var(--gray-body); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 900px) { .tyih__layout, .tyih__layout--pair { grid-template-columns: 1fr; } .tyih__lead { min-height: 300px; padding: 22px 20px; } .tyih__side { grid-auto-rows: auto; } }

/* Anniversaries header: a headline, not a label */
.tyih__head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--sp-4); margin-bottom: var(--sp-4); padding-bottom: var(--sp-3); border-bottom: 4px solid var(--red); }
.tyih__h { margin: 4px 0 8px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(2.2rem, 5vw, 4rem); line-height: .9; letter-spacing: -.01em; text-transform: uppercase; color: var(--ink, #1c1f23); display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .3em; }
.tyih__h-b { font-size: .5em; font-weight: var(--fw-bold); letter-spacing: .06em; color: var(--gray-meta); }
.tyih__h-years { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: baseline; }
.tyih__yr { display: inline-block; padding: 2px 10px 0; background: var(--red); color: #fff; text-decoration: none; line-height: 1.05; } .tyih__yr:hover { background: var(--graphite); }
.tyih__lede { margin: 0; max-width: 60ch; font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.5; color: var(--gray-body); }
.tyih__all { flex: none; font-family: var(--font-display); font-weight: var(--fw-black); font-size: var(--fs-label); letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--red); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; padding-bottom: 6px; } .tyih__all:hover { color: var(--graphite); }
@media (max-width: 720px) { .tyih__head { flex-direction: column; align-items: flex-start; } }

/* ===================== About page (page-about.php): museum wall meets sports publication ===================== */
@layer components {
	.ab-kicker { display: inline-block; font-family: var(--font-display); font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); margin-bottom: var(--sp-3, 12px); }
	.ab-kicker--light { color: #fff; opacity: .85; }
	.ab-h2 { font-family: var(--font-display); font-size: clamp(2.25rem, 5vw, 4.5rem); line-height: .92; letter-spacing: -.01em; text-transform: uppercase; color: var(--graphite); margin: 0 0 var(--sp-5, 24px); }
	.ab-h2--light { color: #fff; } .ab-h2--sm { font-size: clamp(1.75rem, 3.4vw, 3rem); }
	.ab-head { max-width: 900px; margin-bottom: var(--sp-6, 32px); }
	.ab-prose p { font-family: var(--font-serif); font-size: 1.125rem; line-height: 1.6; color: var(--ink2); margin: 0 0 1em; } .ab-prose p:last-child { margin-bottom: 0; }
	.ab-prose--lead p { font-size: clamp(1.125rem, 1.6vw, 1.4375rem); line-height: 1.5; color: var(--graphite); } .ab-prose--lead p:first-child { font-weight: 600; }
	.ab-prose--light p { color: rgba(255,255,255,.82); }
	.ab-hand { font-family: "Caveat", "Segoe Script", "Bradley Hand", "Comic Sans MS", cursive; font-size: clamp(1.375rem, 2.2vw, 1.875rem); color: var(--red); transform: rotate(-2deg); display: inline-block; margin: var(--sp-4, 16px) 0 0; }
	.ab-hand--light { color: #fff; opacity: .9; }
	.ab-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: var(--sp-6, 32px); } .ab-ctas--center { justify-content: center; }
	.ab-center { text-align: center; margin-top: var(--sp-6, 32px); }
	.ab-frame { position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.35), inset 0 0 0 10px transparent; pointer-events: none; }
	.btn--on-dark.btn--outline { color: #fff; border-color: rgba(255,255,255,.7); } .btn--on-dark.btn--outline:hover { background: #fff; color: var(--graphite); border-color: #fff; }

	/* hero */
	.ab-hero { position: relative; min-height: clamp(560px, 82vh, 860px); display: flex; align-items: flex-end; background: #0e1013; color: #fff; overflow: hidden; }
	.ab-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--ab-focus, center); filter: grayscale(.35) contrast(1.05); }
	.ab-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,16,19,.15) 0%, rgba(14,16,19,.55) 55%, rgba(14,16,19,.92) 100%); }
	.ab-hero__inner { position: relative; padding-top: 96px; padding-bottom: clamp(48px, 7vw, 96px); max-width: 1100px; }
	.ab-hero__title { font-family: var(--font-display); font-size: clamp(3rem, 9vw, 8rem); line-height: .88; text-transform: uppercase; letter-spacing: -.015em; margin: 0 0 var(--sp-5, 24px); text-shadow: 0 2px 24px rgba(0,0,0,.45); }
	.ab-hero__lede { font-family: var(--font-serif); font-size: clamp(1.125rem, 1.8vw, 1.5rem); line-height: 1.5; max-width: 760px; color: rgba(255,255,255,.88); margin: 0; }
	.ab-hero .ab-hand { margin-top: var(--sp-4, 16px); }

	/* why */
	.ab-why { background: var(--silver-3); padding: clamp(56px, 9vw, 128px) 0; position: relative; }
	.ab-why::before { content: ""; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E"); pointer-events: none; }
	.ab-why__inner { position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
	.ab-why__figure { position: relative; margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--graphite); box-shadow: 0 30px 60px -30px rgba(0,0,0,.45); }
	.ab-why__figure img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.5) sepia(.15) contrast(1.05); }

	/* record */
	.ab-record { background: var(--graphite); color: #fff; padding: clamp(56px, 8vw, 112px) 0; position: relative; overflow: hidden; border-top: 6px solid var(--red); }
	.ab-record__inner { position: relative; }
	.ab-record__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 2px; background: rgba(255,255,255,.12); border: 2px solid rgba(255,255,255,.12); }
	.ab-num { display: flex; flex-direction: column; gap: 6px; padding: clamp(20px, 3vw, 36px) clamp(16px, 2vw, 28px); background: var(--graphite); color: #fff; text-decoration: none; transition: background .2s; }
	.ab-num:hover { background: #363c44; } .ab-num b { font-family: var(--font-display); font-size: clamp(2.25rem, 4.5vw, 4rem); line-height: .95; letter-spacing: -.01em; } .ab-num span { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.7); }
	.ab-record__note { font-family: var(--font-serif); font-style: italic; font-size: 1.125rem; color: rgba(255,255,255,.75); margin: var(--sp-5, 24px) 0 0; }
	.ab-record__ghost { position: absolute; right: -6%; top: -30%; width: 46%; max-width: 560px; opacity: .06; pointer-events: none; }

	/* eras */
	.ab-eras { background: #0e1013; padding: clamp(56px, 8vw, 112px) 0; color: #fff; }
	.ab-eras .ab-h2 { color: #fff; }
	.ab-eras__strip { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; }
	.ab-era { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--graphite); color: #fff; text-decoration: none; }
	.ab-era__img, .ab-era__blank { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.6) contrast(1.05); transition: transform .6s ease, filter .4s; }
	.ab-era__blank { display: grid; place-items: center; background: linear-gradient(160deg, #2b3036, #15181c); } .ab-era__blank img { width: 38%; opacity: .18; }
	.ab-era:hover .ab-era__img { transform: scale(1.04); filter: grayscale(.15) contrast(1.05); }
	.ab-era::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.85) 100%); }
	.ab-era__text { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px; z-index: 1; display: flex; flex-direction: column; gap: 4px; }
	.ab-era__years { font-size: .75rem; letter-spacing: .14em; color: var(--red); font-family: var(--font-display); } .ab-era__label { font-family: var(--font-display); font-size: clamp(1rem, 1.6vw, 1.5rem); line-height: 1; text-transform: uppercase; }

	/* place */
	.ab-place { background: var(--red); color: #fff; padding: clamp(56px, 9vw, 128px) 0; position: relative; overflow: hidden; }
	.ab-place::after { content: ""; position: absolute; right: -10%; bottom: -30%; width: 60%; aspect-ratio: 1; background: var(--corbin-mark-white) center / contain no-repeat; opacity: .07; pointer-events: none; }
	.ab-place__inner { position: relative; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
	.ab-place .ab-kicker--light { opacity: .9; }
	.ab-year { background: #fff; color: var(--graphite); padding: clamp(24px, 3vw, 40px); box-shadow: 0 40px 80px -40px rgba(0,0,0,.6); }
	.ab-year__q { display: block; font-family: var(--font-display); font-size: clamp(1.5rem, 2.4vw, 2.25rem); line-height: 1; text-transform: uppercase; margin-bottom: 16px; }
	.ab-year__row { display: flex; gap: 10px; flex-wrap: wrap; }
	.ab-year__input { flex: 1 1 140px; min-width: 0; font-family: var(--font-display); font-size: 2rem; letter-spacing: .06em; padding: 8px 14px; border: 3px solid var(--graphite); border-radius: 0; background: #fff; color: var(--graphite); }
	.ab-year__input:focus { outline: 3px solid var(--red); outline-offset: 2px; }
	.ab-year__list { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 6px; font-family: var(--font-serif); font-size: 1.0625rem; color: var(--ink2); }
	.ab-year__list li::before { content: "\2022  "; color: var(--red); } .ab-year__list a { color: var(--graphite); text-decoration: underline; text-underline-offset: 3px; }

	/* community */
	.ab-comm { background: var(--silver-3); padding: clamp(56px, 9vw, 128px) 0; }
	.ab-comm__inner { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
	.ab-types { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; }
	.ab-types a { display: block; padding: 18px 20px; background: #fff; color: var(--graphite); text-decoration: none; font-family: var(--font-display); font-size: 1.0625rem; letter-spacing: .06em; text-transform: uppercase; border-left: 4px solid var(--red); transition: background .2s, color .2s; }
	.ab-types a:hover { background: var(--graphite); color: #fff; }
	.ab-gaps { margin-top: var(--sp-6, 32px); padding: 20px 24px; border: 2px dashed var(--silver-line); }
	.ab-gaps__k { display: block; font-family: var(--font-display); font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ink3); margin-bottom: 10px; }
	.ab-gaps ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; } .ab-gaps a { color: var(--graphite); text-decoration: none; font-family: var(--font-serif); font-size: 1.0625rem; } .ab-gaps a b { font-family: var(--font-display); font-size: 1.5rem; color: var(--red); margin-right: 4px; } .ab-gaps a:hover { text-decoration: underline; }

	/* accuracy */
	.ab-acc { background: #fff; padding: clamp(48px, 7vw, 96px) 0; border-top: 1px solid var(--silver-line); }
	.ab-acc__inner { max-width: 760px; } .ab-acc .btn { margin-top: var(--sp-5, 24px); }

	/* next */
	.ab-next { background: var(--silver-2); padding: clamp(56px, 8vw, 112px) 0; }
	.ab-next__inner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
	.ab-next__figure { position: relative; margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--graphite); } .ab-next__figure img { width: 100%; height: 100%; object-fit: cover; }

	/* disclaimer */
	.ab-disc { background: var(--silver-3); padding: 32px 0; border-top: 1px solid var(--silver-line); }
	.ab-disc__inner { max-width: 820px; } .ab-disc__k { display: block; font-family: var(--font-display); font-size: .6875rem; letter-spacing: .18em; text-transform: uppercase; color: var(--ink3); margin-bottom: 6px; }
	.ab-disc p { font-size: .875rem; line-height: 1.55; color: var(--ink3); margin: 0; }

	/* final */
	.ab-final { background: #0e1013; color: #fff; padding: clamp(72px, 12vw, 160px) 0; text-align: center; border-top: 6px solid var(--red); }
	.ab-final__title { font-family: var(--font-display); font-size: clamp(2.75rem, 8vw, 7rem); line-height: .9; text-transform: uppercase; letter-spacing: -.015em; margin: 0 0 var(--sp-6, 32px); }

	@media (max-width: 1000px) { .ab-eras__strip { grid-template-columns: repeat(5, minmax(150px, 1fr)); overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 16px; } .ab-era { scroll-snap-align: start; } }
	@media (max-width: 900px) { .ab-why__inner, .ab-place__inner, .ab-comm__inner, .ab-next__inner { grid-template-columns: 1fr; } .ab-why__figure { aspect-ratio: 16 / 10; order: -1; } .ab-next__figure { aspect-ratio: 16 / 10; } }
	@media (max-width: 480px) { .ab-hero { min-height: 78vh; } .ab-hero__inner { padding-top: 72px; } .ab-types { grid-template-columns: 1fr; } .ab-year__row .btn { width: 100%; justify-content: center; } .ab-ctas .btn { width: 100%; justify-content: center; } .ab-record__grid { grid-template-columns: repeat(2, 1fr); } }
}

/* ---- About page, second pass: grain, motion, scale, the ticker, the live year answer ---- */
@layer components {
	.ab-dark { position: relative; }
	.ab-grain { position: absolute; inset: 0; pointer-events: none; opacity: .14; mix-blend-mode: overlay; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"); z-index: 1; }
	.ab-dark > .container { position: relative; z-index: 2; }
	.ab-hero { min-height: clamp(620px, 92vh, 960px); }
	.ab-hero__img { animation: ab-pan 28s ease-in-out infinite alternate; transform-origin: center; filter: grayscale(.45) contrast(1.08) brightness(.92); }
	@keyframes ab-pan { from { transform: scale(1.06) translate3d(0,0,0); } to { transform: scale(1.14) translate3d(-2%, -1.5%, 0); } }
	.ab-hero__shade { background: radial-gradient(120% 80% at 30% 100%, rgba(14,16,19,.95) 0%, rgba(14,16,19,.55) 45%, rgba(14,16,19,.2) 100%); }
	.ab-hero__inner { max-width: none; padding-bottom: clamp(56px, 8vw, 120px); }
	.ab-hero__title { font-size: clamp(3.5rem, 11.5vw, 11rem); line-height: .84; margin-left: -.04em; }
	.ab-hero__lede { max-width: 820px; font-size: clamp(1.1875rem, 1.9vw, 1.625rem); }
	.ab-reveal { display: inline-block; opacity: 0; transform: translateY(.35em); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
	.ab-reveal--2 { transition-delay: .12s; } .ab-reveal--3 { transition-delay: .24s; } .ab-reveal.is-in { opacity: 1; transform: none; }
	.ab-in { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); } .ab-in.is-in { opacity: 1; transform: none; }
	.ab-eras__strip .ab-era:nth-child(2) { transition-delay: .08s; } .ab-eras__strip .ab-era:nth-child(3) { transition-delay: .16s; } .ab-eras__strip .ab-era:nth-child(4) { transition-delay: .24s; } .ab-eras__strip .ab-era:nth-child(5) { transition-delay: .32s; }

	/* the ticker: real moments from the record, sliding under the hero */
	.ab-ticker { position: relative; z-index: 2; background: var(--red); color: #fff; overflow: hidden; border-top: 1px solid rgba(255,255,255,.25); }
	.ab-ticker__track { display: flex; width: max-content; animation: ab-tick 110s linear infinite; }
	.ab-ticker:hover .ab-ticker__track { animation-play-state: paused; }
	@keyframes ab-tick { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
	.ab-ticker__item { display: inline-flex; align-items: baseline; gap: 10px; padding: 14px 28px; color: #fff; text-decoration: none; white-space: nowrap; border-right: 1px solid rgba(255,255,255,.3); }
	.ab-ticker__item b { font-family: var(--font-display); font-size: 1.25rem; letter-spacing: .04em; } .ab-ticker__item span { font-family: var(--font-serif); font-size: 1rem; opacity: .92; }
	.ab-ticker__item:hover { background: var(--red-deep); }

	/* the record: bigger */
	.ab-record { background: #0e1013; border-top: 0; }
	.ab-record__grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.08); }
	.ab-num { background: #0e1013; } .ab-num:hover { background: #1a1e23; }
	.ab-num b { font-size: clamp(3rem, 6.5vw, 7rem); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }

	/* find your era: the answer appears as the year is typed */
	.ab-year__answer { display: none; margin-top: 18px; padding: 16px 18px; background: var(--silver-3); border-left: 4px solid var(--red); }
	.ab-year__answer.is-on { display: block; }
	.ab-year__answer-k { display: block; font-family: var(--font-display); font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink3); margin-bottom: 8px; }
	.ab-year__answer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; } .ab-year__answer li { font-family: var(--font-serif); font-size: 1rem; color: var(--graphite); }
	.ab-year__answer li b { font-family: var(--font-display); color: var(--red); margin-right: 6px; } .ab-year__answer li em { font-style: normal; font-family: var(--font-display); font-size: .8125rem; letter-spacing: .08em; text-transform: uppercase; margin-right: 6px; color: var(--ink2); }

	/* what comes next: full bleed */
	.ab-next { background: #0e1013; color: #fff; padding: clamp(96px, 16vw, 220px) 0; overflow: hidden; }
	.ab-next__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: contrast(1.05) brightness(.8); }
	.ab-next__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,16,19,.92) 0%, rgba(14,16,19,.7) 45%, rgba(14,16,19,.25) 100%); }
	.ab-next__inner { display: block; } .ab-next__copy { max-width: 720px; }

	@media (max-width: 480px) { .ab-hero__title { font-size: clamp(3rem, 15vw, 4.5rem); } .ab-ticker__item { padding: 12px 18px; } .ab-num b { font-size: 3rem; } .ab-next { padding: 80px 0; } }
	.ab-record__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
	.ab-num { min-width: 0; overflow: hidden; }
	.ab-num b { font-size: clamp(2.75rem, 5vw, 6rem); white-space: nowrap; }
	@media (max-width: 480px) { .ab-record__grid { grid-template-columns: 1fr 1fr; } .ab-num b { font-size: clamp(2.25rem, 11vw, 3.25rem); } }

	/* the record band never wraps on desktop: equal columns, one row, the figure sized to the column */
	.ab-record__grid { display: grid; grid-template-columns: repeat(var(--ab-cols, 5), minmax(0, 1fr)); gap: 0; background: transparent; border: 0; border-top: 2px solid rgba(255,255,255,.12); border-bottom: 2px solid rgba(255,255,255,.12); }
	.ab-num { min-width: 0; overflow: hidden; border-right: 1px solid rgba(255,255,255,.1); padding-inline: clamp(12px, 1.6vw, 28px); }
	.ab-num:last-child { border-right: 0; }
	.ab-num b { font-size: clamp(2.25rem, calc(76vw / var(--ab-cols, 5) / 4.6), 6.5rem); white-space: nowrap; }
	@media (max-width: 900px) { .ab-record__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ab-num { border-bottom: 1px solid rgba(255,255,255,.1); } .ab-num b { font-size: clamp(2.25rem, 8vw, 4rem); } }
	@media (max-width: 480px) { .ab-record__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ab-num b { font-size: clamp(2rem, 11vw, 3rem); } }
}
@layer components { .prose--game p { font-family: var(--font-serif); font-size: 1.125rem; line-height: 1.65; } .prose--game p:first-of-type::first-letter { font-family: var(--font-display); font-size: 3.2em; float: left; line-height: .8; padding: .08em .1em 0 0; color: var(--red); } .prose--game h3 { font-family: var(--font-display); text-transform: uppercase; letter-spacing: .04em; margin: 1.5em 0 .5em; } .prose--game blockquote { border-left: 4px solid var(--red); margin: 1.2em 0; padding: .2em 0 .2em 1em; font-style: italic; color: var(--ink2); } .prose--game img { max-width: 100%; height: auto; } }
@layer components { /* the season strip: 104 football seasons must fit a phone. Ticks shrink to a hairline before the strip is allowed to overflow, and the card clips anything that still does. */
	.spine { overflow: hidden; } .spine__ticks { min-width: 0; width: 100%; } .spine__tick { min-width: 1px; }
	/* phones: no gaps, every bar gets an equal slice of the full width, the runner-up and playoff bars keep a visible red edge */
	@media (max-width: 600px) { .spine__ticks { gap: 0; } .spine__tick { min-width: 0; flex: 1 1 0; border-right: 1px solid var(--white-card); } .spine__tick:last-child { border-right: 0; } .spine__tick.is-state { box-shadow: inset 0 -3px 0 var(--red); } .spine__tick.is-runner { box-shadow: inset 0 -3px 0 var(--red), inset 0 0 0 1px var(--red); } }
}
@layer components { /* decade labels under the strip: on phones every decade gets an equal slice and a smaller face, so all eleven fit and the row never scrolls the page */
	@media (max-width: 600px) { .spine__decades { overflow: hidden; gap: 0; justify-content: space-between; } .spine__decade { flex: 1 1 0; min-width: 0; text-align: center; font-size: .5625rem; letter-spacing: .02em; padding: 0; white-space: nowrap; } }
	@media (max-width: 400px) { .spine__decade { font-size: .5rem; } }
}
/* ---- Football playoff context: the season panel and /history/playoffs/ ---- */
@layer components {
	.pctx { margin-top: var(--sp-5, 24px); padding: 22px 22px 20px; background: var(--graphite); color: #fff; border-left: 6px solid var(--red); }
	.pctx__title { font-family: var(--font-display); font-size: 1.5rem; line-height: 1; text-transform: uppercase; letter-spacing: .02em; margin: 0 0 12px; color: #fff; }
	.pctx__title--quiet { font-size: .8125rem; letter-spacing: .16em; color: rgba(255,255,255,.7); }
	.pctx__lead p { font-family: var(--font-serif); font-size: 1.125rem; line-height: 1.5; margin: 0 0 .6em; color: #fff; } .pctx__lead p:last-child { margin: 0; }
	.pctx__basis, .pctx__source { font-size: .75rem; color: rgba(255,255,255,.55); margin: 8px 0 0; font-style: italic; }
	.pctx__facts { margin: 14px 0 0; padding: 0; display: grid; gap: 6px; } .pctx__facts div { display: flex; gap: 10px; align-items: baseline; font-size: .9375rem; } .pctx__facts dt { flex: 0 0 auto; font-family: var(--font-display); font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); } .pctx__facts dd { margin: 0; }
	.pctx__era { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.15); }
	.pctx__k { display: block; font-family: var(--font-display); font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: 4px; }
	.pctx__format { display: block; font-family: var(--font-display); font-size: 1.125rem; text-transform: uppercase; letter-spacing: .03em; margin-bottom: 6px; }
	.pctx__meant { font-family: var(--font-serif); font-size: .9375rem; line-height: 1.5; color: rgba(255,255,255,.82); margin: 0 0 10px; }
	.pctx .textlink { color: #fff; }

	.ptl { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--graphite); }
	.ptl__era { border-bottom: 1px solid var(--silver-line); }
	.ptl__head { display: grid; grid-template-columns: 180px 1fr auto; gap: 20px; align-items: baseline; padding: 22px 0; color: var(--graphite); text-decoration: none; }
	.ptl__head:hover .ptl__name { color: var(--red); }
	.ptl__years { font-family: var(--font-display); font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink3); }
	.ptl__name { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.5rem); line-height: 1; text-transform: uppercase; }
	.ptl__q { font-family: var(--font-display); font-size: .8125rem; letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
	.ptl__body { display: none; padding: 0 0 32px; } .ptl__era.is-open .ptl__body { display: block; } .ptl__era.is-open .ptl__head { padding-bottom: 12px; }
	.ptl__body > .ptl__rule, .ptl__body > .ptl__corbin { display: block; }
	@media (min-width: 900px) { .ptl__body { display: none; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; } .ptl__era.is-open .ptl__body { display: grid; } .ptl__all { grid-column: 1 / -1; } }
	.ptl__meant { font-family: var(--font-serif); font-size: 1.125rem; line-height: 1.55; color: var(--graphite); }
	.ptl__basis { font-size: .8125rem; color: var(--ink3); font-style: italic; } .ptl__source { font-size: .8125rem; color: var(--ink3); }
	.ptl__nums { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; margin: 8px 0 16px; } .ptl__nums div { background: #fff; padding: 14px 16px; border-left: 4px solid var(--red); } .ptl__nums b { display: block; font-family: var(--font-display); font-size: 2rem; line-height: 1; } .ptl__nums span { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink3); }
	.ptl__best { font-family: var(--font-serif); font-size: 1.0625rem; margin: 0 0 12px; } .ptl__best a { color: var(--red); font-weight: 600; }
	.ptl__notable { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; } .ptl__notable li { padding-left: 14px; border-left: 2px solid var(--silver-line); } .ptl__notable a { color: var(--graphite); text-decoration: none; font-family: var(--font-display); letter-spacing: .02em; } .ptl__notable a b { color: var(--red); margin-right: 6px; } .ptl__why { display: block; font-family: var(--font-serif); font-size: .9375rem; color: var(--ink2); margin-top: 2px; }
	.ptl__all { margin-top: 18px; } .ptl__all summary { cursor: pointer; font-family: var(--font-display); font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink2); }
	.ptl__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 4px; margin-top: 12px; }
	.ptl__s { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; background: #fff; border: 1px solid var(--silver-line); color: var(--graphite); text-decoration: none; } .ptl__s b { font-family: var(--font-display); font-size: .9375rem; } .ptl__s span { font-size: .75rem; color: var(--ink3); }
	.ptl__s.is-in { border-color: var(--graphite); box-shadow: inset 0 -3px 0 var(--graphite); } .ptl__s.is-title { border-color: var(--red); box-shadow: inset 0 -3px 0 var(--red); } .ptl__s:hover { background: var(--silver-3); }
	.ptl__legend { font-size: .75rem; color: var(--ink3); margin: 10px 0 0; } .ptl__legend i { display: inline-block; width: 12px; height: 12px; border: 1px solid var(--silver-line); vertical-align: -1px; margin: 0 4px 0 10px; } .ptl__legend i.is-in { border-color: var(--graphite); box-shadow: inset 0 -3px 0 var(--graphite); } .ptl__legend i.is-title { border-color: var(--red); box-shadow: inset 0 -3px 0 var(--red); }
	@media (max-width: 600px) { .ptl__head { grid-template-columns: 1fr; gap: 4px; } }
}
@layer components { .pctx__season { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.15); } .pctx__season--story .pctx__k { color: #fff; font-size: .8125rem; } .pctx__era .pctx__k + .pctx__k { margin-top: 10px; } .pctx__more { display: inline-block; margin-top: 14px; color: #fff; } .pctx__era { margin-top: 0; padding-top: 0; border-top: 0; } }
@layer components { /* nothing on an archive page may widen the viewport: headers wrap on phones, titles may shrink, and the page itself clips sideways */
	.sx__head { flex-wrap: wrap; min-width: 0; } .sx__head > div, .sx__head .archive-title { min-width: 0; overflow-wrap: anywhere; }
	@media (max-width: 600px) { .sx__head { flex-direction: column; align-items: flex-start; gap: 8px; } .sx__head .archive-title small { display: block; margin: 4px 0 0; } .sx__strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sx__stat { min-width: 0; } .sx__stat b { font-size: 1.6rem; overflow-wrap: anywhere; } }
	.archive-section, .archive-section > .container { max-width: 100%; overflow-x: clip; }
	html, body { overflow-x: hidden; }
}
/* ---- Season page: the arc of the season ---- */
@layer components {
	.arc { background: #0e1013; color: #fff; padding: clamp(40px, 6vw, 80px) 0; border-top: 6px solid var(--red); position: relative; overflow: hidden; }
	.arc::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .12; mix-blend-mode: overlay; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"); }
	.arc > .container { position: relative; z-index: 1; }
	.archive-kicker--light { color: #fff; opacity: .8; }
	.arc__head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px; align-items: end; margin-bottom: clamp(24px, 4vw, 48px); }
	.arc__title { font-family: var(--font-display); font-size: clamp(2rem, 4.5vw, 4rem); line-height: .92; text-transform: uppercase; letter-spacing: -.01em; margin: 6px 0 0; }
	.arc__sentence { font-family: var(--font-serif); font-size: clamp(1.125rem, 1.7vw, 1.5rem); line-height: 1.45; color: rgba(255,255,255,.85); margin: 0; }
	.arc__chart { position: relative; display: flex; align-items: stretch; gap: 4px; height: clamp(240px, 32vw, 340px); margin-top: clamp(20px, 3vw, 36px); padding: 0 0 52px; box-sizing: border-box; }
	.arc__axis { position: absolute; left: 0; right: 0; top: calc((100% - 52px) * var(--axis, 50%) / 100%); height: 1px; background: rgba(255,255,255,.25); }
	.arc__g { position: relative; flex: 1 1 0; min-width: 0; height: 100%; display: block; color: #fff; text-decoration: none; --h: 0; }
	.arc__bar { position: absolute; left: 12%; right: 12%; top: calc((100% - 52px) * var(--axis, 50%) / 100%); height: calc((100% - 52px) * var(--h) / 100); background: var(--red); transform-origin: bottom; }
	.arc__g.is-w .arc__bar { transform: translateY(-100%); border-radius: 0; }
	.arc__g.is-l .arc__bar { background: #8a9099; border-radius: 0; }
	.arc__g.is-t .arc__bar { background: #b8bec6; height: 4px; transform: translateY(-50%); }
	.arc__g.is-post .arc__bar { box-shadow: 0 0 0 2px #fff; }
	.arc__bar b { position: absolute; left: 0; right: 0; font-family: var(--font-display); font-size: .8125rem; text-align: center; letter-spacing: .02em; opacity: 0; transition: opacity .2s; }
	.arc__g.is-w .arc__bar b { top: -22px; } .arc__g.is-l .arc__bar b { bottom: -22px; }
	.arc__g:hover .arc__bar b, .arc__g:focus-visible .arc__bar b { opacity: 1; }
	.arc__g:hover .arc__bar { filter: brightness(1.2); }
	.arc__opp, .arc__score { position: absolute; left: 0; right: 0; text-align: center; font-family: var(--font-display); }
	.arc__opp { bottom: 22px; font-size: .625rem; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.7); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.arc__score { bottom: 4px; font-size: .75rem; color: #fff; }
	.arc__foot { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; justify-content: space-between; margin-top: 12px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.15); }
	.arc__run { display: flex; flex-wrap: wrap; gap: 3px; } .arc__run i { display: inline-grid; place-items: center; width: 26px; height: 26px; font-style: normal; font-family: var(--font-display); font-size: .75rem; } .arc__run i.is-w { background: var(--red); } .arc__run i.is-l { background: #6a7078; } .arc__run i.is-t { background: #b8bec6; color: #0e1013; }
	.arc__facts { display: flex; flex-wrap: wrap; gap: 8px 32px; margin: 0; } .arc__facts div { display: flex; gap: 8px; align-items: baseline; } .arc__facts dt { font-family: var(--font-display); font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); } .arc__facts dd { margin: 0; font-family: var(--font-serif); font-size: 1rem; } .arc__facts a { color: #fff; }
	@media (max-width: 900px) { .arc__head { grid-template-columns: 1fr; gap: 12px; } }
	@media (max-width: 600px) { .arc__chart { gap: 2px; height: 220px; margin-top: 22px; } .arc__opp { display: none; } .arc__score { font-size: .5625rem; } .arc__bar b { display: none; } }
}
/* ---- Season page: the story as a magazine spread, the schedule as a scoreboard ---- */
@layer components {
	.season-story { padding-block: clamp(8px, 2vw, 24px); }
	.prose--mag { max-width: 72ch; font-size: clamp(1.125rem, 1.35vw, 1.3125rem); line-height: 1.7; color: var(--graphite); }
	.prose--mag > p:first-child { font-size: 1.1em; }
	.prose--mag > p:first-child::first-letter { font-size: 4.6em; line-height: .75; margin: .06em .14em 0 0; }
	.prose--mag h2, .prose--mag h3 { font-family: var(--font-display); text-transform: uppercase; letter-spacing: .02em; line-height: 1; margin-top: 1.6em; padding-top: .6em; border-top: 4px solid var(--red); display: inline-block; }
	.prose--mag blockquote { margin: 1.6em 0; padding: 0 0 0 1.2em; border-left: 6px solid var(--red); font-family: var(--font-display); font-size: 1.6em; line-height: 1.05; text-transform: uppercase; letter-spacing: -.005em; color: var(--graphite); font-style: normal; }
	.prose--mag figure { margin: 1.8em 0; } .prose--mag figcaption { font-size: .8125rem; color: var(--ink3); margin-top: 8px; font-family: var(--font-display); letter-spacing: .06em; text-transform: uppercase; }
	.prose--mag img { width: 100%; height: auto; filter: contrast(1.03); }
	.season-moments { margin-top: clamp(28px, 4vw, 48px); padding: clamp(20px, 3vw, 36px); background: var(--graphite); color: #fff; }
	.mag-subtitle { color: #fff; font-family: var(--font-display); text-transform: uppercase; letter-spacing: .04em; margin: 0 0 14px; }
	.season-moments .moments li { font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.5; padding: 10px 0 10px 18px; border-left: 3px solid var(--red); margin: 8px 0; color: #fff; }

	.sb { background: #0e1013; color: #fff; padding: clamp(40px, 6vw, 80px) 0; }
	.sb__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: clamp(20px, 3vw, 36px); border-bottom: 4px solid var(--red); padding-bottom: 12px; }
	.sb__title { font-family: var(--font-display); font-size: clamp(2rem, 4.5vw, 4rem); line-height: .92; text-transform: uppercase; margin: 6px 0 0; } .sb__link { color: #fff; }
	.sb__group { font-family: var(--font-display); font-size: .8125rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.65); margin: 24px 0 10px; } .sb__group span { color: #fff; margin-left: 8px; }
	.sb__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 6px; }
	.sb__card { background: #181c21; border-top: 5px solid #3a4048; transition: transform .2s, background .2s; }
	.sb__card.is-w { border-top-color: var(--red); } .sb__card.is-l { border-top-color: #8a9099; } .sb__card.is-t { border-top-color: #b8bec6; }
	.sb__card.is-post { background: #1f2329; box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); }
	.sb__card:hover { transform: translateY(-2px); background: #22272d; }
	.sb__link-wrap { display: grid; grid-template-rows: auto 1fr auto; gap: 14px; padding: 16px 18px 18px; height: 100%; color: #fff; text-decoration: none; box-sizing: border-box; }
	.sb__top { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.6); }
	.sb__n { display: inline-grid; place-items: center; width: 22px; height: 22px; background: rgba(255,255,255,.1); color: #fff; font-size: .6875rem; }
	.sb__tag { margin-left: auto; color: var(--red); } .sb__card.is-post .sb__tag { color: #fff; background: var(--red); padding: 2px 6px; }
	.sb__who { display: flex; align-items: center; gap: 12px; min-width: 0; }
	.sb__logo { width: 40px; height: 40px; object-fit: contain; flex: 0 0 40px; background: #fff; border-radius: 50%; padding: 4px; box-sizing: border-box; }
	.sb__who > span { min-width: 0; display: flex; flex-direction: column; } .sb__pre { font-family: var(--font-display); font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); }
	.sb__who b { font-family: var(--font-display); font-size: 1.25rem; line-height: 1.05; text-transform: uppercase; letter-spacing: .01em; } .sb__who small { font-size: .75rem; color: rgba(255,255,255,.55); margin-top: 2px; }
	.sb__score { display: flex; align-items: baseline; gap: 6px; font-family: var(--font-display); }
	.sb__score b { font-size: clamp(2.25rem, 3vw, 3rem); line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; } .sb__score i { font-style: normal; color: rgba(255,255,255,.4); font-size: 1.5rem; }
	.sb__score em { font-style: normal; margin-left: auto; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; padding: 4px 8px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.8); }
	.sb__card.is-w .sb__score em { background: var(--red); color: #fff; } .sb__card.is-l .sb__score b:first-child { color: rgba(255,255,255,.7); }
	.sb__score--nr em { margin-left: 0; }
	@media (max-width: 600px) { .sb__grid { grid-template-columns: 1fr 1fr; gap: 4px; } .sb__link-wrap { padding: 12px; gap: 10px; } .sb__who b { font-size: 1rem; } .sb__logo { display: none; } .sb__score b { font-size: 1.75rem; } .sb__score em { font-size: .625rem; padding: 3px 5px; } .sb__date { display: none; } }
}
/* ---- All-time series page ---- */
@layer components {
	.vs-band { background: var(--graphite); color: #fff; border-top: 6px solid var(--red); }
	.vs-band__nums { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 2px; background: rgba(255,255,255,.08); }
	.vs-band__nums div { background: var(--graphite); padding: 22px 20px; } .vs-band__nums b { display: block; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3.5rem); line-height: .95; } .vs-band__nums span { font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.65); }
	.vs-top { background: #0e1013; }
	.vs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 8px; }
	.vs-card { display: grid; grid-template-columns: 56px 1fr; grid-template-areas: "logo name" "record record" "meta meta" "run run" "last last"; gap: 10px 14px; padding: 20px; background: #181c21; border-top: 5px solid #3a4048; color: #fff; text-decoration: none; transition: transform .2s, background .2s; }
	.vs-card.is-up { border-top-color: var(--red); } .vs-card.is-down { border-top-color: #8a9099; } .vs-card:hover { transform: translateY(-2px); background: #22272d; }
	.vs-card__logo { grid-area: logo; width: 56px; height: 56px; border-radius: 50%; background: #fff; display: grid; place-items: center; overflow: hidden; } .vs-card__logo img { width: 80%; height: 80%; object-fit: contain; } .vs-card__logo b { font-family: var(--font-display); color: var(--graphite); font-size: 1.125rem; }
	.vs-card__name { grid-area: name; align-self: center; font-family: var(--font-display); font-size: 1.5rem; line-height: 1; text-transform: uppercase; } .vs-card__name small { display: block; font-family: var(--font-body); font-size: .75rem; letter-spacing: .06em; text-transform: none; color: rgba(255,255,255,.6); margin-top: 4px; }
	.vs-card__record { grid-area: record; display: flex; align-items: baseline; gap: 12px; } .vs-card__record b { font-family: var(--font-display); font-size: clamp(2.75rem, 4vw, 3.75rem); line-height: 1; letter-spacing: -.02em; } .vs-card__record span { font-family: var(--font-display); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red); } .vs-card.is-down .vs-card__record span { color: #b8bec6; }
	.vs-card__meta { grid-area: meta; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .8125rem; color: rgba(255,255,255,.7); } .vs-card__meta b { color: #fff; font-family: var(--font-display); }
	.vs-card__streak { font-family: var(--font-display); font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; padding: 2px 6px; } .vs-card__streak.is-w { background: var(--red); color: #fff; } .vs-card__streak.is-l { background: #8a9099; color: #0e1013; }
	.vs-card__run { grid-area: run; display: flex; gap: 3px; } .vs-card__run i { display: grid; place-items: center; width: 22px; height: 22px; font-style: normal; font-family: var(--font-display); font-size: .6875rem; } .vs-card__run i.is-w { background: var(--red); } .vs-card__run i.is-l { background: #8a9099; color: #0e1013; } .vs-card__run i.is-t { background: #b8bec6; color: #0e1013; }
	.vs-card__last { grid-area: last; font-size: .75rem; color: rgba(255,255,255,.6); font-family: var(--font-display); letter-spacing: .06em; text-transform: uppercase; }
	.vs-tools { flex-wrap: wrap; gap: 16px; } .vs-tools__row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
	.vs-search { font-family: var(--font-display); font-size: 1rem; letter-spacing: .04em; padding: 10px 14px; border: 2px solid var(--graphite); background: #fff; min-width: 220px; }
	.vs-sort { display: flex; flex-wrap: wrap; gap: 6px; } .vs-sort .chip { cursor: pointer; }
	.vs-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--graphite); }
	.vs-row a { display: grid; grid-template-columns: 44px minmax(0, 1fr) minmax(120px, 2fr) 70px 120px 24px; gap: 16px; align-items: center; padding: 12px 8px; border-bottom: 1px solid var(--silver-line); color: var(--graphite); text-decoration: none; }
	.vs-row a:hover { background: #fff; }
	.vs-row__logo { width: 44px; height: 44px; border-radius: 50%; background: #fff; border: 1px solid var(--silver-line); display: grid; place-items: center; overflow: hidden; } .vs-row__logo img { width: 78%; height: 78%; object-fit: contain; } .vs-row__logo b { font-family: var(--font-display); font-size: .875rem; color: var(--ink3); }
	.vs-row__name { min-width: 0; } .vs-row__name b { display: block; font-family: var(--font-display); font-size: 1.125rem; line-height: 1.05; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .vs-row__name small { display: block; font-size: .75rem; color: var(--ink3); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.vs-row__bar { display: block; height: 10px; background: var(--silver-2); position: relative; } .vs-row__bar i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--red); } .vs-row.is-down .vs-row__bar i { background: var(--graphite); } .vs-row__bar::after { content: ""; position: absolute; left: 50%; top: -3px; bottom: -3px; width: 1px; background: var(--ink3); }
	.vs-row__games, .vs-row__record { text-align: right; } .vs-row__games b, .vs-row__record b { display: block; font-family: var(--font-display); font-size: 1.25rem; line-height: 1; } .vs-row__games small, .vs-row__record small { font-size: .6875rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink3); }
	.vs-row__arrow { color: var(--red); }
	.vs-empty { font-family: var(--font-serif); color: var(--ink3); margin-top: 16px; }
	@media (max-width: 800px) { .vs-row a { grid-template-columns: 36px minmax(0, 1fr) 90px 20px; grid-template-areas: "logo name record arrow" "bar bar bar bar"; gap: 8px 12px; } .vs-row__logo { grid-area: logo; width: 36px; height: 36px; } .vs-row__name { grid-area: name; } .vs-row__games { display: none; } .vs-row__record { grid-area: record; } .vs-row__arrow { grid-area: arrow; } .vs-row__bar { grid-area: bar; height: 6px; } .vs-card__record b { font-size: 2.5rem; } }
}
@layer components { .vs-top .archive-title, .vs-top .archive-section__head .archive-title { color: #fff; } .vs-top .archive-kicker { color: var(--red); } .vs-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } @media (max-width: 1000px) { .vs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 600px) { .vs-grid { grid-template-columns: 1fr; } } .vs-card__run::after { content: 'oldest to newest'; margin-left: 10px; align-self: center; font-size: .625rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.4); font-family: var(--font-display); } }
/* ---- Streaks page ---- */
@layer components {
	.stk-band { background: #0e1013; color: #fff; border-top: 6px solid var(--red); padding: clamp(28px, 4vw, 48px) 0; }
	.stk-band__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 2px; background: rgba(255,255,255,.08); }
	.stk-big { background: #0e1013; padding: 22px 20px; display: flex; flex-direction: column; gap: 4px; } .stk-big__k { font-family: var(--font-display); font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); } .stk-big b { font-family: var(--font-display); font-size: clamp(3.5rem, 6vw, 6rem); line-height: .9; letter-spacing: -.02em; color: var(--red); } .stk-big--l b { color: #8a9099; } .stk-big--now b { color: #fff; } .stk-big__s { font-family: var(--font-serif); font-size: .9375rem; color: rgba(255,255,255,.8); }
	.stk-feature { background: var(--graphite); } .stk-feature .archive-title { color: #fff; } .stk-feature .archive-kicker { color: var(--red); }
	.stk-run { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 4px; }
	.stk-run a { display: flex; flex-direction: column; gap: 4px; padding: 12px 12px 10px; background: var(--red); color: #fff; text-decoration: none; height: 100%; box-sizing: border-box; transition: filter .2s; } .stk-run a:hover { filter: brightness(1.15); }
	.stk-run .is-end a { background: #8a9099; color: #0e1013; }
	.stk-run__n { font-family: var(--font-display); font-size: .625rem; letter-spacing: .14em; text-transform: uppercase; opacity: .75; } .stk-run__opp { font-family: var(--font-display); font-size: .8125rem; text-transform: uppercase; line-height: 1.05; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .stk-run__score { font-family: var(--font-display); font-size: 1.5rem; line-height: 1; } .stk-run__yr { font-size: .6875rem; opacity: .75; }
	.stk-group { margin-bottom: clamp(32px, 5vw, 56px); } .stk-group__title { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.25rem); text-transform: uppercase; line-height: 1; margin: 0 0 14px; padding-bottom: 8px; border-bottom: 4px solid var(--graphite); } .stk-group__title span { font-size: .5em; color: var(--ink3); margin-left: 12px; letter-spacing: .1em; }
	.stk-ladder { list-style: none; margin: 0; padding: 0; }
	.stk-rung { display: grid; grid-template-columns: 32px minmax(0, 1fr) minmax(0, 1.4fr); gap: 14px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--silver-line); }
	.stk-rung__rank { font-family: var(--font-display); font-size: 1.125rem; color: var(--ink3); text-align: right; }
	.stk-rung__bar { display: block; height: 30px; background: var(--silver-2); } .stk-rung__bar i { display: flex; align-items: center; justify-content: flex-end; height: 100%; min-width: 34px; padding-right: 8px; background: var(--red); color: #fff; box-sizing: border-box; } .stk-rung__bar b { font-family: var(--font-display); font-size: 1rem; }
	.stk-ladder--u .stk-rung__bar i { background: var(--red-deep); } .stk-ladder--h .stk-rung__bar i { background: var(--graphite); } .stk-ladder--l .stk-rung__bar i { background: #8a9099; color: #0e1013; }
	.stk-rung.is-active .stk-rung__bar i { box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 5px var(--red); }
	.stk-rung__span { display: block; font-family: var(--font-display); font-size: 1rem; text-transform: uppercase; } .stk-rung__span em { font-style: normal; font-size: .6875rem; letter-spacing: .12em; color: var(--red); margin-left: 6px; }
	.stk-rung__meta { display: block; font-size: .8125rem; color: var(--ink2); margin-top: 2px; } .stk-rung__meta a { color: var(--graphite); }
	.stk-rung__chips { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 6px; } .stk-rung__chips a { font-family: var(--font-display); font-size: .6875rem; padding: 2px 6px; background: #fff; border: 1px solid var(--silver-line); color: var(--graphite); text-decoration: none; } .stk-rung__chips a:hover { border-color: var(--red); color: var(--red); }
	@media (max-width: 700px) { .stk-rung { grid-template-columns: 24px minmax(0, 1fr); } .stk-rung__body { grid-column: 2; } .stk-rung__rank { font-size: .875rem; } }
}
/* ---- Announcement bar ---- */
@layer components {
	.announce { position: relative; z-index: 60; font-family: var(--font-display); }
	.announce--red { background: var(--red); color: #fff; } .announce--dark { background: #0e1013; color: #fff; } .announce--paper { background: var(--silver-2); color: var(--graphite); border-bottom: 1px solid var(--silver-line); }
	.announce__inner { display: flex; align-items: center; gap: 12px; min-height: 40px; padding-top: 6px; padding-bottom: 6px; }
	.announce__mark { width: 18px; height: 18px; flex: 0 0 18px; opacity: .9; }
	.announce__text { margin: 0; flex: 1 1 auto; font-size: .8125rem; letter-spacing: .08em; text-transform: uppercase; line-height: 1.3; }
	.announce__link { color: inherit; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; margin-left: 8px; } .announce__link svg { width: 12px; height: 12px; vertical-align: -1px; } .announce__link:hover { text-decoration: none; }
	.announce__close { flex: 0 0 auto; background: transparent; border: 0; color: inherit; font-size: 1.375rem; line-height: 1; padding: 0 4px; cursor: pointer; opacity: .8; } .announce__close:hover { opacity: 1; }
	@media (max-width: 600px) { .announce__text { font-size: .6875rem; letter-spacing: .06em; } .announce__mark { display: none; } }
}
/* ---- New in the archive ---- */
@layer components {
	.wn { background: var(--silver-3); padding: clamp(36px, 5vw, 64px) 0; border-top: 1px solid var(--silver-line); }
	.wn__head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 4px solid var(--graphite); }
	.wn__title { font-family: var(--font-display); font-size: clamp(1.75rem, 3.5vw, 3rem); line-height: .95; text-transform: uppercase; margin: 6px 0 0; }
	.wn__days { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px 40px; }
	.wn__days--page { grid-template-columns: 1fr; max-width: 820px; }
	.wn__date { font-family: var(--font-display); font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); margin: 0 0 8px; }
	.wn__list { list-style: none; margin: 0; padding: 0; }
	.wn__item a { display: flex; align-items: baseline; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--silver-line); color: var(--graphite); text-decoration: none; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.4; }
	.wn__item a:hover span { text-decoration: underline; text-underline-offset: 3px; }
	.wn__dot { flex: 0 0 10px; width: 10px; height: 10px; background: var(--graphite); transform: translateY(1px); }
	.wn__item--roster .wn__dot { background: var(--red); } .wn__item--story .wn__dot { background: var(--graphite); } .wn__item--photos .wn__dot { background: #8a9099; border-radius: 50%; } .wn__item--season .wn__dot, .wn__item--game .wn__dot { background: var(--red-deep); } .wn__item--title .wn__dot { background: #c9a227; } .wn__item--people .wn__dot, .wn__item--hof .wn__dot { background: var(--graphite); border-radius: 50%; }
	.wn__item em { font-style: normal; margin-left: auto; font-family: var(--font-display); font-size: .625rem; letter-spacing: .14em; text-transform: uppercase; color: #fff; background: var(--red); padding: 2px 6px; align-self: center; }
	.wn--page .wn__day { margin-bottom: 28px; }
}
/* ---- New in the archive, as cards ---- */
@layer components {
	.wn { background: #0e1013; color: #fff; padding: clamp(40px, 6vw, 80px) 0; border-top: 6px solid var(--red); }
	.wn__head { border-bottom-color: rgba(255,255,255,.2); } .wn__title { color: #fff; } .wn__more { color: #fff; }
	.wn__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(190px, auto); gap: 6px; }
	.wnc { position: relative; display: grid; grid-template-rows: 1fr; overflow: hidden; background: #181c21; border-top: 5px solid var(--graphite); color: #fff; text-decoration: none; min-height: 190px; transition: transform .2s, background .2s; }
	.wnc:hover { transform: translateY(-2px); background: #22272d; }
	.wnc--lead { grid-column: span 2; grid-row: span 2; min-height: 380px; }
	.wnc--roster { border-top-color: var(--red); } .wnc--game, .wnc--season { border-top-color: var(--red-deep); } .wnc--story { border-top-color: #fff; } .wnc--photos { border-top-color: #8a9099; } .wnc--title { border-top-color: #c9a227; } .wnc--people, .wnc--hof { border-top-color: #b8bec6; }
	.wnc__img { position: absolute; inset: 0; } .wnc__img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.4) contrast(1.05) brightness(.55); transition: transform .6s ease, filter .4s; }
	.wnc:hover .wnc__img img { transform: scale(1.04); filter: grayscale(.1) contrast(1.05) brightness(.6); }
	.wnc--game .wnc__img img, .wnc--story.has-img .wnc__img img { object-fit: contain; padding: 18%; filter: brightness(.35) grayscale(.6); }
	.wnc__body { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; padding: 16px; background: linear-gradient(180deg, rgba(14,16,19,0) 30%, rgba(14,16,19,.7) 100%); }
	.wnc__top { display: flex; align-items: center; gap: 8px; font-family: var(--font-display); font-size: .625rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.7); margin-bottom: auto; }
	.wnc__type { color: #fff; } .wnc__new { font-style: normal; background: var(--red); color: #fff; padding: 2px 6px; } .wnc__when { margin-left: auto; text-align: right; }
	.wnc__year { font-family: var(--font-display); font-size: clamp(2.5rem, 4vw, 3.5rem); line-height: .9; letter-spacing: -.02em; } .wnc--lead .wnc__year { font-size: clamp(4rem, 8vw, 7rem); }
	.wnc__title { font-family: var(--font-serif); font-size: 1rem; line-height: 1.35; color: rgba(255,255,255,.9); } .wnc--lead .wnc__title { font-size: 1.25rem; }
	@media (max-width: 1000px) { .wn__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
	@media (max-width: 480px) { .wn__grid { grid-template-columns: 1fr; } .wnc--lead { grid-column: auto; grid-row: auto; min-height: 260px; } .wnc { min-height: 150px; } .wnc__year { font-size: 2.25rem; } }
}
@layer components { .wnc__sport { font-family: var(--font-display); font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); } .wnc__body { background: none; } .wnc__title { color: #fff; } .news__head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 4px solid var(--graphite); } .news__title { font-family: var(--font-display); font-size: clamp(1.75rem, 3.5vw, 3rem); line-height: .95; text-transform: uppercase; margin: 6px 0 0; } }
@layer components { /* New in the archive: every card gets art. Photos sit dark and grainy behind the type; the C watermarks the rest. */
	.wnc { isolation: isolate; }
	.wnc__art { position: absolute; inset: 0; z-index: 0; background: var(--art) center / cover no-repeat; opacity: 0; transition: transform .8s ease, opacity .4s; }
	.wnc.has-art .wnc__art { opacity: .55; filter: saturate(.85) contrast(1.05); }
	.wnc--lead.has-art .wnc__art { opacity: .7; }
	.wnc:hover .wnc__art { transform: scale(1.04); opacity: .8; }
	.wnc__art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,16,19,.55) 0%, rgba(14,16,19,.25) 40%, rgba(14,16,19,.9) 100%); }
	.wnc__c { position: absolute; right: -12%; bottom: -18%; width: 60%; aspect-ratio: 1; z-index: 0; background: var(--c) center / contain no-repeat; opacity: .07; pointer-events: none; }
	.wnc.has-art .wnc__c { opacity: .05; } .wnc--lead .wnc__c { width: 46%; right: -6%; bottom: -14%; }
	.wnc__body { position: relative; z-index: 1; }
	.wnc--lead .wnc__body { padding: 20px 24px 24px; }
}
/* ---- Archive search: the header box, its suggestions, and the results page group ---- */
@layer components {
	.usearch { position: relative; display: flex; align-items: center; gap: 6px; min-width: 240px; padding: 3px 8px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); }
	.usearch__icon .icon { width: 13px; height: 13px; color: currentColor; opacity: .8; }
	.usearch__input { flex: 1 1 auto; min-width: 0; background: transparent; border: 0; color: inherit; font-family: var(--font-display); font-size: .75rem; letter-spacing: .06em; padding: 4px 2px; outline: none; }
	.usearch__input::placeholder { color: currentColor; opacity: .6; } .usearch__input::-webkit-search-cancel-button { display: none; }
	.usearch:focus-within { background: #fff; color: var(--graphite); border-color: #fff; }
	.usearch__drop { position: absolute; top: calc(100% + 6px); right: 0; width: min(420px, 92vw); background: #fff; color: var(--graphite); box-shadow: 0 24px 48px -16px rgba(0,0,0,.45); border-top: 4px solid var(--red); z-index: 80; text-align: left; }
	.usearch__drop ul { list-style: none; margin: 0; padding: 6px 0; } .usearch__drop li + li { border-top: 1px solid var(--silver-2); }
	.usearch__drop a { display: grid; grid-template-columns: 96px 1fr; grid-template-areas: "type title" "type sub"; column-gap: 12px; padding: 9px 14px; color: var(--graphite); text-decoration: none; }
	.usearch__drop a:hover, .usearch__drop a.is-sel { background: var(--silver-3); }
	.usearch__type { grid-area: type; font-family: var(--font-display); font-size: .625rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red); align-self: center; }
	.usearch__drop b { grid-area: title; font-family: var(--font-display); font-size: 1rem; line-height: 1.1; text-transform: uppercase; } .usearch__drop small { grid-area: sub; font-size: .75rem; color: var(--ink3); }
	.usearch__all a { display: block; font-family: var(--font-display); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--red); }
	@media (max-width: 900px) { .usearch { min-width: 0; width: 34px; padding: 3px 0; justify-content: center; background: transparent; border-color: transparent; } .usearch__input { position: absolute; opacity: 0; width: 1px; } .usearch:focus-within { width: min(70vw, 320px); background: #fff; border-color: #fff; padding: 3px 8px; } .usearch:focus-within .usearch__input { position: static; opacity: 1; width: auto; } }
	.srch-arc { padding-top: 24px; padding-bottom: 8px; } .srch-arc__list { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 4px; }
	.srch-arc__list a { display: grid; grid-template-columns: 96px 1fr; grid-template-areas: "type title" "type sub"; column-gap: 12px; padding: 12px 14px; background: #fff; border-left: 4px solid var(--red); color: var(--graphite); text-decoration: none; } .srch-arc__list a:hover { background: var(--graphite); color: #fff; }
	.srch-arc__type { grid-area: type; font-family: var(--font-display); font-size: .625rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red); align-self: center; } .srch-arc__list b { grid-area: title; font-family: var(--font-display); font-size: 1.125rem; line-height: 1.1; text-transform: uppercase; } .srch-arc__list small { grid-area: sub; font-size: .8125rem; opacity: .75; }
}
/* ---- Navigation: mega menus with featured cards, the search action, the phone drawer ---- */
/* unlayered on purpose: must beat the site's unlayered dropdown rules */
	.primary-nav__menu > .menu-item--mega { position: static; }
	.primary-nav__menu > .menu-item > a { font-family: var(--font-display); letter-spacing: .08em; }
	.primary-nav .mega { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 26px var(--gutter, 24px) 30px; background: #fff; border-top: 4px solid var(--red); box-shadow: 0 30px 60px -20px rgba(0,0,0,.35); z-index: 60; }
	.primary-nav__menu > .menu-item--mega.is-open > .mega, .primary-nav__menu > .menu-item--mega:focus-within > .mega, .primary-nav__menu > .menu-item--mega:hover > .mega { display: grid; }
	.primary-nav .mega { min-width: 0; left: 0; right: 0; width: auto; transform: none; grid-template-columns: minmax(0, 1fr) 300px; grid-template-areas: "desc desc" "cols card"; column-gap: 40px; row-gap: 10px; padding-inline: max(var(--gutter), calc((100% - var(--container)) / 2)); }
	.mega__desc { grid-area: desc; font-family: var(--font-serif); font-style: italic; font-size: 1rem; color: var(--ink3); padding-bottom: 8px; border-bottom: 1px solid var(--silver-line); }
	.mega__cols { grid-area: cols; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 32px; } .mega--2 .mega__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } .menu-item--wide .mega__cols { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.mega__col ul { list-style: none; margin: 0; padding: 0; } .primary-nav .mega__col li a { display: block; padding: 5px 0; font-family: var(--font-display); font-size: 1rem; letter-spacing: .02em; text-transform: uppercase; color: var(--graphite); text-decoration: none; transition: color .15s, transform .15s; }
	.primary-nav .mega__col li a:hover { color: var(--red); transform: translateX(4px); } .primary-nav .mega__col li.is-key a { color: var(--red); } .mega__col li.is-key a::after { content: " →"; opacity: .6; }
	.mega__card { grid-area: card; display: flex; flex-direction: column; gap: 8px; padding: 22px; background: var(--graphite); color: #fff; text-decoration: none; position: relative; overflow: hidden; }
	.mega__card::after { content: ""; position: absolute; right: -18%; bottom: -30%; width: 70%; aspect-ratio: 1; background: var(--corbin-mark-white) center / contain no-repeat; opacity: .06; }
	.mega__card:hover { background: #0e1013; } .mega__card-k { font-family: var(--font-display); font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); }
	.mega__card b { font-family: var(--font-display); font-size: 1.375rem; line-height: 1.05; text-transform: uppercase; letter-spacing: .005em; } .mega__card small { font-size: .75rem; color: rgba(255,255,255,.65); } .mega__card-cta { margin-top: auto; padding-top: 10px; font-family: var(--font-display); font-size: .8125rem; letter-spacing: .1em; text-transform: uppercase; } .mega__card-cta .icon { width: 12px; height: 12px; vertical-align: -1px; }
	.arcsearch__btn { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; white-space: nowrap; flex: none; padding: 10px 16px; background: var(--graphite); color: #fff; border: 0; font-family: var(--font-display); font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: background .15s; } .arcsearch__btn:hover, .arcsearch__btn[aria-expanded="true"] { background: var(--red); } .arcsearch__btn .icon { width: 14px; height: 14px; }
	.masthead__cta { margin-left: 12px; } @media (max-width: 1279px) { .masthead__cta { display: none !important; } }
	.arcsearch { position: absolute; left: 0; right: 0; top: 100%; background: #0e1013; color: #fff; border-top: 4px solid var(--red); box-shadow: 0 30px 60px -20px rgba(0,0,0,.5); z-index: 70; padding: 28px 0 24px; }
	.arcsearch__form { position: relative; display: flex; align-items: center; gap: 10px; border-bottom: 3px solid #fff; padding: 6px 0 10px; } .arcsearch__icon .icon { width: 22px; height: 22px; }
	.arcsearch__input { flex: 1 1 auto; min-width: 0; background: transparent; border: 0; color: #fff; font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.5rem); text-transform: uppercase; letter-spacing: .02em; outline: none; } .arcsearch__input::placeholder { color: rgba(255,255,255,.4); } .arcsearch__input::-webkit-search-cancel-button { display: none; }
	.arcsearch__go { background: var(--red); color: #fff; border: 0; padding: 10px 18px; font-family: var(--font-display); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
	.arcsearch__drop { top: calc(100% + 4px); right: auto; left: 0; width: min(560px, 100%); }
	.arcsearch__starts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; } .arcsearch__starts > span { font-family: var(--font-display); font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-right: 6px; }
	.arcsearch__starts .chip { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); } .arcsearch__starts .chip:hover { background: #fff; color: var(--graphite); }
	.drawer { display: none; }
	@media (max-width: 1023px) {
		.primary-nav__menu, .primary-nav__drawer-extras, .arcsearch__btn, .arcsearch { display: none !important; }
		.primary-nav.is-open .drawer { display: block; padding-bottom: 40px; }
		.drawer__search { display: flex; gap: 0; border: 2px solid #fff; margin-bottom: 22px; } .drawer__search input { flex: 1 1 auto; min-width: 0; background: transparent; border: 0; color: #fff; font-family: var(--font-display); font-size: 1.125rem; text-transform: uppercase; letter-spacing: .04em; padding: 12px 14px; outline: none; } .drawer__search input::placeholder { color: rgba(255,255,255,.6); } .drawer__search button { background: var(--red); color: #fff; border: 0; padding: 0 16px; } .drawer__search .icon { width: 18px; height: 18px; }
		.drawer__block { padding: 16px 0; border-top: 1px solid rgba(255,255,255,.14); }
		.drawer__h { display: block; font-family: var(--font-display); font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); margin-bottom: 10px; } .drawer__h--link { color: #fff; font-size: 1.25rem; letter-spacing: .06em; text-decoration: none; } .drawer__h--link small { display: block; font-family: var(--font-serif); font-style: italic; font-size: .875rem; letter-spacing: 0; text-transform: none; color: rgba(255,255,255,.6); margin-top: 2px; }
		.drawer__chips { display: flex; flex-wrap: wrap; gap: 6px; } .drawer__chips .chip { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); }
		.drawer__sports { display: grid; gap: 6px; } .drawer__sport { display: flex; align-items: stretch; background: rgba(255,255,255,.06); } .drawer__sport-name { flex: 1 1 auto; padding: 12px 14px; font-family: var(--font-display); font-size: 1.125rem; text-transform: uppercase; color: #fff; text-decoration: none; } .drawer__sport-sched { display: inline-flex; align-items: center; gap: 6px; padding: 0 14px; background: var(--red); color: #fff; font-family: var(--font-display); font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; } .drawer__sport-sched .icon { width: 12px; height: 12px; }
		.drawer__link, .drawer__links a { color: rgba(255,255,255,.85); text-decoration: none; font-family: var(--font-serif); font-size: 1rem; } .drawer__links { display: flex; flex-wrap: wrap; gap: 6px 18px; } .drawer__link { display: inline-block; margin-top: 8px; font-family: var(--font-display); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red); }
		.drawer__foot { display: flex; flex-wrap: wrap; gap: 6px 18px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); } .drawer__foot a { color: rgba(255,255,255,.7); font-family: var(--font-display); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; } .drawer__foot a.is-join { color: #fff; background: var(--red); padding: 4px 10px; }
	}
	@media (min-width: 1024px) { .drawer { display: none !important; } }

/* unlayered on purpose: must beat the site's unlayered dropdown rules */ /* nav: the panel belongs to the header, not the nav strip; the card and links shed the old dropdown styling */
	@media (min-width: 1024px) { .primary-nav { position: static; } }
	.primary-nav .mega__col li a { border-bottom: 0; }
	.primary-nav .mega .mega__card { display: flex; flex-direction: column; gap: 8px; padding: 22px; font-size: inherit; letter-spacing: 0; text-transform: none; border-bottom: 0; color: #fff; }
	.primary-nav .mega .mega__card:hover { color: #fff; }
	.primary-nav .mega .mega__card b { display: block; font-family: var(--font-display); font-weight: 800; font-size: 1.375rem; line-height: 1.05; text-transform: uppercase; letter-spacing: .005em; color: #fff; }
	.primary-nav .mega .mega__card small { display: block; font-size: .75rem; color: rgba(255,255,255,.65); font-family: var(--font-display); letter-spacing: .06em; text-transform: uppercase; }
	.primary-nav .mega .mega__card-k { font-family: var(--font-display); font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); }
	.primary-nav .mega .mega__card-cta { margin-top: auto; padding-top: 10px; font-family: var(--font-display); font-weight: 700; font-size: .8125rem; letter-spacing: .1em; text-transform: uppercase; }
	.primary-nav .mega__head { display: block; margin-bottom: 8px; font-family: var(--font-display); font-weight: 900; font-size: .6875rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
	.primary-nav .mega__col li a { font-weight: 700; font-size: 1.0625rem; }
/* unlayered nav polish */
.primary-nav .mega .mega__card, .primary-nav .mega .mega__card * { text-align: left; }
.primary-nav .mega .mega__card-cta { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.primary-nav .mega .mega__card-cta .icon { width: 12px; height: 12px; }

.primary-nav .mega .mega__card { align-items: flex-start; justify-content: flex-start; }
/* unlayered: the drawer on the silver theme is white, so its type is graphite */
@media (max-width: 1023px) {
	.primary-nav.is-open { background: #fff; color: var(--graphite); }
	.drawer__search { border-color: var(--graphite); } .drawer__search input { color: var(--graphite); } .drawer__search input::placeholder { color: var(--ink3); }
	.drawer__block { border-top-color: var(--silver-line); }
	.drawer__h--link { color: var(--graphite); } .drawer__h--link small { color: var(--ink3); }
	.drawer__chips .chip { background: #fff; color: var(--graphite); border-color: var(--silver-line); }
	.drawer__sport { background: var(--silver-3); } .drawer__sport-name { color: var(--graphite); }
	.drawer__link { color: var(--red); } .drawer__links a { color: var(--graphite); }
	.drawer__foot { border-top-color: var(--silver-line); } .drawer__foot a { color: var(--ink2); }
}
@layer components { /* rosters index */
	.rl-group { margin-bottom: clamp(32px, 5vw, 56px); } .rl-group__title { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.25rem); text-transform: uppercase; line-height: 1; margin: 0 0 14px; padding-bottom: 8px; border-bottom: 4px solid var(--graphite); } .rl-group__title span { font-size: .5em; color: var(--ink3); margin-left: 12px; letter-spacing: .1em; }
	.rl-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; }
	.rl-card a { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--silver-line); color: var(--graphite); text-decoration: none; height: 100%; transition: transform .2s, box-shadow .2s; } .rl-card a:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -16px rgba(0,0,0,.35); }
	.rl-card__photo { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--graphite); } .rl-card__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3); }
	.rl-card__body { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; } .rl-card__year { font-family: var(--font-display); font-size: 1.75rem; line-height: 1; color: var(--red); } .rl-card__meta { font-size: .75rem; color: var(--ink3); letter-spacing: .04em; text-transform: uppercase; font-family: var(--font-display); }
	.rl-help { font-family: var(--font-serif); color: var(--ink2); margin-top: 8px; } .rl-help a { color: var(--red); }
}
/* ---- What's new, the full page (its own styles; the homepage section is .wn) ---- */
@layer components {
	.wnp__count { font-family: var(--font-display); font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink3); margin: 0 0 18px; } .wnp__count b { color: var(--red); font-size: 1.25rem; margin-right: 6px; }
	.wnp { max-width: 860px; }
	.wnp__day { margin-bottom: 26px; }
	.wnp__date { display: flex; align-items: baseline; gap: 10px; font-family: var(--font-display); font-size: clamp(1.125rem, 2vw, 1.5rem); line-height: 1; text-transform: uppercase; letter-spacing: .02em; color: var(--graphite); margin: 0 0 10px; padding-bottom: 8px; border-bottom: 3px solid var(--graphite); }
	.wnp__date span { font-size: .6875rem; letter-spacing: .12em; color: #fff; background: var(--red); padding: 3px 7px; }
	.wnp__list { list-style: none; margin: 0; padding: 0; }
	.wnp__item a { display: grid; grid-template-columns: 132px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 14px; background: #fff; border: 1px solid var(--silver-line); border-left: 5px solid var(--graphite); color: var(--graphite); text-decoration: none; margin-bottom: 4px; transition: transform .15s, box-shadow .15s, border-color .15s; }
	.wnp__item a:hover { transform: translateX(3px); box-shadow: 0 12px 24px -16px rgba(0,0,0,.4); border-left-color: var(--red); }
	.wnp__type { font-family: var(--font-display); font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink3); }
	.wnp__body { min-width: 0; } .wnp__body b { display: block; font-family: var(--font-serif); font-size: 1.0625rem; font-weight: 600; line-height: 1.35; } .wnp__body small { display: block; font-family: var(--font-display); font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; color: var(--red); margin-top: 2px; }
	.wnp__new { font-style: normal; font-family: var(--font-display); font-size: .625rem; letter-spacing: .14em; text-transform: uppercase; color: #fff; background: var(--red); padding: 3px 7px; }
	.wnp__item--roster a { border-left-color: var(--red); } .wnp__item--photos a { border-left-color: #8a9099; } .wnp__item--title a { border-left-color: #c9a227; } .wnp__item--story a { border-left-color: var(--graphite); }
	@media (max-width: 640px) { .wnp__item a { grid-template-columns: 1fr auto; gap: 6px 10px; } .wnp__type { grid-column: 1 / -1; } }
}
@layer components { .ab-comm__note { font-family: var(--font-serif); font-size: .9375rem; color: var(--ink3); margin: 12px 0 0; } }
@layer components { /* the frame holds the photo's shape while it decodes, so a slow or truncated file never leaves a white void */
	.teamplate__img { aspect-ratio: var(--tp-ar, 3 / 2); object-fit: cover; background: var(--silver-2); }
}
/* ---- Identity: the career on a person page ---- */
@layer components {
	.pid { background: #0e1013; color: #fff; padding: clamp(36px, 5vw, 64px) 0; border-top: 6px solid var(--red); }
	.pid__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 22px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.2); }
	.pid__title { font-family: var(--font-display); font-size: clamp(2rem, 4.5vw, 3.5rem); line-height: .95; text-transform: uppercase; margin: 6px 0 0; color: #fff; }
	.pid__facts { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0; } .pid__facts div { display: flex; flex-direction: column; gap: 2px; } .pid__facts dt { font-family: var(--font-display); font-size: .625rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.55); } .pid__facts dd { margin: 0; font-family: var(--font-display); font-size: 1.25rem; }
	.pid__verified { color: #6ee7a8; }
	.pid__time { list-style: none; margin: 0; padding: 0; }
	.pid__row a { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 12px 14px; background: #181c21; border-left: 5px solid #3a4048; color: #fff; text-decoration: none; margin-bottom: 4px; transition: transform .15s, background .15s; }
	.pid__row a:hover { transform: translateX(3px); background: #22272d; }
	.pid__row--played a { border-left-color: var(--red); } .pid__row--coached a { border-left-color: #fff; }
	.pid__year { font-family: var(--font-display); font-size: 1.75rem; line-height: 1; letter-spacing: -.01em; }
	.pid__what b { display: block; font-family: var(--font-display); font-size: 1.0625rem; text-transform: uppercase; letter-spacing: .02em; } .pid__what small { display: block; font-size: .8125rem; color: rgba(255,255,255,.62); margin-top: 2px; }
	.pid__tag { font-family: var(--font-display); font-size: .625rem; letter-spacing: .14em; text-transform: uppercase; padding: 3px 8px; background: rgba(255,255,255,.1); }
	.pid__row--played .pid__tag { background: var(--red); }
	.pid__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 40px; }
	.pid__col--wide { grid-column: 1 / -1; }
	.pid__people { list-style: none; margin: 8px 0 0; padding: 0; } .pid__people li { padding: 8px 0; border-bottom: 1px solid var(--silver-line); } .pid__people a { font-family: var(--font-display); font-size: 1.0625rem; text-transform: uppercase; color: var(--graphite); text-decoration: none; } .pid__people a:hover { color: var(--red); } .pid__people small { display: block; font-size: .8125rem; color: var(--ink3); margin-top: 2px; }
	.pid__mates { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; } .pid__mates a, .pid__mates span { display: inline-block; padding: 5px 10px; background: #fff; border: 1px solid var(--silver-line); font-size: .875rem; color: var(--graphite); text-decoration: none; } .pid__mates a:hover { border-color: var(--red); color: var(--red); } .pid__mates span { color: var(--ink3); }
	@media (max-width: 700px) { .pid__cols { grid-template-columns: 1fr; } .pid__row a { grid-template-columns: 64px minmax(0, 1fr); } .pid__tag { display: none; } .pid__year { font-size: 1.25rem; } }
}
@layer components { /* identity: split careers, team connections, I was there */
	.pid__block + .pid__block { margin-top: 30px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.15); }
	.pid__facts--top { margin: 0 0 22px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.2); }
	.pid__note { font-family: var(--font-serif); font-size: .9375rem; color: var(--ink3); margin: 4px 0 12px; }
	.pid__there { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 4px; }
	.pid__there-row a { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px 12px; background: #fff; border: 1px solid var(--silver-line); border-left: 4px solid var(--silver-line); color: var(--graphite); text-decoration: none; }
	.pid__there-row--played a { border-left-color: var(--red); } .pid__there-row--coached a { border-left-color: var(--graphite); } .pid__there-row--attended a { border-left-color: #8a9099; }
	.pid__there-role { font-family: var(--font-display); font-size: .625rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink3); }
	.pid__there-row b { display: block; font-family: var(--font-display); font-size: .9375rem; text-transform: uppercase; line-height: 1.1; }
	.pid__there-row small { display: block; font-size: .75rem; color: var(--ink3); margin-top: 2px; }
}
/* ---- Phase 3: the person card and the surfaces that use it ---- */
@layer components {
	.pcard { display: flex; align-items: center; gap: 12px; padding: 10px; background: #fff; border: 1px solid var(--silver-line); color: var(--graphite); text-decoration: none; transition: transform .15s, box-shadow .15s, border-color .15s; }
	.pcard:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -18px rgba(0,0,0,.4); border-color: var(--red); }
	.pcard__photo { position: relative; flex: 0 0 auto; width: 56px; height: 56px; overflow: hidden; background: var(--silver-2); display: grid; place-items: center; }
	.pcard__photo img { width: 100%; height: 100%; object-fit: cover; }
	.pcard__initials { font-family: var(--font-display); font-size: 1.5rem; color: var(--ink3); }
	.pcard__num { position: absolute; left: 0; bottom: 0; background: var(--red); color: #fff; font-family: var(--font-display); font-size: .6875rem; letter-spacing: .04em; padding: 1px 5px; }
	.pcard__body { min-width: 0; }
	.pcard__name { display: block; font-family: var(--font-display); font-size: 1rem; line-height: 1.1; text-transform: uppercase; letter-spacing: .01em; }
	.pcard__meta { display: block; font-size: .75rem; color: var(--ink3); margin-top: 2px; }
	.pcard__why { display: block; font-family: var(--font-serif); font-size: .8125rem; color: var(--ink2); margin-top: 3px; }
	.pcard--lg { flex-direction: column; align-items: stretch; gap: 0; padding: 0; } .pcard--lg .pcard__photo { width: 100%; height: auto; aspect-ratio: 3 / 2; } .pcard--lg .pcard__body { padding: 12px 14px 14px; } .pcard--lg .pcard__name { font-size: 1.125rem; }
	.spx__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
	.spx__count { font-family: var(--font-display); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink3); }
	.spx__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 6px; }
	.spx__grid--staff { margin-top: 8px; } .spx__staff { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--silver-line); }
	.spx__note { font-family: var(--font-serif); font-size: .875rem; color: var(--ink3); margin: 14px 0 0; } .spx__note--light { color: rgba(255,255,255,.6); }
	.spx__unknown { font-family: var(--font-serif); font-size: 1rem; color: var(--ink2); margin: 12px 0 0; } .spx__unknown b { font-family: var(--font-display); font-size: 1.25rem; color: var(--red); } .spx__unknown a { color: var(--red); }
	.pconn { background: #0e1013; } .pconn .archive-kicker { color: var(--red); } .pconn__title { color: #fff; }
	.pconn .pcard { background: #181c21; border-color: rgba(255,255,255,.12); color: #fff; } .pconn .pcard:hover { background: #22272d; border-color: var(--red); }
	.pconn .pcard__meta, .pconn .pcard__why { color: rgba(255,255,255,.65); } .pconn .pcard__photo { background: #2b3036; }
	.pidx__tools { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 14px; }
	.pidx__search { font-family: var(--font-display); font-size: 1rem; letter-spacing: .04em; padding: 10px 14px; border: 2px solid var(--graphite); background: #fff; min-width: 220px; }
	.pidx__filters { display: flex; flex-wrap: wrap; gap: 6px; } .pidx__filters .chip { cursor: pointer; } .pidx__filters .chip span { opacity: .6; margin-left: 4px; }
	.pidx__count { font-family: var(--font-display); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink3); margin: 0 0 10px; }
	.pidx__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
	.pidx__empty { font-family: var(--font-serif); color: var(--ink3); }
	@media (max-width: 600px) { .spx__grid, .pidx__grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); } .pcard__photo { width: 44px; height: 44px; } }
}
/* ---- Phase 4: photo identity ---- */
@layer components {
	.whois__set { display: grid; gap: 18px; }
	.whois__item { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 20px; align-items: start; padding: 14px; background: #fff; border: 1px solid var(--silver-line); }
	.whois__thumb { margin: 0; } .whois__thumb img { width: 100%; height: auto; display: block; }
	.whois__head { margin-bottom: 8px; }
	.whois__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 6px; }
	.whois__maybe { margin-top: 12px; } .whois__label { display: block; font-family: var(--font-display); font-size: .625rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ink3); margin-bottom: 6px; }
	.whois__maybe .pcard { border-style: dashed; }
	.whois__unknown { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--silver-line); }
	.whois__ask { font-family: var(--font-serif); font-size: 1rem; color: var(--ink2); margin: 0 0 8px; } .whois__ask b { font-family: var(--font-display); font-size: 1.375rem; color: var(--red); }
	.whois__ph { display: inline-block; margin-left: 6px; padding: 2px 8px; background: var(--silver-3); border: 1px dashed var(--silver-line); font-size: .75rem; color: var(--ink3); }
	.whois__form summary { display: inline-block; cursor: pointer; font-family: var(--font-display); font-size: .8125rem; letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
	.whois__form form { display: grid; gap: 10px; margin-top: 12px; max-width: 560px; }
	.whois__form label { display: grid; gap: 4px; font-family: var(--font-display); font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink3); }
	.whois__form input, .whois__form textarea { font-family: inherit; font-size: 1rem; padding: 9px 11px; border: 2px solid var(--silver-line); background: #fff; }
	.whois__form input:focus, .whois__form textarea:focus { border-color: var(--red); outline: 0; }
	.whois__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
	.whois__note, .whois__thanks { font-family: var(--font-serif); font-size: .8125rem; color: var(--ink3); margin: 0; } .whois__thanks { color: var(--graphite); }
	.pphotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
	.pphotos__item { margin: 0; } .pphotos__item img { width: 100%; height: auto; display: block; }
	.pphotos__item figcaption { font-size: .75rem; color: var(--ink3); margin-top: 4px; } .pphotos__item figcaption em { font-style: normal; display: block; color: var(--red); font-family: var(--font-display); font-size: .625rem; letter-spacing: .12em; text-transform: uppercase; }
	.pphotos__item.is-maybe img { opacity: .9; outline: 2px dashed var(--silver-line); outline-offset: -2px; }
	@media (max-width: 760px) { .whois__item { grid-template-columns: 1fr; } .whois__row { grid-template-columns: 1fr; } }
}
@layer components { /* legends: the curated view */
	.pidx__cross { font-family: var(--font-serif); font-size: .9375rem; color: var(--ink3); margin: 0 0 16px; } .pidx__cross a { color: var(--red); }
	.lgd__group { margin-bottom: clamp(28px, 4vw, 44px); }
	.lgd__title { display: flex; align-items: baseline; gap: 10px; font-family: var(--font-display); font-size: clamp(1.25rem, 2.4vw, 1.75rem); line-height: 1; text-transform: uppercase; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 3px solid var(--graphite); }
	.lgd__title span { font-size: .625rem; letter-spacing: .12em; color: #fff; background: var(--red); padding: 3px 7px; }
}
/* ---- Legends and People: poster cards ---- */
@layer components {
	.poster-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
	.poster-grid > .pidx__item { display: contents; } .poster-grid > .pidx__item[hidden] { display: none; }
	.pcard--poster { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: #15181c; color: #fff; text-decoration: none; isolation: isolate; border: 0; padding: 0; }
	.pcard--poster .pcard__art { position: absolute; inset: 0; z-index: 0; }
	.pcard--poster .pcard__art img { position: absolute; inset: 0; width: 100%; height: 100%; }
	.pcard--poster .pcard__fill { object-fit: cover; filter: blur(30px) saturate(.7) brightness(.4); transform: scale(1.25); }
	.pcard--poster .pcard__pic { object-fit: contain; object-position: center; filter: saturate(.95) contrast(1.05); transition: transform .7s ease; }
	.pcard--poster:hover .pcard__pic { transform: scale(1.03); }
	.pcard--poster .pcard__art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,16,19,.25) 0%, rgba(14,16,19,0) 22%, rgba(14,16,19,0) 55%, rgba(14,16,19,.7) 80%, rgba(14,16,19,.96) 100%); }
	.pcard--poster.no-photo .pcard__art { background: linear-gradient(160deg, #1f2329 0%, #0e1013 100%); }
	.pcard--poster .pcard__mark { position: absolute; right: -22%; top: -12%; width: 95%; aspect-ratio: 1; background: var(--c) center / contain no-repeat; opacity: .07; }
	.pcard--poster .pcard__initials { position: absolute; left: 18px; top: 14px; font-family: var(--font-display); font-size: clamp(3.5rem, 6vw, 5.5rem); line-height: 1; color: rgba(255,255,255,.14); letter-spacing: -.03em; }
	.pcard--poster .pcard__over { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 16px 16px 16px; display: flex; flex-direction: column; gap: 4px; }
	.pcard--poster .pcard__why { align-self: flex-start; font-family: var(--font-display); font-size: .625rem; letter-spacing: .16em; text-transform: uppercase; color: #fff; background: var(--red); padding: 3px 7px; margin-bottom: 4px; }
	.pcard--poster .pcard__name { font-family: var(--font-display); font-size: clamp(1.375rem, 2vw, 1.75rem); line-height: .95; text-transform: uppercase; letter-spacing: .005em; text-shadow: 0 2px 18px rgba(0,0,0,.6); }
	.pcard--poster .pcard__meta { font-family: var(--font-display); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.7); }
	.pcard--poster::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--red); z-index: 2; transform: scaleX(0); transform-origin: left; transition: transform .3s; }
	.pcard--poster:hover::before { transform: scaleX(1); }

	.lgh { background: #0e1013; color: #fff; border-top: 6px solid var(--red); padding: clamp(40px, 6vw, 88px) 0; position: relative; overflow: hidden; }
	.lgh::after { content: ""; position: absolute; right: -8%; top: -30%; width: 46vw; aspect-ratio: 1; background: var(--corbin-mark-white) center / contain no-repeat; opacity: .05; pointer-events: none; }
	.lgh__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: end; }
	.lgh__title { font-family: var(--font-display); font-size: clamp(3.5rem, 9vw, 8rem); line-height: .88; letter-spacing: -.02em; text-transform: uppercase; margin: 8px 0 14px; }
	.lgh__lede { font-family: var(--font-serif); font-size: clamp(1.0625rem, 1.5vw, 1.375rem); line-height: 1.5; color: rgba(255,255,255,.82); max-width: 60ch; margin: 0 0 18px; }
	.lgh__all { color: #fff; font-family: var(--font-display); font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; border-bottom: 2px solid var(--red); padding-bottom: 2px; }
	.lgh__nums { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; background: rgba(255,255,255,.08); }
	.lgh__nums div { background: #0e1013; padding: 18px 20px; } .lgh__nums b { display: block; font-family: var(--font-display); font-size: clamp(2.25rem, 4vw, 3.5rem); line-height: .95; color: var(--red); } .lgh__nums span { font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); }
	.lgb { background: #15181c; padding: clamp(32px, 5vw, 64px) 0; }
	.lgb__group { margin-bottom: clamp(32px, 5vw, 56px); }
	.lgb__title { display: flex; align-items: baseline; gap: 12px; font-family: var(--font-display); font-size: clamp(1.25rem, 2.4vw, 1.75rem); line-height: 1; letter-spacing: .06em; text-transform: uppercase; color: #fff; margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.18); }
	.lgb__title i { font-style: normal; font-size: .625rem; letter-spacing: .14em; color: #fff; background: var(--red); padding: 3px 7px; }
	.lgb__empty { font-family: var(--font-serif); color: rgba(255,255,255,.75); }
	@media (max-width: 900px) { .lgh__inner { grid-template-columns: 1fr; } .poster-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 6px; } .pcard--poster .pcard__name { font-size: 1.125rem; } }
}
@layer components { /* basketball archive art: keep the ball and jerseys (right/lower of frame) in view across card sizes */
	.wnc--roster .wnc__art, .wnc--people .wnc__art, .wnc--hof .wnc__art { background-position: 70% 60%; }
	.wnc--lead.wnc--roster .wnc__art, .wnc--lead.wnc--people .wnc__art, .wnc--lead.wnc--hof .wnc__art { background-position: 65% 55%; }
	@media (max-width: 480px) { .wnc--roster .wnc__art, .wnc--people .wnc__art, .wnc--hof .wnc__art { background-position: 72% 62%; } }
}
@layer components { /* keep the ask-card text clear of its viewfinder corner brackets */
	.hphoto-ask { padding: clamp(24px, 3vw, 40px); }
	.hphotos__grid--n1 .hphoto-ask { padding: clamp(28px, 3.5vw, 48px); }
	.hphoto-ask__k { margin-top: 2px; }
	@media (max-width: 600px) { .hphoto-ask { padding: 30px 26px; } }
}
@layer components { /* full-width template: content runs edge to edge under the header */
	.fw-page { display: block; }
	.fw-page > .rhg { margin-top: 0; }
}
@layer components { /* simple (no-mega) top-level nav item, e.g. Play */
	.primary-nav__menu .menu-item--simple > a { display: inline-flex; align-items: center; }
	.drawer__solo { display: block; font-family: var(--font-display); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--graphite); text-decoration: none; padding: 6px 0; }
	.drawer__solo:hover { color: var(--red); }
}

/* header logo fit: keep the wide wordmark inside the white bar, never overflowing top or bottom */
.logo--img{max-width:min(46vw,420px)}
.logo--img .logo__img,.logo__img{height:auto !important;max-height:64px;width:auto;max-width:100%;object-fit:contain;display:block}
@media (max-width:1100px){.logo--img{max-width:60vw}.logo--img .logo__img,.logo__img{max-height:52px}}
@media (max-width:640px){.logo--img{max-width:66vw}.logo--img .logo__img,.logo__img{max-height:44px}}
/* ---- What's New page ---- */
@layer components {
	/* hero */
	.wnh { background: #0e1013; color: #fff; border-top: 6px solid var(--red); padding: clamp(40px, 6vw, 88px) 0; position: relative; overflow: hidden; }
	.wnh::after { content: ""; position: absolute; right: -8%; top: -30%; width: 46vw; aspect-ratio: 1; background: var(--corbin-mark-white) center / contain no-repeat; opacity: .05; pointer-events: none; }
	.wnh__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: end; }
	.wnh__title { font-family: var(--font-display); font-size: clamp(3.5rem, 9vw, 8rem); line-height: .88; letter-spacing: -.02em; text-transform: uppercase; margin: 8px 0 14px; }
	.wnh__lede { font-family: var(--font-serif); font-size: clamp(1.0625rem, 1.5vw, 1.375rem); line-height: 1.5; color: rgba(255,255,255,.82); max-width: 60ch; margin: 0; }
	.wnh__nums { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; background: rgba(255,255,255,.08); }
	.wnh__nums div { background: #0e1013; padding: 18px 20px; } .wnh__nums b { display: block; font-family: var(--font-display); font-size: clamp(2.25rem, 4vw, 3.5rem); line-height: .95; color: var(--red); font-variant-numeric: tabular-nums; } .wnh__nums span { font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); }

	/* latest additions: big art cards */
	.wnl { background: #15181c; padding: clamp(28px, 4vw, 48px) 0; }
	.wnl__k { display: block; font-family: var(--font-display); font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); margin-bottom: 14px; }
	.wnl__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 8px; }
	.wnl__card { position: relative; display: block; min-height: 280px; overflow: hidden; background: #1b1f24; color: #fff; text-decoration: none; isolation: isolate; border-top: 5px solid var(--red); }
	.wnl__card--lead { grid-row: span 2; min-height: 420px; }
	.wnl__art { position: absolute; inset: 0; z-index: 0; background: var(--art) center / cover no-repeat; filter: saturate(.85); transition: transform .7s ease; }
	.wnl__card--roster .wnl__art, .wnl__card--people .wnl__art, .wnl__card--hof .wnl__art { background-position: 70% 60%; }
	.wnl__card:hover .wnl__art { transform: scale(1.04); }
	.wnl__art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,16,19,.15) 0%, rgba(14,16,19,.35) 40%, rgba(14,16,19,.92) 100%); }
	.wnl__body { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; padding: 20px; }
	.wnl__top { position: absolute; top: 16px; left: 20px; right: 20px; display: flex; align-items: center; gap: 8px; }
	.wnl__type { font-family: var(--font-display); font-size: .625rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.75); }
	.wnl__new { font-style: normal; font-family: var(--font-display); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; color: #fff; background: var(--red); padding: 2px 7px; }
	.wnl__when { margin-left: auto; font-family: var(--font-display); font-size: .625rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); }
	.wnl__year { font-family: var(--font-display); font-size: clamp(3rem, 6vw, 5rem); line-height: .85; letter-spacing: -.02em; margin-bottom: 8px; }
	.wnl__card--lead .wnl__year { font-size: clamp(4rem, 9vw, 7.5rem); }
	.wnl__text { font-family: var(--font-display); font-size: clamp(1.0625rem, 1.6vw, 1.375rem); line-height: 1.1; text-transform: uppercase; letter-spacing: .01em; text-shadow: 0 2px 18px rgba(0,0,0,.6); }
	.wnl__card--lead .wnl__text { font-size: clamp(1.375rem, 2.4vw, 2rem); }
	.wnl__sport { display: inline-block; margin-top: 8px; font-family: var(--font-display); font-size: .625rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); background: #fff; padding: 3px 7px; align-self: flex-start; }

	/* filters + timeline */
	.wnt__tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
	.wnt__filters { display: flex; flex-wrap: wrap; gap: 6px; } .wnt__filters .chip { cursor: pointer; } .wnt__filters .chip span { opacity: .6; margin-left: 4px; }
	.wnt__count { font-family: var(--font-display); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink3); margin: 0; }
	.wnt__days { position: relative; max-width: 900px; padding-left: 28px; }
	.wnt__days::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(180deg, var(--red), var(--silver-line) 70%); }
	.wnt__day { position: relative; margin-bottom: 30px; }
	.wnt__day::before { content: ""; position: absolute; left: -26px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px var(--paper, #f4f5f6); }
	.wnt__date { display: flex; align-items: baseline; gap: 10px; margin: 0 0 10px; padding-bottom: 8px; border-bottom: 3px solid var(--graphite); font-family: var(--font-display); text-transform: uppercase; line-height: 1; }
	.wnt__date-dow { font-size: .75rem; letter-spacing: .16em; color: var(--red); }
	.wnt__date-md { font-size: clamp(1.25rem, 2.4vw, 1.75rem); letter-spacing: .02em; color: var(--graphite); }
	.wnt__date i { font-style: normal; margin-left: auto; font-size: .625rem; letter-spacing: .12em; color: #fff; background: var(--red); padding: 3px 7px; }
	.wnt__list { list-style: none; margin: 0; padding: 0; }
	.wnt__item a { display: grid; grid-template-columns: 118px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 11px 14px; background: #fff; border: 1px solid var(--silver-line); border-left: 5px solid var(--graphite); color: var(--graphite); text-decoration: none; margin-bottom: 4px; transition: transform .15s, box-shadow .15s, border-color .15s; }
	.wnt__item a:hover { transform: translateX(3px); box-shadow: 0 12px 24px -16px rgba(0,0,0,.4); border-left-color: var(--red); }
	.wnt__item--roster a { border-left-color: var(--red); } .wnt__item--photos a { border-left-color: #8a9099; } .wnt__item--title a { border-left-color: #c9a227; } .wnt__item--story a { border-left-color: var(--graphite); } .wnt__item--people a { border-left-color: #2b3036; }
	.wnt__type { font-family: var(--font-display); font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink3); }
	.wnt__body { min-width: 0; } .wnt__body b { display: block; font-family: var(--font-serif); font-size: 1.0625rem; font-weight: 600; line-height: 1.35; } .wnt__body small { display: block; font-family: var(--font-display); font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; color: var(--red); margin-top: 2px; }
	.wnt__meta { display: flex; align-items: center; gap: 8px; } .wnt__meta time { font-family: var(--font-display); font-size: .625rem; letter-spacing: .1em; color: var(--ink3); text-transform: uppercase; }
	.wnt__new { font-style: normal; font-family: var(--font-display); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; color: #fff; background: var(--red); padding: 3px 7px; }
	.wnt__empty { font-family: var(--font-serif); color: var(--ink3); }
	@media (max-width: 900px) { .wnh__inner { grid-template-columns: 1fr; } .wnl__grid { grid-template-columns: 1fr 1fr; } .wnl__card--lead { grid-column: 1 / -1; grid-row: auto; min-height: 340px; } }
	@media (max-width: 600px) { .wnl__grid { grid-template-columns: 1fr; } .wnl__card { min-height: 240px; } .wnt__item a { grid-template-columns: 1fr auto; gap: 6px 10px; } .wnt__type { grid-column: 1 / -1; } .wnt__days { padding-left: 22px; } }
}
@layer components { /* search hits with several seasons: one chip per season, each its own link */
	.srch-arc__row--multi, .usearch__row--multi { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; }
	.srch-arc__seasons, .usearch__seasons { display: flex; flex-wrap: wrap; gap: 5px; padding-right: 14px; }
	.srch-arc__season, .usearch__season { font-family: var(--font-display); font-weight: 700; font-size: .8125rem; letter-spacing: .06em; padding: 6px 11px; background: var(--red); border: 1px solid var(--red); color: #fff; text-decoration: none; transition: background .15s, border-color .15s; }
	.srch-arc__season:hover, .usearch__season:hover { background: var(--graphite); border-color: var(--graphite); color: #fff; }
	@media (max-width: 600px) { .srch-arc__row--multi, .usearch__row--multi { grid-template-columns: 1fr; } .srch-arc__seasons, .usearch__seasons { padding: 0 12px 10px; } }
}
/* unlayered: the dropdown's generic ".usearch__drop a" grid rule must not restyle the season chips */
.usearch__drop a.usearch__season, .srch-arc a.srch-arc__season { display: inline-block; grid-template-columns: none; grid-template-areas: none; padding: 6px 11px; color: #fff; background: var(--red); border: 1px solid var(--red); font-family: var(--font-display); font-weight: 700; font-size: .8125rem; letter-spacing: .06em; line-height: 1; }
.usearch__drop a.usearch__season:hover, .srch-arc a.srch-arc__season:hover { background: var(--graphite); border-color: var(--graphite); color: #fff; }
.usearch__drop li.usearch__row--multi { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.usearch__drop li.usearch__row--multi > a:first-child { grid-template-columns: 96px 1fr; }
/* ---- Search results page ---- */
@layer components {
	.srh { background: #0e1013; color: #fff; border-top: 6px solid var(--red); padding: clamp(36px, 5vw, 72px) 0; position: relative; overflow: hidden; }
	.srh::after { content: ""; position: absolute; right: -8%; top: -30%; width: 44vw; aspect-ratio: 1; background: var(--corbin-mark-white) center / contain no-repeat; opacity: .05; pointer-events: none; }
	.srh__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: end; }
	.srh__form { display: flex; align-items: stretch; margin: 10px 0 12px; background: #fff; border: 2px solid #fff; }
	.srh__icon { display: grid; place-items: center; padding: 0 14px; color: var(--graphite); } .srh__icon .icon { width: 22px; height: 22px; }
	.srh__input { flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--graphite); font-family: var(--font-display); font-weight: 800; font-size: clamp(1.75rem, 4.5vw, 3.25rem); letter-spacing: .01em; text-transform: uppercase; padding: 10px 6px; }
	.srh__input::placeholder { color: var(--ink3); text-transform: none; font-weight: 600; font-size: .5em; letter-spacing: .04em; }
	.srh__go { display: inline-flex; align-items: center; gap: 8px; border: 0; cursor: pointer; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: .9375rem; letter-spacing: .12em; text-transform: uppercase; padding: 0 24px; transition: background .15s; } .srh__go:hover { background: var(--graphite); } .srh__go .icon { width: 16px; height: 16px; }
	.srh__summary { font-family: var(--font-serif); font-size: 1.125rem; color: rgba(255,255,255,.78); margin: 0; } .srh__summary b { font-family: var(--font-display); font-size: 1.5rem; color: var(--red); margin-right: 4px; } .srh__summary em { font-style: normal; color: #fff; }
	.srh__jump { display: flex; flex-wrap: wrap; gap: 2px; background: rgba(255,255,255,.08); }
	.srh__jump a { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 96px; padding: 14px 16px; background: #0e1013; color: #fff; text-decoration: none; transition: background .15s; }
	.srh__jump a:hover { background: var(--red); }
	.srh__jump b { font-family: var(--font-display); font-size: 1.75rem; line-height: 1; color: var(--red); } .srh__jump a:hover b { color: #fff; }
	.srh__jump span { font-size: .625rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-top: 4px; } .srh__jump a:hover span { color: #fff; }

	.srch-arc__head { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; }
	.srch-arc__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; }
	.srch-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--silver-line); border-top: 4px solid var(--graphite); transition: transform .15s, box-shadow .15s, border-color .15s; }
	.srch-card:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -18px rgba(0,0,0,.4); border-top-color: var(--red); }
	.srch-card--player { border-top-color: var(--red); } .srch-card--opponent { border-top-color: #2b3036; } .srch-card--season { border-top-color: #c9a227; } .srch-card--person { border-top-color: var(--red); }
	.srch-card__main { display: block; padding: 14px 16px 12px; color: var(--graphite); text-decoration: none; flex: 1 1 auto; }
	.srch-card__type { display: block; font-family: var(--font-display); font-size: .625rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); margin-bottom: 6px; }
	.srch-card__title { display: block; font-family: var(--font-display); font-size: 1.25rem; line-height: 1.05; text-transform: uppercase; letter-spacing: .01em; }
	.srch-card__sub { display: block; font-size: .8125rem; color: var(--ink3); margin-top: 4px; }
	.srch-card__seasons { display: flex; flex-wrap: wrap; gap: 5px; padding: 0 16px 14px; }

	.srch-group__h { display: flex; align-items: baseline; gap: 10px; font-family: var(--font-display); font-size: clamp(1.375rem, 2.6vw, 2rem); line-height: 1; text-transform: uppercase; letter-spacing: .02em; color: var(--graphite); margin: 0 0 14px; padding-bottom: 8px; border-bottom: 4px solid var(--graphite); }
	.srch-group__h i { font-style: normal; font-size: .625rem; letter-spacing: .12em; color: #fff; background: var(--red); padding: 3px 7px; }
	.search-group { margin-bottom: clamp(28px, 4vw, 48px); scroll-margin-top: 90px; }
	#srch-archive { scroll-margin-top: 90px; }
	@media (max-width: 900px) { .srh__inner { grid-template-columns: 1fr; } .srh__jump { width: 100%; } .srh__jump a { flex: 1 1 auto; min-width: 0; } }
	@media (max-width: 560px) { .srh__go { padding: 0 14px; font-size: .8125rem; } .srh__go .icon { display: none; } .srh__icon { padding: 0 10px; } }
}
@layer components { /* auto-linked names in prose: quiet, but clearly a link */
	.prose a.rh-name, .mem__text a.rh-name, .wp-caption-text a.rh-name, .gallery__caption a.rh-name, figcaption a.rh-name { color: inherit; text-decoration: none; border-bottom: 2px solid var(--red); padding-bottom: 1px; transition: color .15s, border-color .15s; }
	.prose a.rh-name:hover, .mem__text a.rh-name:hover, figcaption a.rh-name:hover { color: var(--red); }
	.rh-name--person { border-bottom-style: solid; } .rh-name--roster { border-bottom-style: dotted; }
}
@layer components { /* season page: when there is no story, the schedule fills the main column beside the rail */
	.season-inline-schedule { margin-top: var(--sp-6); }
	.sb--inline { padding: clamp(20px, 3vw, 32px); }
	.sb--inline .sb__grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 5px; }
	.sb--inline .sb__title { font-size: clamp(1.5rem, 3vw, 2.25rem); }
	@media (max-width: 600px) { .sb--inline .sb__grid { grid-template-columns: 1fr 1fr; } }
}
@layer components { /* inline roster block inside the season main column */
	.season-inline-team { margin-top: var(--sp-6); padding-top: var(--sp-5); border-top: 1px solid var(--silver-line); }
	.season-inline-team .archive-section__head { margin-bottom: 12px; }
	.season-inline-team .roster-preview { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
}
/* ---- On this date (paper, warm) ---- */
@layer components {
	.otdh { background: var(--silver-3, #f4f5f6); color: var(--graphite); border-top: 6px solid var(--red); padding: clamp(36px, 5vw, 72px) 0; position: relative; overflow: hidden; }
	.otdh::after { content: ""; position: absolute; right: -8%; top: -30%; width: 44vw; aspect-ratio: 1; background: var(--corbin-mark) center / contain no-repeat; opacity: .06; pointer-events: none; }
	.otdh__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr; gap: 26px; }
	.otdh .archive-kicker--light { color: var(--red); }
	.otdh__date { display: flex; align-items: baseline; gap: 18px; margin: 6px 0 12px; line-height: .85; font-family: var(--font-display); text-transform: uppercase; }
	.otdh__month { font-size: clamp(2rem, 5vw, 4rem); letter-spacing: .02em; color: var(--graphite); }
	.otdh__day { font-size: clamp(5rem, 14vw, 11rem); letter-spacing: -.03em; color: var(--red); font-variant-numeric: tabular-nums; }
	.otdh__lede { font-family: var(--font-serif); font-size: clamp(1.0625rem, 1.5vw, 1.375rem); line-height: 1.5; color: var(--ink2); max-width: 60ch; margin: 0 0 18px; } .otdh__lede b { color: var(--graphite); font-family: var(--font-display); font-size: 1.15em; } .otdh__rec { color: var(--red) !important; }
	.otdh__nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
	.otdh__step { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; background: #fff; border: 1px solid var(--silver-line); color: var(--graphite); font-family: var(--font-display); font-size: .8125rem; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; transition: background .15s, color .15s, border-color .15s; } .otdh__step:hover { background: var(--red); border-color: var(--red); color: #fff; } .otdh__step .icon { width: 14px; height: 14px; }
	.otdh__step--today { background: var(--red); border-color: var(--red); color: #fff; }
	.otdh__pick { display: inline-flex; } .otdh__pick input { width: 84px; padding: 8px 10px; border: 1px solid var(--silver-line); border-right: 0; background: #fff; color: var(--graphite); font-family: var(--font-display); font-size: .9375rem; letter-spacing: .06em; } .otdh__pick button { padding: 8px 14px; border: 0; background: var(--graphite); color: #fff; font-family: var(--font-display); font-size: .8125rem; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
	.otdh__nums { display: flex; flex-wrap: wrap; gap: 0; }
	.otdh__nums div { padding: 0 28px; border-left: 1px solid var(--silver-line); } .otdh__nums div:first-child { padding-left: 0; border-left: 0; }
	.otdh__nums b { display: block; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3.25rem); line-height: .95; color: var(--red); font-variant-numeric: tabular-nums; } .otdh__nums span { display: block; margin-top: 4px; font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink3); }

	/* spotlight: a white card with a red edge, the year and score big */
	.otds { background: var(--silver-3, #f4f5f6); padding: 0 0 clamp(20px, 3vw, 32px); }
	.otds__card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 28px; align-items: center; background: #fff; border: 1px solid var(--silver-line); border-left: 6px solid var(--red); padding: clamp(20px, 3vw, 34px) clamp(20px, 3vw, 36px); color: var(--graphite); text-decoration: none; transition: transform .15s, box-shadow .15s; }
	.otds__card:hover { transform: translateY(-2px); box-shadow: 0 18px 36px -24px rgba(0,0,0,.35); }
	.otds__card--l { border-left-color: var(--graphite); }
	.otds__k { grid-column: 1 / -1; font-family: var(--font-display); font-size: .6875rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
	.otds__year { font-family: var(--font-display); font-size: clamp(3rem, 8vw, 6rem); line-height: .85; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--graphite); }
	.otds__line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px 18px; }
	.otds__score { font-family: var(--font-display); font-size: clamp(2.25rem, 5vw, 3.75rem); line-height: 1; font-variant-numeric: tabular-nums; color: var(--red); }
	.otds__opp { font-family: var(--font-display); font-size: clamp(1.25rem, 2.4vw, 1.75rem); text-transform: uppercase; letter-spacing: .01em; color: var(--graphite); }
	.otds__meta { grid-column: 2; font-size: .8125rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink3); }

	/* timeline */
	.otdt__tools { margin-bottom: 18px; } .otdt__jump { display: flex; flex-wrap: wrap; gap: 6px; } .otdt__jump .chip span { opacity: .6; margin-left: 4px; }
	.otdt__line { position: relative; padding-left: 28px; }
	.otdt__line::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(180deg, var(--red), var(--silver-line) 70%); }
	.otdt__decade { position: relative; margin-bottom: 30px; scroll-margin-top: 90px; }
	.otdt__decade::before { content: ""; position: absolute; left: -26px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px var(--paper, #f4f5f6); }
	.otdt__h { display: flex; align-items: baseline; gap: 10px; margin: 0 0 10px; padding-bottom: 8px; border-bottom: 3px solid var(--graphite); font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.25rem); line-height: 1; text-transform: uppercase; color: var(--graphite); }
	.otdt__h i { font-style: normal; font-size: .625rem; letter-spacing: .12em; color: #fff; background: var(--red); padding: 3px 7px; }
	@media (max-width: 900px) { .otds__card { grid-template-columns: 1fr; } .otds__meta { grid-column: 1; } }
	@media (max-width: 560px) { .otdh__nums div { padding: 0 16px; } .otdh__date { flex-direction: column; gap: 0; } .otdt__line { padding-left: 22px; } }
}
@layer components { /* homepage On This Date band: open, not boxed */
	.otd-band { background: var(--silver-3, #f4f5f6); padding-block: clamp(36px, 5vw, 64px); border-top: 1px solid var(--silver-line); }
	.otd-band .otd { display: block; background: transparent; border: 0; padding: 0; }
	.otd-band .otd__head { display: block; border-bottom: 0; padding-bottom: 0; margin-bottom: 18px; }
	.otd-band .otd__head .archive-title { font-size: clamp(2.25rem, 5vw, 4rem); line-height: .9; margin: 4px 0 0; }
	.otd-band .otd__list { display: grid; grid-template-columns: 1fr; gap: 6px; grid-column: auto; }
	@media (min-width: 900px) { .otd-band .otd__list { grid-template-columns: 1fr 1fr 1fr; } }
	.otd-band .otd__item { border: 0; border-left: 4px solid var(--red); box-shadow: 0 1px 0 rgba(0,0,0,.03); }
	.otd-band .otd__item:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -16px rgba(0,0,0,.35); }
	.otd-band .textlink { grid-column: auto; display: inline-flex; margin-top: 14px; }
}
/* ---- About page (rewrite) ---- */
@layer components {
	.ab2-kicker { display: block; font-family: var(--font-display); font-size: .75rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin-bottom: 12px; }
	.ab2-kicker--light { color: var(--red); }
	.ab2-h { font-family: var(--font-display); font-size: clamp(2.25rem, 5vw, 4.25rem); line-height: .92; letter-spacing: -.01em; text-transform: uppercase; color: var(--graphite); margin: 0 0 20px; }
	.ab2-h--light { color: #fff; }
	.ab2-prose { font-family: var(--font-serif); font-size: clamp(1.0625rem, 1.35vw, 1.25rem); line-height: 1.65; color: var(--ink2); max-width: 62ch; }
	.ab2-prose p { margin: 0 0 1.1em; } .ab2-prose p:last-child { margin-bottom: 0; }
	.ab2-prose--light { color: rgba(255,255,255,.86); }

	/* 1 hero */
	.ab2-hero { position: relative; min-height: min(88vh, 900px); display: flex; align-items: flex-end; background: #0e1013; color: #fff; overflow: hidden; border-top: 6px solid var(--red); }
	.ab2-hero__img { position: absolute; inset: 0; background: var(--img) center 30% / cover no-repeat; filter: saturate(.85); }
	.ab2-hero__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,16,19,.2) 0%, rgba(14,16,19,.45) 45%, rgba(14,16,19,.94) 100%); }
	.ab2-hero__grain { position: absolute; inset: 0; opacity: .12; mix-blend-mode: overlay; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
	.ab2-hero__inner { position: relative; z-index: 1; padding: clamp(60px, 10vw, 140px) 0 clamp(48px, 7vw, 96px); }
	.ab2-hero .ab2-kicker { color: rgba(255,255,255,.7); }
	.ab2-hero__title { font-family: var(--font-display); font-size: clamp(3rem, 9.5vw, 8.5rem); line-height: .86; letter-spacing: -.02em; text-transform: uppercase; margin: 0 0 18px; text-shadow: 0 4px 40px rgba(0,0,0,.5); }
	.ab2-hero__tag { font-family: var(--font-display); font-size: clamp(1rem, 1.6vw, 1.375rem); letter-spacing: .14em; text-transform: uppercase; color: var(--red); margin: 0 0 18px; background: #fff; display: inline-block; padding: 8px 14px; }
	.ab2-hero__lede { font-family: var(--font-serif); font-size: clamp(1.0625rem, 1.5vw, 1.375rem); line-height: 1.55; color: rgba(255,255,255,.88); max-width: 58ch; margin: 0 0 26px; }
	.ab2-hero__ctas { display: flex; flex-wrap: wrap; gap: 10px; }

	/* 2 what */
	.ab2-what { background: #fff; padding: clamp(56px, 8vw, 120px) 0; }
	.ab2-what__inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 80px); align-items: start; }
	.ab2-nums { margin: 0; display: grid; gap: 0; border-top: 4px solid var(--graphite); }
	.ab2-nums div { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--silver-line); }
	.ab2-nums dt { font-family: var(--font-display); font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink3); }
	.ab2-nums dd { margin: 0; text-align: right; } .ab2-nums dd a { font-family: var(--font-display); font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1; color: var(--red); text-decoration: none; font-variant-numeric: tabular-nums; } .ab2-nums dd a:hover { color: var(--graphite); }
	.ab2-nums dd small { display: block; font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink3); margin-top: 2px; }

	/* 3 why */
	.ab2-why { background: var(--silver-3, #f4f5f6); padding: clamp(56px, 8vw, 120px) 0; }
	.ab2-why__inner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 80px); align-items: center; }
	.ab2-why__art { position: relative; }
	.ab2-why__art img { width: 100%; height: auto; display: block; filter: grayscale(.35) contrast(1.05); }
	.ab2-why__year { position: absolute; left: -12px; bottom: -22px; font-family: var(--font-display); font-size: clamp(5rem, 12vw, 11rem); line-height: .8; letter-spacing: -.04em; color: var(--red); text-shadow: 0 8px 40px rgba(0,0,0,.25); }

	/* 4 built: the web */
	.ab2-built { background: #fff; padding: clamp(56px, 8vw, 120px) 0; }
	.ab2-built__head { max-width: 760px; margin-bottom: clamp(28px, 4vw, 48px); }
	.ab2-built__lede { font-family: var(--font-serif); font-size: 1.125rem; color: var(--ink2); margin: 0; }
	.ab2-web { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.ab2-web__center { display: block; text-align: center; background: #0e1013; color: #fff; text-decoration: none; padding: clamp(24px, 4vw, 40px); border-top: 6px solid var(--red); position: relative; }
	.ab2-web__center::after { content: ""; position: absolute; left: 50%; bottom: -14px; width: 2px; height: 14px; background: var(--red); }
	.ab2-web__top { display: block; font-family: var(--font-display); font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.6); }
	.ab2-web__main { display: block; font-family: var(--font-display); font-size: clamp(2rem, 5vw, 4rem); line-height: .95; text-transform: uppercase; margin: 6px 0; }
	.ab2-web__sub { display: block; font-family: var(--font-display); font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; color: var(--red); }
	.ab2-web__spokes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 6px; }
	.ab2-web__spokes a { display: block; padding: 14px 16px; background: #fff; border: 1px solid var(--silver-line); border-top: 3px solid var(--red); color: var(--graphite); text-decoration: none; transition: transform .15s, box-shadow .15s; }
	.ab2-web__spokes a:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -18px rgba(0,0,0,.35); }
	.ab2-web__spokes b { display: block; font-family: var(--font-display); font-size: 1.125rem; text-transform: uppercase; letter-spacing: .02em; }
	.ab2-web__spokes span { display: block; font-size: .8125rem; color: var(--ink3); margin-top: 3px; }

	/* 5 present */
	.ab2-present { position: relative; background: #0e1013; color: #fff; padding: clamp(64px, 9vw, 130px) 0; overflow: hidden; }
	.ab2-present__img { position: absolute; inset: 0; background: var(--img) center / cover no-repeat; filter: saturate(.8); }
	.ab2-present__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,16,19,.94) 0%, rgba(14,16,19,.75) 55%, rgba(14,16,19,.35) 100%); }
	.ab2-present__inner { position: relative; z-index: 1; max-width: 720px; }
	.ab2-present__ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }

	/* 6 community */
	.ab2-comm { background: #fff; padding: clamp(56px, 8vw, 120px) 0; }
	.ab2-comm__inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 80px); align-items: start; }
	.ab2-comm__text .btn { margin-top: 22px; }
	.ab2-comm__ways { list-style: none; margin: 0; padding: 0; border-top: 4px solid var(--graphite); }
	.ab2-comm__ways li { padding: 16px 0; border-bottom: 1px solid var(--silver-line); }
	.ab2-comm__ways b { display: block; font-family: var(--font-display); font-size: 1.125rem; text-transform: uppercase; letter-spacing: .02em; color: var(--graphite); }
	.ab2-comm__ways span { display: block; font-family: var(--font-serif); font-size: .9375rem; color: var(--ink2); margin-top: 3px; }

	/* 7 mission */
	.ab2-mission { position: relative; background: #0e1013; color: #fff; padding: clamp(72px, 10vw, 150px) 0 clamp(48px, 6vw, 80px); overflow: hidden; border-top: 6px solid var(--red); }
	.ab2-mission__ghost { position: absolute; right: -10%; top: -20%; width: 52vw; aspect-ratio: 1; background: var(--mark) center / contain no-repeat; opacity: .05; pointer-events: none; }
	.ab2-mission__inner { position: relative; z-index: 1; max-width: 860px; }
	.ab2-mission__lead { font-family: var(--font-display); font-size: clamp(1.75rem, 4vw, 3.25rem); line-height: 1.02; text-transform: uppercase; letter-spacing: -.005em; margin: 0 0 28px; }
	.ab2-mission__list { list-style: none; margin: 0 0 28px; padding: 0 0 0 22px; border-left: 4px solid var(--red); }
	.ab2-mission__list li { font-family: var(--font-serif); font-size: clamp(1.125rem, 1.8vw, 1.5rem); line-height: 1.5; color: rgba(255,255,255,.9); }
	.ab2-mission__close { font-family: var(--font-display); font-size: clamp(1.5rem, 3.2vw, 2.5rem); line-height: 1.05; text-transform: uppercase; color: var(--red); margin: 0 0 clamp(40px, 6vw, 72px); }
	.ab2-mission__sig { padding-top: 28px; border-top: 1px solid rgba(255,255,255,.18); }
	.ab2-mission__wm { display: block; font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.25rem); text-transform: uppercase; letter-spacing: .04em; }
	.ab2-mission__sub { display: block; font-family: var(--font-display); font-size: .875rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); margin-top: 6px; }
	.ab2-mission__tag { display: block; font-family: var(--font-serif); font-size: 1rem; color: rgba(255,255,255,.7); margin-top: 8px; }
	.ab2-mission__disc { font-size: .75rem; color: rgba(255,255,255,.4); margin: 40px 0 0; max-width: 62ch; }

	@media (max-width: 900px) {
		.ab2-what__inner, .ab2-why__inner, .ab2-comm__inner { grid-template-columns: 1fr; }
		.ab2-why__inner { gap: 48px; } .ab2-why__year { left: 0; bottom: -18px; }
		.ab2-hero { min-height: 70vh; }
	}
}
@layer components { /* ghost button for dark surfaces */
	.btn--ghost-light { background: transparent; border: 2px solid rgba(255,255,255,.45); color: #fff; }
	.btn--ghost-light:hover { background: #fff; color: var(--graphite); border-color: #fff; }
}
@layer components { /* homepage: Ask the record, red band with a live demo */
	.hask2 { position: relative; background: #0e1013; color: #fff; padding: clamp(56px, 8vw, 110px) 0; overflow: hidden; border-top: 6px solid var(--red); }
	.hask2__ghost { position: absolute; right: -6%; top: 50%; transform: translateY(-50%); width: 46vw; aspect-ratio: 1; background: var(--mark) center / contain no-repeat; opacity: .05; pointer-events: none; }
	.hask2__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
	.hask2__k { display: inline-block; font-family: var(--font-display); font-size: .75rem; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: #fff; background: var(--red); padding: 5px 10px; margin-bottom: 14px; }
	.hask2__title { font-family: var(--font-display); font-size: clamp(3.25rem, 9vw, 7.5rem); line-height: .84; text-transform: uppercase; letter-spacing: -.02em; margin: 0 0 18px; text-shadow: 0 6px 40px rgba(0,0,0,.25); }
	.hask2__lede { font-family: var(--font-serif); font-size: clamp(1.0625rem, 1.5vw, 1.25rem); line-height: 1.55; color: rgba(255,255,255,.82); max-width: 44ch; margin: 0 0 26px; }
	.hask2__btn { display: inline-flex; align-items: center; gap: 10px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 1.0625rem; letter-spacing: .12em; text-transform: uppercase; padding: 16px 26px; text-decoration: none; transition: transform .15s, background .15s, color .15s; box-shadow: 0 16px 34px -14px rgba(206,26,39,.7); }
	.hask2__btn:hover { background: #fff; color: var(--red); }
	.hask2__btn:hover { transform: translateY(-2px); } .hask2__btn .icon { width: 18px; height: 18px; }
	.hask2__demo { background: #fff; color: var(--graphite); padding: clamp(20px, 3vw, 32px); box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); min-height: 300px; display: flex; flex-direction: column; }
	.hask2__q { display: flex; align-items: baseline; gap: 12px; font-family: var(--font-serif); font-size: clamp(1.25rem, 2.2vw, 1.75rem); line-height: 1.25; padding-bottom: 16px; border-bottom: 2px solid var(--graphite); min-height: 64px; }
	.hask2__prompt { font-family: var(--font-display); font-weight: 900; font-size: 1.4em; color: var(--red); line-height: 1; }
	.hask2__caret { display: inline-block; width: 2px; height: 1.1em; background: var(--red); animation: hask2-blink 1s steps(1) infinite; align-self: center; }
	@keyframes hask2-blink { 50% { opacity: 0; } }
	.hask2__a { padding-top: 18px; opacity: 0; transform: translateY(6px); transition: opacity .5s ease, transform .5s ease; flex: 1; }
	.hask2__a.is-in { opacity: 1; transform: none; }
	.hask2__h { display: block; font-family: var(--font-display); font-size: clamp(1.375rem, 2.4vw, 1.9rem); line-height: 1; text-transform: uppercase; margin-bottom: 10px; }
	.hask2__p { font-family: var(--font-serif); font-size: clamp(1rem, 1.35vw, 1.125rem); line-height: 1.55; color: var(--ink2); margin: 0 0 12px; border-left: 4px solid var(--red); padding-left: 14px; }
	.hask2__from { font-family: var(--font-display); font-size: .6875rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
	.hask2__dots { display: flex; gap: 6px; margin-top: 14px; } .hask2__dots i { width: 22px; height: 4px; background: var(--silver-line); cursor: pointer; } .hask2__dots i.on { background: var(--red); }
	@media (max-width: 900px) { .hask2__inner { grid-template-columns: 1fr; } .hask2__ghost { width: 90vw; opacity: .06; } }
}
@layer components { /* Ask band: rugged ground */
	.hask2__photo { position: absolute; inset: 0; background: var(--photo) center 45% / cover no-repeat; filter: grayscale(.55) contrast(1.15) brightness(.55); opacity: .6; }
	.hask2__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,16,19,.94) 0%, rgba(14,16,19,.78) 45%, rgba(14,16,19,.55) 100%), radial-gradient(80% 90% at 50% 50%, transparent 40%, rgba(0,0,0,.6) 100%); }
	.hask2__grain { position: absolute; inset: 0; opacity: .16; mix-blend-mode: overlay; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
	.hask2::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: repeating-linear-gradient(90deg, var(--red) 0 24px, transparent 24px 32px); opacity: .9; }
	.hask2__demo { box-shadow: 0 40px 80px -30px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.08); }
	.hask2__title { text-shadow: 0 8px 50px rgba(0,0,0,.7), 0 1px 0 rgba(0,0,0,.6); }
}
/* ---- Homepage (hx): red / white / silver. Darks are pewter, never black. ---- */
@layer components {
	:root { --pewter: #2b3036; --pewter-2: #3a4048; --silver-1: #f4f5f6; --silver-2: #e3e6ea; --silver-3: #c9ccd1; --silver-4: #8a9099; }
	.hx-grain { position: absolute; inset: 0; opacity: .14; mix-blend-mode: overlay; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
	.hx-red { color: var(--red) !important; }
	.hx-stamp, .hx-tag { display: inline-block; font-family: var(--font-display); font-weight: 900; font-size: .8125rem; letter-spacing: .26em; text-transform: uppercase; color: #fff; background: var(--red); padding: 6px 14px; transform: skew(-10deg); box-shadow: 4px 4px 0 var(--silver-3); }
	.hx-tag { font-size: .7rem; letter-spacing: .14em; padding: 3px 8px; box-shadow: none; }

	/* ticker */
	.hx-tick { position: relative; height: 58px; overflow: hidden; background: var(--red); color: #fff; border-bottom: 4px solid var(--silver-3); }
	.hx-tick__lab { position: absolute; left: 0; top: 0; bottom: 0; z-index: 2; display: flex; align-items: center; padding: 0 20px; background: var(--pewter); font-family: var(--font-display); font-weight: 900; font-size: .9rem; letter-spacing: .2em; text-transform: uppercase; }
	.hx-tick__track { position: absolute; left: 0; top: 0; height: 100%; display: flex; white-space: nowrap; padding-left: 190px; animation: hx-mq 34s linear infinite; }
	.hx-tick:hover .hx-tick__track { animation-play-state: paused; }
	@keyframes hx-mq { to { transform: translateX(-50%); } }
	.hx-tick__g { display: flex; align-items: center; gap: 12px; padding: 0 26px; border-right: 1px solid rgba(255,255,255,.3); color: #fff; text-decoration: none; font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; letter-spacing: .06em; text-transform: uppercase; }
	.hx-tick__g b { font-size: 1.5rem; font-weight: 900; } .hx-tick__y { font-weight: 900; font-size: 1.4rem; background: var(--pewter); padding: 0 8px; }
	@media (prefers-reduced-motion: reduce) { .hx-tick__track { animation: none; } }

	/* hero */
	.hx-hero { position: relative; background: var(--pewter); color: #fff; overflow: hidden; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 56px), 0 100%); }
	.hx-hero__photo { position: absolute; inset: 0; background: var(--photo) center 40% / cover no-repeat; filter: grayscale(.35) contrast(1.05); opacity: .55; }
	.hx-hero__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(43,48,54,.6), rgba(43,48,54,.96) 70%); }
	.hx-hero__inner { position: relative; z-index: 1; padding: clamp(40px, 5vw, 56px) 0 clamp(120px, 12vw, 190px); }
	.hx-hero__title { font-family: var(--font-display); font-size: clamp(3.25rem, 9vw, 7.75rem); line-height: .86; letter-spacing: -.02em; text-transform: uppercase; margin: 18px 0 8px; text-shadow: 0 10px 60px rgba(0,0,0,.6); }
	.hx-hero__title em { font-style: normal; color: var(--red); }
	.hx-hero__sub { font-family: var(--font-display); font-weight: 700; font-size: clamp(.9rem, 1.5vw, 1.2rem); letter-spacing: .3em; text-transform: uppercase; opacity: .85; margin: 0 0 26px; }
	.hx-big { display: flex; flex-wrap: wrap; gap: 0; margin-bottom: 30px; }
	.hx-big a { padding: 0 30px 0 0; margin-right: 30px; border-right: 1px solid rgba(255,255,255,.25); color: #fff; text-decoration: none; } .hx-big a:last-child { border: 0; }
	.hx-big b { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.5rem, 5vw, 4.4rem); line-height: .9; font-variant-numeric: tabular-nums; }
	.hx-big span { font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; opacity: .75; }
	.hx-ribbon { display: flex; align-items: flex-end; gap: 2px; height: 150px; border-bottom: 3px solid var(--red); position: relative; }
	.hx-ribbon__c { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; position: relative; height: 100%; text-decoration: none; }
	.hx-ribbon__c i { display: block; background: var(--red); transition: background .15s; } .hx-ribbon__c b { display: block; background: rgba(255,255,255,.35); }
	.hx-ribbon__c:hover i { background: #fff; } .hx-ribbon__c.is-title i { background: #fff; box-shadow: 0 0 14px rgba(255,255,255,.6); }
	.hx-ribbon__c span { position: absolute; bottom: -22px; left: 50%; transform: translateX(-50%); font-family: var(--font-display); font-size: .72rem; font-weight: 800; letter-spacing: .06em; color: rgba(255,255,255,.7); } .hx-ribbon__c.is-title span { color: #fff; }
	.hx-eras { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 40px; }
	.hx-eras a { font-family: var(--font-display); font-weight: 900; font-size: 1rem; letter-spacing: .12em; padding: 9px 16px; background: rgba(255,255,255,.1); color: #fff; text-decoration: none; transform: skew(-10deg); border: 1px solid rgba(255,255,255,.25); transition: background .15s; }
	.hx-eras a:hover { background: var(--red); border-color: var(--red); }

	/* body grid */
	.hx-body { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; padding-top: 4px; }
	.hx-main { min-width: 0; }
	.hx-sec { display: flex; align-items: center; margin: 34px 0 16px; }
	.hx-sec h2 { position: relative; margin: 0 0 0 8px; padding: 8px 26px 6px 22px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.5rem, 3vw, 2.4rem); letter-spacing: .06em; text-transform: uppercase; transform: skew(-12deg); box-shadow: 6px 6px 0 var(--silver-3); }
	.hx-sec h2::after { content: ""; position: absolute; right: -18px; top: 0; bottom: 0; width: 18px; background: repeating-linear-gradient(135deg, var(--red) 0 6px, var(--silver-3) 6px 12px); }
	.hx-sec i { flex: 1; height: 14px; margin-left: 26px; background: linear-gradient(180deg, #fff 0%, var(--silver-3) 45%, var(--silver-4) 55%, var(--silver-2) 100%); box-shadow: inset 0 1px 0 #fff, 0 2px 0 var(--silver-4); }
	.hx-sec a { background: var(--pewter); color: #fff; padding: 14px 20px; font-family: var(--font-display); font-weight: 800; font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; transform: skew(-12deg); text-decoration: none; white-space: nowrap; }
	.hx-card { background: #fff; box-shadow: 0 1px 0 var(--silver-3), 0 12px 24px -20px rgba(0,0,0,.35); }
	.hx-hd { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; background: linear-gradient(180deg, var(--red), var(--red-deep)); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: 1.2rem; letter-spacing: .12em; text-transform: uppercase; }
	.hx-hd a { color: #fff; font-size: .7rem; opacity: .9; text-decoration: none; }

	/* looks back */
	.hx-look { display: grid; grid-template-columns: 1.35fr 1fr; gap: 14px; }
	.hx-poster { position: relative; display: block; min-height: 460px; background: var(--pewter) var(--photo) center / cover no-repeat; color: #fff; overflow: hidden; text-decoration: none; }
	.hx-poster::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(43,48,54,.1) 30%, rgba(43,48,54,.95)); }
	.hx-poster__yrs { position: absolute; top: 18px; left: 18px; background: var(--red); font-family: var(--font-display); font-weight: 900; font-size: 3rem; line-height: .9; padding: 6px 14px; transform: skew(-10deg); box-shadow: 5px 5px 0 var(--silver-3); }
	.hx-poster__yrs small { display: block; font-size: .3em; letter-spacing: .2em; }
	.hx-poster__in { position: absolute; left: 22px; right: 22px; bottom: 22px; }
	.hx-poster__h { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(2rem, 4.5vw, 4rem); line-height: .88; text-transform: uppercase; margin: 8px 0 8px; }
	.hx-poster__p { display: block; font-family: var(--font-serif); font-size: 1rem; opacity: .9; max-width: 56ch; }
	.hx-otd__big { padding: 14px 16px; border-bottom: 3px solid var(--pewter); font-family: var(--font-display); font-weight: 900; font-size: 3.4rem; line-height: .9; text-transform: uppercase; }
	.hx-otd__big a { color: var(--graphite); text-decoration: none; } .hx-otd__big small { display: block; font-size: .66rem; letter-spacing: .2em; color: var(--silver-4); font-weight: 800; }
	.hx-otd ul { list-style: none; margin: 0; padding: 0; } .hx-otd li a { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--silver-2); color: var(--graphite); text-decoration: none; }
	.hx-otd__y { font-family: var(--font-display); font-weight: 900; font-size: 2.2rem; color: var(--red); width: 64px; line-height: .9; }
	.hx-otd__t { display: block; font-family: var(--font-display); font-weight: 800; font-size: 1.15rem; text-transform: uppercase; line-height: 1; } .hx-otd li small { display: block; color: var(--silver-4); font-size: .7rem; margin-top: 3px; }
	.hx-otd__r { width: 34px; height: 34px; display: grid; place-items: center; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 900; } .hx-otd__r--l { background: var(--silver-4); } .hx-otd__r--t { background: var(--silver-3); color: var(--graphite); }
	.hx-otd__none { padding: 16px; font-family: var(--font-serif); color: var(--ink3); }

	/* pennants */
	.hx-pen { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
	.hx-pen__f { position: relative; display: block; background: var(--red); color: #fff; text-decoration: none; padding: 14px 14px 26px; clip-path: polygon(0 0, 100% 0, 100% 78%, 50% 100%, 0 78%); min-height: 170px; box-shadow: inset 0 -6px 0 rgba(0,0,0,.18); }
	.hx-pen__f--state { background: linear-gradient(180deg, var(--silver-4), var(--pewter-2)); }
	.hx-pen__f b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 3.2rem; line-height: .9; }
	.hx-pen__f span { display: block; font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; opacity: .9; margin-top: 6px; }
	.hx-pen__f i { display: block; font-style: normal; font-size: .72rem; opacity: .9; margin-top: 8px; }

	/* people */
	.hx-ppl { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
	.hx-pp { display: block; background: #fff; text-align: center; padding-bottom: 12px; color: var(--graphite); text-decoration: none; box-shadow: 0 1px 0 var(--silver-3), 0 12px 24px -20px rgba(0,0,0,.35); }
	.hx-pp__ph { display: block; height: 180px; background: var(--pewter-2) center / cover no-repeat; border-bottom: 6px solid var(--red); }
	.hx-pp__ph--none { display: grid; place-items: center; background: var(--silver-2); } .hx-pp__ph--none i { font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: 4rem; color: var(--silver-3); }
	.hx-pp b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 1.35rem; margin-top: 10px; text-transform: uppercase; } .hx-pp small { color: var(--silver-4); font-size: .7rem; }

	/* new + news */
	.hx-two { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
	.hx-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.hx-tile { display: block; background: #fff; color: var(--graphite); text-decoration: none; box-shadow: 0 1px 0 var(--silver-3), 0 12px 24px -20px rgba(0,0,0,.35); }
	.hx-tile__ph { display: block; height: 150px; background: var(--pewter-2) center / cover no-repeat; border-bottom: 6px solid var(--red); }
	.hx-tile__in { display: block; padding: 12px 14px 14px; } .hx-tile__in b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 1.35rem; line-height: .95; text-transform: uppercase; margin: 6px 0 4px; } .hx-tile__in small { color: var(--silver-4); font-size: .72rem; }

	/* rail */
	.hx-rail { display: grid; gap: 14px; align-content: start; }
	.hx-gw { display: block; background: var(--pewter); color: #fff; padding: 16px; border-top: 8px solid var(--red); text-decoration: none; }
	.hx-gw__k { display: block; font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
	.hx-gw__h { display: block; font-family: var(--font-display); font-weight: 900; font-size: 2.2rem; line-height: .9; margin: 6px 0 4px; text-transform: uppercase; }
	.hx-gw__d { display: block; font-size: .78rem; opacity: .8; margin-bottom: 10px; }
	.hx-cd { display: flex; gap: 4px; } .hx-cd > span { flex: 1; background: var(--red); padding: 6px 8px; text-align: center; } .hx-cd b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 1.7rem; line-height: 1; font-variant-numeric: tabular-nums; } .hx-cd small { font-size: .5rem; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
	.hx-gw__final { display: inline-block; font-family: var(--font-display); font-weight: 900; font-size: 2rem; color: #fff; }
	.hx-gw__ser { display: flex; gap: 4px; margin-top: 10px; } .hx-gw__ser i { width: 26px; height: 26px; display: grid; place-items: center; background: #fff; color: var(--pewter); font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: .85rem; } .hx-gw__ser i.w { background: var(--red); color: #fff; }
	.hx-sc__g { display: grid; grid-template-columns: 1fr auto; gap: 0 10px; padding: 10px 14px; border-bottom: 1px solid var(--silver-2); color: var(--graphite); text-decoration: none; font-size: .85rem; }
	.hx-sc__g small { grid-column: 1 / -1; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--silver-4); margin-bottom: 4px; } .hx-sc__g span { font-weight: 600; } .hx-sc__g b { font-family: var(--font-display); font-weight: 900; font-size: 1.1rem; text-align: right; } .hx-sc__g b.w { color: var(--red); }
	.hx-ask { display: block; background: var(--pewter); color: #fff; padding: 16px; border-top: 8px solid var(--red); }
	.hx-ask__k { display: block; color: var(--red); font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; }
	.hx-ask b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 2.2rem; line-height: .92; margin: 6px 0 8px; text-transform: uppercase; } .hx-ask p { font-size: .85rem; opacity: .85; margin: 0 0 10px; }
	.hx-ask__bar { display: flex; background: #fff; } .hx-ask__bar input { flex: 1; min-width: 0; border: 0; padding: 10px 12px; font-size: .85rem; color: var(--graphite); } .hx-ask__bar button { border: 0; background: var(--red); color: #fff; padding: 0 14px; font-family: var(--font-display); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
	.hx-join { display: block; background: linear-gradient(135deg, var(--red), var(--red-deep)); color: #fff; padding: 16px; border-top: 8px solid var(--silver-3); text-decoration: none; }
	.hx-join b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 2rem; line-height: .92; margin: 0 0 6px; text-transform: uppercase; } .hx-join span { display: block; font-size: .82rem; margin: 0 0 10px; opacity: .95; }
	.hx-join i { display: inline-block; font-style: normal; background: #fff; color: var(--red); padding: 8px 12px; font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }

	@media (max-width: 1000px) { .hx-body { grid-template-columns: 1fr; } .hx-pen, .hx-ppl { grid-template-columns: repeat(3, 1fr); } .hx-look, .hx-two { grid-template-columns: 1fr; } .hx-hero { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 28px), 0 100%); } .hx-hero__inner { padding-bottom: 70px; } .hx-ribbon { height: 100px; } .hx-ribbon__c span { display: none; } }
	@media (max-width: 600px) { .hx-tiles { grid-template-columns: 1fr; } .hx-pen, .hx-ppl { grid-template-columns: repeat(2, 1fr); } .hx-sec a { display: none; } .hx-big a { border: 0; margin: 0 20px 10px 0; padding: 0; } }
}
@layer components { /* hero: travel the century */
	.hx-hero { --era: 1; }
	.hx-hero__photo { filter: grayscale(calc(1 - var(--era) * .65)) sepia(calc((1 - var(--era)) * .5)) contrast(1.05); transition: filter .35s ease; }
	.hx-in { opacity: 0; transform: translateY(18px) skewX(-4deg); animation: hx-in .7s cubic-bezier(.2,.9,.2,1) forwards; animation-delay: calc(var(--i, 0) * 110ms); }
	.hx-hero__title .hx-in { display: inline-block; }
	@keyframes hx-in { to { opacity: 1; transform: none; } }
	.hx-travel { position: relative; display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 26px; align-items: end; }
	.hx-read { position: relative; padding-bottom: 6px; }
	.hx-read__y { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(5rem, 9vw, 8.5rem); line-height: .8; letter-spacing: -.04em; color: #fff; font-variant-numeric: tabular-nums; text-shadow: 0 8px 50px rgba(0,0,0,.6); }
	.hx-read__meta { display: block; margin-top: 10px; font-family: var(--font-display); font-weight: 800; font-size: 1rem; letter-spacing: .1em; text-transform: uppercase; line-height: 1.5; }
	.hx-read__meta span { display: block; color: rgba(255,255,255,.85); } .hx-read__meta em { display: block; font-style: normal; color: var(--red); }
	.hx-read__go { display: inline-block; margin-top: 12px; font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: #fff; border-bottom: 2px solid var(--red); text-decoration: none; padding-bottom: 2px; }
	.hx-read__hint { display: block; margin-top: 14px; font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(255,255,255,.5); }
	.hx-ribbon { cursor: ew-resize; touch-action: pan-y; user-select: none; }
	.hx-ribbon__c i, .hx-ribbon__c b { transform-origin: bottom; animation: hx-grow .6s cubic-bezier(.2,.9,.2,1) both; animation-delay: calc(var(--d, 0) * 9ms + 500ms); }
	@keyframes hx-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
	.hx-ribbon__c.is-on i { background: #fff; box-shadow: 0 0 18px rgba(255,255,255,.8); } .hx-ribbon__c.is-on b { background: rgba(255,255,255,.7); }
	.hx-ribbon__cursor { position: absolute; top: -8px; bottom: -3px; width: 2px; background: #fff; transform: translateX(-50%); pointer-events: none; box-shadow: 0 0 12px rgba(255,255,255,.8); transition: left .08s linear; }
	.hx-ribbon__cursor::before { content: ""; position: absolute; top: -6px; left: 50%; transform: translateX(-50%); border: 6px solid transparent; border-top: 8px solid var(--red); }
	@media (max-width: 900px) { .hx-travel { grid-template-columns: 1fr; gap: 10px; } .hx-read__y { font-size: 4.5rem; } .hx-read__hint { display: none; } }
	@media (prefers-reduced-motion: reduce) { .hx-in { animation: none; opacity: 1; transform: none; } .hx-ribbon__c i, .hx-ribbon__c b { animation: none; } .hx-hero__photo { transition: none; } }
}
@layer components { /* homepage motion + next-gen pieces */
	/* reveals */
	.hx-rv { opacity: 0; transform: translateY(26px); transition: opacity .7s cubic-bezier(.2,.9,.2,1), transform .7s cubic-bezier(.2,.9,.2,1); }
	.hx-rv.is-in { opacity: 1; transform: none; }
	.hx-pen.hx-rv .hx-pen__f, .hx-ppl.hx-rv .hx-pp, .hx-tiles .hx-tile { opacity: 0; transform: translateY(40px); transition: opacity .6s cubic-bezier(.2,.9,.2,1), transform .6s cubic-bezier(.2,.9,.2,1); transition-delay: calc(var(--i, 0) * 80ms); }
	.hx-pen.hx-rv.is-in .hx-pen__f { opacity: 1; transform: none; animation: hx-drop .7s cubic-bezier(.2,1.4,.4,1) both; animation-delay: calc(var(--i, 0) * 90ms); }
	@keyframes hx-drop { 0% { transform: translateY(-60px); opacity: 0; } 60% { transform: translateY(8px); opacity: 1; } 100% { transform: none; } }
	.hx-ppl.hx-rv.is-in .hx-pp, .hx-two.hx-rv.is-in .hx-tile { opacity: 1; transform: none; }
	.hx-ppl .hx-pp:nth-child(1){--i:0}.hx-ppl .hx-pp:nth-child(2){--i:1}.hx-ppl .hx-pp:nth-child(3){--i:2}.hx-ppl .hx-pp:nth-child(4){--i:3}.hx-ppl .hx-pp:nth-child(5){--i:4}.hx-ppl .hx-pp:nth-child(6){--i:5}
	.hx-tiles .hx-tile:nth-child(2){--i:1}
	/* parallax hooks */
	.hx-hero__photo { will-change: transform; }
	.hx-px { background-position: center calc(50% + var(--py, 0px)) !important; transition: background-position .1s linear; }
	/* section slabs: moving hazard stripe + chrome shine */
	.hx-sec h2::after { background-size: 17px 17px; animation: hx-haz 1.2s linear infinite; }
	@keyframes hx-haz { to { background-position: 17px 0; } }
	.hx-sec i { position: relative; overflow: hidden; }
	.hx-sec i::after { content: ""; position: absolute; top: 0; bottom: 0; left: -40%; width: 30%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent); animation: hx-shine 3.2s ease-in-out infinite; }
	@keyframes hx-shine { 0%, 60% { left: -40%; } 100% { left: 110%; } }
	/* pennants: flip on hover */
	.hx-pen__f { perspective: 900px; background: transparent !important; box-shadow: none; clip-path: none; min-height: 0; padding: 0; overflow: visible; }
	.hx-pen__front, .hx-pen__back { display: block; position: relative; min-height: 170px; padding: 14px 14px 26px; clip-path: polygon(0 0, 100% 0, 100% 78%, 50% 100%, 0 78%); backface-visibility: hidden; transition: transform .55s cubic-bezier(.2,.9,.2,1); background: var(--red); box-shadow: inset 0 -6px 0 rgba(0,0,0,.18); }
	.hx-pen__f--state .hx-pen__front, .hx-pen__f--state .hx-pen__back { background: linear-gradient(180deg, var(--silver-4), var(--pewter-2)); }
	.hx-pen__back { position: absolute; inset: 0; transform: rotateY(180deg); background: var(--pewter); }
	.hx-pen__f:hover .hx-pen__front { transform: rotateY(180deg); } .hx-pen__f:hover .hx-pen__back { transform: rotateY(360deg); }
	.hx-pen__front b, .hx-pen__back b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 3.2rem; line-height: .9; }
	.hx-pen__back b { font-size: 2.6rem; } .hx-pen__front span, .hx-pen__back span { display: block; font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; opacity: .9; margin-top: 6px; }
	.hx-pen__back i { display: block; font-style: normal; margin-top: 10px; font-family: var(--font-display); font-weight: 800; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
	/* tilt cards: sheen follows the cursor */
	.hx-tilt { position: relative; transition: transform .15s ease, box-shadow .15s ease; transform-style: preserve-3d; }
	.hx-tilt::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(240px circle at var(--gx, 50%) var(--gy, 50%), rgba(255,255,255,.28), transparent 60%); opacity: 0; transition: opacity .2s; }
	.hx-tilt:hover::after { opacity: 1; } .hx-tilt:hover { box-shadow: 0 30px 50px -24px rgba(0,0,0,.5); }
	.hx-pp .hx-pp__ph { filter: grayscale(.6); transition: filter .3s; } .hx-pp:hover .hx-pp__ph { filter: none; }
	/* then & now */
	.hx-cmp { position: relative; height: clamp(300px, 42vw, 560px); overflow: hidden; cursor: ew-resize; touch-action: pan-y; user-select: none; background: var(--pewter); box-shadow: 0 1px 0 var(--silver-3), 0 24px 40px -30px rgba(0,0,0,.6); }
	.hx-cmp__now, .hx-cmp__then { position: absolute; inset: 0; background-size: cover; background-position: center; }
	.hx-cmp__now { background-image: var(--now); }
	.hx-cmp__then { width: 50%; background-image: var(--then); filter: grayscale(1) sepia(.35) contrast(1.1); box-shadow: inset -40px 0 60px -40px rgba(0,0,0,.6); }
	.hx-cmp__seam { position: absolute; top: 0; bottom: 0; left: 50%; width: 6px; background: var(--red); transform: translateX(-50%); box-shadow: 0 0 30px rgba(206,26,39,.7); }
	.hx-cmp__handle { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 56px; height: 56px; border-radius: 50%; background: var(--red); border: 4px solid #fff; display: flex; align-items: center; justify-content: center; gap: 6px; box-shadow: 0 10px 30px rgba(0,0,0,.5); }
	.hx-cmp__handle i { width: 0; height: 0; border: 7px solid transparent; } .hx-cmp__handle i:first-child { border-right-color: #fff; margin-left: -6px; } .hx-cmp__handle i:last-child { border-left-color: #fff; margin-right: -6px; }
	.hx-cmp__cap { position: absolute; top: 16px; font-family: var(--font-display); font-weight: 900; font-size: 1rem; letter-spacing: .26em; text-transform: uppercase; color: #fff; padding: 6px 14px; transform: skew(-10deg); pointer-events: none; }
	.hx-cmp__cap--then { left: 16px; background: var(--pewter); } .hx-cmp__cap--now { right: 16px; background: var(--red); }
	.hx-cmp__hint { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); font-size: .62rem; letter-spacing: .24em; text-transform: uppercase; color: #fff; opacity: .7; pointer-events: none; }
	/* rail: sticky, live pulse */
	@media (min-width: 1001px) { .hx-rail { position: sticky; top: 90px; } }
	.hx-gw__k::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--red); margin-right: 8px; animation: hx-pulse 1.4s ease-in-out infinite; vertical-align: middle; }
	@keyframes hx-pulse { 50% { opacity: .25; transform: scale(.7); } }
	@media (prefers-reduced-motion: reduce) { .hx-rv, .hx-pen.hx-rv .hx-pen__f, .hx-ppl.hx-rv .hx-pp, .hx-tiles .hx-tile { opacity: 1; transform: none; transition: none; animation: none; } .hx-sec h2::after, .hx-sec i::after, .hx-gw__k::before { animation: none; } .hx-tilt { transform: none !important; } }
}
@layer components { /* Sports mega menu: season columns, compact sport rows */
	.mega__sport { display: flex; flex-direction: column; gap: 4px; padding: 10px 0; border-bottom: 1px solid var(--silver-line); }
	.mega__sport:last-child { border-bottom: 0; }
	.mega__sportname { font-family: var(--font-display); font-weight: 800; font-size: 1.125rem; letter-spacing: .02em; text-transform: uppercase; color: var(--graphite); text-decoration: none; line-height: 1; }
	.mega__sportname:hover { color: var(--red); }
	.mega__subs { display: flex; gap: 12px; }
	.mega__subs a { font-family: var(--font-display); font-weight: 700; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink3); text-decoration: none; }
	.mega__subs a:hover { color: var(--red); }
	.mega__subs a:first-child { color: var(--red); }
	.mega__col .mega__sport + .mega__sport { margin-top: 0; }
}
@layer components { /* Exhibit template */
	.ex { background: var(--silver-1, #f4f5f6); color: var(--graphite); }
	.ex-grain { position: absolute; inset: 0; opacity: .16; mix-blend-mode: overlay; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
	.ex-k { display: block; font-family: var(--font-display); font-weight: 800; font-size: .75rem; letter-spacing: .24em; text-transform: uppercase; color: var(--red); margin-bottom: 8px; } .ex-k--red { color: var(--red); }
	.ex-h2 { font-family: var(--font-display); font-weight: 900; font-size: clamp(2rem, 4.5vw, 3.6rem); line-height: .9; letter-spacing: -.015em; text-transform: uppercase; margin: 0 0 14px; }
	.ex-prose p { font-family: var(--font-serif); font-size: clamp(1.0625rem, 1.5vw, 1.2rem); line-height: 1.6; color: var(--ink2); margin: 0 0 14px; } .ex-prose--light p { color: rgba(255,255,255,.9); }
	.ex-stamp { display: inline-block; background: var(--red); color: #fff; padding: 8px 16px; font-family: var(--font-display); font-weight: 900; font-size: .85rem; letter-spacing: .3em; text-transform: uppercase; transform: skew(-10deg); box-shadow: 4px 4px 0 var(--silver-3, #c9ccd1); }
	/* hero */
	.ex-hero { position: relative; min-height: clamp(520px, 80vh, 780px); display: flex; align-items: flex-end; background: var(--pewter, #2b3036); color: #fff; overflow: hidden; }
	.ex-hero__ph { position: absolute; inset: 0; background: var(--photo) center 40% / cover no-repeat; filter: grayscale(1) sepia(.25) contrast(1.1); }
	.ex-hero__ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(43,48,54,.3), rgba(43,48,54,.93) 75%); }
	.ex-hero__in { position: relative; z-index: 1; padding: 90px 0 56px; }
	.ex-hero__h { font-family: var(--font-display); font-weight: 900; font-size: clamp(4.5rem, 14vw, 12rem); line-height: .78; letter-spacing: -.03em; text-transform: uppercase; margin: 24px 0 0; text-shadow: 0 14px 70px rgba(0,0,0,.8); }
	.ex-hero__h em { display: block; font-style: normal; color: var(--red); font-size: .42em; letter-spacing: .02em; margin-top: 8px; }
	.ex-hero__sub { font-family: var(--font-display); font-weight: 700; font-size: clamp(.95rem, 1.6vw, 1.25rem); letter-spacing: .26em; text-transform: uppercase; opacity: .9; margin: 22px 0 32px; }
	.ex-cd { display: flex; flex-wrap: wrap; gap: 6px; align-items: flex-end; } .ex-cd > div { background: #fff; color: var(--graphite); min-width: 96px; padding: 12px 10px; text-align: center; box-shadow: 6px 6px 0 var(--red); }
	.ex-cd b { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.2rem, 4vw, 3.4rem); line-height: .9; font-variant-numeric: tabular-nums; } .ex-cd span { font-size: .58rem; letter-spacing: .2em; text-transform: uppercase; color: var(--silver-4, #8a9099); }
	.ex-cd__lab { background: none !important; box-shadow: none !important; color: #fff !important; text-align: left !important; padding: 0 14px 10px 0 !important; min-width: 0 !important; } .ex-cd__lab b { font-size: 1rem !important; letter-spacing: .2em; font-weight: 800; } .ex-cd__lab span { color: rgba(255,255,255,.7) !important; }
	.ex-hero__cap { position: absolute; right: 24px; bottom: 18px; z-index: 1; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); }
	/* intro */
	.ex-intro { padding: clamp(44px, 6vw, 70px) 0 20px; } .ex-intro__in { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 60px); align-items: start; }
	.ex-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .ex-facts div { background: #fff; border-top: 5px solid var(--red); padding: 18px; } .ex-facts b { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(2rem, 3.4vw, 3rem); line-height: .9; color: var(--red); } .ex-facts span { font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: var(--silver-4, #8a9099); }
	/* section slab */
	.ex-sec { display: flex; align-items: center; margin: clamp(40px, 6vw, 60px) 0 22px; }
	.ex-sec h2 { position: relative; margin: 0 0 0 8px; padding: 8px 26px 6px 22px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.4rem, 3vw, 2.4rem); letter-spacing: .06em; text-transform: uppercase; transform: skew(-12deg); box-shadow: 6px 6px 0 var(--silver-3, #c9ccd1); }
	.ex-sec i { flex: 1; height: 14px; margin-left: 26px; background: linear-gradient(180deg, #fff 0%, var(--silver-3, #c9ccd1) 45%, var(--silver-4, #8a9099) 55%, var(--silver-2, #e3e6ea) 100%); }
	.ex-sec a { font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red); text-decoration: none; margin-left: 18px; white-space: nowrap; }
	/* timeline */
	.ex-tl { position: relative; padding-left: 40px; } .ex-tl::before { content: ""; position: absolute; left: 14px; top: 0; bottom: 0; width: 4px; background: var(--red); }
	.ex-g { position: relative; display: grid; grid-template-columns: 90px minmax(0, 1fr) auto; gap: 18px; align-items: center; background: #fff; padding: 14px 20px; margin-bottom: 8px; color: var(--graphite); text-decoration: none; transition: transform .15s; } .ex-g:hover { transform: translateX(4px); }
	.ex-g::before { content: ""; position: absolute; left: -32px; top: 50%; width: 14px; height: 14px; background: #fff; border: 4px solid var(--red); transform: translateY(-50%); border-radius: 50%; } .ex-g.is-l::before { border-color: var(--silver-4, #8a9099); }
	.ex-g__d { font-family: var(--font-display); font-weight: 800; font-size: .85rem; letter-spacing: .16em; text-transform: uppercase; color: var(--silver-4, #8a9099); }
	.ex-g__o { font-family: var(--font-display); font-weight: 900; font-size: clamp(1.1rem, 2vw, 1.6rem); text-transform: uppercase; line-height: 1; } .ex-g__o small { display: block; font-family: var(--font-serif); font-weight: 400; font-size: .9rem; text-transform: none; color: var(--ink3); margin-top: 3px; }
	.ex-g__s { font-family: var(--font-display); font-weight: 900; font-size: clamp(1.4rem, 2.4vw, 2.2rem); color: var(--red); white-space: nowrap; } .ex-g.is-l .ex-g__s { color: var(--silver-4, #8a9099); }
	.ex-g.is-post { background: var(--pewter, #2b3036); color: #fff; } .ex-g.is-post .ex-g__o small { color: rgba(255,255,255,.7); } .ex-g.is-post .ex-g__d { color: rgba(255,255,255,.6); }
	/* title game */
	.ex-final { position: relative; margin: 30px 0 0; background: var(--pewter, #2b3036); color: #fff; padding: clamp(50px, 7vw, 70px) 0; overflow: hidden; clip-path: polygon(0 24px, 100% 0, 100% calc(100% - 24px), 0 100%); }
	.ex-final__ph { position: absolute; inset: 0; background: var(--photo) center / cover no-repeat; } .ex-final__ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(43,48,54,.96), rgba(43,48,54,.78)); }
	.ex-final__in { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
	.ex-score { font-family: var(--font-display); font-weight: 900; text-transform: uppercase; } .ex-score div { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 2px solid rgba(255,255,255,.2); padding: 10px 0; gap: 20px; } .ex-score span { font-size: clamp(1.6rem, 3.4vw, 3rem); line-height: 1; } .ex-score b { font-size: clamp(2.4rem, 4.6vw, 4rem); line-height: .9; } .ex-score .is-w b { color: var(--red); }
	.ex-final .ex-h2 { color: #fff; }
	/* roll call */
	.ex-legend { display: flex; flex-wrap: wrap; gap: 16px; margin: 0 0 14px; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink3); } .ex-legend span { display: inline-flex; align-items: center; } .ex-legend i { display: inline-block; width: 12px; height: 12px; margin-right: 6px; }
	.ex-legend .s-found { background: var(--silver-4, #8a9099); } .ex-legend .s-photo { background: var(--red); } .ex-legend .s-memory { background: var(--pewter, #2b3036); } .ex-legend .s-looking { background: #fff; outline: 2px dashed var(--red); outline-offset: -2px; }
	.ex-wall { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
	.ex-rc { display: block; background: #fff; padding: 12px 12px 10px; text-decoration: none; color: var(--graphite); border-top: 5px solid var(--silver-3, #c9ccd1); transition: transform .15s; } .ex-rc:hover { transform: translateY(-2px); }
	.ex-rc b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 1.6rem; line-height: .9; color: var(--silver-4, #8a9099); } .ex-rc span { display: block; font-family: var(--font-display); font-weight: 800; font-size: 1rem; text-transform: uppercase; line-height: 1; margin: 6px 0; } .ex-rc i { display: block; font-style: normal; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; color: var(--silver-4, #8a9099); }
	.ex-rc--found { border-top-color: var(--silver-4, #8a9099); } .ex-rc--photo { border-top-color: var(--red); } .ex-rc--photo b { color: var(--red); } .ex-rc--memory { border-top-color: var(--pewter, #2b3036); } .ex-rc--memory b { color: var(--pewter, #2b3036); }
	.ex-rc--looking { border-top-color: #fff; outline: 2px dashed var(--red); outline-offset: -2px; } .ex-rc--looking i { color: var(--red); font-weight: 800; }
	.ex-coach { display: grid; grid-template-columns: 200px 1fr; gap: 0; background: #fff; margin-top: 30px; } .ex-coach__ph { min-height: 220px; background: var(--pewter, #2b3036) center / cover no-repeat; filter: grayscale(1); } .ex-coach__in { padding: 22px 24px; }
	/* memories */
	.ex-mem { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin-bottom: 12px; } .ex-mem blockquote { margin: 0; background: #fff; padding: 22px; border-left: 5px solid var(--red); font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.55; color: var(--ink2); } .ex-mem cite { display: block; margin-top: 12px; font-style: normal; font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
	.ex-ask { background: var(--pewter, #2b3036); color: #fff; padding: 28px; display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; } .ex-ask .ex-h2 { color: #fff; margin-bottom: 6px; } .ex-ask p { margin: 0; opacity: .85; font-family: var(--font-serif); }
	/* reunion */
	.ex-re { margin: clamp(40px, 6vw, 60px) 0 0; background: var(--red); color: #fff; padding: clamp(44px, 6vw, 60px) 0; position: relative; overflow: hidden; } .ex-re .ex-k { color: #fff; opacity: .85; }
	.ex-re__in { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; } .ex-re__h { font-family: var(--font-display); font-weight: 900; font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: .86; text-transform: uppercase; margin: 6px 0 12px; }
	.ex-tn { position: relative; height: clamp(240px, 32vw, 360px); background: var(--pewter, #2b3036); overflow: hidden; cursor: ew-resize; touch-action: pan-y; user-select: none; box-shadow: 0 30px 60px -30px rgba(0,0,0,.8); }
	.ex-tn__now, .ex-tn__then { position: absolute; inset: 0; background-size: cover; background-position: center; } .ex-tn__now { background-image: var(--now); } .ex-tn__then { width: 50%; background-image: var(--then); filter: grayscale(1) sepia(.3); }
	.ex-tn__seam { position: absolute; left: 50%; top: 0; bottom: 0; width: 5px; background: #fff; box-shadow: 0 0 20px rgba(0,0,0,.6); } .ex-tn__seam span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 44px; height: 44px; border-radius: 50%; background: #fff; }
	.ex-tn__seam span::before, .ex-tn__seam span::after { content: ""; position: absolute; top: 50%; border: 6px solid transparent; transform: translateY(-50%); } .ex-tn__seam span::before { left: 8px; border-right-color: var(--red); } .ex-tn__seam span::after { right: 8px; border-left-color: var(--red); }
	.ex-tn__c { position: absolute; top: 12px; font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: .8rem; letter-spacing: .24em; text-transform: uppercase; padding: 5px 10px; color: #fff; } .ex-tn__c--l { left: 12px; background: var(--pewter, #2b3036); } .ex-tn__c--r { right: 12px; background: var(--red); }
	.ex-foot { padding: 40px 0; margin: 0; text-align: center; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--silver-4, #8a9099); }
	@media (max-width: 900px) { .ex-intro__in, .ex-final__in, .ex-re__in { grid-template-columns: 1fr; } .ex-coach { grid-template-columns: 1fr; } .ex-ask { grid-template-columns: 1fr; } .ex-sec a { display: none; } }
}
@layer components { /* exhibit marquee band */
	.ex-band { position: relative; display: block; background: var(--pewter, #2b3036); color: #fff; overflow: hidden; text-decoration: none; border-top: 6px solid var(--red); }
	.ex-band__ph { position: absolute; inset: 0; background: var(--photo) center 35% / cover no-repeat; filter: grayscale(1) sepia(.25) contrast(1.1); opacity: .5; }
	.ex-band__ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(43,48,54,.96) 0%, rgba(43,48,54,.75) 50%, rgba(43,48,54,.35) 100%); }
	.ex-band__in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: center; padding-top: 34px; padding-bottom: 34px; }
	.ex-band__in > span:first-child { display: block; }
	.ex-band__k { display: inline-block; background: var(--red); padding: 6px 12px; font-family: var(--font-display); font-weight: 900; font-size: .72rem; letter-spacing: .3em; text-transform: uppercase; transform: skew(-10deg); box-shadow: 3px 3px 0 var(--silver-3, #c9ccd1); }
	.ex-band__h { display: block; font-family: var(--font-display); font-weight: 900; text-transform: uppercase; font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: .84; letter-spacing: -.02em; margin: 12px 0 8px; text-shadow: 0 8px 40px rgba(0,0,0,.7); } .ex-band__h em { font-style: normal; color: var(--red); }
	.ex-band__p { display: block; font-family: var(--font-serif); font-size: 1.05rem; opacity: .9; margin: 0 0 16px; max-width: 52ch; }
	.ex-band__btn { display: inline-block; background: #fff; color: var(--red); padding: 12px 20px; font-family: var(--font-display); font-weight: 800; font-size: .9rem; letter-spacing: .14em; text-transform: uppercase; }
	.ex-band:hover .ex-band__btn { background: var(--red); color: #fff; }
	.ex-band__side { display: grid; gap: 14px; justify-items: end; }
	.ex-band__cdw { display: block; } .ex-band__cdl { display: block; font-family: var(--font-display); font-weight: 800; font-size: .68rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(255,255,255,.7); text-align: right; margin-bottom: 6px; }
	.ex-band__cd { display: flex; gap: 5px; justify-content: flex-end; } .ex-band__cd > span { display: block; background: #fff; color: var(--graphite); min-width: 74px; padding: 8px; text-align: center; box-shadow: 4px 4px 0 var(--red); }
	.ex-band__cd b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 2.2rem; line-height: .9; font-variant-numeric: tabular-nums; } .ex-band__cd small { display: block; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--silver-4, #8a9099); }
	.ex-band__roll { display: block; width: 300px; } .ex-band__roll b { display: flex; justify-content: space-between; gap: 12px; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 6px; } .ex-band__roll b i { font-style: normal; color: var(--red); }
	.ex-band__bar { display: block; height: 8px; background: rgba(255,255,255,.18); } .ex-band__bar i { display: block; height: 100%; background: var(--red); transition: width .6s ease; }
	@media (max-width: 900px) { .ex-band__in { grid-template-columns: 1fr; gap: 20px; } .ex-band__side { justify-items: start; } .ex-band__cdl { text-align: left; } .ex-band__cd { justify-content: flex-start; } .ex-band__roll { width: 100%; } }
}
@layer components { /* exhibit hero: replaces the homepage hero while an exhibit is promoted */
	.exh { position: relative; min-height: clamp(560px, 78vh, 820px); display: flex; align-items: flex-end; background: var(--pewter, #2b3036); color: #fff; overflow: hidden; }
	.exh__ph { position: absolute; inset: 0; background: var(--photo) center 35% / cover no-repeat; filter: grayscale(.85) sepia(.2) contrast(1.08); }
	.exh__ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(43,48,54,.92) 0%, rgba(43,48,54,.55) 55%, rgba(43,48,54,.25) 100%), linear-gradient(180deg, rgba(43,48,54,.1), rgba(43,48,54,.9) 100%); }
	.exh__grain { position: absolute; inset: 0; opacity: .16; mix-blend-mode: overlay; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
	.exh__in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; padding-top: 80px; padding-bottom: 56px; }
	.exh__stamp { display: inline-block; background: var(--red); padding: 8px 16px; font-family: var(--font-display); font-weight: 900; font-size: .85rem; letter-spacing: .3em; text-transform: uppercase; transform: skew(-10deg); box-shadow: 4px 4px 0 var(--silver-3, #c9ccd1); }
	.exh__h { font-family: var(--font-display); font-weight: 900; text-transform: uppercase; font-size: clamp(3.4rem, 9vw, 7.6rem); line-height: .82; letter-spacing: -.025em; margin: 22px 0 14px; text-shadow: 0 12px 60px rgba(0,0,0,.8); }
	.exh__h em { font-style: normal; color: var(--red); } .exh__h small { display: block; font-size: .32em; letter-spacing: .14em; margin-top: 12px; color: rgba(255,255,255,.85); }
	.exh__p { font-family: var(--font-serif); font-size: clamp(1.0625rem, 1.6vw, 1.3rem); line-height: 1.5; max-width: 54ch; margin: 0 0 26px; color: rgba(255,255,255,.92); text-shadow: 0 2px 20px rgba(0,0,0,.6); }
	.exh__roll { display: block; width: 300px; background: rgba(43,48,54,.75); backdrop-filter: blur(6px); border-top: 5px solid var(--red); padding: 16px 18px; color: #fff; text-decoration: none; }
	.exh__rollk { display: block; font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .24em; text-transform: uppercase; color: var(--red); }
	.exh__roll b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 3rem; line-height: .9; margin: 6px 0 10px; } .exh__roll b small { font-size: .38em; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.8); }
	.exh__bar { display: block; height: 8px; background: rgba(255,255,255,.18); margin-bottom: 8px; } .exh__bar i { display: block; height: 100%; background: var(--red); }
	.exh__rolls { display: block; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.85); }
	@media (max-width: 900px) { .exh { align-items: flex-end; min-height: 520px; } .exh__in { grid-template-columns: 1fr; gap: 22px; } .exh__roll { width: 100%; } }
}
@layer components { /* anniversary badge */
	.exb { display: block; width: clamp(140px, 16vw, 220px); aspect-ratio: 1; filter: drop-shadow(0 18px 40px rgba(0,0,0,.6)); }
	.exb svg, .exb img { width: 100%; height: 100%; display: block; object-fit: contain; }
	.exb--drawn { animation: exb-in .8s cubic-bezier(.2,1.3,.4,1) both; } @keyframes exb-in { from { transform: scale(.6) rotate(-12deg); opacity: 0; } to { transform: none; opacity: 1; } }
	.exh__badge { align-self: end; justify-self: end; margin-bottom: 10px; transform: rotate(-6deg); }
	.ex-hero__badge { position: absolute; right: clamp(20px, 4vw, 60px); top: clamp(80px, 12vh, 140px); z-index: 2; transform: rotate(-6deg); }
	@media (max-width: 900px) { .exh__badge { justify-self: start; width: 120px; margin-bottom: 0; } .ex-hero__badge { top: 70px; width: 110px; } }
	@media (prefers-reduced-motion: reduce) { .exb--drawn { animation: none; } }
}
@layer components { /* exhibit promo layer */
	.exrib { display: flex; align-items: center; gap: 14px; background: var(--pewter, #2b3036); color: #fff; text-decoration: none; padding: 10px 20px; border-bottom: 4px solid var(--red); }
	.exrib__badge { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; font-family: var(--font-display); font-weight: 900; font-size: 1rem; box-shadow: 0 0 0 3px var(--silver-3, #c9ccd1); }
	.exrib__t { font-family: var(--font-display); font-weight: 700; font-size: .95rem; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.85); } .exrib__t b { color: #fff; }
	.exrib__go { margin-left: auto; font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: #fff; background: var(--red); padding: 8px 12px; white-space: nowrap; }
	.exfloat { position: fixed; right: 18px; bottom: 18px; z-index: 60; display: flex; align-items: center; gap: 12px; background: var(--pewter, #2b3036); color: #fff; text-decoration: none; padding: 8px 40px 8px 8px; box-shadow: 0 20px 50px -20px rgba(0,0,0,.7); border-left: 5px solid var(--red); transform: translateY(20px); opacity: 0; transition: transform .5s cubic-bezier(.2,.9,.2,1), opacity .5s; }
	.exfloat.is-in { transform: none; opacity: 1; }
	.exfloat__b { width: 64px; filter: none; transform: rotate(-6deg); } .exfloat__b.exb--drawn { animation: none; }
	.exfloat__t b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 1.05rem; text-transform: uppercase; line-height: 1; } .exfloat__t small { display: block; font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); margin-top: 4px; }
	.exfloat__x { position: absolute; right: 6px; top: 4px; background: none; border: 0; color: rgba(255,255,255,.6); font-size: 1.2rem; cursor: pointer; line-height: 1; padding: 4px; } .exfloat__x:hover { color: #fff; }
	@media (max-width: 700px) { .exrib { flex-wrap: wrap; } .exrib__go { margin-left: 0; } .exfloat { right: 10px; bottom: 10px; left: 10px; } }
}
@layer components { /* sport hub: the franchise page */
	.sh { background: var(--silver-1, #f4f5f6); }
	.sh-hero { position: relative; background: var(--pewter, #2b3036); color: #fff; overflow: hidden; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 0 100%); }
	.sh-hero__ph { position: absolute; inset: 0; background: var(--photo) center 40% / cover no-repeat; filter: grayscale(.4) contrast(1.05); opacity: .55; }
	.sh-hero__ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(43,48,54,.55), rgba(43,48,54,.96) 70%); }
	.sh-hero__in { position: relative; z-index: 1; padding: clamp(28px, 4vw, 44px) 0 clamp(90px, 10vw, 130px); }
	.sh-hero .archive-head__back { display: inline-flex; margin-bottom: 18px; }
	.sh-hero__h { font-family: var(--font-display); font-weight: 900; font-size: clamp(3.5rem, 11vw, 9rem); line-height: .82; letter-spacing: -.03em; text-transform: uppercase; margin: 18px 0 14px; text-shadow: 0 12px 60px rgba(0,0,0,.7); }
	.sh-hero .hx-big { margin-bottom: 26px; } .sh-hero .hx-travel { margin-top: 6px; }
	.sh-hero .hx-ribbon { height: 120px; margin-bottom: 26px; }
	.sh-now { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 14px; }
	.sh-now__gw { display: block; position: relative; background: var(--pewter, #2b3036); color: #fff; text-decoration: none; padding: clamp(22px, 3vw, 34px); border-top: 8px solid var(--red); min-height: 200px; }
	.sh-now__gw .hx-gw__h { font-size: clamp(2rem, 4vw, 3.2rem); }
	.sh-now__sc .hx-sc__g b.w { color: var(--red); }
	.sh-two { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
	.sh-list { padding: 4px 0; } .sh-list__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "n v" "s v"; gap: 2px 14px; align-items: center; padding: 10px 16px; border-bottom: 1px solid var(--silver-2, #e3e6ea); color: var(--graphite); text-decoration: none; }
	.sh-list__row:last-child { border-bottom: 0; } .sh-list__row:hover .sh-list__n { color: var(--red); }
	.sh-list__n { grid-area: n; font-family: var(--font-display); font-weight: 800; font-size: 1.05rem; text-transform: uppercase; line-height: 1; } .sh-list__row small { grid-area: s; font-size: .72rem; color: var(--silver-4, #8a9099); } .sh-list__row b { grid-area: v; font-family: var(--font-display); font-weight: 900; font-size: 1.5rem; color: var(--red); text-align: right; }
	.sh-dec { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
	.sh-dec__c { display: block; background: #fff; padding: 14px 14px 12px; text-decoration: none; color: var(--graphite); box-shadow: 0 1px 0 var(--silver-3, #c9ccd1); }
	.sh-dec__c b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 2rem; line-height: .9; } .sh-dec__c i { display: block; height: 8px; margin: 10px 0 8px; background: var(--silver-2, #e3e6ea); position: relative; } .sh-dec__c i::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: var(--p, 0%); background: var(--red); }
	.sh-dec__c span { display: block; font-family: var(--font-display); font-weight: 700; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink3); }
	.sh-links { display: flex; flex-wrap: wrap; gap: 8px; padding: 40px 0 60px; }
	@media (max-width: 900px) { .sh-now, .sh-two { grid-template-columns: 1fr; } .sh-hero .hx-ribbon { height: 90px; } }
}
@layer components { /* 4.81.1: the floating exhibit badge is a box holding a link and a close button, never a button inside a link */
	.exfloat__a { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
}
@layer components { /* 4.81.3: the sport hub back link sits on its own line above the stamp and reads on the dark photo */
	.sh-hero .archive-head__back { display: flex; width: max-content; color: rgba(255,255,255,.78); }
	.sh-hero .archive-head__back:hover { color: #fff; }
}
@layer components { /* 4.81.4: the sport hub's game card carries the game, not just its name */
	.sh-now__gw { display: flex; flex-direction: column; }
	.sh-now__when { display: block; font-family: var(--font-display); font-weight: 700; font-size: .95rem; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.82); margin: 4px 0 18px; }
	.sh-now__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
	.sh-now__facts > span { padding: 14px 16px 14px 0; }
	.sh-now__facts > span + span { padding-left: 16px; border-left: 1px solid rgba(255,255,255,.14); }
	.sh-now__facts b { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1; color: #fff; }
	.sh-now__facts small { display: block; margin-top: 6px; font-family: var(--font-display); font-weight: 700; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.62); }
	.sh-now__ser { display: flex; align-items: center; gap: 12px; margin-top: 16px; } .sh-now__ser small { font-family: var(--font-display); font-weight: 700; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.62); } .sh-now__ser .hx-gw__ser { margin-top: 0; flex-wrap: wrap; }
	.sh-now__go { margin-top: auto; padding-top: 18px; font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: #fff; }
	.sh-now__gw:hover .sh-now__go { color: var(--red); }
	@media (max-width: 600px) { .sh-now__facts > span + span { border-left: 0; padding-left: 0; border-top: 1px solid rgba(255,255,255,.14); } }
}
@layer components { /* 4.81.6: the ring, on the exhibit page */
	.ex-ring { padding: clamp(56px, 8vw, 110px) 0; background: linear-gradient(180deg, #eef0f2, #fff); }
	.ex-ring__in { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
	.ex-ring__stage { position: relative; margin: 0; aspect-ratio: 1 / 1; background: radial-gradient(60% 60% at 50% 45%, #3a4048 0%, #1e2227 62%, #121417 100%); border-top: 8px solid var(--red); display: grid; place-items: center; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(0,0,0,.55); }
	.ex-ring__glow { position: absolute; inset: 18%; background: radial-gradient(closest-side, rgba(255,255,255,.22), rgba(255,255,255,0)); pointer-events: none; }
	.ex-ring__img { position: relative; width: 78%; height: 78%; object-fit: contain; filter: drop-shadow(0 24px 28px rgba(0,0,0,.6)); transition: transform .6s cubic-bezier(.2,.9,.2,1); }
	.ex-ring__stage:hover .ex-ring__img { transform: scale(1.04) rotate(-2deg); }
	.ex-ring__alt { position: absolute; right: 16px; bottom: 16px; width: 22%; aspect-ratio: 1 / 1; padding: 0; border: 3px solid #fff; background: #1e2227; cursor: pointer; box-shadow: 0 10px 24px -10px rgba(0,0,0,.7); }
	.ex-ring__alt img { width: 100%; height: 100%; object-fit: cover; display: block; }
	.ex-ring__alt:hover, .ex-ring__alt:focus-visible { border-color: var(--red); outline: none; }
	.ex-ring__cap { position: absolute; left: 16px; bottom: 14px; max-width: 60%; font-family: var(--font-display); font-weight: 700; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.7); }
	.ex-ring__copy .ex-h2 { margin-bottom: 18px; }
	.ex-ring__meta { margin-top: 22px; padding-top: 16px; border-top: 3px solid var(--red); font-family: var(--font-display); font-weight: 800; font-size: .9rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink, #1f2328); }
	@media (max-width: 860px) { .ex-ring__in { grid-template-columns: 1fr; } }
	@media (prefers-reduced-motion: reduce) { .ex-ring__img { transition: none; } .ex-ring__stage:hover .ex-ring__img { transform: none; } }
}
@layer components { /* 4.81.8: the season in pictures, on the exhibit page */
	.ex-gals { margin-bottom: clamp(40px, 6vw, 72px); }
	.ex-gals__more { margin: -24px 0 clamp(40px, 6vw, 72px); text-align: center; }
}
@layer components { /* 4.81.10: the ring turns between its angles and tilts under the pointer */
	.ex-ring__stage { perspective: 1100px; touch-action: pan-y; cursor: grab; user-select: none; -webkit-user-select: none; }
	.ex-ring__stage:not([data-ring-turn]) { cursor: default; }
	.ex-ring__spin { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform .5s cubic-bezier(.2,.9,.2,1); }
	.ex-ring__stage .ex-ring__img { position: absolute; left: 11%; top: 11%; width: 78%; height: 78%; object-fit: contain; opacity: 0; transform: none; transition: opacity .6s ease, transform .6s cubic-bezier(.2,.9,.2,1); backface-visibility: hidden; pointer-events: none; }
	.ex-ring__stage:hover .ex-ring__img { transform: none; }
	.ex-ring__stage .ex-ring__img.is-on { opacity: 1; transform: rotateY(0) scale(1); }
	.ex-ring__stage .ex-ring__img.is-in { opacity: 0; transform: rotateY(var(--in, 70deg)) scale(.92); transition: none; }
	.ex-ring__stage .ex-ring__img.is-out { opacity: 0; transform: rotateY(var(--out, -70deg)) scale(.92); }
	.ex-ring__shine { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(38% 38% at var(--sx, 30%) var(--sy, 25%), rgba(255,255,255,.22), rgba(255,255,255,0) 70%); mix-blend-mode: screen; opacity: 0; transition: opacity .3s ease; }
	.ex-ring__stage:hover .ex-ring__shine { opacity: 1; }
	.ex-ring__views { position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%); display: flex; gap: 6px; z-index: 2; }
	.ex-ring__views button { padding: 7px 12px; border: 1px solid rgba(255,255,255,.35); background: rgba(14,16,19,.6); color: rgba(255,255,255,.8); font-family: var(--font-display); font-weight: 800; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; }
	.ex-ring__views button.is-on, .ex-ring__views button:hover { background: var(--red); border-color: var(--red); color: #fff; }
	.ex-ring__hint { position: absolute; right: 16px; top: 16px; z-index: 2; font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.6); transition: opacity .4s ease; }
	.ex-ring__stage.is-touched .ex-ring__hint { opacity: 0; }
	.ex-ring__stage .ex-ring__cap { bottom: auto; top: 16px; left: 16px; z-index: 2; }
	@media (prefers-reduced-motion: reduce) { .ex-ring__spin, .ex-ring__stage .ex-ring__img { transition: none; } }
}
@layer components { /* 4.81.13: exhibit hero framing. Whole photo = the hero takes the picture's own shape, so nothing is cut off */
	.ex-hero__ph { background-position: var(--focus, center 40%); }
	.exh__ph { background-position: var(--focus, center 35%); }
	.ex-hero--whole { min-height: calc(100vw / var(--ratio)); } /* grows if the words need more room, never clips them */
	.ex-hero--whole .ex-hero__ph::after { background: linear-gradient(180deg, rgba(43,48,54,0) 35%, rgba(43,48,54,.55) 62%, rgba(43,48,54,.95) 100%); }
	@media (max-width: 900px) { .ex-hero--whole { min-height: 0; } .ex-hero--whole .ex-hero__ph { bottom: auto; height: auto; aspect-ratio: var(--ratio); background-position: center; } .ex-hero--whole { padding-top: calc(100vw / var(--ratio) - 120px); } }
}
@layer components { /* 4.81.14: a claimed roster row carries its mark on the roster page too */
	.player--verified { border-left: 4px solid var(--red); }
	.player__ver { display: inline-flex; align-items: center; gap: 4px; margin-left: 8px; vertical-align: middle; padding: 2px 7px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 10px; letter-spacing: var(--ls-ui); text-transform: uppercase; line-height: 1.3; translate: 0 -2px; }
}
@layer components { /* 4.81.15 (retired by 4.81.16 below) */
	.brk { background: var(--graphite, #2b3036); color: #fff; position: relative; overflow: hidden; }
	.brk::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 8px; background: repeating-linear-gradient(-60deg, var(--red) 0 22px, var(--silver, #c9ccd1) 22px 30px); }
	.brk__in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 72px); align-items: center; padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(40px, 6vw, 72px); }
	.brk__k { display: inline-block; background: var(--red); color: #fff; padding: 6px 12px; font-family: var(--font-display); font-weight: 900; font-size: .72rem; letter-spacing: .26em; text-transform: uppercase; transform: skew(-10deg); }
	.brk__h { margin: 16px 0 12px; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.2rem, 4.4vw, 3.8rem); line-height: .92; letter-spacing: -.01em; text-transform: uppercase; color: #fff; }
	.brk__p { margin: 0 0 22px; font-size: 1.05rem; line-height: 1.6; color: rgba(255,255,255,.8); max-width: 46ch; }
	.brk__btn { background: var(--red); border-color: var(--red); color: #fff; }
	.brk__board { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; min-height: 240px; padding: 34px 28px; background: #15181c; border: 1px solid rgba(255,255,255,.12); border-top: 6px solid var(--red); color: #fff; text-decoration: none; overflow: hidden; transition: transform .3s cubic-bezier(.2,.9,.2,1), box-shadow .3s; }
	.brk__board:hover { transform: translateY(-3px); box-shadow: 0 30px 60px -30px rgba(0,0,0,.8); }
	.brk__ghost { position: absolute; right: -8%; bottom: -30%; width: 55%; opacity: .06; transform: rotate(-8deg); pointer-events: none; }
	.brk__round { position: absolute; left: 0; top: 0; padding: 6px 12px; background: rgba(255,255,255,.08); font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.75); }
	.brk__lines { position: absolute; inset: 0; pointer-events: none; }
	.brk__lines i { position: absolute; top: 50%; width: 18%; height: 34%; border: 2px solid rgba(255,255,255,.18); border-left: 0; transform: translateY(-50%); }
	.brk__lines i:first-child { left: 3%; } .brk__lines i:last-child { right: 3%; border-right: 0; border-left: 2px solid rgba(255,255,255,.18); }
	.brk__team { position: relative; text-align: center; padding: 18px 10px; background: #fff; color: var(--graphite, #2b3036); }
	.brk__team b { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.3rem, 2.4vw, 2rem); line-height: 1; text-transform: uppercase; }
	.brk__team--q b { font-size: 3rem; color: var(--red); }
	.brk__vs { position: relative; width: 64px; height: 64px; display: grid; place-items: center; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: 1.3rem; letter-spacing: .06em; transform: skew(-10deg); box-shadow: 4px 4px 0 var(--silver, #c9ccd1); animation: brkpulse 2.2s ease-in-out infinite; }
	@keyframes brkpulse { 50% { transform: skew(-10deg) scale(1.08); } }
	.brk__hint { position: absolute; left: 0; right: 0; bottom: 12px; text-align: center; font-family: var(--font-display); font-weight: 700; font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.55); }
	@media (max-width: 860px) { .brk__in { grid-template-columns: 1fr; } }
	@media (prefers-reduced-motion: reduce) { .brk__vs { animation: none; } }
}
@layer components { /* 4.81.16: the bracket band, for real this time: photo, a full 16-slot bracket that draws itself, the champion slot cycling through title teams */
	.brk { position: relative; overflow: hidden; background: #15181c; color: #fff; padding: 0; }
	.brk::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 8px; z-index: 2; background: repeating-linear-gradient(-60deg, var(--red) 0 22px, var(--silver, #c9ccd1) 22px 30px); }
	.brk__ph { position: absolute; inset: 0; background: var(--photo) center 40% / cover no-repeat; filter: grayscale(.9) contrast(1.1); opacity: .28; }
	.brk__ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(21,24,28,.98) 0%, rgba(21,24,28,.82) 45%, rgba(21,24,28,.55) 100%), linear-gradient(0deg, rgba(21,24,28,.95), transparent 50%); }
	.brk__in { position: relative; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 4vw, 60px); align-items: center; padding-top: clamp(48px, 7vw, 88px); padding-bottom: clamp(48px, 7vw, 88px); }
	.brk__k { display: inline-block; background: var(--red); color: #fff; padding: 7px 14px; font-family: var(--font-display); font-weight: 900; font-size: .74rem; letter-spacing: .26em; text-transform: uppercase; transform: skew(-10deg); box-shadow: 5px 5px 0 var(--silver, #c9ccd1); }
	.brk__h { margin: 20px 0 14px; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.6rem, 5vw, 4.6rem); line-height: .9; letter-spacing: -.015em; text-transform: uppercase; color: #fff; text-shadow: 0 16px 40px rgba(0,0,0,.6); }
	.brk__p { margin: 0 0 20px; font-size: 1.08rem; line-height: 1.6; color: rgba(255,255,255,.82); max-width: 44ch; }
	.brk__nums { display: flex; flex-wrap: wrap; gap: 22px; margin: 0 0 24px; }
	.brk__nums span { font-family: var(--font-display); font-weight: 700; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.6); }
	.brk__nums b { display: block; font-size: 2.2rem; line-height: 1; font-weight: 900; color: #fff; letter-spacing: -.02em; }
	.brk__btn { background: var(--red); border-color: var(--red); color: #fff; }
	.brk__round { margin: 16px 0 0; font-family: var(--font-display); font-weight: 700; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); } .brk__round b { color: #fff; }
	.brk__board { position: relative; display: block; color: #fff; text-decoration: none; padding: 18px 10px 44px; background: rgba(0,0,0,.35); border-top: 6px solid var(--red); border-bottom: 1px solid rgba(255,255,255,.1); box-shadow: 0 30px 80px -30px rgba(0,0,0,.9); transition: transform .3s cubic-bezier(.2,.9,.2,1); }
	.brk__board:hover { transform: translateY(-3px); }
	.brk__svg { display: block; width: 100%; height: auto; font-family: var(--font-display); }
	.brk-slot rect { fill: rgba(255,255,255,.07); stroke: rgba(255,255,255,.22); stroke-width: 1; }
	.brk-slot.is-seed rect { fill: #fff; stroke: #fff; }
	.brk-slot text { font-weight: 800; font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase; fill: rgba(255,255,255,.55); }
	.brk-slot.is-seed text { fill: var(--graphite, #2b3036); }
	.brk-slot { opacity: 0; transition: opacity .5s ease; } /* opacity only: a CSS transform would replace the group's own position */
	.is-in .brk-slot { opacity: 1; }
	.brk-line { fill: none; stroke: rgba(255,255,255,.35); stroke-width: 2; stroke-dasharray: 600; stroke-dashoffset: 600; }
	.is-in .brk-line { animation: brkdraw 1.4s cubic-bezier(.2,.9,.2,1) forwards; }
	@keyframes brkdraw { to { stroke-dashoffset: 0; } }
	.brk-champ rect { fill: var(--red); stroke: var(--silver, #c9ccd1); stroke-width: 3; }
	.brk-champ__k { font-weight: 800; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; fill: rgba(255,255,255,.85); }
	.brk-champ__n { font-weight: 900; font-size: 22px; letter-spacing: .01em; text-transform: uppercase; fill: #fff; transition: opacity .18s ease; }
	.brk-champ__n.is-flip { opacity: 0; }
	.brk-champ { opacity: 0; transition: opacity .5s ease .9s; }
	.is-in .brk-champ { opacity: 1; }
	.brk-champ rect { transform-origin: 92px 46px; transform: scale(.7); transition: transform .5s cubic-bezier(.2,.9,.2,1) .9s; }
	.is-in .brk-champ rect { transform: none; }
	.brk__cta { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.65); }
	.brk__board:hover .brk__cta { color: #fff; }
	/* slot staggers: each row a touch later */
	.brk-slot:nth-of-type(1) { transition-delay: 0.06s; }
	.brk-slot:nth-of-type(2) { transition-delay: 0.12s; }
	.brk-slot:nth-of-type(3) { transition-delay: 0.18s; }
	.brk-slot:nth-of-type(4) { transition-delay: 0.24s; }
	.brk-slot:nth-of-type(5) { transition-delay: 0.30s; }
	.brk-slot:nth-of-type(6) { transition-delay: 0.36s; }
	.brk-slot:nth-of-type(7) { transition-delay: 0.42s; }
	.brk-slot:nth-of-type(8) { transition-delay: 0.48s; }
	.brk-slot:nth-of-type(9) { transition-delay: 0.54s; }
	.brk-slot:nth-of-type(10) { transition-delay: 0.60s; }
	.brk-slot:nth-of-type(11) { transition-delay: 0.66s; }
	.brk-slot:nth-of-type(12) { transition-delay: 0.72s; }
	.brk-slot:nth-of-type(13) { transition-delay: 0.78s; }
	.brk-slot:nth-of-type(14) { transition-delay: 0.84s; }
	.brk-slot:nth-of-type(15) { transition-delay: 0.90s; }
	.brk-slot:nth-of-type(16) { transition-delay: 0.96s; }

	.brk__svg--sm { display: none; }
	@media (max-width: 900px) { .brk__in { grid-template-columns: 1fr; } .brk__svg { display: none; } .brk__svg--sm { display: block; } .brk-slot text { font-size: 13px; } .brk-champ__n { font-size: 19px; } .brk__board { padding: 16px 12px 40px; } }
	@media (prefers-reduced-motion: reduce) { .brk-slot, .brk-champ { opacity: 1; transform: none; transition: none; } .brk-line { stroke-dashoffset: 0; animation: none; } }
}
@layer components { /* 4.81.18 (retired by 4.81.19: the sign-in moved to the top bar) */
	.qsign { margin-top: clamp(22px, 3vw, 34px); padding-top: 20px; border-top: 1px solid var(--silver-line, #d9dce0); }
	.qsign__form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
	.qsign__k { font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--graphite, #2b3036); margin-right: 4px; }
	.qsign__form input { flex: 1 1 200px; min-width: 0; max-width: 260px; padding: 11px 12px; border: 1px solid var(--silver-line, #d9dce0); background: #fff; font-family: var(--font-body); font-size: .95rem; }
	.qsign__form input:focus { outline: none; border-color: var(--red); box-shadow: inset 0 0 0 1px var(--red); }
	.qsign__go { padding: 11px 20px; font-size: .78rem; }
	.qsign__alt { font-size: .8rem; color: var(--muted, #6b7077); text-decoration: underline; }
	.qsign__alt:hover { color: var(--red); }
	.qsign__join { margin: 10px 0 0; font-size: .85rem; color: var(--muted, #6b7077); }
	.qsign__join a { color: var(--red); font-weight: 600; text-decoration: underline; }
	@media (max-width: 620px) { .qsign__form input { max-width: none; flex-basis: 100%; } .qsign__go { width: 100%; } }
}
@layer components { /* 4.81.19: Sign in drops down from the top bar */
	.usign { position: static; } /* the panel hangs off the top bar, which clips overflow */
	.usign__btn { padding: 4px 12px; border: 1px solid rgba(43,48,54,.3); background: transparent; color: var(--graphite, #2b3036); font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; cursor: pointer; line-height: 1.6; }
	.usign__btn:hover, .usign.is-open .usign__btn { background: var(--red); border-color: var(--red); color: #fff; }
	.usign__panel { position: absolute; right: max(12px, calc((100vw - min(1280px, 100vw - 48px)) / 2)); top: 100%; z-index: 300; width: 290px; padding: 18px; background: #fff; border: 1px solid var(--silver-line, #d9dce0); border-top: 4px solid var(--red); box-shadow: 0 24px 50px -20px rgba(0,0,0,.45); text-align: left; }
	.usign__panel input[type="text"], .usign__panel input[type="password"] { display: block; width: 100%; margin-bottom: 8px; padding: 11px 12px; border: 1px solid var(--silver-line, #d9dce0); font-family: var(--font-body); font-size: .95rem; }
	.usign__panel input:focus { outline: none; border-color: var(--red); box-shadow: inset 0 0 0 1px var(--red); }
	.usign__keep { display: flex; align-items: center; gap: 7px; margin: 2px 0 12px; font-size: .78rem; color: var(--muted, #6b7077); text-transform: none; letter-spacing: 0; }
	.usign__go { width: 100%; justify-content: center; padding: 11px 16px; font-size: .78rem; }
	.usign__alt, .usign__join { margin: 10px 0 0; font-size: .78rem; color: var(--muted, #6b7077); text-transform: none; letter-spacing: 0; }
	.usign__alt a, .usign__join a { color: var(--red); text-decoration: underline; }
	@media (max-width: 700px) { .usign__panel { position: fixed; left: 12px; right: 12px; top: auto; width: auto; } }
}
@layer components { /* 4.81.19: let the sign-in panel hang below the top bar */
	.utility--hasdrop { position: relative; overflow: visible; z-index: 300; }
	.utility--hasdrop .utility__inner { overflow: visible; }
}

@layer components { /* 4.81.20: in memoriam on the exhibit roll call */
	.ex-memoriam { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin: 0 0 18px; padding: 16px 20px; background: #15181c; border-left: 6px solid var(--red); color: #fff; }
	.ex-memoriam__k { font-family: var(--font-display); font-weight: 900; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.7); }
	.ex-memoriam__names { font-family: var(--font-display); font-weight: 800; font-size: 1.25rem; line-height: 1.2; text-transform: uppercase; letter-spacing: .01em; color: #fff; }
	.ex-memoriam__note { flex-basis: 100%; font-family: var(--font-serif, Lora, Georgia, serif); font-style: italic; font-size: .95rem; color: rgba(255,255,255,.7); }
	.ex-legend .s-memorial { background: #1c1f23; box-shadow: inset 0 0 0 2px #c9ccd1; }
	.ex-rc { position: relative; overflow: hidden; }
	.ex-rc--memorial { background: #1c1f23; border-top-color: #111315; color: #fff; }
	.ex-rc--memorial b { color: rgba(255,255,255,.55); } .ex-rc--memorial span { color: #fff; } .ex-rc--memorial i { color: rgba(255,255,255,.75); font-weight: 800; }
	.ex-rc__ribbon { position: absolute; top: 9px; right: -32px; width: 110px; height: 12px; background: #c9ccd1; rotate: 45deg; box-shadow: 0 1px 3px rgba(0,0,0,.6); pointer-events: none; }
	.ex-rc__ribbon::after { content: ""; position: absolute; inset: 3px 0; border-top: 1px solid rgba(0,0,0,.35); border-bottom: 1px solid rgba(0,0,0,.35); }
}

@layer components { /* 4.81.21: memories on the season page say which game they are about */
	.mem__about { display: inline-block; margin: 0 0 var(--sp-3, 12px); padding: 4px 9px; background: var(--graphite, #2b3036); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
	.mem__about:hover { background: var(--red); color: #fff; }
}

@layer components { /* 4.81.22: the exhibit's "in their words", set to be read */
	.ex-voices { position: relative; overflow: hidden; margin: clamp(40px, 6vw, 60px) 0 0; padding: clamp(10px, 2vw, 20px) 0 clamp(54px, 7vw, 90px); background: #15181c; color: #fff; isolation: isolate; }
	.ex-voices::before { content: "\201C"; position: absolute; z-index: -1; top: clamp(110px, 12vw, 150px); right: -0.04em; font-family: var(--font-serif); font-weight: 700; font-size: clamp(16rem, 34vw, 34rem); line-height: .8; color: var(--red); opacity: .16; pointer-events: none; }
	.ex-voices::after { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(120% 70% at 0% 0%, rgba(206,26,39,.16), transparent 60%); pointer-events: none; }
	.ex-voices + .ex-re { margin-top: 0; }
	.ex-sec--dark i { background: linear-gradient(180deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.08) 45%, rgba(255,255,255,.02) 55%, rgba(255,255,255,.16) 100%); }
	.ex-sec--dark a { color: #ff6b74; }
	.ex-sec--dark h2 { box-shadow: 6px 6px 0 rgba(255,255,255,.12); }
	.ex-voices__count { margin: 0 0 26px; font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.6); }

	.ex-vlead { display: grid; grid-template-columns: 1fr; gap: clamp(24px, 4vw, 48px); margin: 0; max-width: 1040px; }
	.ex-vlead.has-ph { grid-template-columns: clamp(140px, 18vw, 220px) 1fr; align-items: start; }
	.ex-vlead__ph { display: block; aspect-ratio: 4 / 5; background: #2b3036 center / cover no-repeat; border-top: 6px solid var(--red); filter: grayscale(.25) contrast(1.05); }
	.ex-vtag { display: inline-block; margin: 0 0 18px; padding: 6px 11px 5px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
	.ex-vtag:hover { background: #fff; color: var(--red); }
	.ex-vtag--sm { margin-bottom: 14px; padding: 4px 9px 3px; font-size: .68rem; background: rgba(255,255,255,.1); }
	.ex-vlead__q { margin: 0; padding: 0; border: 0; }
	.ex-vlead__q p { margin: 0 0 1em; max-width: 68ch; font-family: var(--font-serif); font-size: clamp(1.1rem, 1.55vw, 1.34rem); line-height: 1.72; color: rgba(255,255,255,.86); }
	.ex-vlead__q p.ex-vlead__big { max-width: 28ch; margin: 0 0 .7em; font-family: var(--font-display); font-weight: 900; font-size: clamp(2rem, 4.6vw, 3.7rem); line-height: 1; letter-spacing: -.01em; text-transform: uppercase; color: #fff; text-wrap: balance; }
	.ex-vlead__q p.ex-vlead__big::before { content: "\201C"; color: var(--red); margin-right: .04em; }
	.ex-vby { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin-top: 26px; padding-left: 66px; position: relative; }
	.ex-vby::before { content: ""; position: absolute; left: 0; top: .62em; width: 48px; height: 4px; background: var(--red); }
	.ex-vby b { font-family: var(--font-display); font-weight: 900; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1; letter-spacing: .01em; text-transform: uppercase; color: #fff; }
	.ex-vby b a { color: inherit; text-decoration: none; border-bottom: 2px solid rgba(255,255,255,.25); } .ex-vby b a:hover { border-color: var(--red); }
	.ex-vby span { font-family: var(--font-display); font-weight: 800; font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.62); }

	.ex-vgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 16px; margin-top: clamp(40px, 6vw, 64px); }
	.ex-vcard { margin: 0; padding: 26px 28px 24px; background: rgba(255,255,255,.045); border-top: 4px solid var(--red); }
	.ex-vcard blockquote { margin: 0; padding: 0; border: 0; } .ex-vcard blockquote p { margin: 0 0 .9em; font-family: var(--font-serif); font-size: 1.08rem; line-height: 1.68; color: rgba(255,255,255,.88); }
	.ex-vby--sm { margin-top: 16px; padding-left: 40px; } .ex-vby--sm::before { width: 28px; height: 3px; } .ex-vby--sm b { font-size: 1.2rem; }

	.ex-vask { display: grid; grid-template-columns: 1fr auto; gap: 24px 40px; align-items: center; margin-top: clamp(40px, 6vw, 64px); padding: 26px 30px; border: 2px solid rgba(255,255,255,.16); }
	.ex-vask h3 { margin: 0 0 6px; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: .95; text-transform: uppercase; color: #fff; }
	.ex-vask p { margin: 0; font-family: var(--font-serif); color: rgba(255,255,255,.75); }
	@media (max-width: 760px) { .ex-vlead.has-ph { grid-template-columns: 1fr; } .ex-vlead__ph { max-width: 180px; } .ex-vask { grid-template-columns: 1fr; } .ex-vby { padding-left: 0; padding-top: 16px; } .ex-vby::before { top: 0; } }
}

@layer components { /* 4.82.0: the exhibit as a museum */
	.ex .btn--light { background: #fff; border-color: #fff; color: var(--graphite, #2b3036); }
	.ex .btn--light:hover { background: var(--red); border-color: var(--red); color: #fff; }
	.ex .btn--outline { background: transparent; border: 2px solid var(--graphite, #2b3036); color: var(--graphite, #2b3036); }

	/* reveal: only when scripts run and motion is welcome */
	@media (prefers-reduced-motion: no-preference) { .ex-js .ex-rv { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); } .ex-js .ex-rv.is-in { opacity: 1; transform: none; } }

	/* the team photograph */
	.ex-team { position: relative; background: #0f1113; color: #fff; padding: clamp(56px, 8vw, 110px) 0 clamp(44px, 6vw, 80px); overflow: hidden; }
	.ex-team::before { content: ""; position: absolute; inset: 0; background: radial-gradient(70% 55% at 50% 42%, rgba(255,255,255,.08), transparent 70%); pointer-events: none; }
	.ex-team__in { position: relative; width: min(1500px, 94vw); margin: 0 auto; }
	.ex-team__head { text-align: center; margin: 0 0 clamp(26px, 4vw, 44px); } .ex-team__head .ex-k { color: #ff5a64; }
	.ex-team__h { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.4rem, 7vw, 6.4rem); line-height: .86; letter-spacing: -.02em; text-transform: uppercase; }
	.ex-team__sub { margin: 12px 0 0; font-family: var(--font-display); font-weight: 800; font-size: clamp(.9rem, 1.6vw, 1.25rem); letter-spacing: .32em; text-transform: uppercase; color: #c9ccd1; }
	.ex-team__print { width: fit-content; max-width: 100%; margin: 0 auto; padding: clamp(10px, 1.6vw, 22px); background: linear-gradient(180deg, #f7f7f5, #e9e9e6); box-shadow: 0 40px 90px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08); }
	.ex-team__frame { position: relative; line-height: 0; }
	.ex-team__frame img { display: block; width: auto; max-width: 100%; height: auto; max-height: 82vh; filter: grayscale(.15) contrast(1.04) sepia(.06); }
	.ex-spot { position: absolute; transform: translate(-50%, -50%); opacity: 0; pointer-events: none; transition: opacity .25s; text-decoration: none; line-height: 1; }
	.ex-team__frame.show-names .ex-spot { opacity: 1; pointer-events: auto; }
	.ex-spot i { display: block; width: 22px; height: 22px; border-radius: 50%; background: var(--red); color: #fff; font: 800 11px/22px var(--font-display); text-align: center; font-style: normal; box-shadow: 0 0 0 2px #fff, 0 2px 8px rgba(0,0,0,.5); }
	.ex-spot span { position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%); white-space: nowrap; padding: 5px 9px; background: #111; color: #fff; font: 800 .78rem/1 var(--font-display); letter-spacing: .06em; text-transform: uppercase; opacity: 0; transition: opacity .15s; }
	.ex-spot:hover span, .ex-spot:focus span { opacity: 1; }
	.ex-team__plaque { display: grid; grid-template-columns: 1fr auto; gap: 6px 20px; align-items: center; padding: 16px 6px 4px; color: #2b3036; line-height: 1.3; }
	.ex-team__plaque b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 1.05rem; letter-spacing: .14em; text-transform: uppercase; }
	.ex-team__plaque div > span { font-family: var(--font-display); font-weight: 700; font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; color: var(--red); }
	.ex-team__plaque small { grid-column: 1 / -1; font-family: var(--font-serif); font-style: italic; font-size: .9rem; color: #5a5f66; }
	.ex-team__acts { display: flex; gap: 14px; align-items: center; } .ex-team__acts a { font-family: var(--font-display); font-weight: 800; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: #2b3036; text-decoration: none; }
	.ex-team__names { border: 2px solid #2b3036; background: #fff; padding: 7px 12px; font-family: var(--font-display); font-weight: 800; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; } .ex-team__names em { font-style: normal; color: var(--red); margin-left: 4px; }
	.ex-team__names[aria-pressed="true"] { background: var(--red); border-color: var(--red); color: #fff; } .ex-team__names[aria-pressed="true"] em { color: #fff; }
	.ex-team__ask { margin: 22px 0 0; text-align: center; font-family: var(--font-serif); color: rgba(255,255,255,.7); } .ex-team__ask a { color: #fff; font-weight: 700; }

	/* the road */
	.ex-road { padding: clamp(10px, 2vw, 20px) 0 clamp(40px, 5vw, 60px); background: var(--silver-1, #f4f5f6); }
	.ex-road__lede { margin: -8px 0 22px; font-family: var(--font-serif); font-size: 1.1rem; color: #4a4f56; }
	.ex-road__track { display: flex; gap: 0; overflow-x: auto; padding: 4px max(4vw, calc((100vw - 1240px) / 2)) 22px; scrollbar-width: thin; cursor: grab; }
	.ex-road__track.is-drag { cursor: grabbing; } .ex-road__track:focus-visible { outline: 3px solid var(--red); outline-offset: -3px; }
	.ex-road__month { flex: none; display: flex; flex-direction: column; padding-right: 10px; }
	.ex-road__m { position: relative; display: block; padding: 0 0 12px; margin: 0 0 16px; border-bottom: 4px solid var(--graphite, #2b3036); font-family: var(--font-display); font-weight: 900; font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1; text-transform: uppercase; letter-spacing: -.01em; color: var(--graphite, #2b3036); }
	.ex-road__m::after { content: "\2192"; position: absolute; right: 0; bottom: 10px; font-size: .8em; color: var(--red); }
	.ex-road__month--end .ex-road__m { border-color: var(--red); } .ex-road__month--end .ex-road__m::after { content: none; }
	.ex-road__games { display: flex; gap: 10px; align-items: stretch; flex: 1; }
	.ex-stop { position: relative; display: flex; flex-direction: column; width: 150px; padding: 14px 14px 12px; background: #fff; border-top: 4px solid var(--silver-3, #c9ccd1); color: var(--graphite, #2b3036); text-decoration: none; transition: transform .2s, box-shadow .2s; }
	.ex-stop:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.12); }
	.ex-stop.is-post { border-top-color: var(--graphite, #2b3036); } .ex-stop.is-l { border-top-color: #8a9099; }
	.ex-stop.is-turn { width: 230px; border-top: 6px solid var(--red); background: #fff; }
	.ex-stop.is-final { width: 260px; background: var(--red); border-top-color: #fff; color: #fff; }
	.ex-stop__d { font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: #6b6f75; } .ex-stop.is-final .ex-stop__d { color: rgba(255,255,255,.8); }
	.ex-stop__lab { display: block; margin: 8px 0 6px; font-family: var(--font-display); font-weight: 900; font-size: 1.15rem; line-height: 1; letter-spacing: .02em; text-transform: uppercase; color: var(--red); } .ex-stop.is-final .ex-stop__lab { color: #fff; font-size: 1.35rem; }
	.ex-stop__s { margin-top: auto; padding-top: 8px; font-family: var(--font-display); font-weight: 900; font-size: 1.7rem; line-height: 1; letter-spacing: -.01em; } .ex-stop.is-turn .ex-stop__s { font-size: 2.6rem; } .ex-stop.is-final .ex-stop__s { font-size: 3.2rem; }
	.ex-stop__s em { font-style: normal; color: var(--red); } .ex-stop.is-l .ex-stop__s em { color: #6b6f75; } .ex-stop.is-final .ex-stop__s em { color: #fff; }
	.ex-stop__o { margin-top: 4px; font-family: var(--font-display); font-weight: 800; font-size: .95rem; line-height: 1.05; text-transform: uppercase; }
	.ex-stop__go { margin-top: 10px; font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); opacity: 0; transition: opacity .2s; } .ex-stop:hover .ex-stop__go, .ex-stop:focus .ex-stop__go { opacity: 1; } .ex-stop.is-final .ex-stop__go { color: #fff; }
	.ex-road__end { display: flex; flex-direction: column; justify-content: center; width: 220px; flex: 1; padding: 18px; background: var(--graphite, #2b3036); color: #fff; text-decoration: none; }
	.ex-road__end span { font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: #ff5a64; } .ex-road__end b { font-family: var(--font-display); font-weight: 900; font-size: 2rem; line-height: .95; text-transform: uppercase; margin: 6px 0 4px; } .ex-road__end em { font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: 3.4rem; line-height: .9; color: rgba(255,255,255,.18); }
	.ex-road__hint { font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: #8a9099; }

	/* the defense */
	.ex-def { position: relative; overflow: hidden; background: #15181c; color: #fff; padding: clamp(60px, 9vw, 120px) 0 clamp(54px, 7vw, 90px); }
	.ex-def__bg { position: absolute; right: -4vw; top: 50%; transform: translateY(-52%); font-family: var(--font-display); font-weight: 900; font-size: clamp(22rem, 52vw, 52rem); line-height: .8; color: rgba(255,255,255,.035); pointer-events: none; }
	.ex-def .container { position: relative; } .ex-def__k { color: #ff5a64; }
	.ex-def__h { margin: 0 0 clamp(30px, 5vw, 56px); font-family: var(--font-display); font-weight: 900; font-size: clamp(3rem, 9vw, 8rem); line-height: .84; letter-spacing: -.025em; text-transform: uppercase; }
	.ex-def__nums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.18); }
	.ex-def__n { padding: 26px 22px 24px 0; border-right: 1px solid rgba(255,255,255,.12); } .ex-def__n:last-child { border-right: 0; } .ex-def__n + .ex-def__n { padding-left: 22px; }
	.ex-def__n b { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(3.6rem, 8.5vw, 7.6rem); line-height: .82; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
	.ex-def__n.is-zero b { color: var(--red); text-shadow: 0 0 40px rgba(206,26,39,.35); }
	.ex-def__n span { display: block; margin-top: 12px; font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.65); }
	.ex-def__p { max-width: 640px; margin: clamp(26px, 4vw, 40px) 0 0; font-family: var(--font-serif); font-size: clamp(1.15rem, 1.8vw, 1.4rem); line-height: 1.6; color: rgba(255,255,255,.82); }
	.ex-def__chart { margin-top: clamp(36px, 5vw, 56px); }
	.ex-def__ck { display: block; margin: 0 0 14px; font-family: var(--font-display); font-weight: 800; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.6); }
	.ex-def__bars { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px; align-items: end; height: 170px; }
	.ex-def__bar { position: relative; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; color: #fff; text-decoration: none; }
	.ex-def__bar i { display: block; height: var(--h); min-height: 4px; background: rgba(255,255,255,.22); transition: background .2s; } .ex-def__bar:hover i { background: rgba(255,255,255,.45); }
	.ex-def__bar.is-zero i { background: var(--red); } .ex-def__bar.is-l i { background: rgba(255,255,255,.4); }
	.ex-def__bar b { font-family: var(--font-display); font-weight: 900; font-size: 1.1rem; line-height: 1; margin-bottom: 6px; text-align: center; } .ex-def__bar.is-zero b { color: #ff5a64; }
	.ex-def__bar span { margin-top: 8px; font-family: var(--font-display); font-weight: 700; font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.55); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

	/* the final, quarter by quarter */
	.ex-sb { background: #fff; padding: clamp(40px, 6vw, 70px) 0; border-bottom: 1px solid var(--silver-2, #e3e6ea); }
	.ex-sb__in { display: block; } .ex-sb__line { margin: 0 0 18px; font-family: var(--font-display); font-weight: 900; font-size: clamp(2rem, 5vw, 3.6rem); line-height: .9; letter-spacing: -.01em; text-transform: uppercase; color: var(--graphite, #2b3036); } .ex-sb__line span { color: var(--red); } .ex-sb__td { margin-top: 18px !important; }
	.ex-sb__big { display: grid; grid-template-columns: auto auto; gap: 0 18px; align-items: baseline; font-family: var(--font-display); text-transform: uppercase; }
	.ex-sb__big span { font-weight: 900; font-size: clamp(1.2rem, 2.4vw, 2rem); letter-spacing: .04em; color: var(--graphite, #2b3036); } .ex-sb__big b { font-weight: 900; font-size: clamp(4rem, 9vw, 7.2rem); line-height: .86; color: var(--red); text-align: right; } .ex-sb__big b:last-child { color: #8a9099; } .ex-sb__big i { display: none; }
	.ex-sb__table-wrap { overflow-x: auto; } .ex-sb__table { width: 100%; border-collapse: collapse; font-family: var(--font-display); text-transform: uppercase; }
	.ex-sb__table th, .ex-sb__table td { padding: 12px 14px; text-align: center; border-bottom: 1px solid var(--silver-2, #e3e6ea); } .ex-sb__table thead th { font-size: .75rem; letter-spacing: .16em; color: #6b6f75; font-weight: 800; }
	.ex-sb__table tbody th { text-align: left; font-weight: 900; font-size: 1.05rem; letter-spacing: .06em; white-space: nowrap; } .ex-sb__table td { font-weight: 900; font-size: 1.6rem; color: #8a9099; } .ex-sb__table td.is-pts { color: var(--red); font-size: 2rem; } .ex-sb__table td.ex-sb__f { color: var(--graphite, #2b3036); background: var(--silver-1, #f4f5f6); font-size: 2rem; } .ex-sb__table tr.is-w td.ex-sb__f { color: var(--red); }
	.ex-sb__td { grid-column: 1 / -1; margin: 6px 0 0; padding: 16px 20px; border-left: 6px solid var(--red); background: var(--silver-1, #f4f5f6); font-family: var(--font-serif); font-size: 1.15rem; line-height: 1.5; color: #2b3036; }
	.ex-sb__td span { display: block; margin-bottom: 4px; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); }

	/* the men who won it */
	.ex-men { padding: clamp(56px, 8vw, 100px) 0; background: var(--silver-1, #f4f5f6); }
	.ex-men__head { max-width: 760px; margin: 0 0 clamp(28px, 4vw, 44px); } .ex-men__h { margin: 0 0 14px; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.8rem, 7vw, 6rem); line-height: .84; letter-spacing: -.02em; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.ex-men__head p { margin: 0; font-family: var(--font-serif); font-size: 1.15rem; line-height: 1.6; color: #4a4f56; }
	.ex-men__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
	.ex-man { display: flex; flex-direction: column; background: #fff; }
	.ex-man.is-lead { grid-column: span 2; display: grid; grid-template-columns: 44% 1fr; }
	.ex-man__ph { position: relative; display: block; aspect-ratio: 4 / 5; background: #2b3036 center 20% / cover no-repeat; overflow: hidden; filter: grayscale(.2); }
	.ex-man.is-lead .ex-man__ph { aspect-ratio: auto; min-height: 100%; }
	.ex-man:not(.is-lead) .ex-man__ph.is-empty { aspect-ratio: 16 / 9; } .ex-man__ph.is-empty { display: flex; align-items: center; justify-content: center; background: linear-gradient(160deg, #2b3036, #15181c); }
	.ex-man__ph.is-empty span { font-family: var(--font-display); font-weight: 900; font-size: clamp(3rem, 6vw, 5rem); line-height: 1; color: rgba(255,255,255,.14); letter-spacing: -.02em; }
	.ex-man__rib { position: absolute; top: 12px; right: -34px; width: 120px; height: 12px; background: #c9ccd1; rotate: 45deg; box-shadow: 0 1px 3px rgba(0,0,0,.5); }
	.ex-man__in { padding: 18px 20px 22px; border-top: 4px solid var(--red); } .ex-man.is-lead .ex-man__in { border-top: 0; border-left: 4px solid var(--red); padding: 26px 28px; align-self: center; }
	.ex-man__role { font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); }
	.ex-man__name { margin: 4px 0 10px; font-family: var(--font-display); font-weight: 900; font-size: 1.6rem; line-height: .95; text-transform: uppercase; } .ex-man.is-lead .ex-man__name { font-size: clamp(2rem, 3.4vw, 2.8rem); }
	.ex-man__name a { color: var(--graphite, #2b3036); text-decoration: none; } .ex-man__name a:hover { color: var(--red); }
	.ex-man__fact { margin: 0; font-family: var(--font-serif); font-size: 1rem; line-height: 1.55; color: #3a4048; } .ex-man.is-lead .ex-man__fact { font-size: 1.15rem; }
	.ex-man__memo { display: inline-block; margin-top: 12px; font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: #6b6f75; }
	.ex-men__close { display: grid; grid-template-columns: auto 1fr; gap: clamp(24px, 4vw, 56px); align-items: center; margin-top: clamp(30px, 5vw, 50px); padding: clamp(24px, 4vw, 40px); background: var(--graphite, #2b3036); color: #fff; }
	.ex-men__count b { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(4rem, 9vw, 7rem); line-height: .82; color: #fff; } .ex-men__count span { display: block; margin-top: 6px; font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.7); }
	.ex-men__count i { display: block; position: relative; width: 180px; height: 6px; margin-top: 14px; background: rgba(255,255,255,.15); } .ex-men__count i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: max(var(--p), 3%); background: var(--red); }
	.ex-men__ask h3 { margin: 0 0 8px; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.8rem, 4vw, 3rem); line-height: .9; text-transform: uppercase; } .ex-men__ask p { margin: 0 0 18px; font-family: var(--font-serif); color: rgba(255,255,255,.8); max-width: 60ch; }
	.ex-men__btns { display: flex; flex-wrap: wrap; gap: 10px; } .ex-men__btns .btn--outline { border-color: rgba(255,255,255,.6); color: #fff; }

	/* the men on the sideline */
	.ex-staff { padding: 0 0 clamp(50px, 7vw, 80px); background: var(--silver-1, #f4f5f6); }
	.ex-staff__row { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin-top: 14px; }
	.ex-coachcard { display: flex; flex-direction: column; background: #fff; color: var(--graphite, #2b3036); text-decoration: none; padding-bottom: 16px; }
	.ex-coachcard__ph { display: block; aspect-ratio: 1; background: #2b3036 center 25% / cover no-repeat; margin-bottom: 12px; filter: grayscale(.25); }
	.ex-coachcard__ph.is-empty { display: flex; align-items: center; justify-content: center; background: linear-gradient(160deg, #3a4048, #1d2126); } .ex-coachcard__ph.is-empty i { font-family: var(--font-display); font-weight: 900; font-style: normal; font-size: 3.6rem; color: rgba(255,255,255,.15); }
	.ex-coachcard__role, .ex-coachcard__name, .ex-coachcard__note, .ex-coachcard__memo { padding: 0 14px; }
	.ex-coachcard__role { font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
	.ex-coachcard__name { margin-top: 4px; font-family: var(--font-display); font-weight: 900; font-size: 1.3rem; line-height: 1; text-transform: uppercase; }
	.ex-coachcard__note { margin-top: 6px; font-family: var(--font-serif); font-size: .92rem; line-height: 1.45; color: #4a4f56; }
	.ex-coachcard__memo { margin-top: 8px; font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: #6b6f75; }
	a.ex-coachcard:hover .ex-coachcard__name { color: var(--red); }
	.ex-staff__ask { margin: 18px 0 0; font-family: var(--font-serif); color: #4a4f56; } .ex-staff__ask a { color: var(--red); font-weight: 700; }

	/* the display case */
	.ex-case { position: relative; background: radial-gradient(90% 60% at 50% 0%, #2a2e34, #101215 70%); color: #fff; padding: clamp(60px, 8vw, 110px) 0; }
	.ex-case__head { text-align: center; margin: 0 0 clamp(30px, 5vw, 56px); } .ex-case__head .ex-k { color: #ff5a64; } .ex-case__head p { margin: 10px 0 0; font-family: var(--font-serif); font-style: italic; color: rgba(255,255,255,.7); }
	.ex-case__h { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.4rem, 6vw, 5.2rem); line-height: .86; text-transform: uppercase; letter-spacing: -.015em; }
	.ex-case__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: clamp(20px, 3vw, 36px); align-items: end; }
	.ex-obj { margin: 0; display: flex; flex-direction: column; }
	.ex-obj__stage { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1; padding: 12%; background: radial-gradient(60% 50% at 50% 35%, rgba(255,255,255,.14), transparent 72%), linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.07)); border: 1px solid rgba(255,255,255,.1); box-shadow: inset 0 -30px 50px rgba(0,0,0,.35); }
	.ex-obj__stage::after { content: ""; position: absolute; left: 14%; right: 14%; bottom: 8%; height: 10px; background: radial-gradient(50% 50% at 50% 50%, rgba(0,0,0,.55), transparent); }
	.ex-obj__stage img { position: relative; z-index: 1; max-width: 100%; max-height: 100%; object-fit: contain; filter: drop-shadow(0 18px 24px rgba(0,0,0,.55)); transition: transform .4s; } .ex-obj__stage:hover img { transform: translateY(-6px) scale(1.03); }
	.ex-obj__label { position: relative; margin-top: 14px; padding: 14px 16px; background: #f4f5f6; color: #2b3036; border-top: 3px solid var(--red); }
	.ex-obj__no { position: absolute; top: 12px; right: 14px; font-family: var(--font-display); font-weight: 900; font-size: .9rem; color: #8a9099; }
	.ex-obj__label b { display: block; padding-right: 30px; font-family: var(--font-display); font-weight: 900; font-size: 1.15rem; line-height: 1; text-transform: uppercase; } .ex-obj__date { display: block; margin-top: 4px; font-family: var(--font-display); font-weight: 700; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
	.ex-obj__label p { margin: 8px 0 0; font-family: var(--font-serif); font-size: .95rem; line-height: 1.5; } .ex-obj__label small { display: block; margin-top: 8px; font-family: var(--font-serif); font-style: italic; font-size: .82rem; color: #6b6f75; }
	.ex-case__ask { display: grid; grid-template-columns: 1fr auto; gap: 18px 36px; align-items: center; max-width: 980px; margin: clamp(30px, 5vw, 50px) auto 0; padding: 22px 26px; border: 1px solid rgba(255,255,255,.18); }
	.ex-case__ask p { margin: 0; font-family: var(--font-serif); color: rgba(255,255,255,.8); }

	/* the newspapers */
	.ex-press { padding: clamp(56px, 8vw, 100px) 0; background: #e9ebee; background-image: repeating-linear-gradient(0deg, rgba(0,0,0,.018) 0 1px, transparent 1px 3px); }
	.ex-press__head { margin: 0 0 clamp(26px, 4vw, 40px); } .ex-press__h { margin: 0; font-family: "Times New Roman", Georgia, serif; font-weight: 900; font-size: clamp(2.6rem, 6.5vw, 5.4rem); line-height: .9; letter-spacing: -.02em; color: #15181c; }
	.ex-clip--lead { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
	.ex-clip__scan { display: block; background: #fbfbf9; padding: 14px; box-shadow: 0 24px 50px rgba(0,0,0,.18), 0 2px 0 rgba(0,0,0,.05); } .ex-clip__scan img { display: block; width: 100%; height: auto; filter: grayscale(1) contrast(1.08); }
	.ex-clip--lead .ex-clip__scan { transform: rotate(-.8deg); }
	.ex-clip__paper { display: block; font-family: "Times New Roman", Georgia, serif; font-weight: 700; font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; color: #15181c; }
	.ex-clip__date { display: block; margin-top: 2px; font-family: var(--font-display); font-weight: 800; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); }
	.ex-clip__hl { margin: 14px 0 12px; font-family: "Times New Roman", Georgia, serif; font-weight: 900; font-size: clamp(1.9rem, 3.6vw, 3rem); line-height: 1.02; color: #15181c; }
	.ex-clip__meta p { margin: 0 0 18px; font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.6; color: #3a4048; }
	.ex-clip__acts { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; } .ex-clip__full { font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: #15181c; }
	.ex-press__file { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: clamp(18px, 3vw, 30px); margin-top: clamp(36px, 5vw, 60px); }
	.ex-clip--sm { display: block; color: #15181c; text-decoration: none; transform: rotate(var(--tilt, 0)); transition: transform .25s; } .ex-clip--sm:hover { transform: rotate(0) translateY(-4px); }
	.ex-clip--sm .ex-clip__scan { padding: 10px; margin-bottom: 12px; } .ex-clip--sm .ex-clip__paper { font-size: .8rem; } .ex-clip--sm .ex-clip__hl { margin: 6px 0 0; font-size: 1.2rem; }
	.ex-press__ask { margin: clamp(26px, 4vw, 40px) 0 0; font-family: var(--font-serif); color: #4a4f56; } .ex-press__ask a { color: var(--red); font-weight: 700; }
	.ex-press--empty { padding: clamp(40px, 5vw, 60px) 0; } .ex-press__emptyin { display: grid; grid-template-columns: auto 1fr; gap: 20px 50px; align-items: end; } .ex-press__emptyin p { margin: 0; max-width: 60ch; font-family: var(--font-serif); font-size: 1.1rem; line-height: 1.6; color: #3a4048; } .ex-press__emptyin a { color: var(--red); font-weight: 700; }

	/* when they came home */
	.ex-home { padding: clamp(56px, 8vw, 100px) 0; background: #fff; }
	.ex-home__in { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 70px); }
	.ex-home__head { grid-column: 1 / -1; max-width: 860px; } .ex-home__h { margin: 0 0 16px; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.8rem, 7vw, 6rem); line-height: .84; letter-spacing: -.02em; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.ex-home__lede { margin: 0; font-family: var(--font-serif); font-size: clamp(1.15rem, 1.7vw, 1.35rem); line-height: 1.65; color: #3a4048; }
	.ex-home__record { display: flex; flex-direction: column; gap: 22px; }
	.ex-home__item { margin: 0; } .ex-home__item img { display: block; width: 100%; height: auto; filter: grayscale(.2); } .ex-home__item figcaption { padding: 12px 0 0; border-top: 3px solid var(--red); margin-top: 10px; }
	.ex-home__item b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 1.3rem; text-transform: uppercase; } .ex-home__item p { margin: 6px 0 0; font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.6; } .ex-home__item small { display: block; margin-top: 6px; font-family: var(--font-display); font-weight: 700; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: #6b6f75; }
	.ex-home__voice { margin: 0; padding: 18px 22px; border-left: 5px solid var(--red); background: var(--silver-1, #f4f5f6); font-family: var(--font-serif); font-size: 1.1rem; line-height: 1.6; } .ex-home__voice p { margin: 0 0 .7em; } .ex-home__voice cite { font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.ex-home__open { align-self: start; padding: 26px 28px; background: var(--graphite, #2b3036); color: #fff; }
	.ex-home__ok { display: inline-block; padding: 4px 9px; background: var(--red); font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; }
	.ex-home__open ul { list-style: none; margin: 18px 0 22px; padding: 0; } .ex-home__open li { position: relative; padding: 10px 0 10px 26px; border-bottom: 1px solid rgba(255,255,255,.12); font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.4; color: rgba(255,255,255,.88); } .ex-home__open li::before { content: "?"; position: absolute; left: 0; top: 9px; font-family: var(--font-display); font-weight: 900; color: #ff5a64; }
	.ex-home__ph { display: inline-block; margin-left: 16px; font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
	.ex-home__in:not(:has(.ex-home__record)) { grid-template-columns: 1fr; } .ex-home__in:not(:has(.ex-home__record)) .ex-home__open { max-width: 760px; }

	/* in their words: one-liners and the fold */
	.ex-vshort { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 0; margin-top: clamp(36px, 5vw, 56px); border-top: 1px solid rgba(255,255,255,.14); }
	.ex-vline { margin: 0; padding: 24px 24px 22px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
	.ex-vline blockquote { margin: 0; font-family: var(--font-serif); font-style: italic; font-size: clamp(1.3rem, 2.2vw, 1.7rem); line-height: 1.35; color: #fff; }
	.ex-vline figcaption { margin-top: 10px; font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); } .ex-vline figcaption a { color: #ff6b74; text-decoration: none; }
	.ex-vcard.is-more { display: none; } .ex-vgrid.is-open .ex-vcard.is-more { display: block; }
	.ex-vmore { display: block; margin: 18px auto 0; padding: 12px 22px; background: transparent; border: 2px solid rgba(255,255,255,.4); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; } .ex-vmore:hover { border-color: #fff; }

	/* what it started */
	.ex-start { padding: clamp(56px, 8vw, 100px) 0; background: #fff; text-align: center; }
	.ex-start__h { margin: 0 0 clamp(26px, 4vw, 44px); font-family: var(--font-display); font-weight: 900; font-size: clamp(2.4rem, 6vw, 4.8rem); line-height: .86; text-transform: uppercase; letter-spacing: -.015em; color: var(--graphite, #2b3036); }
	.ex-start__run { list-style: none; margin: 0 auto; padding: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 0; max-width: 1100px; }
	.ex-start__run li { flex: 1 1 180px; border-left: 1px solid var(--silver-2, #e3e6ea); } .ex-start__run li:first-child { border-left: 0; }
	.ex-start__run a { display: block; padding: 10px 16px; text-decoration: none; color: var(--graphite, #2b3036); }
	.ex-start__run b { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(3.4rem, 7vw, 5.6rem); line-height: .86; letter-spacing: -.02em; color: #8a9099; } .ex-start__run .is-champ b { color: var(--red); } .ex-start__run .is-here b { color: var(--graphite, #2b3036); }
	.ex-start__run span { display: block; margin-top: 8px; font-family: var(--font-display); font-weight: 800; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; }
	.ex-start__line { margin: clamp(30px, 4vw, 44px) 0 6px; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.4rem, 3vw, 2.4rem); line-height: 1.05; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.ex-start__end { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.8rem, 4.4vw, 3.4rem); line-height: 1; text-transform: uppercase; color: var(--red); }

	/* in memoriam */
	.ex-gone { padding: clamp(50px, 7vw, 90px) 0; background: linear-gradient(180deg, #eef0f2, #e3e6ea); text-align: center; }
	.ex-gone__k { display: inline-block; padding-bottom: 10px; border-bottom: 2px solid #8a9099; font-family: var(--font-display); font-weight: 800; font-size: .82rem; letter-spacing: .32em; text-transform: uppercase; color: #4a4f56; }
	.ex-gone__list { list-style: none; margin: 26px auto 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 18px 46px; max-width: 980px; }
	.ex-gone__list b { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.4rem, 2.6vw, 2rem); line-height: 1; letter-spacing: .02em; text-transform: uppercase; color: #2b3036; } .ex-gone__list a { text-decoration: none; }
	.ex-gone__list span { display: block; margin-top: 6px; font-family: var(--font-display); font-weight: 700; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: #6b6f75; }
	.ex-gone__note { margin: 30px 0 8px; font-family: var(--font-serif); font-style: italic; font-size: 1.1rem; color: #4a4f56; } .ex-gone__ask { margin: 0; font-family: var(--font-serif); font-size: .92rem; color: #6b6f75; } .ex-gone__ask a { color: #2b3036; }

	/* fifty years later */
	.ex-later { position: relative; overflow: hidden; background: #0f1113; color: #fff; padding: clamp(80px, 12vw, 170px) 0; isolation: isolate; }
	.ex-later__ph { position: absolute; inset: 0; z-index: -1; background: var(--photo) center 30% / cover no-repeat; opacity: .18; filter: grayscale(1) contrast(1.1); }
	.ex-later.has-now .ex-later__ph { opacity: .42; filter: grayscale(.2); } .ex-later::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(15,17,19,.4), rgba(15,17,19,.92) 75%); }
	.ex-later__in { max-width: 900px; } .ex-later .ex-k { color: #ff5a64; }
	.ex-later__h { margin: 0 0 26px; font-family: var(--font-display); font-weight: 900; font-size: clamp(3rem, 9vw, 8rem); line-height: .84; letter-spacing: -.025em; text-transform: uppercase; }
	.ex-later__p p { margin: 0 0 1em; max-width: 62ch; font-family: var(--font-serif); font-size: clamp(1.15rem, 1.9vw, 1.45rem); line-height: 1.7; color: rgba(255,255,255,.86); }
	.ex-later__lock { margin: 30px 0 0; display: flex; flex-wrap: wrap; gap: 0 .35em; font-family: var(--font-display); font-weight: 900; font-size: clamp(3.2rem, 10vw, 8.6rem); line-height: .86; letter-spacing: -.025em; text-transform: uppercase; } .ex-later__lock span:first-child { color: var(--red); }
	.ex-later__still { margin: 24px 0 0; font-family: var(--font-display); font-weight: 800; font-size: clamp(1.2rem, 2.6vw, 2rem); letter-spacing: .06em; text-transform: uppercase; color: #fff; }
	.ex-later__cap { margin: 30px 0 0; font-family: var(--font-serif); font-style: italic; font-size: .95rem; color: rgba(255,255,255,.65); }

	/* were you there */
	.ex-ask2 { background: var(--graphite, #2b3036); color: #fff; padding: clamp(60px, 8vw, 110px) 0; }
	.ex-ask2__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 70px); align-items: center; } .ex-ask2 .ex-k { color: #ff5a64; }
	.ex-ask2__h { margin: 0 0 16px; font-family: var(--font-display); font-weight: 900; font-size: clamp(3rem, 8vw, 6.6rem); line-height: .84; letter-spacing: -.02em; text-transform: uppercase; }
	.ex-ask2__head p { margin: 0; font-family: var(--font-serif); font-size: 1.15rem; line-height: 1.65; color: rgba(255,255,255,.82); }
	.ex-ask2__doors { display: grid; gap: 8px; }
	.ex-door { display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; align-items: center; padding: 16px 20px; background: rgba(255,255,255,.06); border-left: 4px solid var(--red); color: #fff; text-decoration: none; transition: background .2s, transform .2s; } .ex-door:hover { background: var(--red); transform: translateX(4px); }
	.ex-door b { font-family: var(--font-display); font-weight: 900; font-size: 1.3rem; text-transform: uppercase; } .ex-door span { grid-column: 1; font-family: var(--font-serif); font-size: .95rem; color: rgba(255,255,255,.72); } .ex-door i { grid-row: 1 / span 2; grid-column: 2; font-style: normal; font-size: 1.4rem; }

	/* zoom */
	.ex-zoom[open] { display: flex; } .ex-zoom { position: fixed; inset: 0; z-index: 100001; display: none; align-items: center; justify-content: center; padding: 3vh 3vw; background: rgba(10,11,13,.92); border: 0; width: 100%; height: 100%; max-width: none; max-height: none; } .ex-zoom::backdrop { background: rgba(10,11,13,.92); }
	.ex-zoom img { max-width: 100%; max-height: 92vh; object-fit: contain; box-shadow: 0 30px 80px rgba(0,0,0,.6); } .ex-zoom button { position: absolute; top: 14px; right: 18px; background: none; border: 0; color: #fff; font-size: 2.4rem; line-height: 1; cursor: pointer; }

	@media (max-width: 1000px) { .ex-men__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ex-man.is-lead { grid-column: 1 / -1; } .ex-def__nums { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ex-def__n:nth-child(2) { border-right: 0; } .ex-def__n:nth-child(3) { padding-left: 0; } .ex-def__n:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); } }
	@media (max-width: 760px) {
		.ex-team__plaque { grid-template-columns: 1fr; } .ex-team__acts { flex-wrap: wrap; }
		.ex-road__track { flex-direction: column; overflow: visible; padding: 4px 4vw 10px; cursor: auto; } .ex-road__month { padding: 0 0 22px; } .ex-road__games { flex-direction: column; } .ex-stop, .ex-stop.is-turn, .ex-stop.is-final, .ex-road__end { width: auto; } .ex-stop__go { opacity: 1; } .ex-road__hint { display: none; } .ex-road__m::after { content: "\2193"; }
		.ex-def__bars { height: 130px; gap: 3px; } .ex-def__bar span { display: none; } .ex-def__bar b { font-size: .85rem; }
		.ex-sb__in { grid-template-columns: 1fr; } .ex-sb__table td { font-size: 1.2rem; padding: 10px 8px; } .ex-sb__table td.is-pts, .ex-sb__table td.ex-sb__f { font-size: 1.5rem; } .ex-sb__table tbody th { font-size: .85rem; }
		.ex-men__grid { grid-template-columns: 1fr 1fr; gap: 10px; } .ex-man.is-lead { display: flex; } .ex-man.is-lead .ex-man__ph { aspect-ratio: 4 / 3; min-height: 0; } .ex-man.is-lead .ex-man__in { border-left: 0; border-top: 4px solid var(--red); padding: 18px 20px; } .ex-man__name { font-size: 1.25rem; } .ex-man__in { padding: 14px 14px 16px; } .ex-man__fact { font-size: .92rem; }
		.ex-men__close, .ex-case__ask, .ex-press__emptyin, .ex-home__in, .ex-ask2__in, .ex-clip--lead { grid-template-columns: 1fr; }
		.ex-start__run li { flex: 1 1 45%; border-left: 0; } .ex-gone__list { gap: 16px 28px; }
	}
}

@layer components { /* 4.82.1: tall team photographs hang beside their label; the men's section reads as one opening */
	.ex-team__ask--c { text-align: center; }
	.ex-team--tall { padding: clamp(60px, 8vw, 110px) 0; }
	.ex-team--tall .ex-team__in { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 520px); justify-content: center; align-items: center; gap: clamp(36px, 6vw, 96px); width: min(1240px, 92vw); }
	.ex-team--tall .ex-team__print { width: auto; transform: rotate(-1.2deg); }
	.ex-team--tall .ex-team__frame img { width: 100%; max-height: none; }
	.ex-team__side .ex-k { color: #ff5a64; }
	.ex-team--tall .ex-team__h { font-size: clamp(2.6rem, 5.4vw, 5.2rem); line-height: .86; margin-top: 8px; }
	.ex-team--tall .ex-team__sub { margin-top: 14px; font-size: clamp(.85rem, 1.2vw, 1.05rem); letter-spacing: .26em; }
	.ex-team__rule { display: block; width: 72px; height: 5px; margin: 26px 0; background: var(--red); }
	.ex-team__cap { margin: 0 0 20px; font-family: var(--font-serif); font-style: italic; font-size: 1.05rem; line-height: 1.55; color: rgba(255,255,255,.72); }
	.ex-team__side .ex-team__acts a { color: #fff; } .ex-team__side .ex-team__names { background: transparent; border-color: rgba(255,255,255,.6); color: #fff; }
	.ex-team__side .ex-team__ask { text-align: left; margin: 16px 0 0; font-size: .98rem; }

	.ex-men__top { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); gap: clamp(30px, 5vw, 80px); align-items: start; margin: 0 0 clamp(30px, 5vw, 56px); }
	.ex-men__head { max-width: none; margin: 0; }
	.ex-men__intro p { margin: 0 0 1em; font-family: var(--font-serif); font-size: clamp(1.08rem, 1.4vw, 1.22rem); line-height: 1.7; color: #3a4048; }
	.ex-men__intro p:first-child::first-letter { float: left; margin: .06em .1em 0 0; font-family: var(--font-display); font-weight: 900; font-size: 4.4em; line-height: .78; color: var(--red); }
	.ex-men__mission { position: sticky; top: 110px; padding: 28px 28px 26px; background: var(--graphite, #2b3036); color: #fff; border-top: 6px solid var(--red); }
	.ex-men__mission h3 { margin: 20px 0 8px; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: .92; text-transform: uppercase; }
	.ex-men__mission p { margin: 0 0 20px; font-family: var(--font-serif); font-size: .98rem; line-height: 1.6; color: rgba(255,255,255,.8); }
	.ex-men__count i { width: 100%; }
	.ex-men__btns { flex-direction: column; align-items: flex-start; gap: 14px; }
	.ex-men__claim { font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: #fff; text-decoration: none; border-bottom: 2px solid rgba(255,255,255,.35); } .ex-men__claim:hover { border-color: var(--red); }
	.ex-men__grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 14px; align-items: start; }
	.ex-man, .ex-man.is-lead { display: flex; flex-direction: column; grid-column: auto; }
	.ex-man__ph { aspect-ratio: 4 / 3; }
	.ex-man__in, .ex-man.is-lead .ex-man__in { position: relative; flex: 1; padding: 22px 22px 24px; border-left: 0; border-top: 4px solid var(--red); }
	.ex-man__no { position: absolute; top: 14px; right: 18px; font-family: var(--font-display); font-weight: 900; font-size: 2.4rem; line-height: 1; color: var(--silver-2, #e3e6ea); }
	.ex-man__role { position: relative; } .ex-man__name { position: relative; padding-right: 54px; font-size: 1.7rem; }
	@media (max-width: 900px) {
		.ex-team--tall .ex-team__in { grid-template-columns: 1fr; justify-items: center; text-align: center; } .ex-team--tall .ex-team__print { max-width: 520px; transform: none; } .ex-team__side .ex-team__ask, .ex-team__side .ex-team__acts { text-align: center; justify-content: center; } .ex-team__rule { margin: 20px auto; }
		.ex-men__top { grid-template-columns: 1fr; } .ex-men__mission { position: static; }
	}
}

@layer components { /* 4.82.2: the newspapers as a reading room and a dated file */
	.ex-press { background: #f1f2f4; background-image: none; }
	.ex-press__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 30px; padding-bottom: 20px; margin-bottom: clamp(30px, 4vw, 48px); border-bottom: 3px double #15181c; }
	.ex-press__meta { margin: 0; font-family: "Times New Roman", Georgia, serif; font-style: italic; font-size: 1.1rem; color: #4a4f56; }
	.ex-clip--lead { grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr); }
	.ex-clip--lead .ex-clip__scan { position: relative; transform: none; }
	.ex-clip__zoom { position: absolute; right: 22px; bottom: 22px; padding: 7px 12px; background: #15181c; color: #fff; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; opacity: 0; transition: opacity .2s; } .ex-clip__scan:hover .ex-clip__zoom { opacity: 1; }
	.ex-clip__rel { display: inline-block; margin-bottom: 12px; padding: 4px 9px; background: #15181c; color: #fff; font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; }
	.ex-clip--lead .ex-clip__hl { font-size: clamp(2.2rem, 4.2vw, 3.6rem); margin-top: 16px; }
	.ex-clip--lead .ex-clip__meta { padding-left: clamp(0px, 2vw, 24px); border-left: 1px solid #c9ccd1; }
	.ex-press__file { position: relative; display: block; margin-top: clamp(44px, 6vw, 72px); }
	.ex-press__filek { display: block; margin-bottom: 18px; font-family: var(--font-display); font-weight: 800; font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; color: #6b6f75; }
	.ex-press__row { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: clamp(16px, 2.4vw, 28px); padding-top: 22px; }
	.ex-press__row::before { content: ""; position: absolute; left: 0; right: 0; top: 5px; height: 2px; background: #c9ccd1; }
	.ex-clip--sm { position: relative; display: flex; flex-direction: column; transform: none; }
	.ex-clip--sm:hover { transform: translateY(-4px); }
	.ex-clip__dot { position: absolute; top: -22px; left: 0; width: 12px; height: 12px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px #f1f2f4; }
	.ex-clip--sm .ex-clip__rel { align-self: flex-start; margin-bottom: 10px; background: transparent; color: var(--red); padding: 0; }
	.ex-clip--sm .ex-clip__scan { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; padding: 12px; margin-bottom: 14px; background: #fbfbf9; box-shadow: 0 14px 30px rgba(0,0,0,.12); overflow: hidden; }
	.ex-clip--sm .ex-clip__scan img { width: 100%; height: 100%; object-fit: contain; }
	.ex-clip--sm .ex-clip__paper { font-size: .78rem; letter-spacing: .1em; } .ex-clip--sm .ex-clip__date { font-size: .7rem; }
	.ex-clip--sm .ex-clip__hl { display: block; margin: 8px 0 0; font-size: 1.25rem; line-height: 1.15; }
	.ex-clip--sm:hover .ex-clip__hl { color: var(--red); }
	@media (max-width: 760px) { .ex-clip--lead .ex-clip__meta { border-left: 0; padding-left: 0; } .ex-press__row { grid-template-columns: 1fr 1fr; } .ex-clip--sm .ex-clip__hl { font-size: 1.05rem; } }
}

/* 4.82.3: the phone menu always has a way out (unlayered so it beats the unlayered header rules) */
	.nav-toggle { position: relative; z-index: 95; }
	.drawer__bar { position: sticky; top: calc(-1 * var(--sp-6, 24px)); z-index: 2; display: flex; align-items: center; justify-content: space-between; margin: calc(-1 * var(--sp-6, 24px)) calc(-1 * var(--gutter, 20px)) 18px; padding: 12px var(--gutter, 20px); background: #fff; border-bottom: 1px solid var(--silver-line, #c6cad0); }
	.drawer__bar > span { font-family: var(--font-display); font-weight: 900; font-size: .85rem; letter-spacing: .18em; text-transform: uppercase; color: #6b6f75; }
	.drawer__close { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 2px solid var(--graphite, #2b3036); background: #fff; color: var(--graphite, #2b3036); font-family: var(--font-display); font-weight: 900; font-size: .9rem; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
	.drawer__close span { font-size: 1.5rem; line-height: 1; }
	.drawer__close:hover, .drawer__close:focus-visible { background: var(--red); border-color: var(--red); color: #fff; }


@layer components { /* 4.83.0: the state bracket */
	.ex-brk { padding: clamp(56px, 8vw, 100px) 0 clamp(40px, 6vw, 70px); background: #fff; }
	.ex-brk__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 40px; margin: 0 0 clamp(26px, 4vw, 40px); }
	.ex-brk__h { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.6rem, 6.5vw, 5.6rem); line-height: .86; letter-spacing: -.02em; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.ex-brk__line { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.2rem, 2.4vw, 1.9rem); line-height: 1; text-transform: uppercase; color: var(--red); }
	.ex-brk__scroll { overflow-x: auto; padding: 0 max(4vw, calc((100vw - 1240px) / 2)) 12px; scrollbar-width: thin; }
	.ex-brk__grid { display: grid; grid-template-columns: repeat(var(--cols), minmax(220px, 1fr)) minmax(210px, .95fr); grid-template-rows: auto repeat(var(--rows), minmax(46px, auto)); min-width: 1000px; }
	.ex-brk__grid.is-loose { grid-template-rows: auto; grid-auto-rows: auto; }
	.ex-brk__rh { grid-row: 1; padding: 0 28px 14px 0; font-family: var(--font-display); font-weight: 800; font-size: .76rem; letter-spacing: .18em; text-transform: uppercase; color: #6b6f75; border-bottom: 2px solid var(--silver-2, #e3e6ea); margin-bottom: 10px; }
	.ex-brk__rh + .ex-brk__rh { padding-left: 28px; } .ex-brk__rh--c { color: var(--red); border-color: var(--red); }
	.ex-bc { position: relative; display: flex; align-items: center; padding: 6px 28px 6px 0; }
	.ex-bc.has-in { padding-left: 28px; }
	.ex-bc.has-out::after { content: ""; position: absolute; right: 0; top: 50%; width: 28px; height: 2px; margin-top: -1px; background: #b9bdc3; }
	.ex-bc.is-path::after { background: var(--red); height: 4px; margin-top: -2px; }
	.ex-bc__vt, .ex-bc__vb, .ex-bc__h { position: absolute; left: 0; background: #b9bdc3; }
	.ex-bc__vt { top: 25%; height: 25%; width: 2px; } .ex-bc__vb { top: 50%; height: 25%; width: 2px; } .ex-bc__h { top: 50%; width: 28px; height: 2px; margin-top: -1px; }
	.ex-bc__vt.is-red, .ex-bc__vb.is-red { background: var(--red); width: 4px; margin-left: -1px; } .ex-bc__h.is-red { background: var(--red); height: 4px; margin-top: -2px; }
	.ex-bm { position: relative; z-index: 1; display: block; width: 100%; background: #fff; border: 1px solid var(--silver-2, #e3e6ea); border-left: 4px solid #c9ccd1; box-shadow: 0 6px 16px rgba(0,0,0,.06); color: var(--graphite, #2b3036); text-decoration: none; transition: transform .2s, box-shadow .2s; }
	.ex-bm.is-corbin { border-left-color: var(--red); } a.ex-bm:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0,0,0,.12); }
	.ex-bm__l { display: block; padding: 8px 12px 2px; font-family: var(--font-display); font-weight: 800; font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: #8a9099; }
	.ex-bt { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; } .ex-bt + .ex-bt { border-top: 1px solid #eef0f2; }
	.ex-bt__n { font-family: var(--font-display); font-weight: 800; font-size: 1.02rem; line-height: 1.05; text-transform: uppercase; letter-spacing: .02em; }
	.ex-bt__n sup { margin-left: 2px; color: var(--red); font-size: .8em; } .ex-bt__n small { display: block; margin-top: 2px; font-weight: 700; font-size: .6rem; letter-spacing: .14em; color: #8a9099; }
	.ex-bt b { font-family: var(--font-display); font-weight: 900; font-size: 1.45rem; line-height: 1; font-variant-numeric: tabular-nums; }
	.ex-bt.is-out { color: #9aa0a7; } .ex-bt.is-win .ex-bt__n { font-weight: 900; }
	.ex-bt.is-cor .ex-bt__n { color: var(--red); } .ex-bt.is-cor.is-win b { color: var(--red); } .ex-bt.is-cor.is-out .ex-bt__n { color: #b0656b; }
	.ex-bm__go { display: block; padding: 0 12px 8px; font-family: var(--font-display); font-weight: 800; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
	.ex-bc--champ { padding-right: 0; }
	.ex-bchamp { position: relative; z-index: 1; display: block; width: 100%; padding: 24px 22px 22px; background: var(--graphite, #2b3036); color: #fff; text-decoration: none; box-shadow: 0 18px 40px rgba(0,0,0,.18); }
	.ex-bchamp.is-corbin { background: var(--red); } a.ex-bchamp:hover { transform: translateY(-2px); }
	.ex-bchamp__k { display: block; font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.82); }
	.ex-bchamp__n { display: block; margin: 8px 0 10px; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.6rem, 4vw, 3.6rem); line-height: .85; letter-spacing: -.02em; text-transform: uppercase; }
	.ex-bchamp__m { display: block; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.35); font-family: var(--font-display); font-weight: 700; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; }
	.ex-brk__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 30px; margin-top: 18px; }
	.ex-brk__legend { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: #6b6f75; }
	.ex-brk__key i { display: inline-block; width: 28px; height: 4px; margin-right: 8px; vertical-align: middle; background: var(--red); } .ex-brk__key--h sup { color: var(--red); font-size: 1.1em; }
	.ex-brk__swipe { display: none; color: var(--red); }
	.ex-brk__scan { display: flex; align-items: center; gap: 14px; max-width: 460px; color: #4a4f56; text-decoration: none; font-family: var(--font-serif); font-style: italic; font-size: .95rem; }
	.ex-brk__scan img { width: 150px; height: auto; border: 6px solid #fff; box-shadow: 0 8px 20px rgba(0,0,0,.15); transform: rotate(-1deg); }
	@media (max-width: 1100px) { .ex-brk__swipe { display: inline; } }
}

@layer components { /* 4.84.0: policy pages, the footer's legal links, the About independence statement */
	.pol { background: var(--silver-1, #f4f5f6); padding-bottom: clamp(50px, 7vw, 90px); }
	.pol__hero { padding: clamp(46px, 7vw, 90px) 0 clamp(30px, 4vw, 44px); background: #fff; border-bottom: 3px solid var(--red); }
	.pol__k { font-family: var(--font-display); font-weight: 800; font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
	.pol__h { margin: 10px 0 12px; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.6rem, 6.5vw, 5.2rem); line-height: .88; letter-spacing: -.02em; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.pol__date { margin: 0; font-family: var(--font-serif); font-style: italic; color: #5b6169; }
	.pol__body { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 760px); gap: clamp(30px, 5vw, 70px); padding-top: clamp(30px, 5vw, 56px); }
	.pol__side { position: sticky; top: 110px; align-self: start; display: grid; gap: 26px; }
	.pol__sk { display: block; margin-bottom: 10px; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: #6b6f75; }
	.pol__toc ol, .pol__all ul { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--silver-2, #e3e6ea); }
	.pol__toc li a, .pol__all li a { display: block; padding: 6px 0 6px 14px; margin-left: -2px; border-left: 2px solid transparent; font-family: var(--font-display); font-weight: 700; font-size: .92rem; line-height: 1.25; color: var(--graphite, #2b3036); text-decoration: none; }
	.pol__toc li a:hover, .pol__all li a:hover { color: var(--red); border-left-color: var(--red); }
	.pol__all li a[aria-current="page"] { color: var(--red); border-left-color: var(--red); font-weight: 900; }
	.pol__prose { background: #fff; padding: clamp(26px, 4vw, 50px); border-top: 4px solid var(--graphite, #2b3036); font-family: var(--font-serif); font-size: 1.08rem; line-height: 1.75; color: #2a2f35; }
	.pol__prose > *:first-child { margin-top: 0; }
	.pol__prose > p:first-child { font-size: 1.22rem; line-height: 1.65; color: #1d2126; }
	.pol__prose h2 { margin: 2.2em 0 .6em; padding-top: .6em; border-top: 1px solid var(--silver-2, #e3e6ea); font-family: var(--font-display); font-weight: 900; font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1; text-transform: uppercase; color: var(--graphite, #2b3036); scroll-margin-top: 110px; }
	.pol__prose h3 { margin: 1.6em 0 .4em; font-family: var(--font-display); font-weight: 800; font-size: 1.2rem; letter-spacing: .02em; text-transform: uppercase; color: var(--red); }
	.pol__prose p { margin: 0 0 1em; } .pol__prose ul, .pol__prose ol { margin: 0 0 1.2em; padding-left: 1.3em; list-style: disc outside; } .pol__prose ol { list-style: decimal outside; } .pol__prose li { margin: 0 0 .45em; } .pol__prose li::marker { color: var(--red); }
	.pol__prose a { color: var(--red); font-weight: 600; } .pol__prose strong { color: #1d2126; }
	.pol__foot { max-width: 1070px; margin: clamp(30px, 4vw, 46px) 0 0 auto; padding: 22px 26px; background: var(--graphite, #2b3036); color: #fff; font-family: var(--font-serif); }
	.pol__foot p { margin: 0 0 8px; } .pol__foot a { color: #fff; font-weight: 700; } .pol__ind { margin: 0 !important; font-size: .9rem; color: rgba(255,255,255,.72); }
	@media (max-width: 900px) { .pol__body { grid-template-columns: 1fr; } .pol__side { position: static; order: 2; } .pol__toc { display: none; } .pol__foot { margin-left: 0; } }

	.site-footer__legal { display: grid; grid-template-columns: 1fr; gap: 10px; }
	.site-footer__policies { display: flex; flex-wrap: wrap; gap: 6px 22px; }
	.site-footer__policies a { font-family: var(--font-display); font-weight: 800; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--graphite, #2b3036); text-decoration: none; }
	.site-footer__policies a:hover { color: var(--red); }
	.site-footer__copy { margin: 4px 0 0; } .site-footer__disclaimer { margin: 0; max-width: 80ch; }
	@media (min-width: 1025px) { .site-footer__legal { grid-template-columns: 1fr; align-items: start; } }

	.join__legal { margin: 4px 0 0; font-size: .82rem; line-height: 1.5; color: #5b6169; } .join__legal a { color: var(--red); font-weight: 700; }
	.ctb-legal { margin: 18px 0 0; font-family: var(--font-serif); font-size: .9rem; line-height: 1.5; color: #5b6169; } .ctb-legal a { color: var(--red); font-weight: 700; }
	.ab2-indep { margin: 40px 0 0; max-width: 760px; padding: 18px 22px; border-left: 5px solid var(--red); background: rgba(255,255,255,.06); }
	.ab2-indep__k { display: block; margin-bottom: 6px; font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; color: #ff5a64; }
	.ab2-indep p { margin: 0; font-family: var(--font-serif); font-size: 1rem; line-height: 1.6; color: rgba(255,255,255,.88); }
	.ab2-indep__links { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 10px !important; } .ab2-indep__links a { font-family: var(--font-display); font-weight: 800; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
}

@layer components { /* 4.85.0: the contact page */
	.cx { background: var(--silver-1, #f4f5f6); padding-bottom: clamp(56px, 8vw, 100px); }
	.cx-hero { position: relative; overflow: hidden; background: #15181c; color: #fff; padding: clamp(56px, 8vw, 110px) 0 clamp(90px, 10vw, 140px); }
	.cx-hero::after { content: ""; position: absolute; right: -6vw; bottom: -18vw; width: 52vw; height: 52vw; border-radius: 50%; background: radial-gradient(closest-side, rgba(206,26,39,.35), transparent); pointer-events: none; }
	.cx-hero__in { position: relative; z-index: 1; } .cx-hero__in > * { max-width: 900px; }
	.cx-k { font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .2em; text-transform: uppercase; color: #ff5a64; }
	.cx-h { margin: 10px 0 18px; font-family: var(--font-display); font-weight: 900; font-size: clamp(3.4rem, 10vw, 8rem); line-height: .82; letter-spacing: -.025em; text-transform: uppercase; }
	.cx-lede { margin: 0 0 22px; max-width: 640px; font-family: var(--font-serif); font-size: clamp(1.15rem, 1.9vw, 1.45rem); line-height: 1.6; color: rgba(255,255,255,.86); }
	.cx-facts { display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 0; font-family: var(--font-display); font-weight: 800; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.7); }
	.cx-facts a { color: #fff; text-decoration: none; border-bottom: 2px solid var(--red); }
	.cx-body { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); gap: clamp(24px, 4vw, 50px); margin-top: clamp(-70px, -7vw, -50px); }
	.cx-card { background: #fff; border-top: 6px solid var(--red); box-shadow: 0 24px 60px rgba(0,0,0,.12); padding: clamp(24px, 4vw, 44px); }
	.cx-form__h { margin: 0 0 20px; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.cx-f { display: block; margin: 0 0 16px; } .cx-f > span { display: block; margin-bottom: 6px; font-family: var(--font-display); font-weight: 800; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: var(--graphite, #2b3036); } .cx-f small { font-weight: 600; color: #8a9099; letter-spacing: .08em; margin-left: 4px; }
	.cx-f input, .cx-f select, .cx-f textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 2px solid var(--silver-line, #c6cad0); border-radius: 0; background: #fff; font: 1rem/1.5 var(--font-serif); color: #1d2126; }
	.cx-f textarea { min-height: 190px; resize: vertical; } .cx-f select { font-family: var(--font-display); font-weight: 700; font-size: 1.02rem; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
	.cx-f input:focus, .cx-f select:focus, .cx-f textarea:focus { outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.15); }
	.cx-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
	.cx-hint { margin: -6px 0 18px; padding: 12px 14px; background: var(--silver-1, #f4f5f6); border-left: 4px solid var(--graphite, #2b3036); font-family: var(--font-serif); font-size: .95rem; line-height: 1.5; color: #3a4048; }
	.cx-count { display: block; margin-top: 4px; font-family: var(--font-display); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
	.cx-send { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 8px; } .cx-send p { margin: 0; font-family: var(--font-serif); font-size: .9rem; color: #5b6169; } .cx-send a { color: var(--red); font-weight: 700; }
	.cx-errors { margin: 0 0 18px; padding: 12px 16px; background: #fdf1f2; border-left: 4px solid var(--red); font-family: var(--font-serif); } .cx-errors ul { margin: 0; padding-left: 18px; }
	.cx-done { text-align: center; } .cx-done__tick { display: grid; place-items: center; width: 74px; height: 74px; margin: 6px auto 18px; background: var(--red); color: #fff; font-size: 2.2rem; font-weight: 900; }
	.cx-done h2 { margin: 0 0 10px; font-family: var(--font-display); font-weight: 900; font-size: clamp(2rem, 4vw, 3rem); line-height: .95; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.cx-done p { margin: 0 auto 12px; max-width: 520px; font-family: var(--font-serif); font-size: 1.08rem; color: #3a4048; } .cx-done__ref b { font-family: var(--font-display); letter-spacing: .1em; color: var(--red); }
	.cx-done__acts { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 20px !important; }
	.cx-side { display: flex; flex-direction: column; gap: 10px; padding-top: clamp(0px, 7vw, 70px); }
	.cx-side__k { font-family: var(--font-display); font-weight: 800; font-size: .76rem; letter-spacing: .18em; text-transform: uppercase; color: #6b6f75; }
	.cx-path { display: block; padding: 16px 18px; background: #fff; border-left: 4px solid var(--red); color: var(--graphite, #2b3036); text-decoration: none; transition: transform .2s, box-shadow .2s; }
	.cx-path:hover { transform: translateX(4px); box-shadow: 0 10px 24px rgba(0,0,0,.08); }
	.cx-path b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 1.2rem; line-height: 1.05; text-transform: uppercase; } .cx-path span { display: block; margin: 4px 0 8px; font-family: var(--font-serif); font-size: .95rem; line-height: 1.45; color: #4a4f56; } .cx-path em { font-style: normal; font-family: var(--font-display); font-weight: 800; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red); }
	.cx-how { margin-top: 8px; padding: 18px; background: var(--graphite, #2b3036); color: #fff; } .cx-how b { font-family: var(--font-display); font-weight: 900; font-size: 1.05rem; text-transform: uppercase; } .cx-how p { margin: 6px 0 0; font-family: var(--font-serif); font-size: .95rem; line-height: 1.55; color: rgba(255,255,255,.82); } .cx-how a { color: #fff; font-weight: 700; }
	.cx-ind { margin: 6px 0 0; font-family: var(--font-serif); font-size: .85rem; line-height: 1.5; color: #6b6f75; }
	@media (max-width: 900px) { .cx-body { grid-template-columns: 1fr; } .cx-side { padding-top: 0; } }
	@media (max-width: 560px) { .cx-row { grid-template-columns: 1fr; } }
}

/* 4.85.1: the wide team photo always sits centered under its heading. Unlayered on purpose: a base figure rule elsewhere was
   resetting its auto margins, which left the print hugging the left edge. */
.ex-team:not(.ex-team--tall) .ex-team__in { display: flex; flex-direction: column; align-items: center; }
.ex-team:not(.ex-team--tall) .ex-team__head, .ex-team:not(.ex-team--tall) .ex-team__ask { align-self: stretch; }
.ex-team:not(.ex-team--tall) .ex-team__print { margin-left: auto; margin-right: auto; }

@layer components { /* 4.86.0: On the sideline on the sport history page */
	.sh-sideline { margin-bottom: clamp(10px, 2vw, 20px); }
	.sh-sideline .coachpost { box-shadow: 0 14px 34px rgba(0,0,0,.08); }
}

@layer components { /* 4.88.0: the Sources box at the end of a story */
	.story-sources { max-width: 68ch; margin: clamp(28px, 4vw, 44px) 0 0; padding: 18px 22px 16px; background: var(--silver-1, #f4f5f6); border-left: 5px solid var(--graphite, #2b3036); }
	.story-sources__k { display: block; margin-bottom: 8px; font-family: var(--font-display); font-weight: 900; font-size: .82rem; letter-spacing: .18em; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.story-sources ul { margin: 0; padding: 0 0 0 1.1em; list-style: square; } .story-sources li { margin: 0 0 4px; font-family: var(--font-serif); font-size: .98rem; line-height: 1.5; color: #3a4048; } .story-sources li::marker { color: var(--red); }
	.story-sources a { color: var(--red); font-weight: 600; }
	.story-sources__fix { margin: 10px 0 0; font-family: var(--font-serif); font-size: .85rem; color: #6b6f75; } .story-sources__fix a { color: var(--graphite, #2b3036); }
}

@layer components { /* 4.89.0: Redhound Today as a scoreboard band */
	.tdy { position: relative; padding: clamp(40px, 6vw, 72px) 0; background: linear-gradient(180deg, #eceef1, #f6f7f8); border-top: 3px solid var(--red); }
	.tdy__head { display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: 14px 30px; margin: 0 0 clamp(20px, 3vw, 30px); padding-bottom: 16px; border-bottom: 3px solid var(--graphite, #2b3036); }
	.tdy__date { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
	.tdy__pulse { width: 9px; height: 9px; border-radius: 50%; background: #1fa356; box-shadow: 0 0 0 0 rgba(31,163,86,.6); animation: tdy-pulse 1.6s infinite; }
	@keyframes tdy-pulse { 70% { box-shadow: 0 0 0 10px rgba(31,163,86,0); } 100% { box-shadow: 0 0 0 0 rgba(31,163,86,0); } }
	@media (prefers-reduced-motion: reduce) { .tdy__pulse { animation: none; } }
	.tdy__title h2 { margin: 6px 0 0; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.2rem, 5vw, 3.8rem); line-height: .86; letter-spacing: -.02em; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.tdy__stats { display: flex; flex-wrap: wrap; gap: 8px 26px; justify-content: center; }
	.tdy__stats span { display: inline-flex; align-items: baseline; gap: 8px; font-family: var(--font-display); font-weight: 700; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: #6b6f75; }
	.tdy__stats b { font-weight: 900; font-size: 1.9rem; line-height: 1; letter-spacing: -.01em; color: var(--graphite, #2b3036); }
	.tdy__all { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; background: var(--graphite, #2b3036); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; white-space: nowrap; } .tdy__all:hover { background: var(--red); color: #fff; } .tdy__all svg { width: 14px; height: 14px; }
	.tdy__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: clamp(16px, 2.4vw, 28px); align-items: start; }
	.tdy__grid.has-feat { grid-template-columns: minmax(300px, 380px) minmax(0, 1fr) minmax(0, 1fr); }
	.tdy__h { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 12px; font-family: var(--font-display); font-weight: 900; font-size: .9rem; letter-spacing: .18em; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.tdy__h a { font-weight: 800; font-size: .72rem; letter-spacing: .14em; color: var(--red); text-decoration: none; }

	/* the featured game */
	.tdy-feat { position: relative; overflow: hidden; display: flex; flex-direction: column; background: #15181c; color: #fff; box-shadow: 0 24px 50px rgba(0,0,0,.18); isolation: isolate; }
	.tdy-feat::before { content: ""; position: absolute; z-index: -1; right: -40%; top: -30%; width: 120%; height: 90%; background: radial-gradient(closest-side, rgba(206,26,39,.35), transparent); }
	.tdy-feat.is-live { box-shadow: 0 0 0 3px #1fa356, 0 24px 50px rgba(0,0,0,.18); }
	.tdy-feat__k { display: flex; justify-content: space-between; padding: 10px 18px; background: var(--red); font-family: var(--font-display); font-weight: 900; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; } .tdy-feat.is-live .tdy-feat__k { background: #1fa356; }
	.tdy-feat__match { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding: 26px 18px 10px; text-align: center; }
	.tdy-team { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 0; }
	.tdy-team__mark { display: grid; place-items: center; width: 78px; height: 78px; background: var(--red); box-shadow: 0 10px 20px rgba(0,0,0,.35); }
	.tdy-team__mark--opp { background: #fff; } .tdy-team__mark--opp i { font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: 1.8rem; color: var(--graphite, #2b3036); }
	.tdy-team__img { width: 58px; height: 58px; object-fit: contain; }
	.tdy-team b { font-family: var(--font-display); font-weight: 900; font-size: clamp(1.2rem, 1.8vw, 1.6rem); line-height: .95; text-transform: uppercase; word-break: break-word; }
	.tdy-team small { font-family: var(--font-display); font-weight: 700; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.62); }
	.tdy-feat__vs { font-family: var(--font-display); font-weight: 900; font-size: 1.1rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.55); }
	.tdy-feat__score { display: grid; grid-template-columns: auto auto auto; align-items: center; gap: 4px 6px; font-family: var(--font-display); font-weight: 900; }
	.tdy-feat__score b { font-size: clamp(2.6rem, 4vw, 3.4rem); line-height: .9; color: rgba(255,255,255,.55); } .tdy-feat__score b.is-lead { color: #fff; } .tdy-feat__score i { font-style: normal; color: rgba(255,255,255,.4); }
	.tdy-feat__score em { grid-column: 1 / -1; font-style: normal; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: #ff5a64; }
	.tdy-feat__meta { margin: 8px 18px 0; text-align: center; font-family: var(--font-display); font-weight: 700; font-size: .82rem; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.8); }
	.tdy-feat__ser { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 10px; margin: 16px 18px 0; padding: 12px; background: rgba(255,255,255,.06); border-left: 3px solid var(--red); text-align: center; }
	.tdy-feat__ser span { font-family: var(--font-display); font-weight: 800; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.6); } .tdy-feat__ser b { font-family: var(--font-display); font-weight: 900; font-size: 1.05rem; text-transform: uppercase; } .tdy-feat__ser small { flex-basis: 100%; font-family: var(--font-display); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); }
	.tdy-feat__go { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 18px 18px 18px; padding: 14px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: .95rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; } .tdy-feat__go:hover { background: #fff; color: var(--red); } .tdy-feat__go svg { width: 16px; height: 16px; }

	/* recent finals as score tiles */
	.tdy-tiles { display: grid; gap: 10px; }
	.tdy-tile { display: block; background: #fff; border: 1px solid var(--silver-2, #e3e6ea); border-left: 5px solid #8a9099; color: var(--graphite, #2b3036); text-decoration: none; transition: transform .2s, box-shadow .2s; }
	.tdy-tile.is-w { border-left-color: var(--red); } .tdy-tile.is-t { border-left-color: #c9ccd1; }
	.tdy-tile:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.08); }
	.tdy-tile__top, .tdy-tile__foot { display: flex; justify-content: space-between; padding: 8px 12px 4px; font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: #8a9099; }
	.tdy-tile__row { display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 10px; padding: 4px 12px; color: #8a9099; }
	.tdy-tile__row.is-win { color: var(--graphite, #2b3036); }
	.tdy-tile__mk { display: grid; place-items: center; width: 26px; height: 26px; background: #eef0f2; overflow: hidden; } .tdy-tile__mk--c { background: var(--red); } .tdy-tile__mk i { font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: .7rem; color: var(--graphite, #2b3036); }
	.tdy-tile__img { width: 20px; height: 20px; object-fit: contain; }
	.tdy-tile__n { font-family: var(--font-display); font-weight: 800; font-size: 1.02rem; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .tdy-tile__row.is-win .tdy-tile__n { font-weight: 900; }
	.tdy-tile__row b { font-family: var(--font-display); font-weight: 900; font-size: 1.5rem; line-height: 1; font-variant-numeric: tabular-nums; } .tdy-tile__row.is-win b { color: var(--graphite, #2b3036); }
	.tdy-tile__foot { padding: 6px 12px 9px; margin-top: 4px; border-top: 1px solid #f0f1f3; } .tdy-tile__foot em { font-style: normal; color: var(--graphite, #2b3036); } .tdy-tile.is-w .tdy-tile__foot em { color: var(--red); } .tdy-tile__foot span { color: var(--red); }

	/* what is next */
	.tdy-next { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
	.tdy-next__row { display: grid; grid-template-columns: 62px 1fr auto; align-items: center; gap: 14px; padding: 10px 12px 10px 10px; background: #fff; border: 1px solid var(--silver-2, #e3e6ea); color: var(--graphite, #2b3036); text-decoration: none; transition: transform .2s, box-shadow .2s; }
	.tdy-next__row:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.08); } .tdy-next__row.is-live { box-shadow: 0 0 0 2px #1fa356; }
	.tdy-next__day { display: flex; flex-direction: column; align-items: center; padding: 6px 0; background: var(--graphite, #2b3036); color: #fff; font-family: var(--font-display); line-height: 1; }
	.tdy-next__day b { font-weight: 800; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: #ff5a64; } .tdy-next__day i { font-style: normal; font-weight: 900; font-size: 1.7rem; margin: 2px 0; } .tdy-next__day small { font-weight: 700; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.7); }
	.tdy-next__what { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
	.tdy-next__k { font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
	.tdy-next__what b { font-family: var(--font-display); font-weight: 900; font-size: 1.12rem; line-height: 1.05; text-transform: uppercase; }
	.tdy-next__what small { font-family: var(--font-display); font-weight: 700; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: #6b6f75; }
	.tdy-next__mk { display: grid; place-items: center; width: 40px; height: 40px; background: #f4f5f6; } .tdy-next__mk img { width: 32px; height: 32px; object-fit: contain; } .tdy-next__mk i { font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: .85rem; color: var(--graphite, #2b3036); }
	.tdy-chip { font-style: normal; margin-left: 4px; padding: 1px 6px; font-size: .62rem; letter-spacing: .1em; } .tdy-chip--live { background: #1fa356; color: #fff; } .tdy-chip--off { background: #ffe9b8; color: #7a5b00; }

	@media (max-width: 1100px) { .tdy__grid.has-feat { grid-template-columns: minmax(280px, 1fr) minmax(0, 1fr); } .tdy__grid.has-feat > .tdy-feat { grid-row: span 2; } }
	@media (max-width: 760px) { .tdy__head { grid-template-columns: 1fr; } .tdy__stats { justify-content: flex-start; } .tdy__all { justify-self: start; } .tdy__grid.has-feat { grid-template-columns: 1fr; } .tdy__grid.has-feat > .tdy-feat { grid-row: auto; } }
}

@layer components { /* 4.89.1: opponents by initials in Redhound Today */
	.tdy-team__mark--opp { background: #2b3036; box-shadow: inset 0 0 0 2px rgba(255,255,255,.18), 0 10px 20px rgba(0,0,0,.35); } .tdy-team__mark--opp i { color: #fff; }
	.tdy-tile__mk:not(.tdy-tile__mk--c) { background: #2b3036; } .tdy-tile__mk:not(.tdy-tile__mk--c) i { color: #fff; }
	.tdy-next__mk { background: #2b3036; } .tdy-next__mk i { color: #fff; }
}

@layer components { /* 4.89.2: opponents by name only in Redhound Today */
	.tdy-feat__match { align-items: end; } .tdy-team--opp { justify-content: flex-end; } .tdy-team--opp b { font-size: clamp(1.3rem, 2vw, 1.8rem); }
	.tdy-tile__mk--none { background: transparent !important; }
	.tdy-next__row { grid-template-columns: 62px 1fr; }
}

@layer components { /* 4.89.5: the three columns always end level */
	.tdy__grid, .tdy__grid.has-feat { align-items: stretch; }
	.tdy-feat { height: 100%; } .tdy-feat__go { margin-top: auto; } .tdy-feat__ser + .tdy-feat__go, .tdy-feat__meta + .tdy-feat__go { margin-top: auto; }
	.tdy-feat__match { margin-top: auto; } .tdy-feat__meta { margin-bottom: auto; }
	.tdy__col { display: flex; flex-direction: column; min-height: 100%; }
	.tdy-pages { flex: 1; display: flex; flex-direction: column; }
	.tdy-page { flex: 1; display: grid; grid-template-rows: repeat(var(--rows, 4), minmax(0, 1fr)); gap: 10px; }
	.tdy-page[hidden] { display: none; }
	.tdy-tile { display: flex; flex-direction: column; justify-content: space-between; min-height: 0; }
	.tdy-next > li { display: flex; } .tdy-next__row { flex: 1; }
	.tdy__h { gap: 12px; } .tdy__h > span:first-child { margin-right: auto; }
	.tdy-pager { display: inline-flex; align-items: center; gap: 6px; }
	.tdy-pager button { width: 26px; height: 26px; display: grid; place-items: center; border: 2px solid var(--graphite, #2b3036); background: #fff; color: var(--graphite, #2b3036); font-size: 1rem; font-weight: 900; line-height: 1; cursor: pointer; padding: 0; }
	.tdy-pager button:hover:not([disabled]) { background: var(--red); border-color: var(--red); color: #fff; } .tdy-pager button[disabled] { opacity: .3; cursor: default; }
	.tdy-pager em { font-style: normal; font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .1em; color: #6b6f75; } .tdy-pager b { color: var(--graphite, #2b3036); }
	@media (max-width: 760px) { .tdy-page { grid-template-rows: none; } .tdy__col { min-height: 0; } }
}

@layer components { /* 4.90.0: sport emoji in Redhound Today */
	.tdy-emo { display: inline-block; margin-right: 6px; font-style: normal; font-size: 1.15em; line-height: 1; letter-spacing: 0; vertical-align: -0.1em; filter: saturate(1.1); }
	.tdy-feat__k .tdy-emo { font-size: 1.25em; }
}

@layer components { /* 4.90.1: sport emoji in gray, quiet beside the label */
	.tdy-emo { filter: grayscale(1) contrast(.9); opacity: .6; }
	.tdy-feat__k .tdy-emo { filter: grayscale(1) brightness(1.6); opacity: .85; }
}

@layer components { /* 4.92.0: Redhound Today, night game */
	.tdy--night { position: relative; overflow: hidden; isolation: isolate; background: #0c0e11; color: #fff; border-top: 4px solid var(--red); padding: clamp(48px, 7vw, 96px) 0 clamp(52px, 7vw, 96px); }
	.tdy--night::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(60% 70% at 0% 0%, rgba(206,26,39,.32), transparent 60%), radial-gradient(50% 60% at 100% 100%, rgba(206,26,39,.16), transparent 60%), repeating-linear-gradient(135deg, rgba(255,255,255,.022) 0 2px, transparent 2px 14px); }
	.tdy--night::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; z-index: -1; background: repeating-linear-gradient(90deg, var(--red) 0 60px, #c9ccd1 60px 72px); opacity: .9; }
	.tdy__ghost { position: absolute; z-index: -1; right: -2vw; top: clamp(10px, 2vw, 30px); font-family: var(--font-display); font-weight: 900; font-size: clamp(8rem, 22vw, 22rem); line-height: .8; letter-spacing: -.04em; text-transform: uppercase; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.06); pointer-events: none; user-select: none; }
	.tdy--night .tdy__head { border-bottom-color: rgba(255,255,255,.16); }
	.tdy--night .tdy__date { color: #ff5a64; }
	.tdy--night .tdy__title h2 { color: #fff; font-size: clamp(2.6rem, 6.4vw, 5.2rem); text-shadow: 0 6px 30px rgba(0,0,0,.4); }
	.tdy--night .tdy__title h2::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 14px; background: var(--red); }
	.tdy--night .tdy__stats { gap: 10px; }
	.tdy--night .tdy__stats span { flex-direction: column; align-items: flex-start; gap: 6px; padding: 12px 16px 10px; background: rgba(255,255,255,.05); border-top: 3px solid var(--red); color: rgba(255,255,255,.62); font-size: .68rem; }
	.tdy--night .tdy__stats b { color: #fff; font-size: 2.6rem; }
	.tdy--night .tdy__all { background: var(--red); } .tdy--night .tdy__all:hover { background: #fff; color: var(--red); }
	.tdy--night .tdy__h { color: #fff; } .tdy--night .tdy__h a { color: #ff6b74; }
	.tdy--night .tdy-pager button { background: transparent; border-color: rgba(255,255,255,.5); color: #fff; } .tdy--night .tdy-pager em { color: rgba(255,255,255,.55); } .tdy--night .tdy-pager b { color: #fff; }

	/* the featured game: the sport's photo behind it, a live countdown */
	.tdy--night .tdy-feat { background: #15181c; box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 30px 70px rgba(0,0,0,.55); }
	.tdy--night .tdy-feat.has-photo { background: linear-gradient(180deg, rgba(12,14,17,.55) 0%, rgba(12,14,17,.82) 45%, #0c0e11 100%), var(--photo) center / cover no-repeat; }
	.tdy--night .tdy-feat.has-photo::before { opacity: .6; }
	.tdy--night .tdy-team__mark { width: 92px; height: 92px; } .tdy--night .tdy-team__img { width: 68px; height: 68px; }
	.tdy--night .tdy-team b { font-size: clamp(1.4rem, 2.2vw, 2rem); text-shadow: 0 4px 18px rgba(0,0,0,.5); }
	.tdy-cd { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 18px 18px 0; text-align: center; }
	.tdy-cd span { display: flex; flex-direction: column; align-items: center; padding: 10px 0 8px; background: rgba(0,0,0,.45); border-top: 2px solid var(--red); }
	.tdy-cd b { font-family: var(--font-display); font-weight: 900; font-size: 2rem; line-height: 1; font-variant-numeric: tabular-nums; color: #fff; }
	.tdy-cd i { margin-top: 4px; font-style: normal; font-family: var(--font-display); font-weight: 700; font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.6); }
	.tdy-cd em { grid-column: 1 / -1; font-style: normal; font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: #ff5a64; }

	/* results: dark glass tiles, the winning score lit */
	.tdy--night .tdy-tile { background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.08); border-left: 5px solid rgba(255,255,255,.25); color: #fff; backdrop-filter: blur(2px); }
	.tdy--night .tdy-tile.is-w { border-left-color: var(--red); background: linear-gradient(90deg, rgba(206,26,39,.16), rgba(255,255,255,.04) 45%); }
	.tdy--night .tdy-tile:hover { box-shadow: 0 0 0 1px rgba(255,255,255,.18), 0 16px 34px rgba(0,0,0,.4); }
	.tdy--night .tdy-tile__top, .tdy--night .tdy-tile__foot { color: rgba(255,255,255,.5); } .tdy--night .tdy-tile__foot { border-top-color: rgba(255,255,255,.07); }
	.tdy--night .tdy-tile__row { color: rgba(255,255,255,.42); } .tdy--night .tdy-tile__row.is-win, .tdy--night .tdy-tile__row.is-win b { color: #fff; }
	.tdy--night .tdy-tile__row b { font-size: 1.9rem; } .tdy--night .tdy-tile.is-w .tdy-tile__row.is-win b { color: #fff; text-shadow: 0 0 18px rgba(206,26,39,.6); }
	.tdy--night .tdy-tile__foot em { color: #fff; } .tdy--night .tdy-tile.is-w .tdy-tile__foot em { color: #ff5a64; } .tdy--night .tdy-tile__foot span { color: #ff6b74; }

	/* the week ahead: dark rows, red date blocks */
	.tdy--night .tdy-next__row { background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.08); color: #fff; }
	.tdy--night .tdy-next__row:hover { box-shadow: 0 0 0 1px rgba(255,255,255,.18), 0 16px 34px rgba(0,0,0,.4); }
	.tdy--night .tdy-next__day { background: var(--red); } .tdy--night .tdy-next__day b { color: rgba(255,255,255,.85); } .tdy--night .tdy-next__day small { color: rgba(255,255,255,.85); }
	.tdy--night .tdy-next__k { color: #ff6b74; } .tdy--night .tdy-next__what small { color: rgba(255,255,255,.55); }
	.tdy--night .tdy-emo { filter: grayscale(1) brightness(1.7); opacity: .7; }
	.tdy--night .tdy-tile__mk--c { box-shadow: 0 0 0 1px rgba(255,255,255,.15); }
	@media (max-width: 760px) { .tdy__ghost { font-size: 9rem; top: 0; } .tdy--night .tdy__stats span { flex: 1; } }
}

@layer components { /* 4.93.0: Redhound Today, white and loud */
	.tdy--white { position: relative; overflow: hidden; isolation: isolate; background: #fff; border-top: 5px solid var(--red); padding: clamp(46px, 6vw, 84px) 0 clamp(54px, 7vw, 90px); }
	.tdy--white::before { content: none; }
	.tdy-hero::after { content: ""; position: absolute; z-index: -2; top: 0; bottom: 0; left: calc(100% - min(400px, 36%) - 70px); right: -100vw; background: linear-gradient(180deg, #f3f4f6, #e7e9ec); clip-path: polygon(70px 0, 100% 0, 100% 100%, 0 100%); }
	@media (max-width: 960px) { .tdy-hero::after { display: none; } }
	.tdy--white::after { content: ""; position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; height: 7px; background: repeating-linear-gradient(90deg, var(--red) 0 72px, #c9ccd1 72px 86px); }
	.tdy--white .tdy__ghost { display: block; color: transparent; -webkit-text-stroke: 2px rgba(43,48,54,.07); right: -1vw; top: clamp(20px, 3vw, 40px); }
	.tdy--white .tdy__head { border-bottom: 4px solid var(--graphite, #2b3036); }
	.tdy--white .tdy__title h2 { font-size: clamp(2.8rem, 6.6vw, 5.6rem); }
	.tdy--white .tdy__title h2::after { content: ""; display: block; width: 90px; height: 7px; margin-top: 12px; background: var(--red); }
	.tdy--white .tdy__stats { gap: 10px; }
	.tdy--white .tdy__stats span { flex-direction: column; align-items: flex-start; gap: 6px; padding: 12px 18px 10px; background: var(--graphite, #2b3036); color: rgba(255,255,255,.7); font-size: .68rem; border-top: 4px solid var(--red); }
	.tdy--white .tdy__stats b { color: #fff; font-size: 2.6rem; }
	.tdy--white .tdy__all { background: var(--red); } .tdy--white .tdy__all:hover { background: var(--graphite, #2b3036); }

	/* the featured game, full width */
	.tdy-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 400px); gap: clamp(24px, 4vw, 60px); align-items: center; margin: 0 0 clamp(34px, 5vw, 56px); padding: clamp(24px, 3.5vw, 44px) 0; }
	.tdy-hero::before { content: ""; position: absolute; z-index: -1; right: -6%; top: 50%; width: min(560px, 50vw); aspect-ratio: 1; transform: translateY(-50%); background: url("../img/mark.svg") center / contain no-repeat; opacity: .07; }
	.tdy-hero__chip { display: inline-block; padding: 8px 14px; background: var(--graphite, #2b3036); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: .82rem; letter-spacing: .18em; text-transform: uppercase; }
	.tdy-hero.is-live .tdy-hero__chip { background: #1fa356; }
	.tdy-hero__match { margin: 18px 0 14px; font-family: var(--font-display); font-weight: 900; font-size: clamp(3rem, 7.2vw, 7rem); line-height: .86; letter-spacing: -.025em; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.tdy-hero__c { color: var(--red); } .tdy-hero__match em { font-style: normal; font-size: .45em; font-weight: 800; color: #9aa0a7; margin: 0 .12em; vertical-align: .35em; }
	.tdy-hero__score { display: flex; align-items: baseline; gap: 14px; margin: 0 0 10px; font-family: var(--font-display); font-weight: 900; }
	.tdy-hero__score b { font-size: clamp(3.4rem, 7vw, 6rem); line-height: .85; color: #b0b5bb; } .tdy-hero__score b.is-lead { color: var(--red); } .tdy-hero__score i { font-style: normal; font-size: 2.4rem; color: #c9ccd1; }
	.tdy-hero__score em { font-style: normal; font-size: .9rem; letter-spacing: .18em; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.tdy-hero__meta { margin: 0 0 20px; font-family: var(--font-display); font-weight: 800; font-size: clamp(.9rem, 1.3vw, 1.1rem); letter-spacing: .14em; text-transform: uppercase; color: #5b6169; }
	.tdy-hero__acts { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
	.tdy-hero__go { display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: .95rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; box-shadow: 6px 6px 0 rgba(43,48,54,.18); }
	.tdy-hero__go:hover { background: var(--graphite, #2b3036); color: #fff; } .tdy-hero__go svg { width: 16px; height: 16px; }
	.tdy-hero .addcal__summary { height: 100%; box-sizing: border-box; border: 2px solid var(--graphite, #2b3036); color: var(--graphite, #2b3036); background: #fff; }
	.tdy-hero .addcal__summary:hover { background: var(--graphite, #2b3036); color: #fff; }
	.tdy-hero .tdy-cd { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin: 24px 0 0; text-align: center; }
	.tdy-hero .tdy-cd span { width: 86px; padding: 14px 0 10px; background: var(--red); border: 0; box-shadow: 6px 6px 0 rgba(43,48,54,.15); }
	.tdy-hero .tdy-cd b { font-size: 2.6rem; color: #fff; } .tdy-hero .tdy-cd i { color: rgba(255,255,255,.85); }
	.tdy-hero .tdy-cd em { flex: 0 0 auto; align-self: flex-end; margin-left: 6px; font-size: .78rem; color: var(--graphite, #2b3036); }
	.tdy-hero__facts { display: grid; gap: 10px; }
	.tdy-hero__fact { padding: 16px 20px 14px; background: rgba(255,255,255,.75); border-left: 6px solid var(--red); box-shadow: 0 10px 24px rgba(0,0,0,.06); backdrop-filter: blur(2px); }
	.tdy-hero__fact b { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.8rem, 2.8vw, 2.4rem); line-height: 1; color: var(--graphite, #2b3036); }
	.tdy-hero__fact span { display: block; margin-top: 6px; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: #6b6f75; }

	/* results and what is left, side by side, level */
	.tdy__grid--two, .tdy__grid--two.has-feat { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
	.tdy--white .tdy-tile { box-shadow: 0 8px 20px rgba(0,0,0,.05); }
	.tdy--white .tdy-tile__row b { font-size: 1.8rem; }
	.tdy--white .tdy-tile.is-w { background: linear-gradient(90deg, rgba(206,26,39,.07), #fff 50%); }
	.tdy--white .tdy-next__row { box-shadow: 0 8px 20px rgba(0,0,0,.05); } .tdy--white .tdy-next__day { background: var(--red); } .tdy--white .tdy-next__day b, .tdy--white .tdy-next__day small { color: rgba(255,255,255,.88); }
	@media (max-width: 960px) { .tdy-hero { grid-template-columns: 1fr; } .tdy--white::before { display: none; } .tdy__grid--two { grid-template-columns: 1fr; } }
	@media (max-width: 560px) { .tdy-hero .tdy-cd span { width: calc(25% - 8px); } .tdy-hero .tdy-cd em { flex-basis: 100%; margin: 0; text-align: left; } }
}

@layer components { @media (max-width: 760px) { .tdy--white .tdy__stats { flex-wrap: nowrap; width: 100%; } .tdy--white .tdy__stats span { flex: 1; min-width: 0; } .tdy--white .tdy__stats b { font-size: 2.1rem; } } }

@layer components { /* 4.94.0: Game Week on white, turned all the way up */
	.gameweek.gameweek--white { position: relative; overflow: hidden; isolation: isolate; background: #fff; color: var(--graphite, #2b3036); border-top: 6px solid var(--red); border-bottom: 0; }
	.gameweek--white::before { content: ""; position: absolute; z-index: -2; top: 0; bottom: 0; right: 0; width: 38%; background: linear-gradient(180deg, #f3f4f6, #e6e8eb); clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%); }
	.gameweek--white::after { content: ""; position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; height: 8px; background: repeating-linear-gradient(90deg, var(--red) 0 84px, var(--graphite, #2b3036) 84px 96px, #c9ccd1 96px 108px); }
	.gameweek__speed { position: absolute; z-index: -1; inset: 0; background: repeating-linear-gradient(115deg, transparent 0 46px, rgba(206,26,39,.035) 46px 48px); pointer-events: none; }
	.gameweek__day { position: absolute; z-index: -1; left: -1vw; bottom: -0.12em; font-family: var(--font-display); font-weight: 900; font-size: clamp(7rem, 20vw, 20rem); line-height: .8; letter-spacing: -.04em; text-transform: uppercase; color: transparent; -webkit-text-stroke: 2px rgba(43,48,54,.07); pointer-events: none; user-select: none; white-space: nowrap; }
	.gameweek--white .gameweek__ghostmark { z-index: -1; filter: invert(1); opacity: .06; }
	.gameweek--white .gameweek__inner { padding-block: clamp(46px, 6vw, 84px); }
	.gameweek--white .gameweek__label { padding: 9px 16px; background: var(--graphite, #2b3036); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: .86rem; letter-spacing: .2em; box-shadow: 5px 5px 0 var(--red); }
	.gameweek--white.gameweek--live .gameweek__label { background: var(--red); color: #fff; box-shadow: 5px 5px 0 var(--graphite, #2b3036); } .gameweek--white .gameweek__dot { background: #fff; }
	.gameweek--white .gameweek__matchup { color: var(--graphite, #2b3036); margin-top: 22px; text-decoration: none; }
	.gameweek--white .gameweek__vs { display: block; font-size: clamp(3.2rem, 8.4vw, 8.2rem); line-height: .84; letter-spacing: -.03em; text-shadow: none; color: var(--graphite, #2b3036); }
	.gameweek--white .gameweek__c { color: var(--red); }
	.gameweek--white .gameweek__vs em { font-style: normal; font-size: .4em; font-weight: 800; color: #9aa0a7; vertical-align: .4em; margin: 0 .1em; }
	.gameweek--white .gameweek__matchup:hover .gameweek__o { color: var(--red); }
	.gameweek--white .gameweek__score { color: var(--graphite, #2b3036); } .gameweek--white .gameweek__score b { color: var(--red); font-size: clamp(4rem, 9vw, 8rem); text-shadow: none; } .gameweek--white .gameweek__score--opp b { color: var(--graphite, #2b3036); } .gameweek--white .gameweek__score span { color: #5b6169; }
	.gameweek--white .gameweek__clock { background: var(--red); color: #fff; }
	.gameweek--white .gameweek__meta { margin-top: 18px; color: #4a4f56; font-family: var(--font-display); font-weight: 800; font-size: clamp(.95rem, 1.4vw, 1.15rem); letter-spacing: .16em; }
	.gameweek--white .gameweek__tools { margin-top: 22px; gap: 10px; }
	.gameweek--white .radio, .gameweek--white .addcal__summary { background: #fff; border: 2px solid var(--graphite, #2b3036); color: var(--graphite, #2b3036); box-shadow: 4px 4px 0 rgba(43,48,54,.14); }
	.gameweek--white .radio:hover, .gameweek--white .addcal__summary:hover { background: var(--graphite, #2b3036); color: #fff; }
	.gameweek--white .radio.is-on { background: var(--red); border-color: var(--red); color: #fff; } .gameweek--white .radio__dot { background: #9aa0a7; } .gameweek--white .radio.is-on .radio__dot { background: #fff; }
	.gameweek--white .countdown { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-top: 28px; }
	.gameweek--white .countdown__unit { display: flex; flex-direction: column; align-items: center; justify-content: center; width: clamp(78px, 8vw, 104px); padding: 16px 0 12px; background: var(--red); color: #fff; box-shadow: 7px 7px 0 var(--graphite, #2b3036); }
	.gameweek--white .countdown__unit b { font-family: var(--font-display); font-weight: 900; font-size: clamp(2.4rem, 3.6vw, 3.4rem); line-height: .9; color: #fff; font-variant-numeric: tabular-nums; }
	.gameweek--white .countdown__unit span { margin-top: 6px; font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.88); }
	.gameweek--white .countdown__to { margin-left: 8px; font-family: var(--font-display); font-weight: 900; font-size: 1rem; letter-spacing: .2em; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.gameweek--white .gameweek__side { gap: 12px; }
	.gameweek--white .gameweek__fact { padding: 18px 22px 16px; background: #fff; color: var(--graphite, #2b3036); border-left: 7px solid var(--red); box-shadow: 0 14px 30px rgba(0,0,0,.08); text-decoration: none; transition: transform .2s, box-shadow .2s; }
	.gameweek--white a.gameweek__fact:hover { transform: translateX(-4px); box-shadow: 0 18px 36px rgba(0,0,0,.12); }
	.gameweek--white .gameweek__fact b { font-family: var(--font-display); font-weight: 900; font-size: clamp(2rem, 3vw, 2.8rem); line-height: 1; color: var(--graphite, #2b3036); }
	.gameweek--white .gameweek__fact span { margin-top: 6px; font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: #6b6f75; }
	/* the final */
	.gameweek--white.gameweek--final .gameweek__label { background: var(--graphite, #2b3036); color: #fff; }
	.gameweek--white .gameweek__verdict { color: var(--graphite, #2b3036); font-size: clamp(2.6rem, 6vw, 5.4rem); line-height: .9; text-shadow: none; }
	.gameweek--white .gameweek__final { background: var(--graphite, #2b3036); color: #fff; box-shadow: 8px 8px 0 var(--red); }
	.gameweek--white .gameweek__cta { background: var(--red); border-color: var(--red); color: #fff; } .gameweek--white .gameweek__cta:hover { background: var(--graphite, #2b3036); border-color: var(--graphite, #2b3036); }
	.gameweek--white .gameweek__next { color: var(--graphite, #2b3036); } .gameweek--white .gameweek__next .kicker { color: var(--red); }
	@media (max-width: 1023px) { .gameweek--white::before { display: none; } }
	@media (max-width: 600px) { .gameweek--white .countdown__unit { width: calc(25% - 9px); box-shadow: 4px 4px 0 var(--graphite, #2b3036); } .gameweek--white .countdown__to { flex-basis: 100%; margin: 4px 0 0; } }
}

@layer components { /* 4.94.0 fixes: own the band edges and the radio text on white */
	.gameweek.gameweek--white::before { transform: none; height: auto; top: 0; bottom: 0; right: 0; width: 38%; }
	.gameweek.gameweek--white::after { display: block; content: ""; top: auto; right: 0; left: 0; bottom: 0; width: auto; height: 8px; font-size: 0; }
	.gameweek--white .radio *, .gameweek--white .addcal__summary * { color: inherit; }
	.gameweek--white .radio__state { opacity: .75; }
}

/* 4.94.0: radio and calendar buttons on the white Game Week (unlayered with the id so they beat the red-band rules) */
#gameweek.gameweek--white .radio, #gameweek.gameweek--white .addcal__summary { background: #fff; border: 2px solid var(--graphite, #2b3036); color: var(--graphite, #2b3036); box-shadow: 4px 4px 0 rgba(43,48,54,.14); }
#gameweek.gameweek--white .radio:not(.is-on) .radio__state, #gameweek.gameweek--white .radio:not(.is-on) .radio__station, #gameweek.gameweek--white .addcal__summary * { color: var(--graphite, #2b3036); }
#gameweek.gameweek--white .radio:not(.is-on) .radio__state { color: #6b6f75; }
#gameweek.gameweek--white .radio:not(.is-on) .radio__dot { background: #9aa0a7; }
#gameweek.gameweek--white .radio.is-on { background: var(--red); border-color: var(--red); color: #fff; }
#gameweek.gameweek--white .radio.is-on .radio__state, #gameweek.gameweek--white .radio.is-on .radio__station { color: #fff; }
#gameweek.gameweek--white .radio.is-on .radio__dot { background: #fff; }
#gameweek.gameweek--white .radio:hover, #gameweek.gameweek--white .addcal__summary:hover { background: var(--graphite, #2b3036); }
#gameweek.gameweek--white .radio:hover *, #gameweek.gameweek--white .addcal__summary:hover * { color: #fff; }

@layer components { /* 4.95.0: Game Week in Corbin's colors only (red, white, silver), a red line below, Friday night lights above */
	.gameweek.gameweek--white { background: linear-gradient(180deg, #dfe2e6 0%, #eceef1 38%, #f8f9fa 70%, #fff 100%); border-top: 0; }
	.gameweek.gameweek--white::before { display: none; }
	.gameweek.gameweek--white::after { height: 6px; background: var(--red); }
	.gameweek--white .gameweek__speed { display: none; }
	.gameweek__lights { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; pointer-events: none; }
	.gameweek__beam { mix-blend-mode: screen; opacity: .9; }
	@media (prefers-reduced-motion: no-preference) { .gameweek__halo { animation: gw-flicker 6s ease-in-out infinite; } .gameweek__tower:nth-of-type(2) .gameweek__halo { animation-delay: -3s; } }
	@keyframes gw-flicker { 0%, 100% { opacity: 1; } 48% { opacity: .82; } 52% { opacity: 1; } 75% { opacity: .9; } }
	.gameweek--white .gameweek__day { -webkit-text-stroke: 2px rgba(91,97,105,.08); }
	.gameweek--white .gameweek__ghostmark { opacity: .05; }
	.gameweek--white .gameweek__label { background: var(--red); color: #fff; box-shadow: 5px 5px 0 #c9ccd1; }
	.gameweek--white.gameweek--live .gameweek__label { background: var(--red); box-shadow: 5px 5px 0 #c9ccd1; }
	.gameweek--white .gameweek__vs { color: #5b6169; } .gameweek--white .gameweek__vs em { color: #a3a8ae; }
	.gameweek--white .gameweek__o { color: #5b6169; }
	.gameweek--white .gameweek__score b, .gameweek--white .gameweek__score--opp b { color: #5b6169; } .gameweek--white .gameweek__score:first-child b { color: var(--red); }
	.gameweek--white .gameweek__meta { color: #6b6f75; }
	.gameweek--white .countdown__unit { box-shadow: 7px 7px 0 #c9ccd1; }
	.gameweek--white .countdown__to { color: #5b6169; }
	.gameweek--white .gameweek__fact { box-shadow: 0 14px 30px rgba(91,97,105,.12); }
	.gameweek--white .gameweek__fact b { color: #4a4f56; }
	.gameweek--white .gameweek__verdict { color: #4a4f56; }
	.gameweek--white .gameweek__final { background: var(--red); box-shadow: 8px 8px 0 #c9ccd1; }
	.gameweek--white .gameweek__cta:hover { background: #fff; border-color: var(--red); color: var(--red); }
	.gameweek--white .gameweek__next { color: #4a4f56; }
	@media (max-width: 600px) { .gameweek--white .countdown__unit { box-shadow: 4px 4px 0 #c9ccd1; } .gameweek__lights { opacity: .8; } }
}
/* 4.95.0: the buttons in silver, not black (unlayered with the id, like the rules they replace) */
#gameweek.gameweek--white .radio, #gameweek.gameweek--white .addcal__summary { border-color: #a3a8ae; color: #5b6169; box-shadow: 4px 4px 0 #dfe2e6; }
#gameweek.gameweek--white .radio:not(.is-on) .radio__state, #gameweek.gameweek--white .radio:not(.is-on) .radio__station, #gameweek.gameweek--white .addcal__summary * { color: #5b6169; }
#gameweek.gameweek--white .radio:not(.is-on) .radio__state { color: #8a9099; }
#gameweek.gameweek--white .radio:hover, #gameweek.gameweek--white .addcal__summary:hover { background: var(--red); border-color: var(--red); }
#gameweek.gameweek--white .radio:hover *, #gameweek.gameweek--white .addcal__summary:hover * { color: #fff; }

@layer components { /* 4.95.0: a darker sky so the lights read */
	.gameweek.gameweek--white { background: linear-gradient(180deg, #c9cdd3 0%, #dde0e4 26%, #eef0f2 52%, #fafbfb 78%, #fff 100%); }
	.gameweek__beam { opacity: 1; }
}

@layer components { /* 4.95.0: room above the matchup for the light banks */
	.gameweek--white .gameweek__inner { padding-top: clamp(120px, 12vw, 170px); }
	@media (max-width: 767px) { .gameweek--white .gameweek__inner { padding-top: 110px; } }
}

@layer components { /* 4.95.0: final chip in red; on phones the towers would sit off screen, so two glows stand in for them */
	.gameweek--white.gameweek--final .gameweek__label { background: var(--red); color: #fff; box-shadow: 5px 5px 0 #c9ccd1; }
	@media (max-width: 767px) { .gameweek__lights { display: none; } .gameweek.gameweek--white { background: radial-gradient(120px 70px at 18% 34px, rgba(255,255,255,.95), transparent 70%), radial-gradient(120px 70px at 82% 34px, rgba(255,255,255,.95), transparent 70%), linear-gradient(180deg, #c9cdd3 0%, #dde0e4 22%, #eef0f2 45%, #fafbfb 70%, #fff 100%); } }
}

@layer components { /* 4.96.0: Game Week over Campbell Field */
	.gameweek.gameweek--photo { background: #f4f5f6; }
	.gameweek--photo .gameweek__photo { position: absolute; z-index: -3; inset: 0; background: var(--gw-photo) center 45% / cover no-repeat; filter: grayscale(.35) contrast(1.08) saturate(.9); transform: scale(1.04); }
	/* white from the left so the type reads, the field showing through on the right */
	.gameweek--photo .gameweek__wash { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.95) 34%, rgba(255,255,255,.62) 52%, rgba(255,255,255,.08) 72%, rgba(255,255,255,0) 100%), linear-gradient(0deg, rgba(255,255,255,.85) 0%, rgba(255,255,255,0) 28%); }
	/* a red slash where the white gives way to the field */
	.gameweek--photo .gameweek__slash { position: absolute; z-index: -1; top: -10%; bottom: -10%; left: 56%; width: 10px; background: var(--red); transform: skewX(-14deg); box-shadow: 18px 0 0 rgba(206,26,39,.35), 36px 0 0 rgba(206,26,39,.15); }
	.gameweek--photo .gameweek__inner { padding-top: clamp(56px, 6vw, 92px); }
	.gameweek--photo .gameweek__ghostmark { display: none; }
	.gameweek--photo .gameweek__day { -webkit-text-stroke: 2px rgba(91,97,105,.07); }
	.gameweek--photo .gameweek__fact { background: rgba(255,255,255,.94); box-shadow: 0 18px 40px rgba(0,0,0,.28); backdrop-filter: blur(4px); }
	@media (max-width: 1023px) {
		.gameweek--photo .gameweek__wash { background: linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.93) 30%, rgba(255,255,255,.97) 100%); }
		.gameweek--photo .gameweek__slash { display: none; }
		.gameweek--photo .gameweek__photo { background-position: center top; background-size: 180% auto; }
		.gameweek.gameweek--white.gameweek--photo { background: #fff; }
	}
}

@layer components { @media (max-width: 1023px) { .gameweek--photo .gameweek__photo { bottom: auto; height: 460px; background-size: cover; background-position: center 40%; -webkit-mask-image: linear-gradient(#000 55%, transparent); mask-image: linear-gradient(#000 55%, transparent); } } }

@layer components { /* 4.96.1: Redhound Today, compact: about two thirds the height */
	.tdy.tdy--night { padding: clamp(30px, 3.6vw, 48px) 0 clamp(34px, 4vw, 52px); }
	.tdy--night .tdy__ghost { font-size: clamp(6rem, 13vw, 12rem); }
	.tdy--night .tdy__head { margin-bottom: 18px; padding-bottom: 12px; }
	.tdy--night .tdy__title h2 { font-size: clamp(2rem, 4vw, 3.2rem); } .tdy--night .tdy__title h2::after { height: 4px; width: 64px; margin-top: 8px; }
	.tdy--night .tdy__stats span { padding: 8px 12px 7px; } .tdy--night .tdy__stats b { font-size: 1.7rem; }
	.tdy--night .tdy__all { padding: 9px 13px; }
	.tdy--night .tdy__grid { gap: 18px; }
	.tdy__h { margin-bottom: 8px; }
	/* featured card */
	.tdy--night .tdy-feat__k { padding: 8px 14px; font-size: .72rem; }
	.tdy--night .tdy-feat__match { padding: 14px 14px 4px; gap: 6px; }
	.tdy--night .tdy-team__mark { width: 58px; height: 58px; } .tdy--night .tdy-team__img { width: 42px; height: 42px; }
	.tdy--night .tdy-team b { font-size: clamp(1.1rem, 1.6vw, 1.4rem); } .tdy--night .tdy-team--opp b { font-size: clamp(1.1rem, 1.6vw, 1.4rem); }
	.tdy--night .tdy-cd { margin: 10px 14px 0; gap: 4px; } .tdy--night .tdy-cd span { padding: 6px 0 5px; } .tdy--night .tdy-cd b { font-size: 1.35rem; } .tdy--night .tdy-cd i { font-size: .56rem; margin-top: 2px; } .tdy--night .tdy-cd em { font-size: .6rem; }
	.tdy--night .tdy-feat__meta { margin: 8px 14px 0; font-size: .74rem; }
	.tdy--night .tdy-feat__ser { margin: 10px 14px 0; padding: 8px; } .tdy--night .tdy-feat__ser b { font-size: .95rem; }
	.tdy--night .tdy-feat__go { margin: 12px 14px 14px; padding: 10px; font-size: .85rem; }
	/* result tiles: one header line, two score lines */
	.tdy-tile__foot { display: none; }
	.tdy-tile__top { padding: 7px 12px 2px; } .tdy-tile__row { padding: 2px 12px; } .tdy-tile__row:last-child { padding-bottom: 8px; }
	.tdy-tile__res { font-style: normal; color: inherit; } .tdy-tile.is-w .tdy-tile__res { color: var(--red); } .tdy--night .tdy-tile.is-w .tdy-tile__res { color: #ff6b74; } .tdy--night .tdy-tile:not(.is-w) .tdy-tile__res { color: #fff; }
	.tdy--night .tdy-tile__row b { font-size: 1.45rem; } .tdy-tile__n { font-size: .95rem; }
	.tdy-tile__mk { width: 22px; height: 22px; } .tdy-tile__img { width: 17px; height: 17px; } .tdy-tile__row { grid-template-columns: 22px 1fr auto; }
	.tdy-tiles.tdy-page, .tdy-next.tdy-page { gap: 8px; }
	/* the week ahead */
	.tdy-next__row { grid-template-columns: 50px 1fr; gap: 12px; padding: 7px 10px 7px 7px; }
	.tdy-next__day { padding: 4px 0; } .tdy-next__day i { font-size: 1.35rem; margin: 1px 0; } .tdy-next__day b, .tdy-next__day small { font-size: .58rem; }
	.tdy-next__what b { font-size: 1rem; } .tdy-next__what small, .tdy-next__k { font-size: .62rem; }
}

@layer components { /* 4.96.2: Did You Know in Corbin red, white type, the white C with no box */
	.dyk { background: var(--red); color: #fff; }
	.dyk__mark { width: 64px; height: auto; background: transparent; }
	.dyk__mark img { width: 64px; }
	.dyk__kicker { color: #fff; opacity: .85; }
	.dyk__text { color: #fff; }
	.dyk__link { border-color: rgba(255,255,255,.7); color: #fff; }
	.dyk__link:hover { background: #fff; border-color: #fff; color: var(--red); }
}

@layer components { /* 4.96.4: choosing sports for game-night emails */
	.rh-alert-sports { display: flex; flex-wrap: wrap; gap: 6px 18px; }
	.acct__sports { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--silver-2, #e3e6ea); }
	.acct__sports-h { display: block; margin-bottom: 10px; font-family: var(--font-display); font-weight: 800; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: var(--graphite, #2b3036); }
	.acct__sports-row { display: flex; flex-wrap: wrap; gap: 8px; }
	.acct__sports-row label { cursor: pointer; } .acct__sports-row input { position: absolute; opacity: 0; pointer-events: none; }
	.acct__sports-row span { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 2px solid var(--silver-line, #c6cad0); background: #fff; font-family: var(--font-display); font-weight: 800; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; color: #5b6169; }
	.acct__sports-row span i { font-style: normal; filter: grayscale(1); opacity: .6; }
	.acct__sports-row input:checked + span { background: var(--red); border-color: var(--red); color: #fff; } .acct__sports-row input:checked + span i { filter: grayscale(1) brightness(2); opacity: .9; }
	.acct__sports-row input:focus-visible + span { outline: 2px solid var(--graphite, #2b3036); outline-offset: 2px; }
}

@layer components { /* 4.97.0: New in the archive as one slim strip on the homepage */
	.wns { background: #f3f4f6; border-top: 1px solid var(--silver-2, #e3e6ea); border-bottom: 1px solid var(--silver-2, #e3e6ea); }
	.wns__in { display: flex; align-items: stretch; gap: 0; padding-top: 0; padding-bottom: 0; }
	.wns__label { flex: none; display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 16px 22px; background: var(--red); color: #fff; text-decoration: none; }
	.wns__label:hover { background: #a8141f; color: #fff; }
	.wns__k { font-family: var(--font-display); font-weight: 700; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; opacity: .85; }
	.wns__label b { font-family: var(--font-display); font-weight: 900; font-size: 1.3rem; line-height: 1; text-transform: uppercase; }
	.wns__label em { font-style: normal; font-family: var(--font-display); font-weight: 700; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; opacity: .9; }
	.wns__list { flex: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
	.wns__list li { border-left: 1px solid var(--silver-2, #e3e6ea); }
	.wns__list a { display: flex; flex-direction: column; justify-content: center; gap: 4px; height: 100%; padding: 14px 18px; color: var(--graphite, #2b3036); text-decoration: none; }
	.wns__list a:hover { background: #fff; }
	.wns__top { font-family: var(--font-display); font-weight: 800; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: #6b6f75; }
	.wns__top em { font-style: normal; margin-left: 4px; padding: 1px 6px; background: var(--red); color: #fff; letter-spacing: .1em; }
	.wns__line { font-family: var(--font-display); font-weight: 800; font-size: 1rem; line-height: 1.15; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.wns__line b { color: var(--red); font-weight: 900; }
	.wns__more { flex: none; display: flex; align-items: center; padding: 0 22px; border-left: 1px solid var(--silver-2, #e3e6ea); font-family: var(--font-display); font-weight: 900; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); text-decoration: none; white-space: nowrap; }
	.wns__more:hover { background: #fff; }
	@media (max-width: 1100px) { .wns__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .wns__list li:nth-child(n+3) { border-top: 1px solid var(--silver-2, #e3e6ea); } }
	@media (max-width: 700px) { .wns__in { flex-direction: column; } .wns__list { grid-template-columns: 1fr; } .wns__list li { border-left: 0; border-top: 1px solid var(--silver-2, #e3e6ea); } .wns__list li:nth-child(n+3) { display: none; } .wns__more { padding: 14px 18px; border-left: 0; border-top: 1px solid var(--silver-2, #e3e6ea); } }
}

@layer components { /* 4.97.3: Legend of the Week and This Year in Redhound History, clearly apart */
	.spotlight + .tyih { margin-top: 0; padding-top: clamp(48px, 6vw, 80px); border-top: 6px solid var(--red); box-shadow: inset 0 1px 0 #ffffff; }
	.section.spotlight { padding-bottom: clamp(48px, 6vw, 80px); }
}

@layer components { /* 4.98.0: Legend of the Week, turned all the way up */
	.spotlight--x { position: relative; background: linear-gradient(180deg, #ffffff 0%, #f3f4f6 100%); border-top: 6px solid var(--red); overflow: hidden; }
	.spotlight--x .spotlight__grid { display: block; }
	.lgx { position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: stretch; background: #fff; box-shadow: 0 30px 70px rgba(60,64,70,.16); isolation: isolate; }
	.lgx__ghost { position: absolute; z-index: -1; right: -1%; bottom: -10%; font-family: var(--font-display); font-weight: 900; font-size: clamp(150px, 22vw, 330px); line-height: .8; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 3px rgba(206,26,39,.12); pointer-events: none; user-select: none; }
	.lgx__photo { position: relative; display: block; min-height: clamp(380px, 40vw, 600px); overflow: hidden; background: #c9ccd1; }
	.lgx__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; filter: grayscale(1) contrast(1.18) brightness(1.02); transition: transform .6s ease; }
	.lgx__photo::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(206,26,39,.55) 0%, rgba(206,26,39,0) 45%), linear-gradient(90deg, rgba(206,26,39,0) 60%, rgba(206,26,39,.35) 100%); mix-blend-mode: multiply; }
	.lgx__photo:hover img { transform: scale(1.04); }
	.lgx__empty { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--font-display); font-weight: 900; font-size: 12rem; color: #fff; background: var(--red); }
	.lgx__slash { position: absolute; z-index: 2; top: -10%; bottom: -10%; right: 26px; width: 16px; background: var(--red); transform: skewX(-12deg); box-shadow: 22px 0 0 rgba(206,26,39,.4), 44px 0 0 #ffffff; }
	.lgx__stamp { position: absolute; z-index: 3; left: 26px; bottom: 26px; width: 150px; aspect-ratio: 1; border-radius: 50%; background: #fff; border: 5px solid var(--red); box-shadow: 0 0 0 5px #fff, 0 18px 40px rgba(0,0,0,.35); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; transform: rotate(-12deg); }
	.lgx__stamp img { width: 40px; height: 40px; object-fit: contain; }
	.lgx__stamp b { margin-top: 4px; font-family: var(--font-display); font-weight: 900; font-size: .86rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
	.lgx__stamp em { font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: 2rem; line-height: .95; color: #4a4f56; }
	.lgx__body { position: relative; padding: clamp(28px, 4vw, 60px) clamp(24px, 4vw, 60px); display: flex; flex-direction: column; justify-content: center; }
	.lgx__kicker { align-self: flex-start; padding: 9px 16px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: .9rem; letter-spacing: .22em; text-transform: uppercase; transform: skewX(-12deg); box-shadow: 5px 5px 0 #c9ccd1; }
	.lgx__kicker span { display: inline-block; margin-right: 6px; }
	.lgx__name { display: block; margin: 20px 0 0; font-family: var(--font-display); font-weight: 900; line-height: .82; letter-spacing: -.02em; text-transform: uppercase; text-decoration: none; }
	.lgx__name span { display: block; font-size: clamp(2.6rem, 5vw, 4.8rem); color: #5b6169; }
	.lgx__name b { display: block; font-size: clamp(4.4rem, 10vw, 9.6rem); color: var(--red); font-weight: 900; }
	.lgx__name:hover b { color: #a8141f; }
	.lgx__role { margin-top: 14px; font-family: var(--font-display); font-weight: 900; font-size: clamp(1rem, 1.5vw, 1.25rem); letter-spacing: .18em; text-transform: uppercase; color: #5b6169; }
	.lgx__quote { position: relative; margin: 22px 0 0; padding-left: 52px; font-family: var(--font-serif); font-size: clamp(1.15rem, 1.7vw, 1.5rem); line-height: 1.5; color: #3a3f46; }
	.lgx__quote::before { content: "\201C"; position: absolute; left: 0; top: -.32em; font-family: var(--font-display); font-weight: 900; font-size: 5.4rem; line-height: 1; color: var(--red); }
	.lgx__stats { margin-top: 26px; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
	.lgx__stat { padding: 14px 16px 12px; background: #f3f4f6; border-top: 5px solid var(--red); }
	.lgx__stat b { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.4rem, 3.6vw, 3.4rem); line-height: .9; color: var(--red); }
	.lgx__stat span { display: block; margin-top: 6px; font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: #5b6169; }
	.lgx__tags { margin: 16px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
	.lgx__tags li { padding: 8px 12px; background: #fff; border: 2px solid #dfe2e6; border-left: 5px solid #c9ccd1; font-family: var(--font-display); font-weight: 800; font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; color: #5b6169; }
	.lgx__tags li.is-red { border-color: var(--red); background: var(--red); color: #fff; }
	.lgx__actions { margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
	.lgx__go { display: inline-flex; align-items: center; gap: 10px; padding: 16px 26px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: 1rem; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; box-shadow: 7px 7px 0 #c9ccd1; transition: transform .15s, box-shadow .15s; }
	.lgx__go:hover { color: #fff; transform: translate(-2px, -2px); box-shadow: 9px 9px 0 #c9ccd1; }
	.lgx__go svg, .lgx__all svg { width: 16px; height: 16px; }
	.lgx__all { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-weight: 900; font-size: .9rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); text-decoration: none; }
	@media (max-width: 900px) { .lgx { grid-template-columns: 1fr; } .lgx__photo { min-height: 380px; } .lgx__slash { display: none; } .lgx__stamp { width: 120px; } .lgx__stamp em { font-size: 1.6rem; } }
}

@layer components { /* 4.98.1: On this date, a calendar page and the games played on it */
	.otdx { position: relative; overflow: hidden; isolation: isolate; padding: clamp(48px, 6vw, 84px) 0; background: linear-gradient(180deg, #ffffff 0%, #eef0f2 100%); border-top: 6px solid var(--red); }
	.otdx__ghost { position: absolute; z-index: -1; right: -2%; top: 50%; transform: translateY(-50%); font-family: var(--font-display); font-weight: 900; font-size: clamp(140px, 20vw, 300px); line-height: .8; letter-spacing: -.03em; text-transform: uppercase; white-space: nowrap; color: transparent; -webkit-text-stroke: 3px rgba(206,26,39,.1); pointer-events: none; user-select: none; }
	.otdx__in { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
	.otdx__page { width: 190px; background: #fff; box-shadow: 10px 10px 0 #c9ccd1, 0 20px 40px rgba(60,64,70,.15); transform: rotate(-4deg); text-align: center; border-bottom: 6px solid #e3e6ea; }
	.otdx__mon { display: block; padding: 10px 0 8px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: 1.15rem; letter-spacing: .24em; text-transform: uppercase; }
	.otdx__day { display: block; padding: 6px 0 0; font-family: var(--font-display); font-weight: 900; font-size: 8.4rem; line-height: .95; color: #4a4f56; }
	.otdx__dow { display: block; padding: 0 0 12px; font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .24em; text-transform: uppercase; color: var(--red); }
	.otdx__k { display: block; margin-top: 26px; font-family: var(--font-display); font-weight: 900; font-size: .78rem; letter-spacing: .22em; text-transform: uppercase; color: var(--red); }
	.otdx__h { margin: 6px 0 0; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.2rem, 3.4vw, 3rem); line-height: .9; text-transform: uppercase; color: #4a4f56; }
	.otdx__h span { color: #8a9099; }
	.otdx__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; padding: 12px 16px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; box-shadow: 5px 5px 0 #c9ccd1; }
	.otdx__more:hover { color: #fff; background: #a8141f; } .otdx__more svg { width: 14px; height: 14px; }
	.otdx__list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 14px; }
	.otdx__card { display: flex; flex-direction: column; height: 100%; padding: 20px 22px 18px; background: #fff; border-top: 6px solid #c9ccd1; box-shadow: 0 16px 36px rgba(60,64,70,.1); color: #4a4f56; text-decoration: none; transition: transform .2s, box-shadow .2s; }
	.otdx__card.is-w { border-top-color: var(--red); }
	.otdx__card:hover { transform: translateY(-4px); box-shadow: 0 22px 44px rgba(60,64,70,.16); }
	.otdx__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
	.otdx__year { font-family: var(--font-display); font-weight: 900; font-size: clamp(3.4rem, 5vw, 4.6rem); line-height: .85; letter-spacing: -.02em; color: var(--red); }
	.otdx__card:not(.is-w) .otdx__year { color: #5b6169; }
	.otdx__stamp { flex: none; display: grid; place-items: center; width: 48px; height: 48px; background: var(--red); color: #fff; font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: 1.6rem; transform: rotate(8deg); box-shadow: 4px 4px 0 #c9ccd1; }
	.otdx__card:not(.is-w) .otdx__stamp { background: #e3e6ea; color: #5b6169; }
	.otdx__ago { margin-top: 8px; font-family: var(--font-display); font-weight: 900; font-size: .76rem; letter-spacing: .2em; text-transform: uppercase; color: #8a9099; }
	.otdx__score { margin-top: 14px; display: flex; flex-direction: column; gap: 2px; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.25rem, 1.8vw, 1.6rem); line-height: 1.05; text-transform: uppercase; color: #9aa0a7; }
	.otdx__score .is-lead { color: #4a4f56; } .otdx__card.is-w .otdx__score .is-lead { color: var(--red); }
	.otdx__meta { margin-top: auto; padding-top: 14px; font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: #6b6f75; }
	@media (max-width: 860px) { .otdx__in { grid-template-columns: 1fr; } .otdx__cal { display: grid; grid-template-columns: auto 1fr; gap: 6px 22px; align-items: center; } .otdx__page { grid-row: span 3; width: 130px; } .otdx__day { font-size: 5.4rem; } .otdx__k { margin-top: 0; } .otdx__more { justify-self: start; } }
}

@layer components { /* 4.99.0: Redhound Today, the red zone (Option B) */
	.tdy.tdy--red { position: relative; overflow: hidden; isolation: isolate; background: var(--red); color: #fff; border-top: 0; padding: clamp(36px, 4.4vw, 60px) 0 clamp(40px, 5vw, 64px); }
	.tdy--red::before, .tdy--red::after { content: none; }
	.tdy__stripes { position: absolute; z-index: -1; top: 0; right: -8%; width: 40%; height: 100%; transform: skewX(-18deg); background: repeating-linear-gradient(-45deg, rgba(255,255,255,.08) 0 14px, rgba(255,255,255,0) 14px 28px); pointer-events: none; }
	.tdy--red .tdy__head { border-bottom: 2px solid rgba(255,255,255,.35); margin-bottom: 20px; padding-bottom: 14px; }
	.tdy--red .tdy__date { color: rgba(255,255,255,.9); }
	.tdy--red .tdy__title h2 { color: #fff; font-style: italic; font-size: clamp(2.4rem, 5.4vw, 4.6rem); line-height: .84; letter-spacing: -.02em; }
	.tdy--red .tdy__title h2::after { content: none; }
	.tdy--red .tdy__stats { gap: 10px; }
	.tdy--red .tdy__stats span { flex-direction: column; align-items: flex-start; gap: 4px; padding: 8px 14px 7px; background: transparent; border: 2px solid rgba(255,255,255,.6); color: rgba(255,255,255,.9); font-size: .66rem; }
	.tdy--red .tdy__stats b { color: #fff; font-size: 1.9rem; }
	.tdy--red .tdy__all { background: #fff; color: var(--red); } .tdy--red .tdy__all:hover { background: #a8141f; color: #fff; }
	.tdy--red .tdy__h { color: rgba(255,255,255,.92); } .tdy--red .tdy__h a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
	.tdy--red .tdy-pager button { background: transparent; border-color: rgba(255,255,255,.7); color: #fff; } .tdy--red .tdy-pager button:hover:not([disabled]) { background: #fff; color: var(--red); border-color: #fff; } .tdy--red .tdy-pager em { color: rgba(255,255,255,.75); } .tdy--red .tdy-pager b { color: #fff; }
	.tdy--red .tdy-emo { filter: grayscale(1) brightness(1.8); opacity: .8; }
	/* the featured game: a white card */
	.tdy--red .tdy-feat { background: #fff; color: #4a4f56; box-shadow: 10px 10px 0 rgba(0,0,0,.18); }
	.tdy--red .tdy-feat::before { content: none; }
	.tdy--red .tdy-feat.has-photo { background: #fff; }
	.tdy--red .tdy-feat__k { background: #f3f4f6; color: #4a4f56; padding: 9px 14px; font-size: .72rem; }
	.tdy--red .tdy-feat__k span:first-child { color: var(--red); }
	.tdy--red .tdy-feat.is-live .tdy-feat__k { background: #1fa356; color: #fff; } .tdy--red .tdy-feat.is-live .tdy-feat__k span:first-child { color: #fff; }
	.tdy--red .tdy-feat .tdy-emo { filter: grayscale(1); opacity: .55; }
	.tdy--red .tdy-feat__match { padding: 14px 14px 4px; gap: 6px; }
	.tdy--red .tdy-team__mark { width: 58px; height: 58px; box-shadow: 4px 4px 0 #c9ccd1; } .tdy--red .tdy-team__img { width: 42px; height: 42px; }
	.tdy--red .tdy-team b { color: #4a4f56; font-style: italic; font-size: clamp(1.15rem, 1.7vw, 1.5rem); text-shadow: none; } .tdy--red .tdy-team--c b { color: var(--red); }
	.tdy--red .tdy-team small { color: #8a9099; }
	.tdy--red .tdy-feat__vs { color: #a3a8ae; }
	.tdy--red .tdy-feat__score b { color: #b0b5bb; } .tdy--red .tdy-feat__score b.is-lead { color: var(--red); } .tdy--red .tdy-feat__score i { color: #c9ccd1; } .tdy--red .tdy-feat__score em { color: var(--red); }
	.tdy--red .tdy-cd { margin: 10px 14px 0; gap: 4px; } .tdy--red .tdy-cd span { background: var(--red); border-top: 0; padding: 6px 0 5px; } .tdy--red .tdy-cd b { color: #fff; font-size: 1.35rem; } .tdy--red .tdy-cd i { color: rgba(255,255,255,.85); font-size: .56rem; } .tdy--red .tdy-cd em { color: var(--red); font-size: .6rem; }
	.tdy--red .tdy-feat__meta { margin: 8px 14px 0; color: #5b6169; font-size: .74rem; }
	.tdy--red .tdy-feat__ser { margin: 10px 14px 0; padding: 8px; background: #f3f4f6; border-left-color: var(--red); } .tdy--red .tdy-feat__ser span, .tdy--red .tdy-feat__ser small { color: #8a9099; } .tdy--red .tdy-feat__ser b { color: #4a4f56; font-size: .95rem; }
	.tdy--red .tdy-feat__go { margin: 12px 14px 14px; padding: 10px; background: var(--red); color: #fff; font-size: .85rem; } .tdy--red .tdy-feat__go:hover { background: #a8141f; color: #fff; }
	/* results: wins are white slabs, losses see-through */
	.tdy--red .tdy-tile { background: rgba(255,255,255,.1); border: 0; border-left: 6px solid rgba(255,255,255,.35); color: #fff; box-shadow: none; }
	.tdy--red .tdy-tile.is-w { background: #fff; border-left-color: #7f0d16; color: #4a4f56; }
	.tdy--red .tdy-tile:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(0,0,0,.18); }
	.tdy--red .tdy-tile__top { color: rgba(255,255,255,.75); } .tdy--red .tdy-tile.is-w .tdy-tile__top { color: #8a9099; }
	.tdy--red .tdy-tile__res { color: #fff; } .tdy--red .tdy-tile.is-w .tdy-tile__res { color: var(--red); }
	.tdy--red .tdy-tile__row { color: rgba(255,255,255,.6); } .tdy--red .tdy-tile__row.is-win, .tdy--red .tdy-tile__row.is-win b { color: #fff; }
	.tdy--red .tdy-tile.is-w .tdy-tile__row { color: #9aa0a7; } .tdy--red .tdy-tile.is-w .tdy-tile__row.is-win, .tdy--red .tdy-tile.is-w .tdy-tile__row.is-win b { color: var(--red); }
	.tdy--red .tdy-tile__row b { font-size: 1.45rem; }
	.tdy--red .tdy-tile__mk--c { background: var(--red); box-shadow: 0 0 0 2px rgba(255,255,255,.6); } .tdy--red .tdy-tile.is-w .tdy-tile__mk--c { box-shadow: none; }
	/* the rest of the week: see-through rows with white date blocks; football flips to white */
	.tdy--red .tdy-next__row { background: rgba(255,255,255,.1); border: 0; color: #fff; box-shadow: none; }
	.tdy--red .tdy-next__row:hover { background: rgba(255,255,255,.18); transform: translateY(-2px); }
	.tdy--red .tdy-next__day { background: #fff; color: var(--red); } .tdy--red .tdy-next__day b, .tdy--red .tdy-next__day small { color: var(--red); } .tdy--red .tdy-next__day i { color: var(--red); }
	.tdy--red .tdy-next__k { color: rgba(255,255,255,.85); } .tdy--red .tdy-next__what small { color: rgba(255,255,255,.7); }
	.tdy--red .tdy-next__row.is-flag { background: #fff; color: #4a4f56; } .tdy--red .tdy-next__row.is-flag .tdy-next__day { background: var(--red); } .tdy--red .tdy-next__row.is-flag .tdy-next__day b, .tdy--red .tdy-next__row.is-flag .tdy-next__day small, .tdy--red .tdy-next__row.is-flag .tdy-next__day i { color: #fff; }
	.tdy--red .tdy-next__row.is-flag .tdy-next__k { color: var(--red); } .tdy--red .tdy-next__row.is-flag .tdy-next__what small { color: #6b6f75; } .tdy--red .tdy-next__row.is-flag .tdy-emo { filter: grayscale(1); opacity: .55; }
	.tdy--red .tdy-next__row.is-live { box-shadow: 0 0 0 2px #fff; }
	.tdy--red .tdy-chip--off { background: #fff; color: var(--red); }
	@media (max-width: 760px) { .tdy--red .tdy__stats { flex-wrap: nowrap; width: 100%; } .tdy--red .tdy__stats span { flex: 1; min-width: 0; } }
}

@layer components { /* 4.99.1: points, Share and Forum in the header member menu */
	.utility__mepts { display: block; padding-bottom: 8px !important; margin-bottom: 4px; border-bottom: 1px solid var(--silver-2, #e3e6ea); font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: #6b6f75 !important; }
	.utility__mepts b { font-weight: 900; font-size: 1.1rem; color: var(--red); letter-spacing: 0; }
	.utility__memenu em { font-style: normal; margin-left: 4px; padding: 1px 6px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .08em; }
}

@layer components { /* 5.0.0: Redhound Today as a game menu (Option J) */
	.gmx { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: radial-gradient(120% 100% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); border-top: 6px solid #fff; }
	.gmx::before { content: ""; position: absolute; inset: 0; z-index: -2; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); }
	.gmx::after { content: ""; position: absolute; z-index: -2; right: -12%; top: -30%; width: 60%; height: 160%; background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.07)); transform: skewX(-20deg); }
	.gmx__ghost { position: absolute; z-index: -1; right: -1%; bottom: -6%; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(200px, 30vw, 460px); line-height: .8; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 3px rgba(255,255,255,.14); pointer-events: none; user-select: none; white-space: nowrap; }
	.gmx__lbl { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .82rem; letter-spacing: .18em; text-transform: uppercase; }
	.gmx__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-top: 26px; }
	.gmx__brand { display: flex; align-items: center; gap: 14px; } .gmx__brand img { width: 46px; height: 46px; object-fit: contain; }
	.gmx__date { color: rgba(255,255,255,.85); }
	.gmx__title { margin: 2px 0 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: .9; text-transform: uppercase; letter-spacing: -.01em; color: #fff; }
	.gmx__tabs { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
	.gmx__tab { padding: 9px 20px; transform: skewX(-14deg); background: rgba(120,8,16,.3); border: 2px solid rgba(255,255,255,.3); text-decoration: none; }
	.gmx__tab span { display: inline-block; transform: skewX(14deg); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1rem; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
	.gmx__tab.is-on { background: #fff; border-color: #fff; box-shadow: 0 0 22px rgba(255,255,255,.45); } .gmx__tab.is-on span { color: var(--red); }
	.gmx__tab:hover:not(.is-on) { background: rgba(255,255,255,.18); }
	.gmx__bump { display: inline-grid; place-items: center; min-width: 38px; height: 24px; padding: 0 6px; border-radius: 12px; background: rgba(255,255,255,.2); font-family: var(--font-display); font-weight: 900; font-size: .8rem; color: #fff; }
	.gmx__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); grid-auto-rows: minmax(170px, auto); gap: 16px; padding-top: 26px; padding-bottom: 26px; }
	.gmx-feat { grid-column: span 2; grid-row: span 2; min-height: 360px; }
	.gmx-tile { position: relative; display: block; overflow: hidden; color: #fff; text-decoration: none; transform: skewX(-6deg); border: 3px solid transparent; box-shadow: 0 18px 40px rgba(110,10,18,.35); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
	.gmx-tile:hover, .gmx-tile:focus-within { transform: skewX(-6deg) scale(1.02); border-color: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.25), 0 0 40px rgba(255,255,255,.35), 0 24px 50px rgba(110,10,18,.4); color: inherit; }
	.gmx-tile--red { background: linear-gradient(135deg, #a8141f 0%, #8f101a 100%); border-color: rgba(255,255,255,.35); }
	.gmx-tile--white { background: #fff; color: #4a4f56; } .gmx-tile--white:hover { color: #4a4f56; }
	.gmx-tile--glass { background: rgba(120,8,16,.38); border-color: rgba(255,255,255,.28); }
	.gmx-in { display: flex; flex-direction: column; height: 100%; transform: skewX(6deg); padding: 18px 24px; gap: 6px; }
	.gmx-feat .gmx-in { padding: 22px 30px; }
	.gmx-sheen { position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.3) 45%, transparent 60%); transform: translateX(-120%); animation: gmx-sheen 4.5s ease-in-out infinite; pointer-events: none; }
	@keyframes gmx-sheen { 0%, 55% { transform: translateX(-120%); } 80%, 100% { transform: translateX(120%); } }
	.gmx-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
	.gmx-row--end { margin-top: 18px; align-items: flex-end; }
	.gmx-push { margin-top: auto; display: flex; flex-direction: column; gap: 6px; }
	.gmx-big { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; letter-spacing: -.01em; line-height: .9; }
	.gmx-red { color: var(--red); } .gmx-mute { color: #6b6f75; }
	.gmx-emo { font-style: normal; margin-right: 6px; filter: grayscale(1) brightness(1.8); opacity: .85; } .gmx-tile--white .gmx-emo { filter: grayscale(1); opacity: .55; }
	.gmx-chip { display: inline-flex; padding: 5px 12px; transform: skewX(-12deg); background: #fff; color: var(--red); }
	.gmx-chip span { transform: skewX(12deg); font-family: var(--font-display); font-weight: 900; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; }
	.gmx-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
	.gmx-match { margin-top: auto; display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
	.gmx-names { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; color: #fff; text-decoration: none; } .gmx-names:hover { color: #fff; }
	.gmx-big--xl { font-size: clamp(3.4rem, 6.4vw, 6.4rem); } .gmx-big--l { font-size: clamp(2.4rem, 4.4vw, 4.4rem); }
	.gmx-vs { font-size: clamp(1.3rem, 2vw, 1.9rem); color: rgba(255,255,255,.75); }
	.gmx-badges { display: flex; gap: 10px; align-items: flex-start; }
	.gmx-badge { display: flex; flex-direction: column; align-items: center; gap: 4px; } .gmx-badge small { font-family: var(--font-display); font-weight: 900; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; }
	.gmx-hex { display: grid; place-items: center; min-width: 62px; height: 62px; padding: 0 10px; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: #fff; color: var(--red); font-family: var(--font-display); font-weight: 900; font-size: 1.25rem; line-height: 1; white-space: nowrap; }
	.gmx-hex--alt { background: rgba(255,255,255,.22); color: #fff; } .gmx-hex--score { min-width: 90px; height: 76px; font-size: 1.8rem; }
	.gmx-cd { display: flex; gap: 8px; }
	.gmx-seg { display: flex; flex-direction: column; align-items: center; min-width: 64px; padding: 8px 6px 6px; transform: skewX(-10deg); background: #fff; color: var(--red); border-bottom: 3px solid #7f0d16; }
	.gmx-seg b, .gmx-seg i { transform: skewX(10deg); }
	.gmx-seg b { font-family: var(--font-display); font-weight: 900; font-size: 2.2rem; line-height: .9; font-variant-numeric: tabular-nums; }
	.gmx-seg i { font-style: normal; font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; }
	.gmx-prompts { display: flex; gap: 18px; flex-wrap: wrap; }
	.gmx-prompts a, .gmx-prompt { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .95rem; letter-spacing: .16em; text-transform: uppercase; color: #fff; text-decoration: none; }
	.gmx-prompts a:hover { text-decoration: underline; text-underline-offset: 4px; color: #fff; }
	.gmx-prompt { margin-top: auto; padding-top: 10px; color: #4a4f56; } .gmx-prompt:hover { color: var(--red); }
	.gmx-btn { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #fff; color: var(--red); font-family: var(--font-display); font-style: normal; font-weight: 900; font-size: .95rem; line-height: 1; letter-spacing: 0; box-shadow: 0 2px 0 rgba(0,0,0,.25); }
	.gmx-btn--alt { background: rgba(255,255,255,.25); color: #fff; } .gmx-btn--red { background: var(--red); color: #fff; }
	.gmx-meta { margin: 10px 0 0; color: rgba(255,255,255,.88); }
	.gmx-score { font-size: clamp(2.8rem, 4vw, 3.6rem); color: var(--red); white-space: nowrap; } .gmx-score.is-loss { color: #8a9099; }
	.gmx-opp { font-size: 1.7rem; color: #4a4f56; }
	.gmx-gotw { font-size: clamp(1.9rem, 2.8vw, 2.5rem); }
	.gmx-wk { flex-direction: row; flex-wrap: wrap; align-items: flex-end; gap: 18px; }
	.gmx-rec { font-size: clamp(4rem, 6vw, 5.4rem); white-space: nowrap; }
	.gmx-list { display: grid; gap: 3px; padding-bottom: 8px; } .gmx-list .gmx__lbl { font-size: .85rem; white-space: nowrap; } .gmx-list .is-dim { color: rgba(255,255,255,.75); }
	.gmx-next { display: grid; gap: 6px; margin-top: 8px; }
	.gmx-next a { display: grid; gap: 2px; padding-bottom: 6px; border-bottom: 1px solid #e3e6ea; color: #4a4f56; text-decoration: none; } .gmx-next a:hover .gmx-big { color: var(--red); }
	.gmx-next .gmx-big { font-size: 1.35rem; }
	.gmx__ticker { display: flex; align-items: center; background: #a8141f; border-top: 2px solid rgba(255,255,255,.3); }
	.gmx__tickk { flex: none; padding: 12px 18px; background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .95rem; letter-spacing: .18em; text-transform: uppercase; }
	.gmx__tickwin { flex: 1; overflow: hidden; padding: 12px 0; }
	.gmx__marq { display: flex; width: max-content; gap: 48px; animation: gmx-marq 40s linear infinite; }
	.gmx__marq:hover { animation-play-state: paused; }
	.gmx__marq a { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .95rem; letter-spacing: .14em; text-transform: uppercase; color: #fff; text-decoration: none; white-space: nowrap; } .gmx__marq a.is-dim { color: rgba(255,255,255,.7); }
	@keyframes gmx-marq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
	.gmx__hints { flex: none; display: flex; gap: 14px; padding: 0 18px; } .gmx__hints > span { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; }
	@media (prefers-reduced-motion: reduce) { .gmx-sheen, .gmx__marq { animation: none; } .gmx-tile, .gmx-tile:hover { transition: none; } }
	@media (max-width: 860px) { .gmx-tile, .gmx-tile:hover, .gmx-tile:focus-within { transform: none; } .gmx-in { transform: none; } .gmx-feat { grid-column: auto; grid-row: auto; } .gmx__hints { display: none; } .gmx-hex { min-width: 54px; height: 54px; font-size: 1.05rem; } }
}

@layer components { @media (max-width: 860px) { .gmx__bump { display: none; } } }

@layer components { /* 5.1.0: the schedule page in the game-menu look */
	/* the head: Corbin red, speed lines, the season huge behind */
	.sched-x .sx-head { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); border-bottom: 0; }
	.sched-x .sx-head::before { content: ""; position: absolute; inset: 0; z-index: -2; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); }
	.sched-x .sx-head::after { content: none; }
	.sched-x .sx-ghost { position: absolute; z-index: -1; right: -1%; bottom: -14%; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(160px, 24vw, 360px); line-height: .8; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 3px rgba(255,255,255,.15); pointer-events: none; user-select: none; white-space: nowrap; }
	.sched-x .sx-head .page-head__kicker { color: rgba(255,255,255,.9); font-style: italic; }
	.sched-x .sx-head .page-head__title { color: #fff; font-style: italic; font-size: clamp(3.4rem, 9vw, 7.4rem); line-height: .84; letter-spacing: -.02em; }
	.sched-x .sx-head .page-head__stats { gap: 12px; }
	.sched-x .sx-head .stat { transform: skewX(-10deg); background: rgba(120,8,16,.38); border: 2px solid rgba(255,255,255,.3); color: #fff; padding: 12px 20px; }
	.sched-x .sx-head .stat > * { display: block; transform: skewX(10deg); }
	.sched-x .sx-head .stat--link { background: #fff; border-color: #fff; color: var(--red); box-shadow: 0 0 26px rgba(255,255,255,.35); text-decoration: none; transition: transform .2s; }
	.sched-x .sx-head .stat--link:hover { transform: skewX(-10deg) scale(1.03); }
	.sched-x .sx-head .stat__label { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; color: inherit; opacity: .85; }
	.sched-x .sx-head .stat__value { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: inherit; }
	.sched-x .sx-head .stat__sub { font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: #6b6f75; }
	/* the subscribe strip: the deeper red */
	.sched-x .subscribe { background: #a8141f; border: 0; color: #fff; }
	.sched-x .subscribe * { color: #fff; }
	.sched-x .subscribe a, .sched-x .subscribe .btn, .sched-x .subscribe button { transform: skewX(-12deg); background: transparent; border: 2px solid rgba(255,255,255,.7); color: #fff; }
	.sched-x .subscribe a:hover { background: #fff; color: var(--red); }
	.sched-x .subscribe a > *, .sched-x .subscribe a { font-style: italic; }
	.sched-x .subscribe__note { color: rgba(255,255,255,.85) !important; }
	/* the filters: slanted tabs */
	.sched-x .filters { background: #fff; border-bottom: 4px solid var(--red); }
	.sched-x .filters .chip { transform: skewX(-12deg); border-radius: 0; border: 2px solid #c9ccd1; background: #fff; color: #4a4f56; font-style: italic; font-weight: 900; transition: background .15s, color .15s, box-shadow .15s; }
	.sched-x .filters .chip:hover { border-color: var(--red); color: var(--red); }
	.sched-x .filters .chip.is-active { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.18), 0 8px 18px rgba(206,26,39,.3); }
	.sched-x .filters__label { font-style: italic; font-weight: 900; color: var(--red); }
	/* the lists */
	.sched-x .schedule { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
	.sched-x .schedule__group-head { border-bottom: 0; }
	.sched-x .schedule__month { font-style: italic; font-size: clamp(2.2rem, 4.4vw, 3.6rem); letter-spacing: -.01em; color: #4a4f56; }
	.sched-x .schedule__month::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 8px; background: var(--red); }
	.sched-x .schedule__group-head .textlink { padding: 9px 16px; transform: skewX(-12deg); background: var(--red); color: #fff; font-style: italic; }
	.sched-x .schedule__list { gap: 12px; }
	/* each game: a slanted tile */
	.sched-x .game-row { list-style: none; }
	.sched-x .game-row__link { position: relative; transform: skewX(-6deg); background: #fff; border: 3px solid transparent; box-shadow: 0 12px 28px rgba(60,64,70,.12); transition: transform .2s, border-color .2s, box-shadow .2s; overflow: hidden; }
	.sched-x .game-row__link > * { transform: skewX(6deg); }
	.sched-x .game-row__link:hover { transform: skewX(-6deg) scale(1.012); border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.15), 0 18px 36px rgba(60,64,70,.18); }
	.sched-x .game-row__date { background: var(--red); color: #fff; border: 0; margin: -3px 0 -3px -3px; padding-left: 26px; padding-right: 26px; align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
	.sched-x .game-row__day { font-style: italic; font-size: 2.8rem; line-height: .9; color: #fff; }
	.sched-x .game-row__dow { color: rgba(255,255,255,.9); font-style: italic; font-weight: 900; }
	.sched-x .game-row__opponent { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; font-size: clamp(1.4rem, 2.2vw, 2rem); color: #4a4f56; }
	.sched-x .game-row__opponent em { color: var(--red); font-size: .7em; }
	.sched-x .game-row__sub { font-style: italic; }
	.sched-x .game-row__tags .tag { transform: skewX(-12deg); border-radius: 0; background: #fff; border: 2px solid var(--red); color: var(--red); font-style: italic; font-weight: 900; }
	.sched-x .game-row__time { font-style: italic; font-size: 1.8rem; color: #4a4f56; }
	.sched-x .game-row__result { transform: skewX(-12deg); border-radius: 0; font-style: italic; }
	.sched-x .game-row__result--w { background: var(--red); color: #fff; }
	.sched-x .game-row__score { font-style: italic; font-size: 1.7rem; }
	.sched-x .game-row--final:not(:has(.game-row__result--w)) .game-row__date { background: #8a9099; }
	.sched-x .game-row--live .game-row__link { border-color: #1fa356; box-shadow: 0 0 0 3px rgba(31,163,86,.25), 0 0 30px rgba(31,163,86,.3); }
	.sched-x .game-row--off .game-row__date { background: #c9ccd1; }
	@media (max-width: 760px) { .sched-x .game-row__link, .sched-x .game-row__link:hover { transform: none; } .sched-x .game-row__link > * { transform: none; } .sched-x .sx-head .stat, .sched-x .sx-head .stat > * { transform: none; } .sched-x .game-row__day { font-size: 2.2rem; } }
	@media (prefers-reduced-motion: reduce) { .sched-x .game-row__link { transition: none; } }
}

@layer components { /* 5.1.0: the date block runs edge to edge inside each schedule tile */
	.sched-x .game-row__link { grid-template-columns: 92px 44px 1fr auto 24px; padding: 0 var(--sp-4) 0 0; min-height: 96px; }
	.sched-x .game-row__date { margin: 0; padding: 14px 10px; border-right: 0; }
	.sched-x .game-row__main, .sched-x .game-row__tags, .sched-x .game-row__status { padding-top: 12px; padding-bottom: 12px; }
	@media (max-width: 760px) { .sched-x .game-row__link { grid-template-columns: 70px 1fr auto; padding-right: 12px; } .sched-x .game-row__date { padding: 12px 6px; } }
}

@layer components { .sched-x .game-row__link { padding-right: 34px; column-gap: 18px; } .sched-x .game-row__status { padding-right: 6px; } @media (max-width: 760px) { .sched-x .game-row__link { padding-right: 14px; } } }

@layer components { .sched-x .game-row__status { min-width: 120px; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; white-space: nowrap; } .sched-x .game-row__time, .sched-x .game-row__score { white-space: nowrap; } .sched-x .game-row__result { display: inline-block; padding: 3px 10px; } @media (max-width: 760px) { .sched-x .game-row__status { min-width: 0; } .sched-x .game-row__time { font-size: 1.3rem; } } }

@layer components { @media (min-width: 1024px) { .sched-x .game-row__link { grid-template-columns: 96px 48px 1fr auto 140px 24px; grid-template-areas: "date logo main tags status arrow"; padding: 0 34px 0 0; } } }

@layer components { /* 5.2.0: the Teams page in the game-menu look */
	.teams-x .teams { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
	.teams-x .team-grid { gap: 22px; }
	.teams-x .team { position: relative; transform: skewX(-4deg); background: #fff; border: 3px solid transparent; box-shadow: 0 16px 34px rgba(60,64,70,.14); overflow: hidden; transition: transform .2s, border-color .2s, box-shadow .2s; }
	.teams-x .team > * { transform: skewX(4deg); }
	.teams-x .team:hover, .teams-x .team:focus-within { transform: skewX(-4deg) scale(1.02); border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.15), 0 0 34px rgba(206,26,39,.22), 0 22px 44px rgba(60,64,70,.18); }
	.teams-x .team__media { margin: 0 -12px; background: var(--red); }
	.teams-x .team__img { filter: grayscale(.35) contrast(1.08); }
	.teams-x .team__img--empty { background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 50%, #b3141f 100%); }
	.teams-x .team__img--empty span { color: transparent; -webkit-text-stroke: 3px rgba(255,255,255,.3); font-style: italic; font-size: 7rem; }
	.teams-x .team__media::after { background: linear-gradient(180deg, rgba(206,26,39,0) 30%, rgba(160,14,24,.92) 100%); }
	.teams-x .team__name { left: 28px; bottom: 16px; font-style: italic; font-size: clamp(2rem, 3vw, 2.8rem); line-height: .9; letter-spacing: -.01em; color: #fff; text-shadow: 0 4px 16px rgba(0,0,0,.25); }
	.teams-x .team__body { padding: 18px 22px 20px; gap: 14px; }
	.teams-x .team__facts { gap: 8px; }
	.teams-x .team__fact { padding: 8px 12px 7px; background: #f3f4f6; border-top: 4px solid var(--red); transform: skewX(-8deg); }
	.teams-x .team__fact > * { transform: skewX(8deg); }
	.teams-x .team__fact b { font-style: italic; color: var(--red); font-size: 1.45rem; }
	.teams-x .team__fact b a { color: #4a4f56; }
	.teams-x .team__fact span { font-family: var(--font-display); font-style: italic; font-weight: 900; letter-spacing: .14em; color: #6b6f75; }
	.teams-x .team__next { transform: skewX(-8deg); background: var(--red); color: #fff; padding: 10px 16px; text-decoration: none; box-shadow: 5px 5px 0 #c9ccd1; }
	.teams-x .team__next > * { transform: skewX(8deg); }
	.teams-x .team__next .kicker { color: rgba(255,255,255,.88); font-style: italic; }
	.teams-x .team__next-line { font-style: italic; font-weight: 900; font-size: 1.15rem; color: #fff; }
	.teams-x .team__next-meta { color: rgba(255,255,255,.85); font-family: var(--font-display); font-style: italic; font-weight: 800; }
	.teams-x a.team__next:hover { background: #a8141f; color: #fff; }
	.teams-x .team__next--empty { background: #e6e8eb; color: #6b6f75; box-shadow: none; } .teams-x .team__next--empty .kicker, .teams-x .team__next--empty .team__next-line { color: #6b6f75; }
	.teams-x .team__links .chip { transform: skewX(-12deg); border-radius: 0; border: 2px solid #c9ccd1; background: #fff; color: #4a4f56; font-style: italic; font-weight: 900; }
	.teams-x .team__links .chip:hover { border-color: var(--red); background: var(--red); color: #fff; }
	@media (max-width: 760px) { .teams-x .team, .teams-x .team:hover, .teams-x .team > *, .teams-x .team__fact, .teams-x .team__fact > *, .teams-x .team__next, .teams-x .team__next > * { transform: none; } .teams-x .team__media { margin: 0; } }
	@media (prefers-reduced-motion: reduce) { .teams-x .team { transition: none; } }
}

/* 5.3.0: the Seasons page in the game-menu look (unlayered, like the season-card rules it restyles) */
.seasons-x .archive-head { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); border-bottom: 0; color: #fff; }
.seasons-x .archive-head::before { content: ""; position: absolute; inset: 0; z-index: -2; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); }
.seasons-x .archive-head::after { content: "Seasons"; position: absolute; z-index: -1; right: -1%; bottom: -16%; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(130px, 19vw, 300px); line-height: .8; letter-spacing: -.03em; text-transform: uppercase; color: transparent; -webkit-text-stroke: 3px rgba(255,255,255,.15); white-space: nowrap; pointer-events: none; }
.seasons-x .archive-head__title { color: #fff; font-style: italic; font-size: clamp(3.4rem, 9vw, 7.4rem); line-height: .84; letter-spacing: -.02em; }
.seasons-x .archive-head__lede { color: rgba(255,255,255,.92); }
.seasons-x .archive-head__back, .seasons-x .archive-head .archive-kicker { color: rgba(255,255,255,.9); font-style: italic; }
.seasons-x .archive-section--paper { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
/* each sport */
.seasons-x .sx { margin-bottom: 56px; }
.seasons-x .sx__head .archive-kicker { color: var(--red); font-style: italic; }
.seasons-x .sx__head .archive-title { font-style: italic; font-size: clamp(2.2rem, 4.4vw, 3.6rem); color: #4a4f56; }
.seasons-x .sx__head .archive-title small { color: #8a9099; }
.seasons-x .sx__head .textlink { padding: 9px 16px; transform: skewX(-12deg); background: var(--red); color: #fff; font-style: italic; text-decoration: none; }
.seasons-x .sx__head .textlink:hover { background: #a8141f; color: #fff; }
.seasons-x .sx__stat { transform: skewX(-8deg); background: #fff; border: 0; border-top: 5px solid var(--red); box-shadow: 0 10px 22px rgba(60,64,70,.1); }
.seasons-x .sx__stat > * { display: block; transform: skewX(8deg); }
.seasons-x .sx__stat b { font-style: italic; color: #4a4f56; }
.seasons-x .sx__stat span { font-style: italic; }
.seasons-x .sx__stat.is-red { background: var(--red); border-top-color: #7f0d16; } .seasons-x .sx__stat.is-red b, .seasons-x .sx__stat.is-red span { color: #fff; }
.seasons-x .spine__decade { font-style: italic; }
.seasons-x .spine__tick.is-title { background: var(--red); }
/* decades */
.seasons-x .dec__title { font-style: italic; color: #4a4f56; font-size: clamp(2.2rem, 3.6vw, 3rem); }
.seasons-x .dec__title::after { content: ""; display: inline-block; width: 60px; height: 6px; margin-left: 14px; vertical-align: middle; background: var(--red); transform: skewX(-20deg); }
.seasons-x .dec__meta { font-style: italic; }
/* season cards: slanted tiles */
.seasons-x .sgrid { gap: 14px; }
.seasons-x .sc { transform: skewX(-5deg); border: 3px solid transparent; border-top: 5px solid #c9ccd1; background: #fff; box-shadow: 0 12px 26px rgba(60,64,70,.12); transition: transform .2s, border-color .2s, box-shadow .2s; overflow: hidden; }
.seasons-x .sc > * { transform: skewX(5deg); }
.seasons-x .sc:hover { transform: skewX(-5deg) scale(1.02); border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.15), 0 0 30px rgba(206,26,39,.2), 0 18px 34px rgba(60,64,70,.16); }
.seasons-x .sc__year { font-style: italic; font-size: 2.6rem; }
.seasons-x .sc__rec { font-style: italic; color: #4a4f56; }
.seasons-x .sc__flag { transform: skewX(-12deg); font-style: italic; }
.seasons-x .sc__coach { font-style: italic; color: #4a4f56; }
.seasons-x .sc__strip i.w { background: var(--red); } .seasons-x .sc__strip i.l { background: #d5d8dc; }
.seasons-x .sc--runner { border-top-color: var(--red); }
.seasons-x .sc--perfect:not(.sc--title) { border-top-color: var(--red); box-shadow: inset 5px 0 0 var(--red), 0 12px 26px rgba(60,64,70,.12); }
/* title seasons: Corbin red, not black */
.seasons-x .sc--title { background: linear-gradient(135deg, #e8303c 0%, var(--red) 50%, #a8141f 100%); border-color: transparent; border-top-color: #7f0d16; color: #fff; }
.seasons-x .sc--title:hover { border-color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.25), 0 0 40px rgba(206,26,39,.4), 0 18px 34px rgba(60,64,70,.2); }
.seasons-x .sc--title .sc__year { color: #fff; }
.seasons-x .sc--title .sc__flag--title { background: #fff; color: var(--red); }
.seasons-x .sc--title .sc__strip i.w { background: #fff; } .seasons-x .sc--title .sc__strip i.l { background: rgba(255,255,255,.35); }
.seasons-x .sc--title .sc__title-line { border-top-color: rgba(255,255,255,.4); }
.seasons-x .sc--title .sc__photo { opacity: .5; mix-blend-mode: luminosity; }
@media (max-width: 760px) { .seasons-x .sc, .seasons-x .sc:hover, .seasons-x .sc > *, .seasons-x .sx__stat, .seasons-x .sx__stat > * { transform: none; } }
@media (prefers-reduced-motion: reduce) { .seasons-x .sc { transition: none; } }

/* 5.3.0: reset the shared head pseudo-elements under the game-menu heads */
.seasons-x .archive-head::before, .sched-x .sx-head::before { width: auto; aspect-ratio: auto; top: 0; right: 0; bottom: 0; left: 0; translate: none; rotate: none; opacity: 1; }
.seasons-x .archive-head::after { inset: auto; right: -1%; bottom: -16%; background: none; translate: none; rotate: none; opacity: 1; }

.seasons-x .sc--title .sc__rec, .seasons-x .sc--title .sc__coach { color: #fff; } .seasons-x .sc--title .sc__foot, .seasons-x .sc--title .sc__norec { color: rgba(255,255,255,.85); }

/* 5.4.0: the main menu in the game-menu look (unlayered, like the nav rules it restyles) */
@media (min-width: 1024px) {
	body .primary-nav__menu { gap: 4px; }
	body .primary-nav__menu > .menu-item { position: relative; padding: 0 6px; isolation: isolate; }
	body .primary-nav__menu > .menu-item--mega { position: static; }
	body .primary-nav__menu > .menu-item > a { position: relative; z-index: 1; padding: 12px 6px 12px 10px; border-bottom: 0 !important; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.05rem; letter-spacing: .1em; text-transform: uppercase; color: #4a4f56; transition: color .15s; }
	body .primary-nav__menu > .menu-item > .menu-item__toggle { position: relative; z-index: 1; color: #8a9099; transition: color .15s, transform .2s; }
	body .primary-nav__menu > .menu-item::before { content: ""; position: absolute; z-index: 0; left: 0; right: 0; top: 50%; height: 44px; margin-top: -22px; transform: skewX(-14deg) scaleX(.6); opacity: 0; background: var(--red); transition: opacity .15s, transform .2s; }
	body .primary-nav__menu > .menu-item:hover::before, body .primary-nav__menu > .menu-item:focus-within::before, body .primary-nav__menu > .menu-item.is-open::before { opacity: 1; transform: skewX(-14deg) scaleX(1); box-shadow: 0 8px 20px rgba(206,26,39,.3); }
	body .primary-nav__menu > .menu-item:hover > a, body .primary-nav__menu > .menu-item:focus-within > a, body .primary-nav__menu > .menu-item.is-open > a, body .primary-nav__menu > .menu-item:hover > .menu-item__toggle, body .primary-nav__menu > .menu-item:focus-within > .menu-item__toggle, body .primary-nav__menu > .menu-item.is-open > .menu-item__toggle { color: #fff; }
	body .primary-nav__menu > .menu-item:hover > .menu-item__toggle, body .primary-nav__menu > .menu-item.is-open > .menu-item__toggle { transform: rotate(180deg); }
	/* the section you are in: a red slash under it */
	body .primary-nav__menu > .menu-item.is-current > a { color: var(--red); }
	body .primary-nav__menu > .menu-item.is-current::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 2px; height: 5px; background: var(--red); transform: skewX(-20deg); }
	body .primary-nav__menu > .menu-item.is-current:hover::after, body .primary-nav__menu > .menu-item.is-current.is-open::after { opacity: 0; }
}
/* the mega menus: red, white and silver */
body .primary-nav .mega { border-top: 5px solid var(--red); box-shadow: 0 30px 60px -20px rgba(110,10,18,.35); }
body .mega__desc { font-style: italic; }
body .mega__head { font-family: var(--font-display); font-style: italic; font-weight: 900; color: var(--red); letter-spacing: .16em; }
body .primary-nav .mega__col li a { font-style: italic; font-weight: 800; color: #4a4f56; }
body .primary-nav .mega__col li a:hover { color: var(--red); }
body .mega__card { background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 50%, #b3141f 100%); transform: skewX(-4deg); box-shadow: 0 16px 34px rgba(206,26,39,.3); }
body .mega__card > * { transform: skewX(4deg); }
body .mega__card:hover { background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, #b3141f 60%, #a8141f 100%); box-shadow: 0 0 0 3px rgba(255,255,255,.6), 0 0 34px rgba(206,26,39,.45); }
body .mega__card-k { color: rgba(255,255,255,.88); font-style: italic; font-weight: 900; }
body .mega__card b { font-style: italic; font-weight: 900; }
body .mega__card-cta { display: inline-flex; align-self: flex-start; padding: 6px 12px; background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
/* the search: a slanted outline that fills red; its panel in Corbin red */
body .arcsearch__btn { transform: skewX(-12deg); background: #fff; color: var(--red); border: 2px solid var(--red); padding: 10px 18px; font-style: italic; font-weight: 900; transition: background .15s, color .15s, box-shadow .15s; }
body .arcsearch__btn > * { transform: skewX(12deg); }
body .arcsearch__btn:hover, body .arcsearch__btn[aria-expanded="true"] { background: var(--red); color: #fff; box-shadow: 0 8px 20px rgba(206,26,39,.3); }
body .arcsearch { background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 50%, #b3141f 100%); border-top: 5px solid #fff; box-shadow: 0 30px 60px -20px rgba(110,10,18,.5); }
body .arcsearch__input { font-style: italic; font-weight: 900; }
body .arcsearch__input::placeholder { color: rgba(255,255,255,.7); }
body .arcsearch__go { background: #fff; color: var(--red); transform: skewX(-12deg); font-style: italic; font-weight: 900; }
body .arcsearch__starts .chip { transform: skewX(-12deg); border-radius: 0; font-style: italic; border-color: rgba(255,255,255,.6); } body .arcsearch__starts .chip:hover { background: #fff; color: var(--red); }
/* the call to action: Join free for guests, Share for members */
body .masthead__go { display: inline-flex; align-items: center; gap: 10px; margin-left: 14px; flex: none; padding: 12px 22px; transform: skewX(-12deg); background: var(--red); color: #fff; text-decoration: none; box-shadow: 5px 5px 0 #c9ccd1; transition: transform .15s, box-shadow .15s, background .15s; }
body .masthead__go > * { transform: skewX(12deg); }
body .masthead__go span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1rem; letter-spacing: .14em; text-transform: uppercase; }
body .masthead__go em { font-style: normal; padding: 2px 7px; background: #fff; color: var(--red); font-family: var(--font-display); font-weight: 900; font-size: .78rem; letter-spacing: .06em; }
body .masthead__go .icon { width: 16px; height: 16px; }
body .masthead__go:hover { background: #a8141f; color: #fff; transform: skewX(-12deg) translate(-2px, -2px); box-shadow: 7px 7px 0 #c9ccd1; }
@media (max-width: 1279px) { body .masthead__go { display: none; } }
@media (prefers-reduced-motion: reduce) { body .primary-nav__menu > .menu-item::before, body .masthead__go { transition: none; } }

/* 5.4.0 fix: the slanted tab and the current-section slash hang off the link itself, since mega items are position: static */
@media (min-width: 1024px) {
	body .primary-nav__menu > .menu-item::before, body .primary-nav__menu > .menu-item.is-current::after { content: none; }
	body .primary-nav__menu > .menu-item > a { isolation: isolate; }
	body .primary-nav__menu > .menu-item > a::before { content: ""; position: absolute; z-index: -1; left: 0; right: -26px; top: 50%; height: 44px; margin-top: -22px; transform: skewX(-14deg) scaleX(.6); opacity: 0; background: var(--red); transition: opacity .15s, transform .2s; }
	body .primary-nav__menu > .menu-item--simple > a::before { right: 0; }
	body .primary-nav__menu > .menu-item:hover > a::before, body .primary-nav__menu > .menu-item:focus-within > a::before, body .primary-nav__menu > .menu-item.is-open > a::before { opacity: 1; transform: skewX(-14deg) scaleX(1); box-shadow: 0 8px 20px rgba(206,26,39,.3); }
	body .primary-nav__menu > .menu-item > .menu-item__toggle { z-index: 2; }
	body .primary-nav__menu > .menu-item.is-current > a::after { content: ""; position: absolute; left: 10px; right: -18px; bottom: 2px; height: 5px; background: var(--red); transform: skewX(-20deg); }
	body .primary-nav__menu > .menu-item--simple.is-current > a::after { right: 6px; }
	body .primary-nav__menu > .menu-item.is-current:hover > a::after, body .primary-nav__menu > .menu-item.is-current.is-open > a::after, body .primary-nav__menu > .menu-item.is-current:focus-within > a::after { opacity: 0; }
}

/* 5.4.1: fixes from the open Sports menu */
@media (min-width: 1024px) {
	/* the current section's name stays white while its tab is showing (it was red on red) */
	body .primary-nav__menu > .menu-item.is-current:hover > a, body .primary-nav__menu > .menu-item.is-current:focus-within > a, body .primary-nav__menu > .menu-item.is-current.is-open > a { color: #fff; }
}
/* the card's kicker: white, readable on the red */
body .primary-nav .mega .mega__card-k { color: rgba(255,255,255,.9); font-style: italic; font-weight: 900; font-size: .74rem; }
/* Sports: the sport names lead, Schedule / Results / Rosters sit small under them */
body .primary-nav .mega__col li.mega__sport { padding: 8px 0 10px; }
body .primary-nav .mega__col li a.mega__sportname { padding: 0; font-style: italic; font-weight: 900; font-size: 1.2rem; color: #4a4f56; }
body .primary-nav .mega__col li a.mega__sportname:hover { color: var(--red); }
body .primary-nav .mega__subs { gap: 14px; margin-top: 3px; }
body .primary-nav .mega__col li .mega__subs a { display: inline; padding: 0; font-style: normal; font-weight: 700; font-size: .74rem; letter-spacing: .12em; color: #8a9099; transform: none; }
body .primary-nav .mega__col li .mega__subs a:first-child { color: var(--red); }
body .primary-nav .mega__col li .mega__subs a:hover { color: var(--red); transform: none; }
/* the card shouldn't stretch the full height of a tall menu */
body .mega__card { align-self: start; }

/* 5.5.0: the Rosters page in the game-menu look (unlayered, after the Seasons head it shares) */
.rosters-x .archive-head::after { content: "Rosters"; }
.rosters-x .rl-group { margin-bottom: 56px; }
.rosters-x .rl-group__title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 14px; padding: 0 0 12px; border-bottom: 0; font-style: italic; font-weight: 900; font-size: clamp(2.2rem, 4.4vw, 3.6rem); letter-spacing: -.01em; color: #4a4f56; }
.rosters-x .rl-group__title::after { content: ""; flex: 1 1 60px; height: 6px; align-self: center; background: linear-gradient(90deg, var(--red) 0 90px, #dfe2e6 90px); transform: skewX(-20deg); }
.rosters-x .rl-group__title span { display: inline-block; padding: 5px 12px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; }
.rosters-x .rl-grid { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; }
.rosters-x .rl-card a { position: relative; transform: skewX(-6deg); border: 3px solid transparent; border-top: 5px solid var(--red); background: #fff; box-shadow: 0 12px 26px rgba(60,64,70,.12); overflow: hidden; transition: transform .2s, border-color .2s, box-shadow .2s; }
.rosters-x .rl-card a > * { transform: skewX(6deg); }
.rosters-x .rl-card a:hover { transform: skewX(-6deg) scale(1.04); border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.15), 0 0 30px rgba(206,26,39,.22), 0 18px 34px rgba(60,64,70,.16); }
.rosters-x .rl-card__photo { margin: 0 -10px; background: var(--red); position: relative; }
.rosters-x .rl-card__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(206,26,39,0) 40%, rgba(160,14,24,.6)); }
.rosters-x .rl-card__photo img { filter: grayscale(.4) contrast(1.08); }
.rosters-x .rl-card__body { padding: 14px 16px 14px; }
.rosters-x .rl-card__year { font-style: italic; font-weight: 900; font-size: 2.3rem; line-height: .9; letter-spacing: -.01em; }
.rosters-x .rl-card__meta { font-family: var(--font-display); font-style: italic; font-weight: 800; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: #6b6f75; }
.rosters-x .rl-card.has-photo a { border-top-color: transparent; }
.rosters-x .rl-help { margin-top: 10px; padding: 18px 22px; transform: skewX(-4deg); background: #fff; border-left: 6px solid var(--red); box-shadow: 0 10px 22px rgba(60,64,70,.08); }
.rosters-x .rl-help > * { transform: none; }
.rosters-x .rl-help a { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.rosters-x .archive-empty { padding: 22px; background: #fff; border-left: 6px solid var(--red); }
@media (max-width: 760px) { .rosters-x .rl-card a, .rosters-x .rl-card a:hover, .rosters-x .rl-card a > *, .rosters-x .rl-help { transform: none; } .rosters-x .rl-card__photo { margin: 0; } .rosters-x .rl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .rosters-x .rl-card a { transition: none; } }

/* 5.5.0: rosters without a team photo get a red block with the C, so every card is the same shape */
.rosters-x .rl-card:not(.has-photo) a::before { content: ""; display: block; aspect-ratio: 3 / 2; margin: 0 -10px; transform: skewX(6deg); background: var(--corbin-mark-white, none) center / 46% no-repeat, radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #b3141f 100%); opacity: 1; }
.rosters-x .rl-card:not(.has-photo) a { border-top-color: transparent; }
@media (max-width: 760px) { .rosters-x .rl-card:not(.has-photo) a::before { margin: 0; transform: none; } }

/* 5.6.0: All-time series in the game-menu look (unlayered) */
.vs-x .archive-head::after { content: "VS"; font-size: clamp(180px, 26vw, 400px); bottom: -22%; }
/* the numbers band: the deeper red under the head */
.vs-x .vs-band { background: #a8141f; border-top: 0; }
.vs-x .vs-band__nums { background: transparent; gap: 10px; padding: 16px 0; }
.vs-x .vs-band__nums div { transform: skewX(-10deg); background: rgba(255,255,255,.1); border: 2px solid rgba(255,255,255,.28); padding: 14px 20px; }
.vs-x .vs-band__nums div > * { transform: skewX(10deg); }
.vs-x .vs-band__nums b { font-style: italic; font-weight: 900; color: #fff; }
.vs-x .vs-band__nums span { font-family: var(--font-display); font-style: italic; font-weight: 900; color: rgba(255,255,255,.88); }
/* the rivalries: versus cards */
.vs-x .vsx-top { background: linear-gradient(180deg, #eef0f2, #f6f7f8); color: #4a4f56; }
.vs-x .vsx-top .archive-title { color: #4a4f56; font-style: italic; font-size: clamp(2.2rem, 4.4vw, 3.6rem); }
.vs-x .vsx-top .archive-kicker { color: var(--red); font-style: italic; }
.vsx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 430px), 1fr)); gap: 18px; }
.vsx { display: flex; flex-direction: column; overflow: hidden; background: #fff; text-decoration: none; color: #4a4f56; transform: skewX(-4deg); border: 3px solid transparent; box-shadow: 0 16px 34px rgba(60,64,70,.16); transition: transform .2s, border-color .2s, box-shadow .2s; }
.vsx > * { transform: skewX(4deg); }
.vsx:hover { transform: skewX(-4deg) scale(1.02); border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.15), 0 0 40px rgba(206,26,39,.25), 0 22px 44px rgba(60,64,70,.2); color: #4a4f56; }
.vsx__split { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: 170px; margin: 0 -10px; }
.vsx__side { display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; padding: 18px 26px 16px; }
.vsx__side--c { background: radial-gradient(120% 120% at 0% 0%, #e8303c 0%, var(--red) 55%, #b3141f 100%); color: #fff; clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%); padding-right: 40px; }
.vsx__side--o { background: linear-gradient(225deg, #ffffff, #e3e6ea 70%, #d2d6db); color: #4a4f56; clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%); margin-left: -12%; padding-left: 50px; text-align: right; align-items: flex-end; }
.vsx__who { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.2rem, 1.8vw, 1.6rem); line-height: .95; text-transform: uppercase; }
.vsx__wins { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(3.6rem, 5.4vw, 5rem); line-height: .85; letter-spacing: -.02em; }
.vsx__side--o .vsx__wins { color: #8a9099; }
.vsx.is-down .vsx__side--o .vsx__wins { color: #4a4f56; }
.vsx__lbl { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; opacity: .85; }
.vsx__vs { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) skewX(-10deg); padding: 6px 14px; background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.8rem; line-height: 1; box-shadow: 0 0 0 4px var(--red), 0 8px 20px rgba(0,0,0,.25); z-index: 2; }
.vsx__foot { display: flex; flex-direction: column; gap: 8px; padding: 14px 18px 16px; }
.vsx__lead { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.05rem; letter-spacing: .06em; text-transform: uppercase; color: #6b6f75; }
.vsx__lead b { font-size: 1.6rem; color: var(--red); letter-spacing: 0; margin-right: 4px; }
.vsx.is-down .vsx__lead b { color: #4a4f56; }
.vsx__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-family: var(--font-display); font-weight: 800; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: #8a9099; }
.vsx__streak { font-style: italic; padding: 3px 10px; transform: skewX(-12deg); } .vsx__streak.is-w { background: var(--red); color: #fff; } .vsx__streak.is-l { background: #e3e6ea; color: #4a4f56; }
.vsx__run { display: flex; flex-wrap: wrap; align-items: center; gap: 3px; }
.vsx__run i { display: grid; place-items: center; width: 22px; height: 22px; transform: skewX(-10deg); font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: .7rem; background: #e3e6ea; color: #6b6f75; }
.vsx__run i.is-w { background: var(--red); color: #fff; }
.vsx__last { margin-left: 10px; font-family: var(--font-display); font-style: italic; font-weight: 800; font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: #6b6f75; }
/* every opponent: search, sort and slanted rows */
.vs-x .vs-tools .archive-title { font-style: italic; color: #4a4f56; }
.vs-x .vs-tools .archive-kicker { color: var(--red); font-style: italic; }
.vs-x .vs-search { transform: skewX(-10deg); border: 2px solid var(--red); font-style: italic; font-weight: 800; }
.vs-x .vs-sort .chip { transform: skewX(-12deg); border-radius: 0; border: 2px solid #c9ccd1; background: #fff; color: #4a4f56; font-style: italic; font-weight: 900; }
.vs-x .vs-sort .chip.is-active { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 8px 18px rgba(206,26,39,.28); }
.vs-x .vs-list { border-top: 0; display: grid; gap: 8px; }
.vs-x .vs-row a { transform: skewX(-4deg); background: #fff; border: 2px solid transparent; border-bottom: 2px solid transparent; box-shadow: 0 8px 18px rgba(60,64,70,.08); transition: transform .15s, border-color .15s, box-shadow .15s; padding: 12px 18px; }
.vs-x .vs-row a > * { transform: skewX(4deg); }
.vs-x .vs-row a:hover { transform: skewX(-4deg) scale(1.01); border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.12), 0 14px 26px rgba(60,64,70,.14); }
.vs-x .vs-row__name b { font-style: italic; font-weight: 900; }
.vs-x .vs-row__bar { height: 12px; background: #e3e6ea; transform: skewX(-20deg); }
.vs-x .vs-row.is-down .vs-row__bar i { background: #8a9099; }
.vs-x .vs-row__games b, .vs-x .vs-row__record b { font-style: italic; font-weight: 900; }
.vs-x .vs-row.is-up .vs-row__record b { color: var(--red); }
@media (max-width: 760px) { .vsx, .vsx:hover, .vsx > *, .vs-x .vs-row a, .vs-x .vs-row a:hover, .vs-x .vs-row a > *, .vs-x .vs-band__nums div, .vs-x .vs-band__nums div > * { transform: none; } .vsx__split { margin: 0; } .vsx__side { padding: 14px 16px; } .vsx__side--c { padding-right: 34px; } .vsx__side--o { padding-left: 40px; } }
@media (prefers-reduced-motion: reduce) { .vsx, .vs-x .vs-row a { transition: none; } }

/* 5.7.0: Year by year, all sports, in the game-menu look (unlayered) */
.yby-x .archive-head::after { font-size: clamp(180px, 26vw, 400px); bottom: -22%; }
.ybx-band { background: #a8141f; color: #fff; }
.ybx-band__in { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; padding-top: 16px; padding-bottom: 16px; }
.ybx-band__in > div { transform: skewX(-10deg); background: rgba(255,255,255,.1); border: 2px solid rgba(255,255,255,.28); padding: 14px 20px; }
.ybx-band__in > div > * { display: block; transform: skewX(10deg); }
.ybx-band__in b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.8rem, 3.2vw, 2.8rem); line-height: .95; color: #fff; }
.ybx-band__in span { margin-top: 4px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.88); }
.ybx { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.ybx__totals { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; margin-bottom: 26px; }
.ybx-sport { display: flex; flex-direction: column; gap: 2px; padding: 14px 18px; transform: skewX(-8deg); background: #fff; border-top: 5px solid var(--red); box-shadow: 0 10px 22px rgba(60,64,70,.1); text-decoration: none; color: #4a4f56; transition: transform .15s, box-shadow .15s; }
.ybx-sport > * { transform: skewX(8deg); }
.ybx-sport:hover { transform: skewX(-8deg) scale(1.03); box-shadow: 0 0 0 3px rgba(206,26,39,.15), 0 16px 30px rgba(60,64,70,.16); color: #4a4f56; }
.ybx-sport__k { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); }
.ybx-sport b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.9rem; line-height: 1; }
.ybx-sport__m { font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: #8a9099; }
.ybx__key { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-bottom: 12px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; color: #6b6f75; }
.ybx__key i { display: inline-block; width: 22px; height: 14px; margin-right: 6px; vertical-align: -2px; transform: skewX(-12deg); background: #fff; border: 1px solid #dfe2e6; }
.ybx__key i.is-champ { background: var(--red); border-color: var(--red); } .ybx__key i.is-runner { background: #fff; border: 3px solid var(--red); } .ybx__key i.is-win { background: #fbe3e5; border-color: #f3c3c7; }
.ybx__wrap { overflow-x: auto; background: #fff; box-shadow: 0 16px 34px rgba(60,64,70,.12); border-top: 6px solid var(--red); }
.ybx__table { width: 100%; border-collapse: separate; border-spacing: 0; font-family: var(--font-display); text-transform: uppercase; }
.ybx__table thead th { position: sticky; top: 0; z-index: 2; padding: 12px 10px; background: #fff; border-bottom: 3px solid #4a4f56; text-align: center; font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .12em; white-space: nowrap; }
.ybx__table thead th a { color: #4a4f56; text-decoration: none; } .ybx__table thead th a:hover { color: var(--red); }
.ybx__table thead th:first-child, .ybx__table .ybx__year { position: sticky; left: 0; z-index: 3; background: #fff; text-align: left; }
.ybx__table thead th:last-child { color: var(--red); }
.ybx__table td, .ybx__table .ybx__year { padding: 0; border-bottom: 1px solid #eef0f2; text-align: center; white-space: nowrap; }
.ybx__table .ybx__year { padding: 8px 14px; font-style: italic; font-weight: 900; font-size: 1.15rem; color: var(--red); border-right: 2px solid #eef0f2; }
.ybx__table td a { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 46px; padding: 6px 10px; color: #4a4f56; text-decoration: none; font-weight: 900; font-size: 1.02rem; transition: background .12s, transform .12s; }
.ybx__table td a:hover { background: #4a4f56; color: #fff; }
.ybx__table td em { font-style: italic; font-size: .62rem; letter-spacing: .14em; }
.ybx__table td.is-win a { background: #fbe3e5; }
.ybx__table td.is-champ a { background: var(--red); color: #fff; box-shadow: inset 0 0 0 2px #fff; }
.ybx__table td.is-runner a { background: #fff; color: var(--red); box-shadow: inset 0 0 0 3px var(--red); }
.ybx__table td.is-champ a:hover, .ybx__table td.is-runner a:hover { background: #a8141f; color: #fff; }
.ybx__table .ybx__none { color: #c9ccd1; font-size: 1.2rem; }
.ybx__table .ybx__nr { font-size: .7rem; letter-spacing: .1em; color: #8a9099; }
.ybx__table .ybx__all { padding: 6px 14px; font-weight: 900; font-size: 1.05rem; color: #6b6f75; background: #f6f7f8; border-left: 2px solid #eef0f2; }
.ybx__table .ybx__all.is-win { color: var(--red); }
.ybx__table .ybx__dec th { padding: 10px 14px; background: #f3f4f6; text-align: left; font-style: italic; font-weight: 900; font-size: 1.3rem; color: #4a4f56; border-bottom: 2px solid var(--red); position: sticky; left: 0; }
/* the single-sport page in the same colors: the hero and the century grid were near black */
.yby-x .trophy { background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 50%, #b3141f 100%); border-bottom: 6px solid #fff; }
.yby-x .trophy::before { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); }
.yby-x .trophy__strip { background: #a8141f; border-top: 0; }
.yby-x .trophy__title { font-style: italic; }
.yby-x .ygrid { background: linear-gradient(180deg, #eef0f2, #f6f7f8); color: #4a4f56; }
.yby-x .ygrid .sline__title { color: #4a4f56; font-style: italic; }
.yby-x .ycell { background: #c9ccd1; color: #4a4f56; }
.yby-x .ycell.is-none { background: transparent; outline-color: #dfe2e6; }
.yby-x .ycell.t0 { background: #e6e8eb; color: #8a9099; }
.yby-x .ycell.t1 { background: #d5d8dc; } .yby-x .ycell.t2 { background: #f3c3c7; } .yby-x .ycell.t3 { background: #ee9aa1; } .yby-x .ycell.t4 { background: #e2606b; color: #fff; } .yby-x .ycell.t5 { background: #d2323e; color: #fff; }
.yby-x .ycell.is-champ { background: var(--red); color: #fff; box-shadow: inset 0 0 0 2px #fff, 0 0 0 2px var(--red); }
.yby-x .ycell.is-runner { background: #fff; color: var(--red); }
.yby-x a.ycell:hover { outline-color: #4a4f56; }
@media (max-width: 760px) { .ybx-sport, .ybx-sport > *, .ybx-band__in > div, .ybx-band__in > div > * { transform: none; } .ybx__table td a { min-height: 40px; padding: 4px 8px; font-size: .9rem; } }

@media (max-width: 760px) { .ybx__totals { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .ybx-sport b { font-size: 1.5rem; } .ybx-band__in { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 5.7.1: Year by year keeps its classic look; the sport cards on the all-sports board sit straight */
.ybx-sport, .ybx-sport:hover, .ybx-sport > * { transform: none; }
.ybx-sport:hover { box-shadow: 0 0 0 2px var(--red), 0 16px 30px rgba(60,64,70,.16); }
.ybx .chx-head { margin-bottom: 18px; }

/* 5.8.0: Year by year, all sports: everything under the banner hero */
.ybq-tabs { background: #0e1013; border-bottom: 4px solid var(--red); }
.ybq-tabs__in { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.ybq-tabs__in a { flex: none; padding: 16px 18px 14px; font-family: var(--font-display); font-weight: 900; font-size: .92rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.72); text-decoration: none; border-bottom: 4px solid transparent; margin-bottom: -4px; transition: color .15s, background .15s; }
.ybq-tabs__in a:hover { color: #fff; background: rgba(255,255,255,.06); }
.ybq-tabs__in a.is-on { color: #fff; background: var(--red); border-bottom-color: var(--red); }
.ybq-head { margin-bottom: 22px; }
.ybq-head h2 { margin: 6px 0 0; font-family: var(--font-display); font-weight: 900; font-size: clamp(2rem, 4vw, 3.2rem); line-height: .95; text-transform: uppercase; color: var(--graphite); }
.ybq-head p { margin: 8px 0 0; max-width: 760px; font-family: var(--font-serif); color: var(--ink2, #4a4f56); }
.ybq-head--dark h2 { color: #fff; }
.ybq-key { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 12px 0 0; font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.ybq-key i { display: inline-block; width: 12px; height: 18px; margin-right: 3px; vertical-align: -4px; background: #3a4048; }
.ybq-key i.t1 { background: #3a4048; } .ybq-key i.t3 { background: #8a9099; } .ybq-key i.t5 { background: #f3f4f6; }
.ybq-key i.is-champ { background: var(--red); } .ybq-key i.is-runner { background: #fff; box-shadow: inset 0 0 0 3px var(--red); }
.ybq-key--light { margin: 0 0 12px; color: #6b6f75; } .ybq-key--light i { width: 22px; height: 14px; vertical-align: -2px; background: #fff; border: 1px solid #dfe2e6; }
.ybq-key--light i.is-champ { background: var(--red); border-color: var(--red); } .ybq-key--light i.is-runner { background: #fff; border: 3px solid var(--red); box-shadow: none; } .ybq-key--light i.is-win { background: #fbe3e5; border-color: #f3c3c7; }
/* lanes: the hero's dark carried down */
.ybq-lanes { background: linear-gradient(180deg, #15181c, var(--graphite)); color: #fff; padding: clamp(40px, 5vw, 64px) 0; }
.ybq-lanes__scroll { overflow-x: auto; }
.ybq-lanes__inner { min-width: 860px; display: grid; gap: 10px; }
.ybq-lane { display: grid; grid-template-columns: 190px 1fr; align-items: center; gap: 16px; }
.ybq-lane__name { display: flex; flex-direction: column; gap: 2px; padding: 8px 12px; background: rgba(255,255,255,.05); border-left: 4px solid var(--red); text-decoration: none; color: #fff; }
.ybq-lane__name:hover { background: rgba(255,255,255,.1); color: #fff; }
.ybq-lane__name b { font-family: var(--font-display); font-weight: 900; font-size: .95rem; letter-spacing: .08em; text-transform: uppercase; }
.ybq-lane__name span { font-family: var(--font-display); font-weight: 800; font-size: .78rem; letter-spacing: .1em; color: rgba(255,255,255,.65); }
.ybq-lane__track { position: relative; height: 42px; background: rgba(255,255,255,.04); outline: 1px solid rgba(255,255,255,.06); }
.ybq-tick { position: absolute; top: 4px; bottom: 4px; min-width: 3px; background: #3a4048; box-shadow: inset -1px 0 0 rgba(0,0,0,.35); transition: transform .12s; }
.ybq-tick.t0 { background: #2a2e34; } .ybq-tick.t1 { background: #4a4f56; } .ybq-tick.t2 { background: #6b6f75; } .ybq-tick.t3 { background: #8a9099; } .ybq-tick.t4 { background: #c9ccd1; } .ybq-tick.t5 { background: #f3f4f6; }
.ybq-tick.is-champ { top: 0; bottom: 0; background: var(--red); box-shadow: 0 0 12px rgba(206,26,39,.8); z-index: 2; }
.ybq-tick.is-runner { top: 0; bottom: 0; background: #fff; box-shadow: inset 0 0 0 2px var(--red); z-index: 2; }
.ybq-tick:hover, .ybq-tick:focus-visible { transform: scaleY(1.25); z-index: 3; outline: 2px solid #fff; }
.ybq-axis { display: grid; grid-template-columns: 190px 1fr; gap: 16px; margin-top: 4px; }
.ybq-axis > div { position: relative; height: 18px; border-top: 1px solid rgba(255,255,255,.18); }
.ybq-axis i { position: absolute; top: 4px; translate: -50% 0; font-style: normal; font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .08em; color: rgba(255,255,255,.55); }
/* the program cards */
.ybq-progs { background: #f3f4f6; padding: clamp(40px, 5vw, 64px) 0; }
.ybq-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.ybq-card { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px 16px; background: #fff; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(28,31,35,.08); text-decoration: none; color: var(--graphite); transition: transform .2s, box-shadow .2s; }
.ybq-card:hover { transform: translateY(-4px); box-shadow: 0 0 0 2px var(--red), 0 20px 36px rgba(28,31,35,.14); color: var(--graphite); }
.ybq-card__top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.ybq-card__name { font-family: var(--font-display); font-weight: 900; font-size: 1.15rem; letter-spacing: .06em; text-transform: uppercase; }
.ybq-card__span { font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: #8a9099; }
.ybq-card__rec { font-family: var(--font-display); font-weight: 900; font-size: clamp(2.2rem, 3.4vw, 2.9rem); line-height: .9; letter-spacing: -.01em; color: var(--red); }
.ybq-card__bar { display: block; height: 8px; background: #e6e8eb; } .ybq-card__bar i { display: block; height: 100%; background: var(--graphite); }
.ybq-card__nums { display: flex; flex-wrap: wrap; gap: 4px 16px; font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: #6b6f75; } .ybq-card__nums b { font-size: 1rem; color: var(--graphite); }
.ybq-card__flags { display: flex; flex-wrap: wrap; gap: 4px; }
.ybq-card__flags em { font-style: normal; padding: 3px 8px 8px; font-family: var(--font-display); font-weight: 900; font-size: .78rem; clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 78%, 0 100%); }
.ybq-card__flags em.is-champ { background: var(--red); color: #fff; } .ybq-card__flags em.is-runner { background: #d5d8dc; color: var(--graphite); }
.ybq-card__best { font-family: var(--font-serif); font-size: .9rem; color: #5b6169; } .ybq-card__best b { font-family: var(--font-display); font-weight: 900; color: var(--graphite); }
.ybq-card__go { margin-top: auto; font-family: var(--font-display); font-weight: 900; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
/* the board */
.ybq-board { background: #fff; padding: clamp(40px, 5vw, 64px) 0; }
.ybq-wrap { overflow-x: auto; border: 1px solid #e3e6ea; box-shadow: 0 16px 34px rgba(28,31,35,.08); max-height: 78vh; overflow-y: auto; }
.ybq-table { width: 100%; border-collapse: separate; border-spacing: 0; font-family: var(--font-display); text-transform: uppercase; }
.ybq-table thead th { position: sticky; top: 0; z-index: 4; padding: 14px 12px; background: var(--graphite); color: #fff; text-align: center; font-weight: 900; font-size: .8rem; letter-spacing: .12em; white-space: nowrap; border-bottom: 4px solid var(--red); }
.ybq-table thead th a { color: #fff; text-decoration: none; } .ybq-table thead th a:hover { color: #ffb3b9; }
.ybq-table thead th:first-child { left: 0; z-index: 5; text-align: left; }
.ybq-table .ybq-table__allh { background: var(--red); }
.ybq-table td, .ybq-table .ybq-year { padding: 0; border-bottom: 1px solid #eef0f2; border-right: 1px solid #f3f4f6; text-align: center; white-space: nowrap; }
.ybq-table tbody tr:hover td, .ybq-table tbody tr:hover .ybq-year { background-color: #f6f7f8; }
.ybq-year { position: sticky; left: 0; z-index: 2; padding: 0 16px !important; background: #fff; text-align: left !important; font-weight: 900; font-size: 1.2rem; color: var(--graphite); border-right: 3px solid #e3e6ea !important; }
.ybq-table td a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; min-height: 48px; padding: 6px 10px; color: var(--graphite); text-decoration: none; }
.ybq-table td a b { font-weight: 900; font-size: 1.05rem; }
.ybq-table td a em { font-style: normal; font-weight: 900; font-size: .6rem; letter-spacing: .14em; }
.ybq-table td a:hover { background: var(--graphite); color: #fff; }
.ybq-table td.is-win a { background: #fbe3e5; }
.ybq-table td.is-champ a { background: var(--red); color: #fff; box-shadow: inset 0 0 0 2px #fff; }
.ybq-table td.is-runner a { background: #f3f4f6; color: var(--red); box-shadow: inset 0 0 0 3px var(--red); }
.ybq-table td.is-champ a:hover, .ybq-table td.is-runner a:hover { background: #a8141f; color: #fff; }
.ybq-none span { display: inline-block; width: 14px; height: 2px; background: #dfe2e6; vertical-align: middle; }
.ybq-nr { font-size: .7rem; letter-spacing: .1em; color: #8a9099; }
.ybq-all { padding: 6px 14px !important; background: #f6f7f8; border-left: 3px solid #e3e6ea !important; }
.ybq-all b { display: block; font-weight: 900; font-size: 1.05rem; color: #6b6f75; } .ybq-all.is-win b { color: var(--red); }
.ybq-all__bar { display: block; width: 70px; height: 4px; margin: 4px auto 0; background: #e3e6ea; } .ybq-all__bar i { display: block; height: 100%; background: var(--red); }
.ybq-dec th { position: sticky; left: 0; padding: 0; background: #1c1f23; text-align: left; }
.ybq-dec th span { display: flex; align-items: baseline; gap: 14px; padding: 10px 16px; color: #fff; }
.ybq-dec th b { font-weight: 900; font-size: 1.5rem; line-height: 1; } .ybq-dec th em { font-style: normal; font-weight: 800; font-size: .76rem; letter-spacing: .12em; color: rgba(255,255,255,.7); }
@media (max-width: 760px) { .ybq-cards { grid-template-columns: 1fr; } .ybq-table td a { min-height: 42px; padding: 4px 8px; } .ybq-wrap { max-height: none; } }
@media (prefers-reduced-motion: reduce) { .ybq-card, .ybq-tick { transition: none; } }

/* 5.8.1: Year by year, all sports, below the hero: the game-menu look of Schedule, Teams and Seasons; the board no longer scrolls in a box */
.ybq-head h2 { font-style: italic; font-size: clamp(2.2rem, 4.4vw, 3.6rem); letter-spacing: -.01em; color: #4a4f56; }
.ybq-head h2::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.ybq-head .archive-kicker, .ybq-head .chx-tag { font-style: italic; }
/* tabs: slanted, like the Schedule filters */
.ybq-tabs { background: #fff; border-bottom: 4px solid var(--red); }
.ybq-tabs__in { gap: 8px; padding-top: 14px; padding-bottom: 14px; flex-wrap: wrap; overflow: visible; }
.ybq-tabs__in a { padding: 9px 18px; margin: 0; border: 2px solid #c9ccd1; border-bottom: 2px solid #c9ccd1; transform: skewX(-12deg); background: #fff; color: #4a4f56; font-style: italic; font-size: .86rem; }
.ybq-tabs__in a:hover { border-color: var(--red); color: var(--red); background: #fff; }
.ybq-tabs__in a.is-on { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.18), 0 8px 18px rgba(206,26,39,.3); }
/* every sport at a glance: light, with slanted lane names */
.ybq-lanes { background: linear-gradient(180deg, #eef0f2, #f6f7f8); color: #4a4f56; }
.ybq-head--dark h2 { color: #4a4f56; }
.ybq-key { color: #6b6f75; }
.ybq-key i.t1 { background: #e3e6ea; } .ybq-key i.t3 { background: #b0b5bb; } .ybq-key i.t5 { background: #4a4f56; }
.ybq-key i.is-runner { background: #fff; box-shadow: inset 0 0 0 3px var(--red); }
.ybq-lanes__scroll { overflow: visible; }
.ybq-lanes__inner { min-width: 0; gap: 12px; }
.ybq-lane { grid-template-columns: 200px 1fr; }
.ybq-lane__name { transform: skewX(-10deg); background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #b3141f 100%); border-left: 0; color: #fff; box-shadow: 0 8px 18px rgba(206,26,39,.22); }
.ybq-lane__name > * { transform: skewX(10deg); }
.ybq-lane__name:hover { background: #a8141f; color: #fff; }
.ybq-lane__name b { font-style: italic; } .ybq-lane__name span { color: rgba(255,255,255,.85); font-style: italic; }
.ybq-lane__track { height: 46px; background: #fff; outline: 0; box-shadow: 0 8px 18px rgba(60,64,70,.08); transform: skewX(-10deg); }
.ybq-tick { box-shadow: inset -1px 0 0 rgba(255,255,255,.7); }
.ybq-tick.t0 { background: #f3f4f6; } .ybq-tick.t1 { background: #e3e6ea; } .ybq-tick.t2 { background: #c9ccd1; } .ybq-tick.t3 { background: #a3a8ae; } .ybq-tick.t4 { background: #6b6f75; } .ybq-tick.t5 { background: #4a4f56; }
.ybq-tick.is-champ { box-shadow: 0 0 12px rgba(206,26,39,.6); }
.ybq-tick:hover, .ybq-tick:focus-visible { outline-color: var(--red); }
.ybq-axis { grid-template-columns: 200px 1fr; } .ybq-axis > div { border-top-color: #c9ccd1; } .ybq-axis i { color: #6b6f75; font-style: italic; }
/* program cards: slanted tiles */
.ybq-progs { background: #fff; }
.ybq-cards { gap: 18px; }
.ybq-card { transform: skewX(-5deg); border: 3px solid transparent; border-top: 5px solid var(--red); box-shadow: 0 14px 30px rgba(60,64,70,.12); transition: transform .2s, border-color .2s, box-shadow .2s; }
.ybq-card > * { transform: skewX(5deg); }
.ybq-card:hover { transform: skewX(-5deg) scale(1.03); border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.15), 0 0 34px rgba(206,26,39,.22), 0 20px 40px rgba(60,64,70,.18); }
.ybq-card__name, .ybq-card__rec, .ybq-card__go, .ybq-card__best b { font-style: italic; }
.ybq-card__rec { font-size: clamp(2.4rem, 3.6vw, 3.1rem); }
.ybq-card__bar { transform: skewX(-20deg); } .ybq-card__bar i { background: var(--red); }
.ybq-card__nums b { color: #4a4f56; }
.ybq-card__go { align-self: flex-start; padding: 6px 12px; background: var(--red); color: #fff; transform: skewX(-12deg); }
/* the board: no inner scroll box on desktop; red header; slanted decade chips */
.ybq-board { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.ybq-wrap { max-height: none; overflow: visible; border: 0; background: #fff; box-shadow: 0 16px 34px rgba(60,64,70,.12); }
.ybq-table thead th { position: static; background: radial-gradient(120% 220% at 15% 0%, #e8303c 0%, var(--red) 55%, #b3141f 100%); border-bottom: 4px solid #7f0d16; font-style: italic; }
.ybq-table thead th a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ybq-table .ybq-table__allh { background: #8f101a; }
.ybq-year { position: static; font-style: italic; color: var(--red); }
.ybq-table td a b, .ybq-all b { font-style: italic; }
.ybq-table td.is-runner a { background: #fff; }
.ybq-dec th { position: static; background: transparent; padding: 18px 0 8px; }
.ybq-dec th span { display: inline-flex; padding: 8px 18px; transform: skewX(-12deg); background: #4a4f56; }
.ybq-dec th span > * { transform: skewX(12deg); }
.ybq-dec th b { font-style: italic; }
.ybq-tabs__in::-webkit-scrollbar { display: none; }
/* phones: the board is wider than the screen, so only there does it slide sideways */
@media (max-width: 900px) { .ybq-wrap { overflow-x: auto; } .ybq-lanes__scroll { overflow-x: auto; } .ybq-lanes__inner { min-width: 760px; } }
@media (max-width: 760px) { .ybq-card, .ybq-card:hover, .ybq-card > *, .ybq-lane__name, .ybq-lane__name > *, .ybq-lane__track, .ybq-tabs__in a { transform: none; } .ybq-lane, .ybq-axis { grid-template-columns: 150px 1fr; } }

/* 5.9.0: The big games (/history/games/) in the game-menu look (unlayered) */
.games-x .archive-head::after { content: "Playoffs"; }
.games-x .vs-band { background: #a8141f; border-top: 0; color: #fff; }
.games-x .vs-band__nums { background: transparent; gap: 10px; padding: 16px 0; }
.games-x .vs-band__nums div { transform: skewX(-10deg); background: rgba(255,255,255,.1); border: 2px solid rgba(255,255,255,.28); padding: 14px 20px; }
.games-x .vs-band__nums div > * { transform: skewX(10deg); }
.games-x .vs-band__nums b { font-style: italic; font-weight: 900; color: #fff; }
.games-x .vs-band__nums span { font-family: var(--font-display); font-style: italic; font-weight: 900; color: rgba(255,255,255,.88); }
.games-x .gx-finals { background: linear-gradient(180deg, #eef0f2, #f6f7f8); color: #4a4f56; }
.games-x .archive-section__head .archive-title { color: #4a4f56; font-style: italic; font-size: clamp(2.2rem, 4.4vw, 3.6rem); }
.games-x .archive-section__head .archive-title::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.games-x .archive-section__head .archive-kicker { color: var(--red); font-style: italic; }
.games-x .gx-finals .vsx__vs { font-size: 1.35rem; padding: 6px 12px; }
.games-x .gx-finals .vsx.is-down .vsx__side--c { background: linear-gradient(135deg, #8a9099, #6b6f75); }
.games-x .gx-finals .vsx.is-down .vsx__side--o .vsx__wins { color: var(--red); }
.games-x .gx-all { background: #fff; }
.games-x .gx-all .dec { margin-bottom: 40px; }
.games-x .gx-all .schedule__list { display: grid; gap: 12px; margin: 0; padding: 0; }
.games-x .game-row__dow { white-space: nowrap; }
@media (max-width: 760px) { .games-x .vs-band__nums div, .games-x .vs-band__nums div > * { transform: none; } }

/* 5.9.1: The big games, darker: a black head with red light, a black numbers strip, the state finals under arena lights */
.games-x .archive-head { background: radial-gradient(70% 140% at 85% 0%, rgba(206,26,39,.45) 0%, rgba(206,26,39,0) 60%), linear-gradient(160deg, #0b0c0e 0%, #15181c 55%, #1c1f23 100%); border-bottom: 6px solid var(--red); }
.games-x .archive-head::before { background: repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 2px, transparent 2px 22px); }
.games-x .archive-head::after { -webkit-text-stroke: 3px rgba(206,26,39,.35); }
.games-x .archive-head__title { text-shadow: 0 0 40px rgba(206,26,39,.35); }
.games-x .archive-head .archive-kicker, .games-x .archive-head__back { color: #ff6b74; }
.games-x .filters { background: #0e1013; border-bottom: 4px solid var(--red); }
.games-x .filters .chip { background: transparent; border-color: rgba(255,255,255,.3); color: rgba(255,255,255,.8); }
.games-x .filters .chip:hover { border-color: #fff; color: #fff; }
.games-x .filters .chip.is-active { background: var(--red); border-color: var(--red); color: #fff; }
.games-x .vs-band { background: #15181c; border-bottom: 1px solid rgba(255,255,255,.08); }
.games-x .vs-band__nums div { background: rgba(255,255,255,.04); border: 2px solid rgba(255,255,255,.12); border-top: 4px solid var(--red); }
.games-x .vs-band__nums span { color: rgba(255,255,255,.7); }
/* the finals: dark, lit from above, with the C behind */
.games-x .gx-finals { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(60% 70% at 50% 0%, rgba(255,255,255,.1) 0%, rgba(255,255,255,0) 70%), radial-gradient(50% 60% at 15% 100%, rgba(206,26,39,.28) 0%, rgba(206,26,39,0) 70%), linear-gradient(180deg, #1c1f23 0%, #0e1013 100%); color: #fff; }
.games-x .gx-finals::before { content: ""; position: absolute; z-index: -1; right: -6%; top: 50%; width: min(620px, 52vw); aspect-ratio: 1.7 / 1; translate: 0 -50%; rotate: -8deg; background: var(--corbin-mark-white, none) center / contain no-repeat; opacity: .05; pointer-events: none; }
.games-x .gx-finals .archive-section__head { border-bottom-color: rgba(255,255,255,.15); }
.games-x .gx-finals .archive-section__head .archive-title { color: #fff; }
.games-x .gx-finals .archive-section__head .archive-kicker { color: #ff6b74; }
.games-x .gx-finals .vsx { background: #1c1f23; color: #fff; box-shadow: 0 20px 44px rgba(0,0,0,.5); }
.games-x .gx-finals .vsx:hover { border-color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.4), 0 0 50px rgba(206,26,39,.45), 0 24px 50px rgba(0,0,0,.55); color: #fff; }
.games-x .gx-finals .vsx__side--o { background: linear-gradient(225deg, #3a4048, #2a2e34 70%, #24282d); color: #fff; }
.games-x .gx-finals .vsx__side--o .vsx__wins { color: rgba(255,255,255,.55); }
.games-x .gx-finals .vsx.is-down .vsx__side--c { background: linear-gradient(135deg, #4a4f56, #3a4048); }
.games-x .gx-finals .vsx.is-down .vsx__side--o .vsx__wins { color: #ff6b74; }
.games-x .gx-finals .vsx__lead { color: rgba(255,255,255,.75); } .games-x .gx-finals .vsx__lead b { color: #ff6b74; }
.games-x .gx-finals .vsx.is-down .vsx__lead b { color: rgba(255,255,255,.75); }
.games-x .gx-finals .vsx__meta { color: rgba(255,255,255,.55); }
.games-x .gx-finals .vsx.is-up { box-shadow: 0 0 0 1px rgba(206,26,39,.35), 0 20px 44px rgba(0,0,0,.5), 0 0 40px rgba(206,26,39,.18); }
/* decade by decade: a dark band under each decade's title */
.games-x .gx-all { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.games-x .gx-all .dec__head { padding: 10px 16px; background: #15181c; transform: skewX(-6deg); margin-bottom: 14px; }
.games-x .gx-all .dec__head > * { transform: skewX(6deg); }
.games-x .gx-all .dec__title { color: #fff; }
.games-x .gx-all .dec__title::after { background: var(--red); }
.games-x .gx-all .dec__meta { color: rgba(255,255,255,.7); } .games-x .gx-all .dec__meta b { color: #fff; }
@media (max-width: 760px) { .games-x .gx-all .dec__head, .games-x .gx-all .dec__head > * { transform: none; } }

/* 5.10.0: The Rivalries as fight cards, dark and loud (unlayered) */
.riv-x .archive-head { background: radial-gradient(70% 140% at 85% 0%, rgba(206,26,39,.5) 0%, rgba(206,26,39,0) 60%), linear-gradient(160deg, #0b0c0e 0%, #15181c 55%, #1c1f23 100%); border-bottom: 6px solid var(--red); }
.riv-x .archive-head::before { background: repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 2px, transparent 2px 22px); }
.riv-x .archive-head::after { content: "Rivals"; -webkit-text-stroke: 3px rgba(206,26,39,.35); }
.riv-x .archive-head__title { text-shadow: 0 0 40px rgba(206,26,39,.35); }
.riv-x .archive-head .archive-kicker, .riv-x .archive-head__back { color: #ff6b74; }
.riv-x .vs-band { background: #15181c; border-top: 0; color: #fff; border-bottom: 1px solid rgba(255,255,255,.08); }
.riv-x .vs-band__nums { background: transparent; gap: 10px; padding: 16px 0; }
.riv-x .vs-band__nums div { transform: skewX(-10deg); background: rgba(255,255,255,.04); border: 2px solid rgba(255,255,255,.12); border-top: 4px solid var(--red); padding: 14px 20px; }
.riv-x .vs-band__nums div > * { transform: skewX(10deg); }
.riv-x .vs-band__nums b { font-style: italic; font-weight: 900; color: #fff; } .riv-x .vs-band__nums b small { font-size: .5em; color: rgba(255,255,255,.6); }
.riv-x .vs-band__nums span { font-family: var(--font-display); font-style: italic; font-weight: 900; color: rgba(255,255,255,.7); }
.riv-fights { position: relative; overflow: hidden; isolation: isolate; padding: clamp(44px, 6vw, 80px) 0; background: radial-gradient(60% 50% at 50% 0%, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 70%), radial-gradient(50% 50% at 0% 100%, rgba(206,26,39,.25) 0%, rgba(206,26,39,0) 70%), linear-gradient(180deg, #1c1f23 0%, #0e1013 100%); color: #fff; }
.riv-fights::before { content: ""; position: absolute; z-index: -1; right: -8%; top: 40%; width: min(700px, 60vw); aspect-ratio: 1.7 / 1; rotate: -8deg; background: var(--corbin-mark-white, none) center / contain no-repeat; opacity: .04; pointer-events: none; }
.riv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 520px), 1fr)); gap: 26px; }
.riv { display: flex; flex-direction: column; overflow: hidden; background: #1c1f23; color: #fff; text-decoration: none; transform: skewX(-4deg); border: 3px solid transparent; box-shadow: 0 24px 50px rgba(0,0,0,.5); transition: transform .2s, border-color .2s, box-shadow .2s; }
.riv > * { transform: skewX(4deg); }
.riv:hover { transform: skewX(-4deg) scale(1.02); border-color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.45), 0 0 60px rgba(206,26,39,.45), 0 28px 60px rgba(0,0,0,.6); color: #fff; }
.riv.is-up { box-shadow: 0 0 0 1px rgba(206,26,39,.4), 0 24px 50px rgba(0,0,0,.5), 0 0 40px rgba(206,26,39,.2); }
.riv--lead { grid-column: 1 / -1; }
.riv__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 24px; background: #0e1013; border-bottom: 3px solid var(--red); }
.riv__k { padding: 5px 12px; transform: skewX(-12deg); background: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .82rem; letter-spacing: .16em; text-transform: uppercase; }
.riv__since { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.65); }
.riv__split { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: 210px; margin: 0 -12px; }
.riv--lead .riv__split { min-height: 280px; }
.riv__side { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; padding: 20px 30px 18px; overflow: hidden; isolation: isolate; }
.riv__side--c { background: radial-gradient(120% 120% at 0% 0%, #ff3a46 0%, var(--red) 50%, #8f101a 100%); clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%); padding-right: 50px; }
.riv__side--o { background: linear-gradient(225deg, #3a4048, #24282d); clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); margin-left: -14%; padding-left: 60px; text-align: right; align-items: flex-end; }
.riv__photo { position: absolute; inset: 0; z-index: -1; } .riv__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.15) brightness(.55); }
.riv__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(225deg, rgba(14,16,19,.2), rgba(14,16,19,.85)); }
.riv__mark { width: 40px; height: auto; margin-bottom: auto; opacity: .9; }
.riv__who { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.3rem, 2vw, 1.8rem); line-height: .95; text-transform: uppercase; }
.riv__wins { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(4.4rem, 7vw, 6.4rem); line-height: .82; letter-spacing: -.03em; text-shadow: 0 6px 24px rgba(0,0,0,.3); }
.riv--lead .riv__wins { font-size: clamp(5.4rem, 9vw, 8.6rem); }
.riv__side--o .riv__wins { color: rgba(255,255,255,.55); } .riv.is-down .riv__side--o .riv__wins { color: #ff6b74; }
.riv__lbl { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; opacity: .85; }
.riv__vs { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) skewX(-10deg); z-index: 3; padding: 8px 18px; background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 2.2rem; line-height: 1; box-shadow: 0 0 0 5px var(--red), 0 0 40px rgba(255,255,255,.35), 0 10px 26px rgba(0,0,0,.5); }
.riv--lead .riv__vs { font-size: 3rem; }
.riv__body { display: flex; flex-direction: column; gap: 10px; padding: 18px 24px 22px; }
.riv__title { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.5rem, 2.4vw, 2.1rem); line-height: .95; text-transform: uppercase; }
.riv__lead { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.75); } .riv__lead b { font-size: 1.7rem; letter-spacing: 0; color: #ff6b74; margin-right: 4px; } .riv.is-down .riv__lead b { color: #fff; }
.riv__facts { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; font-family: var(--font-display); font-weight: 800; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.6); } .riv__facts b { font-size: 1.05rem; color: #fff; font-style: italic; }
.riv__streak { font-style: italic; padding: 3px 10px; transform: skewX(-12deg); } .riv__streak.is-w { background: var(--red); color: #fff; } .riv__streak.is-l { background: #3a4048; color: #fff; }
.riv__desc { font-family: var(--font-serif); font-size: 1rem; line-height: 1.55; color: rgba(255,255,255,.82); }
.riv__go { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; padding: 10px 18px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .9rem; letter-spacing: .14em; text-transform: uppercase; }
.riv__go .icon { width: 14px; height: 14px; }
@media (max-width: 760px) { .riv, .riv:hover, .riv > *, .riv-x .vs-band__nums div, .riv-x .vs-band__nums div > * { transform: none; } .riv__split { margin: 0; min-height: 170px; } .riv__side { padding: 14px 16px; } .riv__side--c { padding-right: 36px; } .riv__side--o { padding-left: 44px; } .riv__vs { font-size: 1.6rem; } }
@media (prefers-reduced-motion: reduce) { .riv { transition: none; } }

/* 5.10.1: the opponent logo on their side of each fight card, facing the C */
.riv__logo { display: grid; place-items: center; width: 62px; height: 62px; margin-bottom: auto; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.25), 0 8px 20px rgba(0,0,0,.4); overflow: hidden; }
.riv__logo img { width: 80%; height: 80%; object-fit: contain; }
.riv__logo b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.3rem; text-transform: uppercase; color: #4a4f56; }
.riv--lead .riv__logo { width: 84px; height: 84px; }
.riv__mark { width: 52px; } .riv--lead .riv__mark { width: 68px; }
@media (max-width: 760px) { .riv__logo { width: 48px; height: 48px; } .riv__mark { width: 40px; } }

/* 5.11.0: Where Corbin has played, in the game-menu look (unlayered) */
.opp-x .archive-head::after { content: "On the road"; font-size: clamp(110px, 15vw, 230px); }
.opp-x .vs-band { background: #a8141f; border-top: 0; color: #fff; }
.opp-x .vs-band__nums { background: transparent; gap: 10px; padding: 16px 0; }
.opp-x .vs-band__nums div { transform: skewX(-10deg); background: rgba(255,255,255,.1); border: 2px solid rgba(255,255,255,.28); padding: 14px 20px; }
.opp-x .vs-band__nums div > * { transform: skewX(10deg); }
.opp-x .vs-band__nums b { font-style: italic; font-weight: 900; color: #fff; } .opp-x .vs-band__nums b.opx-most { font-size: clamp(1.3rem, 2vw, 1.8rem); line-height: 1.1; text-transform: uppercase; }
.opp-x .vs-band__nums span { font-family: var(--font-display); font-style: italic; font-weight: 900; color: rgba(255,255,255,.88); }
.opx { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.opx-state { margin-bottom: 48px; }
.opx-state__head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-bottom: 18px; }
.opx-state__head h2 { margin: 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.2rem, 4.4vw, 3.6rem); line-height: .9; text-transform: uppercase; letter-spacing: -.01em; color: #4a4f56; }
.opx-state__head::after { content: ""; flex: 1 1 80px; height: 6px; background: linear-gradient(90deg, var(--red) 0 90px, #dfe2e6 90px); transform: skewX(-20deg); }
.opx-chip { padding: 5px 12px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; }
.opx-state__meta { font-family: var(--font-display); font-style: italic; font-weight: 800; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: #6b6f75; } .opx-state__meta b { color: #4a4f56; }
.opx-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.opx-card { position: relative; display: grid; grid-template-columns: 54px 1fr; grid-template-areas: "logo id" "nums nums" "bar bar"; gap: 10px 14px; padding: 16px 18px 14px; transform: skewX(-6deg); background: #fff; border: 3px solid transparent; border-top: 5px solid #c9ccd1; box-shadow: 0 12px 26px rgba(60,64,70,.12); text-decoration: none; color: #4a4f56; transition: transform .2s, border-color .2s, box-shadow .2s; }
.opx-card > * { transform: skewX(6deg); }
.opx-card.is-up { border-top-color: var(--red); }
.opx-card:hover { transform: skewX(-6deg) scale(1.03); border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.15), 0 0 30px rgba(206,26,39,.2), 0 18px 34px rgba(60,64,70,.16); color: #4a4f56; }
.opx-card__logo { grid-area: logo; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 2px #e3e6ea, 0 6px 14px rgba(60,64,70,.15); overflow: hidden; }
.opx-card__logo img { width: 80%; height: 80%; object-fit: contain; }
.opx-card__logo b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.15rem; text-transform: uppercase; color: #8a9099; }
.opx-card__id { grid-area: id; align-self: center; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.opx-card__name { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.3rem; line-height: 1; text-transform: uppercase; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.opx-card__town { font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: #8a9099; }
.opx-card__nums { grid-area: nums; display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; }
.opx-card__nums b { display: block; font-family: var(--font-display); font-style: italic; font-weight: 900; line-height: .9; }
.opx-card__nums small { display: block; margin-top: 3px; font-family: var(--font-display); font-weight: 800; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: #8a9099; }
.opx-card__games b { font-size: 2.4rem; color: #4a4f56; }
.opx-card__rec { text-align: right; } .opx-card__rec b { font-size: 1.6rem; color: #6b6f75; } .opx-card.is-up .opx-card__rec b { color: var(--red); }
.opx-card__bar { grid-area: bar; display: block; height: 6px; background: #e6e8eb; transform: skewX(-20deg); } .opx-card__bar i { display: block; height: 100%; background: var(--red); } .opx-card.is-down .opx-card__bar i { background: #8a9099; }
@media (max-width: 760px) { .opx-card, .opx-card:hover, .opx-card > *, .opp-x .vs-band__nums div, .opp-x .vs-band__nums div > * { transform: none; } .opx-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .opx-card { transition: none; } }

/* 5.12.0: Championships, everything under the trophy hero: dark arena, loud cards (unlayered) */
/* the timeline carries the hero's black down */
.champ-x .tline { background: linear-gradient(180deg, #15181c, #1c1f23); border-bottom: 0; color: #fff; padding-block: 34px 28px; }
.champ-x .tline__k { color: #ff6b74; font-style: italic; }
.champ-x .tline__track { border-bottom-color: rgba(255,255,255,.35); }
.champ-x .tline__dec { color: rgba(255,255,255,.55); font-style: italic; }
.champ-x .tline__pin { background: #6b6f75; }
.champ-x .tline__pin--state { background: var(--red); box-shadow: 0 0 14px rgba(206,26,39,.8); }
.champ-x .tline__pin i { color: #fff; font-style: italic; }
.champ-x .tline__ends { color: rgba(255,255,255,.6); } .champ-x .tline__legend i { background: #6b6f75; } .champ-x .tline__legend i.is-state { background: var(--red); }
/* the filters: a black bar with slanted tabs */
.champ-x .filters { background: #0e1013; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 4px solid var(--red); }
.champ-x .filters__label { color: #ff6b74; font-style: italic; font-weight: 900; }
.champ-x .filters .chip { transform: skewX(-12deg); border-radius: 0; background: transparent; border: 2px solid rgba(255,255,255,.3); color: rgba(255,255,255,.8); font-style: italic; font-weight: 900; }
.champ-x .filters .chip:hover { border-color: #fff; color: #fff; }
.champ-x .filters .chip.is-active { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 0 18px rgba(206,26,39,.45); }
/* the body: an arena for the state titles */
.champ-x .trophy-body { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(60% 40% at 50% 0%, rgba(255,255,255,.07) 0%, rgba(255,255,255,0) 70%), radial-gradient(45% 35% at 0% 30%, rgba(206,26,39,.22) 0%, rgba(206,26,39,0) 70%), linear-gradient(180deg, #1c1f23 0%, #0e1013 60%, #15181c 100%); color: #fff; }
.champ-x .trophy-body::before { content: ""; position: absolute; z-index: -1; right: -10%; top: 6%; width: min(760px, 62vw); aspect-ratio: 1.7 / 1; rotate: -8deg; background: var(--corbin-mark-white, none) center / contain no-repeat; opacity: .035; pointer-events: none; }
.champ-x .chx-head h2 { color: #fff; font-style: italic; font-size: clamp(2.4rem, 5vw, 4rem); letter-spacing: -.01em; }
.champ-x .chx-head h2::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.champ-x .chx-head .archive-kicker { color: #ff6b74; font-style: italic; }
/* each state title: a big championship card */
.champ-x .sfeat-list { gap: 34px; }
.champ-x .sfeat { position: relative; background: #1c1f23; border: 3px solid transparent; border-top: 0; box-shadow: 0 0 0 1px rgba(206,26,39,.35), 0 30px 60px rgba(0,0,0,.55), 0 0 50px rgba(206,26,39,.15); transform: skewX(-3deg); transition: transform .2s, border-color .2s, box-shadow .2s; }
.champ-x .sfeat > * { transform: skewX(3deg); }
.champ-x .sfeat:hover { transform: skewX(-3deg) scale(1.01); border-color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.5), 0 0 70px rgba(206,26,39,.45), 0 34px 70px rgba(0,0,0,.6); }
.champ-x .sfeat::before { content: "★ State champions"; position: absolute; z-index: 4; top: 0; left: 50%; translate: -50% -50%; padding: 7px 18px; background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .82rem; letter-spacing: .2em; text-transform: uppercase; transform: skewX(-12deg); box-shadow: 0 8px 20px rgba(0,0,0,.4), 0 0 0 3px #1c1f23; white-space: nowrap; }
.champ-x .sfeat__media { margin: 0 -14px; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 50%, #8f101a 100%); }
.champ-x .sfeat__media::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(206,26,39,.15), rgba(28,31,35,.0) 60%, rgba(28,31,35,.85)); pointer-events: none; }
.champ-x .sfeat--flip .sfeat__media::after { background: linear-gradient(270deg, rgba(206,26,39,.15), rgba(28,31,35,0) 60%, rgba(28,31,35,.85)); }
.champ-x .sfeat__mark { opacity: .25; }
.champ-x .sfeat__ghost { -webkit-text-stroke-color: rgba(255,255,255,.7); }
.champ-x .sfeat__body { color: #fff; }
.champ-x .sfeat__k { padding: 4px 12px; transform: skewX(-12deg); background: rgba(255,255,255,.1); color: #fff; font-style: italic; }
.champ-x .sfeat__title, .champ-x .sfeat__title a { color: #fff; font-style: italic; }
.champ-x .sfeat__year { color: #ff3a46; text-shadow: 0 0 30px rgba(206,26,39,.55); font-size: 2em; }
.champ-x .sfeat__score { gap: 0; }
.champ-x .sfeat__score div { min-width: 130px; padding: 12px 18px 8px; background: #2a2e34; transform: skewX(-10deg); border: 0; }
.champ-x .sfeat__score div > * { transform: skewX(10deg); }
.champ-x .sfeat__score div.is-won { background: var(--red); box-shadow: 0 0 26px rgba(206,26,39,.5); }
.champ-x .sfeat__score b { font-style: italic; font-size: clamp(3rem, 5vw, 4.4rem); line-height: .85; color: #fff; }
.champ-x .sfeat__score div:not(.is-won) b { color: rgba(255,255,255,.6); }
.champ-x .sfeat__score span { color: rgba(255,255,255,.85); font-style: italic; }
.champ-x .sfeat__over { color: #fff; font-style: italic; }
.champ-x .sfeat__text { color: rgba(255,255,255,.82); }
.champ-x .sfeat__meta { color: rgba(255,255,255,.6); font-style: italic; }
.champ-x .sfeat__btn { transform: skewX(-12deg); background: #fff; color: var(--red); border-color: #fff; font-style: italic; }
.champ-x .sfeat__btn:hover { background: var(--red); border-color: var(--red); color: #fff; }
/* region, district and conference titles: slanted dark tiles */
.champ-x .chx-titles { gap: 12px; }
.champ-x .chx-title { transform: skewX(-6deg); background: #23272c; border: 2px solid rgba(255,255,255,.08); border-top: 5px solid var(--red); color: #fff; box-shadow: 0 14px 28px rgba(0,0,0,.4); transition: transform .2s, border-color .2s, box-shadow .2s; }
.champ-x .chx-title > * { transform: skewX(6deg); }
.champ-x .chx-title:hover { transform: skewX(-6deg) scale(1.03); border-color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.35), 0 0 34px rgba(206,26,39,.3); color: #fff; }
.champ-x .chx-title b { font-style: italic; color: #ff3a46; }
.champ-x .chx-title span { color: #fff; font-style: italic; }
.champ-x .chx-title small { color: rgba(255,255,255,.6); }
/* know of one that's missing: a red slanted panel */
.champ-x .trophy-missing { transform: skewX(-4deg); background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); border: 0; color: #fff; box-shadow: 0 20px 44px rgba(0,0,0,.45); }
.champ-x .trophy-missing > * { transform: skewX(4deg); }
.champ-x .trophy-missing b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.5rem; text-transform: uppercase; color: #fff; }
.champ-x .trophy-missing p { color: rgba(255,255,255,.9); }
.champ-x .trophy-missing .fbtn { transform: skewX(-12deg); background: #fff; color: var(--red); border-color: #fff; font-style: italic; }
@media (max-width: 760px) { .champ-x .sfeat, .champ-x .sfeat:hover, .champ-x .sfeat > *, .champ-x .chx-title, .champ-x .chx-title:hover, .champ-x .chx-title > *, .champ-x .trophy-missing, .champ-x .trophy-missing > * { transform: none; } .champ-x .sfeat__media { margin: 0; } .champ-x .sfeat__score div { min-width: 100px; } }
@media (prefers-reduced-motion: reduce) { .champ-x .sfeat, .champ-x .chx-title { transition: none; } }

.champ-x .sfeat::before { top: 18px; translate: -50% 0; box-shadow: 0 8px 20px rgba(0,0,0,.45); }
@media (max-width: 999px) { .champ-x .sfeat::before { left: 18px; translate: 0 0; } }

/* 5.13.0: The record book, dark and loud (unlayered) */
.rec-x .archive-head { background: radial-gradient(70% 140% at 85% 0%, rgba(206,26,39,.5) 0%, rgba(206,26,39,0) 60%), linear-gradient(160deg, #0b0c0e 0%, #15181c 55%, #1c1f23 100%); border-bottom: 6px solid var(--red); }
.rec-x .archive-head::before { background: repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 2px, transparent 2px 22px); }
.rec-x .archive-head::after { content: "Records"; -webkit-text-stroke: 3px rgba(206,26,39,.35); }
.rec-x .archive-head__title { text-shadow: 0 0 40px rgba(206,26,39,.35); }
.rec-x .archive-head .archive-kicker, .rec-x .archive-head__back { color: #ff6b74; }
.rec-x .filters { background: #0e1013; border-bottom: 4px solid var(--red); }
.rec-x .filters .chip { background: transparent; border-color: rgba(255,255,255,.3); color: rgba(255,255,255,.8); }
.rec-x .filters .chip:hover { border-color: #fff; color: #fff; }
.rec-x .filters .chip.is-active { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 0 18px rgba(206,26,39,.45); }
.rec-x .rec-body { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(60% 35% at 50% 0%, rgba(255,255,255,.07) 0%, rgba(255,255,255,0) 70%), radial-gradient(45% 30% at 100% 20%, rgba(206,26,39,.22) 0%, rgba(206,26,39,0) 70%), linear-gradient(180deg, #1c1f23 0%, #0e1013 70%, #15181c 100%); color: #fff; }
.rec-x .rec-body::before { content: ""; position: absolute; z-index: -1; left: -10%; top: 8%; width: min(760px, 62vw); aspect-ratio: 1.7 / 1; rotate: 8deg; background: var(--corbin-mark-white, none) center / contain no-repeat; opacity: .035; pointer-events: none; }
.rec-x .rec-body .archive-section__head { border-bottom-color: rgba(255,255,255,.15); }
.rec-x .rec-body .archive-title { color: #fff; font-style: italic; font-size: clamp(2.4rem, 5vw, 4rem); letter-spacing: -.01em; }
.rec-x .rec-body .archive-title::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.rec-x .rec-body .archive-kicker { color: #ff6b74; font-style: italic; }
.rec-x .rec-body .archive-title__sub { color: rgba(255,255,255,.6); }
/* every record: a slanted dark tile with its number on a red block */
.rec-x .records__list { gap: 12px; }
.rec-x .record__link { position: relative; grid-template-columns: minmax(150px, auto) 1fr; gap: 0; padding: 0; overflow: hidden; transform: skewX(-6deg); background: #23272c; border: 2px solid rgba(255,255,255,.08); color: #fff; box-shadow: 0 14px 28px rgba(0,0,0,.4); transition: transform .2s, border-color .2s, box-shadow .2s; }
.rec-x .record__link > * { transform: skewX(6deg); }
.rec-x .record__link:hover { transform: skewX(-6deg) scale(1.02); border-color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.35), 0 0 34px rgba(206,26,39,.3), 0 18px 34px rgba(0,0,0,.5); color: #fff; }
.rec-x .record__value { align-self: stretch; display: flex; align-items: center; justify-content: center; margin-left: -10px; padding: 16px 22px 16px 30px; background: radial-gradient(120% 120% at 15% 0%, #ff3a46 0%, var(--red) 55%, #8f101a 100%); color: #fff; font-style: italic; font-size: clamp(1.8rem, 2.8vw, 2.4rem); text-shadow: 0 4px 16px rgba(0,0,0,.3); text-align: center; }
.rec-x .record__body { padding: 14px 20px; }
.rec-x .record__title { color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; }
.rec-x .record__meta { color: rgba(255,255,255,.6); }
.rec-x .record--broken .record__value { background: linear-gradient(135deg, #4a4f56, #3a4048); color: rgba(255,255,255,.75); }
.rec-x .record--broken .record__title::after { content: "Broken"; display: inline-block; margin-left: 10px; padding: 1px 8px; transform: skewX(-12deg); background: #3a4048; color: rgba(255,255,255,.8); font-size: .62rem; letter-spacing: .14em; vertical-align: 3px; }
/* the first three marks from the games: headline records */
.rec-x .rec-computed .records__list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); }
.rec-x .record--feat .record__link { grid-template-columns: 1fr; border-top: 0; box-shadow: 0 0 0 1px rgba(206,26,39,.4), 0 22px 44px rgba(0,0,0,.5), 0 0 40px rgba(206,26,39,.2); }
.rec-x .record--feat .record__value { justify-content: flex-start; margin: 0 -10px; padding: 26px 34px 18px; font-size: clamp(3.4rem, 6vw, 5.4rem); line-height: .85; }
.rec-x .record--feat .record__body { padding: 16px 26px 20px; }
.rec-x .record--feat .record__title { font-size: 1.35rem; }
/* category headers in the book */
.rec-x .records__cat { display: inline-block; padding: 7px 18px; transform: skewX(-12deg); background: #fff; color: var(--red); border: 0; font-style: italic; font-weight: 900; letter-spacing: .1em; margin-bottom: 14px; }
@media (max-width: 760px) { .rec-x .record__link, .rec-x .record__link:hover, .rec-x .record__link > *, .rec-x .records__cat { transform: none; } .rec-x .record__value { margin: 0; } .rec-x .record__link { grid-template-columns: 110px 1fr; } }
@media (prefers-reduced-motion: reduce) { .rec-x .record__link { transition: none; } }

/* 5.14.0: Streaks, cleaned up, in the game-menu look (unlayered) */
.stk-x .archive-head { background: radial-gradient(70% 140% at 85% 0%, rgba(206,26,39,.5) 0%, rgba(206,26,39,0) 60%), linear-gradient(160deg, #0b0c0e 0%, #15181c 55%, #1c1f23 100%); border-bottom: 0; }
.stk-x .archive-head::before { background: repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 2px, transparent 2px 22px); }
.stk-x .archive-head::after { content: "Streaks"; -webkit-text-stroke: 3px rgba(206,26,39,.35); }
.stk-x .archive-head__title { text-shadow: 0 0 40px rgba(206,26,39,.35); }
.stk-x .archive-head .archive-kicker, .stk-x .archive-head__back { color: #ff6b74; }
.stk-x .filters { background: #0e1013; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 0; }
.stk-x .filters__label { color: #ff6b74; font-style: italic; font-weight: 900; }
.stk-x .filters .chip { background: transparent; border-color: rgba(255,255,255,.3); color: rgba(255,255,255,.8); }
.stk-x .filters .chip:hover { border-color: #fff; color: #fff; }
.stk-x .filters .chip.is-active { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 0 18px rgba(206,26,39,.45); }
/* the big numbers: slanted tiles on black */
.stk-x .stk-band { background: #15181c; border-top: 4px solid var(--red); padding: 22px 0; }
.stk-x .stk-band__grid { background: transparent; gap: 12px; }
.stk-x .stk-big { transform: skewX(-8deg); background: rgba(255,255,255,.04); border: 2px solid rgba(255,255,255,.12); border-top: 5px solid var(--red); padding: 16px 22px; }
.stk-x .stk-big > * { transform: skewX(8deg); }
.stk-x .stk-big b { font-style: italic; font-size: clamp(3rem, 5vw, 4.4rem); line-height: .85; color: #fff; text-shadow: 0 0 26px rgba(206,26,39,.5); }
.stk-x .stk-big__k { color: #ff6b74; font-style: italic; }
.stk-x .stk-big__s { color: rgba(255,255,255,.65); font-style: italic; }
.stk-x .stk-big--l { border-top-color: #6b6f75; } .stk-x .stk-big--l b { color: rgba(255,255,255,.75); text-shadow: none; }
.stk-x .stk-big--now { background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); border-color: transparent; box-shadow: 0 0 30px rgba(206,26,39,.45); } .stk-x .stk-big--now .stk-big__k, .stk-x .stk-big--now .stk-big__s { color: rgba(255,255,255,.92); }
.stk-x .stk-big--now.stk-big--l { background: linear-gradient(135deg, #4a4f56, #3a4048); box-shadow: none; }
/* the longest run: the games as a chain of slanted red tiles */
.stk-x .stk-feature { background: radial-gradient(60% 60% at 50% 0%, rgba(255,255,255,.07) 0%, rgba(255,255,255,0) 70%), linear-gradient(180deg, #1c1f23, #0e1013); }
.stk-x .stk-feature .archive-section__head { border-bottom-color: rgba(255,255,255,.15); }
.stk-x .stk-feature .archive-title { font-style: italic; font-size: clamp(2rem, 4vw, 3.2rem); }
.stk-x .stk-feature .archive-kicker { color: #ff6b74; font-style: italic; }
.stk-x .stk-run { gap: 8px; }
.stk-x .stk-run a { transform: skewX(-8deg); box-shadow: 0 10px 22px rgba(0,0,0,.4); transition: transform .15s, box-shadow .15s; }
.stk-x .stk-run a > * { transform: skewX(8deg); }
.stk-x .stk-run a:hover { transform: skewX(-8deg) translateY(-3px); box-shadow: 0 0 0 2px #fff, 0 0 24px rgba(206,26,39,.5); }
.stk-x .stk-run .is-end a { background: #3a4048; color: #fff; }
/* the lists: two clean columns of ranked rows */
.stk-board { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.stk-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr)); gap: 36px 30px; }
.stk-col__title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; margin: 0 0 16px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: .95; text-transform: uppercase; color: #4a4f56; }
.stk-col__title::after { content: ""; flex: 1 1 40px; height: 5px; align-self: center; background: linear-gradient(90deg, var(--red) 0 70px, #dfe2e6 70px); transform: skewX(-20deg); }
.stk-col--l .stk-col__title::after { background: linear-gradient(90deg, #6b6f75 0 70px, #dfe2e6 70px); }
.stk-col__title span { order: 3; flex-basis: 100%; font-size: .74rem; letter-spacing: .16em; color: #8a9099; }
.stk-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.stk-row { display: grid; grid-template-columns: 34px 84px 1fr; align-items: stretch; transform: skewX(-6deg); background: #fff; box-shadow: 0 8px 18px rgba(60,64,70,.08); overflow: hidden; }
.stk-row > * { transform: skewX(6deg); }
.stk-row__rank { display: grid; place-items: center; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .95rem; color: #8a9099; }
.stk-row__n { display: grid; place-items: center; margin: 0; background: #4a4f56; color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 2.2rem; line-height: 1; }
.stk-col--w .stk-row__n, .stk-col--u .stk-row__n, .stk-col--h .stk-row__n { background: var(--red); }
.stk-row.is-top .stk-row__n { font-size: 2.8rem; box-shadow: inset 0 0 0 3px rgba(255,255,255,.5); }
.stk-row__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 11px 16px 12px; }
.stk-row__span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.15rem; line-height: 1; text-transform: uppercase; color: #4a4f56; }
.stk-row__span em { display: inline-block; margin-left: 6px; padding: 2px 8px; transform: skewX(-12deg); background: #1fa356; color: #fff; font-size: .62rem; letter-spacing: .14em; vertical-align: 2px; }
.stk-col--l .stk-row__span em { background: #6b6f75; }
.stk-row__meta { font-size: .82rem; color: #6b6f75; } .stk-row__meta a { color: #4a4f56; font-weight: 600; text-decoration: none; border-bottom: 1px solid #c9ccd1; } .stk-row__meta a:hover { color: var(--red); border-color: var(--red); }
.stk-row__bar { display: block; height: 4px; margin-top: 2px; background: #eef0f2; transform: skewX(-20deg); } .stk-row__bar i { display: block; height: 100%; background: var(--red); } .stk-col--l .stk-row__bar i { background: #8a9099; }
.stk-row__games summary { cursor: pointer; display: inline-block; margin-top: 4px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); list-style: none; }
.stk-row__games summary::-webkit-details-marker { display: none; } .stk-row__games summary::after { content: " +"; } .stk-row__games[open] summary::after { content: " −"; }
.stk-row__chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; } .stk-row__chips a { padding: 3px 7px; transform: skewX(-10deg); background: #f3f4f6; color: #4a4f56; font-family: var(--font-display); font-weight: 900; font-size: .74rem; text-decoration: none; } .stk-row__chips a:hover { background: var(--red); color: #fff; }
.stk-col--w .stk-row__chips a, .stk-col--u .stk-row__chips a, .stk-col--h .stk-row__chips a { border-bottom: 2px solid var(--red); }
@media (max-width: 760px) { .stk-x .stk-big, .stk-x .stk-big > *, .stk-x .stk-run a, .stk-x .stk-run a > *, .stk-row, .stk-row > * { transform: none; } .stk-row { grid-template-columns: 26px 64px 1fr; } .stk-row__n { font-size: 1.8rem; } }

/* 5.15.0: Deep cuts, in the Streaks page look: dark head, black tab bar, an arena of slanted numbered cards (unlayered) */
.dc-x .archive-head::after { content: "Deep cuts"; font-size: clamp(130px, 19vw, 300px); }
.dc-x .filters { border-bottom: 4px solid var(--red); }
.dc-x .dc-arena, .dc-arena { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(60% 40% at 50% 0%, rgba(255,255,255,.07) 0%, rgba(255,255,255,0) 70%), radial-gradient(45% 35% at 100% 30%, rgba(206,26,39,.22) 0%, rgba(206,26,39,0) 70%), linear-gradient(180deg, #1c1f23 0%, #0e1013 100%); color: #fff; }
.dc-arena::before { content: ""; position: absolute; z-index: -1; left: -10%; bottom: -10%; width: min(760px, 62vw); aspect-ratio: 1.7 / 1; rotate: 8deg; background: var(--corbin-mark-white, none) center / contain no-repeat; opacity: .035; pointer-events: none; }
.dc-x .deep-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 18px; counter-reset: dc; }
.dc-x .deep-card { position: relative; display: flex; flex-direction: column; gap: 8px; min-height: 210px; padding: 22px 24px 20px; transform: skewX(-6deg); background: #23272c; border: 2px solid rgba(255,255,255,.08); border-top: 5px solid var(--red); color: #fff; text-decoration: none; box-shadow: 0 16px 32px rgba(0,0,0,.45); overflow: hidden; counter-increment: dc; transition: transform .2s, border-color .2s, box-shadow .2s; }
.dc-x .deep-card > * { position: relative; transform: skewX(6deg); }
.dc-x .deep-card::before { content: counter(dc, decimal-leading-zero); position: absolute; right: 10px; top: -6px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 6.4rem; line-height: 1; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.1); transform: skewX(6deg); pointer-events: none; }
.dc-x .deep-card:hover { transform: skewX(-6deg) scale(1.03); border-color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.35), 0 0 40px rgba(206,26,39,.35), 0 20px 40px rgba(0,0,0,.55); color: #fff; }
.dc-x .deep-card:hover::before { -webkit-text-stroke-color: rgba(206,26,39,.55); }
.dc-x .deep-card__num { align-self: flex-start; padding: 4px 12px; transform: skewX(-6deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; box-shadow: 0 0 18px rgba(206,26,39,.4); }
.dc-x .deep-card__title { margin-top: auto; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.6rem, 2.4vw, 2.1rem); line-height: .95; text-transform: uppercase; color: #fff; }
.dc-x .deep-card__text { font-family: var(--font-serif); font-size: .95rem; line-height: 1.5; color: rgba(255,255,255,.7); }
.dc-x .deep-card::after { content: "Open \2192"; position: relative; align-self: flex-start; margin-top: 6px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: #ff6b74; transform: skewX(6deg); }
@media (max-width: 760px) { .dc-x .deep-card, .dc-x .deep-card:hover, .dc-x .deep-card > *, .dc-x .deep-card::before, .dc-x .deep-card::after, .dc-x .deep-card__num { transform: none; } }
@media (prefers-reduced-motion: reduce) { .dc-x .deep-card { transition: none; } }

/* 5.16.0: every Deep Cuts page in the Streaks look (unlayered) */
.dcp-x .archive-head::after { content: "Deep cuts"; font-size: clamp(130px, 19vw, 300px); }
.opp-x.dcp-x .archive-head::after { content: "On the road"; }
.dcp-x .filters { border-bottom: 4px solid var(--red); }
.dcp-x .archive-section.archive-section--paper { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(60% 40% at 50% 0%, rgba(255,255,255,.07) 0%, rgba(255,255,255,0) 70%), radial-gradient(45% 35% at 100% 25%, rgba(206,26,39,.2) 0%, rgba(206,26,39,0) 70%), linear-gradient(180deg, #1c1f23 0%, #0e1013 100%); color: #fff; }
.dcp-x .archive-section.archive-section--paper::before { content: ""; position: absolute; z-index: -1; left: -10%; top: 10%; width: min(760px, 62vw); aspect-ratio: 1.7 / 1; rotate: 8deg; background: var(--corbin-mark-white, none) center / contain no-repeat; opacity: .03; pointer-events: none; }
.dcp-x .archive-section__head { border-bottom-color: rgba(255,255,255,.15); }
.dcp-x .archive-section .archive-title { color: #fff; font-style: italic; font-size: clamp(2.2rem, 4.4vw, 3.6rem); letter-spacing: -.01em; }
.dcp-x .archive-section .archive-title::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.dcp-x .archive-section .archive-kicker { color: #ff6b74; font-style: italic; }
.dcp-x .archive-section .archive-title__sub { color: rgba(255,255,255,.6); }
.dcp-x .archive-section p:not([class]) { color: rgba(255,255,255,.8); }
/* the big numbers and the fact tiles */
.dcp-x .numbers__big { gap: 12px; }
.dcp-x .numbers__stat, .dcp-x .series-fact { transform: skewX(-8deg); padding: 16px 22px; background: rgba(255,255,255,.04); border: 2px solid rgba(255,255,255,.12); border-top: 5px solid var(--red); color: #fff; box-shadow: 0 14px 28px rgba(0,0,0,.35); }
.dcp-x .numbers__stat > *, .dcp-x .series-fact > * { transform: skewX(8deg); }
.dcp-x .numbers__value, .dcp-x .series-fact__value { font-style: italic; color: #fff; text-shadow: 0 0 22px rgba(206,26,39,.45); }
.dcp-x .numbers__label, .dcp-x .series-fact__label { color: #ff6b74; font-style: italic; }
.dcp-x .series-fact__value a { color: #fff; }
/* milestone and stretch rows */
.dcp-x .milestones { gap: 8px; }
.dcp-x .milestone { transform: skewX(-6deg); background: #23272c; border: 2px solid rgba(255,255,255,.08); color: #fff; box-shadow: 0 10px 22px rgba(0,0,0,.35); }
.dcp-x .milestone > * { transform: skewX(6deg); }
.dcp-x .milestone__n { font-family: var(--font-display); font-style: italic; font-size: 1.6rem; color: #ff3a46; text-shadow: 0 0 18px rgba(206,26,39,.45); }
.dcp-x .milestone a { color: #fff; } .dcp-x .milestone__season { color: rgba(255,255,255,.65); }
/* coaching eras */
.dcp-x .era { transform: skewX(-4deg); background: #23272c; border: 2px solid rgba(255,255,255,.08); border-left: 0; border-top: 5px solid var(--red); color: #fff; box-shadow: 0 16px 32px rgba(0,0,0,.4); }
.dcp-x .era > * { transform: skewX(4deg); }
.dcp-x .era__name, .dcp-x .era__name a { color: #fff; font-style: italic; } .dcp-x .era__record { color: #ff3a46; font-style: italic; } .dcp-x .era__years { color: rgba(255,255,255,.65); }
.dcp-x .era .series-fact { transform: none; box-shadow: none; } .dcp-x .era .series-fact > * { transform: none; }
/* chips */
.dcp-x .archive-section .chip { transform: skewX(-12deg); border-radius: 0; background: transparent; border: 2px solid rgba(255,255,255,.3); color: rgba(255,255,255,.85); font-style: italic; font-weight: 900; }
.dcp-x .archive-section .chip:hover { border-color: #fff; color: #fff; } .dcp-x .archive-section .chip.is-active { background: var(--red); border-color: var(--red); color: #fff; }
/* tables and the scorigami grid: white cards on the dark, and no scroll box */
.dcp-x .scorigami-wrap { max-height: none; overflow-x: auto; overflow-y: visible; border: 0; box-shadow: 0 20px 44px rgba(0,0,0,.45); border-top: 6px solid var(--red); }
.dcp-x .yby-wrap { background: #fff; color: var(--graphite); box-shadow: 0 20px 44px rgba(0,0,0,.45); border-top: 6px solid var(--red); }
/* game lists keep their white tiles */
.dcp-x .schedule__list { display: grid; gap: 12px; }
/* the opponents page joins in */
.opp-x.dcp-x .vs-band { background: #15181c; }
.opp-x.dcp-x .vs-band__nums div { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.12); border-top: 4px solid var(--red); }
.opp-x.dcp-x .opx { background: transparent; }
.opp-x.dcp-x .opx-state__head h2 { color: #fff; }
.opp-x.dcp-x .opx-state__head::after { background: linear-gradient(90deg, var(--red) 0 90px, rgba(255,255,255,.15) 90px); }
.opp-x.dcp-x .opx-state__meta { color: rgba(255,255,255,.6); } .opp-x.dcp-x .opx-state__meta b { color: #fff; }
/* "other angles" at the foot of every deep cut */
.dcp-x .archive-section--tight .chips { gap: 8px; }
@media (max-width: 760px) { .dcp-x .numbers__stat, .dcp-x .series-fact, .dcp-x .numbers__stat > *, .dcp-x .series-fact > *, .dcp-x .milestone, .dcp-x .milestone > *, .dcp-x .era, .dcp-x .era > *, .dcp-x .archive-section .chip { transform: none; } }

/* 5.17.0: What's New in the light game-menu look: red head, light body, slanted tiles (unlayered) */
.wnx-x .wnh { overflow: hidden; isolation: isolate; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); border-top: 0; }
.wnx-x .wnh::before { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); opacity: 1; }
.wnx-x .wnh::after { content: none; }
.wnx-x .wnh__ghost { position: absolute; z-index: -1; right: -2%; bottom: -16%; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(200px, 30vw, 460px); line-height: .8; letter-spacing: -.04em; text-transform: uppercase; color: transparent; -webkit-text-stroke: 3px rgba(255,255,255,.15); pointer-events: none; user-select: none; }
.wnx-x .wnh__text { position: relative; }
.wnx-x .wnh .archive-kicker { color: rgba(255,255,255,.9); font-style: italic; }
.wnx-x .wnh__title { font-style: italic; color: #fff; }
.wnx-x .wnh__lede { color: rgba(255,255,255,.92); }
.wnx-x .wnh__nums { background: transparent; gap: 10px; }
.wnx-x .wnh__nums div { transform: skewX(-10deg); background: rgba(120,8,16,.38); border: 2px solid rgba(255,255,255,.3); }
.wnx-x .wnh__nums div > * { transform: skewX(10deg); }
.wnx-x .wnh__nums b { font-style: italic; color: #fff; }
.wnx-x .wnh__nums span { color: rgba(255,255,255,.88); font-style: italic; }
/* the latest additions: slanted photo tiles on silver, red-washed instead of black */
.wnx-x .wnl { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.wnx-x .wnl__k { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.01em; line-height: .95; color: #4a4f56; margin-bottom: 20px; }
.wnx-x .wnl__k::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.wnx-x .wnl__grid { gap: 16px; }
.wnx-x .wnl__card { transform: skewX(-4deg); background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); border: 3px solid transparent; border-top: 5px solid #fff; box-shadow: 0 16px 34px rgba(60,64,70,.2); transition: transform .2s, border-color .2s, box-shadow .2s; }
.wnx-x .wnl__card > * { transform: skewX(4deg); }
.wnx-x .wnl__card:hover { transform: skewX(-4deg) scale(1.02); border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.2), 0 0 40px rgba(206,26,39,.3), 0 22px 44px rgba(60,64,70,.25); }
.wnx-x .wnl__art { inset: 0 -14px; filter: grayscale(.4) contrast(1.05); mix-blend-mode: multiply; }
.wnx-x .wnl__art::after { background: linear-gradient(180deg, rgba(160,14,24,0) 30%, rgba(160,14,24,.55) 70%, rgba(140,12,20,.92) 100%); }
.wnx-x .wnl__type { color: #fff; font-style: italic; font-weight: 900; padding: 3px 9px; background: rgba(0,0,0,.18); transform: skewX(-12deg); }
.wnx-x .wnl__new { background: #fff; color: var(--red); transform: skewX(-12deg); font-weight: 900; }
.wnx-x .wnl__when { color: rgba(255,255,255,.85); font-style: italic; }
.wnx-x .wnl__year, .wnx-x .wnl__text { font-style: italic; font-weight: 900; }
.wnx-x .wnl__sport { transform: skewX(-12deg); font-style: italic; font-weight: 900; }
/* the timeline: slanted filters, red date tags, slanted rows */
.wnx-x .wnt { background: #fff; }
.wnx-x .wnt__filters { gap: 8px; }
.wnx-x .wnt__filters .chip { transform: skewX(-12deg); border-radius: 0; border: 2px solid #c9ccd1; background: #fff; color: #4a4f56; font-style: italic; font-weight: 900; }
.wnx-x .wnt__filters .chip:hover { border-color: var(--red); color: var(--red); }
.wnx-x .wnt__filters .chip.is-active { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.18), 0 8px 18px rgba(206,26,39,.3); }
.wnx-x .wnt__count { font-style: italic; font-weight: 900; color: #6b6f75; }
.wnx-x .wnt__days::before { width: 4px; left: 6px; background: linear-gradient(180deg, var(--red), #dfe2e6); transform: skewX(-6deg); }
.wnx-x .wnt__day::before { border-radius: 0; transform: skewX(-12deg); width: 14px; height: 14px; box-shadow: 0 0 0 3px #fff; }
.wnx-x .wnt__date { border-bottom: 0; gap: 12px; }
.wnx-x .wnt__date-dow { padding: 4px 10px; transform: skewX(-12deg); background: var(--red); color: #fff; font-style: italic; font-weight: 900; }
.wnx-x .wnt__date-md { font-style: italic; font-weight: 900; font-size: clamp(1.6rem, 3vw, 2.2rem); color: #4a4f56; }
.wnx-x .wnt__date i { transform: skewX(-12deg); background: #4a4f56; font-style: italic; font-weight: 900; }
.wnx-x .wnt__list { display: grid; gap: 8px; }
.wnx-x .wnt__item a { transform: skewX(-5deg); border: 2px solid transparent; border-left: 6px solid #c9ccd1; box-shadow: 0 8px 18px rgba(60,64,70,.08); transition: transform .15s, border-color .15s, box-shadow .15s; }
.wnx-x .wnt__item a > * { transform: skewX(5deg); }
.wnx-x .wnt__item a:hover { transform: skewX(-5deg) scale(1.01); border-color: var(--red); border-left-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.12), 0 14px 26px rgba(60,64,70,.14); }
.wnx-x .wnt__item--roster a, .wnx-x .wnt__item--title a, .wnx-x .wnt__item--hof a { border-left-color: var(--red); }
.wnx-x .wnt__type { font-style: italic; font-weight: 900; color: var(--red); }
.wnx-x .wnt__body b { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; font-size: 1.05rem; color: #4a4f56; }
.wnx-x .wnt__new { transform: skewX(-12deg); font-weight: 900; }
@media (max-width: 760px) { .wnx-x .wnh__nums div, .wnx-x .wnh__nums div > *, .wnx-x .wnl__card, .wnx-x .wnl__card:hover, .wnx-x .wnl__card > *, .wnx-x .wnt__item a, .wnx-x .wnt__item a:hover, .wnx-x .wnt__item a > * { transform: none; } .wnx-x .wnl__art { inset: 0; } }
@media (prefers-reduced-motion: reduce) { .wnx-x .wnl__card, .wnx-x .wnt__item a { transition: none; } }

/* 5.17.0: lighter photo tiles (red with the photo showing through, not near-black); the timeline uses the full width */
.wnx-x .wnl__art { mix-blend-mode: luminosity; opacity: .5; filter: grayscale(1) contrast(1.1) brightness(1.25); }
.wnx-x .wnl__art::after { background: linear-gradient(180deg, rgba(206,26,39,0) 35%, rgba(190,22,34,.45) 75%, rgba(170,18,30,.8) 100%); }
.wnx-x .wnt__days { max-width: none; }

/* 5.17.1: the timeline line stays a straight line down the left (skewing a tall line made it drift across the page), and the slanted rows keep clear of the right edge */
.wnx-x .wnt__days::before { transform: none; left: 6px; width: 3px; }
.wnx-x .wnt__list { padding: 0 18px 0 8px; }
.wnx-x .wnt__date { padding-right: 18px; }
.wnx-x .wnt { overflow-x: clip; }

/* 5.18.0: Coaching eras, light and easy to read (unlayered) */
.ce-x .archive-head::after { content: "Coaches"; }
.ce-x .cex-body { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.cex-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.cex { display: grid; grid-template-columns: minmax(260px, 340px) 1fr; transform: skewX(-4deg); background: #fff; border-top: 5px solid #c9ccd1; box-shadow: 0 12px 26px rgba(60,64,70,.1); overflow: hidden; }
.cex > * { transform: skewX(4deg); }
.cex.has-title { border-top-color: var(--red); }
.cex__id { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 18px 24px 18px 30px; margin-left: -10px; background: #f6f7f8; border-right: 1px solid #e3e6ea; }
.cex__years { padding: 4px 10px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; }
.cex__name { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.5rem, 2.2vw, 1.95rem); line-height: 1; text-transform: uppercase; color: #3a3f46; text-decoration: none; }
.cex__name:hover { color: var(--red); }
.cex__rec { display: flex; align-items: baseline; gap: 10px; }
.cex__rec b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 2.2rem; line-height: 1; color: #4a4f56; } .cex__rec b.is-win { color: var(--red); }
.cex__rec small { font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: #6b6f75; }
.cex__titles { padding: 3px 10px; transform: skewX(-12deg); background: #fff; border: 2px solid var(--red); color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.cex__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; }
.cex__facts > div { padding: 14px 22px; border-bottom: 1px solid #eef0f2; border-left: 1px solid #eef0f2; }
.cex__facts > div:nth-child(n+3) { border-bottom: 0; }
.cex__facts dt { margin: 0 0 4px; font-family: var(--font-display); font-weight: 900; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: #8a9099; }
.cex__facts .is-good dt { color: var(--red); }
.cex__facts dd { margin: 0; font-size: 1rem; line-height: 1.4; color: #3a3f46; }
.cex__facts dd a { color: #3a3f46; font-weight: 600; text-decoration: none; border-bottom: 1px solid #c9ccd1; } .cex__facts dd a:hover { color: var(--red); border-color: var(--red); }
@media (max-width: 860px) { .cex { grid-template-columns: 1fr; transform: none; } .cex > * { transform: none; } .cex__id { margin-left: 0; border-right: 0; border-bottom: 1px solid #e3e6ea; padding-left: 20px; } }
@media (max-width: 520px) { .cex__facts { grid-template-columns: 1fr; } .cex__facts > div:nth-child(3) { border-bottom: 1px solid #eef0f2; } }

/* 5.19.0: Hall of Fame, light and easy to read (unlayered) */
.hof-x .archive-head::after { content: "Hall of Fame"; font-size: clamp(110px, 15vw, 230px); }
.hof-x .archive-section--paper { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.hof-x .archive-section--tight { background: #fff; border-bottom: 1px solid #e3e6ea; }
.hof-x .hof-intro { padding: 18px 24px; border-left: 6px solid var(--red); background: #f6f7f8; color: #3a3f46; font-size: 1.05rem; }
.hof-x .hof-intro .textlink { font-style: italic; font-weight: 900; }
/* jump to a class */
.hof-x .hof-years { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.hof-x .hof-years .chip { transform: skewX(-12deg); border-radius: 0; border: 2px solid #c9ccd1; background: #fff; color: #4a4f56; font-style: italic; font-weight: 900; }
.hof-x .hof-years .chip:hover { background: var(--red); border-color: var(--red); color: #fff; }
/* each class: the year on the left, the inductees on the right */
.hof-x .hof-classes { gap: 18px; }
.hof-x .hof-class { grid-template-columns: minmax(180px, 230px) 1fr; gap: 0; transform: skewX(-4deg); background: #fff; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.1); overflow: hidden; }
.hof-x .hof-class > * { transform: skewX(4deg); }
.hof-class__side { display: flex; flex-direction: column; justify-content: center; gap: 4px; margin-left: -10px; padding: 18px 22px 18px 30px; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #b3141f 100%); color: #fff; }
.hof-class__k { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .76rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.88); }
.hof-x .hof-class__year { margin: 0; font-style: italic; font-size: clamp(2.6rem, 4vw, 3.4rem); line-height: .9; color: #fff; border: 0; padding: 0; }
.hof-class__n { font-family: var(--font-display); font-weight: 800; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.hof-x .hof-list { list-style: none; margin: 0; padding: 14px 18px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
.hof-x .hof-inductee { padding: 10px 14px; background: #f6f7f8; border: 0; border-left: 4px solid #c9ccd1; }
.hof-x .hof-inductee--team { grid-column: 1 / -1; border-left-color: var(--red); background: #fbe9ea; }
.hof-x .hof-inductee--coach, .hof-x .hof-inductee--honorary { border-left-color: #4a4f56; }
.hof-x .hof-inductee__name { font-style: italic; font-weight: 900; font-size: 1.15rem; color: #3a3f46; }
.hof-x a.hof-inductee__name { color: #3a3f46; text-decoration: none; border-bottom: 2px solid rgba(206,26,39,.4); align-self: flex-start; }
.hof-x a.hof-inductee__name:hover { color: var(--red); border-color: var(--red); }
.hof-x .hof-inductee__note { font-size: .78rem; color: #6b6f75; letter-spacing: .1em; }
.hof-x .hof-inductee--team .hof-inductee__note { color: var(--red); }
@media (max-width: 760px) { .hof-x .hof-class { grid-template-columns: 1fr; transform: none; } .hof-x .hof-class > * { transform: none; } .hof-class__side { margin-left: 0; padding-left: 20px; flex-direction: row; align-items: baseline; gap: 12px; flex-wrap: wrap; } .hof-x .hof-years .chip { transform: none; } }

/* 5.19.1: no pink. The light red tints read as pink, so they are gone: team rows and winning seasons use white or silver with red marks instead */
.hof-x .hof-inductee--team { background: #fff; border-left: 6px solid var(--red); box-shadow: inset 0 0 0 1px #e3e6ea; }
.hof-x .hof-inductee--team .hof-inductee__note { display: inline-block; align-self: flex-start; padding: 2px 8px; transform: skewX(-12deg); background: var(--red); color: #fff; font-weight: 900; }
/* year by year: a winning season is white with its record in red and a red underline, not a pink cell */
.ybx__table td.is-win a, .ybq-table td.is-win a { background: transparent; color: var(--red); box-shadow: inset 0 -3px 0 var(--red); }
.ybx__key i.is-win, .ybq-key--light i.is-win { background: #fff; border-color: #dfe2e6; box-shadow: inset 0 -3px 0 var(--red); }
.ybq-table thead th a:hover { color: #fff; }
.yby-x .ycell.t2 { background: #c9ccd1; } .yby-x .ycell.t3 { background: #a3a8ae; color: #fff; }

/* 5.20.0: Campbell Field, Friday night under the lights (unlayered) */
/* the hero: light towers throwing beams down onto the field, the place name huge */
.cf-x .vhero { min-height: 74vh; background: radial-gradient(40% 40% at 12% 0%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 70%), radial-gradient(40% 40% at 88% 0%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 70%), linear-gradient(180deg, #0b0c0e 0%, #15181c 60%, #1c1f23 100%); border-bottom: 6px solid var(--red); }
.cf-x .vhero__overlay { background: linear-gradient(180deg, rgba(11,12,14,.35) 0%, rgba(11,12,14,.55) 50%, rgba(11,12,14,.95) 100%), linear-gradient(90deg, rgba(160,14,24,.35), rgba(160,14,24,0) 60%); }
.cf-beam { position: absolute; z-index: -1; top: -10%; width: 34%; height: 130%; pointer-events: none; background: linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.04) 55%, rgba(255,255,255,0) 100%); filter: blur(2px); }
.cf-beam--l { left: 2%; clip-path: polygon(30% 0, 50% 0, 100% 100%, 0 100%); transform: rotate(-12deg); transform-origin: top; }
.cf-beam--r { right: 2%; clip-path: polygon(50% 0, 70% 0, 100% 100%, 0 100%); transform: rotate(12deg); transform-origin: top; }
.cf-ghost { position: absolute; z-index: -1; right: -2%; bottom: -6%; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(110px, 16vw, 250px); line-height: .8; letter-spacing: -.03em; text-transform: uppercase; color: transparent; -webkit-text-stroke: 3px rgba(206,26,39,.35); white-space: nowrap; pointer-events: none; }
.cf-x .vhero__since { transform: skewX(-12deg); font-style: italic; box-shadow: 0 0 22px rgba(206,26,39,.55); }
.cf-x .vhero__title { font-style: italic; font-size: clamp(4rem, 12vw, 10rem); line-height: .84; letter-spacing: -.02em; text-shadow: 0 0 50px rgba(206,26,39,.45), 0 6px 30px rgba(0,0,0,.5); }
.cf-x .vhero__tag { font-style: italic; color: #ff6b74; }
.cf-x .rhero__back { color: rgba(255,255,255,.75); }
/* every section: night, with the stands lit from above */
.cf-x .archive-section { position: relative; color: #fff; background: radial-gradient(55% 40% at 50% 0%, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 70%), linear-gradient(180deg, #1c1f23 0%, #15181c 100%); border-top: 1px solid rgba(255,255,255,.06); }
.cf-x .archive-section--dark { background: radial-gradient(45% 50% at 0% 0%, rgba(206,26,39,.25) 0%, rgba(206,26,39,0) 70%), linear-gradient(180deg, #0e1013 0%, #15181c 100%); }
.cf-x .archive-section__head { border-bottom-color: rgba(255,255,255,.15); }
.cf-x .archive-title { color: #fff; font-style: italic; font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.01em; }
.cf-x .archive-title::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.cf-x .archive-kicker { color: #ff6b74; font-style: italic; }
.cf-x .textlink { color: #fff; font-style: italic; }
.cf-x .vprose, .cf-x .vprose p, .cf-x .prose { color: rgba(255,255,255,.85); }
.cf-x .vprose a, .cf-x .prose a { color: #ff6b74; }
/* facts and big numbers: a scoreboard */
.cf-x .series-fact, .cf-x .numbers__stat { transform: skewX(-8deg); padding: 16px 22px; background: rgba(255,255,255,.04); border: 2px solid rgba(255,255,255,.1); border-top: 5px solid var(--red); color: #fff; box-shadow: 0 14px 28px rgba(0,0,0,.35); }
.cf-x .series-fact > *, .cf-x .numbers__stat > * { transform: skewX(8deg); }
.cf-x .series-fact__label, .cf-x .numbers__label { color: #ff6b74; font-style: italic; }
.cf-x .series-fact__value, .cf-x .numbers__value { color: #fff; font-style: italic; }
.cf-x .numbers__value { text-shadow: 0 0 24px rgba(206,26,39,.55); }
.cf-x .series-fact__value a, .cf-x .milestone a { color: #fff; }
.cf-x .numbers__big { gap: 12px; }
/* decades */
.cf-x .decades--dark .decade, .cf-x .decade { background: #23272c; border: 2px solid rgba(255,255,255,.08); color: #fff; transform: skewX(-6deg); }
.cf-x .decade > * { transform: skewX(6deg); }
.cf-x .decade__label { color: #ff3a46; font-style: italic; }
.cf-x .decade__bar { background: rgba(255,255,255,.1); } .cf-x .decade__bar i.is-opp { background: #6b6f75; }
/* game cards, champions, coaches, rivals */
.cf-x .biggest { gap: 14px; }
.cf-x .biggest__card { transform: skewX(-6deg); background: #23272c; border: 2px solid rgba(255,255,255,.08); border-top: 5px solid var(--red); color: #fff; box-shadow: 0 16px 32px rgba(0,0,0,.4); transition: transform .2s, border-color .2s, box-shadow .2s; }
.cf-x .biggest__card > * { transform: skewX(6deg); }
.cf-x .biggest__card:hover { transform: skewX(-6deg) scale(1.03); border-color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.35), 0 0 34px rgba(206,26,39,.35); color: #fff; }
.cf-x .biggest__label { color: #ff6b74; font-style: italic; } .cf-x .biggest__date { color: rgba(255,255,255,.6); }
.cf-x .biggest__score { color: #fff; font-style: italic; } .cf-x .biggest__score b { color: #ff3a46; }
.cf-x .biggest__meta { color: rgba(255,255,255,.7); } .cf-x .biggest__more { color: #fff; }
.cf-x .biggest__card--champ { background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #8f101a 100%); border-top-color: #fff; box-shadow: 0 0 34px rgba(206,26,39,.4), 0 16px 32px rgba(0,0,0,.45); }
.cf-x .biggest__card--champ .biggest__label, .cf-x .biggest__card--champ .biggest__score b { color: #fff; } .cf-x .biggest__card--champ .biggest__date, .cf-x .biggest__card--champ .biggest__meta { color: rgba(255,255,255,.85); }
/* timeline moments and milestones */
.cf-x .milestone { transform: skewX(-6deg); background: #23272c; border: 2px solid rgba(255,255,255,.08); color: #fff; }
.cf-x .milestone > * { transform: skewX(6deg); }
.cf-x .milestone__n { color: #ff3a46; font-style: italic; } .cf-x .milestone__season { color: rgba(255,255,255,.6); }
/* photos and stories */
.cf-x .rgal { box-shadow: 0 16px 32px rgba(0,0,0,.45); border-top: 4px solid var(--red); }
.cf-x .rstory { color: #fff; } .cf-x .rstory * { color: inherit; }
/* every game, by decade */
.cf-x .tl-filters .chip { transform: skewX(-12deg); border-radius: 0; background: transparent; border: 2px solid rgba(255,255,255,.3); color: rgba(255,255,255,.85); font-style: italic; font-weight: 900; }
.cf-x .tl-filters .chip.is-on { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 0 18px rgba(206,26,39,.45); }
.cf-x .vdecade { background: transparent; border: 0; margin-bottom: 10px; }
.cf-x .vdecade__summary { transform: skewX(-6deg); background: #23272c; border-left: 6px solid var(--red); color: #fff; cursor: pointer; }
.cf-x .vdecade__summary > * { transform: skewX(6deg); }
.cf-x .vdecade__summary span:first-child { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.5rem; }
.cf-x .vdecade__rec { color: rgba(255,255,255,.65); font-style: italic; }
.cf-x .vdecade .schedule__list { display: grid; gap: 10px; padding: 12px 0 0; }
/* the person cards keep their white faces */
.cf-x .person-grid { gap: 14px; }
/* help tell the story */
.cf-x .tl-foot { background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); }
.cf-x .tl-foot .archive-title::after { background: #fff; }
.cf-x .tl-foot .btn { transform: skewX(-12deg); }
@media (max-width: 760px) { .cf-x .series-fact, .cf-x .numbers__stat, .cf-x .series-fact > *, .cf-x .numbers__stat > *, .cf-x .decade, .cf-x .decade > *, .cf-x .biggest__card, .cf-x .biggest__card > *, .cf-x .milestone, .cf-x .milestone > *, .cf-x .vdecade__summary, .cf-x .vdecade__summary > * { transform: none; } .cf-beam { display: none; } }
@media (prefers-reduced-motion: reduce) { .cf-x .biggest__card { transition: none; } }

/* 5.20.1: Campbell Field, the legends: names and details readable on the night background */
.cf-x .person-card { background: #23272c; border: 2px solid rgba(255,255,255,.08); border-top: 5px solid var(--red); box-shadow: 0 16px 32px rgba(0,0,0,.4); }
.cf-x .person-card__body { padding: 16px 18px 18px; }
.cf-x .person-card__name, .cf-x .person-card__name a { color: #fff; font-style: italic; }
.cf-x .person-card a:hover .person-card__name, .cf-x .person-card__name a:hover { color: #ff6b74; }
.cf-x .person-card .kicker { color: #ff6b74; }
.cf-x .person-card__why { color: rgba(255,255,255,.85); }
.cf-x .person-card__meta { color: rgba(255,255,255,.65); }
.cf-x .person-card__mem { background: #fff; color: #2b3036; }
.cf-x .person-card__badge { background: #fff; color: var(--red); border-color: #fff; }

/* 5.21.0: the All-Time Schedule Map, light and loud: red hero, silver and white below, slanted tiles (unlayered) */
.map-x .vhero.map-hero { min-height: 0; overflow: hidden; isolation: isolate; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); border-bottom: 0; }
.map-x .vhero.map-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); }
.map-x .map-hero .rhero__ghost { opacity: .06; }
.map-ghost { position: absolute; z-index: -1; right: -2%; bottom: -10%; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(130px, 19vw, 300px); line-height: .8; letter-spacing: -.03em; text-transform: uppercase; color: transparent; -webkit-text-stroke: 3px rgba(255,255,255,.15); white-space: nowrap; pointer-events: none; }
.map-x .map-hero .vhero__since { transform: skewX(-12deg); background: #fff; color: var(--red); font-style: italic; }
.map-x .map-hero .vhero__title { font-style: italic; letter-spacing: -.02em; }
.map-x .map-hero .vhero__intro { color: rgba(255,255,255,.92); }
.map-x .map-hero__numbers { gap: 12px; }
.map-x .map-hero .numbers__stat { transform: skewX(-10deg); padding: 14px 22px; background: rgba(120,8,16,.38); border: 2px solid rgba(255,255,255,.3); border-top: 2px solid rgba(255,255,255,.3); }
.map-x .map-hero .numbers__stat > * { transform: skewX(10deg); }
.map-x .map-hero .numbers__value { font-style: italic; }
.map-x .map-hero .numbers__label { color: rgba(255,255,255,.88); font-style: italic; }
/* the map */
.map-x .map-section { background: linear-gradient(180deg, #eef0f2, #f6f7f8); border-bottom: 0; padding-block: 28px 40px; }
.map-x .map-filters .chip { transform: skewX(-12deg); border-radius: 0; border: 2px solid #c9ccd1; background: #fff; color: #4a4f56; font-style: italic; font-weight: 900; }
.map-x .map-filters .chip:hover { border-color: var(--red); color: var(--red); }
.map-x .map-filters .chip.is-on { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.18), 0 8px 18px rgba(206,26,39,.3); }
.map-x .map-filters__sel { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; color: var(--red); }
.map-x .map-filters__sel select { margin-left: 6px; padding: 7px 10px; border: 2px solid #c9ccd1; background: #fff; color: #4a4f56; font-family: var(--font-display); font-weight: 800; letter-spacing: .04em; text-transform: none; }
.map-x .map-filters__sel select:focus { border-color: var(--red); outline: 0; }
.map-x .map-canvas { border: 0; border-top: 6px solid var(--red); box-shadow: 0 20px 44px rgba(60,64,70,.2); }
.map-x .map-panel { border: 0; border-top: 5px solid var(--red); box-shadow: 0 20px 40px rgba(60,64,70,.25); }
.map-x .map-note { color: #6b6f75; font-style: italic; }
/* rankings, out-of-state trips, the index */
.map-x .archive-section--paper, .map-x .archive-section--dark { background: #fff; color: var(--graphite); }
.map-x .archive-section--dark { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.map-x .archive-title { color: #4a4f56; font-style: italic; font-size: clamp(2rem, 3.6vw, 3rem); letter-spacing: -.01em; }
.map-x .archive-title::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.map-x .archive-kicker { color: var(--red); font-style: italic; }
.map-x .milestones { display: grid; gap: 8px; }
.map-x .milestone { transform: skewX(-6deg); background: #fff; border: 0; box-shadow: 0 8px 18px rgba(60,64,70,.1); padding: 0 16px 0 0; overflow: hidden; }
.map-x .milestone > * { transform: skewX(6deg); }
.map-x .milestone__n { align-self: stretch; display: flex; align-items: center; justify-content: center; margin-left: -8px; padding: 10px 14px 10px 22px; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #b3141f 100%); color: #fff; font-family: var(--font-display); font-style: italic; font-size: 1.35rem; }
.map-x .milestone__game a, .map-x .milestone__game { color: #3a3f46; font-weight: 600; }
.map-x .milestone__game a:hover { color: var(--red); }
.map-x .milestone__season { color: #6b6f75; }
.map-x .archive-section--dark .milestone { background: #fff; }
.map-x .map-search { transform: skewX(-10deg); border: 2px solid var(--red); font-family: var(--font-display); font-style: italic; font-weight: 800; }
.map-x .yby-wrap { background: #fff; box-shadow: 0 16px 34px rgba(60,64,70,.12); border-top: 6px solid var(--red); }
.map-x .map-index thead th { background: radial-gradient(120% 220% at 15% 0%, #e8303c 0%, var(--red) 55%, #b3141f 100%); color: #fff; font-style: italic; }
.map-x .map-index td a { color: #3a3f46; font-weight: 700; } .map-x .map-index td a:hover { color: var(--red); }
/* help improve the map */
.map-x .tl-foot { background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); }
@media (max-width: 760px) { .map-x .map-hero .numbers__stat, .map-x .map-hero .numbers__stat > *, .map-x .milestone, .map-x .milestone > *, .map-x .map-filters .chip, .map-x .map-search { transform: none; } .map-x .milestone__n { margin-left: 0; } }

/* 5.22.0: How the playoffs changed, light and loud (unlayered) */
.po-x .archive-head::after { content: "Playoffs"; }
.po-x .archive-section--paper { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.po-x .ptl { border-top: 0; display: grid; gap: 14px; }
.po-x .ptl__era { transform: skewX(-4deg); background: #fff; border: 0; border-top: 5px solid #c9ccd1; box-shadow: 0 12px 26px rgba(60,64,70,.1); }
.po-x .ptl__era > * { transform: skewX(4deg); }
.po-x .ptl__era.is-open { border-top-color: var(--red); box-shadow: 0 0 0 2px rgba(206,26,39,.15), 0 18px 36px rgba(60,64,70,.16); }
.po-x .ptl__head { grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; padding: 18px 26px; text-decoration: none; }
.po-x .ptl__era.is-open .ptl__head { padding-bottom: 14px; border-bottom: 1px solid #eef0f2; }
.po-x .ptl__years { padding: 5px 12px; transform: skewX(-12deg); background: #4a4f56; color: #fff; font-style: italic; font-weight: 900; white-space: nowrap; }
.po-x .ptl__era.is-open .ptl__years { background: var(--red); }
.po-x .ptl__name { font-style: italic; font-weight: 900; color: #3a3f46; }
.po-x .ptl__q { padding: 4px 12px; transform: skewX(-12deg); border: 2px solid var(--red); color: var(--red); font-style: italic; font-weight: 900; white-space: nowrap; }
.po-x .ptl__head::after { content: "+"; font-family: var(--font-display); font-weight: 900; font-size: 1.6rem; line-height: 1; color: var(--red); }
.po-x .ptl__era.is-open .ptl__head::after { content: "−"; }
.po-x .ptl__head { grid-template-columns: auto 1fr auto auto; }
.po-x .ptl__body { padding: 20px 26px 26px; }
.po-x .ptl__body .archive-kicker { color: var(--red); font-style: italic; }
.po-x .ptl__meant, .po-x .ptl__body .prose { color: #3a3f46; }
.po-x .ptl__nums { gap: 10px; }
.po-x .ptl__nums div { transform: skewX(-8deg); background: #f6f7f8; border-top: 4px solid var(--red); padding: 12px 16px; }
.po-x .ptl__nums div > * { display: block; transform: skewX(8deg); }
.po-x .ptl__nums b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 2.2rem; line-height: 1; color: var(--red); }
.po-x .ptl__nums span { font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: #6b6f75; }
.po-x .ptl__notable li { border-left: 4px solid var(--red); background: #f6f7f8; padding: 8px 12px; }
.po-x .ptl__notable a { color: #3a3f46; } .po-x .ptl__notable b { font-family: var(--font-display); font-style: italic; font-weight: 900; color: var(--red); }
.po-x .ptl__all summary { font-style: italic; font-weight: 900; color: var(--red); }
.po-x .ptl__s { transform: skewX(-8deg); border: 0; background: #f6f7f8; }
.po-x .ptl__s > * { transform: skewX(8deg); }
.po-x .ptl__s.is-in { background: #fff; box-shadow: inset 0 -3px 0 var(--red), 0 0 0 1px #e3e6ea; }
.po-x .ptl__s.is-title { background: var(--red); color: #fff; box-shadow: none; }
.po-x .ptl__legend i { border-radius: 0; } .po-x .ptl__legend i.is-in { background: #fff; box-shadow: inset 0 -3px 0 var(--red), 0 0 0 1px #c9ccd1; } .po-x .ptl__legend i.is-title { background: var(--red); }
@media (max-width: 760px) { .po-x .ptl__era, .po-x .ptl__era > *, .po-x .ptl__nums div, .po-x .ptl__nums div > *, .po-x .ptl__s, .po-x .ptl__s > * { transform: none; } .po-x .ptl__head { grid-template-columns: 1fr auto; } .po-x .ptl__q { grid-column: 1; justify-self: start; } }

.po-x .ptl__head { padding-right: 34px; }

/* 5.23.0: Postseason history, light and loud (unlayered) */
.pss-x .archive-hero { overflow: hidden; isolation: isolate; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); border-bottom: 0; }
.pss-x .archive-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); opacity: 1; width: auto; height: auto; translate: none; rotate: none; }
.pss-x .archive-hero::after { content: none; }
.pss-ghost { position: absolute; z-index: -1; right: -2%; bottom: -10%; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(130px, 19vw, 300px); line-height: .8; letter-spacing: -.03em; text-transform: uppercase; color: transparent; -webkit-text-stroke: 3px rgba(255,255,255,.15); white-space: nowrap; pointer-events: none; }
.pss-x .archive-hero__title { font-style: italic; letter-spacing: -.02em; color: #fff; }
.pss-x .archive-hero .archive-kicker, .pss-x .archive-head__back { color: rgba(255,255,255,.9); font-style: italic; }
.pss-x .archive-stats { gap: 12px; }
.pss-x .archive-stats .fact { transform: skewX(-10deg); padding: 12px 20px; background: rgba(120,8,16,.38); border: 2px solid rgba(255,255,255,.3); }
.pss-x .archive-stats .fact > * { transform: skewX(10deg); }
.pss-x .fact__value { font-style: italic; color: #fff; } .pss-x .fact__label { color: rgba(255,255,255,.88); font-style: italic; }
.pss-x .archive-hero .chip { transform: skewX(-12deg); border-radius: 0; background: transparent; border: 2px solid rgba(255,255,255,.6); color: #fff; font-style: italic; font-weight: 900; }
.pss-x .archive-hero .chip:hover { background: rgba(255,255,255,.15); color: #fff; }
.pss-x .archive-hero .chip.is-active { background: #fff; border-color: #fff; color: var(--red); }
/* the runs */
.pss-x .archive-section--paper { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.pss-x .schedule__month { font-style: italic; color: #4a4f56; font-size: clamp(2.2rem, 4.4vw, 3.6rem); }
.pss-x .schedule__month::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 8px; background: var(--red); transform: skewX(-20deg); }
.pss-x .run-list { gap: 14px; }
.pss-x .run { transform: skewX(-4deg); background: #fff; border: 0; border-top: 5px solid #c9ccd1; box-shadow: 0 12px 26px rgba(60,64,70,.1); overflow: hidden; }
.pss-x .run > * { transform: skewX(4deg); }
.pss-x .run--finalist { border-top-color: var(--red); }
.pss-x .run--champion { border-top-color: var(--red); box-shadow: 0 0 0 2px rgba(206,26,39,.2), 0 18px 36px rgba(60,64,70,.16); }
.pss-x .run__head { padding: 14px 22px 14px 0; border-bottom: 1px solid #eef0f2; text-decoration: none; }
.pss-x .run__year { align-self: stretch; display: flex; align-items: center; justify-content: center; margin-left: -10px; padding: 10px 20px 10px 30px; background: #4a4f56; color: #fff; font-style: italic; font-size: 2.1rem; }
.pss-x .run--finalist .run__year, .pss-x .run--champion .run__year { background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #b3141f 100%); }
.pss-x .run__exit { font-style: italic; font-weight: 900; color: #3a3f46; }
.pss-x .run--champion .run__exit { color: var(--red); }
.pss-x .run--champion .run__exit::before { content: "★ "; }
.pss-x .run__meta { color: #6b6f75; }
.pss-x .run__arrow { color: var(--red); }
.pss-x .run__head:hover .run__exit { color: var(--red); }
.pss-x .run__game { padding: 10px 22px; border-bottom: 1px solid #f3f4f6; color: #3a3f46; text-decoration: none; }
.pss-x .run__game:hover { background: #f6f7f8; }
.pss-x .run__round { color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; }
.pss-x .run__opp { font-family: var(--font-display); font-style: italic; font-weight: 900; color: #3a3f46; }
.pss-x .run__score { font-family: var(--font-display); font-style: italic; font-size: 1.2rem; }
.pss-x .run__score--l { color: #8a9099; }
@media (max-width: 760px) { .pss-x .run, .pss-x .run > *, .pss-x .archive-stats .fact, .pss-x .archive-stats .fact > *, .pss-x .archive-hero .chip { transform: none; } .pss-x .run__year { margin-left: 0; padding-left: 18px; } }

.pss-x .schedule__month { border-bottom-color: #dfe2e6; }

/* 5.24.0: The people, light and loud: red head, silver page, red-washed poster cards instead of black (unlayered) */
.ppl-x .archive-head::after { content: "Redhounds"; font-size: clamp(120px, 17vw, 270px); }
.ppl-x .archive-section--paper { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.ppl-x .pidx__cross { padding: 12px 18px; background: #fff; border-left: 6px solid var(--red); color: #3a3f46; }
.ppl-x .pidx__cross a { color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; }
.ppl-x .pidx__search { transform: skewX(-10deg); border: 2px solid var(--red); background: #fff; font-family: var(--font-display); font-style: italic; font-weight: 800; }
.ppl-x .pidx__filters { gap: 8px; }
.ppl-x .pidx__filters .chip { transform: skewX(-12deg); border-radius: 0; border: 2px solid #c9ccd1; background: #fff; color: #4a4f56; font-style: italic; font-weight: 900; }
.ppl-x .pidx__filters .chip:hover { border-color: var(--red); color: var(--red); }
.ppl-x .pidx__filters .chip.is-active { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.18), 0 8px 18px rgba(206,26,39,.3); }
.ppl-x .pidx__count { font-family: var(--font-display); font-style: italic; font-weight: 900; color: #6b6f75; }
/* the posters */
.ppl-x .poster-grid { gap: 16px; }
.ppl-x .pcard--poster { transform: skewX(-4deg); background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); border: 3px solid transparent; border-top: 5px solid #fff; box-shadow: 0 14px 30px rgba(60,64,70,.18); transition: transform .2s, border-color .2s, box-shadow .2s; }
.ppl-x .pcard--poster > * { transform: skewX(4deg); }
.ppl-x .pcard--poster:hover { transform: skewX(-4deg) scale(1.03); border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.2), 0 0 34px rgba(206,26,39,.3), 0 20px 40px rgba(60,64,70,.22); }
.ppl-x .pcard--poster::before { display: none; }
.ppl-x .pcard--poster .pcard__art { inset: 0 -12px; }
.ppl-x .pcard--poster .pcard__fill { filter: blur(30px) grayscale(1) brightness(1.1); opacity: .35; mix-blend-mode: luminosity; }
.ppl-x .pcard--poster .pcard__art::after { background: linear-gradient(180deg, rgba(206,26,39,0) 0%, rgba(206,26,39,0) 55%, rgba(190,22,34,.75) 82%, rgba(168,20,31,.97) 100%); }
.ppl-x .pcard--poster.no-photo .pcard__art { background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); }
.ppl-x .pcard--poster .pcard__mark { opacity: .12; }
.ppl-x .pcard--poster .pcard__initials { color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.35); font-style: italic; }
.ppl-x .pcard--poster .pcard__why { background: #fff; color: var(--red); transform: skewX(-12deg); font-weight: 900; font-style: italic; }
.ppl-x .pcard--poster .pcard__name { font-style: italic; font-weight: 900; text-shadow: 0 2px 12px rgba(120,8,16,.5); }
.ppl-x .pcard--poster .pcard__meta { color: rgba(255,255,255,.9); font-style: italic; }
@media (max-width: 760px) { .ppl-x .pcard--poster, .ppl-x .pcard--poster:hover, .ppl-x .pcard--poster > *, .ppl-x .pidx__filters .chip, .ppl-x .pidx__search { transform: none; } .ppl-x .pcard--poster .pcard__art { inset: 0; } }
@media (prefers-reduced-motion: reduce) { .ppl-x .pcard--poster { transition: none; } }

/* 5.25.0: Coaches, light and loud (unlayered) */
.coach-x .archive-head::after { content: "Coaches"; }
.coach-x .archive-section--paper { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
/* compare two coaches */
.coach-x .compare { gap: 12px; padding: 16px 22px; transform: skewX(-4deg); background: #fff; border-left: 6px solid var(--red); box-shadow: 0 10px 22px rgba(60,64,70,.08); }
.coach-x .compare > * { transform: skewX(4deg); }
.coach-x .compare .find__label { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1rem; letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
.coach-x .compare .find__select { padding: 9px 12px; border: 2px solid #c9ccd1; background: #fff; color: #3a3f46; font-family: var(--font-display); font-weight: 800; }
.coach-x .compare .find__select:focus { border-color: var(--red); outline: 0; }
.coach-x .compare .btn { transform: skewX(-8deg); font-style: italic; }
.coach-x .compare-grid { gap: 18px; }
.coach-x .compare-col { transform: skewX(-4deg); border: 0; border-top: 5px solid var(--red); box-shadow: 0 14px 30px rgba(60,64,70,.12); padding: 20px 24px; }
.coach-x .compare-col > * { transform: skewX(4deg); }
.coach-x .compare-col__name { display: block; margin-bottom: 8px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.8rem; text-transform: uppercase; color: #3a3f46; text-decoration: none; }
.coach-x .compare-col__name:hover { color: var(--red); }
.coach-x .compare-row { border-top-color: #eef0f2; color: #3a3f46; } .coach-x .compare-row span { color: #6b6f75; } .coach-x .compare-row b { font-family: var(--font-display); font-style: italic; font-weight: 900; color: var(--red); }
/* the ranking table */
.coach-x .yby-wrap { box-shadow: 0 16px 34px rgba(60,64,70,.12); border-top: 6px solid var(--red); }
.coach-x .yby { border: 0; }
.coach-x .yby thead th { background: radial-gradient(120% 220% at 15% 0%, #e8303c 0%, var(--red) 55%, #b3141f 100%); color: #fff; font-style: italic; font-weight: 900; border: 0; cursor: pointer; }
.coach-x .yby tbody tr:nth-child(even) td { background: #f6f7f8; }
.coach-x .yby tbody tr:hover td { background: #eef0f2; }
.coach-x .yby td { color: #3a3f46; border-top-color: #eef0f2; }
.coach-x .yby td:first-child { font-style: italic; color: var(--red); }
.coach-x .yby td a { font-style: italic; font-weight: 900; color: #3a3f46; text-decoration: none; border-bottom: 2px solid rgba(206,26,39,.35); }
.coach-x .yby td a:hover { color: var(--red); border-color: var(--red); }
.coach-x .yby tbody tr:nth-child(-n+3) td:first-child { font-size: 1.4rem; }
/* coach cards (sports without a ranking) */
.coach-x .person-card { background: #fff; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.1); }
@media (max-width: 760px) { .coach-x .compare, .coach-x .compare > *, .coach-x .compare-col, .coach-x .compare-col > *, .coach-x .compare .btn { transform: none; } .coach-x .compare-grid { grid-template-columns: 1fr; } }

/* 5.26.0: Redhounds in professional football, light and loud (unlayered) */
.pro-x .archive-head::after { content: "Sundays"; }
.pro-x .archive-section--paper { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.pro-x .archive-title { color: #4a4f56; font-style: italic; font-size: clamp(2.2rem, 4.4vw, 3.6rem); letter-spacing: -.01em; }
.pro-x .archive-title::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.pro-x .archive-kicker { color: var(--red); font-style: italic; }
.pro-x .pro-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 520px), 1fr)); gap: 18px; }
.pro-x .pro { grid-template-columns: 170px 1fr; transform: skewX(-4deg); border: 3px solid transparent; border-left: 0; border-top: 5px solid var(--red); box-shadow: 0 14px 30px rgba(60,64,70,.12); overflow: hidden; transition: transform .2s, border-color .2s, box-shadow .2s; }
.pro-x .pro > * { transform: skewX(4deg); }
.pro-x .pro:hover { transform: skewX(-4deg) scale(1.02); border-color: var(--red); border-top-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.15), 0 0 34px rgba(206,26,39,.22), 0 20px 40px rgba(60,64,70,.18); }
.pro-x .pro__media { margin-left: -12px; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); }
.pro-x .pro__media img { filter: grayscale(.25) contrast(1.05); }
.pro-x .pro__media-empty { color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.45); font-style: italic; font-size: 5rem; background: transparent; }
.pro-x .pro__body { padding: 18px 22px; }
.pro-x .pro__status { transform: skewX(-12deg); font-style: italic; font-weight: 900; background: #4a4f56; color: #fff; }
.pro-x .pro__status--played { background: var(--red); }
.pro-x .pro__name { font-style: italic; font-weight: 900; color: #3a3f46; text-decoration: none; }
.pro-x .pro__name:hover { color: var(--red); }
.pro-x .pro__line { color: #6b6f75; }
.pro-x .pro__teams { color: var(--red); font-style: italic; font-weight: 900; }
.pro-x .pro__details { color: #3a3f46; }
.pro-x .pro__ref { color: var(--red); font-style: italic; border-bottom: 2px solid rgba(206,26,39,.35); text-decoration: none; }
@media (max-width: 760px) { .pro-x .pro, .pro-x .pro:hover, .pro-x .pro > * { transform: none; } .pro-x .pro__media { margin-left: 0; } .pro-x .pro { grid-template-columns: 110px 1fr; } }
@media (prefers-reduced-motion: reduce) { .pro-x .pro { transition: none; } }

/* 5.27.0: News, light and loud (unlayered) */
.news-x .sx-head .page-head__title { font-size: clamp(4rem, 11vw, 9rem); }
.news-x .news-index { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
/* the lead story: a big slanted red card with the photo and a huge headline */
.news-x .story-feature { transform: skewX(-3deg); margin-bottom: 30px; background: radial-gradient(120% 140% at 85% 0%, #e8303c 0%, var(--red) 50%, #a8141f 100%); color: #fff; border: 3px solid transparent; box-shadow: 0 22px 46px rgba(60,64,70,.22); overflow: hidden; transition: transform .2s, box-shadow .2s, border-color .2s; }
.news-x .story-feature > * { transform: skewX(3deg); }
.news-x .story-feature:hover { transform: skewX(-3deg) scale(1.01); border-color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.25), 0 0 50px rgba(206,26,39,.35), 0 26px 54px rgba(60,64,70,.26); }
.news-x .story-feature__link { color: #fff; text-decoration: none; }
.news-x .story-feature__media { position: relative; margin-left: -14px; }
.news-x .story-feature__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(206,26,39,0) 60%, rgba(206,26,39,.9) 100%); }
.news-x .story-feature__img { transition: transform .7s ease; } .news-x .story-feature:hover .story-feature__img { transform: scale(1.04); }
.news-x .story-feature__body { justify-content: center; padding: clamp(24px, 3vw, 44px); gap: 14px; }
.news-x .story-feature .kicker--tag { transform: skewX(-12deg); background: #fff; color: var(--red); font-style: italic; font-weight: 900; padding: 5px 12px; }
.news-x .story-feature__title { font-style: italic; font-weight: 900; font-size: clamp(2.2rem, 3.8vw, 3.6rem); line-height: .92; letter-spacing: -.01em; color: #fff; }
.news-x .story-feature__deck { color: rgba(255,255,255,.92); }
.news-x .story-feature__meta { color: rgba(255,255,255,.85); font-style: italic; }
.news-x .story-feature .btn { transform: skewX(-12deg); background: #fff; color: var(--red); border-color: #fff; font-style: italic; }
/* the rest: slanted white tiles */
.news-x .story-grid { gap: 20px; }
.news-x .story-card { transform: skewX(-4deg); background: #fff; border: 3px solid transparent; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.12); overflow: hidden; transition: transform .2s, border-color .2s, box-shadow .2s; }
.news-x .story-card > * { transform: skewX(4deg); }
.news-x .story-card:hover { transform: skewX(-4deg) scale(1.03); border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.15), 0 0 34px rgba(206,26,39,.22), 0 20px 40px rgba(60,64,70,.18); }
.news-x .story-card__link { color: #3a3f46; text-decoration: none; }
.news-x .story-card__media { position: relative; margin: 0 -10px; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); }
.news-x .story-card__img { transition: transform .6s ease; } .news-x .story-card:hover .story-card__img { transform: scale(1.05); }
.news-x .story-card__img--empty { background: var(--corbin-mark-white, none) center / 34% no-repeat; opacity: .5; }
.news-x .story-card .kicker { align-self: flex-start; padding: 3px 9px; transform: skewX(-12deg); background: var(--red); color: #fff; font-style: italic; font-weight: 900; }
.news-x .story-card__title { font-style: italic; font-weight: 900; color: #3a3f46; }
.news-x .story-card:hover .story-card__title { color: var(--red); }
.news-x .story-card__deck { color: #4a4f56; }
.news-x .story-card__meta { color: #8a9099; font-style: italic; }
@media (max-width: 760px) { .news-x .story-feature, .news-x .story-feature:hover, .news-x .story-feature > *, .news-x .story-card, .news-x .story-card:hover, .news-x .story-card > * { transform: none; } .news-x .story-feature__media, .news-x .story-card__media { margin: 0; } .news-x .story-feature__media::after { background: linear-gradient(180deg, rgba(206,26,39,0) 60%, rgba(206,26,39,.9) 100%); } }
@media (prefers-reduced-motion: reduce) { .news-x .story-feature, .news-x .story-card, .news-x .story-card__img, .news-x .story-feature__img { transition: none; } }

.sched-x .sx-ghost { text-transform: uppercase; }

/* 5.28.0: Photos, light and loud: red head, silver page, photo-first slanted cards (unlayered) */
.photos-x .sx-head .page-head__title { font-size: clamp(4rem, 11vw, 9rem); }
.photos-x .gallery-index { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
/* every gallery: the photo fills the card, the title sits on a red wash at the bottom */
.photos-x .gallery-grid { gap: 18px; }
.photos-x .gallery-card { position: relative; transform: skewX(-4deg); background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); border: 3px solid transparent; border-top: 5px solid #fff; box-shadow: 0 14px 30px rgba(60,64,70,.18); overflow: hidden; transition: transform .2s, border-color .2s, box-shadow .2s; }
.photos-x .gallery-card > * { transform: skewX(4deg); }
.photos-x .gallery-card:hover { transform: skewX(-4deg) scale(1.03); border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.2), 0 0 36px rgba(206,26,39,.3), 0 22px 44px rgba(60,64,70,.22); }
.photos-x .gallery-card__link { position: relative; display: block; color: #fff; text-decoration: none; }
.photos-x .gallery-card__media { aspect-ratio: 4 / 3; margin: 0 -12px; background: transparent; }
.photos-x .gallery-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(206,26,39,0) 45%, rgba(190,22,34,.7) 75%, rgba(168,20,31,.96) 100%); pointer-events: none; }
.photos-x .gallery-card__img { transition: transform .7s ease; } .photos-x .gallery-card:hover .gallery-card__img { transform: scale(1.06); }
.photos-x .gallery-card__count { left: auto; right: 22px; top: 14px; bottom: auto; z-index: 2; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; letter-spacing: .1em; }
.photos-x .gallery-card__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 16px 20px 18px; gap: 4px; }
.photos-x .gallery-card .kicker { color: rgba(255,255,255,.9); font-style: italic; font-weight: 900; }
.photos-x .gallery-card__title { font-style: italic; font-weight: 900; color: #fff; text-shadow: 0 2px 12px rgba(120,8,16,.5); }
.photos-x .gallery-card__credit { color: rgba(255,255,255,.85); font-style: italic; }
/* the newest gallery leads, big */
.photos-x .gallery-card--wide { margin-bottom: 26px; transform: skewX(-3deg); }
.photos-x .gallery-card--wide > * { transform: skewX(3deg); }
.photos-x .gallery-card--wide:hover { transform: skewX(-3deg) scale(1.01); }
.photos-x .gallery-card--wide .gallery-card__media { aspect-ratio: 21 / 9; margin: 0 -14px; }
.photos-x .gallery-card--wide .gallery-card__media::after { background: linear-gradient(180deg, rgba(206,26,39,0) 35%, rgba(190,22,34,.6) 70%, rgba(168,20,31,.95) 100%), linear-gradient(90deg, rgba(168,20,31,.55), rgba(168,20,31,0) 55%); }
.photos-x .gallery-card--wide .gallery-card__body { padding: clamp(22px, 3vw, 40px); max-width: 760px; }
.photos-x .gallery-card--wide .gallery-card__title { font-size: clamp(2.4rem, 5vw, 4.4rem); line-height: .9; letter-spacing: -.01em; }
.photos-x .gallery-card--wide .gallery-card__count { font-size: .9rem; padding: 7px 14px; }
@media (min-width: 900px) { .photos-x .gallery-card--wide .gallery-card__link { display: block; } }
@media (max-width: 760px) { .photos-x .gallery-card, .photos-x .gallery-card:hover, .photos-x .gallery-card > *, .photos-x .gallery-card--wide, .photos-x .gallery-card--wide > * { transform: none; } .photos-x .gallery-card__media, .photos-x .gallery-card--wide .gallery-card__media { margin: 0; } .photos-x .gallery-card--wide .gallery-card__media { aspect-ratio: 4 / 3; } }
@media (prefers-reduced-motion: reduce) { .photos-x .gallery-card, .photos-x .gallery-card__img { transition: none; } }

.photos-x .gallery-card__link { height: auto; min-height: 0; }
.photos-x .gallery-card--wide, .photos-x .gallery-card--wide .gallery-card__link { height: auto; min-height: 0; max-height: none; }

/* 5.29.0: the signed-in area, part one: the member nav and My locker (unlayered) */
/* the member nav: slanted tabs, the place you are in solid red */
.rh-nav.rh-nav--member { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; padding: 0; border: 0; background: transparent; }
.rh-nav.rh-nav--member a { padding: 10px 18px; transform: skewX(-12deg); border: 2px solid #c9ccd1; background: #fff; color: #4a4f56; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .9rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; transition: background .15s, color .15s, border-color .15s; }
.rh-nav.rh-nav--member a:hover { border-color: var(--red); color: var(--red); }
.rh-nav.rh-nav--member a.is-here { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 0 0 0 3px rgba(206,26,39,.18), 0 8px 18px rgba(206,26,39,.3); }
.rh-nav.rh-nav--member a.is-cta { background: var(--red); border-color: var(--red); color: #fff; }
/* the locker */
.lk { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); padding: clamp(28px, 4vw, 56px) 0 clamp(34px, 5vw, 64px); }
.lk::before { content: ""; position: absolute; inset: 0; z-index: -2; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); }
.lk__ghost { position: absolute; z-index: -1; right: -2%; bottom: -14%; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(220px, 32vw, 520px); line-height: .8; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 3px rgba(255,255,255,.14); pointer-events: none; }
.lk__inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(20px, 3vw, 40px); align-items: stretch; }
/* the locker door: brushed silver, vents, a nameplate */
.lk__locker { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 56px clamp(22px, 3vw, 38px) 28px; color: #3a3f46; background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); border: 3px solid #b0b5bb; box-shadow: inset 0 0 0 6px rgba(255,255,255,.4), inset 0 -40px 60px rgba(0,0,0,.06), 0 26px 50px rgba(110,10,18,.4); }
.lk__locker::after { content: ""; position: absolute; right: 22px; top: 50%; width: 14px; height: 64px; margin-top: -32px; border-radius: 4px; background: linear-gradient(180deg, #8a9099, #b0b5bb 40%, #6b6f75); box-shadow: inset 0 1px 0 rgba(255,255,255,.6); }
.lk__vents { position: absolute; left: 50%; top: 14px; display: flex; flex-direction: column; gap: 5px; translate: -50% 0; width: 46%; }
.lk__vents i { display: block; height: 4px; border-radius: 3px; background: rgba(74,79,86,.35); box-shadow: inset 0 1px 1px rgba(0,0,0,.25); }
.lk__plate { align-self: flex-start; display: flex; flex-direction: column; gap: 6px; padding: 16px 24px 18px; background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); color: #fff; transform: skewX(-6deg); box-shadow: 0 0 0 3px #fff, 0 12px 26px rgba(110,10,18,.35); max-width: 100%; }
.lk__plate > * { transform: skewX(6deg); }
.lk__hello { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .82rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.9); }
.lk__name { margin: 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(3rem, 7.6vw, 6.6rem); line-height: .84; letter-spacing: -.02em; text-transform: uppercase; color: #fff; overflow-wrap: anywhere; }
.lk__class { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1rem; letter-spacing: .16em; text-transform: uppercase; color: #fff; }
.lk__numbers { display: flex; flex-wrap: wrap; gap: 10px; }
.lk__jersey { display: flex; align-items: center; gap: 10px; padding: 8px 16px 8px 10px; background: #fff; border-left: 6px solid var(--red); box-shadow: 0 8px 18px rgba(60,64,70,.15); transform: skewX(-8deg); }
.lk__jersey > * { transform: skewX(8deg); }
.lk__jersey b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 2.4rem; line-height: 1; color: var(--red); }
.lk__jersey span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: #4a4f56; }
.lk__claim { align-self: flex-start; padding: 10px 16px; background: #fff; border-left: 6px solid var(--red); color: #3a3f46; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .88rem; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.lk__claim:hover { color: var(--red); }
.lk__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.lk__tag { padding: 4px 10px; transform: skewX(-12deg); background: rgba(74,79,86,.12); color: #4a4f56; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.lk__tag--red { background: var(--red); color: #fff; }
.lk__level { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-style: italic; font-weight: 800; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: #6b6f75; }
.lk__bar { flex: 0 0 160px; height: 8px; background: rgba(74,79,86,.18); transform: skewX(-20deg); } .lk__bar i { display: block; height: 100%; background: var(--red); }
/* your years */
.lk__years { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 10px; padding: 26px clamp(20px, 3vw, 34px); transform: skewX(-4deg); background: rgba(120,8,16,.35); border: 2px solid rgba(255,255,255,.28); }
.lk__years > * { transform: skewX(4deg); }
.lk__k { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .82rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.9); }
.lk__rec { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(4rem, 8vw, 6.6rem); line-height: .82; letter-spacing: -.02em; color: #fff; text-shadow: 0 6px 24px rgba(110,10,18,.4); }
.lk__line { margin: 0; font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.5; color: rgba(255,255,255,.92); }
.lk__line--big { font-size: 1.25rem; }
.lk__best { display: flex; flex-direction: column; gap: 2px; padding: 10px 16px; background: #fff; color: #3a3f46; text-decoration: none; border-left: 6px solid #3a3f46; }
.lk__best span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); }
.lk__best b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.3rem; text-transform: uppercase; } .lk__best small { color: #6b6f75; font-family: var(--font-display); font-weight: 800; letter-spacing: .1em; }
.lk__go { margin-top: 4px; padding: 10px 18px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .9rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.lk__go:hover { background: #3a3f46; color: #fff; }
/* below the locker */
.lkb { background: linear-gradient(180deg, #eef0f2, #f6f7f8); padding: 26px 0 60px; }
.lkb__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 18px; }
.lkb-card { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 22px 24px; transform: skewX(-4deg); background: #fff; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.12); color: #3a3f46; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.lkb-card > * { transform: skewX(4deg); }
a.lkb-card:hover { transform: skewX(-4deg) scale(1.02); box-shadow: 0 0 0 3px rgba(206,26,39,.15), 0 0 30px rgba(206,26,39,.2), 0 18px 34px rgba(60,64,70,.16); color: #3a3f46; }
.lkb-card__k { align-self: flex-start; padding: 4px 10px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.lkb-card__meta { margin-top: auto; font-family: var(--font-display); font-style: italic; font-weight: 800; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: #6b6f75; }
.lkb-card__text { margin: 0; font-family: var(--font-serif); color: #4a4f56; line-height: 1.5; }
.lkb-card__go { align-self: flex-start; margin-top: auto; padding: 8px 14px; transform: skewX(-12deg); background: #3a3f46; color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; border: 0; cursor: pointer; }
.lkb-card__go:hover { background: var(--red); color: #fff; }
.lkb-card--spot.is-w { background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); color: #fff; border-top-color: #fff; }
.lkb-card--spot.is-w .lkb-card__k { background: #fff; color: var(--red); } .lkb-card--spot.is-w .lkb-card__meta { color: rgba(255,255,255,.88); }
a.lkb-card--spot.is-w:hover { color: #fff; }
.lkb-spot__score { display: flex; align-items: baseline; gap: 6px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(3.4rem, 5vw, 4.6rem); line-height: .85; }
.lkb-spot__score i { font-style: normal; opacity: .6; }
.lkb-spot__line, .lkb-game__vs { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.35rem; line-height: 1; text-transform: uppercase; }
.lkb-game__vs i { color: var(--red); font-size: .8em; }
.lkb-game__live { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 3rem; color: #1fa356; }
.lkb-cd { display: flex; gap: 6px; } .lkb-cd > span { display: flex; flex-direction: column; align-items: center; min-width: 58px; padding: 6px 4px; transform: skewX(-10deg); background: var(--red); color: #fff; }
.lkb-cd b, .lkb-cd i { transform: skewX(10deg); } .lkb-cd b { font-family: var(--font-display); font-weight: 900; font-size: 1.7rem; line-height: 1; } .lkb-cd i { font-style: normal; font-family: var(--font-display); font-weight: 800; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; opacity: .9; }
.lkb-class__n { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.2rem; text-transform: uppercase; color: #3a3f46; } .lkb-class__n b { font-size: 2rem; color: var(--red); }
.lkb-class__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.lkb-class__list li { display: flex; align-items: center; gap: 10px; padding: 6px 8px; background: #f6f7f8; }
.lkb-class__list b { display: block; font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: #3a3f46; } .lkb-class__list small { font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
.lkb-head { margin: 40px 0 16px; } .lkb-head__k { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
.lkb-head h2 { margin: 4px 0 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2rem, 4vw, 3.2rem); line-height: .95; text-transform: uppercase; color: #3a3f46; }
.lkb-head h2::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.lkb-only__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 14px; }
.lkb-gap { display: flex; flex-direction: column; gap: 6px; padding: 18px 22px; transform: skewX(-4deg); background: #fff; border-left: 6px solid var(--red); box-shadow: 0 10px 22px rgba(60,64,70,.1); color: #3a3f46; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.lkb-gap > * { transform: skewX(4deg); }
.lkb-gap:hover { transform: skewX(-4deg) scale(1.02); box-shadow: 0 0 0 3px rgba(206,26,39,.15), 0 16px 30px rgba(60,64,70,.16); color: #3a3f46; }
.lkb-gap b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.25rem; text-transform: uppercase; } .lkb-gap span { color: #4a4f56; } .lkb-gap em { font-style: normal; font-family: var(--font-display); font-weight: 900; font-style: italic; letter-spacing: .12em; text-transform: uppercase; font-size: .8rem; color: var(--red); }
.lkb-next__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lkb-next__list a { display: grid; grid-template-columns: 56px 1fr auto; align-items: center; gap: 16px; padding: 0 20px 0 0; transform: skewX(-4deg); background: #fff; box-shadow: 0 8px 18px rgba(60,64,70,.08); color: #3a3f46; text-decoration: none; overflow: hidden; }
.lkb-next__list a > * { transform: skewX(4deg); }
.lkb-next__list a:hover { box-shadow: 0 0 0 2px var(--red), 0 12px 24px rgba(60,64,70,.14); color: #3a3f46; }
.lkb-next__n { align-self: stretch; display: grid; place-items: center; margin-left: -8px; background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.6rem; }
.lkb-next__list b { display: block; padding-top: 12px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.15rem; text-transform: uppercase; } .lkb-next__list small { display: block; padding-bottom: 12px; color: #6b6f75; font-size: .92rem; } .lkb-next__list em { font-style: normal; color: var(--red); font-weight: 900; font-size: 1.3rem; }
/* My stuff: the other member places */
.lk-stuff { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 12px; margin: 0 0 26px; }
.lk-stuff a { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; transform: skewX(-4deg); background: #fff; border-top: 5px solid var(--red); box-shadow: 0 10px 22px rgba(60,64,70,.1); color: #3a3f46; text-decoration: none; }
.lk-stuff a > * { transform: skewX(4deg); }
.lk-stuff b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.2rem; text-transform: uppercase; } .lk-stuff span { color: #6b6f75; font-size: .92rem; }
.lk-stuff a:hover b { color: var(--red); }
@media (max-width: 900px) { .lk__inner { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .rh-nav.rh-nav--member a, .lk__plate, .lk__plate > *, .lk__jersey, .lk__jersey > *, .lk__years, .lk__years > *, .lkb-card, .lkb-card > *, .lkb-gap, .lkb-gap > *, .lkb-next__list a, .lkb-next__list a > *, .lk-stuff a, .lk-stuff a > * { transform: none; } .lkb-next__n { margin-left: 0; } .lk__locker { padding-top: 48px; } .lk__locker::after { display: none; } }
@media (prefers-reduced-motion: reduce) { .lkb-card, .lkb-gap { transition: none; } }

/* 5.30.0: the signed-in area, part two: My era in the locker look (unlayered) */
/* the hero: red, the class year huge behind, the era photo showing through */
.rhv-era .ehero { min-height: 0; padding-block: clamp(36px, 5vw, 70px); background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); }
.rhv-era .ehero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); }
.rhv-era .ehero::after { content: none; }
.rhv-era .ehero .chx-hero__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: luminosity; opacity: .22; filter: grayscale(1) contrast(1.1); }
.rhv-era .ehero .chx-hero__ghost { -webkit-text-stroke: 3px rgba(255,255,255,.16); color: transparent; font-style: italic; }
.rhv-era .chx-tag { transform: skewX(-12deg); background: #fff; color: var(--red); font-style: italic; }
.rhv-era .chx-tag--line { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px rgba(255,255,255,.7); }
.rhv-era .ehero__title { font-style: italic; letter-spacing: -.02em; }
.rhv-era .ehero__title em { color: rgba(255,255,255,.7); }
.rhv-era .ehero__line { color: rgba(255,255,255,.94); } .rhv-era .ehero__line b { color: #fff; }
.rhv-era .ehero__facts { gap: 10px; border-top: 0; }
.rhv-era .ehero__facts > * { transform: skewX(-10deg); padding: 12px 18px; background: rgba(120,8,16,.38); border: 2px solid rgba(255,255,255,.3); color: #fff; text-decoration: none; }
.rhv-era .ehero__facts > * > * { display: block; transform: skewX(10deg); }
.rhv-era .ehero__facts b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1; color: #fff; }
.rhv-era .ehero__facts span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.88); }
.rhv-era .ehero__facts a { background: #fff; border-color: #fff; } .rhv-era .ehero__facts a b, .rhv-era .ehero__facts a span { color: var(--red); }
.rhv-era .enav { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
/* the shape of your years: a red band; wins in white, losses see-through */
.rhv-era .sline.eline { background: radial-gradient(120% 140% at 85% 0%, #e8303c 0%, var(--red) 50%, #a8141f 100%); }
.rhv-era .sline .chx-tag { background: #fff; color: var(--red); }
.rhv-era .sline__title { font-style: italic; }
.rhv-era .sline__legend { color: rgba(255,255,255,.9); }
.rhv-era .sbar.is-title .sbar__up i { background: #fff; box-shadow: 0 0 0 2px #fff, 0 0 14px rgba(255,255,255,.8); }
.rhv-era .sbar a:hover .sbar__up i, .rhv-era .sbar a:focus-visible .sbar__up i { background: #3a3f46; }
.rhv-era .eline .sbar.is-mine .sbar__up { border-bottom-color: #fff; }
.rhv-era .eline__y b { font-style: italic; }
/* your seasons */
.rhv-era .eseasons, .rhv-era .archive-section--paper { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.rhv-era .chx-head h2, .rhv-era .archive-title { font-style: italic; color: #3a3f46; }
.rhv-era .chx-head h2::after, .rhv-era .archive-section .archive-title::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.rhv-era .archive-kicker { color: var(--red); font-style: italic; }
.rhv-era .eseason, .rhv-era .erav-s { transform: skewX(-3deg); border: 0; border-top: 5px solid #c9ccd1; box-shadow: 0 12px 26px rgba(60,64,70,.1); }
.rhv-era .eseason > *, .rhv-era .erav-s > * { transform: skewX(3deg); }
.rhv-era .eseason.is-champ, .rhv-era .erav-s { border-top-color: var(--red); }
.rhv-era .eseason__year, .rhv-era .erav-s__year { font-style: italic; color: var(--red); }
/* the games you still talk about: white cards on silver, not black */
.rhv-era .emoments { background: #fff; color: #3a3f46; }
.rhv-era .emoments .chx-head--light h2, .rhv-era .emoments h2 { color: #3a3f46; }
.rhv-era .emoments .chx-tag { background: var(--red); color: #fff; }
.rhv-era .emoment { transform: skewX(-4deg); background: #f6f7f8; border-top: 5px solid #c9ccd1; box-shadow: 0 12px 26px rgba(60,64,70,.1); color: #3a3f46; }
.rhv-era .emoment > * { transform: skewX(4deg); }
.rhv-era .emoment:first-child { border-top-color: var(--red); background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); color: #fff; }
.rhv-era .emoment__k { color: var(--red); font-style: italic; } .rhv-era .emoment:first-child .emoment__k { color: #fff; }
.rhv-era .emoment__score { font-style: italic; } .rhv-era .emoment__opp { font-style: italic; }
.rhv-era .emoment__d { color: #6b6f75; } .rhv-era .emoment:first-child .emoment__d { color: rgba(255,255,255,.88); }
.rhv-era .emoment a { color: inherit; }
/* photos from then: on the red */
.rhv-era .hphotos { background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 50%, #a8141f 100%); border-top: 0; }
.rhv-era .hphotos__kicker { background: #fff; color: var(--red); }
.rhv-era .hphotos__title { font-style: italic; }
.rhv-era .hphoto { background: #a8141f; transform: skewX(-3deg); box-shadow: 0 14px 30px rgba(110,10,18,.35); }
.rhv-era .hphoto > * { transform: skewX(3deg); }
.rhv-era .hphoto__empty { background: repeating-linear-gradient(135deg, #b3141f 0 14px, #a8141f 14px 28px); }
/* what's still missing, and the keepsake: red instead of black */
.rhv-era .eclose__c { transform: skewX(-3deg); border: 0; border-top: 5px solid var(--red); box-shadow: 0 14px 30px rgba(60,64,70,.12); }
.rhv-era .eclose__c > * { transform: skewX(3deg); }
.rhv-era .eclose__c--dark { background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); border-top-color: #fff; }
.rhv-era .eclose__c h2 { font-style: italic; }
.rhv-era .mh-btn, .rhv-era .fbtn { transform: skewX(-10deg); font-style: italic; }
.rhv-era .eclose__c--dark .fbtn, .rhv-era .eclose__c--dark .mh-btn { background: #fff; color: var(--red); }
@media (max-width: 760px) { .rhv-era .ehero__facts > *, .rhv-era .ehero__facts > * > *, .rhv-era .eseason, .rhv-era .eseason > *, .rhv-era .erav-s, .rhv-era .erav-s > *, .rhv-era .emoment, .rhv-era .emoment > *, .rhv-era .hphoto, .rhv-era .hphoto > *, .rhv-era .eclose__c, .rhv-era .eclose__c > * { transform: none; } }

.rhv-era .emoment__score, .rhv-era .emoment__opp, .rhv-era .emoment b, .rhv-era .emoment strong { color: #3a3f46; }
.rhv-era .emoment:first-child .emoment__score, .rhv-era .emoment:first-child .emoment__opp, .rhv-era .emoment:first-child b { color: #fff; }
.rhv-era .emoment__acts a, .rhv-era .emoment__acts button { color: var(--red); } .rhv-era .emoment:first-child .emoment__acts a, .rhv-era .emoment:first-child .emoment__acts button { color: #fff; }

/* 5.30.0: the signed-in area, part three: the roll call and class pages, and the shared member hero (unlayered) */
.rh-x .ctb-hero { min-height: 0; padding-block: clamp(36px, 5vw, 64px); overflow: hidden; isolation: isolate; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); }
.rh-x .ctb-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); }
.rh-x .ctb-hero .rhero__ghost { opacity: .07; }
.rh-x .ctb-hero .vhero__since { transform: skewX(-12deg); background: #fff; color: var(--red); font-style: italic; }
.rh-x .ctb-hero .vhero__title { font-style: italic; letter-spacing: -.02em; }
.rh-x .ctb-hero .vhero__intro { color: rgba(255,255,255,.94); }
.rh-x .archive-section--paper { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
/* filters and search */
.rh-x .mwall-filters .chip { transform: skewX(-12deg); border-radius: 0; border: 2px solid #c9ccd1; background: #fff; color: #4a4f56; font-style: italic; font-weight: 900; }
.rh-x .mwall-filters .chip.is-on { background: var(--red); border-color: var(--red); color: #fff; }
.rh-x .mwall-search { transform: skewX(-10deg); border: 2px solid var(--red); }
/* each class: a slanted banner like a yearbook page heading */
.rh-x .mclass__head { transform: skewX(-4deg); background: #3a3f46; box-shadow: 0 12px 26px rgba(60,64,70,.18); }
.rh-x .mclass__head > * { transform: skewX(4deg); }
.rh-x .mclass.is-mine .mclass__head { background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); }
.rh-x .mclass.is-mine .mclass__k::before { content: "Your class · "; color: #fff; }
.rh-x .mclass__title { font-style: italic; }
.rh-x .mclass__link { padding: 6px 12px; transform: skewX(-12deg); background: #fff; color: var(--red); border: 0; }
/* each member: a little locker with a nameplate */
.rh-x .mwall { gap: 16px; }
.rh-x .mcard { transform: skewX(-4deg); border: 0; background: linear-gradient(90deg, #dfe2e6 0%, #f3f4f6 20%, #eef0f2 50%, #f6f7f8 80%, #dfe2e6 100%); box-shadow: inset 0 0 0 3px #c9ccd1, 0 12px 26px rgba(60,64,70,.14); overflow: hidden; }
.rh-x .mcard > * { transform: skewX(4deg); }
.rh-x .mcard:hover { transform: skewX(-4deg) translateY(-4px); box-shadow: inset 0 0 0 3px var(--red), 0 0 30px rgba(206,26,39,.22), 0 18px 34px rgba(60,64,70,.18); }
.rh-x .mcard__top { margin: 0 -10px; padding: 8px 22px; background: #4a4f56; font-style: italic; }
.rh-x .mcard.is-lettered .mcard__top { background: var(--red); }
.rh-x .mcard__patch { background: transparent; }
.rh-x .mcard__body { margin: 0 14px; padding: 10px 12px 12px; background: #fff; box-shadow: 0 6px 14px rgba(60,64,70,.1); }
.rh-x .mcard__name { font-style: italic; color: #3a3f46; }
.rh-x .mcard__role { font-style: italic; }
.rh-x .mcard__foot { border-top: 0; color: #6b6f75; font-style: italic; }
/* calls to action: red, not black */
.rh-x .ctb-cta { transform: skewX(-3deg); background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); box-shadow: 0 14px 30px rgba(110,10,18,.25); }
.rh-x .ctb-cta > * { transform: skewX(3deg); }
.rh-x .ctb-cta .archive-kicker { color: #fff; }
.rh-x .ctb-cta .btn { background: #fff; color: var(--red); border-color: #fff; transform: skewX(-10deg); }
/* the class page */
.rhv-class .archive-title { font-style: italic; color: #3a3f46; }
.rhv-class .archive-title::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.rhv-class .archive-kicker { color: var(--red); font-style: italic; }
.rhv-class .biggest { gap: 14px; }
.rhv-class .biggest__card { transform: skewX(-4deg); border: 0; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.1); }
.rhv-class .biggest__card > * { transform: skewX(4deg); }
.rhv-class .biggest__score b { font-style: italic; color: var(--red); font-size: 2.2rem; }
@media (max-width: 760px) { .rh-x .mclass__head, .rh-x .mclass__head > *, .rh-x .mcard, .rh-x .mcard > *, .rh-x .ctb-cta, .rh-x .ctb-cta > *, .rhv-class .biggest__card, .rhv-class .biggest__card > *, .rh-x .mwall-filters .chip, .rh-x .mwall-search { transform: none; } .rh-x .mcard__top { margin: 0; } }

/* 5.30.0: the signed-in area, part four and five: My stuff and Account in the locker look (unlayered) */
.rhv-mine .mine__head { padding: 18px 24px; transform: skewX(-3deg); background: #fff; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.1); }
.rhv-mine .mine__head > * { transform: skewX(3deg); }
.rhv-mine .mine__name { font-style: italic; color: #3a3f46; }
.rhv-mine .mine__stats b { font-style: italic; color: var(--red); }
.rhv-mine .mine__why { transform: skewX(-3deg); box-shadow: 0 16px 34px rgba(110,10,18,.25); }
.rhv-mine .mine__why > * { transform: skewX(3deg); }
.rhv-mine .mine__why h3 { font-style: italic; }
.rhv-mine .mine__cards { gap: 12px; }
.rhv-mine .mine__card { transform: skewX(-4deg); border: 0; border-top: 5px solid #c9ccd1; box-shadow: 0 10px 22px rgba(60,64,70,.1); background: #fff; }
.rhv-mine .mine__card > * { transform: skewX(4deg); }
.rhv-mine .mine__card-type { font-style: italic; color: var(--red); }
.rhv-mine .mine__card-status { transform: skewX(-12deg); font-style: italic; }
.rhv-mine .mine__gap { transform: skewX(-4deg); border-left: 6px solid var(--red); background: #fff; box-shadow: 0 10px 22px rgba(60,64,70,.08); }
.rhv-mine .mine__gap > * { transform: skewX(4deg); }
.rhv-mine .chip.is-on { transform: skewX(-12deg); border-radius: 0; background: var(--red); border-color: var(--red); color: #fff; font-style: italic; }
/* account */
.rhv-account .ctb-form { transform: skewX(-2deg); border: 0; border-top: 5px solid var(--red); box-shadow: 0 14px 30px rgba(60,64,70,.1); }
.rhv-account .ctb-form > * { transform: skewX(2deg); }
.rhv-account .ctb-form h2, .rhv-account .ctb-form h3, .rhv-account .ctb-form legend { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: #3a3f46; }
.rhv-account .ctb-field label { font-family: var(--font-display); font-style: italic; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
.rhv-account .ctb-field input[type=text], .rhv-account .ctb-field input[type=email], .rhv-account .ctb-field input[type=url], .rhv-account .ctb-field input[type=password], .rhv-account .ctb-field input[type=number], .rhv-account .ctb-field input[type=tel], .rhv-account .ctb-field select, .rhv-account .ctb-field textarea { border: 2px solid #dfe2e6; background: #f6f7f8; }
.rhv-account .ctb-field input:focus, .rhv-account .ctb-field select:focus, .rhv-account .ctb-field textarea:focus { border-color: var(--red); background: #fff; outline: 0; }
.rhv-account .btn--fill { transform: skewX(-10deg); font-style: italic; }
.rhv-account .ctb-thanks { border-left: 6px solid var(--red); }
@media (max-width: 760px) { .rhv-mine .mine__head, .rhv-mine .mine__head > *, .rhv-mine .mine__why, .rhv-mine .mine__why > *, .rhv-mine .mine__card, .rhv-mine .mine__card > *, .rhv-mine .mine__gap, .rhv-mine .mine__gap > *, .rhv-account .ctb-form, .rhv-account .ctb-form > * { transform: none; } }

.rh-x .mclass:not(.is-mine) .mclass__head { background: #fff; border-left: 8px solid var(--red); }
.rh-x .mclass:not(.is-mine) .mclass__title { color: #3a3f46; } .rh-x .mclass:not(.is-mine) .mclass__k { color: #6b6f75; }
.rh-x .mclass:not(.is-mine) .mclass__link { background: var(--red); color: #fff; }
.rh-x .mcard:not(.is-lettered) .mcard__top { background: #8a9099; }

/* 5.31.0: Join and Sign in, in the locker look (unlayered) */
.rhv-join .join { background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); }
.rhv-join .join::before { background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); }
.rhv-join .join__bg { mix-blend-mode: luminosity; opacity: .2; filter: grayscale(1) contrast(1.1); }
.rhv-join .join__kicker { transform: skewX(-12deg); font-style: italic; }
.rhv-join .join__title { font-style: italic; letter-spacing: -.02em; }
.rhv-join .join__numbers { border-color: rgba(255,255,255,.3); }
.rhv-join .join__numbers b { font-style: italic; }
.rhv-join .join__card { transform: skewX(-2deg); border: 0; border-top: 6px solid #fff; box-shadow: 0 24px 50px rgba(110,10,18,.4); }
.rhv-join .join__card > * { transform: skewX(2deg); }
.rhv-join .join__card-title { font-style: italic; color: #3a3f46; }
.rhv-join .join__f span { font-family: var(--font-display); font-style: italic; font-weight: 900; color: var(--red); }
.rhv-join .join__f input, .rhv-join .join__f select { border: 2px solid #dfe2e6; background: #f6f7f8; }
.rhv-join .join__f input:focus, .rhv-join .join__f select:focus { border-color: var(--red); background: #fff; outline: 0; }
.rhv-join .join__card .btn, .rhv-join .join__card button[type=submit] { transform: skewX(-10deg); font-style: italic; }
/* the live locker preview */
.jlk { margin: 22px 0 18px; max-width: 420px; }
.jlk__k { display: inline-block; padding: 4px 10px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; }
.jlk__door { position: relative; margin-top: 10px; padding: 34px 22px 20px; background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); border: 3px solid #b0b5bb; box-shadow: inset 0 0 0 5px rgba(255,255,255,.4), 0 18px 36px rgba(110,10,18,.35); }
.jlk__door::after { content: ""; position: absolute; right: 14px; top: 50%; width: 10px; height: 44px; margin-top: -22px; border-radius: 3px; background: linear-gradient(180deg, #8a9099, #b0b5bb 40%, #6b6f75); }
.jlk__vents { position: absolute; left: 50%; top: 10px; translate: -50% 0; width: 40%; display: flex; flex-direction: column; gap: 4px; } .jlk__vents i { height: 3px; border-radius: 2px; background: rgba(74,79,86,.35); }
.jlk__plate { display: inline-flex; flex-direction: column; gap: 4px; padding: 12px 18px; transform: skewX(-6deg); background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); box-shadow: 0 0 0 3px #fff, 0 10px 20px rgba(110,10,18,.3); max-width: 86%; }
.jlk__plate > * { transform: skewX(6deg); }
.jlk__plate b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2rem, 4vw, 2.8rem); line-height: .85; text-transform: uppercase; color: #fff; overflow-wrap: anywhere; }
.jlk__plate span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: #fff; }
.jlk__num { display: inline-block; margin: 12px 0 0 4px; padding: 6px 14px; transform: skewX(-8deg); background: #fff; border-left: 5px solid var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.4rem; color: var(--red); text-transform: uppercase; }
.jlk__note { display: block; margin-top: 8px; font-family: var(--font-display); font-style: italic; font-weight: 800; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.85); }
/* the tour below: no black */
.rhv-join .jyours { background: radial-gradient(120% 140% at 85% 0%, #e8303c 0%, var(--red) 50%, #a8141f 100%); border-top: 0; }
.rhv-join .jfinal { background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); }
.rhv-join .jera .fbtn:hover, .rhv-join .jfaq .fbtn:hover { background: #3a3f46; }
/* sign in: red instead of near-black */
.rhv-login .signin { background: #f6f7f8; color: #3a3f46; }
.rhv-login .signin__side { color: #fff; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); }
.rhv-login .signin__side::before { opacity: .2; mix-blend-mode: luminosity; }
.rhv-login .signin__title { font-style: italic; letter-spacing: -.02em; }
.rhv-login .signin__title span { color: #fff; }
.rhv-login .signin .vhero__since { transform: skewX(-12deg); background: #fff; color: var(--red); font-style: italic; }
.rhv-login .signin__inside li { border-color: rgba(255,255,255,.3); }
@media (max-width: 760px) { .rhv-join .join__card, .rhv-join .join__card > *, .jlk__plate, .jlk__plate > * { transform: none; } }

.rhv-login .signin--photo .signin__side { background-image: linear-gradient(100deg, rgba(206,26,39,.95) 0%, rgba(206,26,39,.85) 55%, rgba(179,20,31,.7) 100%), var(--signin-bg); background-size: cover; background-position: center; }

.rhv-join .join__title b { background: #fff; color: var(--red); box-shadow: none; }

/* 5.31.1: the email choices on Join: a clean white panel with a red edge, its heading as a red tag (it was a gray box) */
.rhv-join .join__mail { margin: 4px 0 0; padding: 30px 18px 14px; background: #fff; border: 2px solid #eef0f2; border-left: 6px solid var(--red); position: relative; }
.rhv-join .join__mail legend { position: absolute; top: -12px; left: 12px; margin: 0; padding: 4px 12px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; }
.rhv-join .join__mail label { color: #3a3f46; }
.rhv-join .join__mail input[type=checkbox], .rhv-join .join__card input[type=checkbox] { accent-color: var(--red); }
.rhv-join .join__letter { border-color: #dfe2e6; }

/* 5.32.0: teammates, team rooms and the teammate-joined news (unlayered) */
/* "just joined" news on the locker */
.lkb-news { display: grid; gap: 8px; margin: 0 0 22px; }
.lkb-news__item { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; padding: 12px 18px; transform: skewX(-4deg); background: #fff; border-left: 6px solid var(--red); box-shadow: 0 10px 22px rgba(60,64,70,.1); color: #3a3f46; text-decoration: none; }
.lkb-news__item > * { transform: skewX(4deg); }
.lkb-news__k { padding: 3px 9px; background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
.lkb-news__item b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.2rem; text-transform: uppercase; }
.lkb-news__item em { margin-left: auto; font-style: normal; font-family: var(--font-display); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; font-size: .8rem; color: var(--red); }
.lkb-news__item:hover { box-shadow: 0 0 0 2px var(--red), 0 14px 26px rgba(60,64,70,.14); color: #3a3f46; }
/* teammates on the locker */
.lkb-team__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.lkb-tcard { display: flex; flex-direction: column; gap: 10px; padding: 0 0 18px; transform: skewX(-4deg); background: #fff; box-shadow: 0 12px 26px rgba(60,64,70,.12); overflow: hidden; }
.lkb-tcard > * { transform: skewX(4deg); margin-left: 20px; margin-right: 20px; }
.lkb-tcard__top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin: 0 -10px 4px !important; padding: 12px 30px; background: #4a4f56; color: #fff; }
.lkb-tcard.has-mates .lkb-tcard__top { background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); }
.lkb-tcard__top b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.5rem; text-transform: uppercase; }
.lkb-tcard__top span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; opacity: .9; }
.lkb-tcard__n { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.1rem; text-transform: uppercase; color: #3a3f46; } .lkb-tcard__n b { font-size: 1.8rem; color: var(--red); }
.lkb-tcard__list { list-style: none; padding: 0; display: grid; gap: 6px; }
.lkb-tcard__list li { display: flex; align-items: center; gap: 10px; padding: 6px 8px; background: #f6f7f8; }
.lkb-tcard__list b { display: block; font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: #3a3f46; } .lkb-tcard__list small { font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--red); }
.lkb-tcard__miss { margin-top: 0; margin-bottom: 0; font-size: .92rem; color: #4a4f56; } .lkb-tcard__miss b { font-family: var(--font-display); font-style: italic; text-transform: uppercase; color: #3a3f46; }
.lkb-tcard__acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto !important; }
.lkb-tcard__acts .lkb-card__go { margin-top: 0; }
.lkb-tcard__invite { padding: 8px 14px; transform: skewX(-12deg); background: #fff; border: 2px solid var(--red); color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; text-decoration: none; }
.lkb-tcard__invite:hover { background: var(--red); color: #fff; }
.lkb-tcard--empty { padding-top: 18px; }
/* team rooms strip on My era */
.era-rooms { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 8px; }
.era-rooms__k { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); margin-right: 4px; }
.era-rooms a { display: flex; flex-direction: column; padding: 8px 16px; transform: skewX(-10deg); background: #fff; border-top: 4px solid var(--red); box-shadow: 0 8px 18px rgba(60,64,70,.1); color: #3a3f46; text-decoration: none; }
.era-rooms a > * { transform: skewX(10deg); } .era-rooms b { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; } .era-rooms small { font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: #6b6f75; }
.era-rooms a:hover b { color: var(--red); }
/* the team room page */
.trm { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); padding: clamp(36px, 5vw, 70px) 0; }
.trm::before { content: ""; position: absolute; inset: 0; z-index: -2; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); }
.trm__ghost { position: absolute; z-index: -1; right: -2%; bottom: -14%; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(180px, 26vw, 420px); line-height: .8; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 3px rgba(255,255,255,.14); white-space: nowrap; pointer-events: none; }
.trm__inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; }
.trm__k { display: inline-block; padding: 5px 12px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; }
.trm__title { margin: 12px 0 6px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(3.4rem, 9vw, 7.6rem); line-height: .84; letter-spacing: -.02em; text-transform: uppercase; }
.trm__title span { display: block; font-size: .5em; color: rgba(255,255,255,.88); }
.trm__line { margin: 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.05rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.92); }
.trm__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; }
.trm__btn { display: inline-block; padding: 12px 20px; transform: skewX(-12deg); background: #fff; color: var(--red); border: 2px solid #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .95rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.trm__btn--line { background: transparent; color: #fff; } .trm__btn:hover { background: #3a3f46; border-color: #3a3f46; color: #fff; }
.trm__link { color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; font-size: .85rem; }
.trm__count { display: flex; align-items: center; gap: 12px; padding: 16px 24px; transform: skewX(-8deg); background: rgba(120,8,16,.38); border: 2px solid rgba(255,255,255,.3); }
.trm__count > * { transform: skewX(8deg); } .trm__count b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 4rem; line-height: .85; } .trm__count span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; line-height: 1.3; }
.trmb { background: linear-gradient(180deg, #eef0f2, #f6f7f8); padding: 26px 0 60px; }
.trmb__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 30px; }
.trm-posts { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.trm-posts a { display: flex; flex-direction: column; gap: 6px; padding: 14px 20px; transform: skewX(-3deg); background: #fff; border-left: 6px solid var(--red); box-shadow: 0 10px 22px rgba(60,64,70,.08); color: #3a3f46; text-decoration: none; }
.trm-posts a > * { transform: skewX(3deg); }
.trm-posts__who { display: flex; align-items: center; gap: 8px; } .trm-posts__who b { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; } .trm-posts__who small { color: #8a9099; font-family: var(--font-display); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: .72rem; }
.trm-posts__text { font-family: var(--font-serif); line-height: 1.5; color: #3a3f46; }
.trm-empty { padding: 22px 26px; transform: skewX(-3deg); background: #fff; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.1); }
.trm-empty > * { transform: skewX(3deg); } .trm-empty b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.5rem; text-transform: uppercase; color: #3a3f46; } .trm-empty p { color: #4a4f56; } .trm-empty .trm__btn { background: var(--red); color: #fff; border-color: var(--red); }
.trm__all { display: inline-block; margin-top: 14px; }
.trm-roster { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; background: #fff; box-shadow: 0 12px 26px rgba(60,64,70,.1); border-top: 5px solid var(--red); }
.trm-roster li { display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 10px; padding: 8px 14px; border-bottom: 1px solid #eef0f2; }
.trm-roster__num { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.4rem; color: #8a9099; text-align: center; }
.trm-roster__name b { display: block; font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: #3a3f46; } .trm-roster__name small { color: #6b6f75; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.trm-roster__st { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: #8a9099; }
.trm-roster li.is-here { background: #fff; box-shadow: inset 5px 0 0 var(--red); } .trm-roster li.is-here .trm-roster__num { color: var(--red); } .trm-roster li.is-here .trm-roster__st { padding: 2px 8px; background: var(--red); color: #fff; transform: skewX(-12deg); }
.trm-roster li.is-me .trm-roster__st { background: #3a3f46; }
.trm-here { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; } .trm-here li { display: flex; align-items: center; gap: 10px; padding: 8px 10px; background: #fff; } .trm-here b { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: #3a3f46; }
.trm-note { margin-top: 12px; color: #4a4f56; font-size: .92rem; } .trm-note a { color: var(--red); font-weight: 700; }
@media (max-width: 900px) { .trmb__grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .lkb-news__item, .lkb-news__item > *, .lkb-tcard, .lkb-tcard > *, .era-rooms a, .era-rooms a > *, .trm__count, .trm__count > *, .trm-posts a, .trm-posts a > *, .trm-empty, .trm-empty > * { transform: none; } .lkb-tcard__top { margin: 0 0 4px !important; padding: 12px 20px; } }

/* 5.33.0: member lockers and signed notes (unlayered) */
.lk__tag--link { background: #fff; color: var(--red); text-decoration: none; box-shadow: inset 0 0 0 2px var(--red); } .lk__tag--link:hover { background: var(--red); color: #fff; }
.lk__rec--sm { font-size: clamp(2.4rem, 4.4vw, 3.6rem); }
.lkv-teams { display: grid; gap: 8px; width: 100%; }
.lkv-teams a { display: flex; flex-direction: column; padding: 10px 16px; background: #fff; border-left: 6px solid #3a3f46; color: #3a3f46; text-decoration: none; }
.lkv-teams b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.2rem; text-transform: uppercase; } .lkv-teams small { font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red); }
.lkv-teams a:hover { border-left-color: var(--red); }
.lkv-flash { padding: 12px 18px; background: #fff; border-left: 6px solid var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; letter-spacing: .04em; color: #3a3f46; }
.lkv-form { display: grid; gap: 8px; margin-bottom: 26px; padding: 20px 24px; transform: skewX(-2deg); background: #fff; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.1); }
.lkv-form > * { transform: skewX(2deg); }
.lkv-form label { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.lkv-form textarea { width: 100%; padding: 12px 14px; border: 2px solid #dfe2e6; background: #f6f7f8; font: inherit; font-family: var(--font-serif); font-size: 1.05rem; resize: vertical; }
.lkv-form textarea:focus { border-color: var(--red); background: #fff; outline: 0; }
.lkv-form__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; } .lkv-form__row small { color: #6b6f75; }
.lkv-form__btn { background: var(--red); border-color: var(--red); color: #fff; } .lkv-form__btn:hover { background: #3a3f46; border-color: #3a3f46; color: #fff; }
/* the notes: yearbook signatures, each slightly turned */
.lkv-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 16px; }
.lkv-note { display: flex; flex-direction: column; gap: 12px; padding: 18px 20px; background: #fff; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.12); transform: rotate(-1deg); }
.lkv-note:nth-child(2n) { transform: rotate(1deg); border-top-color: #4a4f56; } .lkv-note:nth-child(3n) { transform: rotate(-.4deg); }
.lkv-note p { margin: 0; font-family: var(--font-serif); font-size: 1.08rem; line-height: 1.5; color: #3a3f46; }
.lkv-note__by { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; }
.lkv-note__by > a:not(.lkv-note__x) { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: #3a3f46; text-decoration: none; } .lkv-note__by > a:hover { color: var(--red); }
.lkv-note__by small { color: #8a9099; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.lkv-note__x { margin-left: auto; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: #8a9099; }
.lkv-note__x:hover { color: var(--red); }
.rh-x .mcard__name a, .lkb-tcard__list b a, .lkb-class__list b a, .trm-roster__name b a, .trm-here b a { color: inherit; text-decoration: none; border-bottom: 2px solid rgba(206,26,39,.35); }
.rh-x .mcard__name a:hover, .lkb-tcard__list b a:hover, .lkb-class__list b a:hover, .trm-roster__name b a:hover, .trm-here b a:hover { color: var(--red); border-color: var(--red); }
@media (max-width: 760px) { .lkv-form, .lkv-form > *, .lkv-note, .lkv-note:nth-child(2n), .lkv-note:nth-child(3n) { transform: none; } }

.lk__rec--sm { text-transform: uppercase; }

/* 5.33.1: a clear way into each member locker from the roll call */
.rh-x .mcard__sign { display: block; margin: 0 -10px; padding: 10px 22px; background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; text-align: center; text-decoration: none; }
.rh-x .mcard__sign:hover { background: #3a3f46; color: #fff; }
@media (max-width: 760px) { .rh-x .mcard__sign { margin: 0; } }

/* 5.34.0: homepage latest stories, the splash (unlayered) */
.nsx { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); padding: clamp(40px, 5vw, 64px) 0 clamp(44px, 5vw, 70px); }
.nsx::before { content: ""; position: absolute; inset: 0; z-index: -2; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); }
.nsx__ghost { position: absolute; z-index: -1; right: -2%; top: -4%; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(180px, 24vw, 340px); line-height: .8; letter-spacing: -.03em; text-transform: uppercase; color: transparent; -webkit-text-stroke: 3px rgba(255,255,255,.15); pointer-events: none; }
.nsx__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 26px; }
.nsx__k { display: inline-block; padding: 5px 12px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; }
.nsx__title { margin: 10px 0 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.6rem, 5.4vw, 4.4rem); line-height: .86; letter-spacing: -.02em; text-transform: uppercase; color: #fff; text-shadow: 0 6px 24px rgba(110,10,18,.35); }
.nsx__all { padding: 11px 18px; transform: skewX(-12deg); background: #fff; color: var(--red); box-shadow: 5px 5px 0 rgba(110,10,18,.35); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .9rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.nsx__all:hover { background: #3a3f46; color: #fff; }
/* the top story: photo filling the left, cut into a white panel */
.nsx-lead { position: relative; display: grid; grid-template-columns: 1.25fr 1fr; min-height: clamp(380px, 38vw, 540px); overflow: hidden; border: 4px solid #fff; box-shadow: 0 30px 60px rgba(110,10,18,.4); color: #3a3f46; text-decoration: none; background: #fff; }
.nsx-lead__ph { position: relative; display: block; clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%); background: var(--red); }
.nsx-lead__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; transition: transform .7s ease; }
.nsx-lead__img--empty { background: var(--corbin-mark-white, none) center / 40% no-repeat, radial-gradient(120% 120% at 15% 0%, #e8303c, var(--red) 55%, #a8141f); }
.nsx-lead:hover .nsx-lead__img { transform: scale(1.04); }
.nsx-lead__txt { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 16px; margin-left: -14%; padding: 40px clamp(24px, 3vw, 44px) 40px clamp(60px, 7vw, 96px); background: #fff; clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); }
.nsx-tag { display: inline-block; padding: 4px 10px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; }
.nsx-lead__title { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.2rem, 3.8vw, 3.9rem); line-height: .88; letter-spacing: -.01em; text-transform: uppercase; color: #3a3f46; }
.nsx-lead:hover .nsx-lead__title { color: var(--red); }
.nsx-lead__deck { font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.5; color: #4a4f56; }
.nsx-lead__go { padding: 12px 20px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .92rem; letter-spacing: .14em; text-transform: uppercase; }
/* the next three: the photo fills the card, the headline sits on a red wash */
.nsx-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.nsx-card { position: relative; display: block; min-height: 250px; overflow: hidden; transform: skewX(-6deg); border: 3px solid #fff; background: var(--red); color: #fff; text-decoration: none; box-shadow: 0 16px 32px rgba(110,10,18,.35); transition: transform .2s, box-shadow .2s; }
.nsx-card:hover { transform: skewX(-6deg) scale(1.03); box-shadow: 0 0 0 3px rgba(255,255,255,.5), 0 0 40px rgba(255,255,255,.3), 0 20px 40px rgba(110,10,18,.4); color: #fff; }
.nsx-card__img { position: absolute; top: 0; bottom: 0; left: -24px; right: -24px; display: block; width: calc(100% + 48px); height: 100%; max-width: none; object-fit: cover; transform: skewX(6deg); transition: transform .7s ease; }
.nsx-card:hover .nsx-card__img { transform: skewX(6deg) scale(1.06); }
.nsx-card__img--empty { background: var(--corbin-mark-white, none) center / 34% no-repeat, radial-gradient(120% 120% at 15% 0%, #e8303c, var(--red) 55%, #a8141f); }
.nsx-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(206,26,39,0) 38%, rgba(190,22,34,.82) 78%, rgba(168,20,31,.97) 100%); pointer-events: none; }
.nsx-card__n { position: absolute; z-index: 2; right: 18px; top: -4px; transform: skewX(6deg); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 5rem; line-height: 1; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.75); }
.nsx-card__body { position: absolute; z-index: 2; left: 20px; right: 20px; bottom: 16px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; transform: skewX(6deg); }
.nsx-card__k { padding: 3px 9px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; }
.nsx-card__title { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.2rem, 1.6vw, 1.45rem); line-height: 1; text-transform: uppercase; text-shadow: 0 3px 12px rgba(110,10,18,.45); }
@media (max-width: 900px) { .nsx-lead { grid-template-columns: 1fr; } .nsx-lead__ph { min-height: 260px; clip-path: none; } .nsx-lead__txt { margin-left: 0; clip-path: none; padding: 24px; } .nsx-row { grid-template-columns: 1fr; } .nsx-card, .nsx-card:hover { transform: none; } .nsx-card__img, .nsx-card:hover .nsx-card__img, .nsx-card__n, .nsx-card__body { transform: none; } .nsx-card__img { left: 0; right: 0; width: 100%; } }
@media (prefers-reduced-motion: reduce) { .nsx-card, .nsx-card__img, .nsx-lead__img { transition: none; } }

/* 5.35.0: the homepage join pitch, your locker is waiting (unlayered) */
.jpx { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); padding: clamp(46px, 6vw, 84px) 0; }
.jpx::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--jpx-bg, none) var(--jpx-x, 100%) var(--jpx-y, 20%) / cover no-repeat; mix-blend-mode: luminosity; opacity: .22; filter: grayscale(1) contrast(1.1); }
.jpx::after { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); }
.jpx__ghost { position: absolute; z-index: -1; right: -2%; bottom: -10%; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(200px, 28vw, 440px); line-height: .8; letter-spacing: -.03em; text-transform: uppercase; color: transparent; -webkit-text-stroke: 3px rgba(255,255,255,.14); pointer-events: none; }
.jpx__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 56px); align-items: center; }
.jpx__k { display: inline-block; padding: 5px 12px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; }
.jpx__title { margin: 14px 0 16px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.8rem, 6vw, 5.4rem); line-height: .88; letter-spacing: -.02em; text-transform: uppercase; color: #fff; text-shadow: 0 6px 24px rgba(110,10,18,.35); }
.jpx__title b { display: inline-block; margin-top: 6px; padding: 2px 16px 4px; transform: skewX(-8deg); background: #fff; color: var(--red); text-shadow: none; box-shadow: 8px 8px 0 rgba(110,10,18,.35); }
.jpx__lede { margin: 0 0 22px; max-width: 46rem; font-family: var(--font-serif); font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.55; color: rgba(255,255,255,.94); }
.jpx__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.jpx__btn { padding: 14px 24px; transform: skewX(-12deg); background: #fff; color: var(--red); border: 2px solid #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; box-shadow: 6px 6px 0 rgba(110,10,18,.35); }
.jpx__btn:hover { background: #3a3f46; border-color: #3a3f46; color: #fff; }
.jpx__btn--line { background: transparent; color: #fff; box-shadow: none; } .jpx__btn--line:hover { background: #fff; border-color: #fff; color: var(--red); }
.jpx__link { color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; }
.jpx__quiet { margin: 14px 0 0; font-family: var(--font-display); font-weight: 800; font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.jpx__nums { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.jpx__nums div { padding: 12px 18px; transform: skewX(-10deg); background: rgba(120,8,16,.38); border: 2px solid rgba(255,255,255,.28); }
.jpx__nums div > * { display: block; transform: skewX(10deg); }
.jpx__nums b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.6rem, 2.4vw, 2.2rem); line-height: 1; color: #fff; }
.jpx__nums span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.88); }
/* the empty locker */
.jpx__side { display: flex; flex-direction: column; gap: 12px; }
.jpx__wait { align-self: flex-start; padding: 4px 10px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; }
.jpx-door { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 46px 28px 24px; background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); border: 3px solid #b0b5bb; box-shadow: inset 0 0 0 6px rgba(255,255,255,.4), 0 26px 50px rgba(110,10,18,.4); color: #3a3f46; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.jpx-door:hover { transform: translateY(-4px) rotate(-.5deg); box-shadow: inset 0 0 0 6px rgba(255,255,255,.4), 0 0 0 4px #fff, 0 32px 60px rgba(110,10,18,.45); color: #3a3f46; }
.jpx-door::after { content: ""; position: absolute; right: 18px; top: 50%; width: 12px; height: 56px; margin-top: -28px; border-radius: 4px; background: linear-gradient(180deg, #8a9099, #b0b5bb 40%, #6b6f75); }
.jpx-door__vents { position: absolute; left: 50%; top: 12px; translate: -50% 0; width: 42%; display: flex; flex-direction: column; gap: 4px; } .jpx-door__vents i { height: 4px; border-radius: 3px; background: rgba(74,79,86,.35); }
.jpx-door__plate { display: inline-flex; flex-direction: column; gap: 4px; padding: 14px 22px; transform: skewX(-6deg); background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); box-shadow: 0 0 0 3px #fff, 0 12px 24px rgba(110,10,18,.3); color: #fff; }
.jpx-door__plate > * { transform: skewX(6deg); }
.jpx-door__plate b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.2rem, 4vw, 3.2rem); line-height: .85; text-transform: uppercase; }
.jpx-door__plate span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .82rem; letter-spacing: .16em; text-transform: uppercase; }
.jpx-door__num { padding: 6px 14px; transform: skewX(-8deg); background: #fff; border-left: 5px solid var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.3rem; color: var(--red); text-transform: uppercase; box-shadow: 0 8px 18px rgba(60,64,70,.15); }
.jpx-door__recent { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 4px; }
.jpx-door__recent em { font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: #6b6f75; }
.jpx-door__recent span { padding: 3px 9px; transform: skewX(-12deg); background: #3a3f46; color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.jpx__perks { list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.jpx__perks li { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; transform: skewX(-6deg); background: #fff; border-top: 4px solid var(--red); box-shadow: 0 10px 22px rgba(110,10,18,.25); color: #3a3f46; }
.jpx__perks li > * { transform: skewX(6deg); }
.jpx__perks b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.05rem; text-transform: uppercase; } .jpx__perks span { font-size: .86rem; line-height: 1.4; color: #4a4f56; }
@media (max-width: 960px) { .jpx__grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .jpx__nums div, .jpx__nums div > *, .jpx__perks li, .jpx__perks li > *, .jpx__title b { transform: none; } .jpx__perks { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .jpx-door { transition: none; } }

.jpx__title { font-size: clamp(2.4rem, 4.6vw, 4.4rem); }
@media (min-width: 961px) { .jpx__title b { white-space: nowrap; } }

/* 5.35.1: Sign in fixes: "Redhound." was white on its white plate; the form in the locker look, no black */
.rhv-login .signin__title span { color: var(--red); background: #fff; padding: .04em .16em .02em; transform: skewX(-8deg); box-shadow: 8px 8px 0 rgba(110,10,18,.35); }
.rhv-login .signin__panel .archive-kicker, .rhv-login .signin__k { color: var(--red); font-style: italic; }
.rhv-login .signin__h { font-style: italic; color: #3a3f46; }
.rhv-login .signin__f label, .rhv-login .signin__f > span { font-family: var(--font-display); font-style: italic; font-weight: 900; color: var(--red); letter-spacing: .14em; }
.rhv-login .signin__f input { border: 2px solid #dfe2e6; background: #f6f7f8; color: #3a3f46; }
.rhv-login .signin__f input:focus { border-color: var(--red); background: #fff; outline: 0; }
.rhv-login .signin__show { background: #fff; color: var(--red); border: 2px solid var(--red); font-style: italic; font-weight: 900; }
.rhv-login .signin__show:hover { background: var(--red); color: #fff; }
.rhv-login .signin__btn { transform: skewX(-8deg); font-style: italic; box-shadow: 6px 6px 0 rgba(110,10,18,.25); }
.rhv-login .signin__new { border-top-color: #dfe2e6; }
.rhv-login .signin__new b { font-style: italic; color: #3a3f46; }
.rhv-login .signin__join { transform: skewX(-8deg); background: var(--red); border-color: var(--red); color: #fff; font-style: italic; }
.rhv-login .signin__join:hover { background: #3a3f46; border-color: #3a3f46; color: #fff; }
.rhv-login .signin__inside li { background: rgba(120,8,16,.4); border-top-color: #fff; }

/* 5.36.0: game pages open like a front page (unlayered) */
.gfp { background: linear-gradient(180deg, #eef0f2, #f6f7f8); padding: 22px 0 10px; }
.gfp__top { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.gfp__back { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); text-decoration: none; }
.gfp__back:hover { color: #3a3f46; }
.gfp__paper { background: #fff; border-top: 8px solid var(--red); box-shadow: 0 20px 44px rgba(60,64,70,.14); }
.gfp__mast { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 18px; padding: 12px clamp(18px, 3vw, 32px); border-bottom: 3px double #4a4f56; font-family: var(--font-display); font-weight: 900; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: #6b6f75; }
.gfp__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.gfp__main { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: clamp(20px, 3vw, 32px); }
.gfp__label { padding: 4px 10px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; }
.gfp__head { margin: 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(3rem, 7vw, 6.4rem); line-height: .84; letter-spacing: -.02em; text-transform: uppercase; color: #3a3f46; }
.gfp__head b { display: block; color: var(--red); } .gfp__head span { display: block; }
.gfp__head .is-dim { color: #8a9099; }
.gfp.is-loss .gfp__head span:not(.is-dim) { color: #3a3f46; }
.gfp__line { margin: 0; max-width: 42rem; font-family: var(--font-serif); font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.55; color: #4a4f56; }
.gfp__tools { display: flex; flex-wrap: wrap; gap: 8px; }
.gfp__tools:empty { display: none; }
.gfp__links { display: flex; flex-wrap: wrap; gap: 8px; }
.gfp__btn { padding: 9px 16px; transform: skewX(-12deg); background: #fff; color: var(--red); box-shadow: inset 0 0 0 2px var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.gfp__btn.is-fill, .gfp__btn:hover { background: var(--red); color: #fff; }
.gfp__photo { position: relative; min-height: 340px; overflow: hidden; border-left: 1px solid #eef0f2; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); }
.gfp__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.gfp__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(206,26,39,0) 55%, rgba(168,20,31,.55) 100%); pointer-events: none; }
.gfp__photo.is-empty::after { display: none; }
.gfp__mark { position: absolute; inset: 0; display: grid; place-items: center; opacity: .2; } .gfp__mark-img { width: 46%; height: auto; }
.gfp__teams { position: absolute; z-index: 2; right: 14px; top: 14px; display: flex; gap: 8px; }
.gfp__team { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #fff; box-shadow: 0 6px 16px rgba(60,64,70,.25); overflow: hidden; }
.gfp__team img, .gfp__team svg { width: 70%; height: 70%; object-fit: contain; }
.gfp__team-x { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.1rem; text-transform: uppercase; color: #4a4f56; }
.gfp__tag { position: absolute; z-index: 2; left: 16px; bottom: 16px; padding: 5px 12px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; box-shadow: 0 6px 16px rgba(110,10,18,.25); }
/* the record below, as clean white cards */
.single-game .game-body { background: linear-gradient(180deg, #f6f7f8, #eef0f2); }
.single-game .game-body .record-block, .single-game .game-body .card { background: #fff; border: 0; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.1); padding: clamp(16px, 2vw, 24px); }
.single-game .game-body .record-block__title, .single-game .game-body .card__title { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: #3a3f46; }
.single-game .game-body .record-block__title::after, .single-game .game-body .card__title::after { content: ""; display: block; width: 70px; height: 5px; margin-top: 8px; background: var(--red); transform: skewX(-20deg); }
.single-game .game-body .qtr-table tr.is-winner td, .single-game .game-body .qtr-table tr.is-winner th { color: var(--red); }
.single-game .game-body .qtr-table td:last-child { font-style: italic; font-weight: 900; background: #f6f7f8; }
.single-game .gnav__item { transform: skewX(-6deg); background: #fff; box-shadow: 0 10px 22px rgba(60,64,70,.1); border: 0; }
.single-game .gnav__item > * { transform: skewX(6deg); }
.single-game .gnav__item:last-child { background: var(--red); color: #fff; } .single-game .gnav__item:last-child * { color: #fff; }
@media (max-width: 900px) { .gfp__grid { grid-template-columns: 1fr; } .gfp__photo { order: -1; min-height: 240px; border-left: 0; } }
@media (max-width: 760px) { .single-game .gnav__item, .single-game .gnav__item > * { transform: none; } }

/* 5.37.0: season pages open like a front page, matching the game pages (unlayered) */
.sfp { background: linear-gradient(180deg, #eef0f2, #f6f7f8); padding: 22px 0 14px; }
.sfp .gfp__mast a { color: var(--red); text-decoration: none; }
.sfp__head b { font-size: 1.12em; }
.sfp__lede { font-size: clamp(1.05rem, 1.5vw, 1.2rem); }
.sfp__lede::first-letter { float: left; margin: 6px 10px 0 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 4.4rem; line-height: .8; color: var(--red); }
.sfp__titles { display: flex; flex-wrap: wrap; gap: 8px; }
.sfp__title { padding: 6px 14px; transform: skewX(-12deg); background: #fff; color: var(--red); box-shadow: inset 0 0 0 2px var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.sfp__title.is-state { background: var(--red); color: #fff; }
.sfp__strip-k { margin-top: 4px; font-family: var(--font-display); font-weight: 900; font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; color: #8a9099; }
.sfp__strip { list-style: none; margin: 0; padding: 0; width: 100%; display: grid; grid-template-columns: repeat(var(--n, 10), minmax(0, 1fr)); gap: 5px; }
.sfp__strip a { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 9px 2px; transform: skewX(-8deg); background: #a3a8ae; color: #fff; text-decoration: none; font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; transition: transform .15s; }
.sfp__strip a > * { transform: skewX(8deg); }
.sfp__strip b { font-size: 1.4rem; line-height: 1; } .sfp__strip small { font-size: .7rem; letter-spacing: .02em; white-space: nowrap; }
.sfp__strip .is-w a { background: var(--red); }
.sfp__strip .is-t a { background: #c9ccd1; color: #3a3f46; }
.sfp__strip .is-p a { box-shadow: inset 0 0 0 3px #3a3f46; }
.sfp__strip .is-title a { box-shadow: inset 0 0 0 3px #fff, 0 0 0 3px var(--red); }
.sfp__strip a:hover { transform: skewX(-8deg) translateY(-3px); }
.sfp__yr { position: absolute; left: 50%; bottom: 18%; translate: -50% 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(5rem, 9vw, 8rem); line-height: .8; color: transparent; -webkit-text-stroke: 3px rgba(255,255,255,.5); }
/* below the front page: the chart on red instead of dark, the numbers light */
.sfp ~ .chx-nav { background: #f6f7f8; border: 0; }
.sfp ~ .chx-nav .chx-nav__a { color: #3a3f46; } .sfp ~ .chx-nav .chx-nav__a b { font-style: italic; } .sfp ~ .chx-nav .chx-nav__a small { color: var(--red); }
.sfp ~ .sline { background: radial-gradient(120% 140% at 85% 0%, #e8303c 0%, var(--red) 50%, #a8141f 100%); }
.sfp ~ .sline .chx-tag { background: #fff; color: var(--red); transform: skewX(-12deg); }
.sfp ~ .sline .sline__title { font-style: italic; }
.sfp ~ .sline .sbar.is-title .sbar__up i { background: #fff; box-shadow: 0 0 0 2px #fff, 0 0 14px rgba(255,255,255,.8); }
.sfp ~ .sline .sbar a:hover .sbar__up i { background: #3a3f46; }
@media (max-width: 760px) { .sfp__strip { grid-template-columns: repeat(7, minmax(0, 1fr)); } .sfp__strip a, .sfp__strip a > * { transform: none; } }

/* 5.37.1: season pages: the team photo runs the full width at its own shape, so every player is in it */
.sfp .gfp__grid { grid-template-columns: 1fr; }
.sfp .gfp__photo { order: -1; min-height: 0; border-left: 0; border-bottom: 1px solid #eef0f2; }
.sfp .gfp__photo:not(.is-empty) .gfp__img { position: static; width: 100%; height: auto; max-height: none; object-fit: contain; }
.sfp .gfp__photo::after { display: none; }
.sfp .gfp__photo.is-empty { min-height: 220px; }
.sfp .gfp__main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 36px; align-items: start; }
.sfp .sfp__head { grid-row: span 3; }
.sfp .sfp__strip-k, .sfp .sfp__strip { grid-column: 1 / -1; }
@media (max-width: 900px) { .sfp .gfp__main { grid-template-columns: 1fr; } .sfp .sfp__head { grid-row: auto; } }

/* 5.38.0: the season page below the front page, in the locker look; notable moments as numbered cards (unlayered) */
.ssn-x .archive-section--paper { background: linear-gradient(180deg, #eef0f2, #f6f7f8); }
.ssn-x .archive-title, .ssn-x .archive-subtitle, .ssn-x .mag-subtitle { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: #3a3f46; }
.ssn-x .archive-title::after, .ssn-x .mag-subtitle::after { content: ""; display: block; width: 90px; height: 6px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.ssn-x .archive-kicker { color: var(--red); font-style: italic; }
/* the write-up reads like a magazine page: on white, its own headline big */
.ssn-x .season-story__main { padding: clamp(22px, 3vw, 40px); background: #fff; border-top: 6px solid var(--red); box-shadow: 0 16px 34px rgba(60,64,70,.1); }
.ssn-x .season-story__text h1, .ssn-x .season-story__text h2:first-child { margin-top: 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.2rem, 4.2vw, 3.6rem); line-height: .9; text-transform: uppercase; color: #3a3f46; }
.ssn-x .season-story__text h2, .ssn-x .season-story__text h3 { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: var(--red); }
/* notable moments: numbered slanted cards, no black */
.ssn-x .season-moments { padding: 0; background: transparent; color: #3a3f46; }
.ssn-x .ssn-moments { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ssn-x .ssn-moments li { display: grid; grid-template-columns: 62px 1fr; align-items: center; gap: 0; margin: 0; padding: 0; border: 0; background: #fff; transform: skewX(-4deg); box-shadow: 0 10px 22px rgba(60,64,70,.1); overflow: hidden; }
.ssn-x .ssn-moments li::before { display: none; }
.ssn-x .ssn-moments li > * { transform: skewX(4deg); }
.ssn-x .ssn-moments__n { align-self: stretch; display: grid; place-items: center; margin-left: -8px; background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.6rem; }
.ssn-x .ssn-moments li:nth-child(n+2) .ssn-moments__n { background: #4a4f56; }
.ssn-x .ssn-moments__t { padding: 14px 18px; font-family: var(--font-serif); font-size: 1.02rem; line-height: 1.45; color: #3a3f46; }
.ssn-x .ssn-moments li:first-child { grid-column: 1 / -1; background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); }
.ssn-x .ssn-moments li:first-child .ssn-moments__n { background: #fff; color: var(--red); }
.ssn-x .ssn-moments li:first-child .ssn-moments__t { color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.35rem; text-transform: uppercase; line-height: 1.1; }
/* the rail */
.ssn-x .season-rail .card { background: #fff; border: 0; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.1); transform: skewX(-3deg); }
.ssn-x .season-rail .card > * { transform: skewX(3deg); }
.ssn-x .season-rail .card__title { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: #3a3f46; }
.ssn-x .season-rail .details__row dt { font-family: var(--font-display); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #8a9099; }
.ssn-x .season-rail .details__row dd { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: #3a3f46; }
/* roster preview: number tags */
.ssn-x .roster-preview { gap: 8px; }
.ssn-x .roster-preview li { transform: skewX(-6deg); background: #fff; border: 0; box-shadow: 0 6px 14px rgba(60,64,70,.08); }
.ssn-x .roster-preview li > * { transform: skewX(6deg); }
.ssn-x .roster-preview b, .ssn-x .roster-preview strong { color: var(--red); font-style: italic; }
/* other cards and blocks */
.ssn-x .season-stats { background: #fff; border: 0; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.1); }
.ssn-x .season-stats__summary { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: #3a3f46; }
.ssn-x .season-unwritten { background: #fff; border-top: 6px solid var(--red); box-shadow: 0 16px 34px rgba(60,64,70,.1); }
.ssn-x .season-unwritten__title { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: #3a3f46; }
@media (max-width: 760px) { .ssn-x .ssn-moments { grid-template-columns: 1fr; } .ssn-x .ssn-moments li, .ssn-x .ssn-moments li > *, .ssn-x .season-rail .card, .ssn-x .season-rail .card > *, .ssn-x .roster-preview li, .ssn-x .roster-preview li > * { transform: none; } .ssn-x .ssn-moments__n { margin-left: 0; } }

.ssn-x .season-moments .mag-subtitle { font-size: clamp(2rem, 3.4vw, 3rem); line-height: .95; border: 0; margin-bottom: 18px; }
.ssn-x .ssn-moments li:nth-child(n+2) .ssn-moments__n { background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); }

/* 5.38.1: season front page: the opening reads as a clean intro (no floating drop cap), and the photo sits flush */
.sfp__lede::first-letter { float: none; margin: 0; font: inherit; color: inherit; }
.sfp .sfp__lede { margin: 0; padding: 4px 0 4px 18px; border-left: 5px solid var(--red); font-size: clamp(1.1rem, 1.5vw, 1.3rem); line-height: 1.6; color: #3a3f46; align-self: center; }
.sfp .gfp__photo:not(.is-empty) { background: #fff; }
.sfp .gfp__photo:not(.is-empty) .gfp__img { display: block; }

/* 5.39.0: homepage postcard from the exhibit, written by hand (unlayered) */
@font-face { font-family: "Homemade Apple"; src: url("../fonts/HomemadeApple-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
.hpc { background: linear-gradient(180deg, #eef0f2, #f6f7f8); padding: clamp(48px, 6vw, 84px) 0; overflow: hidden; }
.hpc__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(30px, 4vw, 60px); align-items: center; }
.hpc__card { position: relative; display: grid; grid-template-columns: 1.2fr 1fr; min-height: 420px; padding: 34px 36px; transform: rotate(1.5deg); background: #fbf8f1; border-top: 10px solid var(--red); box-shadow: 0 2px 0 #e6e0d2, 0 30px 60px rgba(60,10,18,.25); color: #22335c; text-decoration: none; transition: transform .25s, box-shadow .25s; }
.hpc__card::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(120% 90% at 20% 10%, rgba(255,255,255,.5), transparent 60%), repeating-linear-gradient(0deg, rgba(120,100,60,.025) 0 2px, transparent 2px 4px); }
.hpc__card:hover { transform: rotate(0deg) translateY(-4px); box-shadow: 0 2px 0 #e6e0d2, 0 36px 70px rgba(60,10,18,.3); color: #22335c; }
.hpc__hand { font-family: "Homemade Apple", "Segoe Script", "Bradley Hand", cursive; font-weight: 400; color: #22335c; letter-spacing: .01em; }
.hpc__msg { position: relative; display: flex; flex-direction: column; gap: 14px; padding-right: 30px; border-right: 2px solid #c9ccd1; }
.hpc__k { font-family: var(--font-display); font-weight: 900; font-size: .78rem; letter-spacing: .22em; text-transform: uppercase; color: var(--red); }
.hpc__l1, .hpc__l2 { display: block; font-size: clamp(1.05rem, 1.45vw, 1.3rem); line-height: 1.75; }
.hpc__l1 { transform: rotate(-1deg); }
.hpc__l2 { transform: rotate(-.4deg); margin-left: 6px; }
.hpc__sign { display: block; margin-top: auto; font-size: clamp(1rem, 1.3vw, 1.15rem); line-height: 1.6; transform: rotate(-2deg); }
.hpc__sign b { display: block; margin-top: 4px; font-weight: 400; font-size: 1.35em; color: var(--red); }
.hpc__addr { position: relative; display: flex; flex-direction: column; padding-left: 30px; }
.hpc__stamp { align-self: flex-end; display: grid; place-items: center; width: 118px; height: 140px; padding: 8px; background: #fff; box-shadow: 0 4px 10px rgba(0,0,0,.15); transform: rotate(3deg); -webkit-mask: radial-gradient(circle 5px at 5px 5px, #0000 98%, #000) -5px -5px / 10px 10px; mask: radial-gradient(circle 5px at 5px 5px, #0000 98%, #000) -5px -5px / 10px 10px; }
.hpc__stamp > span { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(120% 120% at 15% 0%, #e8303c, var(--red) 55%, #a8141f); color: #fff; font-family: var(--font-display); font-weight: 900; text-transform: uppercase; text-align: center; }
.hpc__stamp b { font-style: italic; font-size: 3.3rem; line-height: .85; } .hpc__stamp small { font-size: .62rem; letter-spacing: .18em; }
.hpc__pm { position: absolute; right: 70px; top: 76px; display: grid; place-items: center; width: 138px; height: 138px; border-radius: 50%; border: 3px solid rgba(34,51,92,.45); color: rgba(34,51,92,.55); font-family: var(--font-display); font-weight: 900; font-size: .78rem; letter-spacing: .14em; line-height: 1.25; text-transform: uppercase; text-align: center; transform: rotate(-14deg); }
.hpc__pm::after { content: ""; position: absolute; left: 100%; top: 38%; width: 90px; height: 34px; background: repeating-linear-gradient(0deg, transparent 0 6px, rgba(34,51,92,.4) 6px 8px); border-radius: 0 20px 20px 0; }
.hpc__lines { display: block; margin-top: auto; }
.hpc__line { display: block; padding: 12px 0 2px; border-bottom: 2px solid #c9ccd1; font-size: clamp(.95rem, 1.2vw, 1.1rem); line-height: 1.6; }
.hpc__line:nth-child(2) { margin-left: 14px; } .hpc__line:nth-child(3) { margin-left: 28px; }
.hpc__tag { display: inline-block; padding: 5px 12px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; }
.hpc__title { margin: 16px 0 12px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(3rem, 6vw, 5.4rem); line-height: .84; letter-spacing: -.02em; text-transform: uppercase; color: #3a3f46; }
.hpc__title span { color: var(--red); }
.hpc__lede { margin: 0 0 24px; font-family: var(--font-serif); font-size: 1.1rem; line-height: 1.55; color: #4a4f56; }
.hpc__btn { display: inline-block; padding: 14px 24px; transform: skewX(-12deg); background: var(--red); color: #fff; box-shadow: 6px 6px 0 rgba(110,10,18,.25); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.hpc__btn:hover { background: #3a3f46; color: #fff; }
@media (max-width: 960px) { .hpc__grid { grid-template-columns: 1fr; } .hpc__card { transform: none; } }
@media (max-width: 640px) { .hpc__card { grid-template-columns: 1fr; padding: 24px; } .hpc__msg { padding-right: 0; border-right: 0; padding-bottom: 20px; border-bottom: 2px solid #c9ccd1; } .hpc__addr { padding-left: 0; padding-top: 20px; } .hpc__pm { right: 130px; top: 30px; width: 110px; height: 110px; } .hpc__pm::after { display: none; } }
@media (prefers-reduced-motion: reduce) { .hpc__card { transition: none; } }

.hpc__stamp { -webkit-mask: none; mask: none; background: radial-gradient(circle at 6px 6px, #fbf8f1 3.5px, #fff 4px) -6px -6px / 12px 12px; box-shadow: 0 3px 8px rgba(0,0,0,.12); }

/* 5.39.1: Joe House's note to the 1976 team on the postcard, through game night */
.hpc__who { display: block; margin-top: 2px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: #6b6f75; }
.hpc__event { margin: 0 0 20px; padding: 12px 16px; background: #fff; border-left: 6px solid var(--red); font-family: var(--font-serif); font-size: 1rem; line-height: 1.5; color: #3a3f46; box-shadow: 0 8px 18px rgba(60,64,70,.08); }
.hpc__event b { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; color: var(--red); letter-spacing: .04em; }
.hpc__acts { display: flex; flex-wrap: wrap; gap: 12px; }
.hpc__btn--line { background: #fff; color: var(--red); box-shadow: inset 0 0 0 2px var(--red); }
.hpc__btn--line:hover { background: var(--red); color: #fff; }

/* 5.39.2: the site name printed on the card, along the center line like a real postcard publisher's mark */
.hpc__card { grid-template-columns: 1.2fr auto 1fr; }
.hpc__msg { border-right: 0; padding-right: 22px; }
.hpc__site { align-self: stretch; display: flex; align-items: center; justify-content: center; padding: 0 10px; border-left: 2px solid #c9ccd1; writing-mode: vertical-rl; transform: rotate(180deg); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .95rem; letter-spacing: .22em; text-transform: uppercase; color: var(--red); white-space: nowrap; }
.hpc__addr { padding-left: 22px; }
@media (max-width: 640px) { .hpc__card { grid-template-columns: 1fr; } .hpc__site { writing-mode: horizontal-tb; transform: none; padding: 10px 0; border-left: 0; border-top: 2px solid #c9ccd1; } .hpc__msg { border-bottom: 0; } }

.hpc__site, .hpc__url { text-transform: none; letter-spacing: .08em; }
.hpc__site { font-size: 1.05rem; }

/* 5.40.0: preservation partners: the page and the "Preserved by" credits (unlayered) */
.prv { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); padding: clamp(46px, 6vw, 80px) 0; }
.prv::before { content: ""; position: absolute; inset: 0; z-index: -2; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); }
.prv__ghost { position: absolute; z-index: -1; right: -2%; bottom: -14%; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(200px, 28vw, 420px); line-height: .8; text-transform: uppercase; color: transparent; -webkit-text-stroke: 3px rgba(255,255,255,.12); pointer-events: none; }
.prv__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 50px); align-items: end; }
.prv__k { display: inline-block; padding: 5px 12px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; }
.prv__title { margin: 14px 0 12px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(3rem, 7vw, 6rem); line-height: .84; letter-spacing: -.02em; text-transform: uppercase; text-shadow: 0 8px 30px rgba(110,10,18,.4); }
.prv__lede { margin: 0 0 22px; font-family: var(--font-serif); font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.55; color: rgba(255,255,255,.94); }
.prv__acts { display: flex; flex-wrap: wrap; gap: 12px; }
.prv__btn { display: inline-block; padding: 13px 22px; transform: skewX(-12deg); background: #fff; color: var(--red); box-shadow: 6px 6px 0 rgba(110,10,18,.3); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .95rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.prv__btn:hover { background: #3a3f46; color: #fff; }
.prv__btn--line { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px #fff; } .prv__btn--line:hover { background: #fff; color: var(--red); }
.prv__btn--sm { align-self: flex-start; padding: 9px 16px; font-size: .82rem; background: var(--red); color: #fff; box-shadow: none; }
.prv__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: st; }
.prv__steps li { padding: 14px 18px; transform: skewX(-8deg); background: rgba(120,8,16,.38); border: 2px solid rgba(255,255,255,.3); counter-increment: st; }
.prv__steps li > * { display: block; transform: skewX(8deg); }
.prv__steps b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.3rem; text-transform: uppercase; } .prv__steps b::before { content: counter(st) " · "; }
.prv__steps span { font-family: var(--font-serif); color: rgba(255,255,255,.92); }
.prvb { background: linear-gradient(180deg, #eef0f2, #f6f7f8); padding: 20px 0 60px; }
.prv-proj { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 18px; }
.prv-proj__c { display: flex; flex-direction: column; gap: 10px; padding: 20px 24px; transform: skewX(-3deg); background: #fff; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.1); }
.prv-proj__c > * { transform: skewX(3deg); }
.prv-proj__c > b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.6rem; line-height: .95; text-transform: uppercase; color: #3a3f46; }
.prv-proj__c p { margin: 0; font-family: var(--font-serif); color: #4a4f56; }
.prv-proj__c.is-done { border-top-color: #4a4f56; }
.prv-bar { display: block; height: 14px; background: #eef0f2; transform: skewX(-20deg) !important; overflow: hidden; } .prv-bar i { display: block; height: 100%; background: var(--red); }
.prv-proj__n { display: flex; justify-content: space-between; gap: 10px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; color: #8a9099; } .prv-proj__n b { color: var(--red); }
.prv-note { margin: -4px 0 18px; font-family: var(--font-serif); font-size: 1.05rem; color: #4a4f56; max-width: 52rem; }
.prv-opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px; }
.prv-opt { display: flex; flex-direction: column; gap: 6px; padding: 18px 22px; transform: skewX(-3deg); background: #fff; border-top: 5px solid var(--red); box-shadow: 0 10px 22px rgba(60,64,70,.1); color: #3a3f46; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.prv-opt > * { transform: skewX(3deg); }
.prv-opt:hover { transform: skewX(-3deg) translateY(-3px); box-shadow: 0 0 0 2px var(--red), 0 16px 30px rgba(60,64,70,.14); color: #3a3f46; }
.prv-opt b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.4rem; text-transform: uppercase; } .prv-opt span { font-family: var(--font-serif); color: #4a4f56; } .prv-opt em { font-style: normal; font-family: var(--font-display); font-style: italic; font-weight: 900; letter-spacing: .04em; color: var(--red); }
.prv-walls { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 22px; margin-top: 40px; }
.prv-wall { padding: 22px 26px; background: #fff; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.1); }
.prv-wall h3 { margin: 0 0 14px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.6rem; text-transform: uppercase; color: #3a3f46; }
.prv-logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.prv-logo { display: grid; place-items: center; height: 80px; padding: 10px; background: #f6f7f8; color: #3a3f46; text-decoration: none; } .prv-logo img { max-width: 100%; max-height: 60px; width: auto; height: auto; object-fit: contain; }
.prv-logo b { font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; text-align: center; }
.prv-sup { display: flex; flex-wrap: wrap; gap: 8px; } .prv-sup span { padding: 5px 12px; transform: skewX(-12deg); background: #f6f7f8; box-shadow: inset 0 0 0 2px #dfe2e6; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .9rem; text-transform: uppercase; color: #3a3f46; }
.prv-empty { margin: 0; font-family: var(--font-serif); color: #6b6f75; } .prv-empty a { color: var(--red); font-weight: 700; }
.prv-fine { margin: 30px 0 0; font-family: var(--font-display); font-weight: 800; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: #8a9099; }
/* the credits */
.pcred { font-family: var(--font-serif); color: #3a3f46; }
.pcred a { color: var(--red); }
.pcred--strip { display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: 16px; padding: 12px clamp(16px, 3vw, 30px); background: #f6f7f8; border-bottom: 1px solid #eef0f2; }
.pcred__k { padding: 4px 10px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; }
.pcred__lw img, .pcred__logo { display: block; max-height: 40px; max-width: 160px; width: auto; height: auto; object-fit: contain; }
.pcred__t { font-size: 1rem; line-height: 1.4; } .pcred__t b a { color: #3a3f46; text-decoration: none; border-bottom: 2px solid rgba(206,26,39,.35); }
.pcred__join { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); text-decoration: none; white-space: nowrap; }
.container > .pcred--strip { background: #fff; box-shadow: 0 8px 18px rgba(60,64,70,.08); border: 0; border-left: 6px solid var(--red); }
.pcred--tag { display: inline-block; margin-top: 6px; padding: 3px 10px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.pcred--tag b { color: #3a3f46; } .pcred--tag a { color: var(--red); text-decoration: none; }
.pcred--line { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 18px auto 0; padding: 10px 18px; transform: skewX(-6deg); background: rgba(255,255,255,.95); color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .95rem; letter-spacing: .08em; text-transform: uppercase; max-width: max-content; }
.pcred--line > * { transform: skewX(6deg); } .pcred--line a { color: #3a3f46; text-decoration: none; }
@media (max-width: 900px) { .prv__grid, .prv-walls { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .pcred--strip { grid-template-columns: 1fr; gap: 8px; } .pcred__k { justify-self: start; } .prv-proj__c, .prv-proj__c > *, .prv-opt, .prv-opt > *, .prv__steps li, .prv__steps li > * { transform: none; } }

/* 5.40.2: Preservation page: the six options sit three by two; the walls appear once they have names, with one invitation until then */
.prv-opts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.prv-walls.is-one { grid-template-columns: 1fr; }
.prv-first { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 40px; padding: 26px 30px; transform: skewX(-2deg); background: #fff; border-left: 8px solid var(--red); box-shadow: 0 14px 30px rgba(60,64,70,.1); }
.prv-first > * { transform: skewX(2deg); }
.prv-first__k { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
.prv-first b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: .95; text-transform: uppercase; color: #3a3f46; }
.prv-first p { margin: 0 0 6px; max-width: 46rem; font-family: var(--font-serif); font-size: 1.05rem; color: #4a4f56; }
.prv__btn--ghost { background: #fff; color: var(--red); box-shadow: inset 0 0 0 2px var(--red); } .prv__btn--ghost:hover { background: var(--red); color: #fff; }
@media (max-width: 960px) { .prv-opts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .prv-opts { grid-template-columns: 1fr; } .prv-first, .prv-first > * { transform: none; } }

/* 5.40.3: Who's behind this, signed */
.prv-who { display: grid; grid-template-columns: 220px 1fr; margin: 26px 0 20px; background: #fff; box-shadow: 0 16px 34px rgba(60,64,70,.12); border-top: 6px solid var(--red); }
.prv-who__side { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; padding: 26px 18px; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); color: #fff; text-align: center; }
.prv-who__k { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; }
.prv-who__num { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 5.4rem; line-height: .85; letter-spacing: -.02em; text-shadow: 0 6px 20px rgba(110,10,18,.4); }
.prv-who__cls { padding: 3px 10px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; }
.prv-who__body { padding: clamp(22px, 3vw, 36px) clamp(22px, 3vw, 40px); }
.prv-who__t { margin: 0 0 14px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2rem, 3.4vw, 2.8rem); line-height: .95; text-transform: uppercase; color: #3a3f46; }
.prv-who__t::after { content: ""; display: block; width: 80px; height: 5px; margin-top: 10px; background: var(--red); transform: skewX(-20deg); }
.prv-who__body p { margin: 0 0 14px; max-width: 48rem; font-family: var(--font-serif); font-size: 1.08rem; line-height: 1.65; color: #3a3f46; }
.prv-who__body a { color: var(--red); font-weight: 700; }
.prv-who__sig { display: flex; flex-direction: column; gap: 2px; margin-top: 18px !important; }
.prv-who__hand { font-family: "Homemade Apple", "Segoe Script", cursive; font-size: 1.6rem; line-height: 1.5; color: #22335c; transform: rotate(-2deg); transform-origin: left; }
.prv-who__name { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.1rem; text-transform: uppercase; color: #3a3f46; }
.prv-who__role { font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: #8a9099; }
@media (max-width: 760px) { .prv-who { grid-template-columns: 1fr; } .prv-who__side { flex-direction: row; justify-content: flex-start; gap: 14px; padding: 16px 20px; } .prv-who__num { font-size: 3.2rem; } }

/* 5.41.0: On this date, as a front page (unlayered) */
.otdf { background: linear-gradient(180deg, #eef0f2, #f6f7f8); padding: 22px 0 50px; }
.otdf__nav { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 12px; }
.otdf__mid { display: flex; align-items: center; gap: 16px; }
.otdf__pick { display: flex; align-items: center; gap: 6px; }
.otdf__pick label { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: #6b6f75; }
.otdf__pick input { width: 86px; padding: 6px 8px; border: 2px solid #dfe2e6; background: #fff; font-family: var(--font-display); font-weight: 800; letter-spacing: .08em; text-align: center; }
.otdf__pick input:focus { border-color: var(--red); outline: 0; }
.otdf__pick button { padding: 6px 12px; transform: skewX(-12deg); border: 0; background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.otdf__top { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); border-bottom: 1px solid #eef0f2; }
.otdf__lead { padding: clamp(20px, 3vw, 30px); }
.otdf__head { margin: 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.8rem, 6.4vw, 6rem); line-height: .84; letter-spacing: -.02em; text-transform: uppercase; color: #3a3f46; }
.otdf__head b { display: block; color: var(--red); }
.otdf__sum { margin: 16px 0 0; max-width: 44rem; padding-left: 18px; border-left: 5px solid var(--red); font-family: var(--font-serif); font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.6; color: #3a3f46; }
.otdf__spot { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; padding: clamp(20px, 3vw, 30px); border-left: 1px solid #eef0f2; background: #f6f7f8; color: #3a3f46; text-decoration: none; }
.otdf__spot:hover { background: #fff; color: #3a3f46; } .otdf__spot:hover .otdf__opp { color: var(--red); }
.otdf__tag { padding: 4px 10px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; }
.otdf__score { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(4.4rem, 8vw, 7.4rem); line-height: .82; color: var(--red); }
.otdf__opp { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.6rem; text-transform: uppercase; }
.otdf__meta { font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: #8a9099; }
.otdf__cols { list-style: none; margin: 0; padding: 20px 30px 30px; columns: 3; column-gap: 30px; column-rule: 1px solid #eef0f2; }
.otdf__it { break-inside: avoid; border-bottom: 1px solid #eef0f2; }
.otdf__it a { display: block; padding: 9px 0; color: #3a3f46; text-decoration: none; }
.otdf__it b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.45rem; color: var(--red); }
.otdf__it.is-l b, .otdf__it.is-t b { color: #8a9099; }
.otdf__it span { display: block; font-family: var(--font-serif); font-size: 1rem; line-height: 1.45; }
.otdf__it small { font-family: var(--font-display); font-weight: 800; font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: #8a9099; }
.otdf__it a:hover span { color: var(--red); }
@media (max-width: 1000px) { .otdf__cols { columns: 2; } }
@media (max-width: 760px) { .otdf__top { grid-template-columns: 1fr; } .otdf__spot { border-left: 0; border-top: 1px solid #eef0f2; } .otdf__cols { columns: 1; padding: 14px 18px 22px; } }

/* 5.42.0: the phone menu in the game-menu look: search, your account, sports as tiles, eras, and folding sections (unlayered) */
.primary-nav.is-open .drawer.dx { padding: 0 0 40px; }
.dx-search { display: flex; margin: 16px 0 12px; transform: skewX(-8deg); border: 2px solid var(--red); background: #fff; }
.dx-search input { flex: 1; min-width: 0; padding: 12px 14px; border: 0; background: transparent; font-family: var(--font-display); font-style: italic; font-weight: 800; font-size: 1.05rem; transform: skewX(8deg); }
.dx-search input:focus { outline: 0; }
.dx-search button { display: grid; place-items: center; width: 52px; border: 0; background: var(--red); color: #fff; cursor: pointer; }
.dx-search button svg { transform: skewX(8deg); width: 20px; height: 20px; }
.dx-me { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.dx-btn { display: block; padding: 12px 10px; transform: skewX(-12deg); background: var(--red); color: #fff; text-align: center; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; box-shadow: 5px 5px 0 rgba(110,10,18,.2); }
.dx-btn--line { background: #fff; color: var(--red); box-shadow: inset 0 0 0 2px var(--red); }
.dx-sec { padding: 16px 0; border-top: 1px solid #eef0f2; }
.dx-k { display: inline-block; margin-bottom: 10px; padding: 3px 10px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; }
.dx-sports { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dx-sport { display: flex; flex-direction: column; transform: skewX(-6deg); background: #f6f7f8; border-left: 5px solid var(--red); overflow: hidden; }
.dx-sport > * { transform: skewX(6deg); }
.dx-sport__n { padding: 10px 12px 2px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.05rem; line-height: 1; text-transform: uppercase; color: #3a3f46; text-decoration: none; }
.dx-sport__s { padding: 2px 12px 10px; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); text-decoration: none; }
.dx-all { display: inline-block; margin-top: 10px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); text-decoration: none; }
.dx-eras { display: flex; gap: 6px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: none; } .dx-eras::-webkit-scrollbar { display: none; }
.dx-eras a { flex: none; padding: 7px 12px; transform: skewX(-12deg); border: 2px solid #c9ccd1; background: #fff; color: #4a4f56; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .9rem; text-decoration: none; }
.dx-groups { display: grid; gap: 8px; padding-top: 16px; border-top: 1px solid #eef0f2; }
.dx-g { background: #fff; box-shadow: 0 6px 16px rgba(60,64,70,.08); }
.dx-g summary { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 10px; padding: 12px 16px; list-style: none; cursor: pointer; border-left: 6px solid var(--red); }
.dx-g summary::-webkit-details-marker { display: none; }
.dx-g__t { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.5rem; line-height: 1; text-transform: uppercase; color: #3a3f46; }
.dx-g summary small { grid-column: 1; font-family: var(--font-serif); font-style: italic; font-size: .9rem; color: #6b6f75; }
.dx-g summary i { grid-row: 1 / span 2; grid-column: 2; width: 30px; height: 30px; transform: skewX(-12deg); background: #f6f7f8; position: relative; }
.dx-g summary i::before, .dx-g summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 3px; background: var(--red); translate: -50% -50%; }
.dx-g summary i::after { width: 3px; height: 12px; }
.dx-g[open] summary { background: radial-gradient(120% 140% at 15% 0%, #e8303c 0%, var(--red) 55%, #a8141f 100%); border-left-color: #a8141f; }
.dx-g[open] .dx-g__t { color: #fff; } .dx-g[open] summary small { color: rgba(255,255,255,.9); } .dx-g[open] summary i { background: #fff; } .dx-g[open] summary i::after { display: none; }
.dx-g__links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; padding: 8px 16px 14px; }
.dx-g__links a { padding: 10px 0; border-bottom: 1px solid #eef0f2; font-family: var(--font-serif); font-size: 1.02rem; color: #3a3f46; text-decoration: none; }
.dx-g__links a:hover { color: var(--red); }
.dx-g__main { grid-column: 1 / -1; font-family: var(--font-display) !important; font-style: italic; font-weight: 900; font-size: .9rem !important; letter-spacing: .14em; text-transform: uppercase; color: var(--red) !important; }
.dx-foot { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #eef0f2; }
.dx-foot a { font-family: var(--font-display); font-weight: 800; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: #6b6f75; text-decoration: none; }
/* the drawer has its own close in the header; the extra bar is gone */
.primary-nav.is-open .primary-nav__drawer-extras { display: none; }

/* 5.43.0: the October awareness ribbon beside the logo */
.aw { position: relative; align-self: center; margin-left: 10px; margin-right: auto; }
.aw summary { display: grid; place-items: center; width: 34px; height: 44px; list-style: none; cursor: pointer; }
.aw summary::-webkit-details-marker { display: none; }
.aw__r { width: 24px; height: 36px; filter: drop-shadow(0 2px 3px rgba(196,60,128,.35)); transition: transform .2s; }
.aw summary:hover .aw__r, .aw[open] .aw__r { transform: rotate(-8deg) scale(1.08); }
.aw__pop { position: absolute; z-index: 60; left: -10px; top: calc(100% + 8px); width: min(320px, 86vw); padding: 14px 16px; background: #fff; border-top: 4px solid #e8559a; box-shadow: 0 16px 34px rgba(60,64,70,.2); font-family: var(--font-serif); color: #3a3f46; }
.aw__pop b { display: block; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.05rem; text-transform: uppercase; color: #c43c80; }
.aw__pop p { margin: 6px 0 8px; font-size: .95rem; line-height: 1.45; }
.aw__pop a { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: #c43c80; text-decoration: none; }
@media (max-width: 1023px) { .aw { margin-left: 6px; } }

.aw { margin: 0 0 0 calc(var(--sp-6) * -1 + 6px); }
@media (min-width: 1024px) { .aw { margin-left: calc(var(--sp-7) * -1 + 6px); } }
@media (max-width: 1023px) { .aw { margin: 0 auto 0 4px; } }

/* 5.43.1: the ribbon sits right beside the logo on phones, and its note fits the screen */
@media (max-width: 1023px) { .aw { margin: 0 auto 0 calc(var(--sp-6) * -1 + 2px); } .aw summary { width: 30px; height: 38px; } .aw__r { width: 20px; height: 30px; } .aw__pop { z-index: 200; } }

/* 5.44.0: no stand-in photos. Where a team photo is missing, the Corbin C takes its place */
.sh-hero.is-mark .sh-hero__ph, .exh.is-mark .exh__ph, .ex-hero.is-mark .ex-hero__ph { background: var(--photo) right 6% center / auto 80% no-repeat; filter: none; opacity: .14; }
.sh-hero.is-mark .sh-hero__ph::after { display: none; }
.brk__ph, .hask2__photo { background-image: none; }

/* 5.45.0: team pages: the rafters, with this season's schedule (unlayered) */
.tr-hero { position: relative; overflow: hidden; isolation: isolate; color: #fff; padding: 0 0 clamp(36px, 5vw, 56px); background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px), radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); }
.tr-hero.has-photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--photo) center 35% / cover no-repeat; mix-blend-mode: luminosity; opacity: .22; filter: grayscale(1) contrast(1.1); }
.tr-hero__c { position: absolute; z-index: -1; right: -4%; top: 14%; width: min(520px, 46vw); opacity: .1; }
.tr-raft { position: relative; padding-top: 18px; }
.tr-raft__rod { display: block; height: 12px; border-radius: 6px; background: linear-gradient(180deg, #eef0f2, #8a9099); box-shadow: 0 6px 12px rgba(0,0,0,.25); }
.tr-raft__row { display: flex; justify-content: space-around; gap: 10px; margin-top: -4px; }
.tr-ban { display: flex; flex-direction: column; align-items: center; gap: 2px; width: 120px; padding: 16px 10px 38px; background: #fff; color: var(--red); text-align: center; text-decoration: none; clip-path: polygon(0 0, 100% 0, 100% 82%, 50% 100%, 0 82%); box-shadow: 0 14px 26px rgba(60,10,18,.3); transform-origin: top center; transition: transform .25s; }
.tr-ban:hover { transform: rotate(-3deg); color: var(--red); }
.tr-ban__c { width: 30px; height: auto; }
.tr-ban b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 2.4rem; line-height: .85; }
.tr-ban small { font-family: var(--font-display); font-weight: 900; font-size: .64rem; letter-spacing: .14em; text-transform: uppercase; color: #3a3f46; }
.tr-ban.is-state { background: #fff; box-shadow: 0 0 0 3px #fff, 0 14px 26px rgba(60,10,18,.35); }
.tr-hero__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 36px; align-items: end; margin-top: 26px; }
.tr-back { display: inline-block; margin-bottom: 10px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.9); text-decoration: none; }
.tr-k { display: block; width: max-content; max-width: 100%; padding: 5px 12px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; }
.tr-title { margin: 12px 0 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(3.4rem, 9vw, 7.4rem); line-height: .82; letter-spacing: -.02em; text-transform: uppercase; color: #fff; text-shadow: 0 8px 30px rgba(110,10,18,.4); }
.tr-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tr-stats div { padding: 12px 16px; transform: skewX(-10deg); background: rgba(120,8,16,.38); border: 2px solid rgba(255,255,255,.3); }
.tr-stats div > * { display: block; transform: skewX(10deg); }
.tr-stats b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2rem, 3.4vw, 2.8rem); line-height: 1; color: #fff; }
.tr-stats span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.9); }
.tr-body { background: linear-gradient(180deg, #eef0f2, #f6f7f8); padding: 30px 0 56px; }
.tr-now { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 22px; margin-bottom: 36px; }
.tr-season { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 22px 26px; transform: skewX(-3deg); background: #fff; border-top: 6px solid var(--red); box-shadow: 0 14px 30px rgba(60,64,70,.12); }
.tr-season > * { transform: skewX(3deg); }
.tr-tag { padding: 4px 10px; transform: skewX(-12deg) !important; background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; }
.tr-season__rec { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(4.4rem, 8vw, 6.8rem); line-height: .82; color: var(--red); }
.tr-season__last { margin: 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; color: #6b6f75; }
.tr-link { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); text-decoration: none; }
.tr-card { padding: 18px 22px; transform: skewX(-3deg); background: #fff; box-shadow: 0 14px 30px rgba(60,64,70,.12); }
.tr-card > * { transform: skewX(3deg); }
.tr-h3 { margin: 0 0 6px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.5rem; text-transform: uppercase; color: #3a3f46; }
.tr-res { display: grid; grid-template-columns: 54px 1fr auto; gap: 10px; align-items: center; padding: 9px 0; border-bottom: 1px solid #eef0f2; color: #3a3f46; text-decoration: none; font-family: var(--font-display); text-transform: uppercase; }
.tr-res small { font-weight: 800; font-size: .74rem; letter-spacing: .1em; color: #8a9099; } .tr-res span { font-style: italic; font-weight: 900; font-size: 1.05rem; }
.tr-res b { font-style: italic; font-weight: 900; font-size: 1.15rem; color: var(--red); } .tr-res b.is-l, .tr-res b.is-t { color: #8a9099; }
.tr-sec { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin: 0 0 14px; }
.tr-sec h2 { margin: 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2rem, 3.6vw, 2.8rem); line-height: .9; text-transform: uppercase; color: #3a3f46; }
.tr-sec h2::after { content: ""; display: block; width: 80px; height: 6px; margin-top: 8px; background: var(--red); transform: skewX(-20deg); }
.tr-sec a { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); text-decoration: none; white-space: nowrap; }
/* the schedule */
.tr-sched { list-style: none; margin: 0 0 40px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.tr-sched a { display: grid; grid-template-columns: 64px 1fr auto; align-items: stretch; transform: skewX(-4deg); background: #fff; box-shadow: 0 6px 14px rgba(60,64,70,.07); color: #3a3f46; text-decoration: none; overflow: hidden; }
.tr-sched a > * { transform: skewX(4deg); }
.tr-sched a:hover { box-shadow: 0 0 0 2px var(--red), 0 10px 20px rgba(60,64,70,.12); color: #3a3f46; }
.tr-sched__d { display: flex; flex-direction: column; align-items: center; justify-content: center; margin-left: -6px; padding: 8px 4px; background: #4a4f56; color: #fff; font-family: var(--font-display); text-transform: uppercase; }
.tr-sched__d b { font-style: italic; font-weight: 900; font-size: 1rem; line-height: 1; } .tr-sched__d small { font-weight: 800; font-size: .66rem; letter-spacing: .14em; opacity: .85; }
.tr-sched li.is-w .tr-sched__d { background: var(--red); }
.tr-sched li.is-next .tr-sched__d { background: #fff; color: var(--red); box-shadow: inset 0 0 0 2px var(--red); }
.tr-sched__o { display: flex; flex-direction: column; justify-content: center; padding: 8px 14px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.05rem; text-transform: uppercase; }
.tr-sched__o i { font-style: normal; font-size: .8rem; color: #8a9099; } .tr-sched__o small { font-style: normal; font-weight: 800; font-size: .68rem; letter-spacing: .12em; color: var(--red); }
.tr-sched__r { display: flex; align-items: center; gap: 8px; padding: 8px 16px; font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; }
.tr-sched__r em { display: grid; place-items: center; width: 26px; height: 26px; transform: skewX(-12deg); background: var(--red); color: #fff; font-style: normal; }
.tr-sched li.is-l .tr-sched__r em, .tr-sched li.is-t .tr-sched__r em { background: #a3a8ae; }
.tr-sched__r b { font-size: 1.15rem; } .tr-sched__r b.is-time { font-size: .9rem; letter-spacing: .08em; color: var(--red); }
/* every season */
.tr-years { display: grid; grid-template-columns: repeat(var(--n, 15), minmax(0, 1fr)); gap: 4px; margin-bottom: 40px; overflow-x: auto; }
.tr-years a { display: flex; flex-direction: column; align-items: center; gap: 1px; min-width: 46px; padding: 8px 2px; transform: skewX(-8deg); background: #fff; color: #3a3f46; text-decoration: none; font-family: var(--font-display); font-style: italic; font-weight: 900; }
.tr-years a > * { transform: skewX(8deg); }
.tr-years b { font-size: 1.05rem; } .tr-years i { font-style: normal; height: 14px; font-size: .8rem; color: var(--red); } .tr-years small { font-size: .7rem; color: #6b6f75; white-space: nowrap; }
.tr-years a.is-title { background: var(--red); color: #fff; } .tr-years a.is-title i, .tr-years a.is-title small { color: #fff; }
.tr-years a.is-now { box-shadow: inset 0 0 0 3px #3a3f46; }
.tr-years a:hover { transform: skewX(-8deg) translateY(-3px); }
/* rivalries and coaches */
.tr-two { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.tr-list { display: grid; gap: 8px; }
.tr-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; padding: 10px 16px; transform: skewX(-4deg); background: #fff; box-shadow: 0 6px 14px rgba(60,64,70,.07); color: #3a3f46; text-decoration: none; }
.tr-row > * { transform: skewX(4deg); }
.tr-row b { display: block; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.15rem; text-transform: uppercase; } .tr-row small { display: block; font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: #8a9099; }
.tr-row em { font-style: italic; font-family: var(--font-display); font-weight: 900; font-size: 1.6rem; color: var(--red); }
.tr-row:hover { box-shadow: 0 0 0 2px var(--red), 0 10px 20px rgba(60,64,70,.12); color: #3a3f46; }
.tr-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 36px; }
.tr-links a { padding: 10px 16px; transform: skewX(-12deg); background: #fff; color: var(--red); box-shadow: inset 0 0 0 2px var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
.tr-links a.is-fill, .tr-links a:hover { background: var(--red); color: #fff; }
@media (max-width: 960px) { .tr-hero__grid, .tr-now, .tr-two { grid-template-columns: 1fr; } .tr-sched { grid-template-columns: 1fr; } .tr-raft__row { overflow-x: auto; justify-content: flex-start; padding-bottom: 6px; } .tr-ban { flex: none; width: 96px; } .tr-years { grid-template-columns: repeat(var(--n, 15), 52px); } }
@media (max-width: 640px) { .tr-season, .tr-season > *, .tr-card, .tr-card > *, .tr-sched a, .tr-sched a > *, .tr-row, .tr-row > *, .tr-stats div, .tr-stats div > * { transform: none; } .tr-sched__d { margin-left: 0; } }
@media (prefers-reduced-motion: reduce) { .tr-ban { transition: none; } }

/* 5.45.1: the ribbon takes up no room in the header row, so the menu sits exactly where it did before */
.aw { margin-right: calc(-40px - var(--sp-6)); }
@media (min-width: 1024px) { .aw { margin-right: calc(-40px - var(--sp-7)); } }
@media (max-width: 1023px) { .aw { margin-right: auto; } }

/* 5.45.2: the ribbon rides on the logo itself, in the space between the logo and the menu, so it never moves or covers the menu */
.logo-wrap { position: relative; display: inline-flex; align-items: center; flex: none; }
@media (min-width: 1024px) { .logo-wrap .aw { position: absolute; left: calc(100% + 10px); top: 50%; transform: translateY(-50%); margin: 0; } .logo-wrap .aw summary { width: 26px; height: 40px; } }
@media (max-width: 1023px) { .logo-wrap { margin-right: auto; } .logo-wrap .aw { position: static; margin: 0 0 0 6px; } }

/* 5.46.0: a roster without its own team photo shows the Corbin C on red, never another year's photo */
.roster-hero.no-image { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px), radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); }
.roster-hero__c { position: absolute; z-index: -1; right: -3%; top: 50%; width: min(440px, 40vw); translate: 0 -50%; opacity: .12; pointer-events: none; }
.roster-hero.no-image .roster-hero__title, .roster-hero.no-image .game-hero__back, .roster-hero.no-image .roster-hero__facts, .roster-hero.no-image .roster-hero__facts * { color: #fff; }
.roster-hero.no-image .sport-hero__kicker { color: rgba(255,255,255,.9); }

/* 5.46.1: season pages: the "story isn't written yet" panel was white text on white, and the schedule was still black */
.ssn-x .season-story__main:has(> .season-unwritten:only-child), .ssn-x .season-story__main:has(> .season-unwritten) { padding: clamp(22px, 3vw, 40px); }
.ssn-x .season-unwritten { padding: 0; margin: 0; background: transparent; border-top: 0; box-shadow: none; color: #3a3f46; }
.ssn-x .season-unwritten .archive-kicker { color: var(--red); }
.ssn-x .season-unwritten__lede { color: #4a4f56; }
.ssn-x .season-unwritten__gaps li { transform: skewX(-4deg); background: #f6f7f8; border-left: 5px solid var(--red); }
.ssn-x .season-unwritten__gaps li > * { transform: skewX(4deg); }
.ssn-x .season-unwritten__gaps li.is-ok { border-left-color: #1f7a3a; }
.ssn-x .season-unwritten__gaps b { color: #3a3f46; font-style: italic; } .ssn-x .season-unwritten__gaps span { color: #6b6f75; }
.ssn-x .season-unwritten__actions .btn--outline { color: var(--red); border-color: var(--red); background: #fff; }
.ssn-x .season-unwritten .ctb-help, .ssn-x .season-unwritten .ctb-help a { color: #4a4f56; } .ssn-x .season-unwritten .ctb-help a { color: var(--red); }
/* the schedule, light */
.ssn-x .sb { background: linear-gradient(180deg, #eef0f2, #f6f7f8); color: #3a3f46; }
.ssn-x .sb--inline { padding: 0; background: transparent; }
.ssn-x .sb__head { border-bottom-color: var(--red); }
.ssn-x .sb .archive-kicker--light { color: var(--red); font-style: italic; }
.ssn-x .sb__title { font-style: italic; color: #3a3f46; } .ssn-x .sb__link { color: var(--red); }
.ssn-x .sb__group { color: #6b6f75; font-style: italic; } .ssn-x .sb__group span { color: var(--red); }
.ssn-x .sb__card { transform: skewX(-4deg); background: #fff; border-top-color: #c9ccd1; box-shadow: 0 8px 18px rgba(60,64,70,.08); }
.ssn-x .sb__card > * { transform: skewX(4deg); }
.ssn-x .sb__card.is-w { border-top-color: var(--red); } .ssn-x .sb__card.is-l { border-top-color: #a3a8ae; }
.ssn-x .sb__card.is-post { background: #fff; box-shadow: inset 0 0 0 2px var(--red), 0 8px 18px rgba(60,64,70,.08); }
.ssn-x .sb__card:hover { transform: skewX(-4deg) translateY(-2px); background: #fff; box-shadow: 0 0 0 2px var(--red), 0 12px 24px rgba(60,64,70,.12); }
.ssn-x .sb__link-wrap { color: #3a3f46; }
.ssn-x .sb__top, .ssn-x .sb__pre, .ssn-x .sb__who small { color: #8a9099; }
.ssn-x .sb__n { background: #eef0f2; color: #3a3f46; }
.ssn-x .sb__who b { font-style: italic; color: #3a3f46; }
.ssn-x .sb__score b { font-style: italic; color: #3a3f46; } .ssn-x .sb__card.is-w .sb__score b:first-child { color: var(--red); }
.ssn-x .sb__score i { color: #c9ccd1; }
.ssn-x .sb__score em { background: #eef0f2; color: #4a4f56; } .ssn-x .sb__card.is-w .sb__score em { background: var(--red); color: #fff; }
.ssn-x .sb__card.is-l .sb__score b:first-child { color: #8a9099; }
@media (max-width: 640px) { .ssn-x .sb__card, .ssn-x .sb__card > *, .ssn-x .season-unwritten__gaps li, .ssn-x .season-unwritten__gaps li > * { transform: none; } }

/* 5.47.0: "someone from this team has passed": a short form on exhibits and rosters */
.ex-gone__tell { max-width: 760px; margin: 34px auto 0; text-align: left; }
.ex-gone__h { margin: 0 0 6px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1; text-transform: uppercase; color: #3a3f46; text-align: center; }
.ex-gone__lede, .pf__lede { margin: 0 0 18px; font-family: var(--font-serif); font-size: 1.05rem; color: #4a4f56; text-align: center; }
.pf { display: grid; gap: 12px; padding: 22px 24px; background: #fff; border-top: 5px solid var(--red); box-shadow: 0 12px 26px rgba(60,64,70,.1); text-align: left; }
.pf__f { display: grid; gap: 5px; }
.pf__f > span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.pf__f > span em { font-style: normal; font-weight: 700; color: #8a9099; letter-spacing: .06em; text-transform: none; }
.pf__f input, .pf__f textarea { width: 100%; padding: 11px 13px; border: 2px solid #dfe2e6; background: #f6f7f8; font: inherit; font-family: var(--font-serif); font-size: 1.02rem; color: #3a3f46; box-sizing: border-box; }
.pf__f--who input { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.2rem; letter-spacing: .02em; }
.pf__f input:focus, .pf__f textarea:focus { border-color: var(--red); background: #fff; outline: 0; }
.pf__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pf__go { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.pf__btn { padding: 13px 22px; transform: skewX(-10deg); border: 0; background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; box-shadow: 5px 5px 0 rgba(110,10,18,.2); }
.pf__btn:hover { background: #3a3f46; }
.pf__go small { flex: 1; min-width: 220px; font-family: var(--font-serif); font-size: .88rem; line-height: 1.45; color: #6b6f75; }
/* on rosters it folds away until someone opens it */
.pf-wrap { padding: 10px 0 50px; }
.pf-fold { max-width: 820px; margin: 0 auto; background: #fff; box-shadow: 0 10px 22px rgba(60,64,70,.08); border-left: 6px solid #8a9099; }
.pf-fold summary { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 4px 16px; padding: 16px 20px; list-style: none; cursor: pointer; }
.pf-fold summary::-webkit-details-marker { display: none; }
.pf-fold__k { grid-row: span 1; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: #8a9099; }
.pf-fold summary b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.2rem; text-transform: uppercase; color: #3a3f46; }
.pf-fold summary em { font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.pf-fold[open] summary em { visibility: hidden; }
.pf-fold__body { padding: 0 20px 20px; }
.pf-fold .pf { box-shadow: none; border-top: 0; padding: 0; }
@media (max-width: 640px) { .pf__row { grid-template-columns: 1fr; } .pf-fold summary { grid-template-columns: 1fr; } }

/* 5.47.1: the "someone has passed" form opens in a box from a quiet link */
.pf-link { font-family: var(--font-serif); font-size: .95rem; color: #6b6f75; text-decoration: underline; text-decoration-color: #c9ccd1; text-underline-offset: 3px; }
.pf-link:hover { color: var(--red); text-decoration-color: var(--red); }
.ex-gone--quiet { padding: 26px 0; }
.pf-wrap { padding: 4px 0 40px; text-align: center; }
.pf-modal { width: min(640px, calc(100vw - 24px)); max-height: calc(100vh - 40px); padding: 26px 26px 22px; border: 0; border-top: 6px solid var(--red); background: #fff; box-shadow: 0 30px 70px rgba(0,0,0,.35); text-align: left; overflow: auto; }
.pf-modal::backdrop { background: rgba(43,48,54,.55); }
.pf-modal__x { position: absolute; top: 10px; right: 12px; width: 36px; height: 36px; border: 0; background: transparent; font-size: 1.8rem; line-height: 1; color: #8a9099; cursor: pointer; }
.pf-modal__x:hover { color: var(--red); }
.pf-modal__k { font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .26em; text-transform: uppercase; color: #8a9099; }
.pf-modal__t { margin: 4px 0 6px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.7rem; line-height: 1; text-transform: uppercase; color: #3a3f46; }
.pf-modal .pf__lede { text-align: left; margin-bottom: 14px; }
.pf-modal .pf { padding: 0; border-top: 0; box-shadow: none; }

.ehero__gap { margin: 6px 0 0; font-family: var(--font-serif); font-size: .95rem; color: rgba(255,255,255,.85); } .ehero__gap a { color: #fff; font-weight: 700; }

/* 5.48.0: Redhound Today: no countdowns, and a game day with two or more games shares the top box equally */
.gmx-time { display: flex; flex-direction: column; gap: 2px; }
.gmx-time b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.6rem, 4.4vw, 3.8rem); line-height: .9; text-transform: uppercase; color: #fff; }
.gmx-time span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .85rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.gmx-dg { display: grid; grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.gmx-dgc { display: flex; flex-direction: column; gap: 12px; padding: 18px 20px; background: rgba(120,8,16,.32); border: 2px solid rgba(255,255,255,.28); transform: skewX(-4deg); }
.gmx-dgc > * { transform: skewX(4deg); }
.gmx-dgc.is-live { border-color: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.25); }
.gmx-dgc.is-final { background: rgba(255,255,255,.08); }
.gmx-when { padding: 4px 10px; transform: skewX(-12deg) !important; background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .9rem; letter-spacing: .1em; text-transform: uppercase; }
.gmx-dgc.is-live .gmx-when { background: #1fa356; color: #fff; }
.gmx-dgc__names { display: flex; flex-direction: column; color: #fff; text-decoration: none; min-width: 0; }
.gmx-dgc__names:hover { color: #fff; }
.gmx-dgc__c { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.gmx-dgc__o { font-size: clamp(1.8rem, 3vw, 2.6rem); overflow-wrap: normal; word-break: normal; hyphens: none; }
.gmx-dgc__o.is-long { font-size: clamp(1.4rem, 2.2vw, 2rem); letter-spacing: -.02em; }
.gmx-dgc .gmx-vs { font-size: 1.1rem; }
.gmx-dgc__nums { display: flex; flex-wrap: wrap; gap: 10px; }
.gmx-dgc .gmx-hex { min-width: 54px; height: 54px; font-size: 1.05rem; }
.gmx-dgc .gmx-prompts { margin-top: auto; }
.gmx-dgc .gmx-meta { margin: 0; }
@media (max-width: 900px) { .gmx-dg { grid-template-columns: 1fr; } .gmx-dgc, .gmx-dgc > * { transform: none; } }

/* 5.49.0: spirit programs (cheerleading): squads by year with their photos */
.sp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.sp-card { display: flex; flex-direction: column; transform: skewX(-3deg); background: #fff; box-shadow: 0 12px 26px rgba(60,64,70,.12); color: #3a3f46; text-decoration: none; overflow: hidden; border-top: 5px solid var(--red); }
.sp-card > * { transform: skewX(3deg); }
.sp-card__ph { display: block; aspect-ratio: 4 / 3; margin: 0 -8px; background: radial-gradient(120% 120% at 15% 0%, #e8303c, var(--red) 55%, #a8141f); overflow: hidden; }
.sp-card__ph img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.sp-card__ph.is-mark { display: grid; place-items: center; } .sp-card__ph.is-mark img { width: 40%; height: auto; opacity: .3; object-fit: contain; }
.sp-card__b { display: flex; flex-direction: column; padding: 12px 16px 14px; }
.sp-card__b b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 2rem; line-height: .9; color: var(--red); }
.sp-card__b small { font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: #6b6f75; }
.sp-card:hover { box-shadow: 0 0 0 2px var(--red), 0 16px 30px rgba(60,64,70,.16); color: #3a3f46; }

/* 5.51.0: By the numbers is the turnstile: an odometer of every game on file, across every sport */
.turn { position: relative; overflow: hidden; color: #fff; padding: clamp(32px, 5vw, 56px) 0; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px), radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); }
.turn__grid { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: center; margin-top: 16px; }
.odo { display: inline-flex; gap: 8px; align-items: center; }
.odo__d { position: relative; display: block; width: clamp(54px, 6.6vw, 96px); height: clamp(72px, 8.8vw, 128px); overflow: hidden; border: 4px solid #8a9099; border-radius: 8px; background: linear-gradient(180deg, #eef0f2, #c9ccd1 50%, #eef0f2); box-shadow: inset 0 -6px 14px rgba(0,0,0,.18), 0 14px 30px rgba(60,10,18,.35); }
.odo__d::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: rgba(0,0,0,.18); pointer-events: none; }
.odo__d b { display: block; transform: translateY(0); transition: transform 1.6s cubic-bezier(.2,.8,.2,1); }
.odo__d em { display: grid; place-items: center; height: clamp(64px, 8vw, 120px); font-family: var(--font-display); font-style: normal; font-weight: 900; font-size: clamp(3.4rem, 6.6vw, 6.5rem); line-height: 1; color: #3a3f46; }
.odo i { font-family: var(--font-display); font-style: normal; font-weight: 900; font-size: clamp(2.4rem, 4vw, 3.8rem); color: #fff; line-height: 1; }
.turn__sub { margin: 10px 0 0; font-family: var(--font-display); font-weight: 800; font-size: .78rem; letter-spacing: .22em; text-transform: uppercase; color: #fff; }
.turn__title { margin: 0 0 14px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.5rem, 2.8vw, 2.4rem); line-height: .95; text-transform: uppercase; color: #fff; }
.turn__chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.turn__chip { display: flex; flex-direction: column; padding: 10px 16px; transform: skewX(-10deg); background: rgba(120,8,16,.38); border: 2px solid rgba(255,255,255,.3); color: #fff; text-decoration: none; }
.turn__chip > * { transform: skewX(10deg); }
.turn__chip b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.5rem, 2.4vw, 2.1rem); line-height: 1; }
.turn__chip small { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.9); }
.turn__chip:hover { background: #fff; color: var(--red); } .turn__chip:hover small { color: var(--red); }
.turn__chip.is-new { background: #fff; color: var(--red); } .turn__chip.is-new small { color: var(--red); }
.turn .tr-k { margin: 0; }
@media (max-width: 900px) { .turn__grid { grid-template-columns: 1fr; } .odo { gap: 5px; } .odo__d { border-width: 3px; } }
@media (max-width: 640px) { .turn__chip, .turn__chip > * { transform: none; } }
@media (prefers-reduced-motion: reduce) { .odo__d b { transition: none; } }

/* 5.51.1: the split-flap board look: white flaps, red digits, the flap seam */
.odo__d { border: 0; border-radius: 6px; background: #fff; box-shadow: 0 12px 26px rgba(60,10,18,.35), inset 0 -3px 0 rgba(0,0,0,.08); }
.odo__d::after { height: 3px; background: var(--red); opacity: .85; }
.odo__d em { color: var(--red); }
.odo__d b { transition: transform 1.2s cubic-bezier(.3,.9,.2,1); }
.turn__lede { margin: 0 0 14px; font-family: var(--font-serif); font-size: 1.02rem; line-height: 1.5; color: #fff; max-width: 48rem; }
.turn__title { font-size: clamp(2.4rem, 4.6vw, 4rem); margin-bottom: 8px; }
.turn__grid { grid-template-columns: minmax(0, 1fr) auto; }
.turn__count { order: 2; }
@media (max-width: 900px) { .turn__grid { grid-template-columns: 1fr; } .turn__count { order: 0; } }

/* 5.52.0: the turnstile as one slim strip under Redhound Today; By the Numbers goes back to what it was */
.tstrip { color: #fff; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); }
.tstrip__in { display: flex; align-items: center; gap: 18px; padding: 12px 0; }
.tstrip__lbl { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.1rem; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.tstrip__sub { font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.9); }
.tstrip__new { margin-left: auto; padding: 5px 10px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.tstrip__more { font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; color: #fff; text-decoration: none; white-space: nowrap; }
.tstrip__more:hover, .tstrip__new:hover { color: var(--red); background: #fff; } .tstrip__more:hover { padding: 5px 10px; }
.odo--sm { gap: 4px; }
.odo--sm .odo__d { width: 32px; height: 44px; border: 0; border-radius: 4px; background: #fff; box-shadow: 0 4px 10px rgba(60,10,18,.3); }
.odo--sm .odo__d::after { height: 2px; background: var(--red); opacity: .85; }
.odo--sm .odo__d em { height: 44px; font-size: 2.1rem; color: var(--red); }
.odo--sm i { font-size: 1.4rem; }
.odo--sm .odo__d b { transition: transform 1.1s cubic-bezier(.3,.9,.2,1); }
@media (max-width: 720px) { .tstrip__in { flex-wrap: wrap; gap: 10px 14px; } .tstrip__sub { display: none; } .tstrip__new { margin-left: 0; } .tstrip__more { margin-left: auto; } }

/* 5.53.0: The Redhound Archive home, concept E: full red, full bleed */
.ax .tr-k { display: inline-block; }
.ax-hero { position: relative; overflow: hidden; isolation: isolate; min-height: min(92vh, 820px); display: flex; align-items: flex-end; color: #fff; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); }
.ax-hero__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; filter: grayscale(1) contrast(1.25); mix-blend-mode: multiply; opacity: .9; }
.ax-hero.has-photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(168,20,31,.95) 0%, rgba(206,26,39,.55) 50%, rgba(206,26,39,.2) 100%); }
.ax-hero__c { position: absolute; z-index: -1; right: -6%; top: 50%; width: min(620px, 50vw); translate: 0 -50%; opacity: .12; }
.ax-hero__in { position: relative; padding: clamp(60px, 9vw, 110px) 0 clamp(40px, 5vw, 60px); }
.ax-hero__title { margin: 14px 0 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(4.4rem, 14vw, 12.5rem); line-height: .76; letter-spacing: -.03em; text-transform: uppercase; color: #fff; text-shadow: 0 12px 50px rgba(110,10,18,.6); }
.ax-hero__title em { font-style: italic; color: transparent; -webkit-text-stroke: 4px #fff; text-shadow: none; }
.ax-hero__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 30px; margin-top: 26px; }
.ax-hero__lede { margin: 0; font-family: var(--font-serif); font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.5; max-width: 34rem; }
.ax-stats { display: flex; gap: 10px; flex-wrap: wrap; }
.ax-body { background: linear-gradient(180deg, #eef0f2, #f6f7f8); padding: clamp(32px, 5vw, 48px) 0; }
.ax-h2 { font-size: clamp(2.4rem, 5vw, 3.8rem) !important; }
.ax-gap { height: clamp(28px, 4vw, 40px); }
.ax-wings { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ax-wing { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 220px; padding: 18px 20px; overflow: hidden; color: #fff; text-decoration: none; background: var(--red); box-shadow: 0 16px 34px rgba(60,64,70,.18); isolation: isolate; }
.ax-wing img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: transform .5s; }
.ax-wing::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(168,20,31,.95), rgba(206,26,39,.35)); }
.ax-wing.is-mark img.ax-wing__c { object-fit: contain; width: 50%; height: auto; left: auto; right: -8%; top: 10%; opacity: .25; filter: none; }
.ax-wing:hover img { transform: scale(1.06); } .ax-wing:hover { color: #fff; }
.ax-wing__k { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; }
.ax-wing__n { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.8rem, 2.8vw, 2.4rem); line-height: .9; text-transform: uppercase; }
.ax-ex { position: relative; overflow: hidden; isolation: isolate; min-height: 520px; display: flex; align-items: center; color: #fff; background: #3a3f46; }
.ax-ex__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.ax-ex::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(60,10,18,.92) 0%, rgba(60,10,18,.45) 60%, transparent 100%); }
.ax-ex:not(.has-photo) { background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); } .ax-ex:not(.has-photo)::before { display: none; }
.ax-ex__in { padding: clamp(40px, 6vw, 70px) 0; }
.ax-ex__title { margin: 14px 0 10px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(3rem, 8.5vw, 7.5rem); line-height: .78; letter-spacing: -.02em; text-transform: uppercase; max-width: 10ch; }
.ax-ex__lede { margin: 0 0 18px; font-family: var(--font-serif); font-size: 1.1rem; max-width: 32rem; }
.tr-links__btn { display: inline-block; padding: 14px 24px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .95rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; box-shadow: 6px 6px 0 rgba(110,10,18,.25); }
.tr-links__btn:hover { background: var(--red); color: #fff; } .tr-links__btn.is-ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px #fff; }
.ax-bans { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.ax-ban { display: block; padding: 16px 16px 30px; color: #fff; text-decoration: none; background: radial-gradient(120% 140% at 15% 0%, #e8303c, var(--red) 55%, #a8141f); transform: skewX(-6deg); clip-path: polygon(0 0, 100% 0, 100% 86%, 50% 100%, 0 86%); }
.ax-ban > * { display: block; transform: skewX(6deg); } .ax-ban b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2rem, 3vw, 2.75rem); line-height: .9; } .ax-ban small { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }
.ax-ban:hover { color: #fff; filter: brightness(1.08); }
.ax-two { display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; }
.ax-card { display: flex; flex-direction: column; gap: 8px; padding: 22px 26px; background: #fff; border-top: 6px solid var(--red); box-shadow: 0 14px 30px rgba(60,64,70,.1); }
.ax-card .tr-tag { align-self: flex-start; transform: skewX(-12deg); }
.ax-card__t { margin: 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: .9; text-transform: uppercase; color: #3a3f46; }
.ax-card__p { margin: 0; font-family: var(--font-serif); font-size: .98rem; color: #4a4f56; }
.ax-new .tr-row { padding: 8px 14px; } .ax-new .tr-row b { font-size: 1rem; } .ax-new .tr-row em { font-size: 1rem; }
.ax-recs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ax-rec { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 10px 16px; background: #fff; color: #3a3f46; text-decoration: none; transform: skewX(-4deg); box-shadow: 0 6px 14px rgba(60,64,70,.07); }
.ax-rec > * { transform: skewX(4deg); } .ax-rec b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.9rem; color: var(--red); } .ax-rec span { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.05rem; text-transform: uppercase; } .ax-rec small { font-family: var(--font-display); font-weight: 800; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: #8a9099; text-align: right; }
.ax-rec:hover { box-shadow: 0 0 0 2px var(--red); color: #3a3f46; }
.ax-people { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.ax-person { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 16px; background: #fff; color: #3a3f46; text-decoration: none; transform: skewX(-4deg); box-shadow: 0 8px 18px rgba(60,64,70,.08); }
.ax-person > * { transform: skewX(4deg); } .ax-person__c { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; background: radial-gradient(120% 120% at 15% 0%, #e8303c, var(--red) 55%, #a8141f); } .ax-person__c img { width: 100%; height: 100%; object-fit: cover; } .ax-person__c img[src$=".svg"] { width: 60%; height: auto; }
.ax-person b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.05rem; text-transform: uppercase; text-align: center; } .ax-person small { font-family: var(--font-display); font-weight: 800; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.ax-photos { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 12px; }
.ax-photo { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--red); } .ax-photo.is-big { grid-row: span 2; aspect-ratio: auto; } .ax-photo img { width: 100%; height: 100%; object-fit: cover; } .ax-photo .tr-tag { position: absolute; left: 12px; bottom: 12px; background: #fff; color: var(--red); transform: skewX(-12deg); }
.ax-cta { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; padding: 28px 34px; color: #fff; background: radial-gradient(120% 140% at 15% 0%, #e8303c, var(--red) 55%, #a8141f); transform: skewX(-3deg); box-shadow: 8px 8px 0 rgba(110,10,18,.2); }
.ax-cta > * { transform: skewX(3deg); } .ax-cta__t { margin: 8px 0 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: .9; text-transform: uppercase; max-width: 22ch; } .ax-cta__b { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 960px) { .ax-wings { grid-template-columns: 1fr 1fr; } .ax-bans { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ax-two, .ax-recs, .ax-cta { grid-template-columns: 1fr; } .ax-people { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ax-photos { grid-template-columns: 1fr 1fr; } .ax-photo.is-big { grid-column: span 2; aspect-ratio: 16 / 9; } }
@media (max-width: 640px) { .ax-wing { min-height: 160px; } .ax-people { grid-template-columns: 1fr 1fr; } .ax-rec, .ax-rec > *, .ax-person, .ax-person > *, .ax-cta, .ax-cta > *, .ax-ban, .ax-ban > * { transform: none; } .ax-ban { clip-path: none; padding-bottom: 16px; } .ax-hero.has-photo::before { background: linear-gradient(180deg, rgba(168,20,31,.6), rgba(168,20,31,.95)); } }

/* 5.53.2: the On this date card fills its height with the day's other games */
.ax-two { align-items: stretch; }
.ax-otd { margin-top: 4px; }
.ax-otd .tr-row { padding: 8px 14px; } .ax-otd .tr-row b { font-size: 1rem; } .ax-otd .tr-row em { font-size: 1.1rem; } .ax-otd .tr-row em.is-l, .ax-otd .tr-row em.is-t { color: #8a9099; }
.ax-card .tr-link { margin-top: auto; padding-top: 10px; }

/* 5.53.3: The archive link on the strip keeps its size on tap and hover, so nothing jumps */
.tstrip__more { padding: 5px 10px; margin: -5px -10px; transform: skewX(-12deg); } .tstrip__more > * { transform: skewX(12deg); }
.tstrip__more:hover, .tstrip__more:active, .tstrip__more:focus-visible { padding: 5px 10px; margin: -5px -10px; background: #fff; color: var(--red); }
@media (max-width: 720px) { .tstrip__more { margin: 0; } .tstrip__more:hover, .tstrip__more:active { margin: 0; } }

/* 5.54.0: cheer and dance on the homepage */
.spx { color: #fff; overflow: hidden; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px), radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); }
.spx__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); min-height: 420px; }
.spx__text { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 10px; padding: clamp(32px, 5vw, 48px) 5vw clamp(32px, 5vw, 48px) max(5vw, calc((100vw - var(--container, 1240px)) / 2)); }
.spx__title { margin: 2px 0 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.6rem, 5.6vw, 4.6rem); line-height: .82; text-transform: uppercase; color: #fff; }
.spx__lede { margin: 0; font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.5; max-width: 30rem; color: #fff; }
.spx__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.spx__chip { display: inline-flex; align-items: baseline; gap: 6px; padding: 7px 12px; transform: skewX(-12deg); background: rgba(120,8,16,.4); border: 1px solid rgba(255,255,255,.4); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .95rem; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.spx__chip > * { transform: skewX(12deg); } .spx__chip small { font-size: .65rem; letter-spacing: .14em; opacity: .9; }
.spx__chip:hover, .spx__chip.is-fill { background: #fff; color: var(--red); border-color: #fff; }
.spx__photo { position: relative; display: block; min-height: 300px; overflow: hidden; clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%); background: rgba(120,8,16,.35); }
.spx__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; transition: transform .6s; }
.spx__photo:hover img { transform: scale(1.03); }
.spx__photo .tr-tag { position: absolute; left: 12%; bottom: 16px; background: #fff; color: var(--red); transform: skewX(-12deg); }
.spx__photo.is-mark .spx__c { object-fit: contain; width: 40%; height: auto; left: auto; right: 10%; top: 50%; translate: 0 -50%; opacity: .25; }
@media (max-width: 900px) { .spx__grid { grid-template-columns: 1fr; } .spx__photo { order: -1; min-height: 240px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 86%); } .spx__text { padding: 28px 20px 32px; } .spx__photo .tr-tag { left: 16px; } }

/* 5.54.1: the cheer and dance band on white, red type */
.spx { color: #3a3f46; background: linear-gradient(180deg, #ffffff, #f6f7f8); border-top: 6px solid var(--red); }
.spx__title { color: var(--red); }
.spx__lede { color: #4a4f56; }
.spx__chip { background: #fff; border: 2px solid var(--red); color: var(--red); }
.spx__chip small { color: #6b6f75; opacity: 1; }
.spx__chip:hover, .spx__chip.is-fill { background: var(--red); color: #fff; border-color: var(--red); } .spx__chip.is-fill small, .spx__chip:hover small { color: #fff; }
.spx__photo { background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%); }
.spx__photo .tr-tag { background: var(--red); color: #fff; }
.spx .tr-k { background: var(--red); color: #fff; }

/* 5.54.2: on phones the photo tag sits at the top left, clear of the slanted edge */
@media (max-width: 900px) { .spx__photo .tr-tag { top: 16px; bottom: auto; left: 16px; } }

/* 5.56.0: the rest of the locker room: teammates and classmates here, and the ask */
.lkr { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; margin-top: 40px; padding-top: 34px; border-top: 1px solid #dfe2e6; }
.lkr__col { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.lkr__list { display: grid; gap: 8px; width: 100%; }
.lkr__row { display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: center; padding: 10px 14px; transform: skewX(-4deg); background: #fff; box-shadow: 0 6px 14px rgba(60,64,70,.07); color: #3a3f46; text-decoration: none; }
.lkr__row > * { transform: skewX(4deg); }
.lkr__num { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.5rem; color: var(--red); }
.lkr__row b { display: block; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.1rem; text-transform: uppercase; }
.lkr__row small { display: block; font-family: var(--font-display); font-weight: 800; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: #8a9099; }
.lkr__row em { font-style: italic; font-family: var(--font-display); font-weight: 900; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red); white-space: nowrap; }
.lkr__row:hover { box-shadow: 0 0 0 2px var(--red), 0 10px 20px rgba(60,64,70,.12); color: #3a3f46; }
.lkr__ask { width: 100%; margin-top: 14px; padding: 22px 26px; color: #fff; background: radial-gradient(120% 140% at 15% 0%, #e8303c, var(--red) 55%, #a8141f); transform: skewX(-3deg); box-shadow: 6px 6px 0 rgba(110,10,18,.2); }
.lkr__ask > * { transform: skewX(3deg); }
.lkr__ask .lkb-head__k { color: #fff; }
.lkr__ask h3 { margin: 6px 0 6px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: .95; text-transform: uppercase; color: #fff; }
.lkr__ask p { margin: 0 0 14px; font-family: var(--font-serif); font-size: .95rem; line-height: 1.5; color: #fff; }
.lkr__ask-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.lkr__ask .trm__btn { background: #fff; color: var(--red); } .lkr__ask .trm__btn--ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px #fff; border: 0; cursor: pointer; }
@media (max-width: 860px) { .lkr { grid-template-columns: 1fr; } .lkr__row, .lkr__row > *, .lkr__ask, .lkr__ask > * { transform: none; } }

/* ---- Member locker, opened (5.57.1): red band with speed lines, a silver locker, the red jersey on the hook, white season tiles ---- */
.lkx{position:relative;overflow:hidden;color:#fff;background:var(--red,#b0121b) linear-gradient(118deg,#9c0f17 0,#c8151f 50%,#9c0f17 100%);padding:clamp(28px,5vw,56px) 0 clamp(26px,4vw,44px);isolation:isolate}
.lkx::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,0) 0 22px,rgba(255,255,255,.07) 22px 24px);pointer-events:none}
.lkx__ghost{position:absolute;right:-.04em;top:50%;transform:translateY(-52%);font-family:var(--font-display,"Barlow Condensed",Impact,sans-serif);font-style:italic;font-weight:900;font-size:clamp(180px,30vw,420px);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.22);user-select:none;pointer-events:none;z-index:0}
.lkx__in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(260px,330px) 1fr;gap:clamp(22px,4vw,56px);align-items:start}
.lkx__door{position:relative;background:linear-gradient(180deg,#f4f5f7 0,#dfe3e8 55%,#cfd4da 100%);border:3px solid #fff;border-radius:10px;padding:16px 16px 14px;box-shadow:0 18px 40px rgba(60,0,4,.35),inset 0 0 0 1px rgba(0,0,0,.06);transform:skewX(-3deg);color:#2b3036}
.lkx__door>*{transform:skewX(3deg)}
.lkx__vents{display:flex;flex-direction:column;gap:4px;width:72px;margin:0 auto 10px}
.lkx__vents i{display:block;height:3px;border-radius:2px;background:linear-gradient(90deg,rgba(0,0,0,.04),rgba(0,0,0,.22),rgba(0,0,0,.04))}
.lkx__plate{display:block;margin:0 auto 12px;width:max-content;max-width:100%;background:var(--red,#b0121b);color:#fff;font-family:var(--font-display,"Barlow Condensed",sans-serif);font-weight:800;font-size:13px;line-height:1;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;border-radius:3px;box-shadow:0 2px 0 rgba(0,0,0,.25);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lkx__hook{width:14px;height:14px;margin:0 auto -3px;border:3px solid #8e959d;border-bottom-color:transparent;border-radius:50% 50% 0 0;transform:skewX(3deg)}
.lkx__jersey{position:relative;margin:0 auto;width:86%;max-width:260px;background:linear-gradient(180deg,#c8151f 0,#a3101a 100%);border:3px solid #fff;border-radius:14px 14px 10px 10px;padding:14px 10px 12px;text-align:center;box-shadow:0 10px 24px rgba(60,0,4,.35)}
.lkx__jersey::before{content:"";position:absolute;left:50%;top:-3px;width:64px;height:22px;transform:translateX(-50%);background:#dfe3e8;border:3px solid #fff;border-top:0;border-radius:0 0 40px 40px}
.lkx__jersey::after{content:"";position:absolute;left:12px;right:12px;bottom:8px;height:2px;background:rgba(255,255,255,.45)}
.lkx__shoulders{display:block;font-family:var(--font-display,"Barlow Condensed",sans-serif);font-weight:800;font-size:clamp(15px,1.6vw,20px);line-height:1;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin:18px 0 2px;position:relative;z-index:1}
.lkx__num{margin:0;font-family:var(--font-display,"Barlow Condensed",Impact,sans-serif);font-style:italic;font-weight:900;font-size:clamp(92px,11vw,132px);line-height:.92;color:#fff;letter-spacing:-.03em;text-shadow:3px 3px 0 #cfd4da;position:relative;z-index:1}
.lkx__sport{display:block;font-family:var(--font-display,"Barlow Condensed",sans-serif);font-weight:700;font-size:12px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-top:6px}
.lkx__shelf{margin:14px -4px 0;padding:12px 8px 8px;border-top:4px solid #fff;background:rgba(255,255,255,.45);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.lkx__class{flex:1 1 100%;font-family:var(--font-display,"Barlow Condensed",sans-serif);font-weight:800;font-size:15px;line-height:1;letter-spacing:.1em;text-transform:uppercase;color:var(--red,#b0121b);margin-bottom:2px}
.lkx__tag{display:inline-flex;align-items:center;gap:6px;background:#fff;color:#2b3036;font-family:var(--font-display,"Barlow Condensed",sans-serif);font-weight:700;font-size:11px;line-height:1;letter-spacing:.08em;text-transform:uppercase;padding:5px 8px 5px 5px;border-radius:3px;transform:skewX(-8deg);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.lkx__tag b{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 4px;background:var(--red,#b0121b);color:#fff;font-family:var(--font-display,"Barlow Condensed",sans-serif);font-style:italic;font-weight:900;font-size:13px;line-height:1;border-radius:2px}
.lkx__foot{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.lkx__chip{font-family:var(--font-display,"Barlow Condensed",sans-serif);font-weight:700;font-size:11px;line-height:1;letter-spacing:.1em;text-transform:uppercase;color:#4b535c;background:#fff;border:1px solid #fff;padding:6px 9px;border-radius:999px}
.lkx__chip.is-red{background:var(--red,#b0121b);color:#fff;border-color:var(--red,#b0121b)}
.lkx__wall{padding-top:6px}
.lkx__wall .tr-k{margin:0;color:#ce1a27;background:#fff}
.lkx__go .tr-links__btn{color:#ce1a27;background:#fff}
.lkx__go .tr-links__btn.is-ghost{color:#fff;background:transparent}
.lkx__teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:14px}
.lkx__team{position:relative;display:grid;gap:4px;background:#fff;color:#2b3036;text-decoration:none;padding:14px 14px 12px 18px;border-radius:6px;transform:skewX(-6deg);box-shadow:0 8px 20px rgba(60,0,4,.25);transition:transform .15s,box-shadow .15s;overflow:hidden}
.lkx__team>*{transform:skewX(6deg);display:block}
.lkx__team::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:#cfd4da}
.lkx__team:hover{transform:skewX(-6deg) translateY(-3px);box-shadow:0 14px 28px rgba(60,0,4,.32)}
.lkx__team-n{font-family:var(--font-display,"Barlow Condensed",sans-serif);font-style:italic;font-weight:900;font-size:24px;line-height:1;text-transform:uppercase;letter-spacing:-.01em;color:#2b3036}
.lkx__team-r{font-family:var(--font-display,"Barlow Condensed",sans-serif);font-weight:800;font-size:15px;line-height:1.1;letter-spacing:.06em;color:var(--red,#b0121b);text-transform:uppercase}
.lkx__team-s{font-family:var(--font-display,"Barlow Condensed",sans-serif);font-weight:700;font-size:11px;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:#6b737c;margin-top:2px}
.lkx__team.is-shared::before{background:var(--red,#b0121b)}
.lkx__team.is-shared .lkx__team-s{color:var(--red,#b0121b)}
.lkx__team.has-title{background:var(--red,#b0121b);color:#fff}
.lkx__team.has-title::before{background:#fff}
.lkx__team.has-title .lkx__team-n,.lkx__team.has-title .lkx__team-r{color:#fff}
.lkx__team.has-title .lkx__team-s{color:#fff;opacity:.9}
.lkx__team.has-title::after{content:"★";position:absolute;right:10px;top:8px;font-size:18px;color:#fff;transform:skewX(6deg)}
.lkx__line{font-family:var(--font-serif,Lora,Georgia,serif);font-style:italic;font-size:20px;line-height:1.4;color:#fff;margin:12px 0 0;max-width:40ch}
.lkx__go{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
@media (max-width:760px){
.lkx__in{grid-template-columns:1fr;gap:20px}
.lkx__door,.lkx__door>*,.lkx__team,.lkx__team>*,.lkx__tag,.lkx__hook{transform:none}
.lkx__team:hover{transform:translateY(-3px)}
.lkx__door{max-width:340px;margin:0 auto;width:100%}
.lkx__ghost{font-size:200px;top:auto;bottom:-20px;transform:none;right:-10px}
.lkx__teams{grid-template-columns:1fr 1fr;gap:9px}
.lkx__team{padding:11px 11px 10px 14px}
.lkx__team-n{font-size:19px}
}
@media (max-width:420px){.lkx__teams{grid-template-columns:1fr}}

/* ---- The career on the locker, the finder, the card and the card page (5.58.0) ---- */
.lkx__big{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 0 14px}
.lkx__stat{display:grid;gap:2px}
.lkx__stat b{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:clamp(34px,4vw,52px);line-height:.95;color:#fff;letter-spacing:-.02em;text-shadow:2px 2px 0 rgba(0,0,0,.18)}
.lkx__stat small{font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.lkx__chip.is-charter{background:#cfd4da;color:#2b3036;border-color:#cfd4da}
.lkx__more{font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:10px 0 0;opacity:.85}
.lky{background:#fff;padding:26px 0 0}
.lky__box{background:#fff;border:3px solid var(--red);border-radius:8px;padding:22px 24px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1.3fr);gap:20px 32px;align-items:start;box-shadow:0 10px 30px rgba(60,0,4,.08)}
.lky__box--slim{grid-template-columns:1fr auto;align-items:center}
.lky__head h2{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:clamp(24px,2.6vw,32px);line-height:1;text-transform:uppercase;color:#2b3036;margin:6px 0 8px}
.lky__head p{font-family:var(--font-serif);font-size:16px;line-height:1.5;color:#4a4a4a;margin:0}
.lky__rows{display:grid;gap:6px}
.lky__row{display:grid;grid-template-columns:22px 56px 1fr;align-items:center;gap:10px;padding:9px 12px;border:1px solid #dfe3e8;border-radius:6px;background:#f6f7f9;cursor:pointer}
.lky__row:has(input:checked){border-color:var(--red);background:#fff;box-shadow:inset 4px 0 0 var(--red)}
.lky__row input{width:18px;height:18px;accent-color:var(--red);margin:0}
.lky__num{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:22px;color:var(--red)}
.lky__who{display:grid;line-height:1.15}
.lky__who b{font-family:var(--font-display);font-weight:800;font-size:18px;text-transform:uppercase;color:#2b3036}
.lky__who small{font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#6b737c}
.lky__send{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-top:14px}
.lky__alt{font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.lkc{background:#fff;padding:28px 0 6px}
.lkc__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px 40px}
.lkc__wins{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.lkc__wins a{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:14px;padding:10px 14px;background:#f6f7f9;border-left:5px solid var(--red);border-radius:0 6px 6px 0;text-decoration:none;color:#2b3036}
.lkc__wins a:hover{background:#fff;box-shadow:0 8px 18px rgba(60,0,4,.1)}
.lkc__score{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:30px;line-height:1;color:var(--red);letter-spacing:-.02em}
.lkc__opp{display:grid;line-height:1.15}
.lkc__opp b{font-family:var(--font-display);font-weight:800;font-size:19px;text-transform:uppercase}
.lkc__opp small{font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#6b737c}
.lkc__wins em{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);white-space:nowrap}
.lkd{background:#f0f2f4;padding:34px 0;border-top:6px solid var(--red)}
.lkd__in{display:grid;grid-template-columns:1.1fr 1fr;gap:28px 40px;align-items:center}
.lkd__pic img{width:100%;height:auto;display:block;border-radius:8px;box-shadow:0 18px 40px rgba(60,0,4,.22);transform:rotate(-1.5deg)}
.lkd__txt h2{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:clamp(28px,3.2vw,40px);line-height:.98;text-transform:uppercase;color:#2b3036;margin:10px 0 12px}
.lkd__txt p{font-family:var(--font-serif);font-size:17px;line-height:1.5;color:#4a4a4a;margin:0 0 16px}
.lkd__btns{display:flex;flex-wrap:wrap;gap:10px}
.lkd__fine{font-size:13px!important;color:#6b737c!important;margin-top:14px!important}
.player__me{display:inline-block;margin-top:4px;font-family:var(--font-display);font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);text-decoration:none;border-bottom:2px solid currentColor}
.player__me:hover{color:#2b3036}
.roster__claim{margin:18px 0 0;padding:14px 18px;background:#fff;border-left:5px solid var(--red);font-family:var(--font-serif);font-size:16px;color:#2b3036}
.roster__claim a{color:var(--red);font-weight:700}
.roster-hero__full{margin:14px 0 0;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.roster-hero__full a{color:#fff;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.6)}
.mcard__charter{position:absolute;right:10px;top:10px;font-family:var(--font-display);font-weight:800;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#2b3036;background:#cfd4da;padding:4px 7px;border-radius:3px;transform:skewX(-8deg)}
.mcard{position:relative}
.pswp__full{display:inline-block;margin:0 6px;padding:0 10px;height:30px;line-height:30px;font-family:var(--font-display,"Barlow Condensed",sans-serif);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--red,#ce1a27);border-radius:3px;text-decoration:none;white-space:nowrap}
.pswp__full--in{background:transparent;border:1px solid rgba(255,255,255,.5)}
.cdp{position:relative;overflow:hidden;color:#fff;background:var(--red,#b0121b) linear-gradient(118deg,#9c0f17 0,#c8151f 50%,#9c0f17 100%);padding:clamp(28px,5vw,60px) 0 clamp(26px,4vw,48px);isolation:isolate}
.cdp::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,0) 0 22px,rgba(255,255,255,.07) 22px 24px);pointer-events:none}
.cdp__ghost{position:absolute;right:-.04em;top:50%;transform:translateY(-52%);font-family:var(--font-display);font-style:italic;font-weight:900;font-size:clamp(180px,30vw,420px);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.22);pointer-events:none;z-index:0}
.cdp__in{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr 1fr;gap:28px 48px;align-items:center}
.cdp__card{margin:0}
.cdp__card img{width:100%;height:auto;display:block;border-radius:8px;box-shadow:0 24px 50px rgba(40,0,3,.4);transform:rotate(-1.5deg);border:3px solid #fff}
.cdp__txt .tr-k{color:#ce1a27;background:#fff}
.cdp__h{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:clamp(40px,5vw,66px);line-height:.92;text-transform:uppercase;color:#fff;margin:12px 0 10px;letter-spacing:-.02em;text-shadow:3px 3px 0 rgba(0,0,0,.18)}
.cdp__lede{font-family:var(--font-serif);font-size:18px;line-height:1.5;color:#fff;margin:0 0 12px}
.cdp__titles{list-style:none;margin:0 0 12px;padding:0;font-family:var(--font-display);font-weight:800;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.cdp__teams{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.cdp__team{display:inline-flex;gap:8px;align-items:baseline;background:#fff;color:#2b3036;text-decoration:none;padding:7px 12px;border-radius:4px;transform:skewX(-8deg);font-family:var(--font-display);font-weight:800;font-size:14px;text-transform:uppercase}
.cdp__team small{color:var(--red);font-weight:900;font-style:italic}
.cdp__go{display:flex;flex-wrap:wrap;gap:10px}
.cdp__go .tr-links__btn{color:#ce1a27;background:#fff}
.cdp__go .tr-links__btn.is-ghost{color:#fff;background:transparent}
.cdq{background:#fff;padding:40px 0}
.cdq__in{display:grid;grid-template-columns:1.1fr 1fr;gap:28px 48px;align-items:center}
.cdq__col h2{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:clamp(28px,3.4vw,44px);line-height:.98;text-transform:uppercase;color:#2b3036;margin:8px 0 12px}
.cdq__col p{font-family:var(--font-serif);font-size:17px;line-height:1.55;color:#4a4a4a;margin:0}
.cdq__steps ol{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}
.cdq__steps li{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;font-family:var(--font-serif);font-size:16px;color:#2b3036}
.cdq__steps li b{display:grid;place-items:center;width:40px;height:40px;background:var(--red);color:#fff;font-family:var(--font-display);font-style:italic;font-weight:900;font-size:22px;transform:skewX(-8deg)}
.cdq__steps em{font-style:normal;font-family:var(--font-display);font-weight:800;color:var(--red);text-transform:uppercase;letter-spacing:.06em}
@media (max-width:760px){
.lky__box,.lky__box--slim,.lkc__grid,.lkd__in,.cdp__in,.cdq__in{grid-template-columns:1fr}
.lkd__pic img,.cdp__card img{transform:none}
.lkc__wins a{grid-template-columns:72px 1fr}
.lkc__wins em{display:none}
.lkc__score{font-size:24px}
.cdp__ghost{font-size:200px;top:auto;bottom:-20px;transform:none;right:-10px}
.lky__row{grid-template-columns:22px 44px 1fr}
.cdp__card{order:-1}
}

/* ---- Your Redhound story (5.59.0): the play button on the locker and the full-screen player ---- */
.lkx__play{display:flex;align-items:center;gap:14px;width:100%;max-width:560px;margin:18px 0 0;padding:14px 18px;background:#fff;color:#2b3036;border:0;border-radius:8px;text-align:left;cursor:pointer;transform:skewX(-6deg);box-shadow:0 12px 28px rgba(60,0,4,.3);transition:transform .15s,box-shadow .15s}
.lkx__play>*{transform:skewX(6deg)}
.lkx__play:hover{transform:skewX(-6deg) translateY(-2px);box-shadow:0 18px 34px rgba(60,0,4,.36)}
.lkx__play-ico{flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:var(--red,#ce1a27);position:relative}
.lkx__play-ico::after{content:"";position:absolute;left:21px;top:16px;border-left:18px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent}
.lkx__play b{display:block;font-family:var(--font-display);font-style:italic;font-weight:900;font-size:22px;line-height:1;text-transform:uppercase;color:var(--red,#ce1a27)}
.lkx__play small{display:block;font-family:var(--font-serif);font-size:13px;line-height:1.3;color:#4a4a4a;margin-top:4px}
.rsy{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#b0121b;color:#fff;overflow:hidden}
.rsy::backdrop{background:#000}
html.rsy-open{overflow:hidden}
.rsy__bars{position:absolute;left:12px;right:12px;top:10px;display:flex;gap:4px;z-index:5}
.rsy__bars i{flex:1;height:4px;background:rgba(255,255,255,.3);border-radius:2px;overflow:hidden}
.rsy__bars i b{display:block;height:100%;width:0;background:#fff}
.rsy__x{position:absolute;right:12px;top:22px;z-index:6;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.rsy__stage{position:absolute;inset:0}
.rsy__card[hidden]{display:none}
.rsy__card{position:absolute;inset:0;display:grid;place-items:center;padding:60px 24px 48px;background:linear-gradient(118deg,#9c0f17 0,#c8151f 50%,#9c0f17 100%);overflow:hidden}
.rsy__card::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,0) 0 22px,rgba(255,255,255,.07) 22px 24px);pointer-events:none}
.rsy__card--open,.rsy__card--close{background:linear-gradient(160deg,#7d0b11 0,#b0121b 60%,#7d0b11 100%)}
.rsy__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;filter:grayscale(1) contrast(1.1);mix-blend-mode:luminosity}
.rsy__in{position:relative;z-index:2;max-width:820px;width:100%;text-align:center;display:grid;gap:14px;justify-items:center}
.rsy__k{display:inline-block;background:#fff;color:#ce1a27;font-family:var(--font-display);font-style:italic;font-weight:900;font-size:13px;letter-spacing:.18em;text-transform:uppercase;padding:7px 14px;transform:skewX(-12deg)}
.rsy__big{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:clamp(110px,22vw,260px);line-height:.9;letter-spacing:-.04em;color:#fff;text-shadow:6px 6px 0 rgba(0,0,0,.2);white-space:nowrap}
.rsy__big--long{font-size:clamp(44px,8vw,96px);white-space:normal;line-height:.95}
.rsy__card--open .rsy__big{font-size:clamp(70px,14vw,170px)}
.rsy__t{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,3.2vw,40px);line-height:1.05;text-transform:uppercase;color:#fff;margin:0;max-width:22ch}
.rsy__sub{font-family:var(--font-serif);font-style:italic;font-size:clamp(16px,1.8vw,22px);line-height:1.4;color:rgba(255,255,255,.92);margin:0;max-width:48ch}
.rsy__link{font-family:var(--font-display);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#fff;border-bottom:2px solid rgba(255,255,255,.6);text-decoration:none}
.rsy__tap{position:absolute;bottom:26px;left:0;right:0;text-align:center;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8);animation:rsy-pulse 1.6s infinite}
@keyframes rsy-pulse{0%,100%{opacity:.5}50%{opacity:1}}
.rsy__cardimg{width:min(92vw,620px);height:auto;border-radius:8px;border:3px solid #fff;box-shadow:0 24px 50px rgba(0,0,0,.4);transform:rotate(-1.5deg)}
.rsy__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.rsy__nav{position:absolute;top:0;bottom:0;width:30%;border:0;background:transparent;cursor:pointer;z-index:4}
.rsy__nav--prev{left:0}.rsy__nav--next{right:0;width:50%}
.rsy__card.is-on .rsy__in>*{animation:rsy-in .55s cubic-bezier(.2,.8,.2,1) both}
.rsy__card.is-on .rsy__in>:nth-child(2){animation-delay:.08s}.rsy__card.is-on .rsy__in>:nth-child(3){animation-delay:.3s}.rsy__card.is-on .rsy__in>:nth-child(4){animation-delay:.45s}.rsy__card.is-on .rsy__in>:nth-child(5){animation-delay:.55s}
@keyframes rsy-in{from{opacity:0;transform:translateY(26px) skewX(-6deg)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rsy__card.is-on .rsy__in>*{animation:none}}
@media (max-width:760px){.lkx__play{transform:none;max-width:none}.lkx__play>*{transform:none}.lkx__play:hover{transform:translateY(-2px)}.rsy__big{font-size:clamp(90px,30vw,160px)}.rsy__t{font-size:24px}}
.lkx__play--own{margin:16px 0 14px;max-width:none}
.lkx__play--own b{font-size:20px}

.rsy__start{position:relative;z-index:7;margin-top:10px;padding:16px 34px;border:0;background:#fff;color:#ce1a27;font-family:var(--font-display);font-style:italic;font-weight:900;font-size:22px;letter-spacing:.12em;text-transform:uppercase;transform:skewX(-12deg);cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.3);animation:rsy-pulse 1.6s infinite}
.rsy__start:hover{animation:none;transform:skewX(-12deg) translateY(-2px)}
.rsy__card--open .rsy__in{z-index:7}
.rsy__tap{font-size:11px;letter-spacing:.14em;animation:none;opacity:.75}
.rsy__arr{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:26px;line-height:48px;text-align:center;transition:background .15s,opacity .15s;opacity:.7}
.rsy__nav--prev .rsy__arr{left:16px}.rsy__nav--next .rsy__arr{right:16px}
.rsy__nav:hover .rsy__arr{background:#fff;color:#ce1a27;opacity:1}
.rsy.is-first .rsy__nav--prev .rsy__arr{display:none}
.rsy.is-last .rsy__nav--next .rsy__arr{display:none}
@media (max-width:760px){.rsy__arr{width:38px;height:38px;line-height:38px;font-size:20px;top:auto;bottom:18px;transform:none}.rsy__nav--prev .rsy__arr{left:14px}.rsy__nav--next .rsy__arr{right:14px}}

/* the Corbin C on the locker door (5.59.6): a big red decal in the open space, under the chips */
.lk__locker{overflow:hidden}
.lk__mark{position:absolute;z-index:0;right:-4%;bottom:-10%;width:clamp(300px,38%,520px);height:auto;opacity:.16;transform:rotate(-8deg);pointer-events:none;user-select:none;filter:drop-shadow(0 2px 0 rgba(255,255,255,.6))}
.lk__locker>*:not(.lk__mark):not(.lk__stickers){position:relative;z-index:2}
@media (max-width:760px){.lk__mark{width:70%;right:-12%;bottom:-6%}}
.lkr__row--coach .lkr__num{display:grid;place-items:center}
.lkr__c{width:44px;height:44px;object-fit:contain;display:block}
.rsy__in{z-index:6!important}
.rsy__nav{z-index:1;pointer-events:none}
.rsy__nav .rsy__arr{pointer-events:auto}
.rsy__btns a,.rsy__btns button,.rsy__link,.rsy__start,.rsy__x{position:relative;z-index:8}

/* ---- Locker stickers (5.60.3): one or two on the door, new every sign-in. Patch, bumper, die-cut, round. ---- */
.lk__stickers{position:absolute;inset:0;z-index:1;pointer-events:none}
.lk__stk{position:absolute;display:grid;justify-items:center;text-align:center;transform:translate(-50%,-50%) rotate(var(--r,0deg));font-family:var(--font-display);text-transform:uppercase;white-space:nowrap;animation:lk-stk .55s cubic-bezier(.2,.9,.3,1.25) both var(--d,.3s)}
.lk__stk b{display:block;font-style:italic;font-weight:900;line-height:.95;letter-spacing:.02em}
.lk__stk small{display:block;font-weight:800;letter-spacing:.18em;line-height:1}
/* the varsity patch: white felt, red stitched border, a red bar */
.lk__stk--patch{padding:16px 26px 14px;background:#fff;border:3px solid var(--red);outline:3px dashed rgba(206,26,39,.55);outline-offset:-9px;border-radius:10px;color:var(--red);box-shadow:0 10px 22px rgba(0,0,0,.22),inset 0 0 0 5px #fff}
.lk__stk--patch b{font-size:40px}
.lk__stk--patch small{font-size:12px;color:#2b3036;margin-top:6px;padding-top:6px;border-top:2px solid #cfd4da;width:100%}
/* the bumper sticker: red, white edge, slanted */
.lk__stk--bumper{padding:14px 30px 12px;background:var(--red);color:#fff;border:3px solid #fff;transform:translate(-50%,-50%) rotate(var(--r,0deg)) skewX(-10deg);box-shadow:0 10px 22px rgba(0,0,0,.25);background-image:repeating-linear-gradient(115deg,rgba(255,255,255,0) 0 12px,rgba(255,255,255,.07) 12px 14px)}
.lk__stk--bumper>*{transform:skewX(10deg)}
.lk__stk--bumper b{font-size:36px}
.lk__stk--bumper small{font-size:11px;margin-top:5px;opacity:.9}
/* the die-cut: big red letters with a thick white cut edge, nothing behind them */
.lk__stk--diecut b{font-size:52px;color:var(--red);text-shadow:4px 0 0 #fff,-4px 0 0 #fff,0 4px 0 #fff,0 -4px 0 #fff,3px 3px 0 #fff,-3px -3px 0 #fff,3px -3px 0 #fff,-3px 3px 0 #fff,0 12px 18px rgba(0,0,0,.25)}
/* the round badge: red ring, number big */
.lk__stk--round{width:126px;height:126px;border-radius:50%;background:#fff;color:var(--red);border:5px solid var(--red);box-shadow:0 10px 22px rgba(0,0,0,.22),inset 0 0 0 4px #fff,inset 0 0 0 6px var(--red);align-content:center;gap:2px}
.lk__stk--round b{font-size:50px;letter-spacing:-.02em}
.lk__stk--round small{font-size:10px;color:#2b3036}
@keyframes lk-stk{from{opacity:0;transform:translate(-50%,-35%) rotate(calc(var(--r,0deg) - 8deg)) scale(.6)}to{opacity:1}}
.lk__stk--bumper{animation-name:lk-stk-b}
@keyframes lk-stk-b{from{opacity:0;transform:translate(-50%,-35%) rotate(calc(var(--r,0deg) - 8deg)) skewX(-10deg) scale(.6)}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.lk__stk{animation:none}}
@media (max-width:760px){.lk__stk--patch b,.lk__stk--bumper b{font-size:24px}.lk__stk--diecut b{font-size:32px}.lk__stk--round{width:84px;height:84px}.lk__stk--round b{font-size:30px}.lk__stk--patch{padding:10px 16px 8px}.lk__stk--bumper{padding:9px 18px 8px}}
/* six more cuts (5.60.5): shield, pennant, jersey, football, chevron, ticket */
.lk__stk--shield{width:120px;height:140px;display:block}
.lk__shield{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 10px 16px rgba(0,0,0,.28))}
.lk__stk--shield b{position:absolute;left:0;right:0;top:30px;font-size:62px;color:#fff;letter-spacing:-.02em}
.lk__stk--shield small{position:absolute;left:0;right:0;top:98px;font-size:10px;color:#fff;letter-spacing:.2em}
.lk__stk--pennant{height:64px;padding:0 44px 0 48px;display:flex;align-items:center;background:var(--red);clip-path:polygon(0 0,100% 50%,0 100%);filter:drop-shadow(0 10px 16px rgba(0,0,0,.28))}
.lk__stk--pennant::before{content:"";position:absolute;left:0;top:0;bottom:0;width:16px;background:#fff}
.lk__stk--pennant::after{content:"";position:absolute;left:20px;top:0;bottom:0;width:4px;background:#fff;opacity:.7}
.lk__stk--pennant b{font-size:30px;color:#fff;letter-spacing:.06em;padding-right:36px}
.lk__stk--jersey{width:150px;height:138px;display:block}
.lk__jsy{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 10px 16px rgba(0,0,0,.28))}
.lk__stk--jersey small{position:absolute;left:0;right:0;top:46px;font-size:9px;color:#fff;letter-spacing:.14em;font-weight:800}
.lk__stk--jersey b{position:absolute;left:0;right:0;top:62px;font-size:54px;color:#fff;font-style:normal;letter-spacing:-.02em}
.lk__stk--football{width:220px;height:122px;display:block}
.lk__ball{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 10px 16px rgba(0,0,0,.28))}
.lk__stk--football b{position:absolute;left:0;right:0;top:18px;font-size:30px;color:#fff;letter-spacing:.08em}
.lk__stk--football small{position:absolute;left:0;right:0;top:82px;font-size:11px;color:#fff;letter-spacing:.2em}
.lk__stk--chevron{padding:14px 48px 12px 46px;background:var(--red);color:#fff;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%,22px 50%);filter:drop-shadow(0 10px 16px rgba(0,0,0,.28));background-image:repeating-linear-gradient(115deg,rgba(255,255,255,0) 0 12px,rgba(255,255,255,.08) 12px 14px)}
.lk__stk--chevron::before{content:"";position:absolute;inset:4px;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%,20px 50%);border:2px solid rgba(255,255,255,.7);pointer-events:none}
.lk__stk--chevron b{font-size:34px;letter-spacing:.04em}
.lk__stk--ticket{padding:12px 34px 10px;background:#fff;color:var(--red);border:3px solid var(--red);-webkit-mask:radial-gradient(circle at 0 50%,transparent 11px,#000 11.5px),radial-gradient(circle at 100% 50%,transparent 11px,#000 11.5px);-webkit-mask-composite:source-in;mask:radial-gradient(circle at 0 50%,transparent 11px,#000 11.5px),radial-gradient(circle at 100% 50%,transparent 11px,#000 11.5px);mask-composite:intersect}
.lk__stk--ticket small{font-size:10px;color:#2b3036;letter-spacing:.24em;margin-bottom:3px}
.lk__stk--ticket b{font-size:30px;letter-spacing:.02em}
@media (max-width:760px){.lk__stk--shield{width:84px;height:98px}.lk__stk--shield b{font-size:40px;top:22px}.lk__stk--shield small{top:68px;font-size:8px}.lk__stk--jersey{width:100px;height:92px}.lk__stk--jersey b{font-size:34px;top:42px}.lk__stk--jersey small{top:33px;font-size:9px}.lk__stk--football{width:150px;height:83px}.lk__stk--football b{font-size:20px;top:12px}.lk__stk--football small{top:56px;font-size:8px}.lk__stk--pennant b,.lk__stk--chevron b,.lk__stk--ticket b{font-size:20px}}

/* one sticker, pinned top right (5.60.9): anchored to the corner so a long one grows leftward, never off the door */
.lk__stk{left:auto!important;top:28px!important;right:34px;transform:rotate(var(--r,0deg));transform-origin:right center;max-width:62%}
.lk__stk--bumper{transform:rotate(var(--r,0deg)) skewX(-10deg)}
.lk__stk--diecut b{font-size:clamp(28px,3.4vw,50px);white-space:nowrap}
.lk__stk--bumper b{font-size:clamp(22px,2.4vw,34px)}
@keyframes lk-stk{from{opacity:0;transform:translateY(-14px) rotate(calc(var(--r,0deg) - 6deg)) scale(.7)}to{opacity:1;transform:rotate(var(--r,0deg)) scale(1)}}
@keyframes lk-stk-b{from{opacity:0;transform:translateY(-14px) rotate(calc(var(--r,0deg) - 6deg)) skewX(-10deg) scale(.7)}to{opacity:1;transform:rotate(var(--r,0deg)) skewX(-10deg) scale(1)}}
@media (max-width:760px){.lk__stk{top:14px!important;right:14px;max-width:70%}}

/* the vents sit under the sticker (5.60.10) */
.lk__locker>.lk__vents{position:absolute!important;z-index:0!important}
.lk__locker>.lk__stickers{z-index:1!important}

/* room at the top of the door for the sticker (5.60.12) */
.lk__locker{padding-top:124px}
.lk__stk{top:22px!important}
@media (max-width:760px){.lk__locker{padding-top:96px}.lk__stk{top:16px!important}}

/* Ask it anything, slimmer (5.60.14): half the height, same typing demo */
.hask2{padding:clamp(28px,3.6vw,44px) 0}
.hask2__inner{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,3.5vw,48px)}
.hask2__k{margin-bottom:8px;padding:4px 8px;font-size:.65rem}
.hask2__title{font-size:clamp(2.4rem,4.8vw,4rem);margin:0 0 10px;line-height:.86}
.hask2__lede{font-size:clamp(.95rem,1.1vw,1.05rem);line-height:1.45;margin:0 0 14px;max-width:40ch}
.hask2__btn{padding:11px 18px;font-size:.9rem}
.hask2__demo{min-height:0;padding:clamp(14px,2vw,20px) clamp(16px,2.4vw,26px)}
.hask2__q{font-size:clamp(1.05rem,1.6vw,1.35rem);padding-bottom:10px;min-height:44px}
.hask2__a{padding-top:12px}
.hask2__h{font-size:clamp(1.15rem,1.8vw,1.5rem);margin-bottom:6px}
.hask2__p{font-size:clamp(.92rem,1.1vw,1rem);line-height:1.45;margin:0 0 8px;padding-left:12px}
.hask2__dots{margin-top:10px}
.hask2__ghost{width:34vw;opacity:.045}
@media (max-width:900px){.hask2{padding:28px 0}.hask2__title{font-size:2.4rem}.hask2__inner{grid-template-columns:1fr}}

/* Legend of the week, half the height (5.60.15): photo column narrower, name tighter, stats inline, tags trimmed */
.lgx{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.lgx__photo{min-height:clamp(260px,24vw,340px)}
.lgx__photo img{object-position:center 18%}
.lgx__stamp{width:96px;left:16px;bottom:16px;border-width:4px}
.lgx__stamp img{width:26px;height:26px}
.lgx__stamp b{font-size:.62rem;margin-top:2px}
.lgx__stamp em{font-size:1.3rem}
.lgx__body{padding:clamp(18px,2.2vw,28px) clamp(20px,2.8vw,40px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"kicker kicker" "name quote" "role quote" "stats tags" "actions tags";column-gap:clamp(18px,2.4vw,36px);row-gap:0;align-content:center}
.lgx__kicker{grid-area:kicker;padding:6px 12px;font-size:.72rem}
.lgx__name{grid-area:name;margin:12px 0 0;display:flex;gap:.25em;align-items:baseline;flex-wrap:wrap}
.lgx__name span{font-size:clamp(2rem,3.2vw,3rem)}
.lgx__name b{font-size:clamp(2.6rem,4.6vw,4.4rem)}
.lgx__role{grid-area:role;margin-top:8px;font-size:clamp(.8rem,1vw,.95rem)}
.lgx__quote{grid-area:quote;margin:14px 0 0;padding-left:36px;font-size:clamp(.95rem,1.15vw,1.08rem);line-height:1.45;align-self:start}
.lgx__quote::before{font-size:3.4rem;top:-.25em}
.lgx__stats{grid-area:stats;margin-top:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lgx__stat{padding:8px 12px 8px;border-top-width:4px}
.lgx__stat b{font-size:clamp(1.5rem,2.2vw,2rem)}
.lgx__stat span{font-size:.62rem;margin-top:3px;line-height:1.2}
.lgx__tags{grid-area:tags;margin:14px 0 0;align-self:start;align-content:start}
.lgx__tags li{padding:5px 9px;font-size:.66rem;border-left-width:4px}
.lgx__tags li:nth-child(n+4){display:none}
.lgx__actions{grid-area:actions;margin-top:14px;gap:10px 16px}
.lgx__go{padding:11px 18px;font-size:.86rem}
.lgx__all{font-size:.8rem}
.lgx__ghost{font-size:clamp(110px,14vw,200px);bottom:-14%}
@media (max-width:900px){.lgx__body{grid-template-columns:1fr;grid-template-areas:"kicker" "name" "role" "quote" "stats" "tags" "actions"}.lgx__photo{min-height:300px}}

/* Latest photos, half the height (5.60.16): shorter rows, smaller head, same film-strip frame */
.hphotos{padding-block:calc(28px + 22px)}
.hphotos__head{margin-bottom:16px;padding-bottom:10px}
.hphotos__title{margin-top:8px;font-size:clamp(2rem,3.6vw,3rem)}
.hphotos__kicker{font-size:.7rem;padding:5px 10px}
.hphotos__ghost{font-size:clamp(90px,12vw,180px)}
.hphotos__grid{gap:8px;grid-auto-rows:clamp(110px,10vw,150px)}
.hphoto--lead .hphoto__title{font-size:clamp(1.3rem,2vw,1.8rem)}
.hphoto--lead .hphoto__body{padding:16px;gap:4px}
.hphoto__title{font-size:1rem}
.hphoto__body{padding:12px}
.hphoto__meta{font-size:.62rem}
.hphoto__vf{inset:10px}
.hphoto-ask,.hphotos__grid--n4 .hphoto-ask{padding:14px;gap:5px}
.hphoto-ask__cam{width:20px;height:20px}
.hphoto-ask__k{font-size:.6rem}
.hphotos__grid--n4 .hphoto-ask__t,.hphoto-ask__t{font-size:1.05rem}
.hphoto-ask__btn,.hphotos__grid--n4 .hphoto-ask__btn{padding:8px 12px;font-size:.78rem}
.hphotos__foot{margin-top:12px}
@media (max-width:899px){.hphotos{padding-block:calc(22px + 22px)}.hphotos__grid{grid-auto-rows:120px}}

/* This year in Redhound history, half the height (5.60.17) */
.spotlight + .tyih{padding-top:clamp(28px,3.4vw,44px)}
.tyih__head{margin-bottom:12px;padding-bottom:8px;border-bottom-width:3px}
.tyih__h{margin:2px 0 4px;font-size:clamp(1.8rem,3.2vw,2.6rem)}
.tyih__lede{font-size:.95rem;line-height:1.4;max-width:70ch}
.tyih__lead{min-height:220px;padding:18px 20px}
.tyih__lead-body{gap:4px}
.tyih__big{margin-bottom:0}
.tyih__big b{font-size:clamp(2.4rem,4vw,3.4rem)}
.tyih__lead-title{font-size:clamp(1.3rem,2.1vw,1.8rem)}
.tyih__lead--second .tyih__lead-title{font-size:clamp(1.2rem,1.9vw,1.6rem)}
.tyih__lead-sum{font-size:.95rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tyih__lead-cta{margin-top:6px;padding:8px 12px;font-size:.8rem}
.tyih__lead-ghost{font-size:clamp(6rem,12vw,9rem)}
.tyih__item{padding:10px 12px;gap:10px}
.tyih__num{font-size:1.9rem}
.tyih__title{font-size:1.05rem}
.tyih__sum{-webkit-line-clamp:1}
@media (max-width:899px){.tyih__lead{min-height:200px}}


/* ---- This year in Redhound history: the feature band (5.63.0). Dark, wide, quiet. The photograph and the year carry it. ---- */
.tyf{background:#1a1c1f;color:#fff;padding:48px 0 40px;position:relative;isolation:isolate}
.tyf .container{max-width:1280px}
.tyf__head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:26px}
.tyf__head>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 22px}
.tyf__head .tyf__eyebrow{flex-basis:100%}
.tyf__eyebrow{display:block;font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--red-display)}
.tyf__year{font-family:var(--font-display);font-weight:800;font-size:48px;line-height:1;letter-spacing:-.01em;color:#fff;margin:6px 0 0}
.tyf__lede{margin:0;font-family:var(--font-serif);font-size:17px;line-height:1.4;color:rgba(255,255,255,.72)}
.tyf__from{font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);padding-bottom:6px;display:inline-flex;align-items:center;gap:12px;white-space:nowrap}
.tyf__from::before{content:"";width:28px;height:2px;background:var(--red)}
.tyf__feature{display:grid;grid-template-columns:minmax(0,62fr) minmax(0,38fr);gap:0 48px;align-items:stretch}
.tyf__photo{display:block;position:relative;aspect-ratio:auto;align-self:stretch;min-height:340px;overflow:hidden;background:#000}
.tyf__photo img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tyf__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 70%,rgba(0,0,0,.35) 100%);pointer-events:none}
.tyf__photo.is-empty{background:#26292d}
.tyf__copy{display:flex;flex-direction:column;justify-content:center;min-width:0}
.tyf__ago{display:block;font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--red-display)}
.tyf__big{font-family:var(--font-display);font-weight:800;font-size:80px;line-height:.92;letter-spacing:-.015em;color:#fff;margin:6px 0 2px}
.tyf__h{margin:0;font-family:var(--font-display);font-weight:700;font-size:34px;line-height:1;letter-spacing:.02em;text-transform:uppercase;color:#fff}
.tyf__score{margin:16px 0 14px;border-top:1px solid rgba(255,255,255,.22)}
.tyf__score span{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:6px 0 4px;border-bottom:1px solid rgba(255,255,255,.22)}
.tyf__score em{font-style:normal;font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.tyf__score b{font-family:var(--font-display);font-weight:800;font-size:46px;line-height:.9;letter-spacing:-.01em;color:#fff}
.tyf__score span:first-child b{color:var(--red-display)}
.tyf__sum{margin:0 0 16px;font-family:var(--font-serif);font-size:15px;line-height:1.55;color:rgba(255,255,255,.74)}
.tyf__cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-decoration:none;align-self:flex-start;padding-bottom:4px;border-bottom:2px solid var(--red)}
.tyf__cta svg{width:16px;height:16px;color:var(--red-display);flex:none}
.tyf__cta:hover{color:var(--red-display)}
.tyf__second{display:grid;grid-template-columns:minmax(0,30fr) minmax(0,22fr) minmax(0,48fr);gap:0 40px;align-items:center;margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.22)}
.tyf__photo2{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;background:#000}
.tyf__photo2 img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.tyf__photo2::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 72%,rgba(0,0,0,.3) 100%);pointer-events:none}
.tyf__photo2.is-empty{background:#26292d}
.tyf__copy2 .tyf__ago{font-size:26px}
.tyf__big--2{font-size:60px;margin:4px 0 0}
.tyf__copy3{min-width:0;padding-left:44px;border-left:1px solid rgba(255,255,255,.18);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.tyf__h--2{font-size:28px;margin-bottom:8px}
.tyf__copy3 .tyf__sum{margin-bottom:12px}
.tyf__more{list-style:none;margin:40px 0 0;padding:28px 0 0;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.tyf__more a{display:block;color:#fff;text-decoration:none}
.tyf__more .tyf__ago{font-size:14px;letter-spacing:.14em}
.tyf__more b{display:block;font-family:var(--font-display);font-weight:800;font-size:36px;line-height:1;margin:6px 0 4px}
.tyf__more span:last-child{font-family:var(--font-serif);font-size:14px;line-height:1.4;color:rgba(255,255,255,.7)}
.tyf__foot{margin-top:30px;padding-top:16px;border-top:3px solid var(--red)}
.tyf__foot a{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:.16em;text-transform:uppercase;color:#fff;text-decoration:none}
.tyf__foot svg{width:18px;height:18px;color:var(--red-display)}
.tyf__foot a:hover{color:var(--red-display)}

/* ---- Depth pass (5.63.0): below Redhounds in Action, the secondary imagery comes in from off canvas. Layouts, type and buttons hold still. ---- */
[data-depth] { --depth-ease: cubic-bezier(.22,.61,.21,1); }
/* cheer and dance: the squad photo stands taller than the band and settles in from the right */
.spx[data-depth] { position: relative; z-index: 2; overflow: visible; overflow-x: clip; }
.spx[data-depth] .spx__grid { align-items: stretch; }
.spx[data-depth] .spx__photo { margin-top: -30px; margin-bottom: -30px; min-height: 0; box-shadow: -18px 34px 60px -30px rgba(0,0,0,.45); transform: translateX(56px); transition: transform .9s var(--depth-ease); }
.spx[data-depth] .spx__photo img { transform: translateX(40px) scale(1.06); opacity: .55; transition: transform 1s var(--depth-ease), opacity .9s ease; }
.spx[data-depth].is-in .spx__photo, .spx[data-depth].is-in .spx__photo img { transform: none; opacity: 1; }
.spx[data-depth].is-in .spx__photo:hover img { transform: scale(1.03); }
.spx[data-depth] .spx__photo .tr-tag { bottom: 56px; opacity: 0; transition: opacity .6s ease .5s; } .spx[data-depth].is-in .spx__photo .tr-tag { opacity: 1; }
/* the bracket: a helmet comes in from the right edge, well behind the board, and stays faint */
.brk[data-depth] .brk__edge { position: absolute; left: -8%; right: 0; top: 0; bottom: 0; z-index: 0; pointer-events: none; opacity: 0; transform: translateX(64px); transition: transform 1s var(--depth-ease), opacity 1s ease; }
.brk[data-depth] .brk__edge img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; filter: grayscale(1) contrast(1.1); -webkit-mask-image: linear-gradient(0deg, #000 0%, rgba(0,0,0,.75) 36%, transparent 80%), linear-gradient(90deg, transparent 0%, #000 22%, #000 100%); mask-image: linear-gradient(0deg, #000 0%, rgba(0,0,0,.75) 36%, transparent 80%), linear-gradient(90deg, transparent 0%, #000 22%, #000 100%); -webkit-mask-composite: source-in; mask-composite: intersect; }
.brk[data-depth].is-in .brk__edge { opacity: .42; transform: none; }
.brk[data-depth] .brk__in { z-index: 1; }
@media (prefers-reduced-motion: reduce) { [data-depth] * { transition: none !important; } }
@media (max-width: 900px) { .spx[data-depth] .spx__photo { margin: 0; min-height: 240px; transform: none; box-shadow: none; } .spx[data-depth] .spx__photo img { transform: none; opacity: 1; } .spx[data-depth] .spx__photo .tr-tag { bottom: auto; } .brk[data-depth] .brk__edge { display: none; } }
/* ask: a night field comes in behind the demo card, faint, and the C steps back */
.hask2[data-depth] .hask2__edge { position: absolute; right: 0; top: 0; bottom: 0; width: 62%; z-index: 0; pointer-events: none; opacity: 0; transform: translateX(60px); transition: transform 1s var(--depth-ease), opacity 1s ease; }
.hask2[data-depth] .hask2__edge img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 62% 55%; filter: grayscale(.6) contrast(1.1); -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 40%, #000 100%); mask-image: linear-gradient(90deg, transparent 0%, #000 40%, #000 100%); }
.hask2[data-depth].is-in .hask2__edge { opacity: .38; transform: none; }
.hask2[data-depth] .hask2__ghost { opacity: .03; }
/* legend: the portrait stands proud of the card at the top left and wipes in from the left; the bio holds still */
.spotlight--x[data-depth] .lgx { overflow: visible; }
.spotlight--x[data-depth] .lgx__photo { margin: -34px 0 0 -34px; z-index: 2; box-shadow: 0 24px 50px -24px rgba(0,0,0,.45); transform: translateX(-44px); clip-path: inset(0 100% 0 0); transition: transform 1s var(--depth-ease), clip-path 1s var(--depth-ease); }
.spotlight--x[data-depth].is-in .lgx__photo { transform: none; clip-path: inset(0); }
/* this year: the 1976 photograph runs to the left edge of the page and the Rodger Bird photograph to the right; each settles in from its own side */
.tyf[data-depth] { overflow-x: clip; }
.tyf[data-depth] .tyf__photo { margin-left: calc(-1 * max((100vw - 1280px) / 2, var(--gutter))); transform: translateX(-48px); opacity: .6; transition: transform 1s var(--depth-ease), opacity .9s ease; }
.tyf[data-depth] .tyf__second { grid-template-columns: minmax(0, 22fr) minmax(0, 46fr) minmax(0, 32fr); }
.tyf[data-depth] .tyf__photo2 { margin-right: calc(-1 * max((100vw - 1280px) / 2, var(--gutter))); aspect-ratio: auto; align-self: stretch; min-height: 180px; transform: translateX(48px); opacity: .6; transition: transform 1s var(--depth-ease) .12s, opacity .9s ease .12s; }
.tyf[data-depth] .tyf__photo2 img { position: absolute; inset: 0; object-position: 50% 68%; }
.tyf[data-depth].is-in .tyf__photo, .tyf[data-depth].is-in .tyf__photo2 { transform: none; opacity: 1; }
/* photos: the newest gallery, oversized and faint, behind the small tiles; a mask opens it as the band arrives */
.hphotos[data-depth] > .container { position: relative; z-index: 1; }
.hphotos[data-depth] .hphotos__edge { position: absolute; right: -4%; top: 0; bottom: 0; width: 56%; z-index: 0; pointer-events: none; opacity: 0; clip-path: inset(0 0 0 48%); transition: clip-path 1.1s var(--depth-ease), opacity 1s ease; }
.hphotos[data-depth] .hphotos__edge img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 55% 35%; filter: grayscale(1) contrast(1.1); -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 32%, #000 100%), linear-gradient(180deg, transparent 0%, #000 22%, #000 80%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, #000 32%, #000 100%), linear-gradient(180deg, transparent 0%, #000 22%, #000 80%, transparent 100%); -webkit-mask-composite: source-in; mask-composite: intersect; }
.hphotos[data-depth].is-in .hphotos__edge { opacity: .22; clip-path: inset(0); }
/* on this date: a locker-room edge peeks in from the right behind the games */
.otdx[data-depth] .otdx__edge { position: absolute; right: 0; top: 0; bottom: 0; width: 46%; z-index: -1; pointer-events: none; opacity: 0; transform: translateX(64px); transition: transform 1s var(--depth-ease), opacity 1s ease; }
.otdx[data-depth] .otdx__edge img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 72% 50%; filter: grayscale(1) contrast(1.05); -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 48%, #000 100%), linear-gradient(0deg, transparent 0%, #000 30%, #000 100%); mask-image: linear-gradient(90deg, transparent 0%, #000 48%, #000 100%), linear-gradient(0deg, transparent 0%, #000 30%, #000 100%); -webkit-mask-composite: source-in; mask-composite: intersect; }
.otdx[data-depth].is-in .otdx__edge { opacity: .18; transform: none; }
@media (max-width: 900px) { .hask2[data-depth] .hask2__edge, .hphotos[data-depth] .hphotos__edge, .otdx[data-depth] .otdx__edge { display: none; } .spotlight--x[data-depth] .lgx__photo { margin: 0; transform: none; clip-path: none; box-shadow: none; } .tyf[data-depth] .tyf__photo, .tyf[data-depth] .tyf__photo2 { margin: 0; transform: none; opacity: 1; } }
/* This year in Redhound history on phones (5.63.0): one column, the photograph first, the year and score under it, Rodger Bird the same way */
@media (max-width: 900px) {
.tyf { padding: 48px 0 40px; }
.tyf__head { display: block; margin-bottom: 28px; }
.tyf__year { font-size: 52px; }
.tyf__lede { font-size: 17px; }
.tyf__from { display: none; }
.tyf__feature { display: block; }
.tyf__photo { aspect-ratio: 4/3; margin: 0 calc(-1 * var(--gutter)) 24px; }
.tyf__ago { font-size: 24px; }
.tyf__big { font-size: 72px; }
.tyf__h { font-size: 32px; }
.tyf__score b { font-size: 48px; }
.tyf__second { display: flex; flex-direction: column; align-items: stretch; margin-top: 36px; padding-top: 32px; } .tyf__photo2 { order: -1; }
.tyf__photo2 { aspect-ratio: 16/10; margin: 0 calc(-1 * var(--gutter)) 20px; }
.tyf[data-depth] .tyf__photo2 { margin: 0 calc(-1 * var(--gutter)) 20px; min-height: 0; aspect-ratio: 16/10; }
.tyf[data-depth] .tyf__photo2 img { position: absolute; inset: 0; }
.tyf__copy2 { margin-bottom: 10px; }
.tyf__big--2 { font-size: 56px; margin: 6px 0 0; }
.tyf__copy3 { padding-left: 0; border-left: 0; }
.tyf__h--2 { font-size: 28px; }
.tyf__more { grid-template-columns: 1fr 1fr; }
.tyf__foot { margin-top: 36px; }
.tyf__foot a { font-size: 16px; }
}

/* ---- This year in Redhound history, compact (5.63.2): one row on desktop. The 1976 photograph and copy on the left two thirds, Rodger Bird in the right third, nothing stacked. ---- */
@media (min-width: 901px) {
.tyf { padding: 36px 0 28px; }
.tyf .container { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 0 40px; align-items: stretch; }
.tyf__head, .tyf__foot, .tyf__more { grid-column: 1 / -1; }
.tyf__head { margin-bottom: 18px; }
.tyf__year { font-size: 40px; }
.tyf__lede { font-size: 16px; }
.tyf__feature { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 32px; }
.tyf[data-depth] .tyf__photo, .tyf__photo { min-height: 0; }
.tyf__ago, .tyf__copy2 .tyf__ago { font-size: 18px; letter-spacing: .08em; }
.tyf__big { font-size: 58px; margin: 4px 0 0; }
.tyf__h { font-size: 26px; }
.tyf__score { margin: 12px 0 10px; }
.tyf__score span { padding: 4px 0 3px; gap: 16px; }
.tyf__score em { font-size: 16px; }
.tyf__score b { font-size: 34px; }
.tyf__sum { font-size: 14px; line-height: 1.5; margin: 0 0 12px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tyf__cta { font-size: 14px; letter-spacing: .12em; gap: 8px; padding-bottom: 3px; }
.tyf__second, .tyf[data-depth] .tyf__second { display: grid; grid-template-columns: 128px minmax(0, 1fr); grid-template-areas: "photo copy2" "photo copy3"; grid-template-rows: auto 1fr; gap: 0 18px; align-items: start; align-content: stretch; margin: 0; padding: 0 0 0 32px; border-top: 0; border-left: 1px solid rgba(255,255,255,.2); }
.tyf__photo2, .tyf[data-depth] .tyf__photo2 { grid-area: photo; align-self: stretch; aspect-ratio: auto; min-height: 220px; margin: 0; }
.tyf__copy2 { grid-area: copy2; }
.tyf__copy3 { grid-area: copy3; padding-left: 0; border-left: 0; align-self: start; }
.tyf__big--2 { font-size: 44px; margin: 2px 0 6px; }
.tyf__h--2 { font-size: 22px; margin-bottom: 6px; }
.tyf__copy3 .tyf__sum { margin-bottom: 10px; -webkit-line-clamp: 3; }
.tyf__foot { margin-top: 22px; padding-top: 12px; }
.tyf__foot a { font-size: 15px; letter-spacing: .14em; }
}

/* ---- Redhound Today, the scorebug (5.64.3). White header, then a red band of skewed white score plates with the season ghosted behind. ---- */
.sbg{background:#fff;color:var(--gray-ink);border-top:5px solid var(--red)}
.sbg__top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px 0 14px}
.sbg__brand{display:flex;align-items:center;gap:14px}
.sbg__brand img{width:46px;height:46px;flex:none}
.sbg__lbl{display:block;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-meta)}
.sbg__title{margin:4px 0 0;font-family:var(--font-display);font-style:italic;font-weight:900;font-size:clamp(30px,3.2vw,44px);line-height:.9;letter-spacing:-.02em;text-transform:uppercase;color:var(--red)}
.sbg__tabs{display:flex;gap:26px}
.sbg__tabs a{font-family:var(--font-display);font-weight:800;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-meta);text-decoration:none;padding:8px 2px;border-bottom:3px solid transparent}
.sbg__tabs a.is-on,.sbg__tabs a:hover{color:var(--gray-ink);border-bottom-color:var(--red)}
.sbg__strip{position:relative;overflow:hidden;isolation:isolate;padding:26px 0 30px;color:#fff;background-color:var(--red);background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 2px,transparent 2px 22px),radial-gradient(120% 120% at 15% 0%,#e8303c 0%,var(--red) 45%,#a3101a 100%);border-top:4px solid #cfd4da;border-bottom:4px solid #cfd4da}
.sbg__ghost{position:absolute;right:-.03em;bottom:-.22em;z-index:0;font-family:var(--font-display);font-style:italic;font-weight:900;font-size:clamp(160px,22vw,300px);line-height:1;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.18);pointer-events:none;user-select:none}
.sbg__cards{position:relative;z-index:1;display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:14px}
.sbg-card{display:block;position:relative;background:#fff;color:var(--gray-ink);text-decoration:none;transform:skewX(-8deg);box-shadow:6px 6px 0 rgba(90,6,12,.35);min-width:0;transition:transform .2s ease,box-shadow .2s ease}
.sbg-card:hover{transform:skewX(-8deg) translateY(-3px);box-shadow:8px 10px 0 rgba(90,6,12,.4)}
.sbg-card>*{display:block;transform:skewX(8deg)}
.sbg-card__st{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 -2px;padding:7px 18px 6px;background:#e6e9ec;color:var(--gray-body);font-family:var(--font-display);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transform:none}
.sbg-card__st>span{transform:skewX(8deg)}
.sbg-card__st span:first-child{overflow:hidden;text-overflow:ellipsis;min-width:0}
.sbg-card__st span:last-child{display:inline-flex;align-items:center;gap:6px;flex:none;color:var(--red)}
.sbg-card.is-live .sbg-card__st,.sbg-card.is-today .sbg-card__st{background:var(--red);color:#fff}
.sbg-card.is-live .sbg-card__st span:last-child,.sbg-card.is-today .sbg-card__st span:last-child{color:#fff}
.sbg-card__dot{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.6);animation:sbg-pulse 1.4s ease-out infinite}
@keyframes sbg-pulse{to{box-shadow:0 0 0 8px rgba(255,255,255,0)}}
.sbg-card__body{padding:12px 16px 14px 18px}
.sbg-card__tm{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:900;font-size:20px;line-height:1;text-transform:uppercase;letter-spacing:.01em;position:relative;padding:5px 0 5px 10px}
.sbg-card__tm::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;background:#e6e9ec}
.sbg-card__tm.is-lead::before{background:var(--red)}
.sbg-card__tm span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sbg-card__tm b{font-weight:900;font-size:34px;line-height:.9;flex:none;font-style:italic}
.sbg-card__tm.is-dim{color:#8a9097}
.sbg-card__tm.is-dim .sbg-card__c{opacity:.45}
.sbg-card__c{width:18px;height:18px;flex:none}
@media (max-width:1100px){.sbg__cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
.sbg__top{display:block;padding:18px 0 10px}
.sbg__tabs{margin-top:14px;gap:18px;overflow-x:auto;white-space:nowrap}
.sbg__tabs a{font-size:13px;padding:6px 0}
.sbg__strip{padding:20px 0 24px}
.sbg__ghost{font-size:140px}
.sbg__cards{display:flex;width:100%;max-width:none;margin:0;padding:0 var(--gutter) 8px;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;scrollbar-width:none}
.sbg__cards::-webkit-scrollbar{display:none}
.sbg-card{flex:0 0 74%;scroll-snap-align:start;transform:skewX(-6deg)}
.sbg-card:hover{transform:skewX(-6deg)}
.sbg-card>*{transform:skewX(6deg)}.sbg-card__st{transform:none}.sbg-card__st>span{transform:skewX(6deg)}
}

/* ---- Homepage pass (5.65.0): the postcard alone, stories on silver, Ask it anything on one line, the photo band on light. ---- */
.hpc--solo { padding: clamp(36px, 4.5vw, 56px) 0; }
.hpc--solo .hpc__grid { grid-template-columns: minmax(0, 860px); justify-content: center; }
.hpc--solo .hpc__card { transform: rotate(-.6deg); }
/* Redhounds in action, on silver: the photos carry the colour */
.nsx { color: var(--gray-ink); background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); border-top: 5px solid var(--red); }
.nsx::before { background: repeating-linear-gradient(115deg, rgba(255,255,255,.35) 0 2px, transparent 2px 22px); }
.nsx__ghost { -webkit-text-stroke: 3px rgba(206,26,39,.12); }
.nsx__k { background: var(--red); color: #fff; }
.nsx__title { color: var(--gray-ink); text-shadow: none; }
.nsx__all { background: var(--red); color: #fff; box-shadow: 5px 5px 0 #cfd4da; }
.nsx__all:hover { background: var(--gray-ink); color: #fff; }
.nsx-lead { border-color: #fff; box-shadow: 0 24px 50px rgba(60,64,70,.18); }
.nsx-card { border-color: #fff; box-shadow: 0 14px 28px rgba(60,64,70,.2); }
.nsx-card:hover { box-shadow: 0 0 0 3px var(--red), 0 20px 40px rgba(60,64,70,.25); }
/* Ask it anything: one line. The question types itself out, the answer follows, the button waits at the end. */
.hask2 { background: #fff; color: var(--gray-ink); padding: 16px 0 18px; border-top: 5px solid var(--red); border-bottom: 1px solid #cfd4da; overflow: visible; }
.hask2__photo, .hask2__grain, .hask2__ghost, .hask2__edge, .hask2__from, .hask2__dots, .hask2__lede { display: none; }
.hask2__inner { grid-template-columns: auto minmax(0, 1fr) auto; gap: 28px; align-items: center; }
.hask2__text { display: contents; }
.hask2__k { display: none; }
.hask2__title { grid-column: 1; grid-row: 1; margin: 0; font-size: 26px; line-height: .9; color: var(--red); white-space: nowrap; }
.hask2__btn { grid-column: 3; grid-row: 1; margin: 0; padding: 11px 18px; font-size: .85rem; white-space: nowrap; }
.hask2__demo { grid-column: 2; grid-row: 1; background: transparent; box-shadow: none; padding: 0; min-height: 44px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 0 28px; align-items: center; }
.hask2__q { padding: 0; border-bottom: 0; min-height: 0; font-size: 18px; line-height: 1.25; }
.hask2__prompt { font-size: 1.3em; }
.hask2__a { padding: 0; display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.hask2__h { display: inline; font-size: 16px; margin: 0; white-space: nowrap; color: var(--gray-ink); }
.hask2__p { margin: 0; font-size: 14px; line-height: 1.35; border-left: 3px solid var(--red); padding-left: 10px; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; min-width: 0; }
@media (max-width: 900px) { .hask2 { padding: 16px 0 18px; } .hask2__inner { grid-template-columns: 1fr; gap: 10px; } .hask2__title { grid-column: 1; grid-row: 1; font-size: 24px; } .hask2__demo { grid-column: 1; grid-row: 2; grid-template-columns: 1fr; gap: 6px; } .hask2__btn { grid-column: 1; grid-row: 3; justify-self: start; } .hask2__p { -webkit-line-clamp: 2; } }
/* the photo band, on light, when it returns */
.hphotos { color: var(--gray-ink); background: linear-gradient(180deg, #ffffff, #eef0f2); }
.hphotos::before, .hphotos::after { background-color: var(--red); background-image: repeating-linear-gradient(90deg, transparent 0 14px, rgba(255,255,255,.55) 14px 30px, transparent 30px 44px); }
.hphotos::before { border-bottom: 3px solid #fff; }
.hphotos__ghost { -webkit-text-stroke: 2px rgba(206,26,39,.12); }
.hphotos__head { border-bottom-color: #cfd4da; }
.hphotos__title { color: var(--gray-ink); }
.hphotos__count { color: var(--gray-meta); } .hphotos__count b { color: var(--gray-ink); }
.hphotos__all, .hphotos__all:hover { color: var(--red); }
.hphotos__foot { color: var(--gray-body); } .hphotos__foot a { color: var(--red); }
.hphoto-ask { background: #fff; outline: 1px dashed #b0b5bb; color: var(--gray-ink); } .hphoto-ask:hover, .hphoto-ask:focus-visible { background: #fff; outline-color: var(--red); color: var(--gray-ink); }
.hphotos[data-depth] .hphotos__edge { display: none; }

/* ---- The guest book beside the postcard (5.65.1): sign the card ---- */
.hpc--book .hpc__grid { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: stretch; }
.hpc__book { position: relative; display: flex; flex-direction: column; padding: 30px 32px 28px; background: #fff; color: #3a3f46; border-top: 10px solid #c9ccd1; box-shadow: 0 2px 0 #e6e0d2, 0 26px 50px rgba(60,10,18,.14); transform: rotate(-.8deg); background-image: repeating-linear-gradient(0deg, transparent 0 31px, rgba(34,51,92,.12) 31px 32px); background-position: 0 118px; }
.hpc__book:hover { transform: rotate(0deg); }
.hpc__bookh { margin: 10px 0 4px; font-size: clamp(1.6rem, 2.4vw, 2.2rem); line-height: 1.3; color: #22335c; transform: rotate(-1.5deg); }
.hpc__booklede { margin: 0 0 14px; font-family: var(--font-serif); font-size: .98rem; line-height: 1.5; color: #4a4f56; }
.hpc__signs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; flex: 1; align-content: start; }
.hpc__signs li { display: flex; align-items: baseline; gap: 8px; min-width: 0; min-height: 32px; line-height: 32px; transform: rotate(calc(-1.2deg + (var(--i, 0) * .37deg))); }
.hpc__signs li:nth-child(3n) { transform: rotate(1deg); } .hpc__signs li:nth-child(4n) { transform: rotate(-.4deg); }
.hpc__signs .hpc__hand { font-size: 1.15rem; color: #22335c; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hpc__signs a.hpc__hand:hover { color: var(--red); }
.hpc__signs small { font-family: var(--font-display); font-weight: 700; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: #8a9097; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 0 1 auto; }
.hpc__signs .hpc__hand { flex: 0 0 auto; max-width: 70%; }
.hpc__signs-more { grid-column: 1 / -1; } .hpc__signs-more small { font-size: .7rem; color: var(--red); }
.hpc__signs--empty .hpc__hand { color: rgba(34,51,92,.3); }
.hpc__sign-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 18px; padding-top: 16px; border-top: 2px solid #e6e9ec; }
.hpc__sign-row form { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.hpc__sign-row .hpc__btn { border: 0; cursor: pointer; font-size: .92rem; padding: 12px 20px; }
.hpc__signed { font-family: var(--font-display); font-weight: 900; font-style: italic; font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; color: var(--red); }
.hpc__unsign, .hpc__signin { background: none; border: 0; padding: 0; cursor: pointer; font-family: var(--font-display); font-weight: 700; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: #6b737c; text-decoration: underline; text-underline-offset: 3px; }
.hpc__unsign:hover, .hpc__signin:hover { color: var(--red); }
@media (max-width: 960px) { .hpc--book .hpc__grid { grid-template-columns: 1fr; } .hpc__book { transform: none; } }
@media (max-width: 640px) { .hpc__book { padding: 22px 20px; } .hpc__signs { grid-template-columns: 1fr; } }

/* ---- The postcard on the desk (5.65.2): the picture side fanned behind, a ticket under the corner, a rubber stamp across the top; the ask beside it ---- */
.hpc--desk { position: relative; overflow: hidden; isolation: isolate; padding: clamp(48px, 6vw, 80px) 0; background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); border-top: 5px solid var(--red); }
.hpc--desk::before { content: ""; position: absolute; inset: 0; z-index: -2; background: repeating-linear-gradient(115deg, rgba(255,255,255,.4) 0 2px, transparent 2px 22px); }
.hpc__ghost { position: absolute; z-index: -1; right: -.03em; top: 50%; transform: translateY(-50%); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(220px, 30vw, 460px); line-height: 1; color: transparent; -webkit-text-stroke: 3px rgba(206,26,39,.12); pointer-events: none; user-select: none; }
.hpc--desk .hpc__grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); gap: clamp(28px, 4vw, 56px); align-items: center; }
.hpc__ask { position: relative; z-index: 2; }
.hpc__title--ask { font-size: clamp(3.2rem, 6.4vw, 6rem); margin: 16px 0 14px; }
.hpc__acts { display: flex; flex-wrap: wrap; gap: 12px 14px; align-items: center; }
.hpc__btn { border: 0; cursor: pointer; display: inline-flex; align-items: center; gap: 10px; }
.hpc__btn .icon { width: 16px; height: 16px; }
.hpc__btn--line { background: transparent; color: var(--red); box-shadow: inset 0 0 0 3px var(--red); }
.hpc__sent[hidden] { display: none; }
.hpc__sent { display: block; margin-top: 12px; font-family: var(--font-display); font-weight: 700; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.hpc__desk { position: relative; min-height: 520px; padding: 40px 30px 60px 70px; }
.hpc--desk .hpc__card { position: relative; z-index: 3; transform: rotate(1.5deg); }
.hpc--desk .hpc__card:hover { transform: rotate(.6deg) translateY(-4px); }
/* the picture side, fanned behind */
.hpc__front { position: absolute; z-index: 1; left: -9%; right: 28%; top: -3%; bottom: 26%; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px 26px; background: var(--pic) center 35% / cover no-repeat #8a8f96; border: 10px solid #fbf8f1; box-shadow: 0 2px 0 #e6e0d2, 0 24px 50px rgba(60,10,18,.25); transform: rotate(-7deg); color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.5); }
.hpc__front::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.55) 100%); pointer-events: none; }
.hpc__front > * { position: relative; z-index: 1; }
.hpc__greet { font-family: "Homemade Apple", "Segoe Script", cursive; font-size: 1.3rem; line-height: 1; color: #fff; transform: rotate(-3deg); margin-left: 6px; }
.hpc__where { display: block; margin-top: 6px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.2rem, 3.6vw, 3.4rem); line-height: .86; letter-spacing: -.01em; text-transform: uppercase; color: #fff; -webkit-text-stroke: 1px rgba(206,26,39,.6); }
.hpc__front small { display: block; margin-top: 8px; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(255,255,255,.9); }
/* the rubber stamp across the top corner */
.hpc__rubber { position: absolute; z-index: 4; right: 2%; top: -6px; padding: 8px 16px; border: 4px solid rgba(206,26,39,.82); border-radius: 6px; transform: rotate(-11deg); font-family: var(--font-display); font-weight: 900; font-size: 1.5rem; line-height: .95; letter-spacing: .1em; text-transform: uppercase; text-align: center; color: rgba(206,26,39,.85); mix-blend-mode: multiply; pointer-events: none; -webkit-mask-image: radial-gradient(circle at 30% 40%, #000 55%, rgba(0,0,0,.55) 100%); mask-image: radial-gradient(circle at 30% 40%, #000 55%, rgba(0,0,0,.55) 100%); }
/* the ticket under the bottom corner */
.hpc__ticket { position: absolute; z-index: 2; left: -58px; bottom: -14px; width: 300px; padding: 12px 16px 12px 18px; background: #fff; color: var(--gray-ink); transform: rotate(-9deg); box-shadow: 0 10px 24px rgba(60,10,18,.2); border-left: 10px solid var(--red); -webkit-mask: radial-gradient(circle 7px at 10px 50%, transparent 98%, #000) -10px 0 / 100% 100% no-repeat, radial-gradient(circle 7px at 100% 50%, transparent 98%, #000); -webkit-mask-composite: source-in; mask: radial-gradient(circle 7px at 0 50%, transparent 98%, #000), radial-gradient(circle 7px at 100% 50%, transparent 98%, #000); mask-composite: intersect; background-image: repeating-linear-gradient(90deg, transparent 0 6px, rgba(0,0,0,.04) 6px 7px); }
.hpc__ticket > * { display: block; }
.hpc__ticket-k { font-family: var(--font-display); font-weight: 800; font-size: .62rem; letter-spacing: .26em; text-transform: uppercase; color: var(--red); }
.hpc__ticket b { margin-top: 3px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.15rem; line-height: 1; text-transform: uppercase; }
.hpc__ticket small { margin-top: 4px; font-family: var(--font-display); font-weight: 700; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gray-meta); }
.hpc__ticket em { margin-top: 6px; padding-top: 6px; border-top: 1px dashed #c9ccd1; font-style: normal; font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
@media (max-width: 960px) { .hpc--desk .hpc__grid { grid-template-columns: 1fr; } .hpc__desk { padding: 30px 10px 60px 10px; min-height: 0; } .hpc__front { right: 6%; bottom: 10%; transform: rotate(-4deg); } .hpc__ghost { font-size: 200px; top: 30%; } }
@media (max-width: 640px) { .hpc__front { display: none; } .hpc__desk { display: flex; flex-direction: column; padding: 20px 0 10px; } .hpc--desk .hpc__card { transform: none; order: 1; } .hpc__rubber { font-size: 1.1rem; right: 0; top: 6px; } .hpc__ticket { order: 2; position: relative; left: auto; bottom: auto; width: min(280px, 92%); margin: -14px 0 0 10px; transform: rotate(-3deg); } .hpc__title--ask { font-size: 3rem; } }

/* ---- Redhounds in action, clean (5.65.4): straight edges, white cards on silver, the photos do the work. No ghost, no numbers, no wash. ---- */
.nsx { padding: clamp(40px, 5vw, 64px) 0 clamp(44px, 5vw, 72px); }
.nsx__ghost { display: none; }
.nsx__head { margin-bottom: 22px; }
.nsx-lead { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); min-height: clamp(340px, 34vw, 460px); border: 0; background: #fff; box-shadow: 0 2px 0 #e6e9ec, 0 24px 50px rgba(60,64,70,.14); }
.nsx-lead__ph { clip-path: none; background: #e6e9ec; }
.nsx-lead__txt { margin-left: 0; clip-path: none; padding: clamp(28px, 3.4vw, 48px) clamp(28px, 3.4vw, 48px); gap: 14px; }
.nsx-lead__title { font-size: clamp(2rem, 3.3vw, 3.3rem); }
.nsx-lead:hover { box-shadow: 0 2px 0 #e6e9ec, 0 30px 60px rgba(60,64,70,.2); }
.nsx-row { gap: 18px; margin-top: 18px; }
.nsx-card, .nsx-card:hover { transform: none; min-height: 0; display: flex; flex-direction: column; overflow: hidden; border: 0; background: #fff; color: var(--gray-ink); box-shadow: 0 2px 0 #e6e9ec, 0 14px 30px rgba(60,64,70,.12); }
.nsx-card:hover { box-shadow: 0 2px 0 #e6e9ec, 0 20px 40px rgba(60,64,70,.18); transform: translateY(-3px); }
.nsx-card::after, .nsx-card__n { display: none; }
.nsx-card__img, .nsx-card:hover .nsx-card__img { position: relative; left: 0; right: 0; top: auto; bottom: auto; width: 100%; height: auto; aspect-ratio: 16 / 9; transform: none; object-fit: cover; }
.nsx-card:hover .nsx-card__img { transform: scale(1.03); }
.nsx-card__img--empty { aspect-ratio: 16 / 9; }
.nsx-card__body { position: relative; left: auto; right: auto; bottom: auto; transform: none; padding: 16px 18px 20px; gap: 8px; }
.nsx-card__k { background: var(--red); color: #fff; }
.nsx-card__title { color: var(--gray-ink); text-shadow: none; font-size: clamp(1.15rem, 1.5vw, 1.35rem); line-height: 1.02; }
.nsx-card:hover .nsx-card__title { color: var(--red); }
@media (max-width: 900px) { .nsx-lead { grid-template-columns: 1fr; min-height: 0; } .nsx-lead__ph { min-height: 220px; } .nsx-row { grid-template-columns: 1fr; gap: 14px; } .nsx-card { flex-direction: row; } .nsx-card__img, .nsx-card:hover .nsx-card__img { width: 38%; aspect-ratio: 4 / 3; flex: none; } .nsx-card__img--empty { width: 38%; } .nsx-card__body { padding: 12px 14px; } .nsx-card__title { font-size: 1rem; } }

/* ---- Redhounds in action, with some weight (5.65.5): the lead photo runs to the left edge of the page, the headline card sits on top of it, the next three carry their number. ---- */
.nsx { overflow-x: clip; }
.nsx-lead { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); min-height: 0; background: transparent; box-shadow: none; align-items: center; overflow: visible; }
.nsx-lead:hover { box-shadow: none; }
.nsx-lead__ph { position: relative; min-height: clamp(380px, 36vw, 520px); margin-left: calc(-1 * max((100vw - var(--container)) / 2, var(--gutter))); background: #cfd4da; box-shadow: 0 24px 50px rgba(60,64,70,.18); }
.nsx-lead__ph::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 8px; background: var(--red); }
.nsx-lead__txt { position: relative; z-index: 2; margin-left: -96px; align-self: center; background: #fff; border-left: 8px solid var(--red); box-shadow: 0 2px 0 #e6e9ec, 0 28px 56px rgba(60,64,70,.22); padding: clamp(30px, 3.4vw, 46px) clamp(30px, 3.4vw, 48px); gap: 14px; }
.nsx-lead__title { font-size: clamp(2.2rem, 3.6vw, 3.6rem); }
.nsx[data-depth] .nsx-lead__ph { transform: translateX(-48px); opacity: .6; transition: transform 1s cubic-bezier(.22,.61,.21,1), opacity .9s ease; }
.nsx[data-depth] .nsx-lead__txt { transform: translateX(40px); opacity: 0; transition: transform 1s cubic-bezier(.22,.61,.21,1) .15s, opacity .8s ease .15s; }
.nsx[data-depth].is-in .nsx-lead__ph, .nsx[data-depth].is-in .nsx-lead__txt { transform: none; opacity: 1; }
.nsx-row { margin-top: 28px; }
.nsx-card { position: relative; }
.nsx-card__n { display: block; position: absolute; z-index: 2; left: 14px; top: 6px; right: auto; transform: none; font-size: 4.2rem; color: transparent; -webkit-text-stroke: 2px #fff; text-shadow: none; pointer-events: none; }
.nsx-card__img, .nsx-card:hover .nsx-card__img { aspect-ratio: 16 / 10; }
.nsx-card::after { display: block; content: ""; position: absolute; left: 0; right: 0; top: 0; aspect-ratio: 16 / 10; background: linear-gradient(180deg, rgba(14,16,19,.35) 0%, rgba(14,16,19,0) 45%); pointer-events: none; }
.nsx-card__body { padding: 18px 20px 22px; border-top: 4px solid var(--red); }
@media (max-width: 900px) { .nsx-lead { grid-template-columns: 1fr; } .nsx-lead__ph { margin: 0 calc(-1 * var(--gutter)); min-height: 240px; box-shadow: none; } .nsx-lead__ph::after { display: none; } .nsx-lead__txt { margin: -28px 0 0; border-left-width: 6px; padding: 22px 22px 24px; } .nsx[data-depth] .nsx-lead__ph, .nsx[data-depth] .nsx-lead__txt { transform: none; opacity: 1; } .nsx-card__n { display: none; } .nsx-card::after { display: none; } .nsx-card__body { border-top: 0; border-left: 4px solid var(--red); } }
@media (prefers-reduced-motion: reduce) { .nsx[data-depth] .nsx-lead__ph, .nsx[data-depth] .nsx-lead__txt { transform: none; opacity: 1; transition: none; } }

/* ---- Redhounds in action, the sports page (5.66.0): the top story on its photo, the headline list beside it, three photo cards with the headline on the picture ---- */
.nsx--espn { padding: clamp(36px, 4.6vw, 56px) 0 clamp(40px, 4.6vw, 64px); }
.nsx--espn .nsx__head { margin-bottom: 18px; }
.nsx__top { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(300px, 1fr); gap: 16px; align-items: stretch; }
.nsx-hero { position: relative; display: block; overflow: hidden; min-height: clamp(360px, 36vw, 520px); background: #2b3036; color: #fff; text-decoration: none; box-shadow: 0 2px 0 #e6e9ec, 0 22px 44px rgba(60,64,70,.2); }
.nsx-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center 30%; transition: transform .8s ease; display: block; }
.nsx-hero:hover .nsx-hero__img { transform: scale(1.04); }
.nsx-hero__img--empty { background: var(--corbin-mark-white, none) center / 40% no-repeat, radial-gradient(120% 120% at 15% 0%, #e8303c, var(--red) 55%, #a8141f); }
.nsx-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,16,19,0) 30%, rgba(14,16,19,.45) 58%, rgba(14,16,19,.92) 100%); pointer-events: none; }
.nsx-hero::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 8px; background: var(--red); z-index: 2; }
.nsx-hero__body { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: clamp(22px, 3vw, 40px) clamp(24px, 3vw, 44px); }
.nsx-hero__title { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2rem, 3.8vw, 3.9rem); line-height: .88; letter-spacing: -.01em; text-transform: uppercase; color: #fff; text-shadow: 0 4px 18px rgba(0,0,0,.45); max-width: 18ch; }
.nsx-hero__deck { font-family: var(--font-serif); font-size: clamp(.98rem, 1.2vw, 1.1rem); line-height: 1.45; color: rgba(255,255,255,.88); max-width: 58ch; }
.nsx-hero__meta { font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.nsx-hero:hover .nsx-hero__meta { color: #fff; }
.nsx-heads { display: flex; flex-direction: column; background: #fff; box-shadow: 0 2px 0 #e6e9ec, 0 14px 30px rgba(60,64,70,.12); border-top: 6px solid var(--red); padding: 18px 22px 20px; }
.nsx-heads__h { margin: 0 0 6px; font-family: var(--font-display); font-weight: 900; font-size: 1rem; letter-spacing: .16em; text-transform: uppercase; color: var(--gray-ink); }
.nsx-heads__list { list-style: none; margin: 0; padding: 0; flex: 1; }
.nsx-heads__list li { border-top: 1px solid #e6e9ec; }
.nsx-heads__list a { display: block; padding: 11px 0 10px 16px; position: relative; color: var(--gray-ink); text-decoration: none; }
.nsx-heads__list a::before { content: ""; position: absolute; left: 0; top: 17px; width: 7px; height: 7px; background: var(--red); transform: skewX(-12deg); }
.nsx-heads__list a span { display: block; font-family: var(--font-display); font-weight: 800; font-size: 1.05rem; line-height: 1.08; letter-spacing: .005em; }
.nsx-heads__list a small { display: block; margin-top: 4px; font-family: var(--font-display); font-weight: 700; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gray-meta); }
.nsx-heads__list a:hover span { color: var(--red); }
.nsx-heads__all { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 2px solid var(--gray-ink); font-family: var(--font-display); font-weight: 900; font-style: italic; font-size: .9rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red); text-decoration: none; }
.nsx-heads__all .icon { width: 16px; height: 16px; }
.nsx--espn .nsx__all { display: none; }
.nsx--espn .nsx-row { gap: 16px; margin-top: 16px; }
.nsx--espn .nsx-card, .nsx--espn .nsx-card:hover { display: block; position: relative; min-height: 0; aspect-ratio: 16 / 10; overflow: hidden; background: #2b3036; color: #fff; border: 0; box-shadow: 0 2px 0 #e6e9ec, 0 14px 30px rgba(60,64,70,.14); transform: none; }
.nsx--espn .nsx-card:hover { transform: translateY(-3px); }
.nsx--espn .nsx-card__img, .nsx--espn .nsx-card:hover .nsx-card__img { position: absolute; inset: 0; left: 0; right: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; transform: none; transition: transform .7s ease; }
.nsx--espn .nsx-card:hover .nsx-card__img { transform: scale(1.05); }
.nsx--espn .nsx-card::after { display: block; content: ""; position: absolute; inset: 0; top: auto; height: 75%; aspect-ratio: auto; background: linear-gradient(180deg, rgba(14,16,19,0) 0%, rgba(14,16,19,.55) 45%, rgba(14,16,19,.95) 100%); }
.nsx--espn .nsx-card__body { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; transform: none; padding: 16px 18px 18px; gap: 8px; border: 0; }
.nsx--espn .nsx-card__k { background: var(--red); color: #fff; }
.nsx--espn .nsx-card__title { color: #fff; text-shadow: 0 3px 12px rgba(0,0,0,.5); font-size: clamp(1.15rem, 1.5vw, 1.4rem); line-height: 1; }
.nsx--espn .nsx-card:hover .nsx-card__title { color: #fff; }
.nsx-card__d { font-family: var(--font-display); font-weight: 700; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.nsx--espn .nsx-card__n { display: none; }
@media (max-width: 1000px) { .nsx__top { grid-template-columns: 1fr; } .nsx-hero { min-height: 300px; } .nsx-heads__list li:nth-child(n+6) { display: none; } }
@media (max-width: 900px) { .nsx--espn .nsx-row { grid-template-columns: 1fr; gap: 12px; } .nsx--espn .nsx-card, .nsx--espn .nsx-card:hover { aspect-ratio: 16 / 9; flex-direction: column; } .nsx--espn .nsx-card__img, .nsx--espn .nsx-card:hover .nsx-card__img { width: 100%; aspect-ratio: auto; } .nsx--espn .nsx-card__body { border: 0; padding: 14px 16px 16px; } }

/* 5.66.1: the news title in the postcard's colours */
.nsx--espn .nsx__title { color: #3a3f46; }
.nsx--espn .nsx__title span { color: var(--red); }

/* ---- Game Week, cinematic (5.67.0): the field at night, Corbin in red, the opponent in white, the countdown in red tiles, the facts as white plates. ---- */
.gameweek.gameweek--white.gameweek--photo.gameweek--cine { background: #0e1013; color: #fff; }
.gameweek--cine .gameweek__photo { filter: saturate(.95) contrast(1.05); opacity: 1; }
.gameweek--cine .gameweek__wash { background: linear-gradient(90deg, rgba(14,16,19,.94) 0%, rgba(14,16,19,.78) 42%, rgba(14,16,19,.3) 100%), linear-gradient(0deg, rgba(14,16,19,.92) 0%, rgba(14,16,19,0) 45%); }
.gameweek--cine .gameweek__slash { display: none; }
.gameweek.gameweek--white.gameweek--cine::before { content: ""; display: block; position: absolute; left: 0; right: auto; top: 0; bottom: 0; width: 10px; height: auto; background: var(--red); transform: none; clip-path: none; z-index: 2; }
.gameweek--cine .gameweek__day { -webkit-text-stroke: 2px rgba(255,255,255,.06); }
.gameweek--cine .gameweek__inner { padding-top: clamp(56px, 6vw, 84px); padding-bottom: clamp(48px, 5vw, 72px); min-height: 680px; }
.gameweek--cine .gameweek__label { background: var(--red); color: #fff; box-shadow: 5px 5px 0 rgba(0,0,0,.4); }
.gameweek--cine .gameweek__vs { color: #fff; font-size: clamp(3.4rem, 8.4vw, 7.5rem); line-height: .84; text-shadow: 0 6px 30px rgba(0,0,0,.5); }
.gameweek--cine .gameweek__vs .gameweek__c, .gameweek--white.gameweek--cine .gameweek__c { color: var(--red-display); }
.gameweek--white.gameweek--cine .gameweek__vs em { display: block; font-size: .3em; letter-spacing: .22em; color: rgba(255,255,255,.65); margin: 10px 0 6px; vertical-align: baseline; }
.gameweek--cine .gameweek__o { color: #fff; }
.gameweek--cine .gameweek__score b { color: #fff; } .gameweek--cine .gameweek__score:first-child b { color: var(--red-display); }
.gameweek--cine .gameweek__meta { color: rgba(255,255,255,.85); font-family: var(--font-display); font-weight: 800; font-size: .9rem; letter-spacing: .14em; text-transform: uppercase; }
.gameweek--cine .countdown__unit { background: var(--red); box-shadow: 6px 6px 0 rgba(0,0,0,.45); min-width: 92px; padding: 16px 12px 14px; }
.gameweek--cine .countdown__unit b { color: #fff; } .gameweek--cine .countdown__unit span { color: rgba(255,255,255,.85); }
.gameweek--cine .countdown__to { color: #fff; }
.gameweek--cine .gameweek__fact { background: #fff; color: var(--gray-ink); border-left: 0; transform: skewX(-8deg); box-shadow: 6px 6px 0 rgba(0,0,0,.45); padding: 18px 24px; backdrop-filter: none; }
.gameweek--cine .gameweek__fact > * { transform: skewX(8deg); display: block; }
.gameweek--cine .gameweek__fact b { color: var(--gray-ink); font-size: clamp(1.8rem, 2.6vw, 2.5rem); line-height: .9; }
.gameweek--cine .gameweek__fact span { color: var(--gray-meta); }
.gameweek--cine .gameweek__fact:nth-child(even) { margin-left: 36px; }
.gameweek--cine .gameweek__fact:hover { background: var(--red); color: #fff; } .gameweek--cine .gameweek__fact:hover b, .gameweek--cine .gameweek__fact:hover span { color: #fff; }
.gameweek--cine .gameweek__verdict { color: #fff; }
.gameweek--cine .gameweek__final { background: #fff; color: var(--gray-ink); box-shadow: 8px 8px 0 rgba(0,0,0,.45); }
.gameweek--cine .gameweek__next { color: rgba(255,255,255,.85); } .gameweek--cine .gameweek__next .kicker { color: var(--red-display); }
#gameweek.gameweek--cine .radio, #gameweek.gameweek--cine .addcal__summary { border-color: rgba(255,255,255,.6); color: #fff; box-shadow: 4px 4px 0 rgba(0,0,0,.35); background: rgba(14,16,19,.4); }
#gameweek.gameweek--cine .radio:not(.is-on) .radio__state, #gameweek.gameweek--cine .radio:not(.is-on) .radio__station, #gameweek.gameweek--cine .addcal__summary * { color: #fff; }
#gameweek.gameweek--cine .radio:not(.is-on) .radio__state { color: rgba(255,255,255,.6); }
#gameweek.gameweek--cine .radio:hover, #gameweek.gameweek--cine .addcal__summary:hover { background: #fff; border-color: #fff; } #gameweek.gameweek--cine .radio:hover *, #gameweek.gameweek--cine .addcal__summary:hover * { color: var(--red); }
@media (max-width: 1023px) { .gameweek--cine .gameweek__photo { bottom: 0; height: auto; -webkit-mask-image: none; mask-image: none; } .gameweek--cine .gameweek__wash { background: linear-gradient(180deg, rgba(14,16,19,.55) 0%, rgba(14,16,19,.88) 40%, rgba(14,16,19,.96) 100%); } .gameweek.gameweek--white.gameweek--photo.gameweek--cine { background: #0e1013; } .gameweek--cine .gameweek__inner { min-height: 0; padding-top: 48px; } .gameweek--cine .gameweek__fact:nth-child(even) { margin-left: 0; } .gameweek--cine .gameweek__vs { font-size: 3.2rem; } }
@media (max-width: 600px) { .gameweek--cine .countdown__unit { min-width: 0; box-shadow: 4px 4px 0 rgba(0,0,0,.45); } .gameweek--cine .gameweek__fact { transform: none; } .gameweek--cine .gameweek__fact > * { transform: none; } }

/* the optically brightened red for large type on dark, for bundles built before it existed */
:root { --red-display: #d4192b; }

/* ---- The locker pitch, cinematic (5.67.0): the photo in full, red over it, the ask in three steps ---- */
.jpx--cine { background: #2a0608; padding: clamp(56px, 7vw, 96px) 0; min-height: 700px; display: flex; align-items: center; }
.jpx--cine::before { mix-blend-mode: normal; opacity: 1; filter: none; background-position: var(--jpx-x, 100%) var(--jpx-y, 20%); }
.jpx--cine::after { background: linear-gradient(90deg, rgba(120,8,14,.9) 0%, rgba(206,26,39,.66) 48%, rgba(140,10,16,.42) 100%), repeating-linear-gradient(115deg, rgba(255,255,255,.04) 0 2px, transparent 2px 22px); mix-blend-mode: multiply; }
.jpx--cine .jpx__ghost { font-size: clamp(200px, 28vw, 380px); bottom: -.22em; -webkit-text-stroke: 2px rgba(255,255,255,.13); z-index: 0; }
.jpx--cine .jpx__grid { position: relative; z-index: 1; grid-template-columns: minmax(0, 1.3fr) 360px; gap: clamp(32px, 5vw, 72px); }
.jpx--cine .jpx__title { font-size: clamp(3.2rem, 7.2vw, 6.6rem); line-height: .82; margin: 18px 0 16px; text-shadow: 0 8px 30px rgba(0,0,0,.35); }
.jpx--cine .jpx__lede { font-size: clamp(1.05rem, 1.4vw, 1.25rem); max-width: 40rem; margin-bottom: 26px; }
.jpx__steps { list-style: none; margin: 0 0 30px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; max-width: 760px; }
.jpx__steps li { border-top: 4px solid #fff; padding-top: 12px; }
.jpx__steps b { display: block; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 2.4rem; line-height: 1; color: #fff; opacity: .9; }
.jpx__steps strong { display: block; margin: 6px 0 4px; font-family: var(--font-display); font-weight: 900; font-size: 1.3rem; line-height: 1; text-transform: uppercase; }
.jpx__steps span { display: block; font-family: var(--font-serif); font-size: .95rem; line-height: 1.45; color: rgba(255,255,255,.9); }
.jpx--cine .jpx__btn { font-size: 1.15rem; padding: 18px 30px; box-shadow: 6px 6px 0 rgba(0,0,0,.35); }
.jpx--cine .jpx__btn--line { box-shadow: none; }
.jpx--cine .jpx__nums { margin-top: 26px; }
.jpx--cine .jpx__nums div { background: rgba(0,0,0,.28); border-color: rgba(255,255,255,.3); }
.jpx--cine .jpx__perks { display: none; }
.jpx--cine .jpx__side { align-items: stretch; }
.jpx--cine .jpx-door { min-height: 470px; transform: translateX(50px); opacity: 0; transition: transform 1s cubic-bezier(.22,.61,.21,1) .15s, opacity .8s ease .15s, box-shadow .3s; }
.jpx--cine.is-in .jpx-door { transform: none; opacity: 1; }
.jpx--cine.is-in .jpx-door:hover { transform: translateY(-4px) rotate(-.5deg); }
@media (max-width: 1000px) { .jpx--cine { min-height: 0; } .jpx--cine .jpx__grid { grid-template-columns: 1fr; } .jpx--cine .jpx-door { transform: none; opacity: 1; min-height: 0; } .jpx__steps { max-width: none; } }
@media (max-width: 640px) { .jpx__steps { grid-template-columns: 1fr; gap: 12px; } .jpx__steps li { border-top: 0; border-left: 4px solid #fff; padding: 2px 0 2px 14px; } .jpx__steps b { font-size: 1.4rem; display: inline; margin-right: 8px; } .jpx__steps strong { display: inline; } .jpx--cine .jpx__title { font-size: 3rem; } .jpx--cine .jpx__btn { font-size: 1rem; padding: 14px 22px; } }
@media (prefers-reduced-motion: reduce) { .jpx--cine .jpx-door { transform: none; opacity: 1; transition: none; } }

.jpx-door__on { display: block; margin-top: auto; padding: 12px 16px; transform: skewX(-8deg); background: #fff; border-left: 5px solid var(--red); } .jpx-door__on > * { display: block; transform: skewX(8deg); } .jpx-door__on em { font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); } .jpx-door__on b { margin-top: 4px; font-family: var(--font-display); font-weight: 900; font-size: 1rem; line-height: 1.15; text-transform: uppercase; color: #2b3036; }
.jpx--cine .jpx-door__recent { margin-top: 10px; }

/* ---- By the numbers, on red (5.67.0) ---- */
.numstrip.numstrip--red { position: relative; overflow: hidden; isolation: isolate; color: #fff; background-color: var(--red); background-image: repeating-linear-gradient(115deg, rgba(255,255,255,.06) 0 2px, transparent 2px 22px), radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #a3101a 100%); border: 0; }
.numstrip--red .numstrip__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 18px clamp(24px, 3.2vw, 48px); padding-block: clamp(32px, 4vw, 44px); }
.numstrip--red .numstrip__lead { border-right-color: rgba(255,255,255,.4); gap: 8px; padding-right: clamp(20px, 2.5vw, 36px); }
.numstrip--red .numstrip__lead-kicker { display: inline-block; align-self: flex-start; padding: 4px 10px; transform: skewX(-12deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .72rem; letter-spacing: .16em; }
.numstrip--red .numstrip__lead-title { color: #fff; font-style: italic; font-size: 1.7rem; }
.numstrip--red .numstrip__item { padding: 0; border: 0; gap: 4px; }
.numstrip--red .numstrip__item b { color: #fff; font-size: clamp(2.4rem, 3.6vw, 3.6rem); white-space: nowrap; }
.numstrip--red .numstrip__item span { color: rgba(255,255,255,.82); font-size: .72rem; letter-spacing: .18em; font-weight: 800; }
.numstrip--red .numstrip__item:hover b { color: #fff; }
.numstrip--red .numstrip__more { margin: 0 0 0 auto; background: #fff; color: var(--red); border-color: #fff; transform: skewX(-12deg); } .numstrip--red .numstrip__more > * { display: inline-block; transform: skewX(12deg); } .numstrip--red .numstrip__more:hover { background: var(--gray-ink); border-color: var(--gray-ink); color: #fff; }
.numstrip--red .numstrip__ghost { display: none; }
.numstrip--red::after { content: "1923"; position: absolute; z-index: -1; right: -.04em; bottom: -.28em; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(160px, 20vw, 300px); line-height: 1; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.14); pointer-events: none; }
@media (max-width: 900px) { .numstrip--red .numstrip__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; } .numstrip--red .numstrip__lead { grid-column: 1 / -1; border-right: 0; padding-right: 0; } .numstrip--red .numstrip__more { grid-column: 1 / -1; justify-self: start; margin: 4px 0 0; } }

/* ---- Legend of the week, cinematic (5.67.0): the portrait as a full-height cut, name set huge, stats as numbers, ghost year ---- */
.spotlight--cine { background: #fff; border-top: 0; padding: 0; }
.spotlight--cine .spotlight__grid { width: auto; max-width: none; margin: 0; }
.spotlight--cine .lgx { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); min-height: 640px; box-shadow: none; background: #fff; overflow: visible; }
.spotlight--cine .lgx__photo { min-height: 640px; margin: 0; clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%); box-shadow: none; z-index: 1; }
.spotlight--cine .lgx__photo img { object-position: center 20%; filter: grayscale(1) contrast(1.15); }
.spotlight--cine .lgx__photo::before { background: linear-gradient(0deg, rgba(206,26,39,.55) 0%, rgba(206,26,39,0) 55%); }
.spotlight--cine .lgx__slash { display: none; }
.spotlight--cine .lgx__stamp { left: auto; right: 24%; top: 28px; bottom: auto; width: 120px; }
.spotlight--cine .lgx__photo::after { content: attr(data-year); position: absolute; z-index: 2; left: 10px; bottom: -.18em; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(140px, 18vw, 260px); line-height: 1; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.4); pointer-events: none; }
.spotlight--cine .lgx__ghost { right: -.03em; bottom: -.18em; font-size: clamp(160px, 20vw, 300px); -webkit-text-stroke: 2px rgba(206,26,39,.08); }
.spotlight--cine .lgx__body { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(40px, 5vw, 72px) clamp(32px, 5vw, 64px) clamp(40px, 5vw, 72px) clamp(20px, 3vw, 40px); }
.spotlight--cine .lgx__kicker { padding: 7px 14px; font-size: .8rem; transform: skewX(-12deg); font-style: italic; }
.spotlight--cine .lgx__name { display: block; margin: 18px 0 0; line-height: .8; }
.spotlight--cine .lgx__name span { display: block; font-size: clamp(3.4rem, 6.4vw, 6.4rem); color: #3a3f46; font-style: italic; }
.spotlight--cine .lgx__name b { display: block; font-size: clamp(4.4rem, 8.4vw, 8.4rem); color: var(--red); font-style: italic; }
.spotlight--cine .lgx__role { margin-top: 14px; font-size: clamp(.9rem, 1.1vw, 1rem); letter-spacing: .18em; color: #2b3036; }
.spotlight--cine .lgx__quote { margin: 16px 0 0; padding-left: 0; font-size: clamp(1.05rem, 1.4vw, 1.25rem); line-height: 1.5; color: #4a4f56; max-width: 34rem; }
.spotlight--cine .lgx__quote::before { display: none; }
.spotlight--cine .lgx__stats { display: flex; flex-wrap: wrap; gap: 22px 44px; margin-top: 26px; }
.spotlight--cine .lgx__stat { padding: 0; background: transparent; border: 0; }
.spotlight--cine .lgx__stat b { font-size: clamp(3rem, 4.6vw, 4.4rem); font-style: italic; line-height: .9; }
.spotlight--cine .lgx__stat span { font-size: .7rem; letter-spacing: .18em; color: #6b737c; max-width: 16ch; }
.spotlight--cine .lgx__tags { display: none; }
.spotlight--cine .lgx__actions { margin-top: 30px; gap: 12px 18px; }
.spotlight--cine .lgx__go { padding: 14px 24px; font-size: .95rem; transform: skewX(-12deg); } .spotlight--cine .lgx__go > * { display: inline-block; transform: skewX(12deg); }
.spotlight--cine .lgx__all { font-size: .9rem; }
.spotlight--x.spotlight--cine[data-depth] .lgx__photo { margin: 0; transform: translateX(-44px); clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%); opacity: .6; transition: transform 1s cubic-bezier(.22,.61,.21,1), opacity .9s ease; }
.spotlight--x.spotlight--cine[data-depth].is-in .lgx__photo { transform: none; opacity: 1; clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%); }
@media (max-width: 900px) { .spotlight--cine .lgx { min-height: 0; grid-template-columns: 1fr; } .spotlight--cine .lgx__photo { min-height: 360px; clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%); } .spotlight--x.spotlight--cine[data-depth] .lgx__photo, .spotlight--x.spotlight--cine[data-depth].is-in .lgx__photo { clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%); transform: none; opacity: 1; } .spotlight--cine .lgx__stamp { right: 16px; top: 16px; bottom: auto; width: 96px; } .spotlight--cine .lgx__body { padding: 24px var(--gutter) 40px; } .spotlight--cine .lgx__name span { font-size: 2.8rem; } .spotlight--cine .lgx__name b { font-size: 3.8rem; } .spotlight--cine .lgx__stats { gap: 14px 28px; } .spotlight--cine .lgx__stat b { font-size: 2.4rem; } }

/* ---- The closer (5.67.2): the field, the line set huge, the ask under it. No handwriting. ---- */
.panorama.panorama--closer { aspect-ratio: auto; min-height: 480px; max-height: none; display: flex; align-items: flex-end; background: #0e1013; border-bottom: 6px solid var(--red); }
.panorama--closer .panorama__media, .panorama--closer .panorama__media__img { object-position: center 45%; }
.panorama--closer .panorama__overlay { background: linear-gradient(90deg, rgba(14,16,19,.92) 0%, rgba(14,16,19,.7) 45%, rgba(14,16,19,.25) 100%), linear-gradient(0deg, rgba(14,16,19,.95) 0%, rgba(14,16,19,.4) 50%, rgba(14,16,19,.1) 100%); }
.panorama--closer::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 10px; background: var(--red); z-index: 2; }
.panorama--closer .panorama__inner { height: auto; width: min(var(--container), calc(100% - 2 * var(--gutter))); display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; text-align: left; padding: 80px 0 48px; }
.panorama__k { display: inline-block; padding: 6px 12px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; }
.panorama__hand { display: none; }
.panorama__ask { margin: 16px 0 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.8rem, 6.4vw, 5.8rem); line-height: .8; letter-spacing: -.03em; text-transform: uppercase; color: #fff; text-shadow: 0 10px 40px rgba(0,0,0,.55); }
.panorama__ask span { color: var(--red-display); }
.panorama__sub { margin: 16px 0 0; max-width: 40rem; font-family: var(--font-display); font-weight: 800; font-size: clamp(1rem, 1.3vw, 1.15rem); line-height: 1.2; letter-spacing: .04em; text-transform: uppercase; color: rgba(255,255,255,.9); }
.panorama__acts { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 12px; margin-top: 22px; }
.panorama__btn { display: inline-block; padding: 14px 24px; transform: skewX(-12deg); background: #fff; color: var(--red); border: 2px solid #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; box-shadow: 6px 6px 0 rgba(0,0,0,.45); }
.panorama__btn:hover { background: var(--red); border-color: var(--red); color: #fff; }
.panorama__btn--line { background: transparent; color: #fff; box-shadow: none; } .panorama__btn--line:hover { background: #fff; border-color: #fff; color: var(--red); }
.panorama__line { display: none; }
@media (max-width: 767px) { .panorama.panorama--closer { min-height: 420px; } .panorama--closer .panorama__inner { padding: 70px 0 36px; } .panorama__ask { font-size: 2.8rem; } .panorama__sub { font-size: 1rem; } .panorama__btn { font-size: 1rem; padding: 14px 22px; } }

/* ---- Redhounds in action, cinematic (5.67.1): the top story full-bleed and dark, the headline rail floating on it, the next three as photo cards along the bottom ---- */
.nsx.nsx--espn { position: relative; overflow: hidden; isolation: isolate; background: #0e1013; color: #fff; border-top: 0; padding: 0; }
.nsx--espn::before { display: none; }
.nsx--espn .nsx__head { position: absolute; z-index: 3; left: 0; right: 0; top: clamp(28px, 3.4vw, 44px); margin: 0; width: min(var(--container), calc(100% - 2 * var(--gutter))); margin-inline: auto; pointer-events: none; }
.nsx--espn .nsx__head > div, .nsx--espn .nsx__all { pointer-events: auto; }
.nsx--espn .nsx__title { color: #fff; text-shadow: 0 6px 24px rgba(0,0,0,.5); } .nsx--espn .nsx__title span { color: var(--red-display); }
.nsx--espn .nsx__all { display: inline-block; background: #fff; color: var(--red); box-shadow: 5px 5px 0 rgba(0,0,0,.4); }
.nsx--espn .nsx__top { display: block; }
.nsx--espn .nsx-hero { min-height: clamp(560px, 56vw, 760px); box-shadow: none; background: #0e1013; }
.nsx--espn .nsx-hero::before { width: 10px; }
.nsx--espn .nsx-hero::after { background: linear-gradient(90deg, rgba(14,16,19,.9) 0%, rgba(14,16,19,.6) 40%, rgba(14,16,19,.2) 70%, rgba(14,16,19,.55) 100%), linear-gradient(0deg, rgba(14,16,19,.96) 0%, rgba(14,16,19,.5) 32%, rgba(14,16,19,0) 60%); }
.nsx--espn .nsx-hero__img { object-position: center 25%; }
.nsx--espn .nsx-hero__body { left: 0; right: 0; bottom: 0; width: min(var(--container), calc(100% - 2 * var(--gutter))); margin-inline: auto; padding: 0 0 clamp(110px, 10vw, 130px); max-width: none; }
.nsx--espn .nsx-hero__body > * { max-width: 60%; }
.nsx--espn .nsx-hero__title { font-size: clamp(2.4rem, 4.6vw, 4.8rem); max-width: 16ch; }
.nsx--espn .nsx-heads { position: absolute; z-index: 3; right: max(var(--gutter), calc((100% - var(--container)) / 2)); top: clamp(120px, 12vw, 150px); width: min(380px, 34%); background: rgba(255,255,255,.96); backdrop-filter: blur(6px); box-shadow: 0 30px 60px rgba(0,0,0,.45); border-top: 6px solid var(--red); padding: 16px 20px 18px; }
.nsx--espn .nsx-heads__list li:nth-child(n+6) { display: none; }
.nsx--espn .nsx-heads__list a { padding: 9px 0 8px 16px; } .nsx--espn .nsx-heads__list a span { font-size: 1rem; }
.nsx--espn .nsx-row { position: relative; z-index: 2; width: min(var(--container), calc(100% - 2 * var(--gutter))); margin: -70px auto 0; padding-bottom: clamp(40px, 4.6vw, 64px); }
.nsx--espn .nsx-row { gap: 16px; }
.nsx--espn .nsx-card, .nsx--espn .nsx-card:hover { box-shadow: 0 24px 50px rgba(0,0,0,.5); outline: 1px solid rgba(255,255,255,.12); outline-offset: -1px; }
.nsx--espn.nsx--espn > .container { width: 100%; max-width: none; margin: 0; }
.nsx[data-depth] .nsx-heads { transform: translateX(40px); opacity: 0; transition: transform 1s cubic-bezier(.22,.61,.21,1) .15s, opacity .8s ease .15s; }
.nsx[data-depth].is-in .nsx-heads { transform: none; opacity: 1; }
@media (max-width: 1000px) {
.nsx--espn .nsx__head { position: static; width: min(var(--container), calc(100% - 2 * var(--gutter))); padding: 26px 0 16px; }
.nsx--espn .nsx-hero { min-height: 420px; }
.nsx--espn .nsx-hero__body > * { max-width: none; }
.nsx--espn .nsx-heads { position: relative; right: auto; top: auto; width: min(var(--container), calc(100% - 2 * var(--gutter))); margin: 16px auto 0; transform: none; opacity: 1; }
.nsx--espn .nsx-row { margin-top: 16px; }
}
@media (max-width: 900px) { .nsx--espn .nsx-hero { min-height: 360px; } .nsx--espn .nsx-hero__title { font-size: 2.1rem; } .nsx--espn .nsx-heads { padding: 14px 16px 16px; } }
@media (prefers-reduced-motion: reduce) { .nsx[data-depth] .nsx-heads { transform: none; opacity: 1; transition: none; } }

/* ---- Under the closer (5.67.5): the radio strip and the quick links on the same dark, one clean break into the footer ---- */
.panorama.panorama--closer { border-bottom: 0; }
.promo--strip { background: #15181c; color: #fff; border-top: 1px solid rgba(255,255,255,.1); }
.promo--strip .promo__inner { padding-block: 14px; gap: 12px 22px; }
.promo--strip .promo__label { color: rgba(255,255,255,.55); }
.promo--strip .promo__thumb { width: 104px; }
.promo--strip .promo__sponsor { font-size: 1rem; color: #fff; }
.promo--strip .promo__headline { font-family: var(--font-display); font-weight: 700; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.promo--strip .btn { background: var(--red); border-color: var(--red); color: #fff; } .promo--strip .btn:hover { background: #fff; border-color: #fff; color: var(--red); }
.hfoot-join { border-top: 1px solid rgba(255,255,255,.1); }
.footer-seo { background: #15181c; border-top: 1px solid rgba(255,255,255,.1); }
.footer-seo__inner { padding-block: 10px 14px; gap: 6px 16px; }
.footer-seo__kicker { color: var(--red-display); }
.footer-seo a { color: rgba(255,255,255,.55); } .footer-seo a:hover { color: #fff; }
.site-footer { border-top: 6px solid var(--red); }
.home .hfoot-join { display: none; } /* the closer already asks on the homepage */

/* ---- Your Redhound story · Your Redhound card (5.68.0): silver band, two halves ---- */
.rsc { position: relative; overflow: hidden; padding: clamp(44px, 5vw, 64px) 0 clamp(44px, 5vw, 64px); color: var(--gray-ink); background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); border-top: 6px solid var(--red); }
.rsc::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(115deg, rgba(255,255,255,.4) 0 2px, transparent 2px 22px); pointer-events: none; }
.rsc > .container { position: relative; }
.rsc__head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px 48px; align-items: end; margin-bottom: 26px; }
.rsc__k { display: inline-block; padding: 5px 12px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; }
.rsc__title { margin: 12px 0 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.4rem, 4.6vw, 4rem); line-height: .88; letter-spacing: -.02em; text-transform: uppercase; color: #3a3f46; }
.rsc__title span { color: var(--red); }
.rsc__lede { margin: 0; font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.5; color: #4a4f56; }
.rsc__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 18px; align-items: stretch; }
.rsc__story, .rsc__card { display: flex; flex-direction: column; background: #fff; color: var(--gray-ink); text-decoration: none; box-shadow: 0 2px 0 #e6e9ec, 0 22px 44px rgba(60,64,70,.16); transition: transform .25s ease, box-shadow .25s ease; }
.rsc__story:hover, .rsc__card:hover { transform: translateY(-4px); box-shadow: 0 2px 0 #e6e9ec, 0 30px 60px rgba(60,64,70,.22); }
.rsc__frame { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; min-height: 300px; padding: 28px 30px 26px; color: #fff; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #a3101a 100%); overflow: hidden; }
.rsc__frame::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(115deg, rgba(255,255,255,.06) 0 2px, transparent 2px 22px); }
.rsc__frame::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: repeating-linear-gradient(90deg, #fff 0 18px, transparent 18px 26px); opacity: .35; }
.rsc__frame > * { position: relative; }
.rsc__frame-k { font-family: var(--font-display); font-weight: 800; font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; opacity: .9; }
.rsc__frame-big { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(3rem, 5.6vw, 5rem); line-height: .85; letter-spacing: -.02em; }
.rsc__frame-t { max-width: 32ch; font-family: var(--font-serif); font-size: 1.02rem; line-height: 1.4; opacity: .95; }
.rsc__frame-sub { font-family: var(--font-display); font-weight: 700; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; opacity: .8; }
.rsc__frame-n { position: absolute; right: 24px; top: 22px; font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; opacity: .85; }
.rsc__play { position: absolute; right: 26px; bottom: 26px; width: 76px; height: 76px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 0 rgba(255,255,255,.5); animation: rsc-pulse 1.8s ease-out infinite; display: grid; place-items: center; }
.rsc__play i { display: block; width: 0; height: 0; border-left: 26px solid var(--red); border-top: 16px solid transparent; border-bottom: 16px solid transparent; margin-left: 6px; }
@keyframes rsc-pulse { to { box-shadow: 0 0 0 18px rgba(255,255,255,0); } }
.rsc__card-img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; }
.rsc__mock { display: flex; flex-direction: column; gap: 6px; aspect-ratio: 1200 / 630; padding: 22px 26px; color: #fff; background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); position: relative; overflow: hidden; }
.rsc__mock::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 58%; background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #a3101a 100%); clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%); }
.rsc__mock > * { position: relative; }
.rsc__mock-top { display: flex; justify-content: space-between; font-family: var(--font-display); font-weight: 800; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; } .rsc__mock-top span:last-child { color: var(--red); }
.rsc__mock-name { margin-top: auto; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.4rem; line-height: .9; text-transform: uppercase; } .rsc__mock-name b { display: block; font-size: 2.6rem; }
.rsc__mock-line { font-family: var(--font-display); font-weight: 700; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; opacity: .9; }
.rsc__mock-stats { display: flex; gap: 18px; margin-top: 6px; } .rsc__mock-stats span { font-family: var(--font-display); font-weight: 700; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.85); } .rsc__mock-stats b { display: block; font-size: 1.3rem; font-weight: 900; color: #fff; line-height: 1; }
.rsc__mock-foot { position: absolute; right: 22px; bottom: 18px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red); }
.rsc__cta { display: flex; flex-direction: column; gap: 3px; padding: 16px 22px 18px; border-top: 4px solid var(--red); }
.rsc__cta b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.25rem; letter-spacing: .04em; text-transform: uppercase; color: var(--red); }
.rsc__cta small { font-family: var(--font-serif); font-size: .92rem; color: #6b737c; }
.rsc__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 24px; }
.rsc__btn { display: inline-block; padding: 15px 26px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.05rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; box-shadow: 6px 6px 0 #cfd4da; }
.rsc__btn:hover { background: #3a3f46; }
.rsc__foot span { font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: #4a4f56; }
.rsc[data-depth] .rsc__story { transform: translateX(-36px); opacity: 0; transition: transform .9s cubic-bezier(.22,.61,.21,1), opacity .8s ease; }
.rsc[data-depth] .rsc__card { transform: translateX(36px); opacity: 0; transition: transform .9s cubic-bezier(.22,.61,.21,1) .12s, opacity .8s ease .12s; }
.rsc[data-depth].is-in .rsc__story, .rsc[data-depth].is-in .rsc__card { transform: none; opacity: 1; }
@media (max-width: 900px) { .rsc__head, .rsc__grid { grid-template-columns: 1fr; } .rsc__frame { min-height: 240px; padding: 22px 20px; } .rsc__play { width: 60px; height: 60px; } .rsc__play i { border-left-width: 20px; border-top-width: 12px; border-bottom-width: 12px; } .rsc[data-depth] .rsc__story, .rsc[data-depth] .rsc__card { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .rsc[data-depth] .rsc__story, .rsc[data-depth] .rsc__card { transform: none; opacity: 1; transition: none; } .rsc__play { animation: none; } }

/* ---- Less black (5.68.0): red, gray and white. Dark stays for the hero, Game Week and the closer only. ---- */
/* the bracket on red */
.brk, .section.brk { background-color: var(--red); background-image: repeating-linear-gradient(115deg, rgba(255,255,255,.06) 0 2px, transparent 2px 22px), radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #a3101a 100%); }
.brk::before { background: repeating-linear-gradient(-60deg, #fff 0 22px, #cfd4da 22px 30px); }
.brk__ph { opacity: .16; filter: grayscale(1) contrast(1.1); mix-blend-mode: multiply; }
.brk__ph::after { background: linear-gradient(90deg, rgba(206,26,39,.85) 0%, rgba(206,26,39,.5) 45%, rgba(206,26,39,.2) 100%); }
.brk[data-depth] .brk__edge img { filter: grayscale(1) contrast(1.1); mix-blend-mode: multiply; }
.brk[data-depth].is-in .brk__edge { opacity: .28; }
.brk__k { background: #fff; color: var(--red); box-shadow: 5px 5px 0 rgba(110,10,18,.35); }
.brk__h { text-shadow: 0 8px 24px rgba(110,10,18,.35); }
.brk__p { color: rgba(255,255,255,.92); } .brk__nums span { color: rgba(255,255,255,.8); }
.brk__btn { background: #fff; border-color: #fff; color: var(--red); } .brk__btn:hover { background: #3a3f46; border-color: #3a3f46; color: #fff; }
.brk__board { background: rgba(110,10,18,.35); border-top-color: #fff; box-shadow: 0 30px 60px -30px rgba(110,10,18,.9); }
.brk-slot rect { fill: rgba(255,255,255,.14); stroke: rgba(255,255,255,.4); } .brk-slot text { fill: rgba(255,255,255,.75); }
.brk-slot.is-seed rect { fill: #fff; stroke: #fff; } .brk-slot.is-seed text { fill: var(--red); }
.brk-line { stroke: rgba(255,255,255,.55); }
.brk-champ rect { fill: #fff; stroke: #fff; } .brk-champ__k { fill: var(--red); } .brk-champ__n { fill: var(--red); }
.brk__cta { color: #fff; }
/* this year in Redhound history, on white */
.tyf { background: #fff; color: var(--gray-ink); border-top: 6px solid var(--red); }
.tyf__eyebrow { color: var(--red); } .tyf__year { color: #3a3f46; } .tyf__lede { color: #4a4f56; } .tyf__from { color: #6b737c; }
.tyf__ago, .tyf__copy2 .tyf__ago { color: var(--red); } .tyf__big { color: #3a3f46; } .tyf__h { color: #3a3f46; }
.tyf__score { border-top-color: #cfd4da; } .tyf__score span { border-bottom-color: #cfd4da; } .tyf__score em { color: #4a4f56; } .tyf__score b { color: #3a3f46; } .tyf__score span:first-child b { color: var(--red); }
.tyf__sum { color: #4a4f56; } .tyf__cta { color: #3a3f46; } .tyf__cta:hover { color: var(--red); } .tyf__cta svg { color: var(--red); }
.tyf__second, .tyf[data-depth] .tyf__second { border-top-color: #cfd4da; border-left-color: #cfd4da; } .tyf__copy3 { border-left-color: #cfd4da; }
.tyf__more { border-top-color: #cfd4da; } .tyf__more a { color: #3a3f46; } .tyf__more span:last-child { color: #4a4f56; }
.tyf__foot a { color: #3a3f46; } .tyf__foot a:hover { color: var(--red); } .tyf__foot svg { color: var(--red); }
.tyf__photo.is-empty, .tyf__photo2.is-empty { background: #e6e9ec; }
/* under the closer: silver, not black */
.promo--strip { background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); color: var(--gray-ink); border-top: 6px solid var(--red); }
.promo--strip .promo__label { color: #6b737c; } .promo--strip .promo__sponsor { color: #2b3036; } .promo--strip .promo__headline { color: #4a4f56; }
.footer-seo { background: #e6e9ec; border-top: 1px solid #cfd4da; }
.footer-seo__kicker { color: var(--red); } .footer-seo a { color: #6b737c; } .footer-seo a:hover { color: var(--red); }
.site-footer { border-top: 0; }

/* 5.68.2: the story and card bands, sold harder */
.rsc__list { display: grid; gap: 6px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #e6e9ec; }
.rsc__list span { position: relative; padding-left: 18px; font-family: var(--font-display); font-weight: 700; font-size: .86rem; letter-spacing: .02em; line-height: 1.2; color: #3a3f46; }
.rsc__list span::before { content: ""; position: absolute; left: 0; top: .32em; width: 8px; height: 8px; background: var(--red); transform: skewX(-12deg); }
.rsc__mock-c { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.4rem; line-height: 1; color: var(--red); letter-spacing: 0; }
.rsc__mock-top span:first-child { color: #fff; }
.rsc__mock-hon { font-family: var(--font-display); font-weight: 700; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.9); margin-top: 4px; }
.rsc__mock-foot { right: 0; left: 0; bottom: 0; display: flex; justify-content: space-between; padding: 8px 22px; background: #fff; border-top: 3px solid var(--red); }
.rsc__mock-foot b { color: var(--red); } .rsc__mock-foot span { font-style: normal; font-weight: 700; letter-spacing: .14em; color: #6b737c; }
.rsc__mock { padding-bottom: 54px; }
.rsc__mock::before { width: 64%; }
.rsc__mock-name b { font-size: 2.3rem; }
.rsc__foot { align-items: flex-start; }
.rsc__foot-t { display: grid; gap: 4px; max-width: 46rem; }
.rsc__foot-t b { font-family: var(--font-display); font-weight: 900; font-size: 1.05rem; letter-spacing: .04em; text-transform: uppercase; color: #3a3f46; }
.rsc__foot-t span { font-family: var(--font-serif); font-size: .95rem; line-height: 1.45; color: #4a4f56; text-transform: none; letter-spacing: 0; font-weight: 400; }
.rsc__btn { font-size: 1.2rem; padding: 18px 30px; }

/* ---- The story and the card, turned up (5.69.0): on red, the headline huge, two story cards fanned behind the frame, share chips on the card ---- */
.rsc.rsc--hot { color: #fff; background-color: var(--red); background-image: repeating-linear-gradient(115deg, rgba(255,255,255,.06) 0 2px, transparent 2px 22px), radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #a3101a 100%); border-top: 0; padding: clamp(56px, 6.6vw, 88px) 0 clamp(52px, 6vw, 80px); }
.rsc--hot::before { display: none; }
.rsc__ghost { position: absolute; z-index: 0; right: -.03em; bottom: -.22em; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(200px, 28vw, 420px); line-height: 1; text-transform: uppercase; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.14); pointer-events: none; }
.rsc--hot .rsc__head { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; margin-bottom: 34px; }
.rsc--hot .rsc__k { background: #fff; color: var(--red); }
.rsc--hot .rsc__title { color: #fff; font-size: clamp(3.2rem, 7.4vw, 6.8rem); line-height: .82; text-shadow: 0 8px 30px rgba(110,10,18,.4); }
.rsc--hot .rsc__title span { color: #fff; -webkit-text-stroke: 2px #fff; color: transparent; }
.rsc--hot .rsc__lede { color: rgba(255,255,255,.95); font-size: clamp(1.05rem, 1.4vw, 1.2rem); }
.rsc__proof { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rsc__proof li { padding: 8px 14px; transform: skewX(-10deg); background: rgba(120,8,16,.38); border: 2px solid rgba(255,255,255,.3); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.9); }
.rsc__proof li > * { display: inline-block; transform: skewX(10deg); }
.rsc__proof b { font-size: 1.3rem; color: #fff; margin-right: 6px; vertical-align: -1px; }
.rsc--hot .rsc__grid { gap: 22px; align-items: start; }
.rsc--hot .rsc__story, .rsc--hot .rsc__card { position: relative; box-shadow: 0 30px 70px rgba(110,10,18,.45); }
.rsc--hot .rsc__story { grid-column: 1; grid-row: 1; margin-top: 44px; }
.rsc__fan { grid-column: 1; grid-row: 1; position: relative; z-index: 0; height: 0; pointer-events: none; }
.rsc__fan-card { position: absolute; left: 24px; top: -6px; width: calc(100% - 48px); height: 120px; padding: 14px 18px; background: #fff; color: var(--red); box-shadow: 0 10px 24px rgba(110,10,18,.25); transform: rotate(-1.4deg); overflow: hidden; }
.rsc__fan-card:nth-child(2) { left: 48px; top: 14px; width: calc(100% - 96px); transform: rotate(1.6deg); }
.rsc__fan-card em { display: block; font-style: normal; font-family: var(--font-display); font-weight: 800; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: #6b737c; }
.rsc__fan-card b { display: block; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 2.2rem; line-height: .9; }
.rsc__fan-card i { display: block; margin-top: 2px; font-style: normal; font-family: var(--font-serif); font-size: .78rem; color: #4a4f56; }
.rsc--hot .rsc__frame { background: #15181c; min-height: 320px; }
.rsc--hot .rsc__frame::before { background: repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 2px, transparent 2px 26px); }
.rsc--hot .rsc__frame-big { color: #fff; } .rsc--hot .rsc__frame-k { color: var(--red-display); }
.rsc__frame-tag { position: absolute; left: 30px; top: 22px; padding: 4px 10px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; }
.rsc--hot .rsc__play { background: var(--red); animation-name: rsc-pulse-red; } .rsc--hot .rsc__play i { border-left-color: #fff; }
@keyframes rsc-pulse-red { from { box-shadow: 0 0 0 0 rgba(212,25,43,.6); } to { box-shadow: 0 0 0 20px rgba(212,25,43,0); } }
.rsc--hot .rsc__card { transform: rotate(.8deg); }
.rsc--hot .rsc__card:hover, .rsc--hot .rsc__story:hover { transform: translateY(-4px); }
.rsc--hot .rsc__cta b { font-size: 1.4rem; }
.rsc--hot .rsc__list span { color: #3a3f46; }
.rsc__share { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 22px 0; }
.rsc__chip { padding: 6px 12px; border: 2px solid #cfd4da; font-family: var(--font-display); font-weight: 800; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: #3a3f46; }
.rsc__chip--fb { background: #1877f2; border-color: #1877f2; color: #fff; }
.rsc--hot .rsc__foot { margin-top: 34px; }
.rsc--hot .rsc__btn { background: #fff; color: var(--red); box-shadow: 6px 6px 0 rgba(110,10,18,.35); font-size: 1.3rem; padding: 20px 34px; } .rsc--hot .rsc__btn:hover { background: #3a3f46; color: #fff; }
.rsc--hot .rsc__foot-t b { color: #fff; } .rsc--hot .rsc__foot-t span { color: rgba(255,255,255,.9); }
.rsc--hot[data-depth].is-in .rsc__card { transform: rotate(.8deg); } .rsc--hot[data-depth].is-in .rsc__card:hover { transform: translateY(-4px); }
@media (max-width: 900px) { .rsc--hot .rsc__title { font-size: 3.2rem; } .rsc__fan { display: none; } .rsc--hot .rsc__story { margin-top: 0; } .rsc--hot .rsc__card, .rsc--hot[data-depth].is-in .rsc__card { transform: none; } .rsc__ghost { font-size: 180px; } }

/* 5.69.1: the story frame on white, not black; a line of chips above the card */
.rsc--hot .rsc__frame { background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); color: #3a3f46; }
.rsc--hot .rsc__frame::before { background: repeating-linear-gradient(115deg, rgba(255,255,255,.5) 0 2px, transparent 2px 22px); }
.rsc--hot .rsc__frame::after { background: repeating-linear-gradient(90deg, var(--red) 0 18px, transparent 18px 26px); opacity: .5; }
.rsc--hot .rsc__frame-big { color: var(--red); } .rsc--hot .rsc__frame-k { color: var(--red); }
.rsc--hot .rsc__frame-t { color: #3a3f46; } .rsc--hot .rsc__frame-sub { color: #6b737c; } .rsc--hot .rsc__frame-n { color: #6b737c; }
.rsc--hot .rsc__cta { border-top-color: var(--red); }
.rsc--hot .rsc__story { box-shadow: 0 30px 70px rgba(110,10,18,.45), inset 0 0 0 1px rgba(0,0,0,.04); }
.rsc__above { grid-column: 2; grid-row: 1; display: flex; flex-wrap: nowrap; gap: 8px; align-items: flex-start; height: 0; position: relative; z-index: 1; white-space: nowrap; }
.rsc__above span:nth-child(2) { display: none; }
.rsc__above span { padding: 7px 12px; transform: skewX(-10deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; box-shadow: 4px 4px 0 rgba(110,10,18,.3); }
.rsc--hot .rsc__card { grid-column: 2; grid-row: 1; margin-top: 48px; }
@media (max-width: 900px) { .rsc__above { display: none; } .rsc--hot .rsc__card { grid-column: 1; grid-row: auto; margin-top: 0; } .rsc--hot .rsc__story { grid-column: 1; grid-row: auto; } }

/* 5.69.2: four cards from the story under the frame, as the pitch */
.rsc__fan { display: none; }
.rsc--hot .rsc__story { margin-top: 0; }
.rsc--hot .rsc__cta { padding-bottom: 14px; }
.rsc__strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 0 16px 16px; }
.rsc__sc { display: flex; flex-direction: column; gap: 4px; padding: 12px 12px 12px 14px; background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); border-left: 4px solid var(--red); transform: rotate(calc(-.8deg + var(--i, 0) * .55deg)); box-shadow: 0 6px 14px rgba(60,64,70,.12); }
.rsc__sc em { font-style: normal; font-family: var(--font-display); font-weight: 800; font-size: .58rem; letter-spacing: .16em; text-transform: uppercase; color: #6b737c; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rsc__sc b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 2rem; line-height: .9; color: var(--red); }
.rsc__sc i { font-style: normal; font-family: var(--font-serif); font-size: .76rem; line-height: 1.35; color: #3a3f46; }
.rsc__more { display: block; padding: 0 22px 20px; font-family: var(--font-display); font-weight: 800; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: #6b737c; }
@media (max-width: 900px) { .rsc__strip { grid-template-columns: 1fr 1fr; } }

/* 5.69.3: the head is three columns; the lockers-just-claimed feed fills the right */
.rsc--hot .rsc__head { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); grid-template-areas: "title feed" "lede feed" "proof feed"; gap: 14px 48px; align-items: start; }
.rsc--hot .rsc__head > div:first-child { grid-area: title; }
.rsc--hot .rsc__lede { grid-area: lede; max-width: 40rem; }
.rsc--hot .rsc__proof { grid-area: proof; margin-top: 4px; }
.rsc__feed { grid-area: feed; background: #fff; color: #3a3f46; padding: 16px 20px 14px; box-shadow: 0 2px 0 #e6e9ec, 0 24px 50px rgba(110,10,18,.35); border-top: 6px solid var(--red); transform: rotate(.6deg); }
.rsc__feed-k { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-weight: 900; font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
.rsc__feed-k i { width: 8px; height: 8px; border-radius: 50%; background: var(--red); animation: rsc-dot 1.4s ease-out infinite; }
@keyframes rsc-dot { from { box-shadow: 0 0 0 0 rgba(206,26,39,.5); } to { box-shadow: 0 0 0 8px rgba(206,26,39,0); } }
.rsc__feed-list { list-style: none; margin: 6px 0 0; padding: 0; }
.rsc__feed-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 14px; padding: 9px 0; border-top: 1px solid #e6e9ec; opacity: 0; transform: translateY(8px); animation: rsc-in .5s ease forwards; animation-delay: calc(.25s + var(--i, 0) * .35s); }
.rsc__feed-list li a { display: contents; color: inherit; text-decoration: none; }
.rsc__feed-list b { font-family: var(--font-display); font-weight: 900; font-size: 1.05rem; line-height: 1; text-transform: uppercase; } .rsc__feed-list b small { font-size: .78em; color: #6b737c; margin-left: 2px; }
.rsc__feed-list span { grid-column: 1; font-family: var(--font-display); font-weight: 700; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: #6b737c; }
.rsc__feed-list em { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-style: normal; padding: 4px 8px; background: #eef0f2; font-family: var(--font-display); font-weight: 800; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); white-space: nowrap; }
@keyframes rsc-in { to { opacity: 1; transform: none; } }
.rsc__feed-next { display: block; margin-top: 8px; padding-top: 10px; border-top: 2px solid #3a3f46; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.1rem; letter-spacing: .04em; text-transform: uppercase; color: #3a3f46; } .rsc__feed-next b { color: var(--red); }
@media (max-width: 900px) { .rsc--hot .rsc__head { grid-template-columns: 1fr; grid-template-areas: "title" "lede" "proof" "feed"; } .rsc__feed { transform: none; } }
@media (prefers-reduced-motion: reduce) { .rsc__feed-list li { animation: none; opacity: 1; transform: none; } .rsc__feed-k i { animation: none; } }

/* ---- 5.69.4: the band on white. Red headers; the story frame, the sample cards and the feed header in red; everything else white and gray. ---- */
.rsc.rsc--hot { color: #3a3f46; background: #fff; background-image: none; border-top: 6px solid var(--red); }
.rsc--hot .rsc__ghost { -webkit-text-stroke: 2px rgba(206,26,39,.1); }
.rsc--hot .rsc__k { background: var(--red); color: #fff; }
.rsc--hot .rsc__title { color: var(--red); text-shadow: none; }
.rsc--hot .rsc__title span { color: #3a3f46; -webkit-text-stroke: 0; }
.rsc--hot .rsc__lede { color: #4a4f56; }
.rsc__proof li { background: #fff; border: 2px solid var(--red); color: var(--red); } .rsc__proof b { color: var(--red); }
.rsc__feed { box-shadow: 0 2px 0 #e6e9ec, 0 20px 44px rgba(60,64,70,.16); }
.rsc--hot .rsc__story, .rsc--hot .rsc__card { box-shadow: 0 2px 0 #e6e9ec, 0 24px 50px rgba(60,64,70,.18); }
/* the story frame, red with white type (the example on it) */
.rsc--hot .rsc__frame { background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #a3101a 100%); color: #fff; }
.rsc--hot .rsc__frame::before { background: repeating-linear-gradient(115deg, rgba(255,255,255,.06) 0 2px, transparent 2px 22px); }
.rsc--hot .rsc__frame::after { background: repeating-linear-gradient(90deg, #fff 0 18px, transparent 18px 26px); opacity: .35; }
.rsc--hot .rsc__frame-big { color: #fff; } .rsc--hot .rsc__frame-k { color: rgba(255,255,255,.9); }
.rsc--hot .rsc__frame-t { color: #fff; } .rsc--hot .rsc__frame-sub { color: rgba(255,255,255,.85); } .rsc--hot .rsc__frame-n { color: rgba(255,255,255,.85); }
.rsc__frame-tag { background: #fff; color: var(--red); }
.rsc--hot .rsc__play { background: #fff; animation-name: rsc-pulse; } .rsc--hot .rsc__play i { border-left-color: var(--red); }
/* the four example cards, red */
.rsc__sc { background: radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #a3101a 100%); border-left: 4px solid #fff; color: #fff; box-shadow: 0 8px 18px rgba(110,10,18,.25); }
.rsc__sc em { color: rgba(255,255,255,.85); } .rsc__sc b { color: #fff; } .rsc__sc i { color: #fff; }
.rsc__more { color: #6b737c; }
/* chips above the card */
.rsc__above span { background: var(--red); color: #fff; box-shadow: 4px 4px 0 #cfd4da; }
/* the close */
.rsc--hot .rsc__btn { background: var(--red); color: #fff; box-shadow: 6px 6px 0 #cfd4da; } .rsc--hot .rsc__btn:hover { background: #3a3f46; color: #fff; }
.rsc--hot .rsc__foot-t b { color: #3a3f46; } .rsc--hot .rsc__foot-t span { color: #4a4f56; }

/* ---- The Redhound wallpaper (5.70.0): on the locker and at /wallpaper/ ---- */
.lkw{background:#fff;padding:clamp(32px,4vw,56px) 0;border-top:1px solid #e6e9ec}
.lkw__in{display:grid;grid-template-columns:1.1fr minmax(260px,.9fr);gap:28px 40px;align-items:center}
.lkw__txt h2,.wlp__txt h1{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:clamp(28px,3.2vw,40px);line-height:.98;text-transform:uppercase;color:#2b3036;margin:10px 0 12px}
.wlp__txt h1{font-size:clamp(36px,5vw,64px);color:var(--red)}
.lkw__txt p,.wlp__txt p{font-family:var(--font-serif);font-size:17px;line-height:1.5;color:#4a4a4a;margin:0 0 16px}
.lkw__phone{display:block;width:min(260px,100%);margin:0 auto;padding:12px;border-radius:38px;background:#1a1c1f;box-shadow:0 24px 50px rgba(60,64,70,.3),inset 0 0 0 2px #3a3f46;transform:rotate(-3deg)}
.lkw__phone img{display:block;width:100%;height:auto;border-radius:28px}
.wlp{background:linear-gradient(180deg,#fff,#eef0f2);padding:clamp(40px,6vw,80px) 0;border-top:6px solid var(--red)}
.wlp__in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 56px;align-items:center}
.wlp__pics{display:flex;gap:24px;align-items:flex-end}
.wlp__pics .lkw__phone{width:240px;margin:0}
.wlp__pics .lkw__phone--2{transform:rotate(3deg);margin-left:-40px}
@media (max-width:860px){.lkw__in,.wlp__in{grid-template-columns:1fr}.lkw__phone{transform:none;width:220px}.wlp__pics{justify-content:center}.wlp__pics .lkw__phone--2{margin-left:-30px}}

.lkw__pic.wlp__pics .lkw__phone{width:200px}
.lkw__in{grid-template-columns:1fr auto}

/* 5.70.2: the wallpaper, on the homepage band */
.rsc__wall { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 24px 40px; align-items: center; margin-top: 22px; padding: 22px 26px; background: #fff; border-top: 6px solid var(--red); box-shadow: 0 2px 0 #e6e9ec, 0 20px 44px rgba(60,64,70,.14); }
.rsc__wall-pics { display: flex; align-items: flex-end; }
.rsc__ph { display: block; width: 118px; padding: 6px; border-radius: 20px; background: #1a1c1f; box-shadow: 0 14px 30px rgba(60,64,70,.3), inset 0 0 0 1px #3a3f46; transform: rotate(-4deg); }
.rsc__ph img { display: block; width: 100%; height: auto; border-radius: 15px; }
.rsc__ph--2 { transform: rotate(4deg); margin-left: -22px; }
.rsc__wall-txt h3 { margin: 10px 0 6px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.8rem, 2.8vw, 2.5rem); line-height: .9; text-transform: uppercase; color: #3a3f46; } .rsc__wall-txt h3 span { color: var(--red); }
.rsc__wall-txt p { margin: 0 0 14px; font-family: var(--font-serif); font-size: 1rem; line-height: 1.5; color: #4a4f56; max-width: 46rem; }
.rsc__wall-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.rsc--hot .rsc__btn.rsc__btn--sm { font-size: .9rem; padding: 11px 18px; box-shadow: 4px 4px 0 #cfd4da; }
.rsc--hot .rsc__btn.rsc__btn--line { background: #fff; color: var(--red); box-shadow: inset 0 0 0 2px var(--red); } .rsc--hot .rsc__btn.rsc__btn--line:hover { background: var(--red); color: #fff; }
.rsc__wall-more { font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) { .rsc__wall { grid-template-columns: 1fr; } .rsc__wall-pics { justify-content: center; } }

/* ---- The Redhound card page, cinematic (5.71.0): the card huge over the field, the career as numbers, the way in ---- */
.cdx { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: #0e1013; padding: clamp(48px, 6vw, 88px) 0 clamp(56px, 7vw, 96px); }
.cdx__photo { position: absolute; inset: 0; z-index: -3; background: var(--photo) center 40% / cover no-repeat; }
.cdx__wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(14,16,19,.92) 0%, rgba(14,16,19,.7) 45%, rgba(14,16,19,.35) 100%), linear-gradient(0deg, rgba(14,16,19,.96) 0%, rgba(14,16,19,.3) 50%, rgba(14,16,19,.1) 100%); }
.cdx::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 10px; background: var(--red); z-index: 2; }
.cdx__ghost { position: absolute; z-index: -1; right: -.04em; bottom: -.22em; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(240px, 36vw, 560px); line-height: 1; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.1); pointer-events: none; }
.cdx__in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.cdx__k { display: inline-block; padding: 6px 12px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; }
.cdx__name { margin: 16px 0 0; font-family: var(--font-display); font-style: italic; font-weight: 900; line-height: .8; letter-spacing: -.03em; text-transform: uppercase; text-shadow: 0 10px 40px rgba(0,0,0,.55); }
.cdx__name span { display: block; font-size: clamp(2rem, 4.2vw, 4rem); color: rgba(255,255,255,.85); }
.cdx__name b { display: block; font-size: clamp(4rem, 10.4vw, 10rem); color: #fff; }
.cdx__line { margin: 16px 0 0; font-family: var(--font-display); font-weight: 800; font-size: clamp(.9rem, 1.3vw, 1.1rem); letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.cdx__card { margin: 8px 0 0; max-width: 1040px; }
.cdx__card img { display: block; width: 100%; height: auto; border-radius: 10px; box-shadow: 0 40px 90px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08); transform: rotate(-1deg); }
.cdx__share { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.cdx__btn { display: inline-block; padding: 14px 24px; transform: skewX(-12deg); background: #fff; color: var(--red); border: 2px solid #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; cursor: pointer; box-shadow: 5px 5px 0 rgba(0,0,0,.4); }
.cdx__btn:hover { background: var(--red); border-color: var(--red); color: #fff; }
.cdx__btn--fb { background: #1877f2; border-color: #1877f2; color: #fff; } .cdx__btn--fb:hover { background: #fff; border-color: #fff; color: #1877f2; }
.cdx__btn--line { background: transparent; color: #fff; box-shadow: none; } .cdx__btn--line:hover { background: #fff; border-color: #fff; color: var(--red); }
.cdx__btn--big { font-size: 1.2rem; padding: 18px 30px; background: var(--red); border-color: var(--red); color: #fff; box-shadow: 6px 6px 0 #cfd4da; } .cdx__btn--big:hover { background: #3a3f46; border-color: #3a3f46; }
/* the career, on white */
.cdn { background: #fff; color: #3a3f46; padding: clamp(44px, 5.6vw, 72px) 0; border-top: 6px solid var(--red); }
.cdn__head { display: flex; align-items: baseline; gap: 22px; flex-wrap: wrap; margin-bottom: 22px; }
.cdn__k { font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
.cdn__head h2 { margin: 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.4rem, 4.6vw, 4rem); line-height: .9; letter-spacing: -.02em; color: #3a3f46; }
.cdn__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.cdn__stat { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); border-top: 5px solid var(--red); color: #3a3f46; text-decoration: none; }
.cdn__stat b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.6rem, 4vw, 3.6rem); line-height: .9; letter-spacing: -.02em; color: var(--red); white-space: nowrap; }
.cdn__stat span { font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: #6b737c; }
.cdn__stat--red { background: var(--red); border-top-color: #fff; } .cdn__stat--red b, .cdn__stat--red span { color: #fff; }
.cdn__stat--wide { grid-column: span 2; } a.cdn__stat:hover b { color: #3a3f46; }
.cdn__titles { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font-family: var(--font-display); font-weight: 900; font-size: .95rem; letter-spacing: .06em; text-transform: uppercase; color: var(--red); }
.cdn__teams { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.cdn__team { display: inline-flex; gap: 8px; align-items: baseline; padding: 8px 14px; background: #fff; border: 2px solid #cfd4da; color: #2b3036; text-decoration: none; font-family: var(--font-display); font-weight: 800; font-size: .9rem; text-transform: uppercase; letter-spacing: .04em; }
.cdn__team small { color: var(--red); font-weight: 900; font-style: italic; } .cdn__team:hover { border-color: var(--red); }
.cdn__go { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.cdn__go .cdx__btn { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 5px 5px 0 #cfd4da; } .cdn__go .cdx__btn:hover { background: #3a3f46; border-color: #3a3f46; }
.cdn__go .cdx__btn--line { background: transparent; color: var(--red); box-shadow: none; } .cdn__go .cdx__btn--line:hover { background: var(--red); color: #fff; }
/* the way in, on red */
.cdy { position: relative; overflow: hidden; color: #fff; background-color: var(--red); background-image: repeating-linear-gradient(115deg, rgba(255,255,255,.06) 0 2px, transparent 2px 22px), radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #a3101a 100%); padding: clamp(48px, 6vw, 80px) 0; }
.cdy__ghost { position: absolute; right: -.03em; bottom: -.22em; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(200px, 28vw, 400px); line-height: 1; text-transform: uppercase; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.14); pointer-events: none; }
.cdy__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 32px 56px; align-items: center; }
.cdy .cdx__k { background: #fff; color: var(--red); }
.cdy h2 { margin: 14px 0 12px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.6rem, 5.6vw, 5rem); line-height: .84; letter-spacing: -.02em; text-transform: uppercase; } .cdy h2 span { color: transparent; -webkit-text-stroke: 2px #fff; }
.cdy p { margin: 0; font-family: var(--font-serif); font-size: 1.1rem; line-height: 1.5; max-width: 40rem; }
.cdy__steps ol { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 12px; }
.cdy__steps li { display: grid; grid-template-columns: auto 1fr; gap: 2px 16px; padding: 12px 0; border-top: 2px solid rgba(255,255,255,.3); }
.cdy__steps b { grid-row: span 2; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 2.2rem; line-height: 1; opacity: .9; }
.cdy__steps strong { font-family: var(--font-display); font-weight: 900; font-size: 1.2rem; text-transform: uppercase; line-height: 1; }
.cdy__steps span { font-family: var(--font-serif); font-size: .95rem; opacity: .95; } .cdy__steps em { font-style: normal; font-weight: 700; }
.cdy .cdx__btn--big { background: #fff; border-color: #fff; color: var(--red); box-shadow: 6px 6px 0 rgba(110,10,18,.35); } .cdy .cdx__btn--big:hover { background: #3a3f46; border-color: #3a3f46; color: #fff; }
@media (max-width: 900px) { .cdn__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cdx { padding: 36px 0 44px; } .cdx__name b { font-size: 3.6rem; } .cdx__name span { font-size: 1.8rem; } .cdx__card img { transform: none; } .cdx__btn { font-size: .9rem; padding: 12px 18px; } .cdn__stat--wide { grid-column: span 1; } .cdy__in { grid-template-columns: 1fr; } .cdy h2 { font-size: 2.8rem; } }

/* ---- The member dropdown as a locker door (5.71.1) ---- */
.utility__memenu { min-width: 300px; border: 0; border-top: 0; background: #fff; box-shadow: 0 24px 50px rgba(0,0,0,.25); overflow: hidden; }
.utility__meplate { display: flex; flex-direction: column; gap: 2px; padding: 16px 18px 14px; color: #fff; text-decoration: none; background-color: var(--red); background-image: repeating-linear-gradient(115deg, rgba(255,255,255,.07) 0 2px, transparent 2px 22px), radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #a3101a 100%); border-bottom: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
.utility__meplate:hover { background-color: var(--red); color: #fff; }
.utility__meplate-k { font-family: var(--font-display); font-weight: 800; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; opacity: .85; }
.utility__meplate b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.5rem; line-height: .95; text-transform: uppercase; }
.utility__meplate small { font-family: var(--font-display); font-weight: 700; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; opacity: .9; margin-top: 4px; }
.utility__meplate em { align-self: flex-start; margin-top: 8px; padding: 3px 8px; background: #fff; color: var(--red); font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; transform: skewX(-12deg); }
.utility__metiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #cfd4da; border-bottom: 1px solid #cfd4da; }
.utility__metile { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 12px 6px 10px !important; background: linear-gradient(180deg, #fff, #eef0f2); color: var(--gray-ink); text-decoration: none; border: 0 !important; text-align: center; }
.utility__metile i { font-style: normal; font-size: 1.1rem; line-height: 1; color: var(--red); }
.utility__metile b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .9rem; letter-spacing: .04em; text-transform: uppercase; }
.utility__metile small { font-family: var(--font-display); font-weight: 700; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: #6b737c; }
.utility__metile:hover { background: var(--red) !important; color: #fff; } .utility__metile:hover i, .utility__metile:hover small { color: #fff; }
.utility__memenu > a:not(.utility__meplate):not(.utility__metile) { padding: 11px 18px; border-bottom: 1px solid #e6e9ec; }
.utility__memenu a.is-out { color: var(--red); }
.utility__metile i svg{display:block}

/* ---- The card page, sold (5.71.2): the pitch line in the hero, and a what-it-is band on red ---- */
.cdx__pitch { margin: 18px 0 0; max-width: 46rem; font-family: var(--font-serif); font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.45; color: #fff; }
.cdx__card { margin-top: 24px; }
.cdx__share .cdx__btn { font-size: 1.1rem; padding: 16px 28px; }
.cdw { position: relative; overflow: hidden; color: #fff; background-color: var(--red); background-image: repeating-linear-gradient(115deg, rgba(255,255,255,.06) 0 2px, transparent 2px 22px), radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #a3101a 100%); padding: clamp(44px, 5.6vw, 72px) 0; }
.cdw__head { margin-bottom: 28px; }
.cdw .cdx__k { background: #fff; color: var(--red); }
.cdw__head h2 { margin: 14px 0 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.6rem, 5.4vw, 4.8rem); line-height: .86; letter-spacing: -.02em; text-transform: uppercase; } .cdw__head h2 span { color: transparent; -webkit-text-stroke: 2px #fff; }
.cdw__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.cdw__item { padding: 18px 20px 20px; background: rgba(120,8,16,.35); border-top: 4px solid #fff; }
.cdw__item b { display: block; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 2rem; line-height: 1; opacity: .9; }
.cdw__item strong { display: block; margin: 8px 0 8px; font-family: var(--font-display); font-weight: 900; font-size: 1.25rem; line-height: 1; text-transform: uppercase; }
.cdw__item p { margin: 0; font-family: var(--font-serif); font-size: .95rem; line-height: 1.5; opacity: .95; } .cdw__item em { font-style: normal; font-weight: 700; }
.cdw__uses { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.cdw__use { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; transform: skewX(-10deg); background: #fff; color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.cdw__use > * { transform: skewX(10deg); } .cdw__use i { font-style: normal; font-size: .6rem; }
@media (max-width: 900px) { .cdw__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .cdw__grid { grid-template-columns: 1fr; } .cdx__share .cdx__btn { font-size: .95rem; padding: 13px 20px; } }

/* ---- The card page hero on white (5.71.3): red type, the C ghosted, the field photo gone ---- */
.cdx { background: linear-gradient(180deg, #fff 0%, #eef0f2 100%); color: #3a3f46; border-top: 6px solid var(--red); }
.cdx__photo, .cdx__wash { display: none; }
.cdx::before { display: none; }
.cdx::after { content: ""; position: absolute; inset: 0; z-index: -2; background: repeating-linear-gradient(115deg, rgba(255,255,255,.6) 0 2px, transparent 2px 22px); pointer-events: none; }
.cdx__ghost { -webkit-text-stroke: 2px rgba(206,26,39,.12); }
.cdx__name { text-shadow: none; }
.cdx__name span { color: #3a3f46; } .cdx__name b { color: var(--red); }
.cdx__line { color: #4a4f56; }
.cdx__pitch { color: #4a4f56; }
.cdx__card img { box-shadow: 0 2px 0 #e6e9ec, 0 36px 80px rgba(60,64,70,.28); }
.cdx__btn { background: var(--red); border-color: var(--red); color: #fff; box-shadow: 5px 5px 0 #cfd4da; } .cdx__btn:hover { background: #3a3f46; border-color: #3a3f46; color: #fff; }
.cdx__btn--line { background: transparent; color: var(--red); box-shadow: none; } .cdx__btn--line:hover { background: var(--red); border-color: var(--red); color: #fff; }
.cdx__btn--fb { background: #1877f2; border-color: #1877f2; color: #fff; } .cdx__btn--fb:hover { background: #3a3f46; border-color: #3a3f46; }

/* ---- The Red Card (5.72.0): the name, as a mark ---- */
.cdx__mark { display: block; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.2rem, 2vw, 1.7rem); letter-spacing: .14em; text-transform: uppercase; color: #3a3f46; margin-bottom: 10px; }
.cdx__mark b { display: inline-block; padding: 2px 12px 4px; margin: 0 2px; transform: skewX(-12deg); background: var(--red); color: #fff; box-shadow: 4px 4px 0 #cfd4da; }
.rsc__above span.is-mark { background: #3a3f46; color: #fff; }

/* ---- The Red Card hero on silver with the C behind it (5.72.1) ---- */
.cdx { background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); }
.cdx::after { background: repeating-linear-gradient(115deg, rgba(255,255,255,.45) 0 2px, transparent 2px 22px); }
.cdx__photo { display: block; z-index: -3; background: url('data:image/svg+xml;utf8,') no-repeat; opacity: 1; }
.cdx__photo { background: var(--mark, none) right -4% center / 58% auto no-repeat; opacity: .09; }
.cdx__ghost { display: none; }
.cdx__card img { box-shadow: 0 2px 0 #e6e9ec, 0 40px 90px rgba(60,64,70,.32); }
.cdx__in { position: relative; }

/* ---- /red-card/ (5.73.0): the Red Card, sold ---- */
.rcp__k { display: inline-block; padding: 6px 12px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; }
.rcp__mark { display: block; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(1.3rem, 2.2vw, 1.9rem); letter-spacing: .14em; text-transform: uppercase; color: #3a3f46; }
.rcp__mark b { display: inline-block; padding: 2px 12px 4px; margin: 0 2px; transform: skewX(-12deg); background: var(--red); color: #fff; box-shadow: 4px 4px 0 #cfd4da; }
.rcp__mark--w { color: #fff; } .rcp__mark--w b { background: #fff; color: var(--red); box-shadow: 4px 4px 0 rgba(110,10,18,.35); }
.rcp__btn { display: inline-block; padding: 16px 28px; transform: skewX(-12deg); background: var(--red); color: #fff; border: 2px solid var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.1rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; box-shadow: 6px 6px 0 #cfd4da; }
.rcp__btn:hover { background: #3a3f46; border-color: #3a3f46; color: #fff; }
.rcp__btn--line { background: transparent; color: var(--red); box-shadow: none; } .rcp__btn--line:hover { background: var(--red); border-color: var(--red); color: #fff; }
.rcp__btn--big { font-size: 1.4rem; padding: 20px 36px; background: #fff; border-color: #fff; color: var(--red); box-shadow: 6px 6px 0 rgba(110,10,18,.35); } .rcp__btn--big:hover { background: #3a3f46; border-color: #3a3f46; color: #fff; }
/* hero */
.rcp { position: relative; overflow: hidden; isolation: isolate; padding: clamp(56px, 7vw, 100px) 0 clamp(64px, 8vw, 110px); background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); border-top: 6px solid var(--red); }
.rcp::before { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(115deg, rgba(255,255,255,.45) 0 2px, transparent 2px 22px); }
.rcp__c { position: absolute; inset: 0; z-index: -2; background: var(--mark) right -6% center / 60% auto no-repeat; opacity: .08; }
.rcp__in { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 40px 56px; align-items: center; }
.rcp__h { margin: 18px 0 16px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(3.4rem, 7.6vw, 7.2rem); line-height: .82; letter-spacing: -.03em; text-transform: uppercase; color: #3a3f46; } .rcp__h span { color: var(--red); }
.rcp__lede { margin: 0 0 24px; max-width: 34rem; font-family: var(--font-serif); font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.5; color: #4a4f56; }
.rcp__acts { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.rcp__proof { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rcp__proof li { padding: 8px 14px; transform: skewX(-10deg); background: #fff; border: 2px solid var(--red); color: var(--red); font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; } .rcp__proof li > * { display: inline-block; transform: skewX(10deg); } .rcp__proof b { font-size: 1.3rem; margin-right: 6px; vertical-align: -1px; }
.rcp__fan { position: relative; aspect-ratio: 1200 / 820; }
.rcp__fan-card { position: absolute; width: 82%; height: auto; border-radius: 10px; box-shadow: 0 2px 0 #e6e9ec, 0 36px 80px rgba(60,64,70,.35); }
.rcp__fan-card--0 { left: 0; top: 24%; transform: rotate(-6deg); z-index: 3; }
.rcp__fan-card--1 { left: 10%; top: 10%; transform: rotate(1deg); z-index: 2; opacity: .96; }
.rcp__fan-card--2 { left: 18%; top: -2%; transform: rotate(7deg); z-index: 1; opacity: .9; }
/* what's on it */
.rca { background: #fff; padding: clamp(48px, 6vw, 88px) 0; }
.rca__head { margin-bottom: 30px; }
.rca__head h2, .rch__head h2 { margin: 14px 0 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(2.4rem, 5vw, 4.4rem); line-height: .86; letter-spacing: -.02em; text-transform: uppercase; color: #3a3f46; } .rca__head h2 span, .rch__head h2 span { color: var(--red); }
.rca__stage { position: relative; max-width: 1040px; margin: 0 auto; padding: 40px 0 60px; }
.rca__card { display: block; width: 100%; height: auto; border-radius: 10px; box-shadow: 0 2px 0 #e6e9ec, 0 30px 70px rgba(60,64,70,.3); }
.rca__tag { position: absolute; left: var(--x); top: var(--y); transform: translate(-10px, -100%); display: flex; flex-direction: column; padding: 8px 12px; background: #3a3f46; color: #fff; border-left: 4px solid var(--red); box-shadow: 0 10px 24px rgba(0,0,0,.25); white-space: nowrap; }
.rca__tag::after { content: ""; position: absolute; left: 6px; bottom: -14px; width: 2px; height: 14px; background: #3a3f46; }
.rca__tag--r { transform: translate(-100%, -100%); align-items: flex-end; border-left: 0; border-right: 4px solid var(--red); } .rca__tag--r::after { left: auto; right: 6px; }
.rca__tag b { font-family: var(--font-display); font-weight: 900; font-size: .9rem; letter-spacing: .06em; text-transform: uppercase; }
.rca__tag small { font-family: var(--font-display); font-weight: 700; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: #cfd4da; }
/* how */
.rch { position: relative; overflow: hidden; color: #fff; background-color: var(--red); background-image: repeating-linear-gradient(115deg, rgba(255,255,255,.06) 0 2px, transparent 2px 22px), radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #a3101a 100%); padding: clamp(48px, 6vw, 88px) 0; }
.rch .rcp__k { background: #fff; color: var(--red); } .rch__head h2 { color: #fff; } .rch__head h2 span { color: transparent; -webkit-text-stroke: 2px #fff; }
.rch__head { margin-bottom: 30px; }
.rch__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.rch__steps li { padding: 18px 20px 20px; background: rgba(120,8,16,.35); border-top: 4px solid #fff; }
.rch__steps b { display: block; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 2.2rem; line-height: 1; opacity: .9; }
.rch__steps strong { display: block; margin: 8px 0; font-family: var(--font-display); font-weight: 900; font-size: 1.3rem; line-height: 1; text-transform: uppercase; }
.rch__steps p { margin: 0; font-family: var(--font-serif); font-size: .98rem; line-height: 1.5; } .rch__steps em { font-style: normal; font-weight: 700; }
.rch__go { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 30px; }
.rch__go .rcp__btn { background: #fff; border-color: #fff; color: var(--red); box-shadow: 6px 6px 0 rgba(110,10,18,.35); } .rch__go .rcp__btn:hover { background: #3a3f46; border-color: #3a3f46; color: #fff; }
.rch__go span { font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; opacity: .9; }
/* where you carry it */
.rcu { background: linear-gradient(180deg, #fff, #eef0f2); padding: clamp(48px, 6vw, 88px) 0; }
.rcu__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rcu__item { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; padding: 20px 22px; background: #fff; border-top: 5px solid var(--red); box-shadow: 0 2px 0 #e6e9ec, 0 16px 34px rgba(60,64,70,.12); }
.rcu__item i { grid-row: span 2; font-style: normal; color: var(--red); font-size: .9rem; margin-top: 6px; }
.rcu__item b { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.25rem; text-transform: uppercase; color: #3a3f46; }
.rcu__item p { margin: 0; font-family: var(--font-serif); font-size: .95rem; line-height: 1.5; color: #4a4f56; }
/* the wall */
.rcw { background: #fff; padding: clamp(48px, 6vw, 88px) 0; border-top: 6px solid var(--red); }
.rcw__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.rcw__card { display: block; color: #3a3f46; text-decoration: none; }
.rcw__card img { display: block; width: 100%; height: auto; border-radius: 8px; box-shadow: 0 2px 0 #e6e9ec, 0 16px 34px rgba(60,64,70,.18); transition: transform .25s ease; } .rcw__card:hover img { transform: translateY(-4px) rotate(-1deg); }
.rcw__card span { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 10px 4px 0; }
.rcw__card b { font-family: var(--font-display); font-weight: 900; font-size: 1rem; text-transform: uppercase; } .rcw__card small { font-family: var(--font-display); font-weight: 700; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: #6b737c; white-space: nowrap; }
/* faq */
.rcq { background: linear-gradient(90deg, #c9ccd1 0%, #eef0f2 18%, #dfe2e6 50%, #f3f4f6 82%, #c9ccd1 100%); padding: clamp(48px, 6vw, 88px) 0; }
.rcq__in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 32px 56px; align-items: start; }
.rcq__list { margin: 0; display: grid; gap: 0; }
.rcq__list dt { padding: 16px 0 4px; font-family: var(--font-display); font-weight: 900; font-size: 1.2rem; text-transform: uppercase; color: var(--red); border-top: 2px solid #cfd4da; }
.rcq__list dd { margin: 0 0 12px; font-family: var(--font-serif); font-size: 1rem; line-height: 1.5; color: #3a3f46; }
/* close */
.rcz { position: relative; overflow: hidden; color: #fff; background-color: var(--red); background-image: repeating-linear-gradient(115deg, rgba(255,255,255,.06) 0 2px, transparent 2px 22px), radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #a3101a 100%); padding: clamp(56px, 7vw, 100px) 0; text-align: center; }
.rcz__in { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.rcz h2 { margin: 0; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: clamp(3rem, 7vw, 6.4rem); line-height: .82; letter-spacing: -.03em; text-transform: uppercase; } .rcz h2 span { color: transparent; -webkit-text-stroke: 2px #fff; }
@media (max-width: 1000px) { .rcp__in, .rcq__in { grid-template-columns: 1fr; } .rcp__fan { max-width: 560px; margin: 0 auto; } .rch__steps { grid-template-columns: 1fr 1fr; } .rcu__grid, .rcw__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .rcp__h { font-size: 3.2rem; } .rca__tag { display: none; } .rca__stage { padding: 0; } .rch__steps, .rcu__grid, .rcw__grid { grid-template-columns: 1fr; } .rcz h2 { font-size: 3rem; } .rcp__btn { font-size: 1rem; padding: 14px 22px; } }
.cdx__mark { text-decoration: none; } a.cdx__mark:hover b { background: #3a3f46; }

/* 5.73.0: numbered pins on the sample card, legend under it */
.rca__stage { padding: 0; }
.rca__tag { display: none; }
.rca__pin { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #3a3f46; color: #fff; border: 3px solid #fff; box-shadow: 0 6px 14px rgba(0,0,0,.35); font-family: var(--font-display); font-weight: 900; font-size: 1rem; }
.rca__legend { list-style: none; margin: 28px auto 0; padding: 0; max-width: 1040px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 22px; }
.rca__legend li { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; padding-top: 12px; border-top: 3px solid var(--red); }
.rca__legend b { grid-row: span 2; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #3a3f46; color: #fff; font-family: var(--font-display); font-weight: 900; font-size: .9rem; }
.rca__legend strong { font-family: var(--font-display); font-weight: 900; font-size: 1.05rem; line-height: 1; text-transform: uppercase; color: #3a3f46; }
.rca__legend span { font-family: var(--font-serif); font-size: .9rem; line-height: 1.4; color: #4a4f56; }
@media (max-width: 900px) { .rca__legend { grid-template-columns: 1fr 1fr; } .rca__pin { width: 26px; height: 26px; font-size: .8rem; border-width: 2px; } }
@media (max-width: 640px) { .rca__legend { grid-template-columns: 1fr; } .rca__pin { display: grid; } }

/* ---- The Red Card wordmark (5.74.0): flat, three locks, the Corbin C as the C ---- */
.rcp__mark--img { display: block; width: clamp(200px, 26vw, 300px); height: auto; margin-bottom: 18px; }
.rcp__mark--big { width: clamp(240px, 34vw, 420px); margin: 0 auto 22px; }
.cdx__mark--img { display: block; width: clamp(180px, 22vw, 260px); margin-bottom: 14px; } .cdx__mark--img img { display: block; width: 100%; height: auto; } a.cdx__mark--img:hover { opacity: .85; }
.utility__metile--rc { justify-content: flex-end; } .utility__metile--rc img { display: block; width: 92px; height: auto; margin: 4px 0 7px; }
.utility__metile--rc:hover img { filter: brightness(0) invert(1); }

/* ---- The Red Card logo (5.74.1): the card itself, tilted ---- */
.rcp__mark--img { width: clamp(150px, 16vw, 210px); margin-bottom: 14px; }
.rcp__mark--big { width: clamp(170px, 20vw, 250px); margin: 0 auto 18px; }
.cdx__mark--img { width: clamp(130px, 14vw, 180px); margin-bottom: 10px; }
.utility__metile--rc img { width: 64px; margin: 2px 0 5px; }
.utility__metile--rc:hover img { filter: none; }

/* ---- The Red Card logo, solid stacked (5.74.2) ---- */
.rcp__mark--img { width: clamp(130px, 13vw, 170px); margin-bottom: 16px; }
.rcp__mark--big { width: clamp(150px, 16vw, 200px); margin: 0 auto 20px; }
.cdx__mark--img { width: clamp(110px, 11vw, 140px); margin-bottom: 12px; }
.utility__metile--rc img { width: 54px; margin: 1px 0 4px; }

/* 5.74.3: the Red Card tile on hover goes red, so the logo goes white */
.utility__metile--rc:hover img, .utility__metile--rc:focus img { filter: brightness(0) invert(1); }

/* 5.74.4: the homepage sample card carries the Red Card logo, not a lone C */
.rsc__mock-c { display: block; width: 72px; height: auto; }

/* ---- Claim: roster rows grouped into people, the member's years first (5.75.0) ---- */
.claim__opts--groups { gap: 10px; }
.clg { background: #fff; border: 1px solid var(--silver-line); border-left: 4px solid var(--silver-line); }
.clg.is-likely { border-left-color: var(--red); } .clg:has([data-clg-all]:checked), .clg:has([data-clg-all]:indeterminate) { background: var(--silver-3); }
.clg.is-taken { opacity: .55; }
.clg__head { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; padding: 0 12px 0 0; }
.clg__all { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; padding: 14px 16px; cursor: pointer; }
.clg__all input { width: 24px; height: 24px; accent-color: var(--red-btn); }
.clg__all b { display: block; font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.35rem; line-height: 1.05; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite); }
.clg__all small { display: block; margin-top: 3px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-semi); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gray-meta); }
.clg.is-likely .clg__all b::after { content: 'Your years'; display: inline-block; margin-left: 10px; padding: 2px 8px 3px; font-size: .62rem; letter-spacing: .14em; color: #fff; background: var(--red); transform: skewX(-12deg); vertical-align: middle; }
.clg__toggle { appearance: none; border: 1px solid var(--silver-line); background: #fff; padding: 6px 10px; font-family: var(--font-display); font-size: var(--fs-micro); font-weight: var(--fw-bold); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--graphite); cursor: pointer; white-space: nowrap; }
.clg__toggle::after { content: ' \25BE'; } .clg__toggle[aria-expanded="true"]::after { content: ' \25B4'; }
.clg__rows { padding: 0 12px 12px 52px; gap: 4px; } .clg__rows .claim__opt { border-left-width: 3px; padding: 9px 14px; } .clg__rows .claim__opt b { font-size: 1.05rem; }
.claim__others { margin-top: 18px; } .claim__others > summary { cursor: pointer; list-style: none; padding: 14px 16px; background: var(--silver-3); border: 1px dashed var(--silver-line); font-family: var(--font-body); font-size: .95rem; color: var(--gray-ink); }
.claim__others > summary::-webkit-details-marker { display: none; } .claim__others > summary::before { content: '+'; display: inline-block; width: 22px; font-family: var(--font-display); font-weight: 900; color: var(--red); } .claim__others[open] > summary::before { content: '\2013'; }
.claim__others > summary b { color: var(--graphite); } .claim__others > .claim__opts { margin-top: 10px; }
@media (max-width: 600px) { .clg__head { grid-template-columns: 1fr; padding: 0; } .clg__toggle { margin: -6px 16px 12px 54px; justify-self: start; } .clg__rows { padding-left: 12px; } }
.clg__rows[hidden] { display: none; }
