/*
Theme Name: Grifel
Version: 1.0
Requires at least: 6.5
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: grifel
*/

@font-face {
	font-family: "Playfair Display";
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
	src: url("assets/fonts/playfair-display-cyrillic-wght-normal.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Playfair Display";
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
	src: url("assets/fonts/playfair-display-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Golos Text";
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
	src: url("assets/fonts/golos-text-cyrillic-wght-normal.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Golos Text";
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
	src: url("assets/fonts/golos-text-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Caveat";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/caveat-cyrillic-wght-normal.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Caveat";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/caveat-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--board: #1b1d1c;
	--board-deep: #141615;
	--chalk: #ecebe3;
	--chalk-soft: #b9b8af;
	--chalk-dim: #8c8d86;
	--chalk-line: #464845;
	--chalk-wash: rgba(236, 235, 227, 0.06);
	--alert: #f2a59b;
	--serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--sans: "Golos Text", "Helvetica Neue", Arial, sans-serif;
	--hand: "Caveat", "Segoe Print", "Bradley Hand", cursive;
	--gutter: clamp(20px, 6vw, 88px);
	--wide: 1180px;
	--space: clamp(80px, 12vw, 168px);
	--round: 6px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	background: var(--board);
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

body {
	position: relative;
	margin: 0;
	background-color: var(--board);
	background-image:
		radial-gradient(ellipse 60% 40% at 12% 18%, rgba(236, 235, 227, 0.045), transparent 70%),
		radial-gradient(ellipse 45% 35% at 88% 42%, rgba(236, 235, 227, 0.035), transparent 70%),
		radial-gradient(ellipse 70% 30% at 30% 78%, rgba(236, 235, 227, 0.03), transparent 70%);
	color: var(--chalk);
	font: 400 1.0625rem/1.65 var(--sans);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}

body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 40;
	pointer-events: none;
	opacity: 0.08;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='d'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.15' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.93 0 0 0 0 0.92 0 0 0 0 0.89 0 0 0 .7 -.12'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23d)'/%3E%3C/svg%3E");
}

@media (min-width: 900px) {
	body {
		font-size: 1.125rem;
	}
}

h1,
h2,
h3,
p,
ol,
ul,
figure {
	margin: 0;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
}

:focus-visible {
	outline: 2px solid var(--chalk);
	outline-offset: 4px;
}

::selection {
	background: var(--chalk);
	color: var(--board);
}

.chalk-defs {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

.title {
	max-width: 18ch;
	font: 500 clamp(1.9rem, 4.2vw, 3.25rem)/1.1 var(--serif);
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 60px;
	padding: 0 36px;
	border: 1.5px solid var(--chalk);
	border-radius: var(--round);
	background: var(--chalk);
	color: var(--board);
	font: 600 1.0625rem/1.1 var(--sans);
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.btn:hover {
	background: transparent;
	color: var(--chalk);
}

.btn--ghost {
	background: transparent;
	color: var(--chalk);
}

.btn--ghost:hover {
	background: var(--chalk);
	color: var(--board);
}

.scene {
	position: relative;
	isolation: isolate;
	display: grid;
	min-height: 100vh;
	min-height: 100svh;
	overflow: hidden;
}

.scene__media {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.scene__photo {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 50% 15%;
	filter: grayscale(1) contrast(1.05);
	-webkit-mask-image: linear-gradient(to bottom, #000 30%, transparent 85%);
	mask-image: linear-gradient(to bottom, #000 30%, transparent 85%);
}

.scene__ghost {
	position: absolute;
	top: 50%;
	right: max(var(--gutter), calc((100vw - var(--wide)) / 2));
	z-index: -1;
	color: rgba(236, 235, 227, 0.035);
	font: 400 min(78vh, 46rem)/1 var(--serif);
	-webkit-text-stroke: 2px rgba(236, 235, 227, 0.2);
	transform: translateY(-50%) rotate(8deg);
	filter: url(#chalk-edge);
	pointer-events: none;
	user-select: none;
}

@media (max-width: 899px) {
	.scene__ghost {
		top: 4%;
		right: 2%;
		font-size: min(62vw, 42vh);
		transform: rotate(8deg);
	}
}

.scene__inner {
	display: grid;
	grid-template-rows: auto 1fr auto auto auto;
	width: 100%;
	max-width: calc(var(--wide) + 2 * var(--gutter));
	margin: 0 auto;
	padding: max(28px, env(safe-area-inset-top)) var(--gutter) max(40px, env(safe-area-inset-bottom));
}

.scene__sign {
	grid-row: 1;
	font: 600 clamp(1.6rem, 2.6vw, 2.1rem)/1 var(--hand);
	color: var(--chalk-soft);
}

.scene__title {
	grid-row: 3;
	max-width: 14ch;
	font: 500 clamp(2.6rem, 7.4vw, 6.4rem)/1.04 var(--serif);
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.scene__mark {
	position: relative;
	display: inline-block;
	white-space: nowrap;
}

.scene__line {
	position: absolute;
	left: -2%;
	bottom: -0.16em;
	width: 104%;
	height: 0.28em;
	overflow: visible;
	pointer-events: none;
}

.scene__line path {
	fill: none;
	stroke: var(--chalk);
	stroke-width: 5;
	stroke-linecap: round;
	vector-effect: non-scaling-stroke;
	filter: url(#chalk-edge);
	opacity: 0.92;
}

.scene__lead {
	grid-row: 4;
	max-width: 34ch;
	margin-top: clamp(22px, 3vw, 36px);
	color: var(--chalk-soft);
	font-size: clamp(1.125rem, 1.6vw, 1.375rem);
	line-height: 1.55;
	text-wrap: pretty;
}

.scene__act {
	grid-row: 5;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 28px;
	margin-top: clamp(28px, 4vw, 44px);
}

.scene__promise {
	font: 500 clamp(1.25rem, 1.8vw, 1.375rem)/1.2 var(--hand);
	color: var(--chalk-soft);
}

@media (max-width: 600px) {
	.scene__act .btn {
		width: 100%;
	}

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

@media (prefers-reduced-motion: no-preference) {
	.scene__line path {
		stroke-dasharray: 1;
		stroke-dashoffset: 1;
		animation: grf-draw 1.1s 0.5s cubic-bezier(0.6, 0.1, 0.3, 1) forwards;
	}

	.scene__sign {
		animation: grf-fade 0.9s 0.1s ease-out both;
	}
}

@keyframes grf-draw {
	to {
		stroke-dashoffset: 0;
	}
}

@keyframes grf-fade {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.has-hero-photo .scene__inner {
	grid-template-rows: auto minmax(36vh, 1fr) auto auto auto;
}

@media (min-width: 900px) {
	.has-hero-photo .scene__media {
		left: 42%;
	}

	.has-hero-photo .scene__photo {
		-webkit-mask-image: linear-gradient(to right, transparent 0, #000 40%);
		mask-image: linear-gradient(to right, transparent 0, #000 40%);
	}

	.has-hero-photo .scene__inner {
		grid-template-rows: auto 1fr auto auto auto;
	}

	.has-hero-photo .scene__title {
		max-width: 11ch;
	}
}

.ask {
	padding: var(--space) var(--gutter);
	scroll-margin-top: 0;
}

.ask__inner {
	display: grid;
	gap: 40px;
	max-width: var(--wide);
	margin: 0 auto;
	padding-top: clamp(40px, 6vw, 72px);
	border-top: 1px solid var(--chalk-line);
}

.ask__intro {
	display: grid;
	align-content: start;
	gap: 20px;
}

.ask__intro p {
	max-width: 34ch;
	color: var(--chalk-soft);
}

.ask__form {
	min-width: 0;
}

@media (min-width: 960px) {
	.ask__inner {
		grid-template-columns: 5fr 7fr;
		gap: clamp(48px, 7vw, 112px);
	}

	.ask__form {
		max-width: 620px;
	}
}

.form-hint {
	padding: 20px;
	border: 1px dashed var(--chalk-soft);
	font-size: 0.9375rem;
}

#doska .wpforms-container {
	--wpforms-field-border-radius: var(--round);
	--wpforms-field-border-style: solid;
	--wpforms-field-border-size: 1px;
	--wpforms-field-background-color: transparent;
	--wpforms-field-border-color: var(--chalk-line);
	--wpforms-field-border-color-spare: var(--chalk-line);
	--wpforms-field-text-color: var(--chalk);
	--wpforms-field-menu-color: var(--board-deep);
	--wpforms-label-color: var(--chalk);
	--wpforms-label-sublabel-color: var(--chalk-soft);
	--wpforms-label-error-color: var(--alert);
	--wpforms-button-border-radius: var(--round);
	--wpforms-button-border-style: solid;
	--wpforms-button-border-size: 1.5px;
	--wpforms-button-background-color: var(--chalk);
	--wpforms-button-border-color: var(--chalk);
	--wpforms-button-text-color: var(--board);
	--wpforms-page-break-color: var(--chalk);
	--wpforms-background-color: transparent;
	--wpforms-container-padding: 0;
	--wpforms-container-border-style: none;
	--wpforms-container-shadow-size-box-shadow: none;
	--wpforms-field-size-input-height: 56px;
	--wpforms-field-size-font-size: 17px;
	--wpforms-field-size-padding-h: 16px;
	--wpforms-label-size-font-size: 16px;
	--wpforms-button-size-height: 60px;
	--wpforms-button-size-font-size: 17px;
	--wpforms-button-size-padding-h: 36px;
	--wpforms-lead-forms-accent-color: 236, 235, 227;
	--wpforms-lead-forms-box-shadow: none;
	--wpforms-lead-forms-border-radius: 0;
	--wpforms-lead-forms-container-background: transparent;
	--wpforms-lead-forms-container-background-color: transparent;
	--wpforms-lead-forms-field-border-color: var(--chalk-line);
	--wpforms-lead-forms-primary-text-color: #ecebe3;
	--wpforms-lead-forms-secondary-text-color: 185, 184, 175;
	margin: 0;
	padding: 0;
	max-width: 100%;
	background: transparent;
	box-shadow: none;
	color: var(--chalk);
	font-family: var(--sans);
}

#doska .wpforms-container,
#doska .wpforms-container .wpforms-field-label,
#doska .wpforms-container .wpforms-field-description,
#doska .wpforms-container .wpforms-page-indicator,
#doska .wpforms-container .wpforms-error-container,
#doska .wpforms-container label.wpforms-error {
	text-align: left;
}

#doska .wpforms-container .wpforms-form,
#doska .wpforms-container .wpforms-field-container,
#doska .wpforms-container .wpforms-page {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

#doska .wpforms-container .wpforms-field {
	float: none;
	padding: 0 0 24px;
}

#doska .wpforms-container .wpforms-field-pagebreak {
	padding: 0;
}

#doska .wpforms-container .wpforms-field-hidden {
	display: none;
}

#doska .wpforms-container .wpforms-field-label {
	display: block;
	margin: 0 0 10px;
	color: var(--chalk);
	font: 500 1rem/1.4 var(--sans);
}

#doska .wpforms-container .wpforms-required-label {
	color: var(--chalk-soft);
}

#doska .wpforms-container fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

#doska .wpforms-container fieldset > legend {
	padding: 0;
}

#doska .wpforms-container input[type="text"],
#doska .wpforms-container input[type="tel"],
#doska .wpforms-container input[type="email"],
#doska .wpforms-container input[type="number"],
#doska .wpforms-container select,
#doska .wpforms-container textarea {
	width: 100%;
	max-width: 100%;
	min-height: 56px;
	border: 1px solid var(--chalk-line);
	border-radius: var(--round);
	background-color: var(--chalk-wash);
	color: var(--chalk);
	font: 400 1.0625rem/1.4 var(--sans);
	box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#doska .wpforms-container input[type="text"],
#doska .wpforms-container input[type="email"],
#doska .wpforms-container input[type="number"],
#doska .wpforms-container .wpforms-field-phone > input[type="tel"],
#doska .wpforms-container textarea {
	padding: 15px 16px;
}

#doska .wpforms-container .iti input[type="tel"] {
	padding-top: 15px;
	padding-bottom: 15px;
}

#doska .wpforms-container textarea {
	min-height: 150px;
	resize: vertical;
}

#doska .wpforms-container input::placeholder,
#doska .wpforms-container textarea::placeholder {
	color: var(--chalk-dim);
	opacity: 1;
}

#doska .wpforms-container input:focus,
#doska .wpforms-container select:focus,
#doska .wpforms-container textarea:focus {
	border-color: var(--chalk);
	box-shadow: 0 0 0 1px var(--chalk);
	outline: none;
}

#doska .wpforms-container .wpforms-field-medium,
#doska .wpforms-container .wpforms-field-large,
#doska .wpforms-container .wpforms-field-small,
#doska .wpforms-container .wpforms-field-row {
	width: 100%;
	max-width: 100%;
}

#doska .wpforms-container .wpforms-field-description {
	margin-top: 8px;
	color: var(--chalk-soft);
	font-size: 0.9375rem;
	line-height: 1.5;
}

