/*
Theme Name: Qognity Blocks
Template: twentytwentyfive
Description: Qognity brand settings for the block editor. Colours, fonts and sizes are taken from the site's Elementor kit.
Version: 0.13.4
*/

/*
 * Only what theme.json cannot express lives here: hover states, the menu underline,
 * and changes at phone width. Values come from docs/header-footer.md.
 */

/* Footer */

.qognity-footer-links p {
	margin: 0;
	font-size: 15px;
	font-weight: 300;
	line-height: 21px;
}

.qognity-footer-links a {
	color: var(--wp--preset--color--white-soft);
	text-decoration: none;
}

.qognity-footer-links a:hover,
.qognity-footer-links a:focus {
	color: var(--wp--preset--color--teal-soft);
}

.qognity-footer-social.wp-block-social-links {
	margin: 0;
}

.qognity-footer-social .wp-social-link {
	font-size: 18px;
}

.qognity-footer-social .wp-social-link a {
	padding: 9px;
}

@media (max-width: 1024px) {
	/* The block sets 90px/70px inline for desktop; the live footer uses 60px on tablets. */
	.qognity-footer.wp-block-group {
		padding-top: 60px !important;
		padding-bottom: 60px !important;
	}
}

@media (max-width: 767px) {
	/* The live footer uses 50px on phones. */
	.qognity-footer.wp-block-group {
		padding-top: 50px !important;
		padding-bottom: 50px !important;
	}

	.qognity-footer-links {
		flex-direction: column;
		gap: 14px;
	}
}

/* Header */

.qognity-header-logo {
	padding: 10px;
}

/* The live logo scales with the screen: 15% of the bar's inner width on desktop. */
.qognity-header-logo img {
	width: calc(92vw * 0.1502 - 20px) !important;
	height: auto !important;
}

.qognity-header .qognity-menu .wp-block-navigation-item__content.wp-block-navigation-item__content {
	position: relative;
	padding: 13px 26px;
	line-height: 20px;
	color: var(--wp--preset--color--white-soft);
	text-decoration: none;
}

.qognity-header .qognity-menu .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
.qognity-header .qognity-menu .wp-block-navigation-item__content.wp-block-navigation-item__content:focus,
.qognity-header .qognity-menu .current-menu-item > .wp-block-navigation-item__content.wp-block-navigation-item__content {
	color: var(--wp--preset--color--white);
}

/* 3px bar under the item: teal for the current page, softer teal on hover. */
.qognity-header .qognity-menu .wp-block-navigation-item__content.wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background-color: transparent;
	transition: background-color 0.3s;
}

.qognity-header .qognity-menu .wp-block-navigation-item__content.wp-block-navigation-item__content:hover::after {
	background-color: var(--wp--preset--color--teal-soft);
}

.qognity-header .qognity-menu .current-menu-item > .wp-block-navigation-item__content.wp-block-navigation-item__content::after {
	background-color: var(--wp--preset--color--teal);
}

.qognity-header-icons {
	display: flex;
	gap: 36px;
	padding-right: 16px;
}

.qognity-round-icon {
	display: inline-flex;
	box-sizing: border-box;
	width: 38px;
	height: 38px;
	padding: 9px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--white);
	transition: transform 0.3s;
}

.qognity-round-icon:hover,
.qognity-round-icon:focus {
	transform: scale(1.1);
	color: var(--wp--preset--color--white);
}

.qognity-round-icon svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

/* Menu button and open menu, used up to 1024px as on the live site. */
.qognity-menu .wp-block-navigation__responsive-container-open,
.qognity-menu .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--white);
}

.qognity-menu .wp-block-navigation__responsive-container-open:hover {
	color: var(--wp--preset--color--teal);
}

.qognity-menu .wp-block-navigation__responsive-container-open {
	box-sizing: border-box;
	width: 33px;
	height: 33px;
	padding: 5.5px;
	border-radius: 3px;
	background-color: rgba(0, 0, 0, 0.05);
}

/* Same three-bar icon as the live site, drawn in the current colour. */
.qognity-menu .wp-block-navigation__responsive-container-open svg {
	display: none;
}

.qognity-menu .wp-block-navigation__responsive-container-open::before {
	content: "";
	display: block;
	width: 22px;
	height: 22px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000'%3E%3Cpath d='M104 333H896C929 333 958 304 958 271S929 208 896 208H104C71 208 42 237 42 271S71 333 104 333ZM104 583H896C929 583 958 554 958 521S929 458 896 458H104C71 458 42 487 42 521S71 583 104 583ZM104 833H896C929 833 958 804 958 771S929 708 896 708H104C71 708 42 737 42 771S71 833 104 833Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000'%3E%3Cpath d='M104 333H896C929 333 958 304 958 271S929 208 896 208H104C71 208 42 237 42 271S71 333 104 333ZM104 583H896C929 583 958 554 958 521S929 458 896 458H104C71 458 42 487 42 521S71 583 104 583ZM104 833H896C929 833 958 804 958 771S929 708 896 708H104C71 708 42 737 42 771S71 833 104 833Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.qognity-menu .wp-block-navigation__responsive-container.is-menu-open {
	border-top: 2px solid var(--wp--preset--color--white-faint);
}

.qognity-menu .is-menu-open .wp-block-navigation__responsive-container-content,
.qognity-menu .is-menu-open .wp-block-navigation__container {
	align-items: center !important;
	justify-content: flex-start;
	width: 100%;
}

.qognity-menu .is-menu-open .wp-block-navigation__container {
	gap: 0 !important;
}

.qognity-menu .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--teal);
}

.qognity-header .qognity-menu .is-menu-open .wp-block-navigation-item__content.wp-block-navigation-item__content {
	padding: 12px 4px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--wp--preset--color--white);
}

.qognity-header .qognity-menu .is-menu-open .current-menu-item > .wp-block-navigation-item__content.wp-block-navigation-item__content {
	color: var(--wp--preset--color--teal);
}

.qognity-header .qognity-menu .is-menu-open .wp-block-navigation-item__content.wp-block-navigation-item__content::after {
	display: none;
}

/*
 * Tablet (768-1024px): 20px padding, logo 20% of the inner width, menu button centred.
 * Phone (up to 767px): menu button at the right, round icons hidden.
 */
@media (max-width: 1024px) {
	.qognity-header.wp-block-group {
		position: relative;
		padding: 20px !important;
	}

	.qognity-header-logo {
		padding: 0;
	}

	.qognity-header-logo img {
		width: calc((100vw - 40px) * 0.2) !important;
	}

	.qognity-header-main .qognity-menu {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}
}

