.contentPage {
	--content-accent: var(--client-main-color);
	--content-dark: var(--client-hover-color);
	--content-muted: #5d6672;
	--content-soft: #f6f2ef;
	--content-line: rgba(var(--secondary-rgb), 0.14);
	width: 100%;
	box-sizing: border-box;
	padding: 0 20px 70px;
	color: #182a3f;
	text-align: left;
}

.contentWrap {
	width: 100%;
	max-width: 1700px;
	margin: 0 auto;
}

.contentHero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 42%);
	gap: 34px;
	align-items: stretch;
	padding: 34px;
	background: #ffffff;
	border-radius: 28px;
	box-shadow: 0 18px 50px rgba(var(--secondary-rgb), 0.14);
}

.contentHeroText {
	display: flex;
	flex-direction: column;
	justify-content: start;
}

.contentEyebrow {
	color: var(--content-accent);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.contentPage .pageTitle {
	display: block;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 700;
	color: var(--content-accent);
	margin-bottom: 8px;
}

.contentPage .pageSubTitle {
	margin: 0 0 18px;
	color: var(--content-dark);
	font-family: "Libre Baskerville", serif;
	font-size: clamp(35px, 6vw, 56px);
	line-height: 0.98;
	font-weight: 400;
}

.contentLead {
	margin: 0 0 24px;
	max-width: 720px;
	color: var(--content-muted);
	font-size: 20px;
	line-height: 1.65;
}

.contentHeroImage {
	position: relative;
	min-height: 440px;
	overflow: hidden;
	border-radius: 24px;
	background: var(--content-soft);
}

.contentHeroImage img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.contentHeroPanel {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 34px;
	background:
		linear-gradient(135deg, rgba(var(--primary-rgb), 0.92), rgba(var(--secondary-rgb), 0.96));
}

.contentHeroCallout {
	color: #ffffff;
}

.contentHeroCallout .contentEyebrow,
.contentHeroCallout h2,
.contentHeroCallout p {
	color: #ffffff;
}

.contentHeroCallout h2 {
	margin: 0 0 16px;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(32px, 4vw, 54px);
	line-height: 1.08;
	font-weight: 400;
}

.contentHeroCallout p {
	margin: 0;
	font-size: 19px;
	line-height: 1.65;
	opacity: 0.9;
}

.contentFeatureList {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}

.contentFeatureList li {
	position: relative;
	min-height: 100%;
	padding: 18px 18px 18px 44px;
	background: var(--content-soft);
	border-radius: 18px;
	color: var(--content-muted);
	line-height: 1.45;
}

.contentFeatureList li:before {
	content: "";
	position: absolute;
	top: 23px;
	left: 18px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--content-accent);
	box-shadow: 0 0 0 5px rgba(var(--primary-rgb), 0.12);
}

.contentFeatureList strong {
	display: block;
	color: var(--content-dark);
	margin-bottom: 4px;
}

.contentSection {
	margin-top: 34px;
	padding: 34px;
	background: #ffffff;
	border-radius: 28px;
	box-shadow: 0 14px 40px rgba(var(--secondary-rgb), 0.1);
}

.contentSectionHeader {
	max-width: 850px;
	margin: 0 auto 26px;
	text-align: center;
}

.contentSectionHeader h2,
.contentCard h2,
.contentCtaCard h2 {
	margin: 0 0 12px;
	color: var(--content-dark);
	font-family: "Libre Baskerville", serif;
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.12;
	font-weight: 400;
}

.contentSectionHeader p,
.contentCard p,
.contentCtaCard p {
	margin: 0;
	color: var(--content-muted);
	font-size: 18px;
	line-height: 1.65;
}

.contentLogoCloud .outerFlex {
	width: 100% !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important;
	gap: 16px !important;
	align-items: stretch;
	justify-content: stretch !important;
}

.contentLogoCloud .innerFlex {
	width: auto !important;
	min-width: 0;
	padding: 0 !important;
	text-align: center;
}