#doska .wpforms-container .wpforms-page-indicator {
	margin: 0 0 28px;
	padding: 0;
	border: 0;
	background: transparent;
}

#doska .wpforms-container .wpforms-page-indicator-steps,
#doska .wpforms-container .wpforms-page-indicator-page-title,
#doska .wpforms-container .wpforms-page-indicator-page-title-sep {
	display: none;
}

#doska .wpforms-container .wpforms-page-indicator-page-progress-wrap {
	height: 3px;
	border-radius: 2px;
	background: var(--chalk-line);
	overflow: hidden;
}

#doska .wpforms-container .wpforms-page-indicator-page-progress {
	height: 100%;
	background-color: var(--chalk) !important;
	transition: width 0.3s ease;
}

#doska .wpforms-container .wpforms-lead-forms-progress {
	height: 3px;
	margin-top: 24px;
	border-radius: 2px;
	background: var(--chalk-line);
	overflow: hidden;
}

#doska .wpforms-container .wpforms-lead-forms-progress-bar {
	height: 100%;
	border-radius: 0;
	background: var(--chalk);
}

#doska .wpforms-container .wpforms-pagebreak-left,
#doska .wpforms-container .wpforms-submit-container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 8px 0 0;
	padding: 0;
	text-align: left;
}

#doska .wpforms-container .wpforms-page-button-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	width: 100%;
}

