/* ==================================================
   CALPE LOCAL — COMPLETE HOMEPAGE
   ================================================== */

.cl-home {
	--cl-home-width: 1380px;
	--cl-serif: "Newsreader", Georgia, "Times New Roman", serif;
	--cl-sans: "Manrope", Arial, Helvetica, sans-serif;
	background: #f6f1e8;
	color: #2d3333;
	font-family: var(--cl-sans);
}

.cl-home,
.cl-home * {
	box-sizing: border-box;
}

.cl-home img {
	max-width: 100%;
}

.cl-home-shell {
	width: min(calc(100% - 48px), var(--cl-home-width));
	margin-inline: auto;
}

/* The homepage now renders from front-page.php. Hide only the previous
   GeneratePress homepage hook if it is still active in WordPress. */
.home .cl-home:not(.cl-home--theme) {
	display: none !important;
}

/* Shared typography */
.cl-home-kicker {
	margin: 0;
	color: #d8764a;
	font-family: var(--cl-sans);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.cl-home-kicker--light {
	color: #ed9b76;
}

.cl-section-heading {
	margin-bottom: 32px;
	padding-bottom: 23px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 430px);
	align-items: end;
	gap: 50px;
	border-bottom: 1px solid #d8d0c4;
}

.cl-section-heading--action {
	grid-template-columns: minmax(0, 1fr) auto;
}

.cl-section-heading h2 {
	margin: 9px 0 0;
	color: #102a2e;
	font-family: var(--cl-serif);
	font-size: clamp(34px, 3.2vw, 46px);
	font-weight: 700;
	line-height: 1.03;
	letter-spacing: -0.04em;
}

.cl-section-heading__copy {
	max-width: 430px;
	margin: 0;
	color: #616a69;
	font-size: 16px;
	line-height: 1.65;
}

.cl-section-heading--light {
	border-color: rgba(255, 255, 255, 0.18);
}

.cl-section-heading--light h2 {
	color: #fffdf8;
}

.cl-section-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding-bottom: 4px;
	border-bottom: 1px solid currentColor;
	color: #102a2e;
	font-size: 13px;
	font-weight: 750;
	text-decoration: none;
	white-space: nowrap;
}

.cl-section-link:hover,
.cl-section-link:focus-visible {
	color: #d8764a;
}

.cl-section-link--light {
	color: #fffdf8;
}

.cl-section-link--light:hover,
.cl-section-link--light:focus-visible {
	color: #ed9b76;
}

/* Hero */
.cl-home-hero {
	padding: 60px 0 76px;
	background: #f6f1e8;
}

.cl-home-intro {
	margin-bottom: 38px;
	padding-bottom: 34px;
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.65fr);
	align-items: end;
	gap: clamp(50px, 8vw, 130px);
	border-bottom: 1px solid #d8d0c4;
}

.cl-home-intro h1 {
	max-width: 900px;
	margin: 12px 0 0;
	color: #102a2e;
	font-family: var(--cl-serif);
	font-size: clamp(48px, 4.4vw, 64px);
	font-weight: 700;
	line-height: 0.99;
	letter-spacing: -0.05em;
}

.cl-home-intro__copy {
	padding-bottom: 6px;
}

.cl-home-intro__copy p {
	max-width: 460px;
	margin: 0;
	color: #505958;
	font-size: clamp(17px, 1.3vw, 20px);
	line-height: 1.65;
}

.cl-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.95fr) minmax(340px, 1fr);
	align-items: stretch;
	gap: 28px;
}

.cl-hero-grid__secondary {
	min-width: 0;
	display: grid;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

/* Generic article cards */
.cl-card {
	min-width: 0;
	overflow: hidden;
	background: #fffdf8;
	border: 1px solid #d8d0c4;
}

.cl-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	background: #102a2e;
	text-decoration: none;
}

.cl-card-image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	transition: transform 450ms ease;
}

.cl-card:hover .cl-card-image {
	transform: scale(1.025);
}

.cl-card-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #102a2e, #2e6f7e);
	color: rgba(255, 255, 255, 0.8);
}

.cl-card-placeholder span {
	font-family: var(--cl-serif);
	font-size: clamp(22px, 3vw, 40px);
	font-weight: 700;
	letter-spacing: -0.04em;
}

