:root {
	color-scheme:only light;
}

:where(html,body) {
	color:#1a1a1a;
	background-color:#fffbeb;
}

:root {
	--paper:#EDF2EA;
	--paper-2:#DCE7DA;
	--type:#14211B;
	--type-soft:#44554C;
	--mark:#123D32;
	--mark-text:#F3F8F2;
	--hair:rgba(18,61,50,.28);
	--card:#FFFFFF;
	--lime:#D5EE6A;
	--alert:#8A1F11;
}

html,body {
	background-color:var(--paper);
	color:var(--type);
}

body.page-check-step {
	min-height:100vh;
}

.check-head {
	background-color:var(--paper);
	color:var(--type);
	border-bottom:1px solid var(--hair);
}

.check-head-in {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	max-width:1100px;
	margin:0 auto;
	padding:10px var(--gut);
}

.back-link {
	display:inline-flex;
	align-items:center;
	min-height:45px;
	font-size:.9375rem;
	font-weight:600;
	color:var(--mark);
	text-decoration:none;
	border-bottom:2px solid var(--mark);
	padding:0;
	line-height:1.2;
}

.back-link:hover {
	color:var(--type-soft);
	border-bottom-color:var(--type-soft);
}

.back-link-wrap {
	display:inline-flex;
	align-items:center;
	min-height:45px;
}

.check-hero {
	background-color:var(--mark);
	color:var(--mark-text);
	padding:44px 0 48px;
}

.check-hero-in {
	max-width:1100px;
	margin:0 auto;
	padding:0 var(--gut);
}

.check-kicker {
	display:inline-block;
	margin:0 0 1rem;
	padding:5px 12px;
	background-color:var(--lime);
	color:var(--mark);
	border-radius:999px;
	font-size:.8125rem;
	font-weight:600;
	letter-spacing:.04em;
	line-height:1.4;
}

.check-title {
	max-width:20em;
	margin:0 0 1.1rem;
	font-family:var(--display);
	font-size:clamp(1.85rem,1.3rem + 2.8vw,3.1rem);
	font-weight:500;
	line-height:1.12;
	letter-spacing:-.015em;
	color:var(--mark-text);
	text-align:left;
}

.check-lede {
	max-width:38rem;
	margin:0;
	font-size:clamp(1.0625rem,1rem + .35vw,1.2rem);
	line-height:1.6;
	color:#D7E6D9;
}

.check-layout {
	display:flex;
	flex-direction:column;
	gap:36px;
	max-width:1100px;
	margin:0 auto;
	padding:32px var(--gut) 56px;
}

.check-aside {
	width:100%;
}

.check-card {
	background-color:var(--card);
	color:var(--type);
	border:1px solid var(--hair);
	border-radius:18px;
	padding:24px 20px 22px;
	box-shadow:0 22px 44px -28px rgba(18,61,50,.55);
}

.check-card h2 {
	margin:0 0 .4rem;
	font-size:1.55rem;
	font-weight:600;
	line-height:1.2;
	color:var(--type);
}

.check-card-sub {
	margin:0 0 1.4rem;
	font-size:.9375rem;
	line-height:1.55;
	color:var(--type-soft);
}

.field {
	margin:0 0 1.1rem;
}

.field label {
	display:block;
	margin:0 0 .4rem;
	font-size:.9375rem;
	font-weight:600;
	line-height:1.3;
	color:var(--type);
}

.field input,.field select {
	display:block;
	width:100%;
	min-height:52px;
	padding:0 14px;
	font-family:var(--sans);
	font-size:1rem;
	line-height:1.4;
	color:var(--type);
	background-color:var(--card);
	border:1.5px solid #6F8478;
	border-radius:12px;
	transition:border-color .2s ease,box-shadow .2s ease;
}

.field input:hover,.field select:hover {
	border-color:var(--mark);
}

.field input:focus,.field select:focus {
	border-color:var(--mark);
	box-shadow:0 0 0 3px rgba(213,238,106,.7);
}

.field.has-error input {
	border-color:var(--alert);
}

.field-error {
	margin:.35rem 0 0;
	font-size:.875rem;
	line-height:1.4;
	color:var(--alert);
}

.field-error:empty {
	display:none;
}

.consent {
	display:flex;
	gap:12px;
	align-items:flex-start;
	margin:1.35rem 0 1.25rem;
}

