@font-face {
	font-family: "Alex Brush";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/alex-brush-regular.ttf") format("truetype");
}

@font-face {
	font-family: "Kaushan Script";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/kaushan-script-regular.ttf") format("truetype");
}

:root {
	--pelican-blue: #063b66;
	--pelican-blue-2: #0a5f90;
	--pelican-gold: #e49b06;
	--pelican-ink: #14202b;
	--pelican-muted: #5d6b78;
	--pelican-cloud: #f4f8fb;
	--pelican-line: #dce7ef;
	--pelican-white: #fff;
	--shadow-soft: 0 18px 50px rgba(6, 59, 102, 0.12);
	--radius-lg: 22px;
	--radius-md: 14px;
	--container: min(1180px, calc(100vw - 40px));
}

/* Buyer-focused FAQ: styles are scoped to this page. */
.faq-buy { color: #063b66; background: #fff; }
.faq-buy-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 330px; display: flex; align-items: center; }
.faq-buy-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; }
.faq-buy-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(3,43,63,.72),rgba(3,43,63,.34) 42%,transparent 72%); }
.faq-buy-hero-content { padding-block: 54px; }
.faq-buy-hero h1 { font-family: Arial,Helvetica,sans-serif; font-size: clamp(36px,4.6vw,62px); font-weight: 800; line-height: 1.08; letter-spacing: -.025em; color: white; margin: 0 0 16px; }
.faq-buy-hero p { color: #fff; font-size: clamp(16px,1.6vw,21px); font-weight: 600; margin: 0 0 16px; }
.faq-buy-wave { display: block; width: 120px; height: 12px; fill: none; stroke: #62bdcb; stroke-width: 2; }
.faq-buy-hero .faq-buy-wave { stroke: #b2ebef; }
.faq-buy-body { padding: 38px 0; }
.faq-buy-heading { text-align: center; margin-bottom: 30px; }
.faq-buy-heading h2 { font-family: Georgia,serif; font-size: clamp(27px,3.5vw,44px); line-height: 1.15; letter-spacing: -.035em; margin: 0 0 8px; }
.faq-buy-kicker { color: #c38a09; font-size: 14px; letter-spacing: .23em; font-weight: 700; margin: 0 0 15px; }
.faq-buy-heading .faq-buy-wave { margin: 0 auto 16px; }
.faq-buy-intro { font-size: 17px; line-height: 1.5; margin: 0; color: #273f52; }
.faq-buy-intro strong { color: #087ca7; font-weight: 600; }
.faq-buy-grid { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(0,1fr); gap: 22px; align-items: stretch; }
.faq-buy-questions { display: grid; gap: 13px; align-content: start; }
.faq-buy-item { border: 1px solid #dfe9ed; border-radius: 7px; background: #fff; box-shadow: 0 2px 9px #063b660c; overflow: hidden; }
.faq-buy-item summary { display: grid; grid-template-columns: 32px 58px minmax(0,1fr) 14px; gap: 15px; align-items: center; padding: 17px; min-height: 112px; list-style: none; cursor: pointer; }
.faq-buy-item summary::-webkit-details-marker { display: none; }
.faq-buy-item summary:focus-visible { outline: 3px solid #e49b06; outline-offset: -3px; }
.faq-buy-number { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #0889b5; color: white; font-size: 21px; }
.faq-buy-icon { display: grid; place-items: center; width: 58px; height: 58px; background: #f0f8fb; border-radius: 50%; }
.faq-buy-icon svg { width: 42px; height: 42px; fill: none; stroke: #063b66; stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
.faq-buy-question strong { display: block; font-size: 16px; line-height: 1.25; font-weight: 650; }
.faq-buy-question > span { display: block; font-size: 13.5px; color: #52616d; line-height: 1.35; margin-top: 5px; }
.faq-buy-chevron { width: 9px; height: 9px; border-right: 2px solid #159ac0; border-bottom: 2px solid #159ac0; transform: rotate(45deg); transition: transform .15s; }
.faq-buy-item[open] .faq-buy-chevron { transform: rotate(225deg); }
.faq-buy-answer { padding: 0 20px 18px 137px; color: #354e61; font-size: 14px; line-height: 1.6; }
.faq-buy-answer p { margin: 0; }
.faq-buy-aside { padding: 30px 24px; border-radius: 9px; background: #e4f6fb; }
.faq-buy-script { font-family: "Alex Brush",cursive; font-size: clamp(32px,3.6vw,47px); text-align: center; line-height: 1.2; font-weight: 400; color: #087ca7; margin: 0 0 8px; }
.faq-buy-aside h2 { font-family: Georgia,serif; text-align: center; font-size: clamp(19px,2vw,25px); letter-spacing: -.04em; line-height: 1.25; margin: 0 0 28px; }
.faq-buy-aside ul { padding: 0; list-style: none; display: grid; gap: 20px; margin: 0 0 28px; }
.faq-buy-aside li { display: flex; gap: 13px; align-items: flex-start; font-size: 16px; line-height: 1.4; }
.faq-buy-aside li > span { width: 25px; height: 25px; flex-shrink: 0; background: #078cb7; border-radius: 50%; display: grid; place-items: center; color: white; }
.faq-buy-aside > .faq-buy-wave { width: 100%; margin-bottom: 24px; }
.faq-buy-contact { padding: 22px 18px; border-radius: 8px; background: #ffffffdb; }
.faq-buy-contact h3 { font-family: Georgia,serif; text-align: center; font-size: 24px; line-height: 1.2; letter-spacing: -.025em; margin: 0 0 16px; }
.faq-buy-cta { display: flex; justify-content: center; align-items: center; min-height: 50px; padding: 12px; background: #f3ba3d; border-radius: 9px; color: #063b66; font-weight: 700; font-size: 15px; text-align: center; margin-bottom: 16px; }
.faq-buy-cta:hover { background: #e8a91c; }
.faq-buy-contact-link { display: flex; gap: 10px; align-items: center; font-size: 16px; margin-top: 10px; overflow-wrap: anywhere; }
.faq-buy-contact-link > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #078cb7; color: white; flex-shrink: 0; }
.faq-buy-closing { padding: 27px 20px; text-align: center; background: #e4f6fb url("../images/aruba-palms.jpeg") center/cover; }
.faq-buy-closing p { font-family: "Alex Brush",cursive; font-size: 39px; margin: 0 0 6px; line-height: 1.2; }
.faq-buy-closing strong { font-size: 12px; letter-spacing: .25em; }
.faq-buy-closing .faq-buy-wave { margin: 12px auto 0; }
@media(max-width: 900px) {
 .faq-buy-grid { grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); gap: 16px; }
 .faq-buy-item summary { grid-template-columns: 28px 40px minmax(0,1fr) 10px; gap: 9px; padding: 13px; }
 .faq-buy-icon { width: 40px; height: 45px; }.faq-buy-icon svg { width: 34px; height: 34px; }
 .faq-buy-number { width: 28px; height: 28px; font-size: 18px; }
 .faq-buy-aside { padding: 25px 16px; }.faq-buy-answer { padding-left: 100px; }
 .faq-buy-contact { padding: 18px 12px; }.faq-buy-contact-link { font-size: 14px; }
}
@media(max-width: 680px) {
 .faq-buy-hero { min-height: 255px; }.faq-buy-hero-content { padding-block: 35px; }
 .faq-buy-hero h1 { font-size: clamp(30px,8vw,42px); }.faq-buy-hero p { max-width: 250px; }
 .faq-buy-hero::after { background: linear-gradient(90deg,#032b3fc9,#032b3f50 80%,#032b3f20); }
 .faq-buy-body { padding: 28px 0; }.faq-buy-grid { grid-template-columns: 1fr; }
 .faq-buy-kicker { font-size: 11px; letter-spacing: .15em; }.faq-buy-intro { font-size: 14px; }
 .faq-buy-intro br { display: none; }.faq-buy-intro strong { display: block; margin-top: 5px; }
 .faq-buy-question strong { font-size: 15px; }.faq-buy-question > span { font-size: 12px; }
 .faq-buy-item summary { min-height: 100px; }.faq-buy-answer { padding-left: 18px; }
 .faq-buy-aside { padding: 26px; }.faq-buy-aside ul { gap: 15px; }
 .faq-buy-script { font-size: 43px; }.faq-buy-aside h2 { font-size: 24px; }
 .faq-buy-closing p { font-size: 33px; }.faq-buy-closing strong { font-size: 10px; letter-spacing: .16em; }
}

/* Refined FAQ landing page. */
.faq-new-hero {
	position: relative;
	min-height: clamp(430px, 34vw, 570px);
	overflow: hidden;
	background: #dff3fc;
}

.faq-new-hero-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.faq-new-hero::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(247, 252, 255, .96) 0%, rgba(247, 252, 255, .82) 32%, rgba(247, 252, 255, .18) 58%, transparent 76%);
	content: "";
	pointer-events: none;
}

.faq-new-hero-inner {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: inherit;
	align-items: center;
	justify-content: space-between;
	padding-block: clamp(3rem, 7vw, 6rem);
}

.faq-new-hero-copy {
	width: min(720px, 62%);
}

.faq-new-hero-copy .eyebrow {
	margin-bottom: .85rem;
	color: var(--pelican-gold);
}

.faq-new-hero-copy h1 {
	max-width: 720px;
	margin: 0 0 1rem;
	color: var(--pelican-blue);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(3.25rem, 4.45vw, 5rem);
	font-weight: 750;
	letter-spacing: -.045em;
	line-height: .94;
}

.faq-new-hero-copy h1 span {
	display: block;
	white-space: nowrap;
}

.faq-new-hero-copy > p:last-child {
	max-width: 580px;
	margin: 0;
	color: #29495f;
	font-size: clamp(1rem, 1.4vw, 1.22rem);
	font-weight: 620;
	line-height: 1.55;
}

.faq-new-script {
	position: absolute;
	right: clamp(2rem, 7vw, 7rem);
	top: 32%;
	width: 245px;
	margin: 0;
	color: var(--pelican-blue);
	font-family: "Alex Brush", "Snell Roundhand", cursive;
	font-size: clamp(1.8rem, 2.55vw, 2.8rem);
	font-weight: 400;
	line-height: .86;
	text-align: left;
	text-shadow: 0 2px 10px rgba(255,255,255,.85);
	transform: rotate(-5deg);
}

.faq-new-script span {
	display: block;
	white-space: nowrap;
}

.faq-new-script::after {
	display: block;
	width: 106px;
	height: 12px;
	margin: .58rem 0 0 1rem;
	border-top: 4px solid var(--pelican-gold);
	border-radius: 50%;
	content: "";
	transform: rotate(-6deg) skewX(-12deg);
}

.faq-new-section {
	background: linear-gradient(180deg, #fbfdff, var(--pelican-white));
}

.faq-new-list {
	display: grid;
	max-width: 1120px;
	gap: .8rem;
}

.faq-new-item {
	overflow: hidden;
	border: 1px solid #d6e3ec;
	border-radius: 12px;
	background: var(--pelican-white);
	box-shadow: 0 7px 22px rgba(6, 59, 102, .06);
}

.faq-new-item summary {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) 28px;
	gap: 1rem;
	align-items: center;
	min-height: 74px;
	padding: .7rem 1.25rem .7rem .9rem;
	color: var(--pelican-blue);
	cursor: pointer;
	font-size: clamp(.98rem, 1.25vw, 1.12rem);
	font-weight: 850;
	list-style: none;
}

.faq-new-item summary::-webkit-details-marker {
	display: none;
}

.faq-new-number {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border-radius: 50%;
	background: #e7f4fb;
	color: var(--pelican-blue);
	font-size: .92rem;
	font-weight: 900;
}

.faq-new-toggle {
	position: relative;
	display: block;
	width: 14px;
	height: 14px;
	border-right: 3px solid var(--pelican-blue-2);
	border-bottom: 3px solid var(--pelican-blue-2);
	transform: rotate(45deg) translate(-2px, -2px);
	transition: transform .2s ease;
}

.faq-new-item[open] .faq-new-toggle {
	transform: rotate(225deg) translate(-2px, -2px);
}

.faq-new-answer {
	padding: 0 4.5rem 1.25rem 5.95rem;
}

.faq-new-answer p {
	max-width: 930px;
	margin: 0;
	color: var(--pelican-muted);
	font-size: 1rem;
	line-height: 1.7;
}

@media (max-width: 900px) {
	.faq-new-hero {
		min-height: 610px;
	}

	.faq-new-hero-image {
		object-position: 60% center;
	}

	.faq-new-hero::after {
		background: linear-gradient(180deg, rgba(247,252,255,.94) 0%, rgba(247,252,255,.74) 49%, rgba(247,252,255,.05) 78%);
	}

	.faq-new-hero-inner {
		align-items: flex-start;
	}

	.faq-new-hero-copy {
		width: min(650px, 100%);
	}

	.faq-new-script {
		right: 1.2rem;
		top: auto;
		bottom: 2rem;
		width: 205px;
	}
}

@media (max-width: 560px) {
	.faq-new-hero {
		min-height: 570px;
	}

	.faq-new-hero-image {
		object-position: 64% bottom;
	}

	.faq-new-hero-copy h1 {
		font-size: clamp(2.8rem, 14vw, 4rem);
	}

	.faq-new-hero-copy h1 span {
		white-space: normal;
	}

	.faq-new-script {
		right: .5rem;
		bottom: 1.35rem;
		width: 175px;
		font-size: 1.65rem;
	}

	.faq-new-item summary {
		grid-template-columns: 42px minmax(0, 1fr) 20px;
		gap: .7rem;
		min-height: 68px;
		padding: .65rem .85rem .65rem .7rem;
	}

	.faq-new-number {
		width: 40px;
		height: 40px;
		font-size: .78rem;
	}

	.faq-new-answer {
		padding: 0 1rem 1.1rem 4rem;
	}
}

/* Photo-gallery-only model features. */
.gallery-photo-collection { display: grid; gap: 2.5rem; }
.gallery-photo-feature { position: relative; isolation: isolate; overflow: hidden; border-radius: 24px; background: #123b5b; color: #fff; }
.gallery-feature-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: var(--gallery-photo-position, 50% 50%); }
.gallery-photo-feature::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,30,48,.86), rgba(5,30,48,.48) 48%, rgba(5,30,48,.06) 77%), linear-gradient(0deg, rgba(5,30,48,.35), transparent 60%); }
.gallery-feature-layout { display: grid; grid-template-columns: minmax(0,1fr) 270px; gap: clamp(1.5rem,4vw,4rem); align-items: center; min-height: 510px; padding: clamp(1.5rem,4vw,3.5rem); }
.gallery-feature-copy .eyebrow { color: #f7be42; margin-bottom: .8rem; }
.gallery-feature-copy h1, .gallery-feature-copy h2 { margin: 0 0 1rem; color: #fff; font-size: clamp(2rem,4.4vw,4rem); line-height: 1.04; letter-spacing: -.035em; overflow-wrap: anywhere; }
.gallery-feature-copy h1 span, .gallery-feature-copy h2 span { display: block; margin-top: .25rem; font-weight: 400; font-size: .85em; letter-spacing: -.025em; }
.gallery-feature-intro { max-width: 560px; font-size: 1.05rem; line-height: 1.6; }
.gallery-feature-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.gallery-feature-actions a { display: inline-flex; align-items: center; justify-content: center; gap: .8rem; min-height: 50px; padding: .8rem 1.3rem; border-radius: 999px; font-weight: 800; font-size: .92rem; text-align: center; }
.gallery-details-button { background: #f4b52b; color: #123b5b; border: 2px solid #f4b52b; }
.gallery-price-button { background: rgba(6,59,102,.5); color: #fff; border: 2px solid rgba(255,255,255,.85); }
.gallery-feature-actions a:hover { background: #fff; color: #123b5b; }
.gallery-collection-link { display: inline-block; margin-top: 1rem; color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.gallery-feature-specs { padding: 1.7rem; border-radius: 18px; background: rgba(255,255,255,.96); color: #123b5b; box-shadow: 0 14px 36px rgba(0,0,0,.14); }
.gallery-feature-specs h3 { margin: 0 0 1rem; font-size: 1.5rem; color: #123b5b; }
.gallery-feature-specs dl { margin: 0 0 1.5rem; }
.gallery-feature-specs dl > div { display: grid; grid-template-columns: .85fr 1.15fr; gap: .5rem; padding: .55rem 0; border-bottom: 1px solid #dce3e8; font-size: .85rem; }
.gallery-feature-specs dt { font-weight: 700; }
.gallery-feature-specs dd { margin: 0; overflow-wrap: anywhere; }
.gallery-feature-specs a { color: #123b5b; font-weight: 800; font-size: .9rem; }
.gallery-model-photo-hero .gallery-photo-feature { border-radius: 0; }
.gallery-model-photo-hero .gallery-feature-layout { max-width: 1320px; margin: auto; }
@media(max-width: 760px) {
 .gallery-feature-layout { grid-template-columns: 1fr; gap: 1.4rem; padding: 1.5rem; }
 .gallery-feature-copy h1, .gallery-feature-copy h2 { font-size: clamp(2rem,8vw,3rem); }
 .gallery-photo-feature::before { background: linear-gradient(180deg,rgba(5,30,48,.62),rgba(5,30,48,.8)); }
 .gallery-feature-intro { font-size: .95rem; }
 .gallery-feature-specs { padding: 1.2rem; }
 .gallery-feature-specs dl > div { grid-template-columns: 1fr 1fr; }
 .gallery-feature-actions a { flex: 1 1 160px; }
}

/* Unified Service Areas page. */
.service-areas-map-hero {
	position: relative;
	display: flex;
	min-height: clamp(540px, 43vw, 720px);
	align-items: stretch;
	overflow: hidden;
	background-color: #c9ebfb;
	background-image: url("../images/service-areas/service-areas-map-hero.jpg");
	background-position: calc(50% - 18px) center;
	background-repeat: no-repeat;
	background-size: cover;
}

.service-areas-map-hero::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse at 32% 49%, rgba(255, 255, 255, .94) 0%, rgba(255, 255, 255, .76) 17%, rgba(255, 255, 255, .34) 31%, transparent 48%),
		linear-gradient(90deg, rgba(242, 250, 255, .2) 0%, rgba(242, 250, 255, .12) 29%, rgba(242, 250, 255, .03) 49%, transparent 66%);
	content: "";
}

.service-areas-hero-inner {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: inherit;
	align-items: center;
	justify-content: space-between;
	padding-block: clamp(4rem, 8vw, 7rem);
}

.service-areas-hero-copy {
	position: relative;
	width: min(715px, 55%);
	padding: clamp(1.25rem, 2.5vw, 2rem);
	background: transparent;
}

.service-areas-hero-copy .eyebrow {
	margin-bottom: .75rem;
	color: var(--pelican-gold);
}

.service-areas-hero-copy h1 {
	margin: 0 0 1rem;
	color: var(--pelican-blue);
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(40px, 5.3vw, 70px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.12;
	white-space: nowrap;
}

.service-areas-hero-lead {
	max-width: 540px;
	margin: 0;
	color: #29495f;
	font-size: clamp(1rem, 1.45vw, 1.23rem);
	font-weight: 620;
	line-height: 1.65;
}

.service-areas-tagline {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: clamp(2rem, 4vw, 3.5rem) 0 0;
	color: var(--pelican-blue);
	font-size: .76rem;
	font-weight: 900;
	letter-spacing: .22em;
	text-transform: uppercase;
}

.service-areas-tagline span {
	display: block;
	width: 46px;
	height: 3px;
	background: var(--pelican-gold);
}

.service-areas-script {
	position: absolute;
	right: calc((1180px - 100vw) / 2 + 52px);
	bottom: clamp(4rem, 7vw, 6.75rem);
	width: 205px;
	margin: 0;
	color: var(--pelican-blue);
	font-family: "Brush Script MT", "Segoe Script", cursive;
	font-size: clamp(1.55rem, 2.15vw, 2.35rem);
	font-weight: 700;
	line-height: .92;
	text-align: center;
	transform: rotate(-5deg);
}

.service-areas-script span {
	display: block;
	white-space: nowrap;
}

.service-areas-script::after {
	display: block;
	width: 92px;
	height: 12px;
	margin: .35rem auto 0;
	border-bottom: 4px solid var(--pelican-gold);
	border-radius: 0 0 50% 50%;
	content: "";
	transform: rotate(-7deg);
}

.service-areas-work {
	background: var(--pelican-white);
}

.service-areas-section-heading {
	margin: 0 auto clamp(2.5rem, 5vw, 4.5rem);
	text-align: center;
}

.service-areas-section-heading .eyebrow {
	margin-bottom: .35rem;
	color: var(--pelican-gold);
}

.service-areas-section-heading h2 {
	position: relative;
	display: inline-block;
	margin: 0;
	padding-bottom: .8rem;
	color: var(--pelican-blue);
	font-family: inherit;
	font-size: clamp(32px, 3.5vw, 44px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.15;
}

.service-areas-section-heading h2::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 48px;
	height: 3px;
	background: var(--pelican-gold);
	content: "";
	transform: translateX(-50%);
}

.service-areas-work-grid {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(440px, 1.05fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: center;
}

.service-areas-kicker {
	margin: 0 0 .8rem;
	color: #62798a;
	font-size: .82rem;
	font-weight: 900;
	letter-spacing: .17em;
	text-transform: uppercase;
}

.service-areas-work-copy h3 {
	margin: 0 0 1.25rem;
	color: var(--pelican-blue);
	font-size: clamp(1.4rem, 2vw, 1.85rem);
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.3;
}

.service-areas-work-copy h3 span {
	display: block;
}

.service-areas-work-copy h3 span + span {
	margin-top: .12em;
}

.service-areas-work-copy h3 span:nth-child(2) {
	white-space: nowrap;
}

.service-areas-work-copy > p:last-child {
	max-width: 600px;
	margin: 0;
	color: var(--pelican-muted);
	font-size: 1.08rem;
	line-height: 1.7;
}

.service-areas-city-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .8rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.service-areas-city-grid li {
	display: grid;
	min-height: 58px;
	place-items: center;
	padding: .75rem 1rem;
	border: 1px solid #d8e5ed;
	border-radius: 10px;
	background: #f4f8fb;
	color: var(--pelican-blue);
	font-weight: 850;
	text-align: center;
}

@media (max-width: 900px) {
	.service-areas-map-hero {
		min-height: 720px;
		background-position: 54% center;
	}

	.service-areas-map-hero::after {
		background:
			radial-gradient(ellipse at 42% 30%, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .8) 25%, rgba(255, 255, 255, .34) 49%, transparent 72%),
			linear-gradient(180deg, rgba(242, 250, 255, .2) 0%, rgba(242, 250, 255, .08) 52%, transparent 78%);
	}

	.service-areas-hero-inner {
		align-items: flex-start;
		padding-top: 4.25rem;
	}

	.service-areas-hero-copy {
		width: min(620px, 100%);
		background: transparent;
	}

	.service-areas-script {
		right: 1rem;
		bottom: 2.25rem;
		width: 185px;
	}

	.service-areas-work-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 560px) {
	.service-areas-map-hero {
		min-height: 405px;
		background-position: 68% bottom;
	}

	.service-areas-hero-inner {
		align-items: flex-start;
		justify-content: center;
		padding: .55rem 0 3rem;
	}

	.service-areas-hero-copy {
		width: min(390px, 88%);
		padding: .75rem .25rem;
		text-align: center;
	}

	.service-areas-hero-copy h1 {
		font-size: clamp(2.65rem, 12vw, 3.45rem);
	}

	.service-areas-hero-copy .eyebrow {
		font-size: .7rem;
	}

	.service-areas-hero-lead {
		max-width: 430px;
		margin-inline: auto;
		font-size: .92rem;
		line-height: 1.48;
	}

	.service-areas-work-copy h3 span:nth-child(2) {
		white-space: normal;
	}

	.service-areas-tagline {
		justify-content: center;
		gap: .65rem;
		margin-top: 1.15rem;
		font-size: .61rem;
		letter-spacing: .13em;
	}

	.service-areas-tagline span {
		width: 28px;
	}

	.service-areas-script {
		right: .7rem;
		bottom: 3.25rem;
		left: auto;
		width: 150px;
		font-size: 1.15rem;
		transform: rotate(-5deg);
	}

	.service-areas-city-grid {
		grid-template-columns: 1fr;
	}
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	color: var(--pelican-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.55;
	background: var(--pelican-white);
	overflow-x: hidden;
}

a {
	color: inherit;
	text-decoration: none;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

.skip-link {
	position: absolute;
	left: -999px;
	top: 1rem;
	z-index: 999;
	padding: .75rem 1rem;
	background: var(--pelican-blue);
	color: var(--pelican-white);
}

.skip-link:focus {
	left: 1rem;
}

.container {
	width: var(--container);
	margin-inline: auto;
}

.narrow {
	max-width: 850px;
}

.top-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	padding: .65rem max(1rem, calc((100vw - 1180px) / 2));
	font-size: .92rem;
	color: var(--pelican-muted);
	background: var(--pelican-cloud);
	border-bottom: 1px solid var(--pelican-line);
}

.top-bar-contact,
.top-bar-social {
	display: flex;
	align-items: center;
}

.top-bar-contact {
	gap: 2rem;
}

.top-bar-social {
	gap: .42rem;
}

.top-bar-social > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(18, 59, 91, .14);
	border-radius: 50%;
	background: var(--pelican-white);
	color: var(--pelican-blue);
	transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

.top-bar-social > a:hover,
.top-bar-social > a:focus-visible {
	border-color: var(--pelican-blue);
	background: var(--pelican-blue);
	color: var(--pelican-white);
	transform: translateY(-1px);
}

.top-bar-social svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
	stroke: currentColor;
	stroke-width: 1.8;
}

.top-bar-social svg rect,
.top-bar-social svg circle:not(.social-icon-fill) {
	fill: none;
}

.top-bar-social .bbb-profile-link {
	width: auto;
	min-width: 74px;
	padding: 3px .48rem;
	border-radius: 999px;
}

.top-bar-social .bbb-profile-link img {
	display: block;
	width: auto;
	height: 24px;
	object-fit: contain;
}

.top-bar-social .bbb-profile-link:hover,
.top-bar-social .bbb-profile-link:focus-visible {
	background: var(--pelican-white);
	color: var(--pelican-blue);
}

.nav-wrap {
	width: var(--container);
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: 1rem 0;
}

.brand {
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	font-weight: 800;
	color: var(--pelican-blue);
}

.brand-mark {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	color: var(--pelican-blue);
	background: linear-gradient(135deg, #fff0d1, var(--pelican-gold));
	font-size: .72rem;
}

.brand-logo {
	width: 44px;
	height: 44px;
	border: 1px solid rgba(228, 155, 6, .35);
	border-radius: 50%;
	background: var(--pelican-white);
	object-fit: contain;
}

.brand-text {
	font-size: 1.1rem;
	letter-spacing: -.02em;
}

.primary-nav .menu {
	display: flex;
	align-items: center;
	gap: 1.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-weight: 650;
	font-size: .96rem;
}

.primary-nav a {
	color: var(--pelican-ink);
}

.primary-nav a:hover {
	color: var(--pelican-blue-2);
}

.primary-nav .menu > .request-quote-menu-item > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: .7rem 1.15rem;
	border-radius: 9px;
	background: var(--pelican-blue);
	box-shadow: 0 8px 20px rgba(6, 59, 102, .18);
	color: var(--pelican-white);
	font-weight: 800;
}

.primary-nav .menu > .request-quote-menu-item > a::after {
	margin-left: .7rem;
	content: "→";
}

.primary-nav .menu > .request-quote-menu-item > a:hover,
.primary-nav .menu > .request-quote-menu-item > a:focus-visible {
	background: var(--pelican-blue-2);
	color: var(--pelican-white);
}

/* Guided Request a Quote page. */
.request-quote-hero {
	position: relative;
	min-height: clamp(500px, 43vw, 670px);
	overflow: hidden;
	background: #dff3fc;
}

.request-quote-hero-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 56%;
}

.request-quote-hero::after {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 50% 48%, rgba(255,255,255,.92) 0%, rgba(255,255,255,.76) 30%, rgba(255,255,255,.32) 53%, transparent 72%),
		linear-gradient(90deg, rgba(247,252,255,.52), rgba(247,252,255,.25) 50%, rgba(247,252,255,.05));
	content: "";
	pointer-events: none;
}

.request-quote-hero-inner {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: inherit;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-block: clamp(3rem, 6vw, 5rem);
	text-align: center;
}

.request-quote-hero .eyebrow {
	margin-bottom: .7rem;
	color: var(--pelican-gold);
}

.request-quote-hero h1 {
	margin: 0 0 .8rem;
	color: var(--pelican-blue);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(3.5rem, 6vw, 6rem);
	letter-spacing: -.045em;
	line-height: .95;
}

.request-quote-lead {
	max-width: 760px;
	margin: 0;
	color: #29495f;
	font-size: clamp(1.05rem, 1.55vw, 1.3rem);
	font-weight: 620;
	line-height: 1.5;
}

.request-quote-note {
	margin: 1rem 0 0;
	color: #4b6678;
	font-size: .98rem;
}

.request-quote-steps {
	display: grid;
	width: min(780px, 100%);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: clamp(1.8rem, 4vw, 3rem) 0 0;
	padding: 0;
	list-style: none;
}

.request-quote-steps li {
	position: relative;
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: .55rem;
	color: var(--pelican-blue);
}

.request-quote-steps li:not(:last-child)::after {
	position: absolute;
	top: 21px;
	left: calc(50% + 32px);
	width: calc(100% - 64px);
	height: 2px;
	background: rgba(6, 59, 102, .25);
	content: "";
}

.request-quote-steps span {
	display: grid;
	z-index: 1;
	width: 44px;
	height: 44px;
	place-items: center;
	border: 2px solid var(--pelican-gold);
	border-radius: 50%;
	background: rgba(255,255,255,.9);
	font-size: 1.05rem;
	font-weight: 900;
}

.request-quote-steps strong {
	max-width: 125px;
	font-size: .94rem;
	line-height: 1.2;
}

.request-quote-choices {
	background: linear-gradient(180deg, #f9fcfe, var(--pelican-white));
}

.request-quote-grid {
	align-items: stretch;
}

.request-quote-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: center;
	padding: clamp(1.35rem, 3vw, 2rem);
	border: 1px solid var(--pelican-line);
	border-top: 5px solid var(--pelican-gold);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: var(--shadow-soft);
	text-align: center;
}

.request-quote-card.latham {
	border-top-color: var(--pelican-blue);
}

.request-quote-card .home-manufacturer-photo-link {
	width: 100%;
}

.request-quote-card .home-manufacturer-photo {
	height: clamp(230px, 24vw, 330px);
}

.request-quote-card h2 {
	margin: 0 0 .65rem;
	color: var(--pelican-blue);
	font-size: clamp(1.55rem, 2.4vw, 2.15rem);
}

.request-quote-card h2 a {
	color: inherit;
}

.request-quote-card > p {
	max-width: 440px;
	margin: 0 auto 1.35rem;
	color: var(--pelican-muted);
	font-size: 1.05rem;
	line-height: 1.55;
}

.request-quote-card-button {
	width: 100%;
	margin-top: auto;
}

.request-quote-card-button span {
	margin-left: .55rem;
}

.request-quote-contact {
	display: flex;
	max-width: 1120px;
	align-items: center;
	justify-content: center;
	gap: .9rem;
	margin-top: clamp(2rem, 5vw, 3.5rem);
	padding-top: 1.5rem;
	border-top: 1px solid var(--pelican-line);
	color: var(--pelican-blue);
}

.request-quote-contact > span {
	display: grid;
	width: 46px;
	height: 46px;
	flex: 0 0 46px;
	place-items: center;
	border-radius: 50%;
	background: #fff4df;
	color: var(--pelican-gold);
	font-size: 1.25rem;
}

.request-quote-contact > span svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

.request-quote-contact p {
	margin: 0;
	font-size: 1.05rem;
}

.request-quote-contact a {
	color: var(--pelican-blue);
	font-weight: 900;
}

@media (max-width: 900px) {
	.request-quote-hero-image {
		object-position: 62% center;
	}

	.request-quote-hero::after {
		background:
			radial-gradient(ellipse at 50% 42%, rgba(255,255,255,.94) 0%, rgba(255,255,255,.76) 38%, rgba(255,255,255,.24) 67%, transparent 86%),
			rgba(247,252,255,.2);
	}
}

@media (max-width: 560px) {
	.request-quote-hero {
		min-height: 465px;
	}

	.request-quote-hero-inner {
		padding-block: 1.6rem;
	}

	.request-quote-hero h1 {
		font-size: clamp(2.7rem, 12vw, 3.6rem);
	}

	.request-quote-hero .eyebrow {
		margin-bottom: .45rem;
		font-size: .7rem;
	}

	.request-quote-lead {
		font-size: .94rem;
		line-height: 1.4;
	}

	.request-quote-note {
		margin-top: .55rem;
		font-size: .84rem;
	}

	.request-quote-steps {
		gap: .35rem;
		margin-top: 1.15rem;
	}

	.request-quote-steps li:not(:last-child)::after {
		left: calc(50% + 25px);
		width: calc(100% - 50px);
	}

	.request-quote-steps strong {
		font-size: .78rem;
	}

	.request-quote-steps span {
		width: 38px;
		height: 38px;
		font-size: .92rem;
	}

	.request-quote-contact {
		align-items: center;
		gap: .5rem;
		padding-inline: .5rem;
		text-align: center;
	}

	.request-quote-contact > span {
		width: 36px;
		height: 36px;
		flex-basis: 36px;
	}

	.request-quote-contact > span svg {
		width: 17px;
		height: 17px;
	}

	.request-quote-contact p {
		font-size: clamp(.68rem, 2.85vw, .82rem);
		letter-spacing: -.015em;
		white-space: nowrap;
	}
}

.primary-nav .menu > li {
	position: relative;
}

.primary-nav .sub-menu {
	display: none;
	position: absolute;
	top: calc(100% + .7rem);
	left: 50%;
	z-index: 30;
	min-width: 230px;
	margin: 0;
	padding: .65rem;
	list-style: none;
	transform: translateX(-50%);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-md);
	background: var(--pelican-white);
	box-shadow: var(--shadow-soft);
}

.primary-nav .sub-menu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -.8rem;
	height: .8rem;
}

.primary-nav .sub-menu li + li {
	margin-top: .2rem;
}

.primary-nav .sub-menu a {
	display: block;
	padding: .65rem .75rem;
	border-radius: 10px;
}

.primary-nav .sub-menu a:hover,
.primary-nav .sub-menu a:focus {
	background: var(--pelican-cloud);
}

/* Keep manufacturer colors visibly grouped beneath their model collection. */
.primary-nav .sub-menu .pool-model-menu-item {
	position: relative;
}

.primary-nav .sub-menu .pool-model-menu-item + .pool-model-menu-item {
	margin-top: .55rem;
	padding-top: .55rem;
	border-top: 1px solid var(--pelican-line);
}

.primary-nav .sub-menu .pool-model-menu-item > a {
	font-weight: 750;
}

.primary-nav .sub-menu .pool-model-menu-item > .sub-menu,
.primary-nav .sub-menu .pool-model-menu-item:hover > .sub-menu,
.primary-nav .sub-menu .pool-model-menu-item:focus-within > .sub-menu {
	display: block;
	position: static;
	min-width: 0;
	margin: .08rem 0 0 .75rem;
	padding: 0 0 0 .55rem;
	transform: none;
	border: 0;
	border-left: 2px solid rgba(228, 155, 6, .42);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.primary-nav .sub-menu .pool-model-menu-item > .sub-menu::before {
	display: none;
}

.primary-nav .sub-menu .pool-color-menu-item a {
	padding: .48rem .65rem;
	color: var(--pelican-blue-2);
	font-size: .9rem;
	font-weight: 650;
}

.primary-nav .sub-menu .pool-help-menu-item {
	margin-top: .65rem;
	padding-top: .65rem;
	border-top: 1px solid var(--pelican-line);
}

.primary-nav .sub-menu .pool-help-menu-item > a {
	background: var(--pelican-gold);
	color: var(--pelican-ink);
	font-weight: 800;
	text-align: center;
}

.primary-nav .sub-menu .pool-help-menu-item > a:hover,
.primary-nav .sub-menu .pool-help-menu-item > a:focus {
	background: #f3ad1c;
}

.primary-nav .menu-item-has-children:hover > .sub-menu,
.primary-nav .menu-item-has-children:focus-within > .sub-menu {
	display: block;
}

.menu-toggle {
	display: none;
	border: 1px solid var(--pelican-line);
	border-radius: 999px;
	padding: .55rem .9rem;
	background: var(--pelican-white);
	color: var(--pelican-blue);
	font-weight: 700;
}

/* Keep desktop navigation on one line; use the compact menu before it crowds. */
.site-header .brand { flex-shrink: 0; white-space: nowrap; }
.site-header .primary-nav .menu > li > a { white-space: nowrap; }
@media (min-width: 1201px) {
	.site-header .nav-wrap { gap: 1rem; }
	.site-header .primary-nav .menu { gap: 1rem; font-size: .9rem; }
}
@media (min-width: 761px) and (max-width: 1200px) {
	.site-header .nav-wrap { position: relative; align-items: center; }
	.site-header .menu-toggle { display: inline-flex; min-height: 44px; align-items: center; }
	.site-header .primary-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 30; padding: 1rem; border: 1px solid var(--pelican-line); border-radius: var(--radius-md); background: white; box-shadow: var(--shadow-soft); max-height: 70vh; overflow-y: auto; }
	body.menu-open .site-header .primary-nav { display: block; }
	.site-header .primary-nav .menu { display: grid; gap: .65rem; align-items: stretch; }
	.site-header .primary-nav .menu > li > a { display: flex; align-items: center; min-height: 44px; }
	.site-header .primary-nav .sub-menu,
	.site-header .primary-nav .menu-item-has-children:hover > .sub-menu,
	.site-header .primary-nav .menu-item-has-children:focus-within > .sub-menu { display: grid; position: static; min-width: 0; margin: .3rem 0 0; padding: .25rem 0 .25rem .85rem; transform: none; border: 0; border-left: 2px solid var(--pelican-line); border-radius: 0; box-shadow: none; }
	.site-header .primary-nav .sub-menu::before { display: none; }
}

.home-hero {
	position: relative;
	display: grid;
	align-items: end;
	overflow: hidden;
	min-height: clamp(540px, 56.25vw, 900px);
	padding: clamp(4rem, 8vw, 7rem) 0 clamp(1rem, 2.5vw, 2rem);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .90), rgba(10, 95, 144, .72)),
		radial-gradient(circle at 80% 20%, rgba(231, 199, 79, .38), transparent 35%),
		var(--pelican-blue);
	color: var(--pelican-white);
}

.home-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(3, 35, 62, .04) 0%, rgba(3, 35, 62, .10) 45%, rgba(3, 35, 62, .74) 82%, rgba(3, 35, 62, .90) 100%);
	pointer-events: none;
}

.home-hero::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	height: clamp(22px, 2.2vw, 34px);
	background: linear-gradient(180deg, rgba(3, 35, 62, .98), rgb(3, 35, 62));
	pointer-events: none;
}

.home-hero-video {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	background: var(--pelican-blue);
	pointer-events: none;
}

.home-hero-video iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	border: 0;
	transform: translate(-50%, -50%);
}

.home-hero > .container {
	position: relative;
	z-index: 2;
}

.home-hero-minimal {
	display: grid;
	justify-items: center;
	text-align: center;
}

.home-hero .home-hero-minimal h1 {
	max-width: none;
	margin-bottom: .55rem;
	font-size: clamp(1.35rem, 2.3vw, 2.3rem);
	white-space: nowrap;
}

.home-hero-rating {
	margin: 0;
	color: var(--pelican-white);
	font-size: clamp(1rem, 2vw, 1.3rem);
	font-weight: 800;
}

.home-hero-rating span {
	margin-right: .4rem;
	color: var(--pelican-gold);
	letter-spacing: .12em;
}

.home-hero-minimal .home-brand-actions {
	justify-content: center;
	margin-top: 1.1rem;
}

.why-video-hero {
	--pelican-gold: #e49b06;
}

@media (prefers-reduced-motion: reduce) {
	.home-hero-video {
		display: none;
	}
}

.home-hero h1 {
	max-width: 760px;
	font-size: clamp(2.7rem, 5vw, 4.25rem);
}

.hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, .75fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
}

.eyebrow {
	margin: 0 0 .75rem;
	color: var(--pelican-gold);
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-size: .78rem;
}

h1,
h2,
h3 {
	margin: 0 0 1rem;
	line-height: 1.08;
	letter-spacing: -.04em;
}

h1 {
	font-size: clamp(2.7rem, 7vw, 5.8rem);
}

h2 {
	font-size: clamp(2rem, 4vw, 3.2rem);
}

.hero-copy {
	max-width: 650px;
	font-size: clamp(1.05rem, 2vw, 1.25rem);
	color: rgba(255, 255, 255, .86);
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .9rem;
	margin-top: 2rem;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	border-radius: 999px;
	padding: .9rem 1.25rem;
	font-weight: 800;
	border: 1px solid transparent;
}

.icon-button span {
	display: inline-grid;
	place-items: center;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, .24);
	font-size: .9rem;
	line-height: 1;
}

.icon-button .button-icon {
	width: 1.6rem;
	height: 1.6rem;
	flex: 0 0 1.6rem;
}

.icon-button .button-icon svg {
	display: block;
	width: 1rem;
	height: 1rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
}

.icon-button.quote-icon-button .button-icon svg {
	width: 1.1rem;
	height: 1.1rem;
}

.icon-button .palette-icon svg circle {
	fill: currentColor;
	stroke: none;
}

.home-manufacturer-photo-link {
	display: block;
	width: 100%;
	margin: 0 0 1.5rem;
	overflow: hidden;
	border-radius: var(--radius-md);
}

.home-manufacturer-photo-link .home-manufacturer-photo {
	margin: 0;
	transition: transform .3s ease, filter .3s ease;
}

.home-manufacturer-photo-link:hover .home-manufacturer-photo,
.home-manufacturer-photo-link:focus-visible .home-manufacturer-photo {
	transform: scale(1.025);
	filter: brightness(1.04);
}

.button.primary {
	background: var(--pelican-blue);
	color: var(--pelican-white);
}

.button.secondary {
	border-color: rgba(255, 255, 255, .4);
	color: var(--pelican-white);
}

.button.secondary.light {
	border-color: var(--pelican-line);
	color: var(--pelican-blue);
	background: var(--pelican-white);
}

.hero-panel {
	min-height: 360px;
	border-radius: var(--radius-lg);
	background:
		radial-gradient(circle at 30% 20%, rgba(231, 199, 79, .22), transparent 28%),
		linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03)),
		rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.25);
	box-shadow: var(--shadow-soft);
	display: grid;
	place-items: end start;
	padding: 2rem;
	font-weight: 800;
}

.hero-panel-content {
	display: grid;
	gap: .7rem;
}

.hero-panel-content span {
	display: inline-flex;
	width: fit-content;
	padding: .45rem .75rem;
	border-radius: 999px;
	color: var(--pelican-blue);
	background: var(--pelican-gold);
	font-size: .8rem;
	font-weight: 900;
}

.hero-panel-content strong {
	max-width: 440px;
	color: var(--pelican-white);
	font-size: clamp(1.35rem, 3vw, 2.15rem);
	line-height: 1.08;
	letter-spacing: -.04em;
}

.hero-panel-content a {
	width: fit-content;
	color: var(--pelican-gold);
	font-weight: 900;
}

.home-trust-strip {
	padding: 1.2rem 0;
	background: var(--pelican-white);
	border-bottom: 1px solid var(--pelican-line);
}

.trust-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.trust-grid div {
	padding: 1rem;
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-md);
	background: var(--pelican-cloud);
}

.trust-grid strong,
.trust-grid span {
	display: block;
}

.trust-grid strong {
	color: var(--pelican-blue);
	font-weight: 900;
}

.trust-grid span {
	margin-top: .25rem;
	color: var(--pelican-muted);
}

.home-intro-section,
.home-reviews-section {
	background: var(--pelican-white);
}

.home-intro-grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 5vw, 4rem);
	align-items: center;
}

.home-intro-copy p {
	color: var(--pelican-muted);
	font-size: 1.08rem;
}

.section-heading-row {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1.5rem;
	max-width: none;
}

.home-featured-section,
.home-split-section {
	background: linear-gradient(180deg, var(--pelican-cloud), var(--pelican-white));
}

.home-split-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.4rem;
}

.home-split-card {
	padding: clamp(1.4rem, 4vw, 2.5rem);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: 0 12px 32px rgba(20, 32, 43, .07);
}

.home-split-card h2 {
	color: var(--pelican-blue);
	font-size: clamp(1.65rem, 3vw, 2.45rem);
}

.home-split-card p:not(.eyebrow) {
	color: var(--pelican-muted);
}

.home-split-card.photo {
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .96), rgba(10, 95, 144, .82)),
		var(--pelican-blue);
}

.home-split-card.photo h2,
.home-split-card.photo p:not(.eyebrow) {
	color: var(--pelican-white);
}

.home-review-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: clamp(1.4rem, 4vw, 2.5rem);
	border-radius: var(--radius-lg);
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .98), rgba(10, 95, 144, .88)),
		var(--pelican-blue);
	box-shadow: var(--shadow-soft);
}

.home-review-card p:not(.eyebrow) {
	max-width: 680px;
	color: rgba(255, 255, 255, .86);
}

.home-brand-actions {
	grid-template-columns: repeat(2, minmax(210px, max-content));
}

.home-quick-nav {
	padding: 1.2rem 0;
	border-bottom: 1px solid var(--pelican-line);
	background: var(--pelican-white);
}

.home-quick-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .8rem;
}

.home-quick-grid a {
	display: grid;
	grid-template-columns: 36px 1fr;
	column-gap: .75rem;
	padding: 1rem;
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-md);
	background: var(--pelican-cloud);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.home-quick-grid a:hover,
.home-quick-grid a:focus-visible {
	transform: translateY(-2px);
	border-color: var(--pelican-gold);
	box-shadow: var(--shadow-soft);
}

.home-quick-grid span {
	grid-row: span 2;
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 12px;
	color: var(--pelican-blue);
	background: var(--pelican-gold);
	font-size: .8rem;
	font-weight: 950;
}

.home-quick-grid strong,
.home-quick-grid small {
	display: block;
}

.home-quick-grid strong {
	color: var(--pelican-blue);
}

.home-quick-grid small {
	color: var(--pelican-muted);
}

.home-manufacturers-section,
.home-trust-section,
.home-service-section {
	background: var(--pelican-white);
}

.home-centered-heading {
	max-width: 920px;
	margin: 0 auto 2rem;
	text-align: center;
}

.home-centered-heading > p:last-child {
	color: var(--pelican-muted);
}

.home-manufacturers-heading h2 {
	max-width: none;
	font-size: clamp(1.75rem, 3vw, 2.65rem);
	white-space: nowrap;
}

.home-manufacturers-heading p span {
	display: block;
	white-space: nowrap;
}

.home-trust-section,
.home-process-section,
.home-resources-section {
	background: linear-gradient(180deg, var(--pelican-cloud), var(--pelican-white));
}

.home-trust-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.home-trust-grid article,
.home-process-grid article,
.home-resource-card {
	padding: 1.3rem;
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: var(--shadow-soft);
}

.home-trust-grid span,
.home-process-grid span {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 1rem;
	border-radius: 14px;
	color: var(--pelican-blue);
	background: var(--pelican-gold);
	font-weight: 950;
}

.home-trust-grid h3,
.home-process-grid h3,
.home-resource-card h2 {
	color: var(--pelican-blue);
}

.home-trust-grid p,
.home-process-grid p,
.home-resource-card p:not(.eyebrow),
.home-why-grid p:not(.eyebrow) {
	color: var(--pelican-muted);
}

.home-inline-action {
	margin-top: 1.5rem;
	text-align: center;
}

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

.home-featured-heading {
	max-width: none;
}

.home-featured-heading h2 {
	white-space: nowrap;
}

.home-featured-section:not(.home-latham-featured) .pool-card-media {
	padding: clamp(.7rem, 1.4vw, 1rem);
	background: linear-gradient(145deg, rgba(232, 240, 246, .98), rgba(244, 248, 251, .98));
}

.home-featured-section:not(.home-latham-featured) .pool-card-media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.home-featured-action {
	display: flex;
	justify-content: flex-end;
	margin-top: 1.5rem;
}

.home-featured-action .button {
	white-space: nowrap;
}

.home-latham-featured {
	background: var(--pelican-white);
}

.home-latham-featured .latham-pool-card .pool-card-specifications {
	display: none;
}

.home-why-section {
	background: var(--pelican-white);
}

.home-why-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
	gap: clamp(1.5rem, 5vw, 4rem);
	align-items: center;
}