@media (min-width: 600px) and (max-width: 1024px) {
	.qognity-menu .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.qognity-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

@media (max-width: 767px) {
	.qognity-header.wp-block-group {
		padding: 20px 10px !important;
	}

	.qognity-header-logo img {
		width: calc((100vw - 20px) * 0.4) !important;
	}

	.qognity-header-main .qognity-menu {
		position: static;
		transform: none;
		margin-left: auto;
	}

	.qognity-header-main {
		flex: 1;
	}

	.qognity-header-icons {
		display: none;
	}
}.qognity-btn-285 {
	max-width: 100%;
}

.qognity-btn-285 .wp-block-button__link {
	width: 285px;
	max-width: 100%;
}

/* "Read our blog" is 22% of its row on the live site. */
.wp-block-buttons > .qognity-btn-285 {
	width: 22%;
}

.wp-block-buttons > .qognity-btn-285 .wp-block-button__link {
	width: 100%;
}

.qognity-btn-360,
.qognity-btn-251 {
	max-width: 100%;
}

.qognity-btn-360 .wp-block-button__link {
	width: 360px;
	max-width: 100%;
}

.qognity-btn-251 .wp-block-button__link {
	width: 251px;
	max-width: 100%;
}

/* Buttons in a centred column band span the row, so percentage widths work. */
.qognity-trust.wp-block-group {
	flex-wrap: nowrap;
}

.qognity-trust > .wp-block-buttons {
	align-self: stretch;
}

/* Soft glow on page titles, as on the live site. */
.qognity-glow {
	text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

.qognity-principles {
	margin: 0;
	padding-left: 40px;
}

.qognity-principles li + li {
	margin-top: 14px;
}

.qognity-narrow-778 {
	max-width: 778px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.qognity-w-846 {
	max-width: 846px;
}

.qognity-w-495 {
	max-width: 495px;
}

.qognity-card > * {
	margin-top: 0;
}

.qognity-card h3 {
	margin-bottom: 15px;
}

/* Round icon with a teal fade, used for "Tailored Agents for Every Industry". */
.qognity-agent-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 146px;
	height: 146px;
	margin: 0 auto;
	border-radius: 50%;
	background: linear-gradient(180deg, #27BDC3 40%, rgba(248, 195, 208, 0) 100%);
}

.qognity-agent-icon svg {
	width: 120px;
	height: 120px;
	fill: var(--wp--preset--color--white-soft);
}

/* Blog cards */

.qognity-posts {
	padding: 0 25px;
}

.qognity-post-card .wp-block-post-featured-image img {
	object-fit: cover;
}

/* As on the live site, an image is never stretched beyond its own width. */
.qognity-post-card .wp-block-post-featured-image img {
	width: auto !important;
	max-width: 100%;
}

.qognity-post-title {
	margin: 8px 0 16px !important;
	font-family: var(--wp--preset--font-family--body);
	font-size: 22px;
	font-weight: 300;
	line-height: 26.4px;
}

.qognity-post-title a {
	color: rgba(24, 19, 51, 0.69);
	text-decoration: none;
}

.qognity-post-meta {
	row-gap: 0 !important;
	font-size: 13px;
	font-weight: 300;
	line-height: 19.5px;
	text-transform: uppercase;
	color: var(--wp--preset--color--black);
}

.qognity-post-meta .wp-block-post-author-name::before {
	content: "Posted by ";
}

.qognity-post-meta a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.qognity-post-excerpt {
	margin: 13px 0 15px !important;
	font-size: 15px;
	font-weight: 300;
	line-height: 22.5px;
	color: #333333;
}

.qognity-post-excerpt p {
	margin: 0;
}

.qognity-read-more.wp-block-read-more {
	display: inline-block;
	padding: 13px 22px 14px;
	background: linear-gradient(180deg, #27BDC3 0%, rgba(39, 189, 195, 0.76) 100%);
	color: var(--wp--preset--color--white);
	font-size: 11px;
	font-weight: 600;
	line-height: 12.1px;
	text-decoration: none;
}

/* Column widths include their padding, as Elementor's do. */
.wp-block-columns > .wp-block-column {
	box-sizing: border-box;
}

/* Cards in a row are as tall as the tallest, as on the live site. */
.qognity-posts .wp-block-post-template > li {
	display: flex;
}

.qognity-posts .qognity-post-card {
	flex: 1;
}

/*
 * Tablet and phone. Elementor switches at 1024px and 767px; these match its values.
 * Blocks carry desktop values inline, so these rules need !important.
 */
@media (max-width: 1024px) {
	.qognity-hero.wp-block-cover {
		padding-bottom: 50px !important;
	}

	.qognity-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.qognity-card.wp-block-group {
		min-height: 0 !important;
	}

	.qognity-why.wp-block-group {
		padding: 108px 6% !important;
	}

	.qognity-why-cols.wp-block-columns {
		flex-direction: column-reverse;
		flex-wrap: nowrap !important;
	}

	.qognity-why-cols > .wp-block-column {
		flex-basis: 100% !important;
	}

	.qognity-why-image.wp-block-group {
		min-height: 108px !important;
	}

	.qognity-why-text.wp-block-column {
		padding: 0 54px 72px !important;
	}

	.qognity-agents-section.wp-block-group {
		padding: 10% 5% !important;
	}

	.qognity-agents {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.qognity-blog-section.wp-block-group {
		padding-left: 5% !important;
		padding-right: 5% !important;
	}

	.qognity-posts .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0 !important;
	}

	/* The blog listing keeps 40px between cards on tablets (Home has none). */
	.qognity-blog-index .qognity-posts .wp-block-post-template {
		gap: 40px !important;
	}

	.qognity-expertise-inner.wp-block-group {
		padding: 5% 5% 15% !important;
	}

	.qognity-expertise-inner > .qognity-vision {
		margin-top: 44px !important;
	}
}

@media (max-width: 767px) {
	.qognity-display {
		font-size: 34px !important;
		line-height: 38px !important;
	}

	.qognity-sub {
		font-size: 24px !important;
		line-height: 24px !important;
	}

	.qognity-lead {
		font-size: 20px !important;
		line-height: 25px !important;
	}

	.qognity-hero.wp-block-cover {
		min-height: 640px !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.qognity-intro-section.wp-block-group {
		padding-top: 80px !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.qognity-features.wp-block-group {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.qognity-feature-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.qognity-why-text h2,
	.qognity-why-text p {
		text-align: center;
	}

	.qognity-why.wp-block-group {
		padding: 68px 6% !important;
	}

	.qognity-why-image.wp-block-group {
		min-height: 82px !important;
	}

	.qognity-why-text.wp-block-column {
		padding: 0 0 41px !important;
	}

	.qognity-agents-section.wp-block-group {
		padding: 78px 5% !important;
	}

	.qognity-agents {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 65px !important;
	}

	.qognity-posts {
		padding: 0;
	}

	.qognity-posts .wp-block-post-template,
	.qognity-blog-index .qognity-posts .wp-block-post-template {
		gap: 19px !important;
	}

	.qognity-expertise-inner.wp-block-group {
		padding: 39px 5% 97.5px !important;
	}

	.qognity-expertise-inner > .qognity-vision {
		margin-top: 0 !important;
	}
}

/* About page */

@media (max-width: 1024px) {
	.qognity-who.wp-block-group {
		padding: 90px 8% 134px !important;
	}

	.qognity-who-cols.wp-block-columns {
		flex-direction: column;
		flex-wrap: nowrap !important;
	}

	.qognity-who-cols > .wp-block-column {
		flex-basis: 100% !important;
	}

	.qognity-who-title.wp-block-column {
		min-height: 416px;
	}

	.qognity-who-text.wp-block-column {
		padding-left: 0 !important;
	}

	.qognity-team-cta.wp-block-cover {
		min-height: 334px !important;
	}

	.qognity-team-cta .wp-block-cover__image-background.has-parallax {
		background-attachment: scroll;
	}

	.wp-block-buttons > .qognity-btn-360 {
		width: 40%;
	}

	.wp-block-buttons > .qognity-btn-251 {
		width: 22%;
	}

	.qognity-btn-360 .wp-block-button__link,
	.qognity-btn-251 .wp-block-button__link {
		width: 100%;
	}

	.qognity-mission.wp-block-group {
		padding: 5% 5% 15% !important;
	}

	.qognity-mission.wp-block-group > * + * {
		margin-top: 44px !important;
	}

	.qognity-values {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 50px !important;
		padding: 0 !important;
	}

	.qognity-mission.wp-block-group > .qognity-values {
		margin-top: 58px !important;
	}

	.qognity-mission-head {
		padding-top: 8px;
	}
}

@media (max-width: 767px) {
	.qognity-who-title.wp-block-column {
		min-height: 208px;
	}

	.qognity-who.wp-block-group {
		padding: 84px 8% 122px !important;
	}

	.qognity-mission.wp-block-group > .qognity-values {
		margin-top: 44px !important;
	}

	.qognity-team-cta.wp-block-cover {
		min-height: 325px !important;
	}

	.qognity-mission.wp-block-group {
		padding: 39px 5% 97.5px !important;
	}

	.qognity-mission.wp-block-group > * + * {
		margin-top: 30px !important;
	}

	.qognity-values {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.qognity-value-title {
		font-size: 24px !important;
		line-height: 28.8px !important;
	}
}

/* On phones every fixed-width button is 92% of its row, as on the live site. */
@media (max-width: 767px) {
	.wp-block-buttons > .qognity-btn-285,
	.wp-block-buttons > .qognity-btn-360,
	.wp-block-buttons > .qognity-btn-251 {
		width: 92%;
	}
}

/* Our Team page */

.qognity-narrow-495 {
	max-width: 495px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.qognity-member {
	text-align: center;
}

.qognity-member > p {
	margin: 0;
}

.qognity-member-name {
	margin-top: 12px !important;
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
}

.qognity-member-role {
	font-size: 14px;
	font-weight: 300;
	line-height: 19.5px;
}

/* "View Bio / Info" opens the bio inside the card (the live site uses a popup). */
.qognity-member-bio {
	margin-top: 9px !important;
}

.qognity-member-bio summary {
	display: inline-block;
	list-style: none;
	cursor: pointer;
	color: var(--wp--preset--color--primary);
	font-size: 15px;
	font-weight: 300;
	line-height: 21px;
}

.qognity-member-bio summary::-webkit-details-marker {
	display: none;
}

.qognity-member-bio p {
	margin: 12px 20px 0;
	text-align: left;
	color: var(--wp--preset--color--black);
	font-size: 14px;
	line-height: 21px;
}

.qognity-member-social.wp-block-social-links {
	margin: 21px 0 0 !important;
}

.qognity-member-social .wp-social-link {
	border-radius: 10%;
	font-size: 19px;
}

.qognity-member-social .wp-social-link a {
	padding: 9.5px;
}

@media (max-width: 1024px) {
	.qognity-team-title.wp-block-column {
		min-height: 416px;
	}

	.qognity-team-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	.qognity-team-title.wp-block-column {
		min-height: 208px;
	}

	.qognity-team-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* Services page */

.qognity-w-526 {
	max-width: 526px;
}

/* Two app screenshots, the second overlapping the first at top left. */
.qognity-svc-shots {
	position: relative;
}

.qognity-shot img {
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
}

.qognity-shot-back {
	margin: 0;
}

.qognity-shot-back img {
	width: 100%;
}

@media (max-width: 1024px) {.qognity-svc-cols.wp-block-columns {
		flex-direction: column;
		flex-wrap: nowrap !important;
	}.qognity-svc-cols > .wp-block-column {
		flex-basis: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

@media (max-width: 1024px) {
	.qognity-svc-intro.wp-block-group {
		padding: 90px 8% 120px !important;
	}

	.qognity-w-526 {
		max-width: none;
	}

	/* The front screenshot sits 30px above its column; leave room so it never covers the text. */
	.qognity-svc-shots.wp-block-column {
		margin-top: 50px !important;
	}

}

@media (max-width: 767px) {
	.qognity-hero-subs.wp-block-group {
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}

	.qognity-svc-intro.wp-block-group {
		padding: 84px 8% 108px !important;
	}

}

/* Single post */

.qognity-single-image img {
	object-fit: cover;
}

.qognity-post-info {
	margin: 0;
	padding: 20px 0;
	border-bottom: 1px solid var(--wp--preset--color--white-faint);
	font-size: 15px;
	font-weight: 300;
	line-height: 22.5px;
	color: var(--wp--preset--color--white);
}

.qognity-post-info a {
	color: var(--wp--preset--color--white);
	text-decoration: none;
}

.qognity-share {
	display: flex;
	gap: 10px;
	padding: 30px 0;
	border-bottom: 1px solid var(--wp--preset--color--white-faint);
}

.qognity-share-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background-color: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--white);
}

.qognity-share-link svg {
	width: 13px;
	height: 13px;
	fill: currentColor;
}

.qognity-author-box {
	padding-top: 30px;
}

.qognity-author-box .wp-block-avatar img {
	border: 3px solid var(--wp--preset--color--teal);
	box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.65);
}

.qognity-author-name {
	margin-top: 26px !important;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 26px;
	font-weight: 400;
	line-height: 31.2px;
	color: var(--wp--preset--color--white);
}

.qognity-author-posts {
	display: inline-block;
	margin-top: 20px;
	color: var(--wp--preset--color--white);
	font-size: 15px;
	font-weight: 300;
	text-decoration: none;
}

/* Table of contents stays in view while the article scrolls, as on live. */
.qognity-toc {
	position: sticky;
	top: 0;
	padding: 20px 12px;
}

.qognity-toc-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	cursor: pointer;
	list-style: none;
	color: var(--wp--preset--color--white);
	font-size: 18px;
	font-weight: 600;
	line-height: 21.6px;
}

.qognity-toc-title::-webkit-details-marker {
	display: none;
}

/* Chevron: up when open, down when closed. */
.qognity-toc-title::after {
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid currentColor;
	border-left: 2px solid currentColor;
	transform: rotate(45deg);
}

.qognity-toc:not([open]) .qognity-toc-title::after {
	transform: rotate(225deg);
}

.qognity-toc ul {
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.qognity-toc li + li {
	margin-top: 7px;
}

.qognity-toc a {
	color: var(--wp--preset--color--white-soft);
	font-size: 14px;
	font-weight: 300;
	line-height: 21px;
	text-decoration: none;
}

.qognity-toc a:hover {
	color: var(--wp--preset--color--teal);
}

.qognity-toc .qognity-toc-level-2 {
	padding-left: 14px;
}

.qognity-article-content {
	color: var(--wp--preset--color--white-soft);
	font-size: 16px;
	line-height: 24px;
}

/* Spacing below each element, as on live (WordPress's default puts 20px above everything). */
.qognity-article-content.qognity-article-content > * {
	margin-top: 0;
	margin-bottom: 20px;
}

.qognity-article-content.qognity-article-content > .wp-block-spacer {
	margin-bottom: 0;
}

.qognity-article-content.qognity-article-content > h2,
.qognity-article-content.qognity-article-content > h3 {
	margin-top: 8px;
	margin-bottom: 16px;
}

.qognity-article-content.qognity-article-content > .wp-block-table {
	margin-bottom: 16px;
}

.qognity-article-content h2 {
	font-size: 36px;
	line-height: 43.2px;
}

/* Column widths as on live: contents 23%, article the rest, empty right column 20.3%. */
.qognity-single-body.wp-block-columns {
	gap: 0 !important;
}

.qognity-single-body > .qognity-toc-col.wp-block-column {
	flex: 0 0 23% !important;
	margin-right: 20px;
}

.qognity-single-body > .qognity-article.wp-block-column {
	flex: 1 1 0 !important;
}

.qognity-single-body > .wp-block-column:last-child {
	flex: 0 0 20.3% !important;
}

.qognity-article-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14.4px;
	line-height: 21.6px;
}

.qognity-article-content th,
.qognity-article-content td {
	padding: 8px;
	border: 1px solid var(--wp--preset--color--white-soft);
	vertical-align: top;
	text-align: left;
}

.qognity-article-content a {
	color: var(--wp--preset--color--teal);
}

.qognity-related-image img {
	border-radius: 5px;
	object-fit: cover;
}

@media (max-width: 1024px) {
	.qognity-single-top.wp-block-columns,
	.qognity-single-body.wp-block-columns {
		flex-wrap: nowrap !important;
	}

	.qognity-toc {
		padding: 12px;
	}
}

@media (max-width: 767px) {
	.qognity-single-top.wp-block-columns,
	.qognity-single-body.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.qognity-single-top > .wp-block-column,
	.qognity-single-body > .wp-block-column,
	.qognity-single-body > .qognity-toc-col.wp-block-column,
	.qognity-single-body > .qognity-article.wp-block-column,
	.qognity-single-body > .wp-block-column:last-child {
		flex: 0 0 100% !important;
		margin-right: 0;
	}

	.qognity-toc {
		position: static;
	}

	.qognity-article-title {
		font-size: 24px !important;
		line-height: 24px !important;
	}

	.qognity-related .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* Contact page */

.qognity-iconbox-icon {
	display: inline-flex;
	flex: none;
	width: 36px;
	height: 36px;
	margin-left: 2px;
}

.qognity-iconbox-icon svg {
	width: 36px;
	height: 36px;
}

.qognity-icon-teal svg {
	fill: var(--wp--preset--color--teal-soft);
}

.qognity-iconbox p {
	margin: 0;
}

/* Text starts at the top of the box; the icon stays centred. */
.qognity-iconbox > .wp-block-group {
	align-self: flex-start;
}

.qognity-iconbox h3 {
	margin-bottom: 0;
}

/* Faint thinking robot at the bottom right of the form section, as on live. */
.qognity-contact-form-section {
	position: relative;
}

.qognity-contact-form-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("assets/images/robot-thinking.png") 100% 100% / 16% auto no-repeat;
	opacity: 0.2;
	pointer-events: none;
}

.qognity-contact-form {
	position: relative;
	padding: 50px;
	border-radius: 8px;
	background-color: var(--wp--preset--color--navy);
}

.qognity-field {
	margin: 0 0 25px;
}

.qognity-field:last-child {
	margin-bottom: 0;
}

.qognity-field label {
	display: block;
	padding-bottom: 6px;
	color: var(--wp--preset--color--white-soft);
	font-size: 13px;
	font-weight: 300;
	line-height: 13px;
	text-transform: uppercase;
}

.qognity-required {
	color: var(--wp--preset--color--teal);
}

.qognity-field input,
.qognity-field textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 8px 16px;
	border: 1px solid var(--wp--preset--color--teal-soft);
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--white);
	font-family: inherit;
	font-size: 14px;
	font-weight: 300;
	line-height: 19.6px;
}

.qognity-field textarea {
	height: 90px;
	padding: 5px 14px;
	resize: vertical;
}

.qognity-field input::placeholder,
.qognity-field textarea::placeholder {
	color: var(--wp--preset--color--white-soft);
}

.qognity-field button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	height: 40px;
	padding: 0 24px;
	border: 1px solid var(--wp--preset--color--navy);
	border-radius: 8px;
	background-color: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--navy);
	cursor: pointer;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 3px;
	text-transform: uppercase;
}

.qognity-field button svg {
	width: 10px;
	height: 15px;
	fill: currentColor;
}

/* Reason options and app tick boxes */
fieldset.qognity-field {
	min-width: 0;
	padding: 0;
	border: 0;
}

.qognity-field legend {
	padding: 0 0 10px;
	color: var(--wp--preset--color--white-soft);
	font-size: 13px;
	font-weight: 300;
	line-height: 13px;
	text-transform: uppercase;
}

.qognity-field .qognity-reason {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 12px;
	margin-bottom: 8px;
	padding: 10px 14px;
	border: 1px solid var(--wp--preset--color--teal-soft);
	color: var(--wp--preset--color--white);
	cursor: pointer;
	font-size: 14px;
	line-height: 1.4;
	text-transform: none;
}

.qognity-field .qognity-reason:has(input:checked) {
	border-color: var(--wp--preset--color--teal);
	background-color: rgba(39, 189, 195, 0.12);
}

.qognity-field .qognity-reason input,
.qognity-field .qognity-check input {
	flex: none;
	width: auto;
	margin: 3px 0 0;
	padding: 0;
	accent-color: var(--wp--preset--color--teal);
}

.qognity-reason input {
	grid-row: span 2;
}

.qognity-reason-label {
	font-weight: 500;
}

.qognity-reason-text {
	color: var(--wp--preset--color--white-soft);
	font-size: 13px;
}

.qognity-apps {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
}

.qognity-apps legend {
	width: 100%;
}

.qognity-field .qognity-check {
	display: inline-flex;
	gap: 8px;
	align-items: flex-start;
	padding: 0;
	color: var(--wp--preset--color--white);
	cursor: pointer;
	font-size: 14px;
	line-height: 1.4;
	text-transform: none;
}

.qognity-form-small {
	margin: 16px 0 0;
	color: var(--wp--preset--color--white-soft);
	font-size: 13px;
	text-align: center;
}

.qognity-form-small a {
	color: var(--wp--preset--color--teal);
}

@media (max-width: 767px) {
	.qognity-contact-intro.wp-block-group {
		padding-bottom: 92px !important;
	}

	.qognity-iconbox.wp-block-group {
		flex-direction: column;
		align-items: flex-start !important;
	}

	.qognity-contact-form {
		padding: 30px 20px;
	}
}

/* Privacy, Terms and Cookies policy pages */

.qognity-legal {
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
}

.qognity-legal p,
.qognity-legal ul {
	margin-top: 14px;
	margin-bottom: 0;
}

.qognity-legal .qognity-legal-heading {
	margin-top: 55px;
	margin-bottom: 40px;
}

.qognity-legal .qognity-legal-heading + * {
	margin-top: 0;
}

.qognity-legal a {
	color: var(--wp--preset--color--white);
}

/* Interim policy texts: the editor's note (shown on staging), the date line and the data table. */
.qognity-legal .qognity-legal-note {
	margin-top: 0;
	padding: 12px 16px;
	border-left: 3px solid var(--wp--preset--color--teal);
	background-color: rgba(39, 189, 195, 0.12);
	font-size: 15px;
}

.qognity-legal .qognity-legal-updated {
	color: var(--wp--preset--color--white-soft);
}

.qognity-legal .qognity-legal-table {
	margin: 0;
	overflow-x: auto;
}

.qognity-legal-table table {
	min-width: 640px;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 1.45;
}

.qognity-legal-table th,
.qognity-legal-table td {
	padding: 10px 12px;
	border: 1px solid var(--wp--preset--color--teal-soft);
	text-align: left;
	vertical-align: top;
}

.qognity-legal-table th {
	font-weight: 600;
}

/* Author archive */

.qognity-author-hero {
	max-width: 1140px;
	margin: 0 auto;
	text-align: center;
}

.qognity-author-hero img {
	border: 3px solid var(--wp--preset--color--teal);
	border-radius: 50%;
	box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.65);
}

.qognity-author-hero-name {
	margin: 16px 0 10px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 36px;
	font-weight: 200;
	line-height: 43.2px;
	color: var(--wp--preset--color--white);
}

.qognity-author-hero p {
	margin: 0;
	color: var(--wp--preset--color--white-soft);
	font-size: 15px;
	line-height: 22.5px;
}

/* 404 page */

.qognity-404 {
	position: relative;
	overflow: hidden;
}

.qognity-404-cols {
	position: relative;
	z-index: 2;
	min-height: 666px;
}

.qognity-404-glow {
	position: absolute;
	z-index: 1;
	top: 5px;
	width: 400px;
	height: 400px;
	border-radius: 50%;
	filter: blur(62px);
}

.qognity-404-glow-left {
	left: 29px;
	background: linear-gradient(180deg, #A6D9DB 20%, #00000082 100%);
}

.qognity-404-glow-right {
	right: 7px;
	background: linear-gradient(180deg, #A6D9DB 20%, #27BDC3B0 100%);
}

.qognity-404-side svg {
	display: block;
	width: 250px;
	height: 250px;
	margin: 0 auto;
	opacity: 0.73;
}

.qognity-404-planet {
	fill: var(--wp--preset--color--navy);
}

.qognity-404-rings {
	fill: var(--wp--preset--color--primary);
}

@media (max-width: 767px) {
	.qognity-404.wp-block-group {
		padding: 40px 20px !important;
	}

	.qognity-404-code {
		font-size: 80px !important;
		line-height: 96px !important;
	}

	.qognity-404-text {
		font-size: 30px !important;
		line-height: 45px !important;
	}

	.qognity-404-side svg {
		width: 150px;
		height: 150px;
	}
}

/* Header popups */

.qognity-popup {
	padding: 0;
	border: 0;
	color: var(--wp--preset--color--primary);
}

.qognity-popup[open] {
	animation: qognity-fade-in 0.8s;
}

.qognity-popup-close-form {
	margin: 0;
}

.qognity-popup-close {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.qognity-help-body:focus,
.qognity-side-body:focus {
	outline: none;
}

.qognity-popup-close svg {
	width: 14px;
	height: 14px;
}

/* Paper plane: centred box, 650px, light grey, button band below. */
/* The popups sit inside the header's flex row; WordPress's layout rules would zero their margins. */
.qognity-help-popup {
	position: fixed;
	inset: 0;
	margin: auto !important;
	height: fit-content;
	width: 650px;
	max-width: calc(100% - 40px);
	background-color: #F3F3F3;
	box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.1);
}

.qognity-help-popup::backdrop {
	background-color: rgba(32, 32, 32, 0.53);
}

.qognity-help-close {
	position: absolute;
	top: 0;
	right: 0;
	width: 74px;
	height: 74px;
	background-color: #E5E9EF;
	color: #65768B;
}

.qognity-help-body {
	padding: 69px 50px 31px;
	text-align: center;
}

.qognity-help-title {
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--body);
	font-size: 60px;
	font-weight: 200;
	line-height: 64px;
}

.qognity-help-text {
	max-width: 400px;
	margin: 35px auto 0;
	color: var(--wp--preset--color--black);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
}

.qognity-help-footer {
	padding: 30px;
	background-color: #E5E9EF;
	text-align: center;
}

.qognity-help-footer .wp-element-button {
	display: inline-block;
	text-decoration: none;
}

/* Three dots: lavender panel sliding in from the right. */
.qognity-side-panel {
	position: fixed;
	inset: 0 0 0 auto;
	width: 400px;
	max-width: 100%;
	height: 100%;
	max-height: none;
	margin: 0 !important;
	overflow-y: auto;
	background-color: var(--wp--preset--color--lavender);
	box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2);
}

.qognity-side-panel[open] {
	animation: qognity-slide-in 1.2s;
}

.qognity-side-panel::backdrop {
	background-color: rgba(0, 0, 0, 0.8);
}

.qognity-side-close {
	position: absolute;
	top: 30px;
	right: 26px;
	width: 18px;
	height: 18px;
	color: var(--wp--preset--color--navy);
}

.qognity-side-close svg {
	width: 18px;
	height: 18px;
}

.qognity-side-body {
	padding: 145px 40px 60px;
}

.qognity-side-logo {
	display: block;
	width: 112px;
	height: auto;
}

.qognity-side-body p {
	margin: 20px 0 0;
	font-size: 15px;
	font-weight: 300;
	line-height: 22.5px;
	color: var(--wp--preset--color--primary);
}

.qognity-side-divider {
	margin: 35px 0 20px;
	border: 0;
	border-top: 1px solid rgba(56, 45, 120, 0.15);
}

.qognity-side-heading {
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 26px;
	font-weight: 200;
	line-height: 26px;
}

.qognity-side-menu {
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.qognity-side-menu a {
	display: block;
	padding: 13px 0;
	color: var(--wp--preset--color--primary);
	font-family: Montserrat, sans-serif;
	font-size: 16px;
	font-weight: 200;
	line-height: 20px;
	text-decoration: none;
}

.qognity-side-menu a:hover,
.qognity-side-menu a[aria-current="page"] {
	color: var(--wp--preset--color--teal);
}

.qognity-newsletter-form {
	margin-top: 15px;
}

.qognity-newsletter-row {
	display: flex;
}

.qognity-newsletter-row input {
	flex: 1;
	min-width: 0;
	padding: 6px 16px;
	border: 1px solid rgba(0, 0, 0, 0.38);
	border-right: 0;
	background: transparent;
	color: var(--wp--preset--color--navy);
	font-family: inherit;
	font-size: 15px;
}

.qognity-newsletter-row button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	border: 1px solid rgba(0, 0, 0, 0.38);
	background-color: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--navy);
	cursor: pointer;
}

.qognity-newsletter-row button svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

/* Form results and the hidden spam trap */

.qognity-form-notice {
	margin: 0 0 20px;
	padding: 10px 14px;
	border-left: 3px solid var(--wp--preset--color--teal);
	background-color: rgba(39, 189, 195, 0.12);
	font-size: 14px;
}

.qognity-form-notice.is-error {
	border-left-color: #E5484D;
	background-color: rgba(229, 72, 77, 0.12);
}

.qognity-contact-form .qognity-form-notice {
	color: var(--wp--preset--color--white);
}

.qognity-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

@keyframes qognity-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes qognity-slide-in {
	from { transform: translateX(100%); opacity: 0; }
	to { transform: translateX(0); opacity: 1; }
}

@media (max-width: 767px) {
	.qognity-side-panel {
		width: 100%;
	}

	.qognity-side-body {
		padding-left: 39px;
		padding-right: 39px;
	}

	.qognity-help-title {
		font-size: 34px;
		line-height: 38px;
	}
}

/*
 * Scroll fade-ins, as on live (Elementor entrance animations, 1.25s).
 * Add a qognity-anim-<name> class to a block; qognity-anim-delay-100/200/300 delays it.
 * Elements are only hidden while html.qognity-js-anim is set (script running, motion allowed).
 */
.qognity-js-anim [class*="qognity-anim-"]:not(.qognity-in) {
	opacity: 0;
}

.qognity-js-anim .qognity-in[class*="qognity-anim-"] {
	animation-duration: 1.25s;
	animation-fill-mode: both;
}

.qognity-js-anim .qognity-in.qognity-anim-fadeIn { animation-name: qognity-fade-in; }
.qognity-js-anim .qognity-in.qognity-anim-fadeInUp { animation-name: qognity-fade-in-up; }
.qognity-js-anim .qognity-in.qognity-anim-fadeInDown { animation-name: qognity-fade-in-down; }
.qognity-js-anim .qognity-in.qognity-anim-fadeInLeft { animation-name: qognity-fade-in-left; }
.qognity-js-anim .qognity-in.qognity-anim-fadeInRight { animation-name: qognity-fade-in-right; }
.qognity-js-anim .qognity-in.qognity-anim-bounceIn { animation-name: qognity-bounce-in; animation-duration: 0.75s; }

.qognity-js-anim .qognity-in.qognity-anim-delay-100 { animation-delay: 0.1s; }
.qognity-js-anim .qognity-in.qognity-anim-delay-200 { animation-delay: 0.2s; }
.qognity-js-anim .qognity-in.qognity-anim-delay-300 { animation-delay: 0.3s; }

/* Finished animations, and the header menu while the phone menu is open, carry no transform. */
.qognity-js-anim .qognity-in.qognity-anim-done,
.qognity-js-anim .qognity-menu:has(.is-menu-open) {
	animation: none !important;
	opacity: 1 !important;
	transform: none !important;
}

@keyframes qognity-fade-in-up {
	from { opacity: 0; transform: translate3d(0, 100%, 0); }
	to { opacity: 1; transform: none; }
}

@keyframes qognity-fade-in-down {
	from { opacity: 0; transform: translate3d(0, -100%, 0); }
	to { opacity: 1; transform: none; }
}

@keyframes qognity-fade-in-left {
	from { opacity: 0; transform: translate3d(-100%, 0, 0); }
	to { opacity: 1; transform: none; }
}

@keyframes qognity-fade-in-right {
	from { opacity: 0; transform: translate3d(100%, 0, 0); }
	to { opacity: 1; transform: none; }
}

@keyframes qognity-bounce-in {
	0%, 20%, 40%, 60%, 80%, 100% { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
	0% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
	20% { transform: scale3d(1.1, 1.1, 1.1); }
	40% { transform: scale3d(0.9, 0.9, 0.9); }
	60% { opacity: 1; transform: scale3d(1.03, 1.03, 1.03); }
	80% { transform: scale3d(0.97, 0.97, 0.97); }
	100% { opacity: 1; transform: scale3d(1, 1, 1); }
}

/* Elements sliding in from the side must not make the page scroll sideways. */
.wp-site-blocks {
	overflow-x: clip;
}

/* Pricing page (new page, built from reference/proposed-content-preview.html) */

.qognity-pricing-tint {
	background-color: var(--wp--preset--color--lavender);
	color: var(--wp--preset--color--navy);
}

.qognity-pricing-tint .qognity-sub {
	color: var(--wp--preset--color--primary);
}

.qognity-eyebrow {
	margin: 0;
	color: var(--wp--preset--color--teal);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 3px;
	text-transform: uppercase;
}

/* Narrow text starts at the content's left edge (the constrained layout would centre it). */
.qognity-pricing-band > .qognity-pricing-title,
.qognity-pricing-band > .qognity-pricing-lede,
.qognity-pricing-band > .qognity-pricing-note {
	margin-left: max(0px, calc((100% - 1140px) / 2)) !important;
	margin-right: auto !important;
}

.qognity-pricing-title {
	max-width: 900px;
	color: var(--wp--preset--color--white);
}

.qognity-pricing-lede {
	max-width: 640px;
	font-size: 16px;
	line-height: 24px;
}

.qognity-pricing-note {
	max-width: 760px;
	font-size: 13px;
	line-height: 20px;
}

.qognity-pricing-intro {
	max-width: 680px;
	margin-left: auto !important;
	margin-right: auto !important;
	font-size: 16px;
}

.qognity-plans-head h2 {
	margin: 0;
	font-size: 36px;
	line-height: 40px;
}

.qognity-bill-toggle {
	display: inline-flex;
	padding: 4px;
	border: 2px solid var(--wp--preset--color--teal-soft);
	border-radius: 8px;
}

.qognity-bill-toggle button {
	padding: 10px 20px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--wp--preset--color--white);
	cursor: pointer;
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 3px;
	text-transform: uppercase;
}

.qognity-bill-toggle button[aria-pressed="true"] {
	background-color: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--primary);
}

.qognity-plans {
	gap: 16px !important;
	align-items: stretch;
}

.qognity-plan.wp-block-group {
	position: relative;
	gap: 12px;
	padding: 24px 20px;
	border-top: 4px solid var(--wp--preset--color--teal);
	background-color: var(--wp--preset--color--lavender);
	color: var(--wp--preset--color--navy);
}

.qognity-plan > * {
	margin: 0 !important;
}

.qognity-plan.is-pick {
	background-color: var(--wp--preset--color--white);
}

.qognity-plan.is-dark {
	background-color: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--white);
}