.cl-card__body {
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.cl-card__topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.cl-card__category {
	color: #d8764a;
	font-size: 10px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

.cl-card__category:hover,
.cl-card__category:focus-visible {
	color: #102a2e;
}

.cl-card__draft {
	padding: 4px 7px;
	background: #fff2cc;
	color: #6e5400;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.cl-card__title {
	margin: 9px 0 0;
	color: #102a2e;
	font-family: var(--cl-serif);
	font-weight: 700;
	letter-spacing: -0.035em;
}

.cl-card__title a {
	color: inherit;
	text-decoration: none;
}

.cl-card__title a:hover,
.cl-card__title a:focus-visible {
	color: #2e6f7e;
}

.cl-card__excerpt {
	margin: 14px 0 0;
	color: #596260;
	font-size: 15px;
	line-height: 1.6;
}

.cl-card__footer {
	margin-top: auto;
	padding-top: 21px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.cl-card__date {
	color: #747c7a;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
}

.cl-card__read {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #102a2e;
	font-size: 12px;
	font-weight: 750;
	text-decoration: none;
	white-space: nowrap;
}

.cl-card__read:hover,
.cl-card__read:focus-visible {
	color: #d8764a;
}

/* Hero cards */
.cl-card--hero-main {
	display: grid;
	grid-template-rows: auto 1fr;
}

.cl-card--hero-main .cl-card__media {
	aspect-ratio: 16 / 9;
}

.cl-card--hero-main .cl-card__body {
	padding: clamp(28px, 3vw, 43px);
}

.cl-card--hero-main .cl-card__title {
	max-width: 900px;
	font-size: clamp(30px, 2.6vw, 42px);
	line-height: 1.07;
}

.cl-card--hero-main .cl-card__excerpt {
	max-width: 820px;
	font-size: 17px;
	line-height: 1.65;
}

.cl-card--hero-side {
	display: grid;
	grid-template-rows: auto 1fr;
}

.cl-card--hero-side .cl-card__media {
	aspect-ratio: 16 / 8.2;
}

.cl-card--hero-side .cl-card__body {
	padding: 23px 25px 24px;
}

.cl-card--hero-side .cl-card__title {
	font-size: clamp(21px, 1.45vw, 25px);
	line-height: 1.14;
}

/* Standard cards */
.cl-card--standard {
	display: grid;
	grid-template-rows: auto 1fr;
}

.cl-card--standard .cl-card__media {
	aspect-ratio: 3 / 2;
}

.cl-card--standard .cl-card__body {
	padding: 22px 22px 23px;
}

.cl-card--standard .cl-card__title {
	font-size: clamp(20px, 1.25vw, 23px);
	line-height: 1.16;
}

/* Featured explore layout */
.cl-feature-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.75fr) minmax(340px, 0.85fr);
	gap: 30px;
}

.cl-feature-layout--single {
	grid-template-columns: 1fr;
}

.cl-card--feature-main {
	display: grid;
	grid-template-rows: auto 1fr;
}

.cl-card--feature-main .cl-card__media {
	aspect-ratio: 16 / 9;
}

.cl-card--feature-main .cl-card__body {
	padding: clamp(28px, 3vw, 42px);
}

.cl-card--feature-main .cl-card__title {
	font-size: clamp(30px, 2.5vw, 42px);
	line-height: 1.08;
}

.cl-card--feature-main .cl-card__excerpt {
	max-width: 760px;
	font-size: 16px;
}

.cl-feature-layout__list {
	display: grid;
	grid-template-rows: repeat(3, minmax(0, 1fr));
	gap: 17px;
}

.cl-card--compact {
	display: grid;
	grid-template-columns: 155px minmax(0, 1fr);
}

.cl-card--compact .cl-card__media {
	aspect-ratio: auto;
	height: 100%;
	min-height: 145px;
}

.cl-card--compact .cl-card__body {
	justify-content: center;
	padding: 18px 19px;
}

.cl-card--compact .cl-card__title {
	font-size: clamp(17px, 1.1vw, 21px);
	line-height: 1.16;
}

/* Search band */
.cl-home-search {
	padding: 0 0 72px;
	background: #f6f1e8;
}

.cl-search-box {
	padding: 48px 56px;
	display: grid;
	grid-template-columns: minmax(300px, 0.7fr) minmax(500px, 1.3fr);
	grid-template-areas:
		"heading form"
		"heading links";
	align-items: start;
	column-gap: 72px;
	row-gap: 17px;
	background: #102a2e;
}

.cl-search-box__heading {
	grid-area: heading;
	align-self: center;
}

.cl-search-box__heading h2 {
	max-width: 480px;
	margin: 9px 0 0;
	color: #fffdf8;
	font-family: var(--cl-serif);
	font-size: clamp(36px, 3vw, 48px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.04em;
}

.cl-home-search-form {
	grid-area: form;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	background: #fffdf8;
}

.cl-home-search-form input[type="search"] {
	width: 100%;
	height: 60px;
	margin: 0;
	padding: 0 22px;
	border: 0;
	border-radius: 0;
	outline: 0;
	background: transparent;
	color: #2d3333;
	font-family: var(--cl-sans);
	font-size: 15px;
	box-shadow: none;
}

.cl-home-search-form input[type="search"]:focus {
	box-shadow: inset 0 0 0 2px #2e6f7e;
}

.cl-home-search-form button {
	min-width: 130px;
	margin: 0;
	padding: 0 25px;
	border: 0;
	border-radius: 0;
	background: #d8764a;
	color: #ffffff;
	font-family: var(--cl-sans);
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}

.cl-home-search-form button:hover,
.cl-home-search-form button:focus-visible {
	background: #b95e38;
}

.cl-search-links {
	grid-area: links;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.cl-search-links a {
	padding: 8px 12px;
	border: 1px solid rgba(255, 255, 255, 0.24);
	color: rgba(255, 255, 255, 0.86);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.cl-search-links a:hover,
.cl-search-links a:focus-visible {
	border-color: #ed9b76;
	color: #ffffff;
}

/* Main sections */
.cl-home-section {
	padding: 76px 0;
}

.cl-home-section--cream {
	background: #f6f1e8;
}

.cl-home-section--white {
	background: #fffdf8;
}

.cl-home-section--beaches {
	background: #edf3f2;
}

.cl-home-section--latest {
	background: #f6f1e8;
	border-top: 1px solid #d8d0c4;
}

/* Card grids */
.cl-grid {
	display: grid;
	gap: 26px;
}

.cl-grid--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cl-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cl-grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Events */
.cl-home-section--events {
	background: #16383d;
}

.cl-events-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 25px;
}

.cl-card--event {
	display: grid;
	grid-template-rows: auto 1fr;
	background: #fffdf8;
}

.cl-card--event .cl-card__media {
	aspect-ratio: 3 / 2;
}

.cl-card--event .cl-card__body {
	padding: 24px;
}

.cl-card--event .cl-card__title {
	font-size: clamp(21px, 1.5vw, 25px);
	line-height: 1.14;
}

/* Beaches */
.cl-beaches-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 27px;
}

.cl-card--beach {
	display: grid;
	grid-template-rows: auto 1fr;
}

.cl-card--beach .cl-card__media {
	aspect-ratio: 4 / 3;
}

.cl-card--beach .cl-card__body {
	padding: 24px;
}

.cl-card--beach .cl-card__title {
	font-size: clamp(22px, 1.7vw, 27px);
	line-height: 1.12;
}

/* Living in Calpe */
.cl-card--wide {
	display: grid;
	grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
}

.cl-card--wide .cl-card__media {
	min-height: 210px;
}

.cl-card--wide .cl-card__body {
	justify-content: center;
	padding: 25px 27px;
}

.cl-card--wide .cl-card__title {
	font-size: clamp(22px, 1.5vw, 26px);
	line-height: 1.13;
}

/* Newsletter */
.cl-home-newsletter {
	padding: 76px 0;
	background: #fffdf8;
}

.cl-newsletter-panel {
	padding: clamp(40px, 5vw, 70px);
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
	align-items: center;
	gap: clamp(50px, 8vw, 120px);
	background: #102a2e;
}

.cl-newsletter-panel h2 {
	max-width: 760px;
	margin: 10px 0 0;
	color: #fffdf8;
	font-family: var(--cl-serif);
	font-size: clamp(34px, 3.4vw, 50px);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.045em;
}

.cl-newsletter-panel__action p {
	max-width: 440px;
	margin: 0 0 24px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 16px;
	line-height: 1.65;
}

/* Buttons */
.cl-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 49px;
	padding: 0 21px;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.cl-button--cream {
	background: #f6f1e8;
	color: #102a2e;
}

.cl-button--cream:hover,
.cl-button--cream:focus-visible {
	background: #ffffff;
	color: #102a2e;
}

.cl-button--terracotta {
	background: #d8764a;
	color: #ffffff;
}

.cl-button--terracotta:hover,
.cl-button--terracotta:focus-visible {
	background: #b95e38;
	color: #ffffff;
}

/* Business CTA */
.cl-home-business {
	padding: 76px 0;
	background: #f6f1e8;
}

.cl-business-panel {
	padding: clamp(38px, 5vw, 65px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 70px;
	border: 1px solid #cfc5b8;
	background: #fffdf8;
}

.cl-business-panel__copy h2 {
	margin: 9px 0 0;
	color: #102a2e;
	font-family: var(--cl-serif);
	font-size: clamp(34px, 3.2vw, 46px);
	font-weight: 700;
	line-height: 1.03;
	letter-spacing: -0.04em;
}

.cl-business-panel__copy > p:last-child {
	max-width: 730px;
	margin: 18px 0 0;
	color: #5c6563;
	font-size: 16px;
	line-height: 1.65;
}

.cl-business-panel__actions {
	min-width: 225px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.cl-text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #102a2e;
	font-size: 12px;
	font-weight: 750;
	text-decoration: none;
}

.cl-text-link:hover,
.cl-text-link:focus-visible {
	color: #d8764a;
}

/* Local credibility */
.cl-home-local {
	padding: 0 0 72px;
	background: #f6f1e8;
}

.cl-local-strip {
	padding-top: 27px;
	display: grid;
	grid-template-columns: minmax(240px, 0.65fr) minmax(340px, 1.1fr) auto;
	align-items: center;
	gap: 45px;
	border-top: 1px solid #d8d0c4;
}

.cl-local-strip p {
	margin: 0;
}

.cl-local-strip__title {
	color: #102a2e;
	font-family: var(--cl-serif);
	font-size: 23px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.cl-local-strip > p:not(.cl-local-strip__title) {
	color: #66706e;
	font-size: 14px;
	line-height: 1.6;
}

.cl-local-strip a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #102a2e;
	font-size: 12px;
	font-weight: 750;
	text-decoration: none;
	white-space: nowrap;
}

.cl-local-strip a:hover,
.cl-local-strip a:focus-visible {
	color: #d8764a;
}

/* Empty message */
.cl-home-message {
	min-height: 240px;
	padding: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #d8d0c4;
	background: #fffdf8;
	text-align: center;
}

.cl-home-message p {
	max-width: 540px;
	margin: 0;
	color: #66706e;
	font-size: 16px;
	line-height: 1.6;
}

/* Tablet */
@media (max-width: 1050px) {
	.cl-hero-grid {
		grid-template-columns: minmax(0, 1.45fr) minmax(310px, 1fr);
	}

	.cl-grid--four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cl-feature-layout {
		grid-template-columns: minmax(0, 1.35fr) minmax(310px, 0.85fr);
	}

	.cl-card--compact {
		grid-template-columns: 125px minmax(0, 1fr);
	}

	.cl-card--compact .cl-card__body {
		padding: 15px;
	}

	.cl-card--compact .cl-card__title {
		font-size: 18px;
	}

	.cl-business-panel {
		gap: 45px;
	}
}

/* Mobile and small tablet */
@media (max-width: 900px) {
	.cl-home-shell {
		width: min(calc(100% - 32px), var(--cl-home-width));
	}

	.cl-home-hero {
		padding: 46px 0 65px;
	}

	.cl-home-intro {
		display: block;
		margin-bottom: 32px;
		padding-bottom: 31px;
	}

	.cl-home-intro h1 {
		max-width: 730px;
		font-size: clamp(42px, 7vw, 56px);
	}

	.cl-home-intro__copy {
		max-width: 630px;
		margin-top: 23px;
		padding: 0;
	}

	.cl-hero-grid {
		display: block;
	}

	.cl-hero-grid__secondary {
		margin-top: 24px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: none;
		gap: 24px;
	}

	.cl-card--hero-side .cl-card__media {
		aspect-ratio: 3 / 2;
	}

	.cl-home-search {
		padding-bottom: 65px;
	}

	.cl-search-box {
		padding: 38px 34px;
		grid-template-columns: 1fr;
		grid-template-areas:
			"heading"
			"form"
			"links";
		column-gap: 0;
		row-gap: 22px;
	}

	.cl-search-box__heading {
		align-self: auto;
	}

	.cl-search-box__heading h2 {
		max-width: 620px;
	}

	.cl-home-section,
	.cl-home-newsletter,
	.cl-home-business {
		padding: 65px 0;
	}

	.cl-section-heading {
		grid-template-columns: 1fr;
		gap: 18px;
		margin-bottom: 30px;
		padding-bottom: 24px;
	}

	.cl-section-heading--action {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
	}

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

	.cl-feature-layout__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-template-rows: none;
	}

	.cl-card--compact {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto 1fr;
	}

	.cl-card--compact .cl-card__media {
		min-height: 0;
		aspect-ratio: 3 / 2;
	}

	.cl-events-grid,
	.cl-beaches-grid,
	.cl-grid--three {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cl-card--wide {
		grid-template-columns: 180px minmax(0, 1fr);
	}

	.cl-newsletter-panel {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.cl-newsletter-panel__action p {
		max-width: 620px;
	}

	.cl-business-panel {
		grid-template-columns: 1fr;
		gap: 31px;
	}

	.cl-local-strip {
		grid-template-columns: 1fr 1fr;
		gap: 23px 40px;
	}

	.cl-local-strip a {
		grid-column: 1 / -1;
	}
}

/* Phone */
@media (max-width: 650px) {
	.cl-home-shell {
		width: calc(100% - 24px);
	}

	.cl-home-hero {
		padding: 36px 0 51px;
	}

	.cl-home-intro {
		margin-bottom: 23px;
		padding-bottom: 25px;
	}

	.cl-home-intro h1 {
		margin-top: 9px;
		font-size: clamp(38px, 10.5vw, 46px);
		line-height: 1.01;
	}

	.cl-home-intro__copy {
		margin-top: 19px;
	}

	.cl-home-intro__copy p {
		font-size: 16px;
		line-height: 1.58;
	}

	.cl-card--hero-main .cl-card__media {
		aspect-ratio: 3 / 2;
	}

	.cl-card--hero-main .cl-card__body {
		padding: 23px 20px 22px;
	}

	.cl-card--hero-main .cl-card__title {
		font-size: 28px;
		line-height: 1.1;
	}

	.cl-card--hero-main .cl-card__excerpt {
		font-size: 15px;
		line-height: 1.58;
	}

	.cl-hero-grid__secondary {
		display: block;
		margin-top: 17px;
	}

	.cl-card--hero-side + .cl-card--hero-side {
		margin-top: 17px;
	}

	.cl-card--hero-side .cl-card__body {
		padding: 20px;
	}

	.cl-card--hero-side .cl-card__title {
		font-size: 23px;
	}

	.cl-card__footer {
		align-items: flex-start;
		flex-direction: column;
		gap: 9px;
	}

	.cl-home-search {
		padding-bottom: 52px;
	}

	.cl-search-box {
		padding: 30px 20px;
		row-gap: 19px;
	}

	.cl-search-box__heading h2 {
		font-size: 34px;
	}

	.cl-home-search-form {
		grid-template-columns: minmax(0, 1fr) 84px;
	}

	.cl-home-search-form input[type="search"] {
		height: 53px;
		padding: 0 13px;
		font-size: 13px;
	}

	.cl-home-search-form button {
		min-width: 84px;
		padding: 0 10px;
		font-size: 11px;
	}

	.cl-search-links {
		gap: 7px;
	}

	.cl-search-links a {
		padding: 7px 9px;
		font-size: 10px;
	}

	.cl-home-section,
	.cl-home-newsletter,
	.cl-home-business {
		padding: 52px 0;
	}

	.cl-section-heading,
	.cl-section-heading--action {
		display: block;
		margin-bottom: 25px;
		padding-bottom: 22px;
	}

	.cl-section-heading h2 {
		font-size: 34px;
	}

	.cl-section-link {
		margin-top: 18px;
	}

	.cl-grid--four,
	.cl-grid--three,
	.cl-grid--two,
	.cl-events-grid,
	.cl-beaches-grid {
		grid-template-columns: 1fr;
		gap: 17px;
	}

	.cl-card--standard .cl-card__body,
	.cl-card--event .cl-card__body,
	.cl-card--beach .cl-card__body {
		padding: 20px;
	}

	.cl-card--standard .cl-card__title,
	.cl-card--event .cl-card__title {
		font-size: 23px;
	}

	.cl-card--feature-main .cl-card__media {
		aspect-ratio: 3 / 2;
	}

	.cl-card--feature-main .cl-card__body {
		padding: 23px 20px;
	}

	.cl-card--feature-main .cl-card__title {
		font-size: 28px;
	}

	.cl-feature-layout__list {
		display: block;
	}

	.cl-card--compact + .cl-card--compact {
		margin-top: 17px;
	}

	.cl-card--compact {
		grid-template-columns: 120px minmax(0, 1fr);
		grid-template-rows: none;
	}

	.cl-card--compact .cl-card__media {
		height: 100%;
		min-height: 125px;
		aspect-ratio: auto;
	}

	.cl-card--compact .cl-card__title {
		font-size: 19px;
	}

	.cl-card--wide {
		grid-template-columns: 1fr;
	}

	.cl-card--wide .cl-card__media {
		min-height: 0;
		aspect-ratio: 3 / 2;
	}

	.cl-card--wide .cl-card__body {
		padding: 21px 20px;
	}

	.cl-card--wide .cl-card__title {
		font-size: 24px;
	}

	.cl-newsletter-panel {
		padding: 35px 22px;
	}

	.cl-newsletter-panel h2 {
		font-size: 34px;
	}

	.cl-newsletter-panel__action p {
		font-size: 15px;
	}

	.cl-business-panel {
		padding: 33px 21px;
	}

	.cl-business-panel__copy h2 {
		font-size: 34px;
	}

	.cl-business-panel__actions {
		min-width: 0;
	}

	.cl-local-strip {
		grid-template-columns: 1fr;
		gap: 13px;
	}

	.cl-local-strip a {
		grid-column: auto;
		margin-top: 6px;
	}

	.cl-home-local {
		padding-bottom: 52px;
	}
}

/* ==================================================
   HOMEPAGE FLOW REBUILD — VERSION 1.0.38
   ================================================== */

/* The former GeneratePress homepage hook may still be active after updating
   the theme. Keep it harmless while the child-theme homepage takes over. */
.home .cl-home:not(.cl-home--theme) {
	display: none !important;
}

.cl-home--theme {
	display: block;
}

.cl-home--theme .cl-home-business--priority {
	padding: 0 0 72px;
	background: #f6f1e8;
}

.cl-home--theme .cl-home-business--priority .cl-business-panel {
	border: 0;
	background: #102a2e;
}

.cl-home--theme .cl-home-business--priority .cl-business-panel__copy h2 {
	color: #fffdf8;
}

.cl-home--theme .cl-home-business--priority .cl-business-panel__copy > p:last-child {
	color: rgba(255, 255, 255, 0.74);
}

.cl-home--theme .cl-text-link--light {
	color: #fffdf8;
}

.cl-home--theme .cl-text-link--light:hover,
.cl-home--theme .cl-text-link--light:focus-visible {
	color: #ed9b76;
}

.cl-home--theme .cl-home-search {
	padding-bottom: 76px;
}

.cl-home--theme .cl-home-section--plan {
	background: #f6f1e8;
}

.cl-home--theme .cl-home-section--living {
	background: #edf3f2;
}

.cl-section-heading__links {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 20px;
}

.cl-living-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px;
}

.cl-living-grid > :last-child:nth-child(odd) {
	grid-column: 1 / -1;
	max-width: calc(50% - 13px);
}

.cl-card__event-details {
	margin: 18px 0 0;
	padding: 15px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	border-top: 1px solid #ded6ca;
	list-style: none;
}

.cl-card__event-details li {
	position: relative;
	margin: 0;
	padding-left: 12px;
	color: #4f5957;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45;
}

.cl-card__event-details li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.58em;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #d8764a;
}

.cl-home--theme .cl-newsletter-panel {
	grid-template-columns: minmax(0, 1.05fr) minmax(430px, 0.95fr);
}

.cl-home--theme .cl-newsletter-panel__action p {
	margin-bottom: 18px;
}

.cl-home--theme .cl-newsletter-form-wrap {
	width: 100%;
}

.cl-home--theme .cl-newsletter-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 10px;
}

.cl-home--theme .cl-newsletter-form__field {
	min-width: 0;
}

.cl-home--theme .cl-newsletter-form__field label {
	display: block;
	margin-bottom: 7px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.cl-home--theme .cl-newsletter-form input[type="email"] {
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 0;
	background: #fffdf8;
	color: #102a2e;
	font-family: var(--cl-sans);
	font-size: 14px;
	box-shadow: none;
}

.cl-home--theme .cl-newsletter-form button {
	height: 52px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: 0;
	background: #d8764a;
	color: #ffffff;
	font-family: var(--cl-sans);
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
	cursor: pointer;
}

.cl-home--theme .cl-newsletter-form button:hover,
.cl-home--theme .cl-newsletter-form button:focus-visible {
	background: #b95e38;
}

.cl-home--theme .cl-newsletter-form__honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.cl-home--theme .cl-newsletter-form__message {
	margin-bottom: 13px;
	padding: 12px 14px;
	background: rgba(255, 255, 255, 0.1);
	color: #fffdf8;
	font-size: 12px;
	line-height: 1.5;
}

.cl-home--theme .cl-newsletter-form__message strong,
.cl-home--theme .cl-newsletter-form__message span {
	display: block;
}

.cl-newsletter-included {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 13px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 11px;
	font-weight: 750;
	text-decoration: none;
}

.cl-newsletter-included:hover,
.cl-newsletter-included:focus-visible {
	color: #ed9b76;
}

/* The rebuilt page has no repeated latest-post block. */
.cl-home--theme .cl-home-section--latest {
	display: none !important;
}

@media (max-width: 1050px) {
	.cl-home--theme .cl-newsletter-panel {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.cl-living-grid {
		grid-template-columns: 1fr;
	}

	.cl-living-grid > :last-child:nth-child(odd) {
		grid-column: auto;
		max-width: none;
	}
}

@media (max-width: 900px) {
	.cl-home--theme .cl-home-business--priority {
		padding-bottom: 60px;
	}

	.cl-home--theme .cl-business-panel {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.cl-home--theme .cl-business-panel__actions {
		min-width: 0;
	}

	.cl-section-heading__links {
		justify-content: flex-start;
	}
}

@media (max-width: 680px) {
	.cl-home--theme .cl-home-business--priority {
		padding-bottom: 48px;
	}

	.cl-home--theme .cl-home-search {
		padding-bottom: 52px;
	}

	.cl-home--theme .cl-newsletter-form {
		grid-template-columns: 1fr;
	}

	.cl-home--theme .cl-newsletter-form button {
		width: 100%;
	}

	.cl-section-heading__links {
		width: 100%;
		gap: 13px 20px;
	}
}

/* Balanced variable post counts on the rebuilt homepage. */
.cl-home--theme .cl-events-grid {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.cl-home--theme .cl-living-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cl-home--theme .cl-living-grid > :last-child:nth-child(odd) {
	grid-column: auto;
	max-width: none;
}

@media (max-width: 900px) {
	.cl-home--theme .cl-living-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.cl-home--theme .cl-living-grid,
	.cl-home--theme .cl-events-grid {
		grid-template-columns: 1fr;
	}
}

/* ==================================================
   ADAPTIVE HOMEPAGE LAYOUT — VERSION 1.0.40
   ================================================== */

/* Give the commercial conversion area early visibility without placing two
   heavy dark sections back to back. */
.cl-home--theme .cl-home-business--priority {
	padding: 0 0 54px;
	background: #f6f1e8;
}

.cl-home--theme .cl-home-business--priority .cl-business-panel {
	padding: clamp(34px, 4vw, 52px);
	border: 1px solid #d8d0c4;
	border-top: 3px solid #d8764a;
	background: #fffdf8;
	box-shadow: 0 18px 46px rgba(16, 42, 46, 0.055);
}

.cl-home--theme .cl-home-business--priority .cl-business-panel__copy h2 {
	color: #102a2e;
}

.cl-home--theme .cl-home-business--priority .cl-business-panel__copy > p:last-child {
	color: #596260;
}

.cl-home--theme .cl-home-business--priority .cl-text-link {
	color: #102a2e;
}

.cl-home--theme .cl-home-business--priority .cl-text-link:hover,
.cl-home--theme .cl-home-business--priority .cl-text-link:focus-visible {
	color: #d8764a;
}

.cl-home--theme .cl-home-search {
	padding-bottom: 66px;
}

.cl-home--theme .cl-home-section,
.cl-home--theme .cl-home-newsletter {
	padding-top: 68px;
	padding-bottom: 68px;
}

/* Every editorial grid now responds to the number of articles available, so
   a two-story section fills the row instead of leaving empty columns. */
.cl-home--theme .cl-adaptive-grid {
	display: grid;
	gap: 26px;
}

.cl-home--theme .cl-adaptive-grid--1 {
	grid-template-columns: minmax(0, 1fr);
}

.cl-home--theme .cl-adaptive-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cl-home--theme .cl-adaptive-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cl-home--theme .cl-adaptive-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* What’s On returns to three equal event cards rather than allowing one
   remaining post to become an oversized full-width image. */
.cl-home--theme .cl-events-grid.cl-adaptive-grid--1 {
	max-width: 760px;
}

.cl-home--theme .cl-events-grid .cl-card--event {
	height: 100%;
}

.cl-home--theme .cl-events-grid .cl-card--event .cl-card__media {
	aspect-ratio: 16 / 10;
}

.cl-home--theme .cl-events-grid .cl-card--event .cl-card__body {
	padding: 23px 23px 24px;
}

.cl-home--theme .cl-events-grid .cl-card--event .cl-card__title {
	font-size: clamp(22px, 1.45vw, 26px);
}

/* A medium lead and two deliberate secondary stories keep Explore Calpe
   editorial without letting one image dominate the whole homepage. */
.cl-home--theme .cl-feature-layout {
	grid-template-columns: minmax(0, 1.35fr) minmax(360px, 1fr);
	align-items: stretch;
	gap: 24px;
}

.cl-home--theme .cl-card--feature-main .cl-card__media {
	aspect-ratio: 16 / 9.2;
}

.cl-home--theme .cl-card--feature-main .cl-card__body {
	padding: clamp(25px, 2.5vw, 34px);
}

.cl-home--theme .cl-card--feature-main .cl-card__title {
	font-size: clamp(29px, 2.2vw, 37px);
}

.cl-home--theme .cl-card--feature-main .cl-card__excerpt {
	margin-top: 11px;
	font-size: 15px;
	line-height: 1.58;
}

.cl-home--theme .cl-feature-layout__list {
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.cl-home--theme .cl-card--compact {
	grid-template-columns: 170px minmax(0, 1fr);
	height: 100%;
}

.cl-home--theme .cl-card--compact .cl-card__media {
	min-height: 0;
}

.cl-home--theme .cl-card--compact .cl-card__body {
	padding: 20px;
}

.cl-home--theme .cl-card--compact .cl-card__title {
	font-size: clamp(18px, 1.18vw, 22px);
}

.cl-home--theme .cl-card--compact .cl-card__footer {
	padding-top: 14px;
}

/* Two-story Plan Your Day and Living sections become broad editorial cards.
   Three and four-story sections continue to use equal vertical cards. */
.cl-home--theme .cl-adaptive-grid--2 .cl-card--wide {
	grid-template-columns: minmax(190px, 42%) minmax(0, 1fr);
	height: 100%;
}

.cl-home--theme .cl-adaptive-grid--2 .cl-card--wide .cl-card__media {
	min-height: 270px;
}

.cl-home--theme .cl-adaptive-grid--2 .cl-card--wide .cl-card__body {
	padding: 28px;
}

.cl-home--theme .cl-adaptive-grid--2 .cl-card--wide .cl-card__title {
	font-size: clamp(23px, 1.55vw, 28px);
}

.cl-home--theme .cl-plan-grid .cl-card,
.cl-home--theme .cl-living-grid .cl-card {
	height: 100%;
}

.cl-home--theme .cl-home-section--plan {
	background: #f6f1e8;
}

.cl-home--theme .cl-home-section--living {
	background: #edf3f2;
}

@media (max-width: 1120px) {
	.cl-home--theme .cl-adaptive-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cl-home--theme .cl-feature-layout {
		grid-template-columns: minmax(0, 1.2fr) minmax(330px, 0.9fr);
	}

	.cl-home--theme .cl-card--compact {
		grid-template-columns: 145px minmax(0, 1fr);
	}
}

@media (max-width: 900px) {
	.cl-home--theme .cl-home-business--priority {
		padding-bottom: 48px;
	}

	.cl-home--theme .cl-home-section,
	.cl-home--theme .cl-home-newsletter {
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.cl-home--theme .cl-feature-layout {
		grid-template-columns: 1fr;
	}

	.cl-home--theme .cl-feature-layout__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: none;
	}

	.cl-home--theme .cl-card--compact {
		grid-template-columns: 1fr;
		grid-template-rows: auto 1fr;
	}

	.cl-home--theme .cl-card--compact .cl-card__media {
		aspect-ratio: 16 / 10;
	}

	.cl-home--theme .cl-adaptive-grid--2 .cl-card--wide {
		grid-template-columns: 1fr;
		grid-template-rows: auto 1fr;
	}

	.cl-home--theme .cl-adaptive-grid--2 .cl-card--wide .cl-card__media {
		min-height: 0;
		aspect-ratio: 16 / 10;
	}
}

@media (max-width: 760px) {
	.cl-home--theme .cl-adaptive-grid--2,
	.cl-home--theme .cl-adaptive-grid--3,
	.cl-home--theme .cl-adaptive-grid--4,
	.cl-home--theme .cl-feature-layout__list {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.cl-home--theme .cl-card--compact {
		grid-template-columns: 122px minmax(0, 1fr);
		grid-template-rows: none;
	}

	.cl-home--theme .cl-card--compact .cl-card__media {
		height: 100%;
		min-height: 132px;
		aspect-ratio: auto;
	}

	.cl-home--theme .cl-card--compact .cl-card__body {
		padding: 17px;
	}

	.cl-home--theme .cl-card--compact .cl-card__footer {
		display: none;
	}
}

@media (max-width: 650px) {
	.cl-home--theme .cl-home-business--priority {
		padding-bottom: 42px;
	}

	.cl-home--theme .cl-home-business--priority .cl-business-panel {
		padding: 30px 21px;
	}

	.cl-home--theme .cl-home-section,
	.cl-home--theme .cl-home-newsletter {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.cl-home--theme .cl-events-grid .cl-card--event .cl-card__body,
	.cl-home--theme .cl-adaptive-grid--2 .cl-card--wide .cl-card__body {
		padding: 20px;
	}
}

/* ==================================================
   COMPACT HOMEPAGE HERO AND TYPE SCALE — VERSION 1.0.41
   ================================================== */

/* A shorter introduction and calmer type scale keep the opening editorial
   without allowing the headline or a single story to dominate the screen. */
.cl-home--theme .cl-home-hero {
	padding-top: 48px;
	padding-bottom: 62px;
}

.cl-home--theme .cl-home-intro {
	margin-bottom: 28px;
	padding-bottom: 27px;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.62fr);
	gap: clamp(42px, 7vw, 105px);
}

.cl-home--theme .cl-home-intro h1 {
	max-width: 760px;
	font-size: clamp(40px, 3.75vw, 52px);
	line-height: 1.01;
	letter-spacing: -0.045em;
}

.cl-home--theme .cl-home-intro__copy p {
	max-width: 410px;
	font-size: clamp(15px, 1.08vw, 17px);
	line-height: 1.58;
}

/* One horizontal lead story followed by two compact horizontal stories. */
.cl-home--theme .cl-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 22px;
}

.cl-home--theme .cl-card--hero-main {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(320px, 2fr);
	grid-template-rows: none;
	min-height: 410px;
}

.cl-home--theme .cl-card--hero-main .cl-card__media {
	min-height: 410px;
	aspect-ratio: auto;
}

.cl-home--theme .cl-card--hero-main .cl-card__body {
	justify-content: center;
	padding: clamp(28px, 3.2vw, 44px);
}

.cl-home--theme .cl-card--hero-main .cl-card__title {
	max-width: 520px;
	font-size: clamp(27px, 2.15vw, 32px);
	line-height: 1.08;
}

.cl-home--theme .cl-card--hero-main .cl-card__excerpt {
	max-width: 520px;
	margin-top: 12px;
	font-size: 15px;
	line-height: 1.58;
}

.cl-home--theme .cl-hero-grid__secondary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: none;
	gap: 22px;
}

.cl-home--theme .cl-card--hero-side {
	display: grid;
	grid-template-columns: minmax(175px, 41%) minmax(0, 1fr);
	grid-template-rows: none;
	min-height: 205px;
}

.cl-home--theme .cl-card--hero-side .cl-card__media {
	height: 100%;
	min-height: 205px;
	aspect-ratio: auto;
}

.cl-home--theme .cl-card--hero-side .cl-card__body {
	justify-content: center;
	padding: 22px 24px;
}

.cl-home--theme .cl-card--hero-side .cl-card__topline {
	display: none;
}

.cl-home--theme .cl-card--hero-side .cl-card__title {
	margin-top: 0;
	font-size: clamp(19px, 1.35vw, 22px);
	line-height: 1.13;
}

.cl-home--theme .cl-card--hero-side .cl-card__excerpt {
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.52;
}

.cl-home--theme .cl-card--hero-side .cl-card__footer {
	padding-top: 15px;
}

/* Smaller, consistent headings across the rest of the homepage. */
.cl-home--theme .cl-section-heading h2 {
	font-size: clamp(30px, 2.65vw, 38px);
	line-height: 1.04;
}

.cl-home--theme .cl-search-box__heading h2 {
	font-size: clamp(31px, 2.75vw, 40px);
}

.cl-home--theme .cl-business-panel__copy h2 {
	font-size: clamp(30px, 2.65vw, 38px);
}

.cl-home--theme .cl-newsletter-panel h2 {
	font-size: clamp(31px, 2.9vw, 42px);
}

.cl-home--theme .cl-card--standard .cl-card__title {
	font-size: clamp(19px, 1.18vw, 22px);
}

.cl-home--theme .cl-events-grid .cl-card--event .cl-card__title {
	font-size: clamp(20px, 1.3vw, 23px);
}

.cl-home--theme .cl-card--feature-main .cl-card__title {
	font-size: clamp(27px, 2vw, 32px);
}

.cl-home--theme .cl-card--compact .cl-card__title {
	font-size: clamp(17px, 1.05vw, 20px);
}

.cl-home--theme .cl-adaptive-grid--2 .cl-card--wide .cl-card__title {
	font-size: clamp(20px, 1.35vw, 23px);
}

@media (max-width: 1050px) {
	.cl-home--theme .cl-card--hero-main {
		grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.85fr);
	}

	.cl-home--theme .cl-card--hero-side {
		grid-template-columns: minmax(145px, 38%) minmax(0, 1fr);
	}
}

@media (max-width: 900px) {
	.cl-home--theme .cl-home-intro {
		grid-template-columns: 1fr;
		gap: 17px;
	}

	.cl-home--theme .cl-home-intro__copy {
		max-width: 590px;
		margin-top: 0;
	}

	.cl-home--theme .cl-card--hero-main {
		grid-template-columns: 1fr;
		grid-template-rows: auto 1fr;
		min-height: 0;
	}

	.cl-home--theme .cl-card--hero-main .cl-card__media {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.cl-home--theme .cl-card--hero-main .cl-card__body {
		padding: 28px;
	}

	.cl-home--theme .cl-card--hero-side {
		grid-template-columns: 1fr;
		grid-template-rows: auto 1fr;
		min-height: 0;
	}

	.cl-home--theme .cl-card--hero-side .cl-card__media {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}
}

@media (max-width: 700px) {
	.cl-home--theme .cl-home-hero {
		padding-top: 34px;
		padding-bottom: 48px;
	}

	.cl-home--theme .cl-home-intro {
		margin-bottom: 21px;
		padding-bottom: 22px;
	}

	.cl-home--theme .cl-home-intro h1 {
		font-size: clamp(35px, 9.4vw, 40px);
		line-height: 1.02;
	}

	.cl-home--theme .cl-home-intro__copy p {
		font-size: 15px;
	}

	.cl-home--theme .cl-hero-grid__secondary {
		grid-template-columns: 1fr;
		gap: 17px;
		margin-top: 0;
	}

	.cl-home--theme .cl-card--hero-main .cl-card__body {
		padding: 23px 20px;
	}

	.cl-home--theme .cl-card--hero-main .cl-card__title {
		font-size: 26px;
	}

	.cl-home--theme .cl-card--hero-side {
		grid-template-columns: 118px minmax(0, 1fr);
		grid-template-rows: none;
	}

	.cl-home--theme .cl-card--hero-side .cl-card__media {
		height: 100%;
		min-height: 132px;
		aspect-ratio: auto;
	}

	.cl-home--theme .cl-card--hero-side .cl-card__body {
		padding: 17px;
	}

	.cl-home--theme .cl-card--hero-side .cl-card__excerpt,
	.cl-home--theme .cl-card--hero-side .cl-card__date {
		display: none;
	}

	.cl-home--theme .cl-card--hero-side .cl-card__footer {
		padding-top: 11px;
	}

	.cl-home--theme .cl-card--hero-side .cl-card__title {
		font-size: 19px;
	}

	.cl-home--theme .cl-section-heading h2,
	.cl-home--theme .cl-search-box__heading h2,
	.cl-home--theme .cl-business-panel__copy h2,
	.cl-home--theme .cl-newsletter-panel h2 {
		font-size: 30px;
	}

	.cl-home--theme .cl-card--standard .cl-card__title,
	.cl-home--theme .cl-events-grid .cl-card--event .cl-card__title {
		font-size: 21px;
	}

	.cl-home--theme .cl-card--feature-main .cl-card__title {
		font-size: 26px;
	}
}

/* ==================================================
   FINAL HOMEPAGE OPENING REFINEMENTS — VERSION 1.0.42
   ================================================== */

/* Shorten the lead story so the opening does not carry a large unused text
   area beneath the excerpt. */
.cl-home--theme .cl-card--hero-main {
	min-height: 350px;
}

.cl-home--theme .cl-card--hero-main .cl-card__media {
	min-height: 350px;
}

.cl-home--theme .cl-card--hero-main .cl-card__body {
	padding: clamp(26px, 2.7vw, 38px);
}

.cl-home--theme .cl-card--hero-main .cl-card__footer {
	padding-top: 16px;
}

.cl-home--theme .cl-card--hero-side .cl-card__title {
	font-size: clamp(18px, 1.28vw, 21px);
}

/* Keep the revenue CTA prominent, but make the panel feel tighter and more
   deliberate than a full content section. */
.cl-home--theme .cl-home-business--priority {
	padding-bottom: 48px;
}

.cl-home--theme .cl-home-business--priority .cl-business-panel {
	padding: clamp(28px, 3.3vw, 42px);
	gap: clamp(36px, 5vw, 64px);
}

.cl-home--theme .cl-home-business--priority .cl-business-panel__copy > p:last-child {
	margin-top: 14px;
}

.cl-home--theme .cl-home-business--priority .cl-business-panel__actions {
	gap: 11px;
}

/* Reduce the search heading so the search band supports the business CTA
   rather than competing with it. */
.cl-home--theme .cl-search-box__heading h2 {
	font-size: clamp(29px, 2.45vw, 36px);
	line-height: 1.02;
}

@media (max-width: 900px) {
	.cl-home--theme .cl-card--hero-main,
	.cl-home--theme .cl-card--hero-main .cl-card__media {
		min-height: 0;
	}

	.cl-home--theme .cl-home-business--priority .cl-business-panel {
		gap: 22px;
	}
}

@media (max-width: 700px) {
	.cl-home--theme .cl-card--hero-side .cl-card__title {
		font-size: 18px;
	}

	.cl-home--theme .cl-search-box__heading h2 {
		font-size: 28px;
	}

	.cl-home--theme .cl-home-business--priority .cl-business-panel {
		padding: 27px 20px;
	}
}

/* ==================================================
   TIGHTER LEAD STORY — VERSION 1.0.43
   ================================================== */

/* On wide screens the lead story uses a controlled editorial height. This
   crops the image into a panoramic frame and prevents the copy panel from
   inheriting an oversized empty area from the image's natural proportions. */
@media (min-width: 901px) {
	.cl-home--theme .cl-card--hero-main {
		height: 330px;
		min-height: 0;
		grid-template-columns: minmax(0, 1.7fr) minmax(340px, 1fr);
	}

	.cl-home--theme .cl-card--hero-main .cl-card__media {
		height: 330px;
		min-height: 0;
		aspect-ratio: auto;
	}

	.cl-home--theme .cl-card--hero-main .cl-card__body {
		height: 330px;
		justify-content: flex-start;
		padding: 27px 32px 25px;
	}

	.cl-home--theme .cl-card--hero-main .cl-card__title {
		font-size: clamp(25px, 1.9vw, 30px);
		line-height: 1.08;
	}

	.cl-home--theme .cl-card--hero-main .cl-card__excerpt {
		margin-top: 10px;
		font-size: 14px;
		line-height: 1.55;
	}

	.cl-home--theme .cl-card--hero-main .cl-card__footer {
		padding-top: 14px;
	}
}


/* ==================================================
   EQUAL EXPLORE CALPE CARDS — VERSION 1.0.47
   ================================================== */

/* Explore Calpe now uses a simple equal-card row instead of repeating the
   homepage lead-story layout. The full card is clickable and the visual
   hierarchy comes from consistent landscape images, titles and short copy. */
.cl-home--theme .cl-explore-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(22px, 2.2vw, 30px);
}

.cl-home--theme .cl-explore-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cl-home--theme .cl-explore-grid--1 {
	grid-template-columns: minmax(0, 680px);
}

.cl-home--theme .cl-explore-card {
	min-width: 0;
}

.cl-home--theme .cl-explore-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: #102a2e;
	text-decoration: none;
}

.cl-home--theme .cl-explore-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #e7e1d7;
}

.cl-home--theme .cl-explore-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
}

.cl-home--theme .cl-explore-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 20px 0 0;
	border-bottom: 1px solid rgba(16, 42, 46, 0.2);
}