.contentLogoCloud .innerFlex img {
	display: block;
	width: 100% !important;
	max-width: 210px;
	height: 96px !important;
	margin: 0 auto;
	box-sizing: border-box;
	object-fit: contain;
	padding: 18px;
	background: #ffffff;
	border: 1px solid var(--content-line) !important;
	border-radius: 18px !important;
	box-shadow: 0 8px 22px rgba(var(--secondary-rgb), 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.contentLogoCloud .innerFlex img:hover {
	transform: translateY(-3px);
	border-color: rgba(var(--primary-rgb), 0.35) !important;
	box-shadow: 0 14px 30px rgba(var(--secondary-rgb), 0.14);
}

.contentLogoPlaceholder {
	width: 100%;
	max-width: 210px;
	height: 96px;
	margin: 0 auto;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
	color: var(--content-muted);
	background: #ffffff;
	border: 1px dashed rgba(var(--primary-rgb), 0.38);
	border-radius: 18px;
	box-shadow: 0 8px 22px rgba(var(--secondary-rgb), 0.08);
	font-weight: 700;
	text-align: center;
}

.contentServiceDirectory {
	overflow: hidden;
}

.contentServiceDirectory .serviceListPage2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
	gap: 24px;
	align-items: stretch;
	margin-top: 0;
	padding: 0;
	text-align: left;
}

.contentServiceDirectory .serviceListPage2 > div {
	width: auto;
	max-width: none;
	min-width: 0;
	padding: 0;
	border: 0;
	background: #ffffff;
	border-radius: 24px;
	box-shadow: 0 12px 32px rgba(var(--secondary-rgb), 0.1);
	overflow: hidden;
}

.contentServiceDirectory .serviceListPage2 > div[style*="display:none"] {
	display: none !important;
}

.contentServiceDirectory .serviceTypeHeader {
	display: block;
	padding: 24px 26px;
	background:
	linear-gradient(135deg, rgba(var(--primary-rgb), 0.95), rgba(var(--secondary-rgb), 0.95));
}

.contentServiceDirectory .serviceTypeHeader h2 {
	all: unset;
	display: block;
	color: #ffffff;
	font-family: "Libre Baskerville", serif;
	font-size: 20px;
	line-height: 1.18;
}

.contentServiceDirectory .serviceItemList {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.contentServiceDirectory .serviceItemList li {
	position: relative;
	margin: 0;
	padding: 22px 26px;
	color: var(--content-muted);
	border-top: 1px solid var(--content-line);
	line-height: 1.55;
}

.contentServiceDirectory .serviceItemList li:first-child {
	border-top: 0;
}

.contentServiceDirectory .serviceItemList strong {
	display: block;
	color: var(--content-dark);
	font-size: 18px;
	line-height: 1.3;
	margin-bottom: 8px;
}

.contentServiceDirectory .serviceItemList span {
	display: block;
	margin-top: 14px;
}

.contentServiceDirectory .serviceItemList span br {
	display: none;
}

.contentServiceDirectory .serviceItemList a:link,
.contentServiceDirectory .serviceItemList a:visited,
.contentServiceDirectory .serviceItemList a:active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 14px;
	color: var(--content-accent);
	background: rgba(var(--primary-rgb), 0.08);
	border: 1px solid rgba(var(--primary-rgb), 0.18);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
}

.contentServiceDirectory .serviceItemList a:hover {
	color: #ffffff;
	background: var(--content-accent);
	border-color: var(--content-accent);
	transform: translateY(-1px);
}

.contentTwoColumn {
	margin-top:34px;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
	gap: 28px;
	align-items: stretch;
}

.contentCard,
.contentCtaCard {
	padding: 34px;
	background: #ffffff;
	border-radius: 28px;
	box-shadow: 0 14px 40px rgba(var(--secondary-rgb), 0.1);
}

.contentFaqList {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: faq-counter;
}

.contentFaqList li {
	position: relative;
	counter-increment: faq-counter;
	padding: 20px 0 20px 48px;
	border-top: 1px solid var(--content-line);
	color: var(--content-muted);
	line-height: 1.58;
}

.contentFaqList li:before {
	content: counter(faq-counter);
	position: absolute;
	top: 18px;
	left: 0;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	background: var(--content-accent);
	border-radius: 50%;
	font-size: 14px;
	font-weight: 700;
}

.contentFaqList strong {
	display: block;
	color: var(--content-dark);
	margin-bottom: 4px;
}

.contentCtaCard {
	position: relative;
	overflow: hidden;
	color: #ffffff;
	background:
		linear-gradient(135deg, rgba(var(--primary-rgb), 0.96), rgba(var(--secondary-rgb), 0.94));
}

.contentCtaCard h2,
.contentCtaCard p {
	color: #ffffff;
}

.contentCtaCard .contentEyebrow {
	color: #ffffff;
}

.contentCtaCard p {
	opacity: 0.9;
}

.contentCtaActions {
	margin-top: 26px;
}

.contactLensOrderAction {
	margin-bottom: 28px;
}

.contentButton:link,
.contentButton:visited,
.contentButton:active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 13px 22px;
	color: var(--content-dark);
	background: #ffffff;
	border: 2px solid #ffffff;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
}

.contentButton:hover {
	color: #ffffff;
	background: transparent;
}

.contentButtonDark:link,
.contentButtonDark:visited,
.contentButtonDark:active {
	color: #ffffff;
	background: var(--content-accent);
	border-color: var(--content-accent);
}

.contentButtonDark:hover {
	color: var(--content-accent);
	background: transparent;
}

.doctorHeroImage {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 34px;
}

.doctorHeroImage img {
	width: 100%;
	max-width: 390px;
	height: auto;
	object-fit: contain;
	border-radius: 24px;
	box-shadow: 0 16px 36px rgba(var(--secondary-rgb), 0.18);
}

.doctorDirectory .doctorSummaryCard {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 28px;
	align-items: center;
	max-width: 900px;
	margin: 0 auto;
	padding: 28px;
	background: var(--content-soft);
	border-radius: 24px;
}

.doctorSummaryCard img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 20px;
	box-shadow: 0 12px 28px rgba(var(--secondary-rgb), 0.14);
}

.doctorSummaryCard h3 {
	margin: 0 0 12px;
	color: var(--content-dark);
	font-family: "Libre Baskerville", serif;
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.12;
	font-weight: 400;
}

.doctorSummaryCard p {
	margin: 0 0 22px;
	color: var(--content-muted);
	font-size: 18px;
	line-height: 1.65;
}

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

.doctorsLandingPage .contentWrap {
	display: flex;
	flex-direction: column;
}

.doctorsLandingPage .contentHero {
	order: 2;
	grid-template-columns: minmax(0, 1fr);
	margin-top: 28px;
}

.doctorsLandingPage .doctorVideoHero {
	display: none;
}

.doctorsLandingPage .contentFeatureList {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 24px;
}

.doctorSummaryGrid .doctorSummaryCard {
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 22px;
	max-width: none;
	margin: 0;
	padding: 22px;
}

.doctorSummaryGrid .doctorSummaryCard img {
	width: 160px;
	max-height: 230px;
	object-fit: cover;
}

.doctorSummaryGrid .doctorSummaryCard h3 {
	font-size: clamp(25px, 3vw, 34px);
}

.doctorSummaryGrid .doctorSummaryCard p {
	font-size: 16px;
	line-height: 1.55;
}

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

.doctorSummaryGrid .doctorRosterCard {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 18px 18px 22px;
	text-align: center;
	overflow: hidden;
}

.doctorSummaryGrid .doctorRosterCard img {
	width: 100%;
	height: auto;
	max-height: none;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	background: #ffffff;
}

.doctorSummaryGrid .doctorRosterCard h2 {
	margin: 20px 0 0;
	color: var(--content-dark);
	font-family: "Libre Baskerville", serif;
	font-size: clamp(22px, 2.2vw, 30px);
	line-height: 1.2;
	font-weight: 400;
}