.qognity-plan-flag {
	position: absolute;
	top: -16px;
	left: 20px;
	padding: 4px 10px;
	background-color: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--primary);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 2px;
	line-height: 14px;
	text-transform: uppercase;
}

.qognity-plan-name {
	color: var(--wp--preset--color--primary);
}

.qognity-plan.is-dark .qognity-plan-name {
	color: var(--wp--preset--color--teal);
}

.qognity-plan-price {
	font-size: 13px;
}

.qognity-plan-amount {
	font-size: 32px;
	font-weight: 300;
	line-height: 38px;
}

.qognity-plan-for {
	font-size: 14px;
	line-height: 21px;
}

.qognity-plan-features {
	padding-left: 18px;
	font-size: 14px;
	line-height: 21px;
}

.qognity-plan-features li + li {
	margin-top: 4px;
}

.qognity-plan-buttons {
	margin-top: auto !important;
	padding-top: 12px;
}

.qognity-plan-demo {
	margin-top: auto !important;
	padding-top: 12px;
	font-size: 13px;
	text-align: center;
}

.qognity-plan-demo a {
	color: var(--wp--preset--color--primary);
}

.qognity-plan-demo + .qognity-plan-buttons {
	margin-top: 8px !important;
	padding-top: 0;
}

.qognity-plan-button .wp-block-button__link {
	padding: 12px 10px;
	font-size: 12px;
	letter-spacing: 2px;
}

