.cd-squad-page {
	min-height: 65vh;
	background: #f2f5fa;
}

.cd-squad-hero {
	position: relative;
	overflow: hidden;
	color: #fff;
	background:
		radial-gradient(circle at 82% 35%, rgba(228,167,9, .25), transparent 24%),
		linear-gradient(120deg, #041c46, #1d4189);
	border-bottom: 7px solid var(--cd-yellow);
}

.cd-squad-hero::after {
	position: absolute;
	top: -150px;
	right: 4%;
	width: 430px;
	height: 430px;
	border: 76px solid rgba(255, 255, 255, .045);
	border-radius: 50%;
	content: "";
}

.cd-squad-hero__inner {
	position: relative;
	z-index: 1;
	padding-block: 65px 72px;
}

.cd-squad-hero p {
	margin: 0 0 7px;
	color: var(--cd-yellow);
	font-size: 12px;
	font-weight: 950;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.cd-squad-hero h1 {
	margin: 0;
	font-family: "Lato", Arial, sans-serif;
	font-size: clamp(56px, 9vw, 112px);
	font-weight: 950;
	letter-spacing: -.07em;
	line-height: .84;
}

.cd-squad-hero span {
	display: block;
	max-width: 650px;
	margin-top: 24px;
	color: #dce6f7;
	font-size: 18px;
	line-height: 1.55;
}

.cd-squad-page__content {
	padding-block: 55px 75px;
}

.cd-squad-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px 20px;
}

.cd-squad-card {
	min-width: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid #dce2ed;
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(5,20,46, .08);
	transition: box-shadow .25s ease, transform .25s ease;
}

.cd-squad-card:hover,
.cd-squad-card:focus-within {
	box-shadow: 0 18px 38px rgba(5,20,46, .17);
	transform: translateY(-5px);
}

.cd-squad-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.cd-squad-card__media {
	position: relative;
	height: 315px;
	overflow: hidden;
	background: linear-gradient(145deg, #0e2a5c, #234c9c);
}

.cd-squad-card__image,
.cd-squad-card__placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	object-fit: cover;
	transition: transform .35s ease;
}

.cd-squad-card:hover .cd-squad-card__image {
	transform: scale(1.035);
}

.cd-squad-card__placeholder {
	color: rgba(228,167,9, .9);
	font-size: 76px;
	font-weight: 950;
}

.cd-squad-card__media > strong {
	position: absolute;
	right: 14px;
	bottom: 12px;
	display: grid;
	width: 52px;
	height: 52px;
	place-items: center;
	color: #062458;
	background: var(--cd-yellow);
	border: 3px solid #fff;
	border-radius: 50%;
	box-shadow: 0 5px 14px rgba(0, 0, 0, .24);
	font-size: 21px;
}

.cd-squad-card__body {
	padding: 19px 20px 22px;
}

.cd-squad-card__body p {
	margin: 0 0 5px;
	color: #6d788c;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.cd-squad-card__body h3 {
	margin: 0;
	color: #091f44;
	font-family: "Lato", Arial, sans-serif;
	font-size: 27px;
	font-weight: 950;
	letter-spacing: -.035em;
	line-height: 1;
}

.cd-squad-card__body span {
	display: block;
	margin-top: 15px;
	color: #1d4189;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.cd-squad-card__body span b {
	color: #e8a600;
	font-size: 16px;
}

.cd-squad-empty {
	max-width: 680px;
	margin: 20px auto;
	padding: 55px 35px;
	background: #fff;
	border: 1px solid #dce2ed;
	border-radius: 20px;
	box-shadow: 0 15px 40px rgba(5,20,46, .08);
	text-align: center;
}

.cd-squad-empty > strong {
	display: grid;
	width: 74px;
	height: 74px;
	margin: 0 auto 20px;
	place-items: center;
	color: #071b3d;
	background: var(--cd-yellow);
	border-radius: 50%;
	font-size: 22px;
}

.cd-squad-empty h2 {
	margin: 0 0 10px;
	color: #071b3d;
	font-size: 30px;
}

.cd-squad-empty p {
	max-width: 520px;
	margin: auto;
	color: #637087;
	line-height: 1.6;
}

@media (max-width: 1000px) {
	.cd-squad-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 740px) {
	.cd-squad-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cd-squad-card__media { height: 280px; }
}

@media (max-width: 480px) {
	.cd-squad-hero__inner { padding-block: 48px 55px; }
	.cd-squad-hero span { font-size: 16px; }
	.cd-squad-page__content { padding-block: 32px 50px; }
	.cd-squad-grid { gap: 16px 10px; }
	.cd-squad-card { border-radius: 11px; }
	.cd-squad-card__media { height: 220px; }
	.cd-squad-card__body { padding: 14px 13px 16px; }
	.cd-squad-card__body h3 { font-size: 21px; }
	.cd-squad-card__body span { font-size: 9px; }
	.cd-squad-card__media > strong { right: 9px; bottom: 8px; width: 42px; height: 42px; font-size: 17px; }
}

.cd-squad-group + .cd-squad-group {
	margin-top: 56px;
}

.cd-squad-group__title {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 24px;
	color: #071b3d;
	font-size: 28px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .02em;
}

.cd-squad-group__title::after {
	content: "";
	flex: 1;
	height: 3px;
	background: #e4a709;
}

@media (max-width: 600px) {
	.cd-squad-group + .cd-squad-group { margin-top: 40px; }
	.cd-squad-group__title { font-size: 22px; margin-bottom: 16px; }
}

.cd-castilla-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 5px 10px;
	border-radius: 999px;
	color: #071b3d;
	background: #fff;
	box-shadow: 0 0 0 2px #e4a709;
	font-size: 10px;
	font-style: normal;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}