.doctorVideoHero {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px;
}

.doctorVideoHero video,
.doctorProfileVideo video {
	display: block;
	width: 100%;
	height: auto;
	max-height: 483px;
	border-radius: 24px;
	box-shadow: 0 16px 36px rgba(var(--secondary-rgb), 0.18);
	background: #000000;
}

.doctorProfileVideo {
	max-width: 860px;
	margin: 0 auto;
}

.ourStoryHeroImage {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.ourStoryHeroImage img {
	width: 100%;
	height: auto;
	object-fit: contain;
	border-radius: 18px;
	box-shadow: 0 14px 32px rgba(var(--secondary-rgb), 0.16);
}

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

.portalActionCard {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: 28px;
	border: 1px solid var(--content-line);
	border-top: 5px solid var(--content-accent);
	border-radius: 22px;
	background: var(--content-soft);
}

.portalActionIcon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 20px;
	border-radius: 50%;
	background: var(--content-accent);
	color: #ffffff;
}

.portalActionIcon svg {
	width: 28px;
	height: 28px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.portalActionCard h3 {
	margin: 0 0 12px;
	color: var(--content-dark);
	font-family: "Libre Baskerville", serif;
	font-size: clamp(25px, 3vw, 34px);
	font-weight: 400;
	line-height: 1.15;
}

.portalActionCard p {
	margin: 0 0 14px;
	color: var(--content-muted);
	font-size: 17px;
	line-height: 1.6;
}

.portalActionMeta {
	display: block;
	margin: auto 0 18px;
	color: var(--content-muted);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.portalActionCard .contentButton {
	width: 100%;
	text-align: center;
}

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

.doctorInfoCard {
	padding: 26px;
	background: var(--content-soft);
	border-radius: 22px;
	border-top: 5px solid var(--content-accent);
}

.doctorInfoCard h3 {
	margin: 0 0 10px;
	color: var(--content-dark);
	font-family: "Libre Baskerville", serif;
	font-size: 25px;
	line-height: 1.18;
	font-weight: 400;
}

.doctorInfoCard p {
	margin: 0;
	color: var(--content-muted);
	line-height: 1.6;
}

.policyList {
	display: grid;
	gap: 14px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.policyList li {
	position: relative;
	padding: 18px 20px 18px 48px;
	color: var(--content-muted);
	background: var(--content-soft);
	border-radius: 18px;
	line-height: 1.6;
}

.policyList li:before {
	content: "";
	position: absolute;
	top: 24px;
	left: 20px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--content-accent);
	box-shadow: 0 0 0 5px rgba(110, 48, 15, 0.1);
}

.policyListCompact li {
	padding-top: 14px;
	padding-bottom: 14px;
}

.policyListCompact li:before {
	top: 20px;
}

@media only screen and (max-width: 1000px) {
	.contentHero,
	.contentTwoColumn {
		grid-template-columns: 1fr;
	}

	.contentHeroImage {
		min-height: 320px;
	}

	.doctorSummaryGrid {
		grid-template-columns: 1fr;
	}

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

@media only screen and (max-width: 700px) {
	.doctorRosterGrid {
		grid-template-columns: 1fr;
	}

	.doctorsLandingPage .contentFeatureList {
		grid-template-columns: 1fr;
	}
	.contentPage {
		padding: 0 12px 48px;
	}

	.contentHero,
	.contentSection,
	.contentCard,
	.contentCtaCard {
		padding: 24px;
		border-radius: 22px;
	}

	.contentHeroImage {
		min-height: 260px;
	}

	.contentFeatureList {
		grid-template-columns: 1fr;
	}

	.contentLogoCloud .outerFlex {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	.contentLogoCloud .innerFlex img {
		height: 78px !important;
		padding: 14px;
	}

	.contentLogoPlaceholder {
		height: 78px;
		padding: 14px;
	}

	.contentServiceDirectory .serviceListPage2 {
		grid-template-columns: 1fr;
	}

	.contentServiceDirectory .serviceTypeHeader,
	.contentServiceDirectory .serviceItemList li {
		padding-left: 22px;
		padding-right: 22px;
	}

	.doctorDirectory .doctorSummaryCard {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.doctorSummaryGrid .doctorSummaryCard img {
		width: 100%;
		max-height: none;
	}

	.doctorSummaryCard img {
		max-width: 240px;
		margin: 0 auto;
	}

	.doctorInfoGrid {
		grid-template-columns: 1fr;
	}

	.portalActionGrid {
		grid-template-columns: 1fr;
	}

	.portalActionCard {
		padding: 24px;
	}
}

@media only screen and (max-width: 420px) {
	.contentLogoCloud .outerFlex {
		grid-template-columns: 1fr !important;
	}
}

/* Privacy policy */
.privacyPolicyWrap {
	max-width: 1120px;
}

.privacyPolicyHero {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(360px, 1.2fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
	padding: clamp(1.25rem, 3vw, 2rem);
	text-align: left;
	background: linear-gradient(135deg, #f3f8f6 0%, #fff 62%, #eef7f5 100%);
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 24px;
	box-shadow: 0 18px 50px rgba(30, 70, 62, 0.08);
}

.privacyPolicyHeroText {
	padding: clamp(1rem, 3vw, 2.25rem);
}

.privacyPolicyHero .pageTitle {
	display: block;
}

.privacyPolicyHeroImage {
	min-height: 320px;
	overflow: hidden;
	border-radius: 18px;
}

.privacyPolicyHeroImage img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
	object-position: center;
}

.privacyPolicyText {
	margin: clamp(1.5rem, 4vw, 3rem) 0 clamp(3rem, 7vw, 6rem);
	padding: clamp(1.4rem, 5vw, 4rem);
	font-size: clamp(1rem, 1.2vw, 1.1rem);
	line-height: 1.75;
	color: #353b39;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: 24px;
	box-shadow: 0 18px 50px rgba(30, 70, 62, 0.08);
}

.privacyPolicyText > strong {
	display: inline-block;
	margin-top: 0.45rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.15rem, 1.6vw, 1.4rem);
	line-height: 1.35;
	color: #1f5d52;
}

.privacyPolicyIntroduction {
	display: block;
	padding: 1.25rem 1.4rem;
	color: #274c45;
	background: #eef7f5;
	border-left: 4px solid #4a8f7f;
	border-radius: 0 14px 14px 0;
}

.privacyPolicySectionTitle {
	margin: 1rem 0 0.4rem;
	padding: 1rem 1.25rem;
	text-align: center;
	background: #1f5d52;
	border-radius: 14px;
}

.privacyPolicySectionTitle strong {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	letter-spacing: 0.04em;
	color: #fff;
}

@media (max-width: 600px) {
	.privacyPolicyHero,
	.privacyPolicyText {
		border-radius: 16px;
	}

	.privacyPolicyHero {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}

	.privacyPolicyHeroText {
		padding: 1rem 0.5rem 0.5rem;
	}

	.privacyPolicyHeroImage,
	.privacyPolicyHeroImage img {
		min-height: 220px;
	}

	.privacyPolicyText {
		line-height: 1.65;
	}
}

/* Editorial content-page system used by the Our Story and Our Doctors routes. */
.storyEditorialPage {
	--story-ink: #102434;
	--story-paper: #fbf8f3;
	--story-sand: #ede5da;
	--story-orange: #f58a3a;
	--story-light-orange: #ffeddf;
	--story-line: rgba(16, 36, 52, 0.18);
	padding: 0 20px 76px;
	font-family: "Manrope", Arial, sans-serif;
	color: var(--story-ink);
}

.storyEditorialWrap {
	max-width: 1600px;
}

.storyEditorialPage .doctorDirectory,
.storyEditorialPage .locationsDirectory {
	margin-top: 0;
	border-radius: 0;
	box-shadow: none;
}

.storyEditorialPage h1,
.storyEditorialPage h2,
.storyEditorialPage h3,
.storyEditorialPage blockquote {
	font-family: "Newsreader", Georgia, serif;
}

.storyEditorialHero {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(330px, 0.65fr);
	background: var(--story-ink);
	color: #ffffff;
	overflow: hidden;
}

/* .doctorEditorialHero {
	margin-bottom: clamp(34px, 5vw, 72px);
}

.locationsEditorialHero {
	margin-bottom: clamp(34px, 5vw, 72px);
} */

.storyHeroMain {
	position: relative;
	padding: clamp(48px, 7vw, 112px) clamp(34px, 7vw, 110px) clamp(42px, 6vw, 88px);
}

.storyHeroMain:before {
	content: "";
	position: absolute;
	top: 0;
	left: clamp(34px, 7vw, 110px);
	width: 92px;
	height: 7px;
	background: var(--story-orange);
}

.storyKicker,
.storySectionLabel {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 28px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.storyKicker {
	color: #f8ba82;
}

.storyKicker span {
	color: rgba(255, 255, 255, 0.42);
}

.storyHeroMain h1 {
	max-width: 870px;
	margin: 0;
	font-size: clamp(52px, 7.3vw, 58px);
	font-weight: 500;
	line-height: 0.91;
	letter-spacing: -0.045em;
	color: #ffffff;
}

.storyHeroLead {
	max-width: 690px;
	margin: 38px 0 0;
	font-size: clamp(18px, 1.8vw, 25px);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.76);
}

.storyHeroLinks,
.storyClosingLinks {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 38px;
}

.storyArrowLink:link,
.storyArrowLink:visited,
.storyArrowLink:active {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 34px;
	min-height: 54px;
	padding: 14px 18px;
	max-width: 100%;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 2px;
	box-sizing: border-box;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.035em;
	text-decoration: none;
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.storyArrowLink span {
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
	transition: transform 0.2s ease;
}

.storyArrowLink:hover span {
	transform: translateX(5px);
}

.storyArrowLinkPrimary:link,
.storyArrowLinkPrimary:visited,
.storyArrowLinkPrimary:active,
.storyArrowLink:hover {
	color: var(--story-ink);
	background: var(--story-orange);
	border-color: var(--story-orange);
}

.storyArrowLinkPrimary:hover {
	color: #ffffff;
	background: transparent;
	border-color: rgba(255, 255, 255, 0.65);
}

.storyQuotePanel {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 560px;
	padding: clamp(42px, 5vw, 78px);
	color: var(--story-ink);
	background: var(--story-sand);
	border-bottom-right-radius: 110px;
}

.storyQuoteMark {
	position: absolute;
	top: 35px;
	left: clamp(42px, 5vw, 78px);
	font-family: "Newsreader", Georgia, serif;
	font-size: 150px;
	line-height: 1;
	color: var(--story-orange);
	opacity: 0.72;
}

.storyQuotePanel blockquote {
	position: relative;
	margin: 0;
	font-size: clamp(38px, 4.4vw, 66px);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.03em;
}

.storyQuotePanel p {
	margin: 28px 0 0;
	padding-top: 24px;
	border-top: 1px solid rgba(16, 36, 52, 0.28);
	font-size: 15px;
	line-height: 1.7;
	color: rgba(16, 36, 52, 0.72);
}

.storyHeroImagePlaceholder {
	display: flex;
	padding: clamp(28px, 4vw, 58px);
}

.storyImagePlaceholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 430px;
	gap: 18px;
	color: rgba(16, 36, 52, 0.54);
	background:
		linear-gradient(135deg, rgba(245, 138, 58, 0.08), transparent 55%),
		rgba(255, 255, 255, 0.35);
	border: 1px dashed rgba(16, 36, 52, 0.38);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-align: center;
	text-transform: uppercase;
}

.storyImagePlaceholder svg {
	width: 54px;
	height: 54px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.storyProofPoints {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.storyProofPoint {
	display: grid;
	grid-template-columns: minmax(140px, 0.45fr) minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	padding: 29px clamp(34px, 5vw, 80px);
}

.storyProofPoint + .storyProofPoint {
	border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.storyProofPoint strong {
	font-family: "Newsreader", Georgia, serif;
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 500;
	color: #ffffff;
}

.storyProofPoint span {
	font-size: 16px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.64);
}

.storyNarrative,
.storyPrinciplesSection {
	display: grid;
	grid-template-columns: minmax(180px, 0.28fr) minmax(0, 1fr);
	gap: clamp(32px, 7vw, 110px);
	padding: clamp(42px, 5vw, 76px) clamp(30px, 7vw, 112px);
	background: #ffffff;
}

.storySectionLabel {
	align-self: start;
	color: rgba(16, 36, 52, 0.58);
}

.storySectionAside {
	align-self: stretch;
}

.storyImagePlaceholderSmall {
	min-height: 0;
	aspect-ratio: 4 / 5;
	margin-top: 38px;
	padding: 22px;
	background:
		linear-gradient(150deg, rgba(245, 138, 58, 0.12), transparent 60%),
		var(--story-paper);
}

.storySectionImage {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	margin-top: 38px;
	object-fit: cover;
	object-position: center;
	border-radius: 4px 4px 34px 4px;
	box-shadow: 0 18px 42px rgba(16, 36, 52, 0.18);
}

.storyNarrativeContent h2,
.storyPrinciplesHeader h2,
.storyClosing h2 {
	margin: 0;
	font-size: clamp(42px, 5.4vw, 76px);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.035em;
}

.storyNarrativeContent h2 {
	max-width: 930px;
}

.storyColumns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(28px, 5vw, 80px);
	margin-top: 48px;
	padding-top: 34px;
	border-top: 1px solid var(--story-line);
}

.storyColumns p,
.storyPrinciplesHeader p,
.storyPrinciples p,
.storyClosing p {
	margin: 0;
	font-size: 17px;
	line-height: 1.75;
	color: rgba(16, 36, 52, 0.72);
}

.storyPrinciplesSection {
	background: var(--story-paper);
	border-top: 1px solid var(--story-line);
}

.storyPrinciplesHeader {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: 50px;
	align-items: end;
}

.storyPrinciplesHeader p {
	padding-left: 28px;
	border-left: 3px solid var(--story-orange);
}

.storyPrinciples {
	display: grid;
	grid-column: 2;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 66px;
	border-top: 1px solid var(--story-line);
	border-bottom: 1px solid var(--story-line);
}

.storyPrinciples article {
	padding: 34px 30px 40px 0;
}

.storyPrinciples article + article {
	padding-left: 30px;
	border-left: 1px solid var(--story-line);
}

.storyPrinciples h3 {
	margin: 0 0 16px;
	font-size: clamp(29px, 3vw, 40px);
	font-weight: 500;
	line-height: 1.05;
}

.storyPrinciples p {
	font-size: 15px;
}

.storyClosing {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.9fr);
	gap: clamp(38px, 8vw, 120px);
	align-items: end;
	padding: clamp(40px, 5vw, 68px) clamp(30px, 7vw, 112px);
	color: #ffffff;
	background: var(--story-light-orange);
}

.storyClosing h2 {
	font-size: clamp(34px, 4.2vw, 58px);
	line-height: 1.04;
}

.storyClosing .storySectionLabel {
	margin-bottom: 18px;
}

.storyClosing p {
	margin-top: 18px;
}

.storySectionLabelLight,
.storyClosing h2,
.storyClosing p {
	color: var(--story-ink);
}

.storyClosing p {
	max-width: 760px;
	margin-top: 18px;
}

.storyClosingLinks {
	flex-direction: column;
	align-items: stretch;
	margin: 0;
}

.storyArrowLinkLight:link,
.storyArrowLinkLight:visited,
.storyArrowLinkLight:active {
	color: #ffffff;
	background: var(--story-ink);
	border-color: var(--story-ink);
}

.storyArrowLinkLight:hover {
	color: var(--story-ink);
	background: #ffffff;
	border-color: #ffffff;
}

.storyArrowLinkOutline:link,
.storyArrowLinkOutline:visited,
.storyArrowLinkOutline:active {
	color: var(--story-ink);
	background: transparent;
	border-color: rgba(16, 36, 52, 0.55);
}

.storyArrowLinkOutline:hover {
	color: #ffffff;
	background: var(--story-ink);
	border-color: var(--story-ink);
}

/* Generated service pages: the Our Story editorial system with reusable content slots. */
.serviceEditorialHeroImage img {
	object-position: center;
}

.serviceEditorialPage .storyNarrativeContent h2,
.serviceEditorialPage .storyPrinciplesHeader h2,
.serviceEditorialPage .storyClosing h2 {
	font-size: clamp(28px, 3.6vw, 51px);
}

.serviceEditorialCarePanel {
	position: relative;
	display: flex;
	min-height: 390px;
	margin-top: 38px;
	padding: clamp(24px, 2.5vw, 36px);
	overflow: hidden;
	flex-direction: column;
	justify-content: space-between;
	color: #ffffff;
	background: var(--story-ink);
	border-top: 6px solid var(--story-orange);
}

.serviceEditorialCarePanel::after {
	position: absolute;
	right: -92px;
	bottom: -92px;
	width: 230px;
	height: 230px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 50%;
	content: "";
}

.serviceEditorialCareEyebrow,
.serviceEditorialCareNote {
	position: relative;
	z-index: 1;
	font-family: "Manrope", Arial, sans-serif;
}

.serviceEditorialCareEyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--story-orange);
}

.serviceEditorialCareLines {
	position: relative;
	z-index: 1;
	margin: 38px 0;
}

.serviceEditorialCareLines p {
	margin: 0;
	font-family: "Newsreader", Georgia, serif;
	font-size: clamp(29px, 2.8vw, 42px);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -0.025em;
}

.serviceEditorialCareLines p + p {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.serviceEditorialCareNote {
	max-width: 220px;
	font-size: 13px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.68);
}

.serviceEditorialReasons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin-top: 48px;
	border-top: 1px solid var(--story-line);
	border-bottom: 1px solid var(--story-line);
}

.serviceEditorialReasons article {
	min-width: 0;
	padding: 28px 28px 30px 0;
}

.serviceEditorialReasons article:nth-child(even) {
	padding-right: 0;
	padding-left: 28px;
	border-left: 1px solid var(--story-line);
}

.serviceEditorialReasons article:nth-child(n + 3) {
	border-top: 1px solid var(--story-line);
}

.serviceEditorialReasons h3,
.serviceEditorialSteps h3,
.serviceEditorialFaqList h3 {
	margin: 0;
	font-size: clamp(25px, 2.5vw, 36px);
	font-weight: 500;
	line-height: 1.12;
}

.serviceEditorialAsideCopy {
	max-width: 280px;
	margin: 38px 0 0;
	padding-top: 22px;
	color: rgba(16, 36, 52, 0.68);
	border-top: 3px solid var(--story-orange);
	font-size: 15px;
	line-height: 1.7;
}

.serviceEditorialSteps {
	display: grid;
	grid-column: 2;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 58px;
	border-top: 1px solid var(--story-line);
	border-bottom: 1px solid var(--story-line);
}

.serviceEditorialSteps article {
	min-width: 0;
	padding: 30px 28px 34px 0;
}

.serviceEditorialSteps article:nth-child(even) {
	padding-right: 0;
	padding-left: 28px;
	border-left: 1px solid var(--story-line);
}

.serviceEditorialSteps article:nth-child(n + 3) {
	border-top: 1px solid var(--story-line);
}

.serviceEditorialSteps article:last-child {
	grid-column: 1 / -1;
	padding-right: 0;
}

.serviceEditorialFaq {
	display: grid;
	grid-template-columns: minmax(260px, 0.55fr) minmax(0, 1.45fr);
	gap: clamp(44px, 7vw, 108px);
	padding: clamp(42px, 5vw, 76px) clamp(30px, 7vw, 112px);
	background: #ffffff;
	border-top: 1px solid var(--story-line);
}

.serviceEditorialFaqIntro h2 {
	margin: 0;
	font-size: clamp(27px, 3.33vw, 45px);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.035em;
}

.serviceEditorialFaqIntro p {
	max-width: 520px;
	margin: 24px 0 0;
	color: rgba(16, 36, 52, 0.68);
	font-size: 16px;
	line-height: 1.7;
}

.serviceEditorialFaqList {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-content: start;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--story-line);
	list-style: none;
}

.serviceEditorialFaqList li {
	min-width: 0;
	padding: 28px 28px 30px 0;
	border-bottom: 1px solid var(--story-line);
}

.serviceEditorialFaqList li:nth-child(even) {
	padding-right: 0;
	padding-left: 28px;
	border-left: 1px solid var(--story-line);
}

.serviceEditorialFaqList h3 {
	font-size: clamp(23px, 2.2vw, 32px);
}

.serviceEditorialFaqList p {
	margin: 14px 0 0;
	color: rgba(16, 36, 52, 0.7);
	font-size: 15px;
	line-height: 1.7;
}

.serviceEditorialClosing {
	border-top: 1px solid rgba(16, 36, 52, 0.08);
}

/* Services index: editorial framing around the generated services control. */
.servicesEditorialHeroImage {
	justify-content: stretch;
	padding: 0;
	overflow: hidden;
}

.servicesEditorialHeroImage img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 560px;
	object-fit: cover;
	object-position: center;
}