.qognity-plan .is-style-outline .wp-block-button__link {
	border: 1px solid var(--wp--preset--color--primary);
	background: transparent;
	color: var(--wp--preset--color--primary);
}

/* Tables */

.qognity-table-scroll {
	overflow-x: auto;
	border: 2px solid var(--wp--preset--color--teal-soft);
	border-radius: 8px;
}

.qognity-single-apps,
.qognity-compare {
	width: 100%;
	border-collapse: collapse;
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
	font-size: 14px;
	line-height: 21px;
}

.qognity-single-apps thead th,
.qognity-compare thead th,
.qognity-compare thead td {
	padding: 12px;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2px;
	text-align: center;
	text-transform: uppercase;
}

.qognity-single-apps thead th:first-child {
	text-align: left;
}

.qognity-single-apps tbody th,
.qognity-compare tbody th {
	font-weight: 300;
	text-align: left;
}

.qognity-single-apps td,
.qognity-single-apps tbody th,
.qognity-compare td,
.qognity-compare tbody th {
	padding: 10px 12px;
	border-top: 1px solid var(--wp--preset--color--line);
}

.qognity-single-apps td,
.qognity-compare td {
	text-align: center;
}

.qognity-single-apps .is-suite th,
.qognity-single-apps .is-suite td {
	font-weight: 600;
}