#doska .wpforms-container .wpforms-page-button,
#doska .wpforms-container .wpforms-submit,
#doska .wpforms-container button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 0;
	min-width: 0;
	max-width: 260px;
	height: auto;
	min-height: 60px;
	margin: 0;
	padding: 0 36px;
	border: 1.5px solid var(--chalk);
	border-radius: var(--round);
	background: var(--chalk);
	color: var(--board);
	font: 600 1.0625rem/1.1 var(--sans);
	box-shadow: none;
	cursor: pointer;
	opacity: 1;
	transition: background-color 0.2s ease, color 0.2s ease;
}

#doska .wpforms-container .wpforms-submit-container .wpforms-submit {
	flex: 0 1 auto;
	max-width: none;
	white-space: nowrap;
}

#doska .wpforms-container .wpforms-page-button:hover,
#doska .wpforms-container .wpforms-submit:hover,
#doska .wpforms-container button[type="submit"]:hover {
	background: transparent;
	color: var(--chalk);
}

#doska .wpforms-container .wpforms-page-prev {
	background: transparent;
	color: var(--chalk);
}

#doska .wpforms-container .wpforms-page-prev:hover {
	background: var(--chalk);
	color: var(--board);
}

#doska .wpforms-container .wpforms-page-button.wpforms-disabled {
	opacity: 1;
}