.servicesEditorialDirectory {
	padding: clamp(48px, 6vw, 88px) clamp(30px, 7vw, 112px) clamp(58px, 7vw, 104px);
	background: #ffffff;
}

.servicesEditorialIntro {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: clamp(38px, 6vw, 88px);
	align-items: center;
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}

.servicesEditorialHeading .storySectionLabel {
	margin-bottom: 18px;
}

.servicesEditorialIntro h2 {
	margin: 0;
	font-family: "Newsreader", Georgia, serif;
	font-size: clamp(34px, 4.2vw, 60px);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.035em;
	color: var(--story-ink);
}

.servicesEditorialIntro p {
	margin: 0;
	padding-left: 28px;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.75;
	text-align: center;
	color: rgba(16, 36, 52, 0.7);
	border-left: 3px solid var(--story-orange);
}

.contentServiceDirectory.servicesEditorialDirectory .serviceListPage2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin-top: clamp(48px, 6vw, 82px);
	padding: 0;
	text-align: left;
	border-top: 1px solid var(--story-line);
	border-left: 1px solid var(--story-line);
}

.contentServiceDirectory.servicesEditorialDirectory .serviceListPage2 > div {
	width: auto;
	max-width: none;
	min-width: 0;
	padding: clamp(30px, 3.5vw, 50px);
	overflow: visible;
	background: #ffffff;
	border: 0;
	border-right: 1px solid var(--story-line);
	border-bottom: 1px solid var(--story-line);
	border-radius: 0;
	box-shadow: none;
}