.cl-home--theme .cl-explore-card__title {
	margin: 0;
	font-family: var(--cl-serif);
	font-size: clamp(21px, 1.45vw, 25px);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.025em;
}

.cl-home--theme .cl-explore-card__excerpt {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	margin: 12px 0 0;
	color: #5f6866;
	font-size: 14px;
	line-height: 1.55;
}

.cl-home--theme .cl-explore-card__date {
	margin-top: auto;
	padding: 19px 0 17px;
	color: #6c7472;
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.01em;
}

.cl-home--theme .cl-explore-card__link:hover .cl-explore-card__media img,
.cl-home--theme .cl-explore-card__link:focus-visible .cl-explore-card__media img {
	transform: scale(1.025);
}

.cl-home--theme .cl-explore-card__link:hover .cl-explore-card__title,
.cl-home--theme .cl-explore-card__link:focus-visible .cl-explore-card__title {
	color: #d8764a;
}

.cl-home--theme .cl-explore-card__link:focus-visible {
	outline: 2px solid #d8764a;
	outline-offset: 5px;
}

@media (max-width: 980px) {
	.cl-home--theme .cl-explore-grid,
	.cl-home--theme .cl-explore-grid--2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cl-home--theme .cl-explore-grid .cl-explore-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		max-width: calc(50% - 11px);
	}
}

@media (max-width: 700px) {
	.cl-home--theme .cl-explore-grid,
	.cl-home--theme .cl-explore-grid--2,
	.cl-home--theme .cl-explore-grid--1 {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.cl-home--theme .cl-explore-grid .cl-explore-card:last-child:nth-child(odd) {
		grid-column: auto;
		max-width: none;
	}

	.cl-home--theme .cl-explore-card__media {
		aspect-ratio: 16 / 9;
	}

	.cl-home--theme .cl-explore-card__body {
		padding-top: 16px;
	}

	.cl-home--theme .cl-explore-card__title {
		font-size: 22px;
	}

	.cl-home--theme .cl-explore-card__date {
		padding-top: 15px;
	}
}
