/*
 * File: front-page.css
 * Version: 2.6.4
 * Last updated: 2026-09-29
 */

/* Shared front-page headings */
.front-section {
	position: relative;
	padding: 68px 0;
	overflow: hidden
}
.section-heading {
	display: flex;
	align-items: baseline;
	gap: 24px;
	margin-bottom: 24px
}
.section-heading p {
	margin: 0;
	color: #47729e;
	font-size: 13px
}
.section-title {
	position: relative;
	margin: 0 0 24px;
	padding-left: 50px;
	color: var(--navy);
	font-size: clamp(28px,3vw,42px);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: .01em
}
.section-title::before {
	position: absolute;
	top: .52em;
	left: 0;
	width: 32px;
	height: 4px;
	background: #1384df;
	content: ""
}
.section-title--light {
	color: #fff
}
.front-copy p {
	margin: 0 0 15px
}
.section-lead {
	font-size: 18px;
	font-weight: 600
}
@media (max-width:767px) {
	.front-section {
		padding: 54px 0
	}
	.section-heading {
		display: block
	}
	.section-title {
		padding-left: 42px;
		font-size: 28px
	}
	.section-title::before {
		width: 28px
	}
}
/* Hero */
.hero {
	position: relative;
	min-height: min(720px,calc(100vh - var(--header-h)));
	overflow: hidden;
	background: #042b5a;
	color: #fff
}
.hero__media {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg,rgba(0,30,74,
.92) 0%,rgba(0,38,82,
.52) 46%,rgba(0,30,64,
.4) 100%),url("../images/hero-pitcher.jpg") center 42%/cover no-repeat
}
.hero__media::after {
	position: absolute;
	inset: auto 0 0;
	height: 42%;
	background: linear-gradient(transparent,rgba(0,18,45,
.72));
	content: ""
}
.hero__inner {
	position: relative;
	z-index: 1;
	padding-top: 8vh
}
.hero__title {
	margin: 0 0 24px;
	font-size: clamp(52px,7.4vw,104px);
	font-weight: 900;
	line-height: .88;
	letter-spacing: .015em;
	text-shadow: 0 2px 18px rgba(0,0,0,
.16)
}
.hero__lead {
	font-size: clamp(14px,1.4vw,20px);
	font-weight: 800;
	letter-spacing: .07em
}
.hero__script {
	position: absolute;
	right: 6%;
	bottom: 12%;
	z-index: 2;
	margin: 0;
	font-family: cursive;
	font-size: clamp(25px,3vw,44px);
	font-style: italic;
	line-height: .8;
	transform: rotate(-8deg)
}
@media (max-width:1024px) {
	.hero {
		min-height: 630px
	}
	.hero__title {
		font-size: 70px
	}
}
@media (max-width:767px) {
	.hero {
		min-height: 650px
	}
	.hero__media {
		background-position: 58% center
	}
	.hero__inner {
		padding-top: 70px
	}
	.hero__title {
		font-size: 48px
	}
	.hero__lead {
		max-width: 270px
	}
	.hero__script {
		right: 20px;
		bottom: 35px;
		font-size: 30px
	}
}
/* Latest news ticker */
.latest-news-ticker {
	border-top: 1px solid #dce8f3;
	border-bottom: 1px solid #dce8f3;
	background: #f5f8fc
}
.latest-news-ticker__inner {
	display: grid;
	grid-template-columns: auto auto minmax(0,1fr) auto;
	align-items: center;
	gap: 32px;
	min-height: 104px;
	color: var(--navy);
	text-decoration: none
}
.latest-news-ticker__label {
	position: relative;
	padding-left: 54px;
	color: var(--blue);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .12em;
	white-space: nowrap
}
.latest-news-ticker__label::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 32px;
	height: 4px;
	background: var(--blue);
	content: "";
	transform: translateY(-50%)
}
.latest-news-ticker time {
	padding-left: 28px;
	border-left: 1px solid #b9cadb;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap
}
.latest-news-ticker__title {
	min-width: 0;
	overflow: hidden;
	font-size: clamp(18px,2vw,26px);
	font-weight: 900;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap
}
.latest-news-ticker__link {
	color: var(--blue);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .06em;
	white-space: nowrap
}
.latest-news-ticker__inner:hover .latest-news-ticker__title,
.latest-news-ticker__inner:focus-visible .latest-news-ticker__title,
.latest-news-ticker__inner:hover .latest-news-ticker__link,
.latest-news-ticker__inner:focus-visible .latest-news-ticker__link {
	text-decoration: underline;
	text-underline-offset: 4px
}
@media (max-width:900px) {
	.latest-news-ticker__inner {
		gap: 20px
	}
	.latest-news-ticker__label {
		padding-left: 42px
	}
	.latest-news-ticker time {
		padding-left: 20px
	}
}
@media (max-width:767px) {
	.latest-news-ticker__inner {
		grid-template-columns: auto minmax(0,1fr);
		gap: 9px 16px;
		min-height: 0;
		padding-top: 20px;
		padding-bottom: 20px
	}
	.latest-news-ticker__label {
		grid-column: 1/-1
	}
	.latest-news-ticker time {
		padding-left: 0;
		border-left: 0;
		font-size: 12px
	}
	.latest-news-ticker__title {
		overflow: visible;
		font-size: 17px;
		white-space: normal
	}
	.latest-news-ticker__link {
		grid-column: 2;
		font-size: 12px
	}
}
/* About */
.about-section {
	isolation: isolate;
	background: #fff
}
.about-section::after {
	position: absolute;
	z-index: 0;
	inset: 0;
	background: url("../images/about-baseball-stitch-background.png") right center/auto 100% no-repeat;
	content: "";
	opacity: .26;
	pointer-events: none
}
.about-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 50px
}
.about-stats {
	padding-left: 44px;
	border-left: 2px solid #2b91dd
}
.about-stats>div {
	display: grid;
	grid-template-columns: 160px 140px minmax(0,1fr);
	align-items: center;
	gap: 14px;
	padding: 15px 0;
	border-bottom: 2px solid #5ba6df
}
.about-stats strong {
	color: var(--navy);
	font-size: clamp(46px,3.4vw,54px);
	line-height: .9;
	white-space: nowrap
}
.about-stats b,
.about-stats small {
	align-self: center;
	color: #174e94;
	font-size: 13px;
	line-height: 1.25
}
.about-stats span {
	min-width: 0;
	color: #23548b;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.35
}
@media (max-width:1100px) {
	.about-section::after {
		display: none
	}
	.about-grid {
		grid-template-columns: 1fr
	}
	.about-stats {
		padding-left: 0;
		border-left: 0
	}
}
@media (max-width:520px) {
	.about-stats>div {
		grid-template-columns: auto 1fr
	}
	.about-stats span {
		grid-column: 1/-1
	}
	.about-stats strong {
		font-size: 44px
	}
}
/* League Vision */
.vision-section {
	background: linear-gradient(135deg,
#00356f,
#001d4a);
	color: #fff
}
.vision-grid {
	display: grid;
	grid-template-columns: minmax(0,.68fr) minmax(0,1.32fr);
	align-items: center;
	gap: 48px
}
.vision-section h3 {
	margin: 0 0 28px;
	font-size: clamp(34px,4.3vw,62px);
	line-height: .95
}
.vision-map {
	min-width: 0
}
.vision-map img {
	display: block;
	width: 100%
}
@media (max-width:900px) {
	.vision-grid {
		grid-template-columns: 1fr
	}
	.vision-map {
		margin-top: 10px
	}
}
/* Player Achievements */
.achievements-section {
	padding-bottom: 54px;
	background: #f2f9ff
}
.achievement-highlight {
	display: grid;
	grid-template-columns: minmax(260px,.7fr) minmax(0,1.3fr);
	align-items: center;
	min-height: 320px;
	background-color: var(--navy);
	background-image: linear-gradient(rgba(3,47,105,.66),rgba(3,47,105,.66)),url("../images/player-achievements-bg.jpg");
	background-repeat: no-repeat;
	background-position: center 56%;
	background-size: cover;
	color: #fff
}
.achievement-highlight__number {
	margin: 0;
	padding: 28px 46px;
	color: #fff;
	font-size: clamp(82px,11vw,150px);
	font-weight: 900;
	line-height: .85;
	letter-spacing: -.06em
}
.achievement-highlight__number span {
	color: #48b9f2;
	font-size: .55em;
	vertical-align: top
}
.achievement-highlight__copy {
	padding: 34px 46px;
	border-left: 1px solid rgba(255,255,255,.35)
}
.achievement-highlight__copy h3 {
	margin: 0 0 12px;
	font-size: clamp(24px,3.2vw,42px);
	line-height: 1.1
}
.achievement-highlight__copy p {
	max-width: 620px;
	margin: 0;
	font-size: 16px;
	line-height: 1.7
}
@media (max-width:700px) {
	.achievement-highlight {
		grid-template-columns: 1fr;
		min-height: 0
	}
	.achievement-highlight__number {
		padding: 28px 28px 22px
	}
	.achievement-highlight__copy {
		padding: 26px 28px 30px;
		border-top: 1px solid rgba(255,255,255,.35);
		border-left: 0
	}
}
/* Featured Players */
.featured-section {
	padding-top: 35px
}
.featured-groups {
	display: grid;
	gap: 48px
}
.featured-group__title {
	margin: 0 0 22px;
	padding-bottom: 12px;
	border-bottom: 2px solid #5ba6df;
	color: var(--navy);
	font-size: clamp(20px,2vw,27px);
	letter-spacing: .03em
}
.featured-grid {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 18px
}
.player-card {
	min-width: 0;
	background: transparent;
	transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease
}
.player-card:hover,
.player-card:focus-within {
	transform: translateY(-5px);
	box-shadow: 0 14px 30px rgba(3,47,105,.12)
}
.player-card__trigger {
	display: block;
	width: 100%;
	padding: 0;
	border: 1px solid var(--line);
	background: #fff;
	color: var(--navy);
	text-align: left;
	cursor: pointer
}
.player-card__photo {
	display: block;
	position: relative;
	overflow: hidden;
	aspect-ratio: 4/3;
	background: #d9e8f5
}
.player-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease
}
.player-card__photo-credit {
	position: absolute;
	right: 10px;
	bottom: 9px;
	z-index: 1;
	display: block;
	padding: 4px 7px;
	max-width: calc(100% - 20px);
	background: rgba(0,0,0,.58);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: .02em;
	text-align: right
}
.player-card:hover .player-card__photo img,
.player-card:focus-within .player-card__photo img {
	transform: scale(1.035)
}
.player-card__name {
	display: block;
	padding: 14px 16px;
	color: #0752a1;
	font-size: 19px;
	font-weight: 800;
	line-height: 1.3
}
.player-card__trigger:focus-visible {
	outline: 3px solid #5fbef5;
	outline-offset: 3px
}
.player-modal[hidden] {
	display: none
}
.player-modal {
	position: fixed;
	z-index: 99999;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 44px 76px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .28s ease,visibility .28s ease
}
.player-modal.is-open {
	opacity: 1;
	visibility: visible
}
.player-modal__backdrop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: rgba(0,12,31,.84);
	cursor: pointer
}
.player-modal__window {
	position: relative;
	z-index: 1;
	width: min(920px,100%);
	max-height: calc(100vh - 88px);
	transform: translateY(18px) scale(.975);
	transition: transform .32s cubic-bezier(.2,.8,.2,1)
}
.player-modal.is-open .player-modal__window {
	transform: translateY(0) scale(1)
}
.player-modal__stage {
	max-height: calc(100vh - 88px);
	overflow: auto;
	background: #fff;
	box-shadow: 0 24px 70px rgba(0,12,31,.4);
	opacity: 1;
	transform: translateX(0);
	transition: opacity .18s ease,transform .22s ease
}
.player-modal__stage.is-changing {
	opacity: 0
}
.player-modal__stage.is-from-left {
	transform: translateX(-18px)
}
.player-modal__stage.is-from-right {
	transform: translateX(18px)
}
.player-modal-content {
	display: grid;
	grid-template-columns: minmax(0,3fr) minmax(0,2fr);
	background: #fff
}
.player-modal-content__photo {
	position: relative;
	min-height: 480px;
	background: #d9e8f5
}
.player-modal-content__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center
}
.player-modal-content__photo-credit {
	position: absolute;
	right: 14px;
	bottom: 12px;
	margin: 0;
	padding: 5px 8px;
	max-width: calc(100% - 28px);
	background: rgba(0,0,0,.58);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: .02em;
	text-align: right
}
.player-modal-content__body {
	padding: 48px 42px
}
.player-modal-content__body h3 {
	margin: 0 0 26px;
	color: var(--navy);
	font-size: clamp(26px,3vw,38px);
	font-weight: 800;
	line-height: 1.15
}
.player-modal-content__details {
	display: grid;
	grid-template-columns: 120px minmax(0,1fr);
	gap: 7px 16px;
	margin: 0
}
.player-modal-content__details dt {
	color: #52759a;
	font-size: 13px;
	font-weight: 700
}
.player-modal-content__details dd {
	margin: 0;
	color: var(--navy);
	font-weight: 800
}
.player-modal-content__action-photos {
	display: flex;
	gap: 10px;
	margin-top: 28px;
	overflow-x: auto;
	padding-bottom: 10px;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch
}
.player-modal-content__photo-guide {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 24px 0 8px;
	color: #52759a;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em
}
.player-modal-content__photo-guide span {
	color: var(--blue)
}
.player-modal-content__action-photos figure {
	margin: 0;
	overflow: hidden;
	aspect-ratio: 3 / 2;
	background: #d9e8f5;
	flex: 0 0 100%;
	scroll-snap-align: start
}
.player-modal-content__action-photos.has-multiple figure {
	flex-basis: calc(100% - 44px)
}
.player-modal-content__action-photos img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top
}
.player-modal__close,
.player-modal__nav {
	position: absolute;
	z-index: 2;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #fff;
	box-shadow: none;
	cursor: pointer;
	opacity: .82;
	transition: opacity .2s ease,transform .2s ease
}
.player-modal__close:hover,
.player-modal__nav:hover {
	background: transparent;
	opacity: 1
}
.player-modal__close {
	top: 18px;
	right: 20px;
	width: 30px;
	height: 30px;
	color: var(--navy);
	font-size: 32px;
	font-weight: 300;
	line-height: 1;
	text-shadow: none
}
.player-modal__nav {
	top: 50%;
	width: 38px;
	height: 64px;
	font-size: 56px;
	font-weight: 200;
	line-height: 1;
	text-shadow: 0 2px 8px rgba(0,0,0,.3);
	transform: translateY(-50%)
}
.player-modal__nav:hover {
	transform: translateY(-50%)
}
.player-modal__nav:disabled {
	opacity: 0;
	pointer-events: none
}
.player-modal__nav--prev {
	left: -60px
}
.player-modal__nav--next {
	right: -60px
}
body.player-modal-open {
	overflow: hidden
}
@media (max-width:900px) {
	.featured-grid {
		grid-template-columns: repeat(2,minmax(0,1fr))
	}
}
@media (max-width:1024px) {
	.player-modal {
		padding: 34px 16px
	}
	.player-modal__window,
	.player-modal__stage {
		max-height: calc(100vh - 68px)
	}
	.player-modal-content {
		grid-template-columns: 1fr
	}
	.player-modal-content__photo {
		min-height: 0;
		aspect-ratio: 4/3
	}
	.player-modal-content__body {
		padding: 28px 22px
	}
	.player-modal-content__details {
		grid-template-columns: 1fr;
		gap: 2px
	}
	.player-modal-content__details dd+dt {
		margin-top: 10px
	}
	.player-modal-content__action-photos {
		margin-top: 22px
	}
	.player-modal__close {
		top: 12px;
		right: 12px;
		width: 42px;
		height: 42px;
		border-radius: 50%;
		background: rgba(0,0,0,.58);
		color: #fff;
		font-size: 0;
		opacity: 1
	}
	.player-modal__close::before,
	.player-modal__close::after {
		position: absolute;
		inset: 0;
		width: 18px;
		height: 2px;
		margin: auto;
		background: #fff;
		content: ""
	}
	.player-modal__close::before {
		transform: rotate(45deg)
	}
	.player-modal__close::after {
		transform: rotate(-45deg)
	}
	.player-modal__nav {
		top: 50%;
		bottom: auto;
		width: 44px;
		height: 44px;
		border-radius: 50%;
		background: rgba(0,0,0,.58);
		color: #fff;
		font-size: 0;
		opacity: 1;
		text-shadow: none;
		transform: translateY(-50%)
	}
	.player-modal__nav::before {
		position: absolute;
		inset: 0;
		width: 11px;
		height: 11px;
		box-sizing: border-box;
		margin: auto;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
		content: ""
	}
	.player-modal__nav--prev::before {
		transform: rotate(135deg)
	}
	.player-modal__nav--next::before {
		transform: rotate(-45deg)
	}
	.player-modal__close:hover,
	.player-modal__nav:hover {
		background: rgba(0,0,0,.72)
	}
	.player-modal__nav:hover {
		transform: translateY(-50%)
	}
	.player-modal__nav--prev {
		left: 8px
	}
	.player-modal__nav--next {
		right: 8px
	}
}
@media (max-width:520px) {
	.featured-grid {
		grid-template-columns: 1fr
	}
}
/* Player Performance Data */
.performance-section {
	background: #f2f9ff
}
.performance-grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 28px
}
.performance-panel {
	min-width: 0;
	background: #fff
}
.performance-panel h3 {
	margin: 0;
	padding: 17px 20px;
	background: var(--navy);
	color: #fff;
	font-size: 16px;
	line-height: 1.35
}
.performance-table-scroll {
	overflow-x: auto
}
.performance-table {
	width: 100%;
	min-width: 500px;
	border-collapse: collapse;
	font-size: 12px
}
.performance-table th,
.performance-table td {
	padding: 9px 12px
}
.performance-table th {
	background: #dceefb;
	color: var(--navy);
	text-align: left
}
.performance-table td {
	border-bottom: 1px solid #dce8f3
}
.performance-table th:not(:first-child),
.performance-table td:not(:first-child) {
	text-align: right;
	white-space: nowrap
}
.performance-table tbody tr:nth-child(even) {
	background: #f6fbff
}
.performance-note {
	margin: 14px 0 0;
	color: #52759a;
	font-size: 11px;
	text-align: right
}
.assessment-intro {
	margin-top: 48px;
	padding-top: 42px;
	border-top: 1px solid #b8d5ed
}
.assessment-intro__copy {
	display: grid;
	grid-template-columns: minmax(260px,.75fr) minmax(0,1.25fr);
	gap: 36px;
	align-items: end;
	margin-bottom: 26px
}
.assessment-intro__eyebrow {
	margin: 0 0 8px;
	color: #1489df;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em
}
.assessment-intro h3 {
	margin: 0;
	color: var(--navy);
	font-size: clamp(24px,2.4vw,36px);
	line-height: 1.08
}
.assessment-intro__copy > p {
	margin: 0;
	color: #173d6c;
	font-size: 15px;
	line-height: 1.8
}
.assessment-gallery {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 10px
}
.assessment-gallery figure {
	margin: 0;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: #d9e8f5
}
.assessment-gallery img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease
}
.assessment-gallery figure:hover img {
	transform: scale(1.035)
}
@media (max-width:900px) {
	.performance-grid {
		grid-template-columns: 1fr
	}
	.assessment-intro__copy {
		grid-template-columns: 1fr;
		gap: 16px
	}
	.assessment-gallery {
		grid-template-columns: repeat(2,minmax(0,1fr))
	}
}
@media (max-width:520px) {
	.assessment-intro {
		margin-top: 36px;
		padding-top: 32px
	}
	.assessment-gallery {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		padding-bottom: 12px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch
	}
	.assessment-gallery figure {
		width: 82vw;
		max-width: 420px;
		flex: 0 0 82vw;
		scroll-snap-align: start
	}
}
/* Teams */
.teams-section {
	padding-top: 35px
}
.team-grid {
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: 32px
}
.team-card {
	display: flex;
	min-width: 0;
	align-items: center;
	flex-direction: column;
	padding: 8px 0;
	background: transparent;
	text-align: center;
	transition: transform .25s ease
}
.team-card:hover,
.team-card:focus-within {
	transform: translateY(-5px)
}
.team-card__logo {
	display: grid;
	width: 100%;
	height: 160px;
	place-items: center
}
.team-card__logo img {
	max-width: 150px;
	max-height: 150px;
	object-fit: contain;
	transition: transform .3s ease
}
.team-card:hover .team-card__logo img,
.team-card:focus-within .team-card__logo img {
	transform: scale(1.045)
}
.team-card h3 {
	margin: 16px 0 0;
	color: var(--navy);
	font-size: 18px;
	line-height: 1.25
}
.team-card p {
	margin: 5px 0 15px;
	color: var(--blue);
	font-size: 12px;
	font-weight: 800
}
.team-card__links {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 9px
}
.team-card__links a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: #075dbb;
	font-size: 12px;
	font-weight: 800;
	transition: color .2s ease,transform .2s ease
}
.team-card__links a:hover,
.team-card__links a:focus-visible {
	color: var(--navy);
	transform: translateX(3px)
}
.team-card__links img {
	width: 19px;
	height: 19px;
	object-fit: contain;
	flex: 0 0 auto
}
@media (max-width:900px) {
	.team-grid {
		grid-template-columns: repeat(2,minmax(0,1fr));
		row-gap: 42px
	}
}
@media (max-width:520px) {
	.team-grid {
		grid-template-columns: 1fr
	}
	.team-card__logo {
		height: 180px
	}
	.team-card__logo img {
		max-width: 170px;
		max-height: 170px
	}
}
/* League in Action */
.league-action-section {
	background: #fff
}
.league-action-gallery {
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	grid-auto-rows: 180px;
	gap: 10px
}
.league-action-gallery__item {
	position: relative;
	margin: 0;
	overflow: hidden;
	background: #dce8f3
}
.league-action-gallery__item--lead {
	grid-column: span 2;
	grid-row: span 2
}
.league-action-gallery__item--wide {
	grid-column: span 2
}
.league-action-gallery img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .45s ease
}
.league-action-gallery__item:hover img {
	transform: scale(1.035)
}
@media (max-width:900px) {
	.league-action-gallery {
		grid-template-columns: repeat(2,minmax(0,1fr));
		grid-auto-rows: 210px
	}
	.league-action-gallery__item--lead {
		grid-column: span 2;
		grid-row: span 1
	}
}
@media (max-width:600px) {
	.league-action-gallery {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		padding-bottom: 12px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch
	}
	.league-action-gallery__item,
	.league-action-gallery__item--lead,
	.league-action-gallery__item--wide {
		width: 82vw;
		max-width: 420px;
		aspect-ratio: 4 / 3;
		flex: 0 0 82vw;
		scroll-snap-align: start
	}
}
/* Season Schedule */
.schedule-section {
	padding-top: 35px
}
.season-schedule {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5,minmax(0,1fr));
	background: var(--ice)
}
.schedule-title-bar {
	grid-column: 1/-1;
	margin: 0;
	padding: 18px 22px;
	background: var(--navy);
	color: #fff;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.25
}
.season-phase {
	position: relative;
	min-height: 490px;
	padding: 28px 20px;
	border-right: 5px solid #fff
}
.season-phase:last-of-type {
	border-right: 0
}
.season-phase h3 {
	min-height: 24px;
	margin: 0;
	text-align: center;
	font-size: 16px;
	line-height: 1.3
}
.season-phase>strong {
	display: block;
	margin-top: 8px;
	text-align: center;
	font-size: 12px
}
.season-phase ul {
	margin: 135px 0 0;
	padding-left: 18px;
	font-size: 13px;
	line-height: 1.75
}
.season-arrow {
	position: absolute;
	top: 155px;
	right: 0;
	left: 0;
	height: 18px;
	background: #75a9d3;
	clip-path: polygon(0 50%,13px 0,13px 34%,calc(100% - 13px) 34%,calc(100% - 13px) 0,100% 50%,calc(100% - 13px) 100%,calc(100% - 13px) 66%,13px 66%,13px 100%)
}
.season-phase--preseason .season-arrow,
.season-phase--offseason .season-arrow {
	top: 108px
}
.season-main-arrow {
	position: absolute;
	z-index: 2;
	top: 169px;
	right: 20%;
	left: 20%;
	height: 18px;
	background: var(--navy);
	clip-path: polygon(0 50%,13px 0,13px 34%,calc(100% - 13px) 34%,calc(100% - 13px) 0,100% 50%,calc(100% - 13px) 100%,calc(100% - 13px) 66%,13px 66%,13px 100%)
}
.interleague {
	position: absolute;
	right: calc(40% + 5px);
	bottom: 0;
	left: 20%;
	padding: 68px 24px 20px;
	background: #dceefb;
	font-size: 12px
}
.interleague::before {
	position: absolute;
	top: 24px;
	right: 0;
	left: 0;
	height: 18px;
	background: #5689b7;
	clip-path: polygon(0 50%,13px 0,13px 34%,calc(100% - 13px) 34%,calc(100% - 13px) 0,100% 50%,calc(100% - 13px) 100%,calc(100% - 13px) 66%,13px 66%,13px 100%);
	content: ""
}
.interleague p {
	margin: 8px 0
}
.interleague small {
	font-size: 10px
}
@media (max-width:1024px) {
	.schedule-title-bar {
		font-size: 20px
	}
	.season-phase {
		padding: 24px 10px
	}
	.season-phase h3 {
		font-size: 14px
	}
	.season-phase ul {
		padding-left: 15px;
		font-size: 12px
	}
	.interleague {
		padding-right: 18px;
		padding-left: 18px;
		font-size: 12px
	}
}
@media (max-width:700px) {
	.season-schedule {
		display: flex;
		flex-direction: column;
		gap: 6px;
		background: #fff
	}
	.schedule-title-bar {
		padding: 20px 22px;
		font-size: 19px
	}
	.season-main-arrow {
		display: none
	}
	.season-phase {
		display: grid;
		grid-template-columns: 40% 60%;
		min-height: 180px;
		padding: 24px 12px;
		border: 0;
		background: #edf8ff
	}
	.season-phase h3,
.season-phase>strong {
		grid-column: 1;
		padding-right: 18px
	}
	.season-phase ul {
		grid-column: 2;
		grid-row: 1/span 2;
		margin: 0;
		padding-left: 24px;
		font-size: 13px
	}
	.season-arrow {
		top: 0;
		right: auto;
		bottom: 0;
		left: 40%;
		width: 14px;
		height: auto;
		margin-left: -7px;
		clip-path: polygon(50% 0,100% 16px,66% 16px,66% calc(100% - 16px),100% calc(100% - 16px),50% 100%,0 calc(100% - 16px),34% calc(100% - 16px),34% 16px,0 16px)
	}
	.season-phase--preseason .season-arrow,
	.season-phase--offseason .season-arrow {
		top: 0
	}
	.season-phase--preseason {
		order: 1
	}
	.season-phase--first {
		order: 2
	}
	.interleague {
		position: relative;
		right: auto;
		bottom: auto;
		left: auto;
		order: 3;
		padding: 24px 16px 24px calc(40% + 22px);
		background: #dceefb;
		font-size: 12px
	}
	.interleague::before {
		top: 0;
		right: auto;
		bottom: 0;
		left: 40%;
		width: 14px;
		height: auto;
		margin-left: -7px;
		clip-path: polygon(50% 0,100% 16px,66% 16px,66% calc(100% - 16px),100% calc(100% - 16px),50% 100%,0 calc(100% - 16px),34% calc(100% - 16px),34% 16px,0 16px)
	}
	.season-phase--second {
		order: 4
	}
	.season-phase--postseason {
		order: 5
	}
	.season-phase--offseason {
		order: 6
	}
}
/* Player Contract & Support */
.contract-support-section {
	background: #f2f9ff
}
.contract-support-grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr))
}
.contract-support-item {
	padding: 10px 42px 8px
}
.contract-support-item:first-child {
	padding-left: 0;
	border-right: 1px solid #b8d5ed
}
.contract-support-item:last-child {
	padding-right: 0
}
.contract-support-item__label {
	margin: 0 0 12px;
	color: var(--blue);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em
}
.contract-support-item h3 {
	margin: 0 0 15px;
	color: var(--navy);
	font-size: clamp(25px,3vw,38px);
	line-height: 1.15
}
.contract-support-item h3 small {
	font-size: .45em
}
.contract-support-item p {
	margin: 0 0 16px
}
.contract-support-item ul {
	margin: 0;
	padding-left: 20px;
	line-height: 1.7
}
@media (max-width:767px) {
	.contract-support-grid {
		grid-template-columns: 1fr
	}
	.contract-support-item,
	.contract-support-item:first-child,
	.contract-support-item:last-child {
		padding: 28px 0
	}
	.contract-support-item:first-child {
		padding-top: 0;
		border-right: 0;
		border-bottom: 1px solid #b8d5ed
	}
	.contract-support-item:last-child {
		padding-bottom: 0
	}
}
/* Joint Tryout */
.tryout-section {
	padding-top: 35px
}
.tryout-grid {
	display: grid;
	grid-template-columns: 1fr 1.05fr;
	gap: 22px
}
.tryout-details {
	margin: 0;
	padding: 10px 0;
	border: 0;
	background: #fff
}
.tryout-details>div {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 15px;
	padding: 12px 0;
	border-bottom: 1px solid #d9e8f4
}
.tryout-details>div:last-child {
	border-bottom: 0
}
.tryout-details dt {
	color: #075dbb;
	font-weight: 800
}
.tryout-details dd {
	margin: 0
}
.tryout-map {
	display: grid
}
.tryout-map iframe {
	width: 100%;
	height: 290px;
	border: 0
}
.tryout-map a {
	display: grid;
	min-height: 42px;
	place-items: center;
	background: var(--blue);
	color: #fff;
	font-weight: 800;
	transition: background-color .2s ease,letter-spacing .2s ease
}
.tryout-map a:hover,
.tryout-map a:focus-visible {
	background: var(--navy);
	letter-spacing: .04em
}
@media (max-width:800px) {
	.tryout-grid {
		grid-template-columns: 1fr
	}
}
@media (max-width:520px) {
	.tryout-details>div {
		grid-template-columns: 1fr;
		gap: 2px
	}
}
/* Contact */
.contact-section {
	padding: 48px 0 64px;
	background: #fff
}
.contact-email {
	max-width: 820px;
	margin: 0 auto;
	background: #f2f9ff
}
.contact-email__intro,
.contact-email__address,
.contact-email__guide {
	padding: 30px 42px
}
.contact-email__intro {
	background: var(--navy);
	color: #fff;
	font-size: 17px;
	font-weight: 600
}
.contact-email h3 {
	margin: 0 0 12px;
	color: var(--navy);
	font-size: 18px;
	letter-spacing: .04em
}
.contact-email p {
	margin: 0
}
.contact-email__address {
	border-bottom: 1px solid #b8d5ed
}
.contact-email__address p {
	margin-bottom: 14px
}
.contact-email__address a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 28px;
	background: var(--blue);
	color: #fff;
	font-size: clamp(17px,2vw,22px);
	font-weight: 800;
	letter-spacing: .02em;
	transition: background-color .2s ease,transform .2s ease
}
.contact-email__address a:hover,
.contact-email__address a:focus-visible {
	background: var(--navy);
	transform: translateY(-2px)
}
.contact-email__guide>p:first-of-type {
	margin-bottom: 14px
}
.contact-email__guide ul {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 9px 24px;
	margin: 0;
	padding: 0;
	list-style: none
}
.contact-email__guide li {
	position: relative;
	padding-left: 18px;
	color: var(--navy);
	font-weight: 700
}
.contact-email__guide li::before {
	position: absolute;
	top: .55em;
	left: 0;
	width: 7px;
	height: 7px;
	background: var(--blue);
	content: ""
}
.contact-email__note {
	margin-top: 22px!important;
	padding-top: 18px;
	border-top: 1px solid #b8d5ed;
	color: #416c96;
	font-size: 13px;
	line-height: 1.7
}
@media (max-width:520px) {
	.contact-email__intro,
	.contact-email__address,
	.contact-email__guide {
		padding: 25px 20px
	}
	.contact-email__address a {
		width: 100%;
		padding: 0 14px;
		font-size: 15px
	}
	.contact-email__guide ul {
		grid-template-columns: 1fr
	}
}