.contentServiceDirectory.servicesEditorialDirectory .serviceListPage2 > div:nth-child(4n + 2),
.contentServiceDirectory.servicesEditorialDirectory .serviceListPage2 > div:nth-child(4n + 3) {
	background: var(--story-paper);
}

.contentServiceDirectory.servicesEditorialDirectory .serviceTypeHeader {
	display: block;
	padding: 20px 0 22px;
	background: none;
	border-top: 5px solid var(--story-orange);
}

.contentServiceDirectory.servicesEditorialDirectory .serviceTypeHeader h2 {
	all: unset;
	display: block;
	font-family: "Newsreader", Georgia, serif;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -0.025em;
	color: var(--story-ink);
}

.contentServiceDirectory.servicesEditorialDirectory .serviceItemList {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.contentServiceDirectory.servicesEditorialDirectory .serviceItemList li {
	position: relative;
	margin: 0;
	padding: 22px 0;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 14px;
	line-height: 1.65;
	color: rgba(16, 36, 52, 0.7);
	border-top: 1px solid var(--story-line);
}

.contentServiceDirectory.servicesEditorialDirectory .serviceItemList li:first-child {
	border-top: 1px solid var(--story-line);
}

.contentServiceDirectory.servicesEditorialDirectory .serviceItemList strong {
	display: block;
	margin: 0 0 7px;
	font-family: "Newsreader", Georgia, serif;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--story-ink);
}

