html.kf-pqc-open,
html.kf-pqc-open body {
	overflow: hidden;
}

html.kf-pqc-open body {
	padding-right: var(--kf-pqc-sbw, 0);
}

.kf-pqc {
	--kf-pqc-mint: #b6ff9f;
	--kf-pqc-teal: #008d7d;
	--kf-pqc-obsidian: #1a1825;
	--kf-pqc-midnight: #0a0b2e;
}

.kf-pqc__bg {
	padding: 100px 80px;
	background: linear-gradient(180deg, rgba(182, 255, 159, 0) 0%, rgba(182, 255, 159, 0.5) 50%, rgba(182, 255, 159, 0) 100%);
}

.kf-pqc__card {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: 80px;
	box-sizing: border-box;
	border: 1px solid transparent;
	border-radius: 60px;
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(180deg, #008d7d, #b6ff9f) border-box;
	box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
	color: var(--kf-pqc-obsidian);
	text-align: center;
}

.kf-pqc__eyebrow {
	margin: 0 0 20px;
	font-size: var(--wp--preset--font-size--default);
	font-weight: 600;
	line-height: 20px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.kf-pqc__heading {
	margin: 0 0 20px;
	font-size: var(--wp--preset--font-size--x-60);
	font-weight: 300;
	line-height: 1;
	color: inherit;
}

.kf-pqc__intro {
	max-width: 960px;
	margin: 0 auto 60px;
	font-size: var(--wp--preset--font-size--x-20);
	line-height: 1.5;
}

.kf-pqc__start {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 15px;
	padding: 24px;
	overflow: hidden;
	isolation: isolate;
	border: 0;
	border-radius: 179px;
	background: var(--kf-pqc-mint);
	color: var(--kf-pqc-midnight);
	font: inherit;
	font-size: var(--wp--preset--font-size--x-20);
	font-weight: 600;
	line-height: 0.9;
	letter-spacing: -0.02em;
	cursor: pointer;
	transition: color 0.35s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
}

.kf-pqc__start::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background: #1a1a1a;
	transform: translateX(-101%);
	transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.kf-pqc__start-arrow {
	flex: none;
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.kf-pqc__start:hover,
.kf-pqc__start:focus-visible {
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(0, 141, 125, 0.3);
}

.kf-pqc__start:hover::before,
.kf-pqc__start:focus-visible::before {
	transform: translateX(0);
}

.kf-pqc__start:hover .kf-pqc__start-arrow,
.kf-pqc__start:focus-visible .kf-pqc__start-arrow {
	transform: translateX(5px);
}

.kf-pqc__start:active {
	transform: translateY(0) scale(0.97);
	transition-duration: 0.1s;
}

.kf-pqc__start:focus-visible {
	outline: 3px solid #5f61ff;
	outline-offset: 3px;
}

.kf-pqc-popup {
	position: fixed;
	inset: 0;
	z-index: 99990;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	box-sizing: border-box;
	background:
		linear-gradient(180deg, rgba(182, 255, 159, 0) 0%, rgba(182, 255, 159, 0.5) 50%, rgba(182, 255, 159, 0) 100%),
		rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: #1a1825;
	opacity: 0;
	transition: opacity 0.3s ease;
	overscroll-behavior: contain;
}

.kf-pqc-popup[hidden] {
	display: none;
}

.kf-pqc-popup.is-open {
	opacity: 1;
}

.kf-pqc-popup__frame {
	position: relative;
	display: flex;
	width: 100%;
	max-width: 1280px;
	max-height: calc(100vh - 48px);
	max-height: calc(100dvh - 48px);
}

.kf-pqc-popup__close {
	position: absolute;
	top: -16px;
	right: -16px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #1a1825;
	color: #fff;
	cursor: pointer;
	transition: background-color 0.25s ease, transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.kf-pqc-popup__close[hidden] {
	display: none;
}

.kf-pqc-popup__close:hover {
	background: #008d7d;
	transform: rotate(90deg);
}

.kf-pqc-popup__close:focus-visible {
	outline: 3px solid #5f61ff;
	outline-offset: 2px;
}

.kf-pqc-popup__panel {
	flex: 1;
	min-width: 0;
	min-height: 0;
	overflow-y: auto;
	box-sizing: border-box;
	border: 1px solid transparent;
	border-radius: 20px;
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(180deg, #008d7d, #b6ff9f) border-box;
	box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
	outline: none;
	opacity: 0;
	transform: translateY(28px) scale(0.98);
	transition: opacity 0.35s ease, transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.kf-pqc-popup.is-open .kf-pqc-popup__panel {
	opacity: 1;
	transform: none;
}

.kf-pqc-screen {
	box-sizing: border-box;
}

.kf-pqc-screen[hidden] {
	display: none;
}

.kf-pqc-screen.is-entering {
	animation: kf-pqc-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes kf-pqc-in {
	from {
		opacity: 0;
		transform: translateY(16px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.kf-pqc-screen--questions {
	display: flex;
	flex-direction: column;
	gap: 60px;
	padding: 80px;
}

.kf-pqc-progress {
	position: relative;
	flex: none;
	height: 10px;
	box-sizing: border-box;
	border: 1px solid #fff;
	border-radius: 15px;
	background: rgba(10, 11, 46, 0.1);
	box-shadow: inset 0 4px 4px rgba(10, 11, 46, 0.1);
	overflow: hidden;
}

.kf-pqc-progress__fill {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0;
	overflow: hidden;
	border-radius: 15px;
	background: linear-gradient(90deg, #b6ff9f, #008d7d);
	transition: width 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.kf-pqc-progress__fill::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, 0.55) 50%, transparent 80%);
	transform: translateX(-100%);
	animation: kf-pqc-sheen 2.4s ease-in-out infinite;
}

@keyframes kf-pqc-sheen {
	to {
		transform: translateX(100%);
	}
}

.kf-pqc-q {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.kf-pqc-q.is-swapping {
	opacity: 0;
	transform: translateX(-14px);
}

.kf-pqc-q__title {
	float: left;
	width: 100%;
	margin: 0 0 40px;
	padding: 0;
	font-size: var(--wp--preset--font-size--x-24);
	font-weight: 600;
	line-height: 1.2;
	color: #1a1825;
}

.kf-pqc-q__title + * {
	clear: both;
}

.kf-pqc-q__answers {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.kf-pqc-answer {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(10, 11, 46, 0.15);
	font-size: var(--wp--preset--font-size--x-18);
	line-height: 1.5;
	cursor: pointer;
}

.kf-pqc-answer:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.kf-pqc-answer__input {
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.kf-pqc-answer__mark {
	position: relative;
	flex: none;
	align-self: flex-start;
	width: 20px;
	height: 20px;
	margin-top: 4px;
	border-radius: 50%;
	background: rgba(0, 141, 125, 0.25);
	transition: background-color 0.25s ease, transform 0.25s ease;
}

.kf-pqc-answer__mark::after {
	content: "";
	position: absolute;
	inset: 4px;
	border-radius: 50%;
	background: #b6ff9f;
	transform: scale(0);
	transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.kf-pqc-answer:hover .kf-pqc-answer__mark {
	background: rgba(0, 141, 125, 0.45);
	transform: scale(1.08);
}

.kf-pqc-answer__input:checked + .kf-pqc-answer__mark {
	background: #55c28c;
}

.kf-pqc-answer__input:checked + .kf-pqc-answer__mark::after {
	transform: scale(1);
}

.kf-pqc-answer__input:focus-visible + .kf-pqc-answer__mark {
	outline: 2px solid #5f61ff;
	outline-offset: 2px;
}

.kf-pqc-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.kf-pqc-nav__btn {
	padding: 10px 24px;
	border: 0;
	border-radius: 49px;
	background: #1a1825;
	color: #fff;
	font: inherit;
	font-size: var(--wp--preset--font-size--default);
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.3s ease, opacity 0.3s ease, transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.kf-pqc-nav__btn:hover:not(:disabled) {
	background: #008d7d;
	transform: translateY(-1px);
}

.kf-pqc-nav__btn:active:not(:disabled) {
	transform: scale(0.96);
}

[data-pqc-back].kf-pqc-nav__btn {
	border: 2px solid #1a1825;
	background: transparent;
	color: #1a1825;
}

[data-pqc-back].kf-pqc-nav__btn:hover:not(:disabled) {
	border-color: #008d7d;
	background: #008d7d;
	color: #fff;
}

.kf-pqc-nav__btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.kf-pqc-nav__btn:focus-visible {
	outline: 3px solid #5f61ff;
	outline-offset: 3px;
}

.kf-pqc-screen--calc {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: min(893px, calc(100vh - 50px));
	min-height: min(893px, calc(100dvh - 50px));
	padding: 40px 20px;
}

.kf-pqc-calc {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 240px;
	height: 240px;
}

.kf-pqc-calc__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	text-align: center;
}

.kf-pqc-calc__anim {
	width: var(--kf-pqc-calc-width, 70px);
	aspect-ratio: 1;
}

.kf-pqc-calc__anim > svg {
	display: block;
	width: 100%;
	height: 100%;
}

.kf-pqc-calc__text {
	width: min-content;
	margin: 0;
	font-size: var(--wp--preset--font-size--x-32);
	font-weight: 500;
	line-height: 0.9;
	letter-spacing: -0.02em;
	color: #1a1825;
}

.kf-pqc-screen--results {
	padding: 0;
}

.kf-pqc-results {
	--kf-pqc-pad: 80px;
	padding: 0 var(--kf-pqc-pad) 40px;
	color: #1a1825;
}

.kf-pqc-results.kf-pqc-results > * + *,
.kf-pqc-results.kf-pqc-results > .acf-innerblocks-container > * + * {
	margin-top: 0px;
}

.kf-pqc-results.kf-pqc-results > :first-child + *,
.kf-pqc-results.kf-pqc-results > .acf-innerblocks-container > :first-child + * {
	margin-top: 0px;
}

.kf-pqc-results h2,
.kf-pqc-results h3 {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-32);
	font-weight: 500;
	line-height: 1.2;
	color: #1a1825;
}

.kf-pqc-results p {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-20);
	line-height: 1.5;
}

.kf-pqc-results.kf-pqc-results > h2 + p,
.kf-pqc-results.kf-pqc-results > .acf-innerblocks-container > h2 + p,
.kf-pqc-results.kf-pqc-results .wp-block-column > h2 + p {
	margin-top: 8px;
}

.kf-pqc-results.kf-pqc-results > p + .kf-pqc-table,
.kf-pqc-results.kf-pqc-results > .acf-innerblocks-container > p + .kf-pqc-table,
.kf-pqc-results.kf-pqc-results .wp-block-column > p + .kf-pqc-focus {
	margin-top: 24px;
}

.kf-pqc-results .wp-block-columns {
	gap: 24px;
	margin-bottom: 0;
}

.kf-pqc-results.kf-pqc-results .wp-block-column > * + * {
	margin-top: 16px;
}

.kf-pqc-results .wp-block-image {
	margin: 0;
}

.kf-pqc-results .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 24px;
}

.kf-pqc-results p.kf-pqc-download {
	max-width: 854px;
	margin-inline: auto;
	opacity: 0.8;
	font-size: var(--wp--preset--font-size--x-20);
	line-height: 1.25;
	text-align: center;
}

.kf-pqc-results.kf-pqc-results > .kf-pqc-download + .wp-block-acf-kf-form-popup,
.kf-pqc-results.kf-pqc-results > .acf-innerblocks-container > .kf-pqc-download + .wp-block-acf-kf-form-popup {
	display: flex;
	width: fit-content;
	margin: 16px auto 0;
}

.kf-pqc-results p.kf-pqc-disclaimer {
	opacity: 0.8;
}

.kf-pqc-callout {
	padding: 40px;
	border-radius: 20px;
	background: #0a0b2e;
	color: #fff;
}

.kf-pqc-callout .wp-block-columns {
	align-items: center;
	gap: 33px;
}

.kf-pqc-callout .wp-block-column:first-child {
	position: relative;
	padding-left: 34px;
}

.kf-pqc-callout .wp-block-column:first-child::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 26px;
	height: 26px;
	background: url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.2292 4.375H12.7541C16.4361 4.375 18.2772 4.375 18.976 5.03631C19.5802 5.60795 19.8478 6.45005 19.6848 7.26559C19.4961 8.20907 17.993 9.27219 14.9869 11.3984L10.0756 14.8724C7.06946 16.9986 5.5664 18.0618 5.37772 19.0053C5.21462 19.8208 5.48234 20.6628 6.08643 21.2345C6.78531 21.8958 8.62635 21.8958 12.3084 21.8958H13.4375M8 4.375C8 6.37703 6.37703 8 4.375 8C2.37297 8 0.75 6.37703 0.75 4.375C0.75 2.37297 2.37297 0.75 4.375 0.75C6.37703 0.75 8 2.37297 8 4.375ZM24.9167 21.2917C24.9167 23.2938 23.2938 24.9167 21.2917 24.9167C19.2896 24.9167 17.6667 23.2938 17.6667 21.2917C17.6667 19.2896 19.2896 17.6667 21.2917 17.6667C23.2938 17.6667 24.9167 19.2896 24.9167 21.2917Z' stroke='%2395FFEC' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}

.kf-pqc-callout h3 {
	margin-bottom: 15px;
	font-size: var(--wp--preset--font-size--x-24);
	font-weight: 600;
	color: #95ffec;
}

.kf-pqc-callout p {
	font-size: var(--wp--preset--font-size--x-20);
	line-height: 1.2;
	color: #fff;
}

.kf-pqc-callout .wp-block-acf-kf-buttons,
.kf-pqc-callout .wp-block-acf-kf-buttons > .acf-innerblocks-container {
	justify-content: flex-end;
}

.kf-pqc-retake {
	padding: 0 var(--kf-pqc-pad, 80px) 56px;
	text-align: center;
}

.kf-pqc-retake__btn {
	padding: 4px 2px;
	border: 0;
	background: none;
	color: #008d7d;
	font: inherit;
	font-size: var(--wp--preset--font-size--default);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 4px;
	cursor: pointer;
}

.kf-pqc-retake__btn:hover {
	color: #1a1825;
}

.kf-pqc-retake__btn:focus-visible {
	outline: 3px solid #5f61ff;
	outline-offset: 3px;
}

.kf-pqc-link[hidden] {
	display: none;
}

.kf-pqc-link__label {
	display: block;
	margin-bottom: 12px;
	font-size: var(--wp--preset--font-size--default);
	font-weight: 600;
}

.kf-pqc-link__row {
	display: flex;
	gap: 12px;
}

.kf-pqc-link__input {
	flex: 1;
	min-width: 0;
	padding: 14px 16px;
	border: 1px solid #c9ccd6;
	border-radius: 12px;
	background: #f6f7f9;
	color: #1a1825;
	font: inherit;
	font-size: var(--wp--preset--font-size--default);
}

.kf-pqc-link__copy {
	flex: none;
	padding: 14px 24px;
	border: 0;
	border-radius: 12px;
	background: #0a0b2e;
	color: #fff;
	font: inherit;
	font-size: var(--wp--preset--font-size--default);
	font-weight: 600;
	cursor: pointer;
}

.kf-pqc-link__copy:hover {
	background: #2d2f8f;
}

.kf-pqc-link__input:focus-visible,
.kf-pqc-link__copy:focus-visible {
	outline: 3px solid #5f61ff;
	outline-offset: 2px;
}

.kf-pqc-result-notice {
	max-width: 640px;
	margin: 0 auto;
	padding: 80px 24px;
	color: #1a1825;
	text-align: center;
}

.kf-pqc-result-notice h1 {
	margin: 0 0 16px;
	font-size: var(--wp--preset--font-size--x-32);
	font-weight: 500;
}

.kf-pqc-result-notice p {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-20);
	line-height: 1.5;
}

@media (max-width: 1024px) {
	.kf-pqc__bg {
		padding: 72px 40px;
	}

	.kf-pqc__card {
		padding: 56px 40px;
		border-radius: 44px;
	}

	.kf-pqc-screen--questions {
		gap: 40px;
		padding: 56px 40px;
	}

	.kf-pqc-results {
		--kf-pqc-pad: 40px;
	}

	.kf-pqc-callout {
		padding: 32px;
	}
}

@media (max-width: 767px) {
	.kf-pqc__bg {
		padding: 48px 16px;
	}

	.kf-pqc__card {
		padding: 40px 20px;
		border-radius: 32px;
	}

	.kf-pqc__intro {
		margin-bottom: 36px;
	}

	.kf-pqc-popup {
		padding: 12px;
	}

	.kf-pqc-popup__frame {
		max-height: calc(100vh - 24px);
		max-height: calc(100dvh - 24px);
	}

	.kf-pqc-popup__close {
		top: -8px;
		right: -4px;
	}

	.kf-pqc-popup__panel {
		border-radius: 16px;
	}

	.kf-pqc-screen--questions {
		gap: 28px;
		padding: 40px 20px 28px;
	}

	.kf-pqc-q__title {
		margin-bottom: 28px;
	}

	.kf-pqc-q__answers {
		gap: 16px;
	}

	.kf-pqc-results {
		--kf-pqc-pad: 20px;
		padding-bottom: 28px;
	}

	.kf-pqc-results.kf-pqc-results > * + *,
	.kf-pqc-results.kf-pqc-results > .acf-innerblocks-container > * + * {
		margin-top: 32px;
	}

	.kf-pqc-callout {
		padding: 24px 20px;
	}

	.kf-pqc-callout .wp-block-columns {
		gap: 20px;
	}

	.kf-pqc-callout .wp-block-acf-kf-buttons,
	.kf-pqc-callout .wp-block-acf-kf-buttons > .acf-innerblocks-container {
		justify-content: flex-start;
	}

	.kf-pqc-retake {
		padding-bottom: 40px;
	}

	.kf-pqc-link__row {
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kf-pqc__start,
	.kf-pqc__start::before,
	.kf-pqc-popup,
	.kf-pqc-popup__panel,
	.kf-pqc-progress__fill,
	.kf-pqc-q,
	.kf-pqc-answer__mark,
	.kf-pqc-answer__mark::after {
		transition-duration: 0.01ms;
	}

	.kf-pqc-screen.is-entering,
	.kf-pqc-progress__fill::after {
		animation: none;
	}
}

.kf-pqc-results .pdf-only {
	display: none;
}

.kf-pqc-bar {
	position: sticky;
	top: 0;
	z-index: 20;
	box-sizing: border-box;
	height: 32px;
	padding: 2px 1px;
	background: #38383d;
	box-shadow: 0 1px 0 #0c0c0d;
}

.kf-pqc-bar__inner {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
	margin: 0 20px;
}

.kf-pqc-bar__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 100%;
	padding: 0 10px;
	border: 0;
	border-radius: 2px;
	background: none;
	color: #f9f9fa;
	font: inherit;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
}

.kf-pqc-bar__btn svg {
	opacity: 0.7;
}

.kf-pqc-bar__btn:hover {
	background: color-mix(in srgb, currentColor 17%, transparent);
}

.kf-pqc-bar__btn:hover svg {
	opacity: 1;
}

.kf-pqc-bar__btn:focus-visible {
	outline: 2px solid #f9f9fa;
	outline-offset: -2px;
}

.kf-pqc-bar__btn[aria-busy="true"] {
	cursor: progress;
}

.kf-pqc-bar__btn[aria-busy="true"] svg {
	animation: kf-pqc-bar-pulse 0.9s ease-in-out infinite alternate;
}

@keyframes kf-pqc-bar-pulse {
	to {
		opacity: 0.2;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kf-pqc-bar__btn[aria-busy="true"] svg {
		animation: none;
	}
}