#doska .wpforms-container .wpforms-page-button-spinner,
#doska .wpforms-container .wpforms-submit-spinner {
	filter: grayscale(1) brightness(2);
}

#doska .wpforms-container label.wpforms-error,
#doska .wpforms-container em.wpforms-error,
#doska .wpforms-container .wpforms-error-container {
	display: block;
	margin-top: 8px;
	padding: 0;
	color: var(--alert);
	font: 500 0.9375rem/1.4 var(--sans);
}

#doska .wpforms-container input.wpforms-error,
#doska .wpforms-container textarea.wpforms-error,
#doska .wpforms-container select.wpforms-error {
	border-color: var(--alert);
	box-shadow: 0 0 0 1px var(--alert);
}

#doska .wpforms-container .choices {
	margin: 0;
	font-size: 1.0625rem;
}

#doska .wpforms-container .choices__inner {
	display: flex;
	align-items: center;
	min-height: 56px;
	padding: 0 16px;
	border: 1px solid var(--chalk-line);
	border-radius: var(--round);
	background: var(--chalk-wash);
	color: var(--chalk);
}

#doska .wpforms-container .choices__list--single,
#doska .wpforms-container .choices__list--single .choices__item {
	line-height: 54px;
}

#doska .wpforms-container .choices.is-focused .choices__inner,
#doska .wpforms-container .choices.is-open .choices__inner {
	border-color: var(--chalk);
	box-shadow: 0 0 0 1px var(--chalk);
}

