.vscds-edu {
	--vscds-edu-navy: #142033;
	--vscds-edu-purple: #7650ab;
	--vscds-edu-mauve: #f4effa;
	--vscds-edu-gold: #a98213;
	--vscds-edu-flow: #38acd0;
	--vscds-edu-stop: #b7524e;
	max-width: 1180px;
	margin: clamp(2rem, 5vw, 4.5rem) auto;
	color: var(--vscds-edu-navy);
}

.vscds-edu__header {
	max-width: 780px;
	margin: 0 auto clamp(1.25rem, 3vw, 2rem);
	text-align: center;
}

.vscds-edu__eyebrow {
	margin: 0 0 .35rem;
	color: var(--vscds-edu-purple);
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.vscds-edu__header h2 {
	margin: 0 0 .65rem;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	line-height: 1.08;
}

.vscds-edu__header > p:last-child {
	margin: 0;
	font-size: clamp(1rem, 2vw, 1.125rem);
	line-height: 1.6;
}

.vscds-edu__card {
	overflow: hidden;
	margin: 0;
	border: 1px solid #ded3eb;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(20, 32, 51, .08);
}

.vscds-edu__card figcaption {
	padding: .9rem 1rem;
	background: linear-gradient(135deg, #f8f4fc, #eee6f7);
	text-align: center;
}

.vscds-edu__card h3,
.vscds-edu__card figcaption p { margin: 0; }
.vscds-edu__card figcaption p { margin-top: .25rem; color: #5f477e; }
.vscds-edu__card img { display: block; width: 100%; height: auto; }
.vscds-edu__card--recommended { border-color: var(--vscds-edu-purple); box-shadow: 0 12px 32px rgba(118, 80, 171, .16); }

.vscds-edu__sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.vscds-edu__note {
	max-width: 860px;
	margin: 1rem auto 0;
	color: #556174;
	font-size: .88rem;
	line-height: 1.55;
	text-align: center;
}

.vscds-round6__graphic {
	overflow: hidden;
	margin: 0;
	border: 1px solid #ded3eb;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(20, 32, 51, .1);
}

.vscds-round6__graphic img {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 700px) {
	.vscds-round6__graphic {
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		scrollbar-color: var(--vscds-edu-purple) var(--vscds-edu-mauve);
	}

	.vscds-round6__graphic img {
		width: 760px;
		max-width: none;
	}
}

.vscds-factors__comparison,
.vscds-cpap-flow__panels {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(.8rem, 2vw, 1.25rem);
}

.vscds-factors__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(.65rem, 1.5vw, 1rem);
	margin-top: clamp(.8rem, 2vw, 1.25rem);
}

.vscds-factors__factor {
	overflow: hidden;
	margin: 0;
	border-radius: 16px;
	background: var(--vscds-edu-navy);
}

.vscds-factors__factor img { display: block; width: 100%; height: auto; }
.vscds-factors__factor figcaption { padding: .7rem; color: #fff; font-weight: 750; text-align: center; }

.vscds-edu__visual { position: relative; }
.vscds-edu__motion { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.vscds-cpap-flow__air {
	fill: none;
	stroke: rgba(255,255,255,.94);
	stroke-width: 8;
	stroke-linecap: round;
	stroke-dasharray: 4 30;
	filter: drop-shadow(0 0 4px rgba(56,172,208,.9));
	animation: vscds-edu-airflow 1.5s linear infinite;
}

.vscds-cpap-flow__stop circle {
	fill: rgba(255,255,255,.9);
	stroke: var(--vscds-edu-stop);
	stroke-width: 5;
	animation: vscds-edu-pulse 1.6s ease-in-out infinite;
}

.vscds-cpap-flow__stop path { fill: none; stroke: var(--vscds-edu-stop); stroke-width: 6; stroke-linecap: round; }

.vscds-hst__steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(.7rem, 1.5vw, 1rem);
	margin: 0;
	padding: 2rem 0 0;
	list-style: none;
}

.vscds-hst__steps::before {
	position: absolute;
	top: .8rem;
	left: 12.5%;
	width: 75%;
	height: 3px;
	border-radius: 99px;
	background: var(--vscds-edu-gold);
	content: '';
}

.vscds-hst__steps::after {
	position: absolute;
	top: .45rem;
	left: 12.5%;
	width: .7rem;
	height: .7rem;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--vscds-edu-purple);
	box-shadow: 0 0 0 2px var(--vscds-edu-gold);
	content: '';
	animation: vscds-hst-progress 7s ease-in-out infinite;
}

.vscds-hst__step { position: relative; min-width: 0; }
.vscds-hst__number {
	position: absolute;
	z-index: 2;
	top: -1.85rem;
	left: 50%;
	display: grid;
	width: 2.4rem;
	height: 2.4rem;
	place-items: center;
	transform: translateX(-50%);
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--vscds-edu-purple);
	color: #fff;
	font-weight: 800;
}

.vscds-hst__card {
	overflow: hidden;
	height: 100%;
	border: 1px solid #ded3eb;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(20,32,51,.08);
}

.vscds-hst__card h3 { margin: 0; padding: 1rem .75rem .8rem; text-align: center; }
.vscds-hst__card img { display: block; width: 100%; height: auto; }
.vscds-hst__card p { margin: 0; padding: .9rem; color: #465268; font-size: .92rem; line-height: 1.5; }

.vscds-test-compare__grid,
.vscds-mask-styles__grid {
	display: grid;
	gap: clamp(.8rem, 2vw, 1.25rem);
}

.vscds-test-compare__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vscds-mask-styles__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.vscds-test-compare__card {
	overflow: hidden;
	border: 1px solid #ded3eb;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(20, 32, 51, .08);
}

.vscds-test-compare__card img { display: block; width: 100%; height: auto; }
.vscds-test-compare__card ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}

.vscds-test-compare__card li {
	display: grid;
	min-height: 6.6rem;
	place-items: center;
	padding: .9rem;
	border-right: 1px solid #e5dced;
	color: #392756;
	font-size: clamp(.82rem, 1.3vw, 1rem);
	font-weight: 650;
	line-height: 1.35;
	text-align: center;
}

.vscds-test-compare__card li:last-child { border-right: 0; }
.vscds-test-compare__card strong { color: var(--vscds-edu-purple); font-size: 1.2em; }

.vscds-mask-styles__consider {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .6rem;
	margin: 1rem 0;
}

.vscds-mask-styles__consider span {
	padding: .55rem .9rem;
	border: 1px solid #d8cae7;
	border-radius: 99px;
	background: #fff;
	font-weight: 700;
}

.vscds-mask-styles__callout,
.vscds-care-path__callout {
	margin: 1rem auto 0;
	padding: .9rem 1.25rem;
	border-radius: 14px;
	background: linear-gradient(135deg, var(--vscds-edu-purple), #684298);
	color: #fff;
	font-size: clamp(1rem, 2vw, 1.2rem);
	font-weight: 800;
	text-align: center;
}

.vscds-care-path__steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: .55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vscds-care-path__steps li {
	overflow: hidden;
	min-width: 0;
	border: 1px solid #ded3eb;
	border-radius: 18px;
	background: var(--vscds-edu-mauve);
	box-shadow: 0 9px 24px rgba(20,32,51,.08);
}

.vscds-care-path__steps img { display: block; width: 100%; height: auto; }
.vscds-care-path__callout { max-width: 620px; background: linear-gradient(135deg, #a98213, #c5a23a); color: var(--vscds-edu-navy); }

.vscds-mask-leaks__intro {
	display: grid;
	grid-template-columns: minmax(230px, .65fr) minmax(0, 1.35fr);
	align-items: stretch;
	overflow: hidden;
	margin-bottom: clamp(.8rem, 2vw, 1.25rem);
	border: 1px solid #e1d5ed;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(20, 32, 51, .08);
}

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

.vscds-mask-leaks__tip {
	display: grid;
	min-height: 12rem;
	margin: 0;
	place-items: center;
	padding: clamp(1.25rem, 4vw, 2.5rem);
	background: linear-gradient(135deg, #fff9e8, #f1dfaa);
	color: var(--vscds-edu-navy);
	font-size: clamp(1.25rem, 2.5vw, 1.8rem);
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
}

.vscds-round4-grid {
	display: grid;
	gap: clamp(.75rem, 1.5vw, 1rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.vscds-round4-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vscds-round4-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.vscds-round4-card {
	position: relative;
	overflow: hidden;
	min-width: 0;
	border: 1px solid #ded3eb;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 9px 24px rgba(20, 32, 51, .08);
}

.vscds-round4-card h3 {
	min-height: 3.4rem;
	margin: 0;
	padding: .85rem 1rem;
	background: linear-gradient(135deg, #f8f4fc, #eee6f7);
	color: #392756;
	font-size: clamp(1.05rem, 1.8vw, 1.3rem);
	line-height: 1.2;
	text-align: center;
}

.vscds-round4-card__number {
	position: absolute;
	z-index: 2;
	top: .55rem;
	left: .65rem;
	display: grid;
	width: 2.2rem;
	height: 2.2rem;
	place-items: center;
	border-radius: 50%;
	background: var(--vscds-edu-purple);
	color: #fff;
	font-weight: 800;
}

.vscds-round4-card__number + h3 { padding-inline: 3.1rem .75rem; }
.vscds-round4-card img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.vscds-cpap-care .vscds-round4-card img { aspect-ratio: 4 / 5; }

.vscds-round4-card p {
	margin: 0;
	padding: 1rem;
	color: #465268;
	font-size: .94rem;
	line-height: 1.5;
}

.vscds-cpap-care__note,
.vscds-insurance-checklist__callout {
	max-width: 900px;
	margin: 1rem auto 0;
	padding: .9rem 1.25rem;
	border-radius: 14px;
	font-weight: 750;
	text-align: center;
}

.vscds-cpap-care__note { background: var(--vscds-edu-mauve); }
.vscds-insurance-checklist__callout { background: linear-gradient(135deg, #e6c35e, #c5a23a); color: var(--vscds-edu-navy); }

.vscds-system-components__layout {
	display: grid;
	grid-template-columns: minmax(260px, .85fr) minmax(0, 1.7fr);
	gap: 1rem;
}

.vscds-system-components__setup {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 28rem;
	object-fit: cover;
	border: 1px solid #ded3eb;
	border-radius: 18px;
	box-shadow: 0 9px 24px rgba(20, 32, 51, .08);
}

.vscds-system-components__grid,
.vscds-resupply__steps {
	display: grid;
	gap: .8rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vscds-system-components__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.vscds-system-components__card {
	grid-column: span 2;
	overflow: hidden;
	border: 1px solid #ded3eb;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(20, 32, 51, .07);
}

.vscds-system-components__card:nth-child(n+4) { grid-column: span 3; }
.vscds-system-components__card img { display: block; width: 100%; aspect-ratio: 16 / 8; object-fit: cover; }
.vscds-system-components__card div { padding: .85rem 1rem; background: var(--vscds-edu-mauve); }
.vscds-system-components__card h3 { margin: 0 0 .25rem; font-size: 1.05rem; }
.vscds-system-components__card p { margin: 0; color: #465268; font-size: .9rem; line-height: 1.45; }

.vscds-resupply__steps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.vscds-resupply__steps .vscds-round4-card h3 { min-height: 4.3rem; }
.vscds-resupply__steps .vscds-round4-card img { aspect-ratio: 1 / 1; }

@keyframes vscds-edu-airflow { to { stroke-dashoffset: -68; } }
@keyframes vscds-edu-pulse { 50% { r: 23px; opacity: .72; } }
@keyframes vscds-hst-progress { 0%,10% { transform: translateX(0); } 90%,100% { transform: translateX(calc(75vw - .7rem)); } }

@media (min-width: 1180px) {
	@keyframes vscds-hst-progress { 0%,10% { transform: translateX(0); } 90%,100% { transform: translateX(870px); } }
}

@media (max-width: 860px) {
	.vscds-factors__comparison,
	.vscds-cpap-flow__panels,
	.vscds-test-compare__grid { grid-template-columns: 1fr; max-width: 680px; margin-inline: auto; }
	.vscds-factors__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vscds-hst__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2.8rem; padding-top: 1.8rem; }
	.vscds-mask-styles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vscds-care-path__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
	.vscds-round4-grid--three,
	.vscds-round4-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vscds-system-components__layout { grid-template-columns: 1fr; }
	.vscds-system-components__setup { min-height: 22rem; max-height: 36rem; }
	.vscds-resupply__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vscds-hst__steps::before,
	.vscds-hst__steps::after { display: none; }
}

@media (max-width: 520px) {
	.vscds-factors__list,
	.vscds-hst__steps,
	.vscds-mask-styles__grid,
	.vscds-care-path__steps,
	.vscds-round4-grid--three,
	.vscds-round4-grid--four,
	.vscds-resupply__steps { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; }
	.vscds-system-components__grid { grid-template-columns: 1fr; }
	.vscds-system-components__card,
	.vscds-system-components__card:nth-child(n+4) { grid-column: auto; }
	.vscds-mask-leaks__intro { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; }
	.vscds-mask-leaks__tip { min-height: auto; }
	.vscds-test-compare__card ul { grid-template-columns: 1fr; }
	.vscds-test-compare__card li { min-height: auto; border-right: 0; border-bottom: 1px solid #e5dced; }
	.vscds-test-compare__card li:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.vscds-cpap-flow__air,
	.vscds-cpap-flow__stop circle,
	.vscds-hst__steps::after { animation: none; }
}
