body {
	line-height: 1.6
}

.hero h1 {
	font-size: clamp(2.5rem, 5vw, 4.6rem);
	line-height: 1.06
}

.reading-results .summary-card {
	display: block
}

.reading-form {
	margin-top: 24px;
	max-width: 700px
}

.reading-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px
}

.source-choice {
	border: 0;
	margin: 0 0 16px;
	padding: 0
}

.source-choice legend {
	margin-bottom: 8px
}

.source-choice label {
	display: inline-flex;
	align-items: center;
	margin-right: 22px;
	gap: 8px;
	min-height: 44px
}

.source-choice input {
	width: 20px;
	height: 20px;
	accent-color: var(--yellow)
}

.reading-form input[type=url],
.reading-form textarea {
	display: block;
	width: 100%;
	border: 1px solid #8c949b;
	border-radius: 5px;
	background: #fff;
	color: #111;
	padding: 12px;
	font: inherit
}

.reading-form textarea {
	resize: vertical;
	min-height: 160px
}

.reading-form select {
	padding: 10px;
	border-radius: 5px;
	font: inherit;
	color: #111;
	background: #fff;
	max-width: 100%
}

.threshold-label {
	margin-top: 20px
}

.reading-form .primary-button {
	margin-top: 18px
}

.example-button {
	margin-top: 10px;
	min-height: 44px;
	color: #fff;
	background: transparent;
	border: 1px solid #fff;
	padding: 8px 14px;
	border-radius: 5px;
	font: inherit;
	cursor: pointer
}

button,
input,
select,
textarea,
a {
	scroll-margin-top: 20px
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
	outline: 3px solid #1264d5;
	outline-offset: 3px
}

.hero button:focus-visible,
.hero input:focus-visible,
.hero select:focus-visible,
.hero textarea:focus-visible {
	outline-color: #ffcf55
}

.reading-status {
	margin-block: 20px
}

#reading-error {
	color: #8b1720;
	background: #fff;
	padding: 16px;
	border: 2px solid #a32632;
	border-radius: 5px
}

.reading-results {
	padding-bottom: 30px
}

.reading-results .summary-card {
	margin: 20px 0
}

.reading-results h2,
.reading-scope h2 {
	font-size: clamp(1.5rem, 3vw, 2rem);
	line-height: 1.25
}

.reading-results .summary-copy {
	min-width: 0
}

.summary-note {
	overflow-wrap: anywhere
}

.reading-metrics {
	margin-top: 18px
}

.reading-metrics .metric {
	min-width: 0
}

.report-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 24px 0
}

.reading-email {
	background: #fff;
	border: 1px solid var(--line);
	padding: 24px;
	margin-block: 24px;
	border-radius: 5px
}

.reading-email form {
	max-width: 620px
}

.reading-email input[type=email] {
	display: block;
	width: 100%;
	padding: 12px;
	margin-block: 8px;
	border: 1px solid #8c949b;
	border-radius: 5px
}

.reading-email .marketing-check {
	margin: 16px 0;
	display: flex;
	align-items: flex-start;
	gap: 10px
}

.marketing-check input {
	width: 20px;
	height: 20px;
	flex-shrink: 0
}

.reading-filters {
	border: 1px solid #8c949b;
	padding: 14px;
	border-radius: 5px
}

.reading-filters label {
	display: block
}

.reading-filters select {
	font: inherit;
	min-height: 44px;
	padding: 8px;
	max-width: 100%
}

.reading-alert {
	background: white;
	border: 1px solid var(--line);
	border-left: 4px solid #9a6b00;
	border-radius: 5px;
	margin: 18px 0;
	padding: 22px;
	overflow-wrap: anywhere
}

.reading-alert h3 {
	font-size: 1.25rem;
	margin: 8px 0
}

.reading-alert blockquote {
	margin: 18px 0;
	padding: 12px 16px;
	border-left: 3px solid #89949e;
	background: #f4f5f6;
	white-space: pre-wrap
}

.alert-location {
	font-size: .9rem;
	color: #4c5660;
	margin: 0
}

.reading-alert mark {
	background: #ffe2a0;
	color: #191919
}

.reading-scope {
	padding-block: 28px 50px
}

.report-main {
	padding-block: 40px
}

.report-main h1 {
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 1.2
}

.report-main>p {
	overflow-wrap: anywhere
}

.demo-note {
	background: #fff3cf;
	color: #332800;
	padding: 12px 20px;
	margin: 0
}

.fake-nav {
	margin: 0;
	padding-inline: 26px
}

[hidden] {
	display: none !important
}

@media(max-width:760px) {
	.reading-alert,
	.reading-email {
		padding: 16px
	}

	.reading-filters select {
		width: 100%
	}

	.report-actions>* {
		width: 100%
	}

	.source-choice label {
		display: flex
	}

	.reading-results .summary-card {
		display: block
	}

	.hero-grid {
		grid-template-columns: 1fr
	}

	.hero-visual {
		display: none
	}

	.shell {
		width: calc(100% - 32px)
	}

}

@media(prefers-reduced-motion:reduce) {
	html {
		scroll-behavior: auto
	}

	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important
	}

}

@media print {
	body {
		background: #fff;
		color: #111
	}

	.hero,
	.reading-status,
	.report-actions,
	.reading-email,
	.reading-filters,
	#filter-count,
	.site-footer,
	.print-button,
	.demo-note,
	#save-status {
		display: none !important
	}

	.reading-results,
	.report-main {
		width: 100%;
		margin: 0;
		padding: 0
	}

	.reading-alert {
		break-inside: avoid
	}

	.reading-scope {
		padding-top: 10px
	}

	.reading-alert blockquote {
		background: #fff
	}

	.summary-card {
		box-shadow: none !important
	}

	.summary-icon {
		display: none
	}

	.reading-results .summary-card {
		display: block;
		border: 0;
		padding: 0
	}

	details>p {
		display: block !important
	}

}

:root {
	--yellow: #fad271
}

#print-button,
.report-main .print-button {
	color: #2b2a29;
	background-color: #fad271
}

.reading-email.shell {
	margin-inline: auto
}

.report-evidence {
	display: block
}

@media print {
	.report-evidence {
		display: block
	}

	.reading-alert {
		break-inside: avoid
	}

	.report-evidence blockquote {
		white-space: pre-wrap
	}

}

.contact-section .review-form {
	max-width: none;
	width: 100%
}