.contentServiceDirectory.servicesEditorialDirectory .serviceItemList span {
	display: block;
	margin-top: 12px;
}

.contentServiceDirectory.servicesEditorialDirectory .serviceItemList span br {
	display: none;
}

.contentServiceDirectory.servicesEditorialDirectory .serviceItemList a:link,
.contentServiceDirectory.servicesEditorialDirectory .serviceItemList a:visited,
.contentServiceDirectory.servicesEditorialDirectory .serviceItemList a:active {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 0 0 4px;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--story-ink);
	background: none;
	border: 0;
	border-bottom: 1px solid var(--story-orange);
	border-radius: 0;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.contentServiceDirectory.servicesEditorialDirectory .serviceItemList a::after {
	content: "\2192";
	font-size: 15px;
	font-weight: 400;
}

.contentServiceDirectory.servicesEditorialDirectory .serviceItemList a:hover {
	color: var(--story-orange);
	background: none;
	border-color: var(--story-ink);
	transform: none;
}

.servicesEditorialClosing h2 {
	font-size: clamp(34px, 4.2vw, 60px);
}

/* Insurance page: editorial layout with the existing server-rendered logo control. */
.insuranceEditorialHero {
	margin-bottom: 0;
}

.insuranceHeroImage {
	justify-content: stretch;
	padding: 0;
	overflow: hidden;
}