.qognity-compare-section th {
	padding: 12px !important;
	background-color: var(--wp--preset--color--lavender);
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 20px !important;
	font-weight: 300 !important;
}

.qognity-compare .is-yes {
	color: #12757A;
	font-weight: 600;
}

.qognity-compare .is-no {
	color: #686D82;
}

/* Questions */

.qognity-faq {
	padding: 18px 0;
	border-bottom: 1px solid rgba(56, 45, 120, 0.2);
}

.qognity-faq summary {
	cursor: pointer;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 22px;
	font-weight: 300;
	line-height: 28px;
}

.qognity-faq p {
	margin: 12px 0 0;
	color: var(--wp--preset--color--navy);
}

.qognity-pricing-tint .is-style-outline .wp-block-button__link {
	border: 1px solid var(--wp--preset--color--primary);
	background: transparent;
	color: var(--wp--preset--color--primary);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

@media (max-width: 1024px) {
	.qognity-plans {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		row-gap: 32px !important;
	}
}

@media (max-width: 767px) {
	.qognity-plans {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.qognity-plans-head h2 {
		font-size: 24px;
		line-height: 28px;
	}
}

/* Pricing: footnotes and the launch-price line (v3.5 brief) */

.qognity-pricing-band > .qognity-footnotes {
	max-width: 760px;
	margin-left: max(0px, calc((100% - 1140px) / 2)) !important;
	margin-right: auto !important;
	padding-left: 20px;
	font-size: 13px;
	line-height: 20px;
}

.qognity-footnotes li + li {
	margin-top: 6px;
}

.qognity-launch {
	font-weight: 600;
	letter-spacing: 1px;
}

.qognity-pricing-band > .qognity-launch,
.qognity-pricing-band > .qognity-pricing-units {
	margin-left: max(0px, calc((100% - 1140px) / 2)) !important;
	margin-right: auto !important;
}

/* Home: v3.5 hero, apps, "why not just a model" band */

.qognity-proof {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 36px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.qognity-proof li::before {
	content: "✓";
	margin-right: 8px;
	color: var(--wp--preset--color--teal);
	font-weight: 600;
}

.qognity-small {
	font-size: 13px;
}

.qognity-btn-light .wp-block-button__link {
	border: 1px solid var(--wp--preset--color--white);
	background: transparent;
	color: var(--wp--preset--color--white);
}

.qognity-btn-light .wp-block-button__link:hover {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
}

.qognity-ticks {
	padding-left: 0;
	list-style: none;
}

.qognity-ticks li {
	position: relative;
	padding-left: 26px;
}

.qognity-ticks li + li {
	margin-top: 8px;
}

.qognity-ticks li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--teal);
	font-weight: 600;
}

.qognity-app-card h3,
.qognity-point h3 {
	margin: 0;
}

.qognity-app-card > p {
	margin: 0;
}

.qognity-app-card > .qognity-app-price {
	margin-top: auto;
	font-weight: 600;
}

.qognity-point > p {
	margin-top: 12px;
}

@media (max-width: 1024px) {
	.qognity-app-grid,
	.qognity-why-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.qognity-hero-text h1 {
		font-size: 44px !important;
		line-height: 50px !important;
	}

	.qognity-dark-band.wp-block-group,
	.qognity-apps-section.wp-block-group {
		padding-top: 70px !important;
		padding-bottom: 70px !important;
	}
}

@media (max-width: 767px) {
	.qognity-app-grid,
	.qognity-why-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.qognity-proof {
		flex-direction: column;
		align-items: center;
	}

	.qognity-hero-text h1 {
		font-size: 30px !important;
		line-height: 36px !important;
	}

	.qognity-hero-text .qognity-sub {
		font-size: 18px !important;
		line-height: 24px !important;
	}
}

/* Services: engagement models, engine and security cards (v3.5) */

.qognity-sec-card h3,
.qognity-sec-card > p,
.qognity-app-card > ul {
	margin: 0;
}

.qognity-sec-card h3 {
	font-size: 26px;
}

.qognity-app-card > .qognity-app-price + p {
	margin-top: 0;
}

.qognity-partners p a {
	color: var(--wp--preset--color--teal);
}

.qognity-ways-grid .qognity-app-card > .qognity-app-price {
	margin-top: 0;
}

/* Review fixes, 9 Oct 2026 */

/* Keyboard focus: a teal ring that shows on purple, navy and white alike. */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
.wp-element-button:focus-visible {
	outline: 2px solid var(--wp--preset--color--teal);
	outline-offset: 2px;
}

/* Long addresses in the policy texts wrap instead of running past the screen edge. */
.qognity-legal a {
	overflow-wrap: anywhere;
}

@media (max-width: 767px) {
	/* Tap targets of at least 24px for the footer links, card details and bios. */
	.qognity-footer-links a,
	.qognity-post-meta a,
	.qognity-member-bio summary,
	.qognity-legal a,
	.qognity-partners p a {
		display: inline-block;
		min-height: 24px;
		padding: 2px 0;
	}

	/* Long button labels stay on one line on phones. */
	.wp-block-button__link {
		letter-spacing: 1.5px;
		padding-left: 14px;
		padding-right: 14px;
	}
}

/* Services: one row per app, screenshot beside its description; rows alternate sides. */
.qognity-app-shot {
	margin: 0;
}

.qognity-app-shot img {
	width: 100%;
	height: auto;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
}

.qognity-app-text h3,
.qognity-app-text > p {
	margin: 0;
}

.qognity-app-text h3 {
	font-size: 36px;
}

@media (min-width: 782px) {
	.qognity-app-row-flip > .wp-block-column:first-child {
		order: 2;
	}
}

@media (max-width: 781px) {
	.qognity-app-rows.wp-block-group > * + * {
		margin-top: 50px !important;
	}

	.qognity-app-text h3 {
		font-size: 26px;
	}
}

/* Services: "How a run works" as a flowchart. Six steps joined by arrows; the approval step is
   the gate. Below 1025px the steps run top to bottom. */
.qognity-flow {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 28px;
	margin-top: 40px !important;
	padding: 0 10px;
	color: var(--wp--preset--color--navy);
}

.qognity-flow > .qognity-flow-step {
	position: relative;
	margin: 0 !important;
	text-align: center;
}

.qognity-flow-step > * {
	margin: 0;
}

.qognity-flow-step > * + * {
	margin-top: 8px !important;
}

.qognity-flow-num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0 auto 14px !important;
	border: 2px solid var(--wp--preset--color--teal);
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
	font-size: 22px;
	font-weight: 600;
	line-height: 1;
}