#doska .wpforms-container .choices__list--dropdown,
#doska .wpforms-container .choices__list[aria-expanded] {
	border: 1px solid var(--chalk-line);
	border-radius: var(--round);
	background: var(--board-deep);
	color: var(--chalk);
}

#doska .wpforms-container .choices__list--dropdown .choices__item--selectable.is-highlighted,
#doska .wpforms-container .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
	background: var(--chalk);
	color: var(--board);
}

#doska .wpforms-container .choices[data-type*="select-one"]::after {
	border-color: var(--chalk) transparent transparent;
}

#doska .wpforms-container select option {
	background: var(--board-deep);
	color: var(--chalk);
}

#doska .wpforms-container .iti {
	width: 100%;
}

#doska .wpforms-container .iti__selected-dial-code {
	color: var(--chalk);
}

#doska .wpforms-container .iti__country-list {
	color: #1b1d1c;
}

#doska .wpforms-container .wpforms-field-gdpr-checkbox ul,
#doska .wpforms-container .wpforms-field-checkbox ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#doska .wpforms-container .wpforms-field-gdpr-checkbox li,
#doska .wpforms-container .wpforms-field-checkbox li {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
}

#doska .wpforms-container .wpforms-field-gdpr-checkbox input[type="checkbox"],
#doska .wpforms-container .wpforms-field-checkbox input[type="checkbox"] {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
	opacity: 0;
	-webkit-appearance: none;
	appearance: none;
}

#doska .wpforms-container .wpforms-field-gdpr-checkbox input[type="checkbox"]::before,
#doska .wpforms-container .wpforms-field-gdpr-checkbox input[type="checkbox"]::after,
#doska .wpforms-container .wpforms-field-checkbox input[type="checkbox"]::before,
#doska .wpforms-container .wpforms-field-checkbox input[type="checkbox"]::after {
	content: none;
	display: none;
}