.home-why-grid h2 {
	color: var(--pelican-blue);
}

.home-why-list {
	display: grid;
	gap: .7rem;
	margin: 0;
	padding: clamp(1.3rem, 3vw, 2rem);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-cloud);
	box-shadow: var(--shadow-soft);
	list-style: none;
}

.home-why-list li {
	position: relative;
	padding: .75rem .8rem .75rem 2.25rem;
	border-radius: .7rem;
	color: var(--pelican-blue);
	background: var(--pelican-white);
	font-weight: 800;
}

.home-why-list li::before {
	position: absolute;
	left: .85rem;
	color: var(--pelican-gold-dark);
	content: "✓";
}

.home-process-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.home-resource-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.2rem;
}

.home-resource-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.home-resource-card .button {
	margin-top: auto;
}

.home-resource-card.financing {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(244, 248, 251, .98)),
		radial-gradient(circle at 90% 15%, rgba(231, 199, 79, .24), transparent 28%);
}

.home-final-section {
	background: var(--pelican-white);
}

.home-final-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1.5rem;
	align-items: center;
	padding: clamp(1.5rem, 4vw, 2.8rem);
	border-radius: var(--radius-lg);
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .98), rgba(10, 95, 144, .88)),
		var(--pelican-blue);
	box-shadow: var(--shadow-soft);
}