/* Connector line and arrowhead from each step to the next. */
.qognity-flow-step:not(:last-child)::after,
.qognity-flow-step:not(:last-child)::before {
	content: "";
	position: absolute;
	pointer-events: none;
}

.qognity-flow-step:not(:last-child)::after {
	top: 28px;
	left: calc(50% + 32px);
	width: calc(100% + 28px - 64px);
	height: 2px;
	background: var(--wp--preset--color--teal);
}

.qognity-flow-step:not(:last-child)::before {
	top: 23px;
	left: calc(150% + 28px - 44px);
	width: 10px;
	height: 10px;
	border-top: 2px solid var(--wp--preset--color--teal);
	border-right: 2px solid var(--wp--preset--color--teal);
	transform: rotate(45deg);
}

.qognity-flow-title {
	font-size: 24px;
	line-height: 1.2;
	color: var(--wp--preset--color--navy);
}

.qognity-flow-text {
	font-size: 14px;
	line-height: 21px;
	color: var(--wp--preset--color--black);
}

.qognity-flow-tag {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #12757A;
}

.qognity-flow-gate .qognity-flow-num {
	background: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--navy);
	box-shadow: 0 0 0 6px rgba(39, 189, 195, 0.25);
}

.qognity-flow-branch {
	padding-top: 8px;
	border-top: 1px dashed var(--wp--preset--color--primary);
	font-size: 13px;
	line-height: 19px;
	font-style: italic;
	color: var(--wp--preset--color--primary);
}