#doska .wpforms-container .wpforms-field-gdpr-checkbox .wpforms-field-label-inline,
#doska .wpforms-container .wpforms-field-checkbox .wpforms-field-label-inline {
	position: relative;
	display: block;
	min-height: 26px;
	margin: 0;
	padding: 2px 0 0 40px;
	color: var(--chalk);
	font: 400 1rem/1.5 var(--sans);
	text-align: left;
	cursor: pointer;
}

#doska .wpforms-container .wpforms-field-gdpr-checkbox .wpforms-field-label-inline::after,
#doska .wpforms-container .wpforms-field-checkbox .wpforms-field-label-inline::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	box-sizing: border-box;
	width: 26px;
	height: 26px;
	margin: 0;
	border: 1.5px solid var(--chalk);
	border-radius: var(--round);
	background: transparent;
	box-shadow: none;
	opacity: 1;
	transform: none;
	transition: background-color 0.15s ease;
}

#doska .wpforms-container .wpforms-field-gdpr-checkbox .wpforms-field-label-inline::before,
#doska .wpforms-container .wpforms-field-checkbox .wpforms-field-label-inline::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: block;
	width: 26px;
	height: 26px;
	margin: 0;
	border: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%231b1d1c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 17px 17px;
	opacity: 0;
	transform: none;
}

#doska .wpforms-container .wpforms-field-gdpr-checkbox input[type="checkbox"]:checked + .wpforms-field-label-inline::after,
#doska .wpforms-container .wpforms-field-checkbox input[type="checkbox"]:checked + .wpforms-field-label-inline::after {
	border-color: var(--chalk);
	background: var(--chalk);
	box-shadow: none;
}

#doska .wpforms-container .wpforms-field-gdpr-checkbox input[type="checkbox"]:checked + .wpforms-field-label-inline::before,
#doska .wpforms-container .wpforms-field-checkbox input[type="checkbox"]:checked + .wpforms-field-label-inline::before {
	opacity: 1;
}

#doska .wpforms-container .wpforms-field-gdpr-checkbox input[type="checkbox"]:focus-visible + .wpforms-field-label-inline::after,
#doska .wpforms-container .wpforms-field-checkbox input[type="checkbox"]:focus-visible + .wpforms-field-label-inline::after {
	outline: 2px solid var(--chalk);
	outline-offset: 3px;
}

#doska .wpforms-container .wpforms-field-gdpr-checkbox input[type="checkbox"].wpforms-error + .wpforms-field-label-inline::after,
#doska .wpforms-container .wpforms-field-checkbox input[type="checkbox"].wpforms-error + .wpforms-field-label-inline::after {
	border-color: var(--alert);
	box-shadow: 0 0 0 1px var(--alert);
}

@media (max-width: 600px) {
	#doska .wpforms-container .wpforms-field-gdpr-checkbox .wpforms-field-label-inline,
	#doska .wpforms-container .wpforms-field-checkbox .wpforms-field-label-inline {
		min-height: 30px;
		padding: 3px 0 0 46px;
		font-size: 1.0625rem;
	}

	#doska .wpforms-container .wpforms-field-gdpr-checkbox .wpforms-field-label-inline::after,
	#doska .wpforms-container .wpforms-field-checkbox .wpforms-field-label-inline::after,
	#doska .wpforms-container .wpforms-field-gdpr-checkbox .wpforms-field-label-inline::before,
	#doska .wpforms-container .wpforms-field-checkbox .wpforms-field-label-inline::before {
		width: 30px;
		height: 30px;
	}

	#doska .wpforms-container .wpforms-field-gdpr-checkbox .wpforms-field-label-inline::before,
	#doska .wpforms-container .wpforms-field-checkbox .wpforms-field-label-inline::before {
		background-size: 19px 19px;
	}
}

#doska .wpforms-container a {
	color: var(--chalk);
	text-decoration: underline;
	text-underline-offset: 3px;
}