.home-final-card h2 {
	color: var(--pelican-white);
}

.home-final-card p:not(.eyebrow) {
	color: rgba(255, 255, 255, .86);
}

.home-final-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(155px, 1fr));
	gap: .75rem;
}

.home-final-actions .button {
	width: 100%;
	text-align: center;
}

.why-hero {
	padding: clamp(3.8rem, 7vw, 6.5rem) 0;
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .96), rgba(10, 95, 144, .80)),
		radial-gradient(circle at 82% 16%, rgba(231, 199, 79, .32), transparent 30%),
		var(--pelican-blue);
}

.why-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.why-lead {
	max-width: 720px;
	color: rgba(255, 255, 255, .86);
	font-size: clamp(1.08rem, 2vw, 1.28rem);
}

.why-hero-card,
.why-checklist-card {
	padding: 1.5rem;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
}

.why-hero-card {
	border: 1px solid rgba(255, 255, 255, .25);
	background: rgba(255, 255, 255, .12);
}

.why-hero-card strong {
	display: block;
	margin-bottom: .8rem;
	color: var(--pelican-gold);
	font-size: 1.15rem;
}

.why-hero-card ul,
.why-checklist-card ul {
	display: grid;
	gap: .65rem;
	margin: 0;
	padding-left: 1.25rem;
}

.why-hero-card ul {
	color: rgba(255, 255, 255, .9);
	font-weight: 750;
}

.why-benefits-section,
.why-cta-section {
	background: var(--pelican-white);
}

.why-benefit-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.2rem;
}

.why-benefit-card {
	padding: 1.25rem;
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-md);
	background: var(--pelican-white);
	box-shadow: 0 10px 28px rgba(20, 32, 43, .07);
}

.why-benefit-card span {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 1rem;
	border-radius: 14px;
	color: var(--pelican-blue);
	background: var(--pelican-gold);
	font-weight: 950;
}

.why-benefit-card h3 {
	color: var(--pelican-blue);
	font-size: 1.2rem;
	letter-spacing: -.02em;
}

.why-benefit-card p,
.why-compare-grid p,
.why-cta-card p:not(.eyebrow) {
	color: var(--pelican-muted);
}

.why-compare-section {
	background: linear-gradient(180deg, var(--pelican-cloud), var(--pelican-white));
}

.why-compare-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .55fr);
	gap: clamp(1.5rem, 5vw, 4rem);
	align-items: center;
}

.why-checklist-card {
	border: 1px solid var(--pelican-line);
	background: var(--pelican-white);
}

.why-checklist-card h3 {
	color: var(--pelican-blue);
}

.why-checklist-card li {
	color: var(--pelican-muted);
	font-weight: 750;
}

.why-cta-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: clamp(1.4rem, 4vw, 2.5rem);
	border-radius: var(--radius-lg);
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .98), rgba(10, 95, 144, .88)),
		var(--pelican-blue);
	box-shadow: var(--shadow-soft);
}

.why-cta-card p:not(.eyebrow) {
	color: rgba(255, 255, 255, .86);
}

.why-brand-actions {
	grid-template-columns: repeat(2, minmax(190px, max-content));
}

.why-intro-section,
.why-brands-section,
.why-faq-section {
	background: var(--pelican-white);
}

.why-intro-grid,
.why-consider-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
	gap: clamp(1.5rem, 5vw, 4rem);
	align-items: center;
}

.why-intro-grid h2,
.why-consider-grid h2 {
	color: var(--pelican-blue);
	font-size: clamp(1.8rem, 4vw, 3.1rem);
}

.why-intro-grid > div:first-child p:not(.eyebrow),
.why-consider-grid > div:first-child p:not(.eyebrow) {
	color: var(--pelican-muted);
}

.why-definition-card {
	padding: clamp(1.4rem, 4vw, 2.5rem);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .98), rgba(10, 95, 144, .88)),
		var(--pelican-blue);
	box-shadow: var(--shadow-soft);
}

.why-definition-card h3 {
	color: var(--pelican-white);
	font-size: clamp(1.45rem, 3vw, 2.1rem);
}

.why-definition-card > p:not(.area-brand-label) {
	color: rgba(255, 255, 255, .86);
}

.why-centered-heading {
	max-width: 900px;
	margin: 0 auto 2rem;
	text-align: center;
}

.why-centered-heading > p:last-child {
	color: var(--pelican-muted);
}

.why-benefit-grid-six {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.why-comparison-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: var(--shadow-soft);
}

.why-comparison-table {
	width: 100%;
	min-width: 840px;
	border-collapse: collapse;
}

.why-comparison-table th,
.why-comparison-table td {
	padding: 1rem;
	border-bottom: 1px solid var(--pelican-line);
	vertical-align: top;
	line-height: 1.55;
	text-align: left;
}

.why-comparison-table thead th {
	color: var(--pelican-white);
	background: var(--pelican-blue);
	font-size: .95rem;
}

.why-comparison-table tbody th {
	width: 17%;
	color: var(--pelican-blue);
	background: var(--pelican-cloud);
}

.why-comparison-table tbody td {
	color: var(--pelican-muted);
}

.why-comparison-table tbody tr:last-child th,
.why-comparison-table tbody tr:last-child td {
	border-bottom: 0;
}

.why-consider-section {
	background: var(--pelican-cloud);
}

.why-brands-section .area-collection-card {
	height: 100%;
}

.why-faq-list {
	max-width: 960px;
	margin-inline: auto;
}

.why-dual-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
}

.why-cta-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(155px, 1fr));
	gap: .75rem;
}

.why-cta-actions .button {
	width: 100%;
	text-align: center;
}

.story-hero {
	padding: clamp(3.8rem, 7vw, 6.5rem) 0;
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .96), rgba(10, 95, 144, .78)),
		radial-gradient(circle at 82% 16%, rgba(231, 199, 79, .32), transparent 30%),
		var(--pelican-blue);
}

.story-photo-hero {
	display: flex;
	min-height: clamp(520px, 66vw, 760px);
	padding: 0;
	align-items: flex-end;
	background:
		linear-gradient(180deg, transparent 46%, rgba(5, 34, 56, .12) 68%, rgba(5, 34, 56, .78) 100%),
		url('../images/our-story/family-pool-hero.jpg') center 54% / cover no-repeat;
}

.story-photo-hero-content {
	padding-top: clamp(3rem, 7vw, 6rem);
	padding-bottom: clamp(2.4rem, 6vw, 4.8rem);
}

.story-photo-hero h1 {
	max-width: none;
	margin: 0;
	color: var(--pelican-white);
	font-size: clamp(2.6rem, 7vw, 6.2rem);
	line-height: .94;
	letter-spacing: .035em;
	text-shadow: 0 3px 20px rgba(3, 24, 40, .48);
}

.story-photo-hero p {
	margin: .72rem 0 0;
	color: var(--pelican-white);
	font-size: clamp(1.05rem, 2vw, 1.45rem);
	font-weight: 750;
	letter-spacing: .025em;
	text-shadow: 0 2px 14px rgba(3, 24, 40, .65);
}

.story-intro-statement {
	max-width: 930px;
	text-align: center;
}

.story-intro-statement h2 {
	margin: 0 auto .9rem;
}

.story-intro-statement p {
	max-width: 850px;
	margin: 0 auto;
	color: var(--pelican-muted);
	font-size: clamp(1.05rem, 1.8vw, 1.25rem);
	line-height: 1.75;
}

.story-family-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(360px, .95fr);
	gap: 0;
	align-items: center;
}

.story-family-photo {
	margin: 0;
	border-radius: var(--radius-lg);
	background: url('../images/our-story/family-business-installation-v2.jpg') center / cover no-repeat;
	box-shadow: 0 22px 50px rgba(12, 54, 82, .18);
	overflow: hidden;
}

.story-family-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center;
	border-radius: inherit;
}

.story-family-copy {
	position: relative;
	z-index: 1;
	max-width: none;
	margin-left: clamp(-5rem, -5vw, -3.5rem);
	padding: clamp(2.4rem, 4vw, 4rem) clamp(2rem, 3.5vw, 3.5rem);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: 0 22px 50px rgba(12, 54, 82, .16);
}

.story-family-copy h2 {
	margin: 0 0 1rem;
}

.story-family-copy p {
	margin: 0;
	color: var(--pelican-muted);
	font-size: clamp(1.05rem, 1.8vw, 1.24rem);
	line-height: 1.75;
}

.san-juan-feature-heading {
	max-width: 900px;
	margin: 0 auto clamp(2.25rem, 4vw, 3.75rem);
	text-align: center;
}

.san-juan-feature-heading h2 {
	margin-bottom: .9rem;
	font-size: clamp(1.75rem, 3vw, 2.65rem);
	white-space: nowrap;
}

.san-juan-feature-heading p {
	max-width: 820px;
	margin: 0 auto;
	color: var(--pelican-muted);
	font-size: clamp(1.05rem, 1.7vw, 1.22rem);
	line-height: 1.7;
}

.san-juan-feature-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(330px, .8fr);
	align-items: center;
}

.san-juan-feature-photo {
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius-lg);
	box-shadow: 0 22px 50px rgba(12, 54, 82, .18);
}

.san-juan-feature-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: center;
}

.san-juan-feature-panel {
	position: relative;
	z-index: 1;
	display: flex;
	box-sizing: border-box;
	min-height: clamp(340px, 23vw, 380px);
	flex-direction: column;
	justify-content: center;
	margin-left: clamp(-4rem, -4vw, -2.75rem);
	padding: clamp(1.8rem, 3vw, 2.8rem) clamp(1.6rem, 2.8vw, 2.7rem);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: 0 22px 50px rgba(12, 54, 82, .16);
}

/* Long model descriptions need a little more breathing room on laptops. */
@media (min-width: 769px) and (max-width: 1280px) {
	.latham-model-feature-section .san-juan-feature-grid {
		grid-template-columns: minmax(0, 1.35fr) minmax(360px, .95fr);
	}

	.latham-model-feature-section .san-juan-feature-panel {
		min-height: 0;
		height: auto;
		padding: clamp(1.55rem, 2.5vw, 2.25rem);
	}

	.latham-model-feature-section .san-juan-feature-panel h2 {
		font-size: clamp(1.65rem, 2.6vw, 2.1rem);
	}

	.latham-model-feature-section .san-juan-feature-panel p {
		font-size: clamp(.96rem, 1.35vw, 1.06rem);
		line-height: 1.65;
	}
}

.san-juan-feature-panel h2 {
	margin: 0 0 1rem;
	font-size: clamp(1.75rem, 2.5vw, 2.4rem);
	line-height: 1.08;
}

.san-juan-feature-panel p {
	margin: 0;
	color: var(--pelican-muted);
	font-size: clamp(1rem, 1.35vw, 1.12rem);
	line-height: 1.75;
}

.story-trust-nav {
	padding: clamp(2.25rem, 4vw, 3.5rem) 0;
	background: var(--pelican-cloud);
}