.insuranceHeroImage img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 560px;
	object-fit: cover;
	object-position: center;
}

.insuranceEditorialPlans,
.insuranceEditorialGuidance,
.insuranceEditorialFaq {
	padding: clamp(62px, 8vw, 118px) clamp(30px, 7vw, 112px);
}

.insuranceEditorialPlans {
	display: grid;
	grid-template-columns: minmax(260px, 0.58fr) minmax(0, 1.42fr);
	gap: clamp(44px, 7vw, 108px);
	align-items: start;
	background: #ffffff;
}

.insuranceEditorialHeading h2 {
	max-width: 850px;
	margin: 0;
	font-size: clamp(32px, 4.2vw, 50px);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.035em;
}

.insuranceEditorialHeading > p,
.insuranceEditorialHeadingSplit > p {
	margin: 28px 0 0;
	color: rgba(16, 36, 52, 0.72);
	font-size: 17px;
	line-height: 1.75;
}

.insuranceEditorialPlans .insuranceLogos {
	min-width: 0;
	padding-top: 4px;
}

.insuranceEditorialPlans.contentLogoCloud .outerFlex {
	grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)) !important;
	gap: 18px !important;
}

.insuranceEditorialPlans.contentLogoCloud .innerFlex img {
	height: 108px !important;
	border-radius: 2px !important;
	box-shadow: none;
}

.insuranceEditorialGuidance {
	background: var(--story-paper);
	border-top: 1px solid var(--story-line);
}

.insuranceEditorialHeadingSplit {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: clamp(36px, 6vw, 90px);
	align-items: end;
}

.insuranceEditorialHeadingSplit > p {
	margin: 0;
	padding-left: 28px;
	border-left: 3px solid var(--story-orange);
}

.insuranceGuidanceGrid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 64px;
	border-top: 1px solid var(--story-line);
	border-bottom: 1px solid var(--story-line);
}

.insuranceGuidanceGrid article {
	padding: 34px 28px 38px 0;
}

.insuranceGuidanceGrid article + article {
	padding-left: 28px;
	border-left: 1px solid var(--story-line);
}

.insuranceGuidanceGrid h3,
.insuranceFaqGrid h3 {
	margin: 0 0 16px;
	font-size: clamp(26px, 2.4vw, 36px);
	font-weight: 500;
	line-height: 1.08;
}

.insuranceGuidanceGrid p,
.insuranceFaqGrid p {
	margin: 0;
	color: rgba(16, 36, 52, 0.72);
	font-size: 15px;
	line-height: 1.7;
}

.insuranceEditorialFaq {
	display: grid;
	grid-template-columns: minmax(260px, 0.55fr) minmax(0, 1.45fr);
	gap: clamp(44px, 7vw, 108px);
	background: #ffffff;
	border-top: 1px solid var(--story-line);
}

.insuranceFaqGrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--story-line);
}

.insuranceFaqGrid article {
	padding: 32px 30px 34px 0;
	border-bottom: 1px solid var(--story-line);
}

.insuranceFaqGrid article:nth-child(even) {
	padding-right: 0;
	padding-left: 30px;
	border-left: 1px solid var(--story-line);
}

.insuranceEditorialClosing {
	border-top: 0;
}

@media only screen and (max-width: 1050px) {
	.storyEditorialHero,
	.storyClosing {
		grid-template-columns: 1fr;
	}

	.serviceEditorialFaq {
		grid-template-columns: 1fr;
	}

	.serviceEditorialFaqList {
		margin-top: 6px;
	}

	.storyQuotePanel {
		min-height: 430px;
		border-bottom-right-radius: 80px;
	}

	.storyPrinciplesHeader {
		grid-template-columns: 1fr;
	}

	.storyClosingLinks {
		max-width: 560px;
	}

	.insuranceEditorialPlans,
	.insuranceEditorialFaq,
	.insuranceEditorialHeadingSplit {
		grid-template-columns: 1fr;
	}

	.insuranceHeroImage img {
		min-height: 430px;
	}

	.servicesEditorialHeroImage img {
		min-height: 430px;
	}

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

	.insuranceGuidanceGrid article:nth-child(3) {
		border-left: 0;
		border-top: 1px solid var(--story-line);
	}

	.insuranceGuidanceGrid article:nth-child(4) {
		border-top: 1px solid var(--story-line);
	}
}