@media (max-width: 1024px) {
	.qognity-flow {
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
		max-width: 560px;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.qognity-flow > .qognity-flow-step {
		min-height: 56px;
		padding-left: 80px;
		text-align: left;
	}

	.qognity-flow-num {
		position: absolute;
		top: 0;
		left: 0;
		margin: 0 !important;
	}

	.qognity-flow-step > .qognity-flow-num + * {
		margin-top: 0 !important;
	}

	.qognity-flow-step:not(:last-child)::after {
		top: 62px;
		left: 27px;
		width: 2px;
		height: calc(100% - 68px + 30px);
	}

	.qognity-flow-step:not(:last-child)::before {
		top: auto;
		bottom: -26px;
		left: 23px;
		transform: rotate(135deg);
	}
}

/* Home, first section: headline, one supporting sentence, the buttons; then the three statements of
   the sub-line as a strip of short columns. */
.qognity-hero-text .qognity-hero-lead {
	max-width: 760px;
	margin-left: auto !important;
	margin-right: auto !important;
	font-size: 21px;
	font-weight: 300;
	line-height: 32px;
}

.qognity-pillars > .qognity-pillar {
	margin: 0;
	padding-top: 16px;
	border-top: 2px solid var(--wp--preset--color--teal);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 26px;
	font-weight: 200;
	line-height: 32px;
	color: var(--wp--preset--color--white);
}

@media (max-width: 767px) {
	.qognity-hero-text .qognity-hero-lead {
		font-size: 18px;
		line-height: 27px;
	}

	.qognity-pillars {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 22px !important;
	}

	.qognity-pillars > .qognity-pillar {
		font-size: 22px;
		line-height: 28px;
	}
}

.qognity-nowrap {
	white-space: nowrap;
}

/*
 * Natalia's proposals (docs/WEBSITE_PROPOSALS_NATALIA.md, 19 Oct 2026)
 */

/* No gap between the last section of a page and the footer. */
.wp-site-blocks > footer {
	margin-block-start: 0;
}

/* Header: Company drop-down, and the "Try the demo" button before the round icons. */
.qognity-header .qognity-menu .wp-block-navigation__submenu-container {
	min-width: 200px !important;
	padding: 8px 0;
	border: 0 !important;
	background-color: var(--wp--preset--color--navy) !important;
}

.qognity-header .qognity-menu .wp-block-navigation-submenu__toggle {
	padding: 13px 26px;
	color: var(--wp--preset--color--white-soft);
}

.qognity-header .qognity-menu .wp-block-navigation-submenu__toggle[aria-expanded="true"],
.qognity-header .qognity-menu .wp-block-navigation-submenu__toggle:hover {
	color: var(--wp--preset--color--white);
}

.qognity-header .qognity-menu .wp-block-navigation__submenu-icon {
	margin-left: -18px;
}

.qognity-header-icons {
	align-items: center;
}

.qognity-header-cta.wp-element-button {
	padding: 10px 18px;
	font-size: 12px;
	letter-spacing: 2px;
	white-space: nowrap;
	text-decoration: none;
}

@media (min-width: 1025px) and (max-width: 1280px) {
	.qognity-header .qognity-menu .wp-block-navigation-item__content.wp-block-navigation-item__content,
	.qognity-header .qognity-menu .wp-block-navigation-submenu__toggle {
		padding-left: 14px;
		padding-right: 14px;
	}

	.qognity-header-icons {
		gap: 18px;
	}
}

/* Home, first screen: text left, the dashboard screenshot right; on phones the screenshot comes last. */
.qognity-hero-cols .qognity-hero-lead {
	margin-left: 0 !important;
}

.qognity-hero-shot img {
	box-shadow: 0 20px 50px rgba(24, 19, 51, 0.45);
}

@media (max-width: 767px) {
	.qognity-hero-text.wp-block-group {
		padding-top: 48px !important;
	}
}

/* Home: app cards keep their button at the bottom. */
.qognity-app-card .qognity-card-buttons {
	margin-top: auto !important;
	padding-top: 8px;
}

/* Home: "How it works" in four steps. */
@media (min-width: 1025px) {
	.qognity-flow.qognity-flow-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		max-width: 960px;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

.qognity-how-more {
	margin-top: 30px !important;
}

/* Products: who each app is for, and its model mode, next to the capabilities. */
.qognity-app-for {
	font-style: italic;
}

.qognity-app-mode {
	padding-left: 12px;
	border-left: 3px solid var(--wp--preset--color--teal);
	font-size: 14px;
	line-height: 21px;
}

/* Products: the Engine's detail in sections that open on click. */
.qognity-details {
	padding: 16px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.qognity-details summary {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 22px;
	font-weight: 300;
	line-height: 28px;
}

.qognity-details p {
	margin: 12px 0 0;
	color: var(--wp--preset--color--white-soft);
}

/* Pricing: product and billing switches, the same order on every card. */
.qognity-plans-switches {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
}

.qognity-plans-title {
	margin: 0;
	font-size: 36px;
	line-height: 40px;
}

.qognity-plans-units {
	max-width: 760px;
	font-size: 15px;
}

.qognity-units-help summary {
	color: var(--wp--preset--color--teal);
	cursor: pointer;
	font-size: 14px;
}

.qognity-units-help p {
	max-width: 760px;
	margin-top: 8px;
	font-size: 14px;
	line-height: 21px;
}

.qognity-plan-billing {
	font-size: 12px;
	line-height: 16px;
}

.qognity-plan-annual {
	display: inline-block;
	margin-right: 4px;
	padding: 2px 8px;
	border-radius: 4px;
	background-color: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}

.qognity-plan-label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.qognity-plan-features.qognity-plan-allowance {
	margin-top: -6px !important;
}

@media (max-width: 767px) {
	.qognity-plans-switches .qognity-bill-toggle button {
		padding: 10px 12px;
		letter-spacing: 1px;
	}

	.qognity-plans-title {
		font-size: 24px;
		line-height: 28px;
	}
}

/* Contact: the plan carried from the Pricing page. */
.qognity-form-plan {
	margin: 0 0 20px;
	color: var(--wp--preset--color--white);
	font-size: 15px;
}

/* Phone menu: Company and its links centred like the other items. */
.qognity-menu .is-menu-open .wp-block-navigation-submenu,
.qognity-menu .is-menu-open .wp-block-navigation__submenu-container {
	align-items: center !important;
	width: 100%;
}

.qognity-menu .is-menu-open .wp-block-navigation__submenu-container {
	padding: 0 !important;
	background-color: transparent !important;
}

.qognity-header .qognity-menu .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content {
	padding: 8px 4px;
	font-weight: 400;
	letter-spacing: 2px;
	color: var(--wp--preset--color--white-soft);
}


/* Home: Q's video band. It keeps the video's 16:9 shape up to 819px tall, so Q is never cut off.
   On wider screens the whole frame shows in the middle; the band behind it is white like the
   video's own background, so the white runs to the screen edges and fades into purple above and
   below, as on narrower screens. */
.qognity-q-band.wp-block-cover,
.qognity-hero.qognity-q-band.wp-block-cover {
	min-height: 0 !important;
	height: min(56.25vw, 819px);
	background-color: #FFFFFF;
}

.qognity-q-band .wp-block-cover__video-background {
	object-fit: contain !important;
}

/* Phones: the header keeps the "Try the demo" button, as on desktop, between the logo and the menu
   button; the two round icons stay hidden (the menu has their contents). */
@media (max-width: 767px) {
	.qognity-header .qognity-header-main {
		display: contents;
	}

	.qognity-header-logo {
		order: 0;
	}

	.qognity-header .qognity-header-icons {
		display: flex;
		order: 1;
		margin-left: auto;
		padding-right: 0;
	}

	.qognity-header-icons .qognity-round-icon {
		display: none;
	}

	.qognity-header-cta.wp-element-button {
		padding: 8px 12px;
		font-size: 11px;
		letter-spacing: 1px;
	}

	.qognity-header .qognity-menu {
		order: 2;
		margin-left: 12px !important;
	}
}