.story-trust-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.story-trust-grid a {
	display: flex;
	min-height: 96px;
	padding: 1.1rem 1.25rem;
	align-items: center;
	gap: .9rem;
	border: 1px solid rgba(10, 95, 144, .14);
	border-radius: var(--radius-md);
	background: var(--pelican-white);
	color: var(--pelican-ink);
	box-shadow: 0 12px 28px rgba(20, 32, 43, .07);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.story-trust-grid a:hover,
.story-trust-grid a:focus-visible {
	transform: translateY(-3px);
	border-color: rgba(228, 155, 6, .62);
	box-shadow: 0 18px 34px rgba(20, 32, 43, .12);
}

.story-trust-icon {
	display: grid;
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	place-items: center;
	border-radius: 50%;
	background: rgba(228, 155, 6, .13);
	color: var(--pelican-blue-2);
}

.story-trust-icon svg {
	width: 25px;
	height: 25px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.story-trust-grid strong {
	font-size: clamp(.98rem, 1.35vw, 1.14rem);
	line-height: 1.25;
}

.story-pool-help-action {
	margin-top: 1.15rem;
	text-align: center;
}

.story-pool-help-action .button {
	width: min(100%, 720px);
	min-height: 56px;
	justify-content: center;
	letter-spacing: .035em;
}

.pool-help-hero {
	display: flex;
	min-height: clamp(520px, 65vw, 760px);
	align-items: flex-end;
	color: var(--pelican-white);
	background:
		linear-gradient(180deg, transparent 45%, rgba(4, 27, 45, .1) 66%, rgba(4, 27, 45, .8) 100%),
		url('../images/help-me-find-my-pool/hawaiian-pool-hero.jpg') center 58% / cover no-repeat;
}

.pool-help-hero-content {
	padding-top: clamp(3rem, 7vw, 6rem);
	padding-bottom: clamp(2.4rem, 6vw, 4.8rem);
}

.pool-help-hero h1 {
	max-width: none;
	margin: 0;
	color: var(--pelican-white);
	font-size: clamp(2.5rem, 6vw, 5.8rem);
	line-height: .98;
	text-shadow: 0 3px 20px rgba(3, 24, 40, .52);
}

.pool-help-hero p {
	margin: .7rem 0 0;
	color: var(--pelican-white);
	font-size: clamp(1.05rem, 2vw, 1.45rem);
	font-weight: 750;
	text-shadow: 0 2px 14px rgba(3, 24, 40, .7);
}

.pool-help-section {
	background: var(--pelican-cloud);
}

.pool-help-wrap {
	max-width: 820px;
}

.pool-help-card {
	padding: clamp(1.5rem, 5vw, 3.5rem);
	border: 1px solid rgba(10, 95, 144, .14);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: 0 22px 55px rgba(20, 32, 43, .1);
}

.pool-help-heading {
	text-align: center;
}

.pool-help-heading h2 {
	margin: 0 0 1.75rem;
}

.pool-help-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.1rem;
}

.pool-help-fields label,
.pool-help-financing {
	margin: 0;
}

.pool-help-fields label.full {
	grid-column: 1 / -1;
}

.pool-help-fields label > span,
.pool-help-financing legend {
	display: block;
	margin-bottom: .45rem;
	color: var(--pelican-ink);
	font-weight: 750;
}

.pool-help-fields em,
.pool-help-financing em {
	color: #c23b2b;
	font-style: normal;
}

.pool-help-fields input {
	width: 100%;
	min-height: 52px;
	padding: .75rem .9rem;
	border: 1px solid var(--pelican-line);
	border-radius: 11px;
	background: #fff;
	color: var(--pelican-ink);
	font: inherit;
}

.pool-help-fields input:focus {
	border-color: var(--pelican-blue-2);
	outline: 3px solid rgba(10, 95, 144, .13);
}

.pool-help-financing {
	margin-top: 1.6rem;
	padding: 0;
	border: 0;
	text-align: center;
}

.pool-help-financing legend {
	float: none;
	width: 100%;
	text-align: center;
}

.pool-help-radio-group {
	display: inline-grid;
	grid-template-columns: repeat(3, minmax(100px, 1fr));
	gap: .55rem;
	margin-top: .35rem;
}

.pool-help-radio-group label {
	position: relative;
	cursor: pointer;
}

.pool-help-radio-group input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.pool-help-radio-group span {
	display: grid;
	min-height: 48px;
	padding: .65rem .9rem;
	place-items: center;
	border: 1px solid var(--pelican-line);
	border-radius: 999px;
	background: var(--pelican-white);
	font-weight: 750;
	transition: .2s ease;
}

.pool-help-radio-group input:checked + span {
	border-color: var(--pelican-blue-2);
	background: var(--pelican-blue-2);
	color: var(--pelican-white);
}

.pool-help-radio-group input:focus-visible + span {
	outline: 3px solid rgba(10, 95, 144, .2);
}

.pool-help-submit {
	margin-top: 1.8rem;
	text-align: center;
}

.pool-help-submit .button {
	min-width: min(100%, 330px);
}

.pool-help-contact {
	margin-top: 2.25rem;
	padding-top: 1.75rem;
	border-top: 1px solid var(--pelican-line);
	text-align: center;
}

.pool-help-contact h3 {
	margin: 0 0 .35rem;
}

.pool-help-contact p {
	margin: 0 0 .55rem;
	font-size: 1.08rem;
	font-weight: 700;
}

.pool-help-contact small {
	display: block;
	color: var(--pelican-muted);
	font-size: .9rem;
}

.pool-help-contact .pool-help-license {
	margin-top: .45rem;
	color: var(--pelican-blue);
	font-size: .82rem;
	font-weight: 750;
	letter-spacing: .035em;
}

.pool-help-notice {
	margin: 0 0 1.35rem;
	padding: .9rem 1rem;
	border-radius: 10px;
	text-align: center;
	font-weight: 700;
}

.pool-help-notice.success {
	background: #e8f6ed;
	color: #176b38;
}

.pool-help-notice.error {
	background: #fff0ee;
	color: #9a2c21;
}

.pool-help-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.story-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.story-lead {
	max-width: 760px;
	color: rgba(255, 255, 255, .86);
	font-size: clamp(1.08rem, 2vw, 1.28rem);
}

.story-hero-card,
.story-copy-card,
.story-value-card,
.story-area-card,
.story-cta-card {
	border-radius: var(--radius-lg);
	box-shadow: 0 12px 32px rgba(20, 32, 43, .07);
}

.story-hero-card {
	padding: 1.5rem;
	border: 1px solid rgba(255, 255, 255, .25);
	background: rgba(255, 255, 255, .12);
}

.story-hero-card strong {
	display: block;
	margin-bottom: .8rem;
	color: var(--pelican-gold);
	font-size: 1.15rem;
}

.story-hero-card ul {
	display: grid;
	gap: .65rem;
	margin: 0;
	padding-left: 1.25rem;
	color: rgba(255, 255, 255, .9);
	font-weight: 750;
}

.story-intro-section,
.story-area-section {
	background: var(--pelican-white);
}

.story-intro-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 5vw, 4rem);
	align-items: start;
}

.story-copy-card,
.story-value-card,
.story-area-card,
.story-cta-card {
	border: 1px solid var(--pelican-line);
	background: var(--pelican-white);
}

.story-copy-card {
	padding: clamp(1.25rem, 3vw, 2rem);
}

.story-copy-card p,
.story-value-card p,
.story-area-card p,
.story-cta-card p:not(.eyebrow) {
	color: var(--pelican-muted);
}

.story-values-section,
.story-cta-section {
	background: linear-gradient(180deg, var(--pelican-cloud), var(--pelican-white));
}

.story-value-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.2rem;
}

.story-value-card {
	padding: 1.25rem;
}

.story-value-card span {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 1rem;
	border-radius: 14px;
	color: var(--pelican-blue);
	background: var(--pelican-gold);
	font-weight: 950;
}

.story-value-card h3,
.story-area-card h2,
.story-cta-card h2 {
	color: var(--pelican-blue);
}

.story-area-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: clamp(1.4rem, 4vw, 2.5rem);
}

.story-cta-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.4rem;
}

.story-cta-card {
	padding: clamp(1.4rem, 4vw, 2.5rem);
}

.story-cta-card.financing {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(244, 248, 251, .98)),
		radial-gradient(circle at 90% 15%, rgba(231, 199, 79, .24), transparent 28%);
}

.story-hero-actions {
	grid-template-columns: repeat(2, minmax(185px, max-content));
}

.story-centered-heading {
	max-width: 900px;
	margin: 0 auto 2rem;
	text-align: center;
}

.story-centered-heading > p:last-child {
	color: var(--pelican-muted);
}

.story-value-grid-six {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.story-expect-section {
	background: var(--pelican-white);
}

.story-expect-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr);
	gap: clamp(1.5rem, 5vw, 4rem);
	align-items: center;
}

.story-expect-grid h2,
.story-review-card h2 {
	color: var(--pelican-blue);
	font-size: clamp(1.8rem, 4vw, 3rem);
}

.story-expect-grid > div p:not(.eyebrow),
.story-review-card p:not(.eyebrow) {
	color: var(--pelican-muted);
}

.story-expect-list {
	display: grid;
	gap: .7rem;
	margin: 0;
	padding: clamp(1.3rem, 3vw, 2rem);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-cloud);
	box-shadow: var(--shadow-soft);
	list-style-position: inside;
}

.story-expect-list li {
	padding: .65rem .75rem;
	border-radius: .7rem;
	color: var(--pelican-muted);
	background: var(--pelican-white);
}

.story-expect-list strong {
	color: var(--pelican-blue);
}

.story-brands-section,
.story-faq-section {
	background: var(--pelican-white);
}

.story-service-layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.4rem;
}

.story-service-layout .story-area-card {
	flex-direction: column;
	align-items: flex-start;
	height: 100%;
}

.story-service-layout .story-area-card .button {
	margin-top: auto;
}

.story-review-section {
	background: var(--pelican-cloud);
}

.story-review-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: clamp(1.5rem, 4vw, 2.7rem);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: var(--shadow-soft);
}

.story-review-card > div {
	max-width: 760px;
}

.story-faq-list {
	max-width: 960px;
	margin-inline: auto;
}

.story-final-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(155px, 1fr));
	gap: .75rem;
	margin-top: 1.25rem;
}

.story-final-actions .button {
	width: 100%;
	text-align: center;
}

.faq-hero {
	padding: clamp(3.8rem, 7vw, 6.5rem) 0;
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .96), rgba(10, 95, 144, .80)),
		radial-gradient(circle at 82% 16%, rgba(231, 199, 79, .32), transparent 30%),
		var(--pelican-blue);
}

.faq-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.faq-lead {
	max-width: 760px;
	color: rgba(255, 255, 255, .86);
	font-size: clamp(1.08rem, 2vw, 1.28rem);
}

.faq-hero-card {
	display: grid;
	gap: .7rem;
	padding: 1.5rem;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, .12);
	box-shadow: var(--shadow-soft);
}

.faq-hero-card strong {
	color: var(--pelican-gold);
	font-size: 1.15rem;
}

.faq-hero-card span {
	padding: .75rem .9rem;
	border-radius: 999px;
	color: var(--pelican-blue);
	background: rgba(255, 255, 255, .92);
	font-weight: 850;
}

.faq-section {
	background: linear-gradient(180deg, var(--pelican-white), var(--pelican-cloud));
}

.faq-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 1.5rem;
	align-items: start;
}

.faq-list {
	display: grid;
	gap: 1rem;
}

.faq-item {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 1rem;
	padding: clamp(1.1rem, 3vw, 1.6rem);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: 0 10px 28px rgba(20, 32, 43, .07);
}

.faq-item > span {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 16px;
	color: var(--pelican-blue);
	background: var(--pelican-gold);
	font-weight: 950;
}

.faq-item h2 {
	margin-bottom: .45rem;
	color: var(--pelican-blue);
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	letter-spacing: -.02em;
}

.faq-item p,
.faq-sidebar p,
.faq-cta-card p:not(.eyebrow) {
	color: var(--pelican-muted);
}

.faq-sidebar,
.faq-cta-card {
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: 0 12px 32px rgba(20, 32, 43, .07);
}

.faq-sidebar {
	position: sticky;
	top: 1rem;
	padding: 1.3rem;
}

.faq-sidebar h2,
.faq-cta-card h2 {
	color: var(--pelican-blue);
	font-size: clamp(1.4rem, 2.5vw, 2rem);
}

.color-option-grid {
	display: grid;
	gap: .75rem;
	margin-top: 1rem;
}

.color-option-grid div {
	display: flex;
	align-items: center;
	gap: .7rem;
	font-weight: 850;
	color: var(--pelican-blue);
}

.swatch {
	display: inline-block;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid var(--pelican-line);
	box-shadow: inset 0 0 0 3px rgba(255,255,255,.5);
}

.swatch.blue-lagoon {
	background: #3281d2;
}

.swatch.granite {
	background: #716e7a;
}

.swatch.sully-blue {
	background: #b9e4ea;
}

.swatch.white {
	background: #fff;
	border-color: #8b98a5;
}

.faq-cta-section {
	background: var(--pelican-white);
}

.faq-cta-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.4rem;
}

.faq-cta-card {
	padding: clamp(1.4rem, 4vw, 2.5rem);
}

.faq-cta-card.financing {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(244, 248, 251, .98)),
		radial-gradient(circle at 90% 15%, rgba(231, 199, 79, .24), transparent 28%);
}

.area-hero {
	padding: clamp(3.8rem, 7vw, 6.5rem) 0;
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .96), rgba(10, 95, 144, .80)),
		radial-gradient(circle at 82% 16%, rgba(231, 199, 79, .32), transparent 30%),
		var(--pelican-blue);
}

.area-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .45fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.area-lead {
	max-width: 780px;
	color: rgba(255, 255, 255, .86);
	font-size: clamp(1.08rem, 2vw, 1.28rem);
}

.area-hero-card,
.area-card,
.area-resource-card,
.area-cta-card,
.area-timeline-card {
	border-radius: var(--radius-lg);
	box-shadow: 0 12px 32px rgba(20, 32, 43, .07);
}

.area-hero-card {
	padding: 1.5rem;
	border: 1px solid rgba(255, 255, 255, .25);
	background: rgba(255, 255, 255, .12);
}

.area-hero-card strong {
	display: block;
	margin-bottom: .8rem;
	color: var(--pelican-gold);
	font-size: 1.15rem;
}

.area-hero-card ul {
	display: grid;
	gap: .65rem;
	margin: 0;
	padding-left: 1.25rem;
	color: rgba(255, 255, 255, .9);
	font-weight: 750;
}

.area-section,
.area-cta-section {
	background: var(--pelican-white);
}

.area-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.2rem;
}

.area-card,
.area-resource-card,
.area-cta-card,
.area-timeline-card {
	border: 1px solid var(--pelican-line);
	background: var(--pelican-white);
}

.area-card {
	padding: 1.25rem;
}

.area-card span {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 1rem;
	border-radius: 14px;
	color: var(--pelican-blue);
	background: var(--pelican-gold);
	font-weight: 950;
}

.area-card h2,
.area-resource-card h2,
.area-cta-card h2,
.area-timeline-card h2 {
	color: var(--pelican-blue);
	font-size: clamp(1.35rem, 2.5vw, 2rem);
}

.area-card p,
.area-resource-card p,
.area-timeline-card li {
	color: var(--pelican-muted);
}

.area-resources-section,
.area-timeline-section {
	background: linear-gradient(180deg, var(--pelican-cloud), var(--pelican-white));
}

.area-resource-card,
.area-cta-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: clamp(1.4rem, 4vw, 2.5rem);
}

.area-timeline-card {
	padding: clamp(1.4rem, 4vw, 2.5rem);
}

.area-timeline-card ol {
	display: grid;
	gap: .65rem;
	margin: 1rem 0 0;
	padding-left: 1.25rem;
	font-weight: 750;
}

.area-cta-card {
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .98), rgba(10, 95, 144, .88)),
		var(--pelican-blue);
}

.area-cta-card h2 {
	color: var(--pelican-white);
}

.area-brand-actions {
	grid-template-columns: repeat(2, minmax(190px, max-content));
}

.area-collection-section,
.area-faq-section {
	background: var(--pelican-white);
}

.area-centered-heading {
	max-width: 820px;
	margin: 0 auto 2rem;
	text-align: center;
}

.area-centered-heading > p:last-child {
	color: var(--pelican-muted);
}

.area-collection-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.4rem;
}

.area-collection-card,
.area-local-card {
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
}

.area-collection-card {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.5rem, 4vw, 2.6rem);
	background: linear-gradient(145deg, var(--pelican-white), var(--pelican-cloud));
}

.area-collection-card::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 6px;
	background: var(--pelican-gold);
	content: "";
}

.area-collection-card.latham::before {
	background: var(--pelican-blue);
}

.area-brand-label {
	margin: 0 0 .65rem;
	color: var(--pelican-gold-dark);
	font-size: .82rem;
	font-weight: 950;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.area-collection-card h3,
.area-local-card h2 {
	margin-top: 0;
	color: var(--pelican-blue);
	font-size: clamp(1.55rem, 3vw, 2.25rem);
}

.area-collection-card > p:not(.area-brand-label),
.area-local-card p {
	color: var(--pelican-muted);
}

.area-collection-card ul {
	display: grid;
	gap: .55rem;
	margin: .35rem 0 1.5rem;
	padding: 0;
	list-style: none;
}

.area-collection-card li {
	position: relative;
	padding-left: 1.35rem;
	font-weight: 750;
}

.area-collection-card li::before {
	position: absolute;
	left: 0;
	color: var(--pelican-gold);
	content: "✓";
}

.area-collection-card .button {
	margin-top: auto;
}

.home-manufacturer-logo {
	display: grid;
	width: 100%;
	min-height: 104px;
	margin-bottom: 1rem;
	place-items: center;
}

.home-manufacturer-logo img {
	display: block;
	width: auto;
	max-width: min(100%, 250px);
	max-height: 94px;
	object-fit: contain;
}

.home-manufacturer-logo.latham-anniversary-logo img {
	max-width: min(100%, 390px);
	max-height: 100px;
}

.home-manufacturer-photo {
	display: block;
	width: 100%;
	height: clamp(230px, 22vw, 320px);
	margin: 0 0 1.5rem;
	border-radius: var(--radius-md);
	object-fit: cover;
	box-shadow: 0 14px 32px rgba(12, 54, 82, .14);
}

.home-manufacturer-card {
	align-items: center;
	text-align: center;
}

.home-manufacturer-card h3 {
	width: 100%;
	margin-bottom: .8rem;
	font-size: clamp(1.45rem, 2.25vw, 2rem);
	white-space: nowrap;
}

.home-manufacturer-card h3 a {
	color: inherit;
}

.home-manufacturer-description {
	max-width: 500px;
	margin: 0 auto 1.25rem;
	font-size: 1.05rem;
	line-height: 1.65;
}

.home-manufacturer-gallery-link {
	margin-top: auto;
	color: var(--pelican-blue-2);
	font-weight: 850;
	text-decoration: underline;
	text-decoration-color: rgba(228, 155, 6, .7);
	text-decoration-thickness: 2px;
	text-underline-offset: .3em;
}

.home-manufacturer-gallery-link:hover,
.home-manufacturer-gallery-link:focus-visible {
	color: var(--pelican-gold-dark);
}

.area-local-section {
	background: var(--pelican-cloud);
}

.area-local-card {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(1.5rem, 5vw, 3.5rem);
	align-items: center;
	padding: clamp(1.5rem, 4vw, 2.8rem);
	background: var(--pelican-white);
}

.area-city-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .7rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.area-city-list li {
	padding: .8rem 1rem;
	border: 1px solid var(--pelican-line);
	border-radius: .75rem;
	color: var(--pelican-blue);
	background: var(--pelican-cloud);
	font-weight: 850;
	text-align: center;
}

.area-faq-list {
	max-width: 940px;
	margin-inline: auto;
}

.area-dual-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
}

.area-cta-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(165px, 1fr));
	gap: .75rem;
}

.area-cta-actions .button {
	width: 100%;
	text-align: center;
}

.specials-hero {
	padding: clamp(3.8rem, 7vw, 6.5rem) 0;
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .96), rgba(10, 95, 144, .80)),
		radial-gradient(circle at 82% 16%, rgba(228, 155, 6, .32), transparent 30%),
		var(--pelican-blue);
}

.specials-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.specials-lead {
	max-width: 760px;
	color: rgba(255, 255, 255, .86);
	font-size: clamp(1.08rem, 2vw, 1.28rem);
}

.specials-hero-card {
	display: grid;
	gap: .7rem;
	padding: 1.5rem;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, .12);
	box-shadow: var(--shadow-soft);
}

.specials-hero-card strong {
	color: var(--pelican-gold);
	font-size: 1.15rem;
}

.specials-hero-card span {
	padding: .75rem .9rem;
	border-radius: 999px;
	color: var(--pelican-blue);
	background: rgba(255, 255, 255, .92);
	font-weight: 850;
}

.specials-section {
	background: linear-gradient(180deg, var(--pelican-white), var(--pelican-cloud));
}

.specials-layout {
	display: grid;
	grid-template-columns: 360px minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
}

.specials-includes-card,
.specials-content-card,
.specials-cta-card {
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: 0 12px 32px rgba(20, 32, 43, .07);
}

.specials-includes-card,
.specials-content-card {
	padding: clamp(1.25rem, 3vw, 2rem);
}

.specials-includes-card h2,
.specials-content-card h2,
.specials-cta-card h2 {
	color: var(--pelican-blue);
}

.specials-includes-card ul {
	display: grid;
	gap: .55rem;
	margin: 1rem 0 0;
	padding-left: 1.25rem;
	color: var(--pelican-muted);
	font-weight: 750;
}

.specials-content-card p,
.specials-cta-card p:not(.eyebrow) {
	color: var(--pelican-muted);
}

