/* Hero */
.hero {
	background: linear-gradient(135deg, #0b2a57 0%, #061a37 100%);
	overflow: hidden;
}

.hero::before {
	content: '';
	background: radial-gradient(
		ellipse at top right,
		rgba(27, 107, 201, 0.25),
		transparent 55%
	);
	pointer-events: none;
}

/* Section */

section.alt {
	background: #f7f9fb;
}

section.dark {
	background: #0b2a57;
	color: #fff;
}

section.dark p,
section.dark li {
	color: #cbd5e1;
}

section.dark h2,
section.dark h3 {
	color: #fff;
}

h3 {
	font-weight: 600;
	color: #0b2a57;
}

.quantitative-pupillometry {
  padding: var(--vertical-padding) 0;
}

.quantitative-pupillometry-content-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.neurological-pupil-index {
  padding: var(--vertical-padding) 0;
}

.neurological-pupil-index-card-list {
  margin-top: clamp(40px, calc(34.234px + 1.802vw), 60px);
  display: flex;
  flex-direction: column;
  gap: clamp(25px, calc(23.559px + 0.45vw), 30px);
}

.clinical-use-cases {
  padding: var(--vertical-padding) 0;
}

/* Two-column tile grid */
.tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 22px;
	margin-top: 36px;
}

.tile {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 30px 28px;
	transition:
		transform 0.15s,
		box-shadow 0.15s;
}

.tile:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 30px rgba(11, 42, 87, 0.1);
}

.tile .badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #1b6bc9;
	background: #e6f0fa;
	padding: 5px 10px;
	border-radius: 20px;
	margin-bottom: 14px;
}

.tile h3 {
	margin: 0 0 10px;
	font-size: 22px;
	color: #0b2a57;
}

.tile p {
	font-size: 15.5px;
	color: #4b5563;
	margin: 0 0 18px;
}

.tile a.more {
	font-size: 14.5px;
	font-weight: 600;
	color: #1b6bc9;
}

/* Three-column metric grid */
.metrics {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px;
	margin: 32px 0;
}

.metric {
	background: #fff;
	border-left: 4px solid #1b6bc9;
	padding: 22px 24px;
	border-radius: 0 8px 8px 0;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.metric .num {
	font-size: 36px;
	font-weight: 700;
	color: #0b2a57;
	line-height: 1;
	margin-bottom: 8px;
	letter-spacing: -0.02em;
}

.metric .lbl {
	font-size: 14.5px;
	color: #4b5563;
	line-height: 1.4;
}

/* Honest framing callout */

.honest-limits {
	padding: var(--vertical-padding) 0;
}

.honest-limits .honest {
	margin-top: clamp(30px, calc(24.234px + 1.802vw), 50px);
}

/* Step list */
ol.steps {
	counter-reset: step;
	list-style: none;
	padding: 0;
	margin: 28px 0;
}

ol.steps li {
	counter-increment: step;
	padding: 18px 24px 18px 70px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	margin-bottom: 14px;
	position: relative;
}

ol.steps li::before {
	content: counter(step);
	position: absolute;
	left: 20px;
	top: 20px;
	background: #1b6bc9;
	color: #fff;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 15px;
}

ol.steps li strong {
	display: block;
	color: #0b2a57;
	font-size: 17px;
	margin-bottom: 4px;
}

ol.steps li span {
	font-size: 15px;
	color: #4b5563;
	line-height: 1.55;
}

/* Bullet list spacing */
.clean {
	padding-left: 22px;
  margin-top: clamp(30px, calc(24.234px + 1.802vw), 50px);
  display: flex;
  flex-direction: column;
  gap: clamp(10px, calc(8.559px + 0.45vw), 15px);
}

.clean li {
	line-height: 1.6;
  font-size: clamp(14px, calc(13.423px + 0.18vw), 16px);
}

.platform-architectural {
  padding: var(--vertical-padding) 0;
}

.platform-architectural-content-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.table-wrap {
  margin-top: clamp(30px, calc(24.234px + 1.802vw), 50px);
}

.regulatory-pathway {
  padding: var(--vertical-padding) 0;
}

.regulatory-pathway-body {
  margin-top: clamp(30px, calc(24.234px + 1.802vw), 50px);
}

.regulatory-pathway-body-title {
  font-size: clamp(18px, calc(16.847px + 0.36vw), 22px);
  font-weight: 600;
  color: #0b2a57;
  margin-bottom: 10px;
}

.regulatory-pathway-body-description {
  font-size: clamp(14px, calc(13.423px + 0.18vw), 16px);
  line-height: 1.4;
}

.funding-academic-partnership {
  padding: var(--vertical-padding) 0;
}

.funding-academic-partnership-content {
  display: flex;
	flex-direction: column;
	gap: clamp(5px, calc(2.117px + 0.901vw), 15px);
}