.consent input {
	flex:none;
	width:26px;
	height:26px;
	margin:2px 0 0;
	accent-color:var(--mark);
	cursor:pointer;
}

.consent label {
	margin:0;
	font-size:.9rem;
	font-weight:400;
	line-height:1.55;
	color:var(--type);
	cursor:pointer;
}

.consent.has-error label {
	color:var(--alert);
}

.consent .field-error {
	flex-basis:100%;
}

.check-submit {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.6rem;
	width:100%;
	min-height:56px;
	padding:0 20px;
	font-family:var(--sans);
	font-size:1.0625rem;
	font-weight:600;
	color:var(--mark-text);
	background-color:var(--mark);
	border:0;
	border-radius:12px;
	cursor:pointer;
	transition:background-color .2s ease,transform .2s ease;
}

.check-submit:hover {
	background-color:#0A2A22;
}

.check-submit:active {
	transform:translateY(1px);
}

.check-submit svg {
	width:12px;
	height:12px;
}

.check-fine {
	margin:1rem 0 0;
	font-size:.8125rem;
	line-height:1.55;
	color:var(--type-soft);
}

.check-fine a {
	color:var(--mark);
	font-weight:600;
}

.form-status {
	display:none;
	margin:0 0 1rem;
	padding:18px;
	background-color:var(--paper-2);
	color:var(--type);
	border-radius:12px;
	border:1px solid var(--hair);
	font-size:1rem;
	line-height:1.6;
}

.form-status:target {
	display:block;
}

.form-status:target ~ form {
	display:none;
}

.form-status p {
	margin:0 0 .75rem;
}

.form-status p:last-child {
	margin-bottom:0;
}

.form-status a {
	font-weight:600;
}

.check-body {
	flex:1;
	min-width:0;
}

.check-body h2 {
	margin:0 0 .9rem;
	font-size:clamp(1.45rem,1.15rem + 1.2vw,1.95rem);
	font-weight:500;
	line-height:1.2;
	color:var(--type);
}

.check-block {
	margin:0 0 2.75rem;
}

.check-block:last-child {
	margin-bottom:0;
}

.spot-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:12px;
	margin:1.4rem 0 0;
	padding:0;
	list-style:none;
}

.spot {
	background-color:var(--card);
	color:var(--type);
	border:1px solid var(--hair);
	border-radius:14px;
	padding:18px;
}

.spot strong {
	display:block;
	margin:0 0 .3rem;
	font-family:var(--display);
	font-size:1.15rem;
	font-weight:600;
	line-height:1.3;
}

.spot span {
	display:block;
	font-size:.95rem;
	line-height:1.55;
	color:var(--type-soft);
}

.flow {
	margin:1.4rem 0 0;
	padding:0;
	list-style:none;
}

.flow li {
	position:relative;
	padding:18px 0 18px 26px;
	border-top:1px solid var(--hair);
}

.flow li:last-child {
	border-bottom:1px solid var(--hair);
}

.flow li::before {
	content:"";
	position:absolute;
	left:0;
	top:26px;
	width:12px;
	height:12px;
	background-color:var(--lime);
	border:2px solid var(--mark);
	border-radius:50%;
}

.flow strong {
	display:block;
	margin:0 0 .25rem;
	font-family:var(--display);
	font-size:1.2rem;
	font-weight:600;
	line-height:1.3;
}

.flow span {
	display:block;
	line-height:1.6;
}

.check-body a {
	color:var(--mark);
}

.check-back {
	margin:2rem 0 0;
}

.check-back a {
	display:inline-flex;
	align-items:center;
	min-height:45px;
	font-weight:600;
}

@media (min-width:540px) {
	.check-card {
		padding:30px 28px 26px;
	}
	.spot-grid {
		grid-template-columns:1fr 1fr;
	}
	.check-hero {
		padding:56px 0 60px;
	}
}

@media (min-width:860px) {
	.check-layout {
		flex-direction:row-reverse;
		align-items:flex-start;
		gap:56px;
		padding-top:48px;
		padding-bottom:80px;
	}
	.check-aside {
		flex:none;
		width:390px;
		position:sticky;
		top:24px;
		align-self:flex-start;
	}
	.check-hero {
		padding:72px 0 76px;
	}
}

@media (min-width:1180px) {
	.check-aside {
		width:420px;
	}
	.check-layout {
		gap:72px;
	}
}