.specials-shortcode {
	margin: 1.2rem 0;
}

.specials-shortcode * {
	max-width: 100%;
}

.specials-cta-section {
	background: var(--pelican-white);
}

.specials-cta-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: clamp(1.4rem, 4vw, 2.5rem);
}

.page-hero {
	padding: clamp(3rem, 6vw, 5rem) 0;
	background: var(--pelican-cloud);
	border-block: 1px solid var(--pelican-line);
}

.content-section {
	padding: clamp(3rem, 6vw, 5rem) 0;
}

.section-heading {
	max-width: 760px;
	margin-bottom: 2rem;
}

.models-section-heading {
	display: flex;
	max-width: none;
	align-items: flex-start;
	flex-direction: column;
	gap: .6rem;
}

.models-section-heading .eyebrow {
	flex: 0 0 auto;
	margin: 0;
}

.models-section-heading h2 {
	margin: 0;
	font-size: clamp(1.85rem, 3vw, 2.55rem);
	white-space: nowrap;
}

.pool-finder {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	margin: -0.35rem 0 2rem;
	padding: 1rem;
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-md);
	background: var(--pelican-cloud);
}

.pool-search-form {
	display: flex;
	flex: 1 1 25rem;
	gap: .6rem;
}

.pool-search-form input[type="search"] {
	min-width: 0;
	width: 100%;
	padding: .72rem .9rem;
	border: 1px solid rgba(28, 91, 135, .25);
	border-radius: .65rem;
	background: var(--pelican-white);
	color: var(--pelican-ink);
}

.pool-search-form .button {
	padding: .72rem 1rem;
}

.pool-category-filters {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: .45rem;
}

.pool-category-filters a {
	padding: .55rem .72rem;
	border: 1px solid rgba(28, 91, 135, .22);
	border-radius: 999px;
	color: var(--pelican-blue);
	background: var(--pelican-white);
	font-size: .78rem;
	font-weight: 800;
}

.pool-category-filters a:hover,
.pool-category-filters a:focus-visible,
.pool-category-filters a.is-active {
	border-color: var(--pelican-blue);
	color: var(--pelican-white);
	background: var(--pelican-blue);
}

.pool-grid,
.content-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.4rem;
}

.pool-card,
.content-card {
	overflow: hidden;
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-md);
	background: var(--pelican-white);
	box-shadow: 0 10px 28px rgba(20, 32, 43, .07);
}

.pool-card .entry-summary,
.pool-card .post-excerpt,
.pool-card-body p {
	display: none;
}

.pool-card-media {
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--pelican-cloud);
	overflow: hidden;
}

.pool-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .25s ease;
}

.pool-card:hover img {
	transform: scale(1.035);
}

.pool-card-placeholder {
	display: grid;
	place-items: center;
	height: 100%;
	color: var(--pelican-blue);
	font-weight: 800;
}

.pool-card-body,
.content-card {
	padding: 1.1rem;
}

.pool-card h2 {
	margin: 0;
	color: var(--pelican-blue);
	font-size: 1.15rem;
	text-align: center;
}

.pool-card-link {
	display: table;
	margin: .75rem auto 0;
	color: var(--pelican-blue-2);
	font-size: .86rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.pool-card-quote-gallery .pool-card-media {
	--pool-card-image-inset: clamp(.75rem, 1.4vw, 1rem);
	position: relative;
	display: block;
	padding: 0;
	background:
		linear-gradient(145deg, rgba(232, 240, 246, .98), rgba(244, 248, 251, .98)),
		radial-gradient(circle at 82% 12%, rgba(28, 91, 135, .12), transparent 38%);
}

.pool-card-quote-gallery .pool-card-media img {
	position: absolute;
	inset: var(--pool-card-image-inset);
	width: calc(100% - var(--pool-card-image-inset) - var(--pool-card-image-inset)) !important;
	max-width: calc(100% - var(--pool-card-image-inset) - var(--pool-card-image-inset)) !important;
	height: calc(100% - var(--pool-card-image-inset) - var(--pool-card-image-inset)) !important;
	max-height: calc(100% - var(--pool-card-image-inset) - var(--pool-card-image-inset)) !important;
	min-width: 0;
	min-height: 0;
	object-fit: contain;
	object-position: center;
}

.pool-card-quote-gallery:hover .pool-card-media img {
	transform: scale(1.02);
}

.pool-card-quote-gallery .pool-card-body {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1.15rem 1rem 1.25rem;
}

.pool-card-actions {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: center;
	gap: .7rem;
	margin-top: .8rem;
}

.pool-card-specifications {
	width: 100%;
	padding: .75rem;
	border: 1px solid rgba(28, 91, 135, .14);
	border-radius: .75rem;
	background: var(--pelican-cloud);
}

.pool-card-spec-heading {
	display: block;
	margin-bottom: .55rem;
	color: var(--pelican-blue);
	font-size: .83rem;
	text-align: center;
}

.pool-card-specifications dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .35rem .65rem;
	margin: 0;
}

.pool-card-specifications dl div {
	display: flex;
	min-width: 0;
	justify-content: space-between;
	gap: .35rem;
	font-size: .72rem;
	line-height: 1.25;
}

.pool-card-specifications dt {
	color: var(--pelican-blue-2);
	font-weight: 700;
}

.pool-card-specifications dd {
	margin: 0;
	color: var(--pelican-ink);
	font-weight: 800;
	text-align: right;
}

.pool-card-quote {
	width: 100%;
	max-width: 13.5rem;
	padding: .72rem .85rem;
	font-size: .82rem;
	line-height: 1.2;
	text-align: center;
}

.pool-detail-hero,
.quote-hero {
	padding: clamp(3rem, 7vw, 6rem) 0;
	background:
		linear-gradient(135deg, rgba(244,248,251,.95), rgba(255,255,255,.98)),
		radial-gradient(circle at 85% 12%, rgba(228, 155, 6, .24), transparent 32%);
	border-bottom: 1px solid var(--pelican-line);
}

.pool-detail-hero-bg {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(244,248,251,.98) 0%, rgba(244,248,251,.94) 46%, rgba(244,248,251,.76) 100%),
		var(--pool-hero-image),
		radial-gradient(circle at 85% 12%, rgba(228, 155, 6, .20), transparent 32%),
		var(--pelican-cloud);
	background-position: center, 86% center, center;
	background-size: cover, min(56vw, 760px) auto, cover;
	background-repeat: no-repeat;
}

.pool-detail-hero .hero-copy {
	color: var(--pelican-muted);
}

.pool-detail-hero-content {
	max-width: 980px;
}

.quote-model-hero .hero-copy {
	color: var(--pelican-muted);
}

.quote-model-hero-content {
	max-width: 980px;
}