#doska .wpforms-confirmation-container-full,
#doska div[submit-success] > .wpforms-confirmation-container-full:not(.wpforms-redirection-message) {
	margin: 0;
	padding: 24px;
	border: 1px solid var(--chalk-line);
	border-radius: var(--round);
	background: transparent;
	color: var(--chalk);
}

.doubt {
	padding: 0 var(--gutter) var(--space);
}

.doubt__inner {
	display: grid;
	gap: clamp(36px, 5vw, 56px);
	max-width: var(--wide);
	margin: 0 auto;
}

.doubt__text {
	display: grid;
	gap: 22px;
}

.doubt__text p {
	max-width: 36ch;
	color: var(--chalk-soft);
}

.doubt__list {
	display: grid;
	align-content: center;
	gap: 22px;
	padding: 0;
	list-style: none;
}

.doubt__list li {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	font: 500 clamp(1.625rem, 2.6vw, 2rem)/1.2 var(--hand);
}

.tick {
	flex: none;
	width: 1.1em;
	height: 1.1em;
	overflow: visible;
}

.tick path {
	fill: none;
	stroke: var(--chalk);
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
	filter: url(#chalk-edge);
}

@media (min-width: 900px) {
	.doubt__inner {
		grid-template-columns: 6fr 5fr;
		align-items: center;
		gap: clamp(48px, 7vw, 112px);
	}
}

.about {
	padding: 0 var(--gutter) var(--space);
}

.about__inner {
	display: grid;
	gap: clamp(40px, 6vw, 72px);
	max-width: var(--wide);
	margin: 0 auto;
	padding-top: clamp(48px, 7vw, 88px);
	border-top: 1px solid var(--chalk-line);
}

.about__text {
	display: grid;
	gap: 22px;
}

.about__text p {
	max-width: 38ch;
	color: var(--chalk-soft);
	text-wrap: pretty;
}

.about__note {
	align-self: center;
	max-width: 16ch;
	font: 500 clamp(2rem, 4vw, 3.1rem)/1.15 var(--hand);
	color: var(--chalk);
	transform: rotate(-2.5deg);
	transform-origin: left center;
}

@media (min-width: 900px) {
	.about__inner {
		grid-template-columns: 7fr 5fr;
		gap: clamp(48px, 7vw, 112px);
	}
}

.why {
	padding: 0 var(--gutter) var(--space);
}

.why__inner {
	display: grid;
	gap: clamp(32px, 4vw, 48px);
	max-width: 44rem;
	margin: 0 auto;
}

.why__body {
	display: grid;
	gap: 22px;
}

.why__body p {
	color: var(--chalk-soft);
	text-wrap: pretty;
}

.why__body .why__last {
	padding-top: 22px;
	border-top: 1px solid var(--chalk-line);
	color: var(--chalk);
	font: 500 clamp(1.25rem, 2.2vw, 1.6rem)/1.4 var(--serif);
}

.path {
	padding: 0 var(--gutter) var(--space);
}

.path__inner {
	max-width: var(--wide);
	margin: 0 auto;
}

.path__list {
	display: grid;
	gap: 36px;
	margin-top: clamp(36px, 5vw, 60px);
	padding: 0;
	list-style: none;
}

.path__step {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 20px;
	row-gap: 6px;
}

.path__num {
	grid-row: span 2;
	min-width: 1ch;
	font: 600 clamp(3.4rem, 6vw, 4.6rem)/0.9 var(--hand);
	color: var(--chalk);
}

.path__step h3 {
	align-self: end;
	font: 600 1.25rem/1.3 var(--sans);
}

.path__step p {
	max-width: 32ch;
	color: var(--chalk-soft);
}

@media (min-width: 900px) {
	.path__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(32px, 4vw, 56px);
	}

	.path__step {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto 1fr;
		row-gap: 14px;
	}

	.path__num {
		grid-row: auto;
	}

	.path__step h3 {
		align-self: start;
	}
}