@media only screen and (max-width: 760px) {
	.storyEditorialPage {
		padding: 0 12px 50px;
	}

	.storyHeroMain,
	.storyQuotePanel,
	.storyNarrative,
	.storyPrinciplesSection,
	.storyClosing {
		padding-left: 24px;
		padding-right: 24px;
	}

	.storyHeroMain h1 {
		font-size: clamp(42px, 8vw, 70px);
	}

	.storyHeroMain:before {
		left: 24px;
	}

	.storyQuotePanel {
		min-height: 340px;
		border-bottom-right-radius: 58px;
	}

	.storyImagePlaceholder {
		min-height: 280px;
	}

	.storyImagePlaceholderSmall {
		min-height: 0;
		aspect-ratio: 16 / 10;
		margin: 24px 0 0;
	}

	.storySectionImage {
		aspect-ratio: 16 / 10;
		margin: 24px 0 0;
		border-bottom-right-radius: 28px;
	}

	.serviceEditorialCarePanel {
		min-height: 310px;
		margin-top: 24px;
	}

	.servicesEditorialDirectory {
		padding: 42px 24px 54px;
	}

	.servicesEditorialIntro {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.servicesEditorialIntro p {
		padding: 20px 0 0;
		border-top: 3px solid var(--story-orange);
		border-left: 0;
	}

	.contentServiceDirectory.servicesEditorialDirectory .serviceListPage2 {
		grid-template-columns: 1fr;
		margin-top: 42px;
	}

	.contentServiceDirectory.servicesEditorialDirectory .serviceListPage2 > div,
	.contentServiceDirectory.servicesEditorialDirectory .serviceListPage2 > div:nth-child(4n + 2),
	.contentServiceDirectory.servicesEditorialDirectory .serviceListPage2 > div:nth-child(4n + 3) {
		padding: 30px 24px;
		background: #ffffff;
	}

	.contentServiceDirectory.servicesEditorialDirectory .serviceListPage2 > div:nth-child(even) {
		background: var(--story-paper);
	}

	.storyQuoteMark {
		left: 24px;
	}

	.storyProofPoints,
	.storyColumns,
	.storyPrinciples {
		grid-template-columns: 1fr;
	}

	.storyProofPoint {
		grid-template-columns: 1fr;
		gap: 5px;
		padding: 24px;
	}

	.storyProofPoint + .storyProofPoint {
		border-top: 1px solid rgba(255, 255, 255, 0.18);
		border-left: 0;
	}

	.storyNarrative,
	.storyPrinciplesSection {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.storyPrinciples,
	.storyPrinciplesHeader {
		grid-column: 1;
	}

	.serviceEditorialSteps {
		grid-column: 1;
	}

	.storyPrinciples {
		margin-top: 20px;
	}

	.storyPrinciples article,
	.storyPrinciples article + article {
		padding: 28px 0;
		border-left: 0;
	}

	.storyPrinciples article + article {
		border-top: 1px solid var(--story-line);
	}

	.storyHeroLinks,
	.storyClosingLinks {
		flex-direction: column;
	}

	.storyArrowLink {
		width: 100%;
		min-width: 0;
	}

	.serviceEditorialReasons,
	.serviceEditorialSteps,
	.serviceEditorialFaqList {
		grid-template-columns: 1fr;
	}

	.serviceEditorialReasons article,
	.serviceEditorialReasons article:nth-child(even),
	.serviceEditorialSteps article,
	.serviceEditorialSteps article:nth-child(even),
	.serviceEditorialFaqList li,
	.serviceEditorialFaqList li:nth-child(even) {
		padding: 24px 0 26px;
		border-left: 0;
		border-top: 1px solid var(--story-line);
	}

	.serviceEditorialReasons article:first-child,
	.serviceEditorialSteps article:first-child,
	.serviceEditorialFaqList li:first-child {
		border-top: 0;
	}

	.serviceEditorialSteps article:last-child {
		grid-column: 1;
	}

	.serviceEditorialFaq {
		padding: 42px 24px;
	}

	.insuranceHeroImage {
		padding: 0;
	}

	.insuranceHeroImage img {
		min-height: 340px;
	}

	.insuranceEditorialPlans,
	.insuranceEditorialGuidance,
	.insuranceEditorialFaq {
		padding: 54px 24px;
	}

	.insuranceEditorialHeading h2 {
		font-size: clamp(38px, 9vw, 56px);
	}

	.insuranceGuidanceGrid,
	.insuranceFaqGrid {
		grid-template-columns: 1fr;
		margin-top: 34px;
	}

	.insuranceGuidanceGrid article,
	.insuranceGuidanceGrid article + article,
	.insuranceFaqGrid article,
	.insuranceFaqGrid article:nth-child(even) {
		padding: 28px 0;
		border-left: 0;
		border-top: 1px solid var(--story-line);
	}

	.insuranceGuidanceGrid article:first-child,
	.insuranceFaqGrid article:first-child {
		border-top: 0;
	}
}

@media only screen and (max-width: 420px) {
	.storyHeroLinks,
	.storyClosingLinks {
		gap: 10px;
	}

	.storyArrowLink:link,
	.storyArrowLink:visited,
	.storyArrowLink:active {
		gap: 12px;
		min-height: 48px;
		padding: 11px 12px;
		font-size: 12px;
		letter-spacing: 0.015em;
	}

	.storyArrowLink span {
		font-size: 18px;
	}
}