/* Shared Latham model layout, based on the approved Aruba design. */
.aruba-page { color: #062c52; }
.aruba-page svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.aruba-hero { background: #e4f6fc url('../images/aruba-palms.jpeg') center / cover; padding: 28px 0 24px; }
.aruba-hero-grid { display: grid; grid-template-columns: .85fr 1.3fr; gap: 20px; align-items: center; }
.aruba-eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: 14px; font-weight: 700; color: #1764a4; margin: 0 0 6px; }
.aruba-hero h1 { font: 800 clamp(64px,8vw,108px)/1 Arial,Helvetica,sans-serif; letter-spacing: -.04em; margin: 0 0 12px; color: #041d47; }
.aruba-intro { font-size: 22px; line-height: 1.35; color: #526579; max-width: 440px; margin: 0; }
.aruba-diagram { position: relative; }
.aruba-diagram img { width: 100%; height: auto; }
.aruba-diagram p { position: absolute; right: 0; top: 6%; font: 400 clamp(20px,2.3vw,30px)/1 "Alex Brush",cursive; transform: rotate(-10deg); text-align: center; margin: 0; }
.aruba-diagram p::after { content: ''; display: block; height: 10px; border-top: 2px solid #80cfde; border-radius: 50%; margin-top: 7px; }
.aruba-specs { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin: 18px 0 16px; }
.aruba-specs>div { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 13px 7px; border-radius: 12px; background: rgba(255,255,255,.95); font-size: 14px; }
.aruba-specs dt { font-weight: 700; }.aruba-specs dd { margin: 0; font-weight: 600; }
.aruba-specs svg { color: #e9aa16; }
.aruba-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.aruba-hero .aruba-actions { max-width: 640px; margin-inline: auto; }
.aruba-button { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 12px 10px; border: 1.5px solid #063b66; border-radius: 999px; font-size: 15px; font-weight: 700; line-height: 1.3; text-align: center; }
.aruba-button-gold { background: #ffbf31; border-color: #ffbf31; }.aruba-button-blue { background: #063b66; color: white; }.aruba-button-outline { background: white; }
.aruba-button-outline svg { order: -1; }
.aruba-button:hover { box-shadow: 0 3px 12px #063b6633; }.aruba-page a:focus-visible { outline: 3px solid #e49b06; outline-offset: 4px; }
.aruba-feature { padding: 24px 0 18px; }
.aruba-feature-heading { text-align: center; margin-bottom: 22px; }
.aruba-feature-heading h2 { font-size: clamp(26px,2.7vw,36px); line-height: 1.2; letter-spacing: -.035em; margin: 0 0 7px; color: #041d47; }
.aruba-feature-heading p { margin: 0; color: #526579; font-size: 19px; }
.aruba-feature-grid { display: grid; grid-template-columns: 1.8fr 1fr; gap: 20px; align-items: stretch; }
.aruba-photo { display: block; position: relative; min-height: 0; border-radius: 14px; overflow: hidden; }
.aruba-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.aruba-panel { padding: 23px; background: white; border-radius: 14px; box-shadow: 0 3px 18px #063b6614; }
.aruba-panel h2 { font-size: 28px; line-height: 1.12; letter-spacing: -.025em; margin: 0 0 12px; color: #041d47; }
.aruba-panel p { margin: 0; font-size: 18px; line-height: 1.4; color: #526579; }
.aruba-colors { border-top: 1px solid #d7e2e8; margin-top: 15px; padding-top: 12px; }
.aruba-colors h3 { display: flex; align-items: center; gap: 8px; font-size: 18px; margin: 0 0 12px; }
.aruba-swatches { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; text-align: center; }
.aruba-swatches img { border-radius: 50%; width: 56px; height: 56px; object-fit: cover; margin: 0 auto 6px; }
.aruba-swatches span { font-size: 13px; line-height: 1.3; display: block; }
.aruba-colors-link { display: block; text-align: center; font-weight: 700; color: #1764a4; font-size: 16px; margin-top: 13px; }
.aruba-bottom { background: #e4f6fc url('../images/aruba-palms.jpeg') center / cover; border-radius: 14px; padding: 24px; margin-top: 20px; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 24px; }
.aruba-bottom-copy { text-align: center; border-right: 1px solid #c6dce6; padding-right: 20px; }
.aruba-bottom h2 { font: 400 clamp(38px,4.4vw,56px)/1.2 "Kaushan Script",cursive; letter-spacing: -1px; transform: rotate(-5deg); margin: 0 0 16px; color: #041d47; }
.aruba-bottom p { margin: 0; font-size: 14px; color: #526579; }
.aruba-bottom .aruba-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
.aruba-note { font-size: 13px; color: #526579; text-align: center; margin: 18px auto 0; max-width: 960px; }
.san-juan-shared-model .aruba-note { max-width: none; }
@media (min-width: 1001px) {
	.san-juan-shared-model .aruba-note { font-size: clamp(10px, .9vw, 12px); white-space: nowrap; }
}
.san-juan-3d-link { display: flex; width: fit-content; align-items: center; justify-content: center; gap: 7px; margin: 10px auto 0; min-height: 44px; padding: 6px 16px; border: 1px solid #063b66; border-radius: 999px; background: #ffffffcc; font-size: 14px; font-weight: 700; }
.san-juan-3d-link svg { width: 20px; height: 20px; }
.san-juan-shared-model .aruba-swatches .swatch { width: 56px; height: 56px; margin: 0 auto 6px; }
.aruba-panel .san-juan-color-note { font-size: 12px; text-align: center; margin-top: 10px; }
.aruba-photo-unavailable { display: grid; place-items: center; padding: 30px; background: #e4f6fc; text-align: center; }
.latham-shared-model .aruba-hero h1 { font-size: clamp(42px,5vw,72px); overflow-wrap: anywhere; }
.latham-shared-model .aruba-hero-grid > div { min-width: 0; }
.latham-shared-model .aruba-diagram { padding-right: 110px; }
.latham-shared-model .aruba-diagram img { height: 315px; object-fit: contain; object-position: center; }
.latham-shared-model .aruba-diagram p { font-size: 25px; }
.latham-shared-model .aruba-bottom h2 { font-size: clamp(32px,3.6vw,46px); overflow-wrap: anywhere; }
.latham-shared-model .aruba-feature-grid { min-height: 496px; }
@media (max-width: 700px) {
	.latham-shared-model .aruba-diagram { padding: 100px 0 0; }
	.latham-shared-model .aruba-diagram img { height: 230px; }
	.latham-shared-model .aruba-diagram p { font-size: 20px; }
	.latham-shared-model .aruba-feature-grid { min-height: 0; }
}
@media (max-width: 1000px) {
	.aruba-specs { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.aruba-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.aruba-feature-grid { grid-template-columns: 1.25fr 1fr; }
	.aruba-panel { padding: 18px; }
	.aruba-bottom { grid-template-columns: 1fr; }.aruba-bottom-copy { border: 0; padding: 0; }
}
@media (max-width: 700px) {
	.aruba-hero-grid,.aruba-feature-grid { grid-template-columns: 1fr; }
	.aruba-hero-grid { gap: 16px; }.aruba-intro { font-size: 19px; }
	.aruba-diagram p { font-size: 23px; }
	.aruba-diagram { padding: 100px 0 0; }
	.aruba-diagram img { display: block; margin-inline: auto; }
	.aruba-diagram p { top: 0; right: 10px; }
	.aruba-specs { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.aruba-specs>div:last-child { grid-column: 1 / -1; }
	.aruba-actions { gap: 8px; }
	.aruba-button { min-height: 44px; min-width: 0; box-sizing: border-box; font-size: 12px; line-height: 1.2; padding: 7px 8px; gap: 5px; }
	.aruba-button svg { width: 16px; height: 16px; flex: 0 0 16px; }
	.aruba-photo { min-height: 0; aspect-ratio: 4/3; }
	.aruba-feature-heading p { font-size: 17px; }
	.aruba-bottom { padding: 22px 0; }
	.aruba-bottom-copy { padding-inline: 12px; }
	.aruba-bottom-copy p { text-align: center; }
	.aruba-backyard-line { display: block; }
}

/* Financing landing page. */
.pool-financing { color: #062c52; }
.finance-hero { background: #f5fbfd url('../images/financing-hero.jpeg') center / cover no-repeat; padding: clamp(48px, 5.5vw, 90px) 0; }
.finance-hero h1 { font-family: Arial, Helvetica, sans-serif; font-size: clamp(40px, 5.3vw, 70px); line-height: 1.04; letter-spacing: -.035em; font-weight: 800; color: #062c52; margin: 0 0 22px; }
.finance-intro { max-width: 510px; font-size: clamp(20px, 2.1vw, 27px); line-height: 1.4; color: #526579; margin: 0 0 28px; }
.finance-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.finance-button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 16px 26px; border: 2px solid #063b66; border-radius: 999px; background: #063b66; color: white; font-weight: 700; font-size: 18px; line-height: 1.4; }
.finance-button-outline { background: rgba(255,255,255,.94); color: #062c52; }
.finance-button span { font-size: 26px; line-height: 1; }
.finance-button:hover { background: #0a5f90; border-color: #0a5f90; color: white; }
.finance-button:focus-visible { outline: 3px solid #e49b06; outline-offset: 4px; }
.finance-redirect { font-size: 14px; color: #526579; margin: 20px 0 0; }
.finance-benefits { list-style: none; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; padding: 44px 0; }
.finance-benefits li { text-align: center; padding: 0 18px; border-right: 1px solid #d0dce4; }
.finance-benefits li:last-child { border: 0; }
.finance-icon { display: grid; place-items: center; width: 94px; height: 94px; border-radius: 50%; margin: 0 auto 14px; background: #e6f5fc; }
.finance-icon svg { width: 54px; height: 54px; fill: none; stroke: #062c52; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.finance-benefits strong { font-size: 20px; font-weight: 700; line-height: 1.4; }
.finance-partner { display: grid; grid-template-columns: 1.7fr 1fr; gap: 55px; align-items: center; padding: 8px 0 30px; }
.finance-partner h2 { font-size: clamp(32px, 3.5vw, 44px); line-height: 1.08; letter-spacing: -.03em; color: #062c52; margin: 0 0 16px; }
.finance-partner p { font-size: 20px; line-height: 1.45; color: #526579; margin: 0; }
.finance-partner-brand { border-left: 1px solid #d0dce4; padding-left: 50px; }
.finance-partner-brand img { width: 100%; max-width: 320px; height: auto; margin-bottom: 20px; }
.finance-disclaimer { border-top: 1px solid #d0dce4; padding: 18px 0 24px; text-align: center; font-size: 14px; color: #526579; margin: 0; line-height: 1.5; }
.finance-disclaimer a { text-decoration: underline; }
@media (max-width: 760px) {
	.finance-hero { background-position: 62% center; background-image: linear-gradient(90deg,rgba(245,251,253,.97),rgba(245,251,253,.8) 55%,rgba(245,251,253,.35)),url('../images/financing-hero.jpeg'); padding: 40px 0; }
	.finance-intro { max-width: 440px; }
	.finance-actions { flex-direction: column; align-items: flex-start; gap: 12px; }
	.finance-button { font-size: 16px; padding: 13px 20px; }
	.finance-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 0; padding: 32px 0; }
	.finance-benefits li:nth-child(2) { border: 0; }
	.finance-benefits li { padding: 0 8px; }
	.finance-benefits strong { font-size: 16px; }
	.finance-icon { width: 74px; height: 74px; }
	.finance-icon svg { width: 44px; height: 44px; }
	.finance-partner { grid-template-columns: 1fr; gap: 25px; }
	.finance-partner p { font-size: 18px; }
	.finance-partner-brand { border-left: 0; border-top: 1px solid #d0dce4; padding: 25px 0 0; }
	.finance-partner-brand img { max-width: 280px; }
}

/* Quote confirmation: airy photograph, centered copy, and handwritten signoff. */
.quote-thanks {
	color: #062c52;
	text-align: center;
	background: #f6fcff url("../images/thank-you-backyard.jpeg") center center / 100% 100% no-repeat;
	min-height: min(100vw, 1280px);
	padding: clamp(70px, 9vw, 140px) 24px clamp(95px, 10vw, 155px);
}
.quote-thanks-content { max-width: 900px; margin-inline: auto; }
.quote-thanks-check, .quote-thanks-icon {
	display: grid; place-items: center; aspect-ratio: 1; border-radius: 50%; margin-inline: auto; flex-shrink: 0;
}
.quote-thanks-check { width: clamp(100px, 12vw, 155px); background: #fff2d1; color: #efae08; margin-bottom: 20px; }
.quote-thanks-check svg { width: 65%; height: 65%; }
.quote-thanks h1 { font-family: Arial, Helvetica, sans-serif; font-size: clamp(48px, 7.2vw, 96px); font-weight: 800; line-height: 1.08; letter-spacing: -.035em; color: #062c52; margin: 0 0 8px; }
.quote-thanks-lead { font-size: clamp(21px, 3vw, 36px); line-height: 1.35; margin: 0; color: inherit; }
.quote-thanks-next { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 50px; max-width: 720px; margin: 60px auto 0; }
.quote-thanks-icon { width: 92px; background: #e2f3fc; margin-bottom: 14px; }
.quote-thanks-icon svg { width: 54px; height: 54px; }
.quote-thanks-next h2 { font-size: clamp(19px, 2vw, 23px); font-weight: 750; line-height: 1.3; letter-spacing: -.025em; margin: 0 0 8px; color: inherit; }
.quote-thanks-next p { font-size: 20px; line-height: 1.5; margin: 0 auto; max-width: 310px; color: inherit; }
.quote-thanks-next a { color: inherit; white-space: nowrap; text-decoration: none; }
.quote-thanks-next a:hover { text-decoration: underline; }
.quote-thanks-next a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.quote-thanks-signoff { border-top: 1px solid #aebdc9; margin-top: 55px; padding-top: 30px; }
.quote-thanks-script { font-family: "Alex Brush", "Snell Roundhand", cursive; font-size: clamp(34px, 4.5vw, 54px); font-weight: 400; line-height: 1.25; margin: 0; color: inherit; transform: rotate(-3deg); transform-origin: center; }
.quote-thanks-underline { display: block; width: 140px; height: 20px; margin: 3px auto 20px; color: #efae08; }
.quote-thanks-team { margin: 0; font-size: 21px; color: inherit; }
@media (max-width: 600px) {
	.quote-thanks { padding: 45px 22px 85px; background-position: center; background-size: cover; min-height: 0; }
	.quote-thanks-next { grid-template-columns: 1fr; gap: 28px; margin-top: 32px; }
	.quote-thanks-icon { width: 70px; margin-bottom: 10px; }
	.quote-thanks-icon svg { width: 44px; height: 44px; }
	.quote-thanks-next p { font-size: 17px; max-width: 285px; }
	.quote-thanks-signoff { margin-top: 30px; padding-top: 24px; }
	.quote-thanks-team { font-size: 17px; }
	.quote-thanks-script { transform: rotate(-2deg); }
}

.thank-you-section {
	background: linear-gradient(180deg, var(--pelican-white), var(--pelican-cloud));
}

.thank-you-card {
	max-width: 900px;
	margin-inline: auto;
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: var(--shadow-soft);
	text-align: center;
}

.thank-you-check {
	display: grid;
	place-items: center;
	width: 4rem;
	height: 4rem;
	margin: 0 auto 1rem;
	border-radius: 50%;
	color: var(--pelican-white);
	background: var(--pelican-gold);
	font-size: 2rem;
	font-weight: 900;
}

.thank-you-image {
	display: block;
	width: auto;
	max-width: min(100%, 680px);
	max-height: 340px;
	margin: 0 auto 1.5rem;
	object-fit: contain;
}

.thank-you-card h2 {
	margin-bottom: 1rem;
	color: var(--pelican-blue);
}

.thank-you-card p {
	max-width: 760px;
	margin: 0 auto 1rem;
	color: var(--pelican-muted);
}

.thank-you-contact {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .75rem;
	margin: 1.5rem 0;
}

.thank-you-contact a {
	padding: .8rem 1rem;
	border-radius: 999px;
	color: var(--pelican-white);
	background: var(--pelican-blue);
	font-weight: 800;
}

.thank-you-warning {
	margin-top: 1.5rem !important;
	padding: 1rem;
	border: 1px solid rgba(228, 155, 6, .4);
	border-radius: .75rem;
	background: rgba(228, 155, 6, .1);
	color: var(--pelican-ink) !important;
}

.latham-pool-card .pool-card-specifications dl {
	grid-template-columns: 54% 46%;
}

.latham-pool-card .pool-card-specifications dl div {
	justify-content: flex-start;
	gap: .22rem;
	font-size: .68rem;
	white-space: nowrap;
}

.latham-pool-card .pool-card-specifications dt::after {
	content: ":";
}

.latham-pool-card .pool-card-specifications dd {
	text-align: left;
}

.latham-pool-card .pool-card-media img {
	mix-blend-mode: multiply;
}

.latham-pool-card h2 a {
	color: var(--pelican-blue);
}

.faq-brand-actions { grid-template-columns: repeat(2, minmax(185px, max-content)); }
.faq-guide-card { display: grid; gap: .7rem; }
.faq-guide-card strong { margin-bottom: .2rem; }
.faq-guide-card a { padding: .7rem .8rem; border: 1px solid rgba(255,255,255,.2); border-radius: .7rem; color: var(--pelican-white); background: rgba(255,255,255,.08); font-weight: 800; }
.faq-guide-card a:hover, .faq-guide-card a:focus-visible { border-color: var(--pelican-gold); color: var(--pelican-gold); }
.faq-topic-nav { position: sticky; top: 0; z-index: 10; padding: .8rem 0; border-bottom: 1px solid var(--pelican-line); background: rgba(255,255,255,.96); box-shadow: 0 8px 22px rgba(20,32,43,.06); }
.admin-bar .faq-topic-nav { top: 32px; }
.faq-topic-nav .container { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem; }
.faq-topic-nav a { padding: .6rem .8rem; border-radius: 999px; color: var(--pelican-blue); background: var(--pelican-cloud); font-size: .82rem; font-weight: 850; }
.faq-topic-nav a:hover, .faq-topic-nav a:focus-visible { color: var(--pelican-white); background: var(--pelican-blue); }
.faq-guide-section { background: linear-gradient(180deg, var(--pelican-cloud), var(--pelican-white)); }
.faq-guide-layout { display: grid; gap: clamp(3rem, 7vw, 5.5rem); }
.faq-topic-group { scroll-margin-top: 110px; }
.faq-topic-heading { max-width: 920px; margin-bottom: 1.5rem; }
.faq-topic-heading h2 { color: var(--pelican-blue); font-size: clamp(1.8rem, 3.4vw, 2.8rem); }
.faq-accordion-list { display: grid; gap: .75rem; }
.faq-accordion-item { border: 1px solid var(--pelican-line); border-radius: var(--radius-md); background: var(--pelican-white); box-shadow: 0 8px 24px rgba(20,32,43,.05); }
.faq-accordion-item summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.25rem; color: var(--pelican-blue); cursor: pointer; font-size: 1.05rem; font-weight: 900; list-style: none; }
.faq-accordion-item summary::-webkit-details-marker { display: none; }
.faq-accordion-item summary span { display: inline-grid; flex: 0 0 34px; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--pelican-blue); background: var(--pelican-gold); font-size: 1.25rem; transition: transform .2s ease; }
.faq-accordion-item[open] summary span { transform: rotate(45deg); }
.faq-accordion-item[open] summary { border-bottom: 1px solid var(--pelican-line); }
.faq-accordion-item > div { padding: 0 1.25rem 1.25rem; }
.faq-accordion-item p { max-width: 980px; margin: 1rem 0 0; color: var(--pelican-muted); }
.faq-next-section { background: var(--pelican-white); }
.faq-next-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.4rem; }
.faq-next-card { padding: clamp(1.4rem,4vw,2.5rem); border: 1px solid var(--pelican-line); border-radius: var(--radius-lg); background: var(--pelican-white); box-shadow: var(--shadow-soft); }
.faq-next-card h2 { color: var(--pelican-blue); }
.faq-next-card p:not(.eyebrow) { color: var(--pelican-muted); }
.faq-next-card.financing { background: linear-gradient(135deg,rgba(255,255,255,.94),rgba(244,248,251,.98)); }

.reviews-score-card span { display: block; margin-top: .8rem; color: rgba(255,255,255,.78); font-size: .92rem; }
.reviews-story-section { background: linear-gradient(180deg,var(--pelican-cloud),var(--pelican-white)); }
.reviews-centered-heading { max-width: 900px; margin: 0 auto 2rem; text-align: center; }
.reviews-centered-heading h2 { font-size: clamp(1.75rem,2.8vw,2.5rem); white-space: nowrap; }
.reviews-centered-heading > p:last-child { color: var(--pelican-muted); }
.reviews-centered-heading > p:last-child span { display: block; }
.reviews-story-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.4rem; align-items: stretch; }
.review-story-card { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--pelican-line); border-radius: var(--radius-lg); background: var(--pelican-white); box-shadow: var(--shadow-soft); }
.review-story-heading { padding: 1.35rem 1.35rem 1rem; text-align: center; }
.review-story-heading h2 { margin-bottom: .45rem; color: var(--pelican-blue); font-size: 1.45rem; }
.review-story-heading .stars { margin-bottom: .4rem; font-size: 1.1rem; }
.review-pool-model { margin: 0; color: var(--pelican-blue); font-size: 1rem; font-weight: 900; }
.review-pool-model a { display: block; margin-bottom: .1rem; color: var(--pelican-blue-2); font-size: .72rem; letter-spacing: .1em; text-decoration: underline; text-decoration-color: rgba(28,91,135,.3); text-underline-offset: 3px; text-transform: uppercase; }
.review-preview-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3px; padding: 0 3px; }
.review-preview-gallery a { display: block; aspect-ratio: 4/3; overflow: hidden; background: var(--pelican-cloud); }
.review-preview-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.review-preview-gallery a:hover img { transform: scale(1.04); }
.review-story-copy { display: flex; flex: 1; flex-direction: column; padding: 1.3rem; }
.review-story-copy h3 { display: -webkit-box; min-height: 2.8em; overflow: hidden; color: var(--pelican-blue); font-size: 1.2rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.review-story-copy > div { min-height: 4.8em; overflow: hidden; color: var(--pelican-muted); }
.review-story-copy > div p { display: -webkit-box; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.review-story-link { display: inline-block; align-self: flex-start; margin-top: auto; padding-top: .8rem; color: var(--pelican-blue-2); font-size: .83rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.pool-model-reviews-section { background: linear-gradient(180deg,var(--pelican-cloud),var(--pelican-white)); }
.pool-model-reviews-heading { max-width: 860px; margin: 0 auto 2rem; text-align: center; }
.pool-model-reviews-heading h2 { color: var(--pelican-blue); }
.pool-model-reviews-heading > p:last-child { color: var(--pelican-muted); }
.pool-model-reviews-grid:has(> :only-child) { grid-template-columns: minmax(0,760px); justify-content: center; }
.review-detail-model-hero { min-height: 540px; display: flex; align-items: center; }
.review-detail-hero-content { max-width: 680px; }
.review-detail-model-hero h1 { color: var(--pelican-blue); }
.review-detail-model-hero .stars { font-size: 1.25rem; }
.review-detail-model { margin: .8rem 0 0; font-size: 1.12rem; }
.review-detail-model a, .review-detail-model strong { display: block; }
.review-detail-model a { margin-bottom: .2rem; color: var(--pelican-gold); font-size: .78rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.review-detail-model strong { color: var(--pelican-blue); font-size: 1.25rem; }
.review-detail-title { max-width: 650px; margin: 1rem 0 .5rem; color: var(--pelican-muted); font-size: 1.08rem; font-weight: 800; }
.review-back-link { display: inline-block; margin-top: .6rem; color: var(--pelican-gold); font-weight: 850; }
.review-detail-hero .reviews-score-card a { display: inline-block; margin-top: 1rem; color: var(--pelican-gold); font-weight: 850; }
.review-detail-section { background: var(--pelican-white); }
.review-detail-copy { max-width: 900px; }
.review-detail-copy h2 { color: var(--pelican-blue); }
.review-full-content { color: var(--pelican-muted); font-size: 1.08rem; }
.review-full-gallery-section { background: var(--pelican-cloud); }
.review-full-gallery-section .section-heading > p:last-child { color: var(--pelican-muted); }
.review-full-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .85rem; }
.review-full-gallery a { display: block; aspect-ratio: 4/3; overflow: hidden; border-radius: var(--radius-md); background: var(--pelican-white); box-shadow: 0 8px 24px rgba(20,32,43,.08); }
.review-full-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.review-full-gallery a:hover img { transform: scale(1.025); }

@media (min-width: 1025px) {
	.pool-hero-specs.latham-hero-specs {
		grid-template-columns: .82fr .82fr 1.25fr 1.15fr 1.2fr;
		width: min(1160px, calc(100vw - 4rem));
		max-width: none;
	}
}

.button.is-disabled {
	cursor: not-allowed;
	opacity: .68;
	pointer-events: none;
}

.latham-spec-disclaimer {
	max-width: 980px;
	margin: .75rem 0 0;
	color: var(--pelican-muted);
	font-size: .72rem;
	line-height: 1.45;
}

.latham-hero-actions {
	margin-top: 1.25rem;
}

.latham-description-card {
	max-width: 920px;
	margin-inline: auto;
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: var(--shadow-soft);
}

.latham-description-actions {
	margin-top: 1.5rem;
}

.latham-features-section {
	padding-top: clamp(3rem, 6vw, 5rem);
}

.latham-features-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.latham-features-grid article {
	padding: clamp(1.35rem, 3vw, 2rem);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-md);
	background: linear-gradient(145deg, var(--pelican-white), var(--pelican-cloud));
	box-shadow: var(--shadow-soft);
}

.latham-features-grid h3 {
	margin-top: 0;
	color: var(--pelican-blue);
}

.latham-features-grid ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.latham-features-grid li {
	position: relative;
	padding-left: 1.25rem;
}

.latham-features-grid li strong,
.latham-features-grid li span {
	display: block;
}

.latham-features-grid li strong {
	color: var(--pelican-blue);
}

.latham-features-grid li span {
	margin-top: .2rem;
	color: var(--pelican-muted);
	font-size: .92rem;
	line-height: 1.55;
}

.latham-features-grid li::before {
	position: absolute;
	left: 0;
	color: var(--pelican-gold);
	content: "✓";
}

.latham-quote-notice {
	margin-top: 1.25rem;
	padding: .9rem 1rem;
	border-radius: .75rem;
	background: var(--pelican-cloud);
	color: var(--pelican-muted);
	font-weight: 700;
}

.pool-detail-hero .hero-actions {
	display: grid;
	grid-template-columns: minmax(220px, 1.15fr) repeat(2, minmax(190px, 1fr));
	max-width: 760px;
}

.pool-detail-hero .hero-actions .button {
	width: 100%;
	padding-inline: 1rem;
	text-align: center;
}

.pool-detail-grid,
.quote-hero-grid,
.detail-layout,
.quote-layout {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
}

.pool-detail-grid,
.quote-hero-grid {
	grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
	align-items: center;
}

.pool-detail-image {
	overflow: hidden;
	border: 10px solid var(--pelican-white);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: var(--shadow-soft);
}

.pool-detail-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.pool-spec-heading {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin: 1.35rem 0 .8rem;
	color: var(--pelican-blue);
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	letter-spacing: -.02em;
}

.pool-spec-heading span {
	display: inline-grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	background: var(--pelican-gold);
	font-size: 1rem;
}

.pool-hero-specs {
	display: grid;
	grid-template-columns: repeat(5, minmax(160px, 1fr));
	gap: .7rem;
	max-width: 1160px;
}

.pool-hero-specs div {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	min-width: 0;
	position: relative;
	padding: .78rem 1rem;
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-md);
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 10px 24px rgba(20, 32, 43, .06);
	backdrop-filter: blur(8px);
}

.pool-hero-specs i {
	flex: 0 0 auto;
	display: inline-grid;
	place-items: center;
	width: 1.65rem;
	height: 1.65rem;
	border-radius: 999px;
	color: var(--pelican-blue);
	background: rgba(228, 155, 6, .18);
	font-style: normal;
	font-weight: 950;
}

.pool-hero-specs span,
.pool-hero-specs strong {
	display: inline;
}

.pool-hero-specs span {
	color: var(--pelican-blue);
	font-size: .95rem;
	font-weight: 950;
	letter-spacing: 0;
	text-transform: none;
}

.pool-hero-specs strong {
	color: var(--pelican-blue);
	font-size: .96rem;
	font-weight: 950;
	white-space: nowrap;
}

.pool-hero-specs span::after {
	content: ":";
}

.detail-layout {
	grid-template-columns: minmax(0, 1fr) 340px;
	align-items: start;
}

.detail-content,
.detail-sidebar,
.quote-content,
.quote-trust-card,
.review-card {
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: 0 12px 32px rgba(20, 32, 43, .07);
}

.detail-content,
.quote-content {
	padding: clamp(1.25rem, 3vw, 2rem);
}

.detail-content {
	max-width: 980px;
	margin-inline: auto;
}

.detail-sidebar,
.quote-trust-card {
	padding: 1.4rem;
}

.detail-sidebar h2 {
	font-size: 1.35rem;
	letter-spacing: -.02em;
}

.detail-sidebar .button {
	width: 100%;
	margin-top: .75rem;
}

.spec-list {
	display: grid;
	gap: .75rem;
	margin: 0;
}

.spec-list div {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: .85rem 0;
	border-bottom: 1px solid var(--pelican-line);
}

.spec-list dt {
	color: var(--pelican-muted);
	font-weight: 700;
}

.spec-list dd {
	margin: 0;
	color: var(--pelican-blue);
	font-weight: 900;
	text-align: right;
}

.quote-trust-card {
	display: grid;
	gap: .5rem;
	color: var(--pelican-blue);
}

.pool-bottom-cta-section {
	background: linear-gradient(180deg, var(--pelican-white), var(--pelican-cloud));
}

.pool-bottom-cta-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.4rem;
}

.pool-bottom-cta-card {
	padding: clamp(1.4rem, 4vw, 2.5rem);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: 0 12px 32px rgba(20, 32, 43, .07);
}

.pool-bottom-cta-card h2 {
	color: var(--pelican-blue);
	font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.pool-bottom-cta-card p:not(.eyebrow) {
	color: var(--pelican-muted);
}

.pool-bottom-cta-card.financing {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(244, 248, 251, .98)),
		radial-gradient(circle at 90% 15%, rgba(228, 155, 6, .24), transparent 28%);
}

.quote-trust-card strong {
	font-size: 1.25rem;
}

.quote-section {
	background: linear-gradient(180deg, var(--pelican-white), var(--pelican-cloud));
}

.quote-layout {
	max-width: 920px;
}

.quote-content form,
.quote-content .wpcf7 {
	max-width: 100%;
}

.quote-content .wpcf7-form {
	display: grid;
	gap: 1.25rem;
}

.quote-content .wpcf7-form p {
	margin: 0;
	color: var(--pelican-blue);
	font-weight: 700;
}

.quote-content .wpcf7-form p:has(> input[type="hidden"]) {
	display: none;
}

.quote-content fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.quote-content .wpcf7-form > .hidden-fields-container,
.quote-content .wpcf7-form > .wpcf7-form-control-wrap:has(input[type="hidden"]) {
	display: none;
}

.quote-content .wpcf7-form > div:not([class]) {
	padding: 1rem 1.1rem;
	border-left: 4px solid var(--pelican-gold);
	border-radius: 12px;
	background: var(--pelican-cloud);
}

.quote-content .wpcf7-form > div:not([class]) p {
	color: var(--pelican-ink);
	font-weight: 700;
}

.quote-content .custom_request_quote:has(> fieldset > .block) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.quote-content .custom_request_quote:has(> fieldset > .block) > fieldset {
	display: grid;
	align-content: start;
	gap: 1rem;
}

.quote-content .block,
.quote-content .block p {
	margin: 0;
}

.quote-content .input-wrapper {
	position: relative;
}

.quote-content .input-wrapper br {
	display: none;
}

.quote-content .input-wrapper .asterisk {
	position: absolute;
	top: .8rem;
	right: 1rem;
	z-index: 2;
	color: #c62828;
	font-weight: 950;
}

.quote-content .input-wrapper input {
	padding-right: 2.25rem;
}

.quote-content .custom_request_quote:has(> .custom_cf7_section) {
	display: grid;
	gap: 1rem;
}

.quote-content .custom_cf7_section {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem;
	padding: 1rem;
	border: 1px solid var(--pelican-line);
	border-radius: 16px;
	background: var(--pelican-cloud);
}

.quote-content .custom_cf7_section > p:first-child {
	grid-column: 1 / -1;
	margin-bottom: .1rem;
}

.quote-content .custom_cf7_section > p:first-child .box-header {
	margin: 0;
	font-size: 1.05rem !important;
}

.quote-content .custom_cf7_section > fieldset {
	display: contents;
}

.quote-content .custom_cf7_section > fieldset > div {
	min-width: 0;
	padding: .85rem;
	border: 1px solid var(--pelican-line);
	border-radius: 12px;
	background: var(--pelican-white);
}

.quote-content .custom_cf7_section > fieldset > div > p {
	margin: 0;
}

.quote-content .custom_cf7_section br {
	display: none;
}

.quote-content .custom_cf7_section .box-header {
	margin-bottom: .55rem;
	font-size: .92rem;
}

.quote-content .custom_cf7_section:not(:last-child) > fieldset > div .box-header {
	text-align: center;
}

.quote-content label,
.quote-content .box-header {
	display: block;
	margin-bottom: .45rem;
	color: var(--pelican-blue);
	font-weight: 900;
}

.quote-content input,
.quote-content select,
.quote-content textarea {
	width: 100%;
	max-width: 100%;
	border: 1px solid var(--pelican-line);
	border-radius: 12px;
	padding: .85rem 1rem;
	background: var(--pelican-white);
	color: var(--pelican-ink);
	font: inherit;
	box-shadow: 0 8px 20px rgba(20, 32, 43, .04);
}

.quote-content input:focus,
.quote-content select:focus,
.quote-content textarea:focus {
	border-color: var(--pelican-gold);
	outline: 3px solid rgba(228, 155, 6, .18);
}

.quote-content input[type="radio"],
.quote-content input[type="checkbox"] {
	width: auto;
	box-shadow: none;
}

.quote-content .wpcf7-list-item {
	margin: .25rem .85rem .25rem 0;
}

.quote-content .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	margin: 0;
	font-weight: 800;
}

.quote-content .custom_cf7_section .wpcf7-list-item {
	margin: 0 .65rem 0 0;
}

.quote-content .custom_cf7_section .wpcf7-list-item label {
	min-height: 34px;
	padding: .3rem .6rem;
	border: 1px solid var(--pelican-line);
	border-radius: 999px;
	background: var(--pelican-cloud);
}

.quote-content .custom_cf7_section .wpcf7-list-item:has(input.wpcf7dtx-radio) label {
	min-width: 0;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-size: 0;
	justify-content: center;
}

.quote-content .custom_cf7_section .wpcf7-list-item:has(input.wpcf7dtx-radio) label::after {
	content: "Yes";
	font-size: .82rem;
	line-height: 1;
}

.quote-content .custom_cf7_section .wpcf7-list-item.last:has(input.wpcf7dtx-radio) label::after {
	content: "No";
}

.quote-content .custom_cf7_section .wpcf7-form-control-wrap:has(> .wpcf7-list-item input.wpcf7dtx-radio) {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
}

.quote-content .custom_cf7_section .wpcf7-list-item:has(input.wpcf7dtx-radio) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	min-width: 76px;
	min-height: 38px;
	margin: 0;
	padding: .35rem .7rem;
	border: 1px solid var(--pelican-line);
	border-radius: 999px;
	background: var(--pelican-cloud);
}

.quote-content .custom_cf7_section .wpcf7-list-item:has(input.wpcf7dtx-radio) input {
	margin: 0;
}

.quote-content .custom_cf7_section input[type="radio"] {
	accent-color: var(--pelican-blue);
}

.quote-content .custom_cf7_section:last-child {
	grid-template-columns: minmax(0, 1fr);
}

.quote-content .custom_cf7_section:last-child > fieldset > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.quote-content .custom_cf7_section:last-child > fieldset > div > p {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
}

.quote-content .custom_cf7_section:last-child .box-header {
	margin: 0;
}

.quote-content .custom_cf7_button p {
	display: flex;
	justify-content: center;
}

.quote-content input[type="submit"],
.quote-content button[type="submit"] {
	width: auto;
	margin-top: .5rem;
	padding: .95rem 1.7rem;
	border: 0;
	border-radius: 999px;
	background: var(--pelican-blue);
	color: var(--pelican-white);
	font-weight: 900;
	cursor: pointer;
}

.review-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.4rem;
}

.review-card {
	padding: 1.4rem;
}

.stars {
	margin-bottom: .7rem;
	color: var(--pelican-gold);
	letter-spacing: .12em;
}

.review-card h2 {
	font-size: 1.2rem;
	letter-spacing: -.02em;
}

.review-copy {
	color: var(--pelican-muted);
}

.reviews-hero {
	padding: clamp(3.8rem, 7vw, 6.2rem) 0;
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .96), rgba(10, 95, 144, .78)),
		radial-gradient(circle at 82% 18%, rgba(231, 199, 79, .32), transparent 30%),
		var(--pelican-blue);
}

.reviews-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.reviews-lead {
	max-width: 700px;
	color: rgba(255, 255, 255, .86);
	font-size: clamp(1.08rem, 2vw, 1.28rem);
}

.reviews-score-card {
	padding: 1.5rem;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, .12);
	box-shadow: var(--shadow-soft);
}

.reviews-score-card .stars {
	font-size: 1.5rem;
}

.reviews-score-card strong {
	display: block;
	color: var(--pelican-white);
	font-size: 1.2rem;
	line-height: 1.25;
}

.review-cta-section {
	background: var(--pelican-cloud);
}

.review-cta-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: clamp(1.4rem, 4vw, 2.5rem);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: 0 12px 32px rgba(20, 32, 43, .07);
}

.review-cta-card h2 {
	color: var(--pelican-blue);
	font-size: clamp(1.6rem, 3vw, 2.35rem);
}

.review-cta-card p:not(.eyebrow) {
	max-width: 680px;
	color: var(--pelican-muted);
}

.review-cta-actions {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: .75rem;
}

.review-cta-actions .button {
	white-space: nowrap;
}

.process-hero {
	padding: clamp(4rem, 8vw, 7rem) 0;
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .96), rgba(10, 95, 144, .82)),
		radial-gradient(circle at 82% 18%, rgba(231, 199, 79, .35), transparent 30%),
		var(--pelican-blue);
}

.process-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .55fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
}

.process-lead {
	max-width: 690px;
	margin: 0;
	color: rgba(255, 255, 255, .86);
	font-size: clamp(1.08rem, 2vw, 1.3rem);
}

.process-hero-card {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .9rem;
	padding: clamp(1.2rem, 3vw, 2rem);
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, .12);
	box-shadow: var(--shadow-soft);
	backdrop-filter: blur(12px);
}

.process-hero-card span {
	padding: .95rem 1rem;
	border-radius: 999px;
	color: var(--pelican-blue);
	background: rgba(255, 255, 255, .92);
	font-weight: 900;
}

.process-section {
	background: linear-gradient(180deg, var(--pelican-white), var(--pelican-cloud));
}

.process-timeline {
	display: grid;
	gap: 1.4rem;
}

.process-step {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 1.25rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: 0 12px 32px rgba(20, 32, 43, .07);
}

.process-step-number {
	display: grid;
	place-items: center;
	width: 70px;
	height: 70px;
	border-radius: 22px;
	color: var(--pelican-blue);
	background: linear-gradient(135deg, #fff8d2, var(--pelican-gold));
	font-size: 1.2rem;
	font-weight: 950;
}

.process-step-content h2 {
	color: var(--pelican-blue);
	font-size: clamp(1.55rem, 3vw, 2.25rem);
}

.process-step-content p {
	max-width: 900px;
	color: var(--pelican-muted);
}

.process-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	margin-top: 1.25rem;
}

.process-package-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.5rem;
}

.process-package {
	padding: 1.1rem;
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-md);
	background: var(--pelican-cloud);
}

.process-package h3 {
	margin-bottom: .8rem;
	color: var(--pelican-blue);
	font-size: 1.05rem;
	letter-spacing: -.02em;
}

.process-package ul,
.process-checklist {
	margin: 0;
	padding-left: 1.2rem;
	color: var(--pelican-muted);
}

.process-package li + li,
.process-checklist li + li {
	margin-top: .5rem;
}

.process-checklist {
	display: grid;
	gap: .55rem;
	margin-top: 1rem;
}

.process-school {
	background: var(--pelican-white);
}

.process-school-card {
	padding: clamp(1.5rem, 4vw, 3rem);
	border-radius: var(--radius-lg);
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .98), rgba(10, 95, 144, .88)),
		var(--pelican-blue);
	box-shadow: var(--shadow-soft);
}

.process-school-card p:not(.eyebrow) {
	max-width: 820px;
	color: rgba(255, 255, 255, .86);
	font-size: 1.08rem;
}

.process-cta-section {
	background: var(--pelican-cloud);
}

.process-cta-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.4rem;
}

.process-cta-card {
	padding: clamp(1.4rem, 4vw, 2.5rem);
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: 0 12px 32px rgba(20, 32, 43, .07);
}

.process-cta-card h2 {
	color: var(--pelican-blue);
	font-size: clamp(1.65rem, 3vw, 2.45rem);
}

.process-cta-card p:not(.eyebrow) {
	color: var(--pelican-muted);
}

.process-cta-card.financing {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(244, 248, 251, .98)),
		radial-gradient(circle at 90% 15%, rgba(231, 199, 79, .24), transparent 28%);
}

.process-brand-actions {
	grid-template-columns: repeat(2, minmax(200px, max-content));
}

.process-choice-section,
.process-prepare-section,
.process-faq-section {
	background: var(--pelican-white);
}

.process-centered-heading {
	max-width: 900px;
	margin: 0 auto 2rem;
	text-align: center;
}

.process-centered-heading > p:last-child {
	color: var(--pelican-muted);
}

.process-choice-grid .area-collection-card h3 {
	font-size: clamp(1.45rem, 2.6vw, 2rem);
}

.process-scope-note {
	margin-top: 1.25rem;
	padding: 1rem 1.1rem;
	border-left: 5px solid var(--pelican-gold);
	border-radius: .75rem;
	color: var(--pelican-blue);
	background: var(--pelican-cloud);
	line-height: 1.65;
}

.process-prepare-section {
	background: linear-gradient(180deg, var(--pelican-cloud), var(--pelican-white));
}

.process-prepare-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.process-prepare-grid article {
	padding: 1.35rem;
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: var(--shadow-soft);
}

.process-prepare-grid span {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-bottom: .9rem;
	border-radius: 14px;
	color: var(--pelican-blue);
	background: var(--pelican-gold);
	font-size: 1.15rem;
	font-weight: 950;
}

.process-prepare-grid h3 {
	margin: 0 0 .55rem;
	color: var(--pelican-blue);
	font-size: 1.15rem;
}

.process-prepare-grid p {
	margin: 0;
	color: var(--pelican-muted);
}

.process-faq-list {
	max-width: 960px;
	margin-inline: auto;
}

.process-final-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(155px, 1fr));
	gap: .75rem;
	margin-top: 1.25rem;
}

.process-final-actions .button {
	width: 100%;
	text-align: center;
}

.models-hero {
	padding: clamp(3.8rem, 7vw, 6.5rem) 0;
	color: var(--pelican-white);
	background:
		linear-gradient(135deg, rgba(6, 59, 102, .96), rgba(10, 95, 144, .78)),
		radial-gradient(circle at 78% 18%, rgba(231, 199, 79, .32), transparent 30%),
		var(--pelican-blue);
}

.models-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .45fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.models-lead {
	max-width: 720px;
	color: rgba(255, 255, 255, .86);
	font-size: clamp(1.08rem, 2vw, 1.28rem);
}

.models-hero-card {
	padding: 1.5rem;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, .12);
	box-shadow: var(--shadow-soft);
}

.models-hero-card strong {
	display: block;
	margin-bottom: .8rem;
	color: var(--pelican-gold);
	font-size: 1.15rem;
}

.models-hero-card ol {
	display: grid;
	gap: .7rem;
	margin: 0;
	padding-left: 1.25rem;
	color: rgba(255, 255, 255, .9);
	font-weight: 750;
}

.color-photo-hero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(420px,48vw,590px);display:flex;align-items:center;background:var(--pelican-blue)}.color-photo-hero::before{content:"";position:absolute;z-index:-2;inset:0 0 0 34%;background-image:var(--color-hero-image);background-position:center;background-size:cover;background-repeat:no-repeat}.color-photo-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#123b5b 0%,rgba(18,59,91,.98) 29%,rgba(18,59,91,.9) 43%,rgba(18,59,91,.48) 63%,rgba(18,59,91,.12) 100%)}.color-photo-hero-inner{width:100%;padding-inline:clamp(1.75rem,5vw,5rem)}.color-photo-hero-copy{max-width:660px}.color-photo-hero-copy h1{max-width:650px;margin:0 0 1rem;font-size:clamp(2.45rem,5.1vw,4.75rem);line-height:.98;text-wrap:balance}.color-photo-hero-copy .models-lead{max-width:590px;margin-bottom:0;text-shadow:0 2px 18px rgba(0,0,0,.22)}

@media(max-width:700px){.color-photo-hero{min-height:520px;align-items:flex-end;padding:4.5rem 0 3rem}.color-photo-hero::before{inset:0;background-position:center}.color-photo-hero::after{background:linear-gradient(180deg,rgba(18,59,91,.18) 0%,rgba(18,59,91,.45) 38%,rgba(18,59,91,.96) 72%,#123b5b 100%)}.color-photo-hero-inner{padding-inline:1.25rem}.color-photo-hero-copy{max-width:100%}.color-photo-hero-copy h1{font-size:clamp(2.25rem,11vw,3.2rem);line-height:1.02}.color-photo-hero-copy .models-lead{font-size:1.02rem}}

.models-section {
	background: linear-gradient(180deg, var(--pelican-white), var(--pelican-cloud));
}

.empty-state {
	padding: 2rem;
	border: 1px solid var(--pelican-line);
	border-radius: var(--radius-lg);
	background: var(--pelican-white);
	box-shadow: 0 12px 32px rgba(20, 32, 43, .07);
}

.pagination,
.nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5rem;
	margin-top: 2rem;
}

.pool-infinite-scroll {
	min-height: 5rem;
	display: grid;
	place-items: center;
}

.pool-load-status {
	margin: 1.25rem 0 0;
	color: var(--pelican-blue-2);
	font-weight: 800;
	text-align: center;
}

.pool-infinite-scroll.is-enhanced .pool-load-more-fallback {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.pool-infinite-scroll.is-complete {
	min-height: 3rem;
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: .55rem .8rem;
	border: 1px solid var(--pelican-line);
	border-radius: 999px;
	color: var(--pelican-blue);
	background: var(--pelican-white);
	font-weight: 800;
}

.page-numbers.current {
	color: var(--pelican-white);
	background: var(--pelican-blue);
	border-color: var(--pelican-blue);
}

.site-footer {
	position: relative;
	overflow: hidden;
	padding: 3.25rem 0 0;
	color: rgba(255,255,255,.82);
	background: #063f6b;
}

.site-footer::before {
	position: absolute;
	right: -8%;
	bottom: -135px;
	width: 58%;
	height: 260px;
	border: 1px solid rgba(255,255,255,.05);
	border-radius: 50%;
	box-shadow: 0 -22px 0 rgba(255,255,255,.025), 0 -44px 0 rgba(255,255,255,.02);
	content: "";
	pointer-events: none;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.35fr .85fr .85fr 1.05fr;
	gap: 0;
}

.footer-grid > section,
.footer-grid > details {
	position: relative;
	z-index: 1;
	min-width: 0;
	padding: 0 clamp(1.25rem, 3vw, 2.75rem);
}

.footer-grid > section:first-child,
.footer-grid > details:first-child {
	padding-left: 0;
}

.footer-grid > section:last-child,
.footer-grid > details:last-child {
	padding-right: 0;
}

.footer-grid > section + section,
.footer-grid > section + details,
.footer-grid > details + section,
.footer-grid > details + details {
	border-left: 1px solid rgba(255,255,255,.16);
}

.site-footer h2 {
	margin: 0 0 1rem;
	color: var(--pelican-white);
	font-size: 1rem;
	letter-spacing: 0;
}

.footer-accordion summary {
	display: block;
	list-style: none;
	pointer-events: none;
}

.footer-accordion summary::-webkit-details-marker {
	display: none;
}

.footer-brand {
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	margin-bottom: 1rem;
	color: var(--pelican-white);
	font-size: 1.25rem;
	font-weight: 900;
}

.footer-brand:hover {
	color: var(--pelican-white);
}

.footer-brand img {
	width: 48px;
	height: 48px;
	border: 1px solid rgba(228,155,6,.6);
	border-radius: 50%;
	background: var(--pelican-white);
	object-fit: contain;
}

.footer-brand-column > p {
	max-width: 290px;
	margin: 0 0 .7rem;
	line-height: 1.55;
}

.footer-brand-column .footer-promise {
	margin-bottom: .45rem;
	color: var(--pelican-white);
	font-size: clamp(.82rem, 1vw, .95rem);
	font-weight: 850;
	white-space: nowrap;
}

.footer-social {
	display: flex;
	gap: .65rem;
	margin-top: 1.2rem;
}

.footer-social a {
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border: 1px solid rgba(255,255,255,.35);
	border-radius: 50%;
	color: var(--pelican-white);
	transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.footer-social a:hover,
.footer-social a:focus-visible {
	border-color: var(--pelican-gold);
	background: rgba(255,255,255,.1);
	color: var(--pelican-white);
	transform: translateY(-2px);
}

.footer-social svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.site-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer li + li {
	margin-top: .55rem;
}

.site-footer .footer-link-column a {
	color: rgba(255,255,255,.82);
}

.site-footer .footer-link-column a:hover,
.site-footer .footer-link-column a:focus-visible {
	color: var(--pelican-gold);
}

.footer-cta-column > p {
	max-width: 230px;
	margin: 0 0 1.35rem;
	line-height: 1.5;
}

.footer-quote-button {
	display: flex;
	width: 100%;
	min-height: 48px;
	align-items: center;
	justify-content: space-between;
	padding: .75rem 1.15rem;
	border-radius: 7px;
	background: linear-gradient(135deg, #f4b52b, var(--pelican-gold));
	box-shadow: 0 10px 26px rgba(0,0,0,.15);
	color: var(--pelican-blue);
	font-weight: 900;
}

.footer-quote-button:hover,
.footer-quote-button:focus-visible {
	background: #ffc44a;
	color: var(--pelican-blue);
}

.footer-legal {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 2.5rem;
	padding-block: 1rem;
	border-top: 1px solid rgba(255,255,255,.18);
	font-size: .9rem;
}

.footer-legal p {
	margin: 0;
}

@media (max-width: 900px) {
	.footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 2.25rem;
	}

	.footer-grid > section,
	.footer-grid > details {
		padding-inline: 1.5rem;
	}

	.footer-grid > section:first-child,
	.footer-grid > details:first-child,
	.footer-grid > details:nth-child(3) {
		padding-left: 0;
	}

	.footer-grid > details:nth-child(2),
	.footer-grid > section:last-child {
		padding-right: 0;
		border-left: 1px solid rgba(255,255,255,.16);
	}

	.footer-grid > details:nth-child(3) {
		border-left: 0;
	}
}

@media (max-width: 560px) {
	.site-footer {
		padding-top: 2.5rem;
	}

	.footer-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.footer-grid > section,
	.footer-grid > details,
	.footer-grid > section:first-child,
	.footer-grid > details:nth-child(2),
	.footer-grid > details:nth-child(3),
	.footer-grid > section:last-child {
		padding: 1.5rem 0;
		border-left: 0;
		border-bottom: 1px solid rgba(255,255,255,.14);
	}

	.footer-grid > section:first-child {
		padding-top: 0;
	}

	.footer-grid > section:last-child {
		border-bottom: 0;
	}

	.footer-accordion summary {
		position: relative;
		display: flex;
		min-height: 54px;
		align-items: center;
		justify-content: space-between;
		cursor: pointer;
		pointer-events: auto;
	}

	.footer-accordion summary h2 {
		margin: 0;
		font-size: 1.25rem;
	}

	.footer-accordion summary::after {
		color: var(--pelican-white);
		content: "+";
		font-size: 2rem;
		font-weight: 400;
		line-height: 1;
	}

	.footer-accordion[open] summary::after {
		content: "−";
	}

	.footer-accordion ul {
		padding: .35rem 0 .75rem;
	}

	.footer-brand-column .footer-promise {
		white-space: normal;
	}

	.footer-quote-button {
		max-width: 330px;
	}

	.footer-legal {
		align-items: flex-start;
		flex-direction: column;
		gap: .45rem;
		margin-top: 1rem;
	}
}

@media (max-width: 1024px) {
	.home-featured-heading h2 {
		white-space: normal;
	}

	.models-section-heading,
	.pool-finder {
		align-items: flex-start;
		flex-direction: column;
	}

	.models-section-heading h2 {
		white-space: normal;
	}

	.pool-search-form,
	.pool-category-filters {
		width: 100%;
	}

	.pool-category-filters {
		justify-content: flex-start;
	}

	.pool-grid,
	.content-grid,
	.review-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-quick-grid,
	.home-trust-grid,
	.home-process-grid,
	.home-resource-grid,
	.home-featured-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.review-full-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hero-grid,
	.pool-detail-grid,
	.quote-hero-grid,
	.detail-layout,
	.process-hero-grid,
	.process-cta-grid,
	.models-hero-grid,
	.reviews-hero-grid,
	.home-intro-grid,
	.home-split-grid,
	.why-hero-grid,
	.why-compare-grid,
	.why-intro-grid,
	.why-consider-grid,
	.story-hero-grid,
	.story-intro-grid,
	.story-cta-grid,
	.story-expect-grid,
	.story-service-layout,
	.faq-hero-grid,
	.faq-layout,
	.faq-cta-grid,
	.faq-next-grid,
	.reviews-story-grid,
	.area-hero-grid,
	.area-collection-grid,
	.area-local-card,
	.specials-hero-grid,
	.specials-layout,
	.pool-bottom-cta-grid {
		grid-template-columns: 1fr;
	}

	.home-why-grid,
	.home-final-card {
		grid-template-columns: 1fr;
	}

	.pool-hero-specs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.faq-sidebar {
		position: static;
	}

	.process-package-grid,
	.process-prepare-grid,
	.why-benefit-grid,
	.story-value-grid,
	.area-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.review-cta-card,
	.home-review-card,
	.why-cta-card,
	.story-area-card,
	.story-review-card,
	.area-resource-card,
	.area-cta-card,
	.specials-cta-card {
		display: grid;
	}

	.why-dual-cta {
		grid-template-columns: 1fr;
	}

	.area-dual-cta {
		grid-template-columns: 1fr;
	}

	.trust-grid {
		grid-template-columns: 1fr;
	}

	.section-heading-row {
		display: grid;
	}
}

@media (max-width: 700px) {
	.reviews-centered-heading h2 { white-space: normal; }
	.reviews-centered-heading > p:last-child span { display: inline; }
	.reviews-centered-heading > p:last-child span + span::before { content: " "; }

	.latham-features-grid,
	.latham-features-grid ul {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.quote-hero .pool-hero-specs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .5rem;
	}

	.quote-hero .pool-hero-specs > div {
		gap: .3rem;
		min-height: 42px;
		padding: .48rem .42rem;
		border-radius: .7rem;
	}

	.quote-hero .pool-hero-specs > div:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		justify-self: center;
		width: calc(50% - .25rem);
	}

	.quote-hero .pool-hero-specs i {
		width: 1.35rem;
		height: 1.35rem;
		font-size: .72rem;
	}

	.quote-hero .pool-hero-specs span {
		font-size: .7rem;
	}

	.quote-hero .pool-hero-specs strong {
		font-size: .76rem;
	}
}

@media (max-width: 760px) {
	.home-hero .home-hero-minimal h1 {
		font-size: clamp(1.25rem, 6vw, 1.7rem);
		white-space: normal;
	}

	.review-full-gallery {
		grid-template-columns: 1fr;
	}

	.home-brand-actions,
	.home-final-actions,
	.home-quick-grid,
	.home-trust-grid,
	.home-process-grid,
	.home-resource-grid,
	.home-featured-grid {
		grid-template-columns: 1fr;
	}

	.home-brand-actions .button,
	.home-final-actions .button {
		width: 100%;
	}

	.home-manufacturers-heading h2,
	.home-manufacturers-heading p span {
		white-space: normal;
	}

	.home-manufacturer-card h3 {
		white-space: normal;
	}

	.top-bar {
		display: none;
	}

	.nav-wrap {
		align-items: flex-start;
	}

	.menu-toggle {
		display: inline-flex;
	}

	.primary-nav {
		display: none;
		position: absolute;
		left: 20px;
		right: 20px;
		top: 76px;
		z-index: 20;
		padding: 1rem;
		border: 1px solid var(--pelican-line);
		border-radius: var(--radius-md);
		background: var(--pelican-white);
		box-shadow: var(--shadow-soft);
	}

	body.menu-open .primary-nav {
		display: block;
	}

	.primary-nav .menu {
		display: grid;
		gap: .85rem;
	}

	.primary-nav .sub-menu,
	.primary-nav .menu-item-has-children:hover > .sub-menu,
	.primary-nav .menu-item-has-children:focus-within > .sub-menu {
		display: grid;
		position: static;
		min-width: 0;
		margin: .6rem 0 0;
		padding: .35rem 0 0 .85rem;
		transform: none;
		border: 0;
		border-left: 2px solid var(--pelican-line);
		border-radius: 0;
		box-shadow: none;
	}

	.quote-content .custom_request_quote:has(> fieldset > .block),
	.quote-content .custom_cf7_section {
		grid-template-columns: 1fr;
	}

	.quote-content .custom_cf7_section > p:first-child {
		grid-column: auto;
	}

	.quote-content .custom_cf7_section:last-child > fieldset > div,
	.quote-content .custom_cf7_section:last-child > fieldset > div > p {
		display: grid;
		justify-content: stretch;
	}

	.pool-grid,
	.content-grid,
	.review-grid {
		grid-template-columns: 1fr;
	}

	.process-step {
		grid-template-columns: 1fr;
	}

	.process-brand-actions,
	.process-final-actions,
	.process-prepare-grid {
		grid-template-columns: 1fr;
	}

	.pool-hero-specs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.faq-item {
		grid-template-columns: 1fr;
	}

	.why-benefit-grid {
		grid-template-columns: 1fr;
	}

	.why-brand-actions,
	.why-cta-actions {
		grid-template-columns: 1fr;
	}

	.story-value-grid {
		grid-template-columns: 1fr;
	}

	.story-family-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.story-family-copy {
		max-width: none;
		margin: -2rem 1rem 0;
		padding: 1.75rem 1.35rem;
		text-align: center;
	}

	.san-juan-feature-grid {
		grid-template-columns: 1fr;
	}

	.san-juan-feature-panel {
		display: block;
		height: auto;
		margin: -2rem 1rem 0;
		padding: 1.75rem 1.35rem;
		text-align: center;
	}

	.san-juan-feature-heading h2 {
		white-space: normal;
	}

	.story-trust-grid {
		grid-template-columns: 1fr;
	}

	.story-trust-grid a {
		min-height: 82px;
	}

	.pool-help-hero {
		min-height: 540px;
		background-position: 48% center;
	}

	.pool-help-hero-content {
		padding-bottom: 2.25rem;
	}

	.pool-help-fields {
		grid-template-columns: 1fr;
	}

	.pool-help-fields label.full {
		grid-column: auto;
	}

	.pool-help-radio-group {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
	}

	.pool-help-radio-group span {
		padding-inline: .45rem;
	}

	.story-hero-actions,
	.story-final-actions {
		grid-template-columns: 1fr;
	}

	.story-photo-hero {
		min-height: 540px;
		background-position: 48% center;
	}

	.story-photo-hero-content {
		padding-bottom: 2.25rem;
	}

	.area-grid {
		grid-template-columns: 1fr;
	}

	.area-brand-actions,
	.area-city-list,
	.area-cta-actions {
		grid-template-columns: 1fr;
	}
}
.latham-quote-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.25rem 0 1.5rem;max-width:760px}.latham-quote-summary>div{display:flex;flex-direction:column;gap:.2rem;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.45);border-radius:12px;background:rgba(255,255,255,.92);color:#123b5b}.latham-quote-summary span{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.latham-quote-summary strong{font-size:1.05rem}.latham-quote-brand{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.25rem;border-radius:14px;background:#eef4f7;color:#123b5b}.latham-quote-brand strong{font-size:1.35rem}.latham-quote-brand span{font-weight:700;color:#4d6475}@media(max-width:700px){.latham-quote-summary{grid-template-columns:1fr}.latham-quote-brand{align-items:flex-start;flex-direction:column}}
.latham-quote-brand img{display:block;width:170px;max-width:45%;height:auto}@media(max-width:700px){.latham-quote-brand img{max-width:70%}}
.model-gallery-specs{display:grid;gap:.55rem;margin:1rem 0 0}.model-gallery-specs>div{display:grid;grid-template-columns:minmax(72px,.75fr) 1.5fr;gap:.75rem;padding-bottom:.45rem;border-bottom:1px solid rgba(18,59,91,.14)}.model-gallery-specs dt{font-weight:800;color:#123b5b}.model-gallery-specs dd{margin:0;color:#344f63}.latham-model-photo-grid{columns:3 280px;column-gap:clamp(1rem,2.2vw,1.6rem)}.latham-model-photo-grid a{display:block;overflow:hidden;margin:0 0 clamp(1rem,2.2vw,1.6rem);break-inside:avoid;border-radius:18px;background:#eaf1f5;box-shadow:0 14px 34px rgba(18,59,91,.12)}.latham-model-photo-grid img{display:block;width:100%;height:auto;transition:transform .25s ease,filter .25s ease}.latham-model-photo-grid a:hover img{transform:scale(1.025);filter:saturate(1.08)}.gallery-return-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem}@media(max-width:700px){.latham-model-photo-grid{columns:1}.gallery-return-actions .button{width:100%}}
.latham-model-gallery-hero .model-gallery-specs>div{border-bottom-color:rgba(255,255,255,.18)}.latham-model-gallery-hero .model-gallery-specs dt{color:rgba(255,255,255,.82)}.latham-model-gallery-hero .model-gallery-specs dd{color:#fff;font-weight:800}.latham-model-gallery-section .section-heading h2{max-width:none;white-space:nowrap;font-size:clamp(1.65rem,3.25vw,2.9rem)}@media(max-width:700px){.latham-model-gallery-section .section-heading h2{white-space:normal}}
@media(max-width:640px){.pool-finder{width:100%;gap:1rem;margin-top:0;padding:.85rem;border-radius:16px}.pool-search-form{display:grid;grid-template-columns:minmax(0,1fr);gap:.65rem;flex-basis:auto}.pool-search-form input[type="search"]{min-height:48px;padding:.8rem 1rem;font-size:1rem}.pool-search-form .button{width:100%;min-height:48px}.pool-category-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.pool-category-filters a{display:flex;align-items:center;justify-content:center;min-height:42px;width:100%;padding:.65rem .5rem;text-align:center;font-size:.82rem}}
.latham-color-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}.latham-color-preview{position:sticky;top:1rem;overflow:hidden;border-radius:24px;background:#e9f1f5;box-shadow:0 22px 55px rgba(18,59,91,.16)}.latham-color-preview>img{display:block;width:100%;aspect-ratio:1024/736;object-fit:cover;transition:opacity .2s ease}.latham-color-caption{padding:1.25rem 1.5rem 1.5rem;background:#fff}.latham-color-caption .eyebrow{margin-bottom:.25rem}.latham-color-caption h2{margin:0 0 .35rem;color:#123b5b}.latham-color-caption p:last-child{margin:0;color:#506779}.latham-color-panel{padding:clamp(1.15rem,2.4vw,1.75rem);border:1px solid rgba(18,59,91,.12);border-radius:22px;background:#fff;box-shadow:0 16px 42px rgba(18,59,91,.1)}.latham-color-panel h2{margin-top:0;color:#123b5b}.latham-color-swatches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.latham-color-swatch{display:grid;grid-template-columns:1fr;align-content:start;gap:.6rem;width:100%;padding:.6rem;border:2px solid transparent;border-radius:14px;background:#f2f6f8;color:#123b5b;text-align:center;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.latham-color-swatch:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(18,59,91,.1)}.latham-color-swatch.is-active{border-color:#e49b06;background:#fff8e8;box-shadow:0 0 0 3px rgba(228,155,6,.12)}.latham-color-swatch img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:10px;object-fit:cover}.latham-color-swatch span{display:grid;gap:.15rem;min-width:0}.latham-color-swatch strong{font-size:.9rem;line-height:1.2}.latham-color-swatch small{color:#607587;font-size:.72rem;line-height:1.25}.latham-color-note{max-width:900px;margin:1.5rem auto 0;padding:1rem 1.15rem;border-left:4px solid #e49b06;border-radius:0 12px 12px 0;background:#f4f7f9;color:#506779;font-size:.9rem}.latham-colors-hero .hero-actions{margin-top:1.25rem}@media(max-width:900px){.latham-color-layout{grid-template-columns:1fr}.latham-color-preview{position:static}.latham-color-swatches{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.latham-color-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}.latham-color-panel{padding:1rem}.latham-color-caption{padding:1rem 1.1rem 1.2rem}}
.latham-selector-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0 0 1rem;padding:.35rem;border-radius:999px;background:#eaf1f5}.latham-selector-tabs button{min-height:44px;border:0;border-radius:999px;background:transparent;color:#123b5b;font-weight:800;cursor:pointer}.latham-selector-tabs button.is-active{background:#123b5b;color:#fff;box-shadow:0 6px 16px rgba(18,59,91,.18)}.latham-color-swatches[hidden]{display:none}
.san-juan-color-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:clamp(1.5rem,3vw,2.25rem)}.san-juan-color-choice{position:relative;overflow:hidden;padding:0;border:3px solid transparent;border-radius:18px;background:#123b5b;color:#fff;cursor:pointer;box-shadow:0 12px 30px rgba(18,59,91,.13);transition:transform .2s ease,border-color .2s ease}.san-juan-color-choice:hover{transform:translateY(-3px)}.san-juan-color-choice.is-active{border-color:#e49b06;box-shadow:0 0 0 4px rgba(228,155,6,.16),0 14px 34px rgba(18,59,91,.18)}.san-juan-color-choice img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.san-juan-color-choice span{display:block;padding:.8rem .65rem;font-weight:850;font-size:1rem}.san-juan-color-showcase{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 22px 55px rgba(18,59,91,.16)}.san-juan-color-main{min-height:510px;background:#dfeaf0}.san-juan-color-main img{display:block;width:100%;height:100%;min-height:510px;object-fit:cover}.san-juan-color-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.25rem,3vw,2rem)}.san-juan-color-content h2{margin:.1rem 0 .55rem;color:#123b5b;font-size:clamp(2rem,4vw,3.25rem)}.san-juan-color-content>p:last-of-type{color:#506779}.san-juan-color-thumbnails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem}.san-juan-color-thumbnails button{overflow:hidden;padding:0;border:3px solid transparent;border-radius:11px;background:#e9f1f5;cursor:pointer}.san-juan-color-thumbnails button.is-active{border-color:#e49b06}.san-juan-color-thumbnails img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.san-juan-color-chart{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(1.5rem,4vw,3rem);margin-top:clamp(2rem,5vw,4rem);padding:clamp(1.25rem,3vw,2.25rem);border-radius:24px;background:#eef4f7}.san-juan-color-chart h2{color:#123b5b}.san-juan-color-chart img{display:block;width:100%;height:auto;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(18,59,91,.12)}@media(max-width:900px){.san-juan-color-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.san-juan-color-showcase,.san-juan-color-chart{grid-template-columns:1fr}.san-juan-color-main,.san-juan-color-main img{min-height:420px}.san-juan-color-content{justify-content:flex-start}}@media(max-width:560px){.san-juan-color-picker{gap:.65rem}.san-juan-color-choice span{font-size:.88rem}.san-juan-color-main,.san-juan-color-main img{min-height:300px}.san-juan-color-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))}}
.san-juan-verified-selector{margin-bottom:clamp(3.5rem,8vw,6.5rem)}.san-juan-verified-selector>.san-juan-real-gallery-heading{margin-bottom:1.75rem}.san-juan-verified-selector .latham-color-preview>img{aspect-ratio:4/3;object-fit:cover}.san-juan-verified-selector .latham-color-swatch img{aspect-ratio:4/3;object-fit:cover}
.san-juan-color-image-stack{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#dce8ee}.san-juan-color-base,.san-juan-color-layer{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;visibility:visible;pointer-events:none;transition:opacity .22s ease}.san-juan-color-base.is-active,.san-juan-color-layer.is-active{opacity:1}.san-juan-color-base,.san-juan-color-layer img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.san-juan-fixed-color-preview .latham-color-caption{min-height:178px}
.san-juan-finish-reference{margin-top:clamp(2rem,5vw,4rem);padding:clamp(1.25rem,3vw,2.25rem);border-radius:24px;background:#eef4f7}.san-juan-finish-reference .section-heading{display:block;width:100%;max-width:none;margin-inline:auto;text-align:center}.san-juan-finish-reference .section-heading h2{width:100%;max-width:none;margin-left:auto;margin-right:auto;text-align:center}.san-juan-finish-reference .section-heading p{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}.san-juan-finish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.75rem);max-width:940px;margin:1.75rem auto 0}.san-juan-finish-grid article{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(18,59,91,.12)}.san-juan-finish-grid h3{margin:0;padding:1rem;text-align:center;color:#123b5b;font-size:clamp(1.15rem,2vw,1.45rem)}.san-juan-finish-sample{width:100%;aspect-ratio:16/4.5;background-color:#fff}.san-juan-finish-sample.white{background:linear-gradient(135deg,#fff 0%,#f8f7f2 58%,#efeee7 100%)}.san-juan-finish-sample.sully-blue{background:linear-gradient(135deg,#d9f0f3 0%,#bfe2e8 50%,#add6de 100%)}.san-juan-finish-sample.blue-lagoon{background-color:#3f82d1;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.34) 0 1px,transparent 1.5px),radial-gradient(circle at 70% 65%,rgba(255,255,255,.25) 0 1px,transparent 1.5px),linear-gradient(135deg,#4d92df,#2f70bd);background-size:12px 12px,17px 17px,100% 100%}.san-juan-finish-sample.granite{background-color:#575457;background-image:radial-gradient(circle at 25% 35%,rgba(255,255,255,.25) 0 1px,transparent 1.5px),radial-gradient(circle at 70% 60%,rgba(0,0,0,.28) 0 1px,transparent 1.5px),linear-gradient(135deg,#666268,#49464a);background-size:11px 11px,15px 15px,100% 100%}@media(max-width:640px){.san-juan-finish-grid{grid-template-columns:1fr}.san-juan-finish-sample{aspect-ratio:16/4}}
.san-juan-virtual-preview{margin-bottom:clamp(3rem,7vw,5.5rem)}.san-juan-virtual-preview>.section-heading,.san-juan-real-gallery-heading{display:block;width:100%;max-width:none;text-align:center}.san-juan-virtual-preview>.section-heading p,.san-juan-real-gallery-heading p{max-width:780px;margin-left:auto;margin-right:auto}.san-juan-virtual-stage{position:relative;overflow:hidden;max-width:1120px;margin:1.75rem auto 1rem;border-radius:26px;background:#dfeaf0;box-shadow:0 24px 60px rgba(18,59,91,.18)}.san-juan-virtual-stage>img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.san-juan-virtual-caption{position:absolute;right:1.25rem;bottom:1.25rem;width:min(360px,calc(100% - 2.5rem));padding:1rem 1.2rem;border:1px solid rgba(255,255,255,.55);border-radius:17px;background:rgba(255,255,255,.92);box-shadow:0 12px 28px rgba(18,59,91,.18);backdrop-filter:blur(8px)}.san-juan-virtual-caption .eyebrow{margin:0 0 .15rem}.san-juan-virtual-caption h3{margin:0 0 .25rem;color:#123b5b;font-size:clamp(1.35rem,2.5vw,1.9rem)}.san-juan-virtual-caption p:last-child{margin:0;color:#506779;font-size:.92rem}.san-juan-virtual-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;max-width:960px;margin:1.25rem auto 0}.san-juan-virtual-controls button{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:54px;padding:.75rem .8rem;border:2px solid rgba(18,59,91,.13);border-radius:14px;background:#fff;color:#123b5b;font:inherit;font-weight:850;cursor:pointer;box-shadow:0 8px 22px rgba(18,59,91,.08);transition:transform .2s ease,border-color .2s ease,background .2s ease}.san-juan-virtual-controls button:hover{transform:translateY(-2px)}.san-juan-virtual-controls button.is-active{border-color:#e49b06;background:#fff8e8;box-shadow:0 0 0 3px rgba(228,155,6,.13)}.preview-dot{width:23px;height:23px;flex:0 0 23px;border:1px solid rgba(18,59,91,.18);border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}.preview-dot.white{background:linear-gradient(135deg,#fff,#e8e6de)}.preview-dot.sully-blue{background:linear-gradient(135deg,#d9f0f3,#add6de)}.preview-dot.blue-lagoon{background:linear-gradient(135deg,#559ae1,#2f70bd)}.preview-dot.granite{background:linear-gradient(135deg,#706c72,#444147)}.san-juan-virtual-note{max-width:960px;margin:1rem auto 0;padding:.85rem 1rem;border-left:4px solid #e49b06;border-radius:0 12px 12px 0;background:#f4f7f9;color:#506779;font-size:.86rem;line-height:1.55}.san-juan-real-gallery-heading{margin:0 auto 1.75rem}.san-juan-real-gallery-heading h2{max-width:none}@media(max-width:700px){.san-juan-virtual-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.san-juan-virtual-caption{position:static;width:auto;border:0;border-radius:0;background:#fff;box-shadow:none}.san-juan-virtual-stage>img{aspect-ratio:4/3}.san-juan-virtual-controls button{justify-content:flex-start}.san-juan-virtual-note{font-size:.82rem}}

@media (max-width: 700px) {
	.pool-detail-hero .pool-hero-specs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .5rem;
	}

	.pool-detail-hero .pool-hero-specs > div {
		gap: .3rem;
		min-height: 42px;
		padding: .48rem .42rem;
		border-radius: .7rem;
	}

	.pool-detail-hero .pool-hero-specs > div:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		justify-self: center;
		width: calc(50% - .25rem);
	}

	.pool-detail-hero .pool-hero-specs i {
		width: 1.35rem;
		height: 1.35rem;
		font-size: .72rem;
	}

	.pool-detail-hero .pool-hero-specs span {
		font-size: .7rem;
	}

	.pool-detail-hero .pool-hero-specs strong {
		font-size: .76rem;
	}

	.pool-detail-hero .hero-actions,
	.pool-detail-hero .latham-hero-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .55rem;
		width: 100%;
		max-width: none;
		margin-top: 1.15rem;
	}

	.pool-detail-hero .hero-actions .button {
		width: 100%;
		min-width: 0;
		min-height: 44px;
		padding: .55rem .5rem;
		gap: .28rem;
		font-size: .74rem;
		line-height: 1.15;
		white-space: normal;
	}

	.pool-detail-hero .hero-actions .button:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		justify-self: center;
		width: calc(50% - .275rem);
	}

	.pool-detail-hero .hero-actions .icon-button span {
		font-size: .72rem;
	}
}