.coda {
	padding: var(--space) var(--gutter);
	border-top: 1px solid var(--chalk-line);
}

.coda__inner {
	display: grid;
	justify-items: start;
	gap: 28px;
	max-width: var(--wide);
	margin: 0 auto;
}

.coda__title {
	max-width: 15ch;
	font: 500 clamp(2.3rem, 6vw, 5rem)/1.05 var(--serif);
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.coda__text {
	max-width: 38ch;
	color: var(--chalk-soft);
}

.coda .btn {
	margin-top: 8px;
}

.foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 28px;
	padding: 28px var(--gutter) max(28px, env(safe-area-inset-bottom));
	border-top: 1px solid var(--chalk-line);
	color: var(--chalk-dim);
	font-size: 0.9375rem;
	text-align: center;
}

.foot a {
	color: var(--chalk-soft);
	text-underline-offset: 3px;
}

.foot a:hover {
	color: var(--chalk);
}

.dock {
	position: fixed;
	right: 16px;
	bottom: max(16px, env(safe-area-inset-bottom));
	left: 16px;
	z-index: 50;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	border: 1.5px solid var(--chalk);
	border-radius: var(--round);
	background: var(--chalk);
	color: var(--board);
	font: 600 1.0625rem/1.1 var(--sans);
	text-decoration: none;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
	transform: translateY(calc(100% + 40px));
	visibility: hidden;
	transition: transform 0.3s ease, visibility 0s linear 0.3s;
}

.dock.dock--on {
	transform: none;
	visibility: visible;
	transition: transform 0.3s ease, visibility 0s;
}

@media (min-width: 900px) {
	.dock {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dock,
	.dock.dock--on {
		transition: none;
	}
}

.sheet {
	display: grid;
	align-items: center;
	min-height: calc(100vh - 80px);
	min-height: calc(100svh - 80px);
	padding: var(--space) var(--gutter);
}

.sheet__inner {
	display: grid;
	justify-items: start;
	gap: 24px;
	width: 100%;
	max-width: 44rem;
	margin: 0 auto;
}

.sheet__sign {
	font: 600 clamp(1.6rem, 2.6vw, 2.1rem)/1 var(--hand);
	color: var(--chalk-soft);
}

.sheet__title {
	font: 500 clamp(2.1rem, 6vw, 4.2rem)/1.06 var(--serif);
	letter-spacing: -0.015em;
	text-wrap: balance;
	overflow-wrap: break-word;
	hyphens: auto;
}

.sheet__lead {
	color: var(--chalk-soft);
	font-size: 1.1875rem;
}

.sheet__list {
	display: grid;
	gap: 16px;
	padding: 0;
	list-style: none;
}

.sheet__list li {
	position: relative;
	padding-left: 34px;
	color: var(--chalk-soft);
}

.sheet__list li::before {
	content: "—";
	position: absolute;
	top: -0.12em;
	left: 0;
	color: var(--chalk);
	font: 600 1.5rem/1.2 var(--hand);
}

.sheet .btn {
	margin-top: 12px;
}

.policy {
	gap: 16px;
}

.policy .sheet__title {
	font-size: clamp(1.75rem, 6vw, 3.6rem);
}

.policy__date {
	margin-bottom: 16px;
	color: var(--chalk-dim);
	font-size: 0.9375rem;
}

.policy h2 {
	margin-top: 30px;
	font: 500 clamp(1.4rem, 2.6vw, 1.8rem)/1.2 var(--serif);
}

.policy p,
.policy li {
	color: var(--chalk-soft);
	text-wrap: pretty;
}

.policy ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding-left: 1.25em;
}

.policy li::marker {
	color: var(--chalk-dim);
}

.policy strong {
	color: var(--chalk);
	font-weight: 600;
}

.policy code {
	color: var(--chalk);
	font-family: inherit;
}

.policy a:not(.btn) {
	color: var(--chalk);
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.policy__back {
	margin-top: 28px;
}
