/**
 * QS — QuiwkSocial design system
 * Tokens, base, layout, header/footer, landing, content.
 */

:root {
	/* Brand — EventsAir palette */
	--qs-primary:#7037ed;
	--qs-primary-hover:#05073f;
	--qs-primary-ink:#ffffff;

	--qs-purple-900:#05073f;
	--qs-purple-800:#33244a;
	--qs-purple-600:#33244a;
	--qs-purple-500:#7037ed;
	--qs-purple-400:#bdafff;
	--qs-purple-300:#e2dbff;
	--qs-purple-100:#f1ebfe;

	--qs-mint-100:#ebf6f4;
	--qs-mint-200:#ddf4ef;
	--qs-mint-500:#5db5ad;
	--qs-mint-600:#429a92;

	--qs-lime:#5db5ad;
	--qs-lime-hover:#429a92;
	--qs-lime-ink:#05073f;

	--qs-white:#ffffff;
	--qs-surface:#f7f8fc;
	--qs-ink:#25252B;
	--qs-muted:#6b728a;
	--qs-muted-on-dark:#b7b3d1;
	--qs-line:#e4e7f0;
	--qs-line-on-dark:rgba(255, 255, 255, 0.12);

	--qs-header:var(--qs-white);
	--qs-header-text:var(--qs-purple-900);

	/* Typography */
	--qs-font:'Poppins', sans-serif;
	--qs-fs-xs:0.75rem;
	--qs-fs-sm:0.875rem;
	--qs-fs-base:1rem;
	--qs-fs-md:1.125rem;
	--qs-fs-lg:1.25rem;
	--qs-fs-xl:1.5rem;
	--qs-fs-3xl:clamp(2rem, 4vw, 2.75rem);
	--qs-fs-4xl:clamp(2.5rem, 6vw, 3.75rem);
	--qs-lh-tight:1.15;
	--qs-lh-snug:1.35;
	--qs-lh-body:1.65;
	--qs-tracking-tight:-0.03em;
	--qs-tracking-wide:0.04em;

	/* Layout — Bootstrap 5 container */
	--bs-gutter-x:1.5rem;
	--qs-content:760px;
	--qs-section-y:clamp(4rem, 8vw, 6.5rem);
	--qs-radius-sm:10px;
	--qs-radius:16px;
	--qs-radius-pill:999px;
	--qs-shadow:0 18px 50px rgba(26, 18, 75, 0.12);
	--qs-header-h:76px;
	--qs-ease:cubic-bezier(0.22, 1, 0.36, 1);
	--qs-section-padding:80px;
}

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

html {
	scroll-behavior:smooth;
}

body {
	margin:0;
	min-height:100vh;
	display:flex;
	flex-direction:column;
	background:var(--qs-white);
	color:var(--qs-ink);
	font-family:var(--qs-font);
	font-size:var(--qs-fs-base);
	line-height:var(--qs-lh-body);
	font-weight:400;
	-webkit-font-smoothing:antialiased;
	overflow-x:clip;
}

button,
input,
select,
textarea {
	font-family:inherit;
}

img,
svg,
video {
	max-width:100%;
	height:auto;
}

img {
	display:block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin:0 0 0.55em;
	color:inherit;
	font-family:var(--qs-font);
	font-weight:700;
	line-height:var(--qs-lh-tight);
	letter-spacing:var(--qs-tracking-tight);
}

h1 {
	font-size:var(--qs-fs-4xl);
}

h2 {
	font-size:var(--qs-fs-3xl);
}

h3 {
	font-size:var(--qs-fs-xl);
}

h4 {
	font-size:var(--qs-fs-lg);
}

p,
ul,
ol,
blockquote,
figure {
	margin:0 0 1em;
}

a {
	color:var(--qs-purple-500);
	text-underline-offset:0.15em;
}

a:hover {
	color:var(--qs-purple-600);
}

::selection {
	background:var(--qs-purple-400);
	color:var(--qs-purple-900);
}

:focus-visible {
	outline:2px solid var(--qs-purple-400);
	outline-offset:3px;
}

.screen-reader-text {
	border:0;
	clip-path:inset(50%);
	height:1px;
	margin:-1px;
	overflow:hidden;
	padding:0;
	position:absolute;
	width:1px;
	word-wrap:normal !important;
}

.screen-reader-text:focus {
	background:var(--qs-white);
	clip-path:none;
	color:var(--qs-ink);
	display:block;
	font-size:var(--qs-fs-sm);
	height:auto;
	left:8px;
	line-height:1.4;
	padding:12px 16px;
	text-decoration:none;
	top:8px;
	width:auto;
	z-index:100000;
	border-radius:8px;
}

.skip-link:focus {
	position:absolute;
}

.container {
	width:100%;
	padding-right:calc(var(--bs-gutter-x) * 0.5);
	padding-left:calc(var(--bs-gutter-x) * 0.5);
	margin-inline:auto;
}

@media (min-width:576px) {
	.container {
		max-width:540px;
	}
}

@media (min-width:768px) {
	.container {
		max-width:720px;
	}
}

@media (min-width:992px) {
	.container {
		max-width:960px;
	}
}

@media (min-width:1200px) {
	.container {
		max-width:1140px;
	}
}

@media (min-width:1400px) {
	.container {
		max-width:1320px;
	}
}
/* Section */
.section{
	padding-block:var(--qs-section-padding);
}
.section-header {
	margin-bottom:2.5rem;
}
.section-title{
	margin:0 0 16px;
	font-size:clamp(24px, 3vw, 38px);
	font-weight:700;
	line-height:1.5;
	letter-spacing:-0.02em;
	color:#000;
}
.section-lead{
	margin:0;
	max-width:40rem;
	line-height:var(--qs-lh-snug);
}
.section--dark .section-lead {
	color:var(--qs-muted-on-dark);
}
.section-header--center {
	text-align:center;
}
.section-header--center .section-lead {
	margin-inline:auto;
}
/* Buttons */
.btn,
.btn--primary,
button:not(.menu-toggle):not(.search-submit):not(.product-rail__btn):not(.show-password-input):not(.notice-strip__close):not(.qs-store__apply):not(.single_add_to_cart_button):not(.qs-pdp__navbtn):not(.qs-pdp__qtybtn):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.wc-block-components-chip__remove),
input[type="submit"],
.wp-block-button__link {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:0.45rem;
	min-height:48px;
	padding:0.8rem 1.35rem;
	border:1px solid transparent;
	border-radius:var(--qs-radius-pill);
	background:var(--qs-primary);
	color:var(--qs-primary-ink);
	font-size:var(--qs-fs-sm);
	font-weight:700;
	line-height:1;
	text-decoration:none;
	cursor:pointer;
	transition:transform 0.2s var(--qs-ease), background 0.2s var(--qs-ease), color 0.2s var(--qs-ease), border-color 0.2s var(--qs-ease);
}

.btn:hover,
.btn--primary:hover,
button:not(.menu-toggle):not(.search-submit):not(.product-rail__btn):not(.show-password-input):not(.notice-strip__close):not(.qs-store__apply):not(.single_add_to_cart_button):not(.qs-pdp__navbtn):not(.qs-pdp__qtybtn):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.wc-block-components-chip__remove):hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
	background:var(--qs-primary-hover);
	color:var(--qs-primary-ink);
	transform:translateY(-1px);
}

.btn--lg {
	min-height:60px;
	min-width:185px;
	padding-inline:20px;
	font-size:19px;
}

.btn--text {
	min-height:48px;
	padding:8px 4px;
	border-radius:0;
	background:transparent;
	color:var(--qs-primary);
	font-size:18px;
	font-weight:600;
}

.btn--text:hover {
	background:transparent;
	color:var(--qs-purple-900);
	transform:none;
}

.btn-row {
	display:flex;
	flex-wrap:wrap;
	gap:0.75rem;
	align-items:center;
}

.btn-row--center {
	justify-content:center;
}

/* Forms */
.search-form,
.comment-form {
	display:flex;
	flex-wrap:wrap;
	gap:0.5rem;
	align-items:center;
}

.search-field,
.comments-area input[type="text"],
.comments-area input[type="email"],
.comments-area input[type="url"],
.comments-area textarea,
.entry-content input[type="text"],
.entry-content input[type="email"],
.entry-content input[type="url"],
.entry-content input[type="search"],
.entry-content textarea,
.entry-content select {
	width:100%;
	padding:0.75rem 0.95rem;
	border:1px solid var(--qs-line);
	border-radius:var(--qs-radius-sm);
	background:var(--qs-white);
	color:var(--qs-ink);
	font:inherit;
}

.search-submit {
	min-height:44px;
	padding:0.65rem 1.1rem;
	border:0;
	border-radius:var(--qs-radius-pill);
	background:var(--qs-primary);
	color:var(--qs-primary-ink);
	font-size:var(--qs-fs-sm);
	font-weight:700;
	cursor:pointer;
}

/* ========== Header ========== */
html.qs-notice-dismissed .notice-strip {
	display:none;
}
.notice-strip {
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:42px;
	padding:8px 48px;
	background:var(--qs-primary);
	color:#fff;
	font-size:14px;
	font-weight:500;
	line-height:1.4;
	text-align:center;
}
.notice-strip__message {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	max-width:920px;
	margin:0;
	color:#fff;
	text-decoration:none;
}
a.notice-strip__message:hover,
a.notice-strip__message:focus-visible {
	color:#fff;
	text-decoration:underline;
}
.notice-strip__icon {
	flex:0 0 auto;
	width:36px;
	height:36px;
	padding:7px;
	border-radius:50%;
	background:rgba(255, 255, 255, 0.22);
	box-sizing:border-box;
}
.notice-strip__arrow {
	flex:0 0 auto;
}
.notice-strip__close {
	position:absolute;
	top:50%;
	right:14px;
	display:grid;
	place-items:center;
	width:28px;
	height:28px;
	padding:0;
	border:0;
	border-radius:50%;
	background:transparent;
	color:#fff;
	cursor:pointer;
	transform:translateY(-50%);
}
.notice-strip__close:hover,
.notice-strip__close:focus-visible {
	background:rgba(255, 255, 255, 0.16);
}
.site-header {
	position:sticky;
	top:0;
	z-index:100;
	background:var(--qs-header);
	color:var(--qs-header-text);
	border-bottom:1px solid transparent;
	box-shadow:0 4px 20px rgba(5, 7, 63, 0.05);
	transition:background-color 0.25s var(--qs-ease), color 0.25s var(--qs-ease), box-shadow 0.25s var(--qs-ease), border-color 0.25s var(--qs-ease);
}

.site-header.is-scrolled {
	background:var(--qs-white);
	color:var(--qs-purple-900);
	border-bottom-color:var(--qs-line);
	box-shadow:0 10px 30px rgba(5, 7, 63, 0.08);
}

.admin-bar .site-header {
	top:32px;
}

.site-header a:not(.btn) {
	color:inherit;
	text-decoration:none;
}

.site-header .btn,
.site-header .btn:hover,
.site-header .btn:focus-visible {
	color:var(--qs-primary-ink);
}

.site-header__inner {
	min-height:var(--qs-header-h);
	display:grid;
	grid-template-columns:auto 1fr auto;
	align-items:center;
	gap:1.25rem;
}

.site-branding {
	display:flex;
	align-items:center;
	min-width:0;
}

.site-title {
	margin:0;
	font-size:1.15rem;
	font-weight:800;
	letter-spacing:-0.03em;
	line-height:1;
}

.site-title a {
	display:inline-flex;
	align-items:center;
	gap:0.55rem;
}

.site-logo-mark {
	display:inline-grid;
	place-items:center;
	width:28px;
	height:28px;
	border-radius:8px;
	background:var(--qs-primary);
	color:var(--qs-primary-ink);
	font-size:0.95rem;
	font-weight:800;
	text-transform:lowercase;
}

.site-logo--sticky {
	display:none;
}

.site-header.has-sticky-logo .site-logo--default,
.site-header.is-scrolled.has-sticky-logo .site-logo--default {
	display:none;
}

.site-header.has-sticky-logo .site-logo--sticky,
.site-header.is-scrolled .site-logo--sticky {
	display:flex;
}

.custom-logo-link {
	display:inline-flex;
	align-items:center;
}

.custom-logo {
	max-height:36px;
	width:auto;
}

.site-header.is-scrolled .primary-nav > .menu > li > a {
	color:var(--qs-purple-900);
}

.site-header.is-scrolled .menu-toggle {
	border-color:var(--qs-line);
	color:var(--qs-purple-900);
}

.primary-nav {
	justify-self:center;
}

.primary-nav .menu {
	display:flex;
	align-items:center;
	gap:0.15rem 1.35rem;
	list-style:none;
	margin:0;
	padding:0;
}

.primary-nav > .menu > .menu-item {
	position:relative;
}

.primary-nav > .menu > .menu-item > a {
	display:inline-flex;
	padding:0.4rem 0;
	font-weight:500;
	color:var(--qs-purple-900);
}

.primary-nav > .menu > .menu-item > a:not(.btn):hover,
.primary-nav > .menu > .menu-item > a:not(.btn):focus-visible,
.primary-nav > .menu > .current-menu-item > a,
.primary-nav > .menu > .current_page_item > a,
.primary-nav > .menu > .current-menu-ancestor > a,
.primary-nav .sub-menu a:not(.btn):hover,
.primary-nav .sub-menu a:not(.btn):focus-visible {
	color:var(--qs-primary);
}

.site-header.is-scrolled .primary-nav > .menu > li > a:hover,
.site-header.is-scrolled .primary-nav > .menu > li > a:focus-visible,
.site-header.is-scrolled .primary-nav .current-menu-item > a,
.site-header.is-scrolled .primary-nav .current_page_item > a,
.site-header.is-scrolled .primary-nav .current-menu-ancestor > a,
.site-header.is-scrolled .primary-nav .sub-menu a:hover,
.site-header.is-scrolled .primary-nav .sub-menu a:focus-visible {
	color:var(--qs-primary);
}

.primary-nav .sub-menu {
	display:none;
	position:absolute;
	top:calc(100% + 0.35rem);
	left:50%;
	min-width:200px;
	margin:0;
	padding:0.45rem;
	list-style:none;
	background:var(--qs-white);
	color:var(--qs-ink);
	border-radius:12px;
	box-shadow:var(--qs-shadow);
	transform:translateX(-50%);
	z-index:20;
}

.primary-nav .menu-item-has-children:hover > .sub-menu,
.primary-nav .menu-item-has-children:focus-within > .sub-menu {
	display:block;
}

.primary-nav .sub-menu a {
	display:block;
	padding:0.55rem 0.75rem;
	border-radius:8px;
	color:var(--qs-ink);
	font-size:var(--qs-fs-sm);
}

.primary-nav .sub-menu a:hover {
	background:var(--qs-surface);
}

.header-actions {
	display:flex;
	align-items:center;
	gap:0.65rem;
	justify-self:end;
}

.primary-nav .header-cta--mobile {
	display:none;
	margin-top:0.85rem;
	width:100%;
}

.menu-toggle {
	display:none;
	width:44px;
	height:44px;
	padding:0;
	border:1px solid var(--qs-line);
	border-radius:12px;
	background:transparent;
	color:var(--qs-purple-900);
	flex-direction:column;
	justify-content:center;
	align-items:center;
	gap:5px;
	cursor:pointer;
}

.menu-toggle__bar {
	display:block;
	width:18px;
	height:2px;
	background:currentColor;
}

@media (max-width:960px) {
	.site-header__inner {
		grid-template-columns:auto auto;
		justify-content:space-between;
	}

	.menu-toggle {
		display:inline-flex;
	}

	.primary-nav {
		display:none;
		position:absolute;
		top:100%;
		left:0;
		right:0;
		justify-self:stretch;
		padding:0.85rem 1.25rem 1.25rem;
		background:var(--qs-white);
		border-bottom:1px solid var(--qs-line);
	}

	.primary-nav.is-open {
		display:block;
	}

	.primary-nav .menu {
		flex-direction:column;
		align-items:stretch;
		gap:0.2rem;
	}

	.primary-nav .sub-menu {
		display:block;
		position:static;
		transform:none;
		min-width:0;
		margin:0.2rem 0 0.4rem 0.75rem;
		padding:0;
		background:transparent;
		box-shadow:none;
	}

	.primary-nav .sub-menu a {
		color:var(--qs-purple-900);
		padding-left:0;
	}

	.site-header.is-scrolled .primary-nav {
		background:var(--qs-white);
		border-bottom-color:var(--qs-line);
	}

	.site-header.is-scrolled .primary-nav .sub-menu a {
		color:#25252b;
	}

	.header-cta {
		display:none;
	}

	.primary-nav .header-cta--mobile {
		display:inline-flex;
	}
}

@media (max-width:782px) {
	.admin-bar .site-header,
	.admin-bar.is-landing .site-header {
		top:46px;
	}
}

@media (max-width:640px) {
	.header-actions .header-cta {
		display:none;
	}

	.is-landing .custom-logo {
		max-height:36px;
	}
}

@media print {
	.site-header,
	.menu-toggle,
	.header-actions {
		display:none !important;
	}
}

/* ========== Footer ========== */
.site-footer {
	margin-top:auto;
	background:var(--qs-purple-100);
	color:var(--qs-purple-800);
	padding:40px 0 28px;
}
.site-footer__panel {
	background:#fff;
	border-radius:20px;
	padding:40px 100px;
	text-align:left;
}

.site-footer__grid {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:32px 48px;
	align-items:start;
}

.site-footer__panel h2 {
	margin:0;
	padding:10px;
	font-size:18px;
	font-weight:600;
	color:var(--qs-purple-900);
}

.site-footer__panel ul {
	list-style:none;
	margin:0;
	padding:10px;
}

.site-footer__panel li {
	margin:0;
	color:rgba(5, 7, 63, 0.78);
	font-size:16px;
	font-weight:500;
	line-height:33px;
}

.site-footer__panel a {
	color:rgba(5, 7, 63, 0.78);
	text-decoration:none;
}

.site-footer__panel a:hover {
	color:var(--qs-primary);
}

.site-footer__social {
	display:flex;
	gap:10px;
	padding:8px 10px 0;
}

.site-footer__social a {
	display:grid;
	place-items:center;
	width:40px;
	height:40px;
	color:var(--qs-purple-900);
}

.site-footer__social a:hover {
	color:var(--qs-primary);
}

.site-footer__legal {
	padding:18px 90px 0;
	text-align:left;
}

.site-footer__legal p {
	margin:0;
	text-align: center;
}

.site-footer__legal-menu {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:0 40px;
	list-style:none;
	margin:0;
	padding:0;
}

.site-footer__legal a {
	display:inline-block;
	color:var(--qs-purple-800);
	font-size:14px;
	font-weight:500;
	line-height:33px;
	text-decoration:none;
}

.site-footer__legal a:hover {
	color:var(--qs-primary);
}

.site-footer__copy {
	color:rgba(5, 7, 63, 0.55);
	font-size:14px;
	font-weight:500;
	line-height:33px;
}

@media (max-width:960px) {
	.site-footer__panel {
		padding:28px 28px;
	}

	.site-footer__grid {
		gap:32px 28px;
	}

	.site-footer__legal {
		padding:18px 8px 0;
	}
}

@media (max-width:991px) {
	.site-footer__grid {
		grid-template-columns:1fr 1fr;
	}

	.site-footer__contact {
		grid-column:1 / -1;
	}
}

@media (max-width:640px) {
	.site-footer__panel {
		padding:28px 20px;
	}

	.site-footer__grid {
		grid-template-columns:1fr;
	}

	.site-footer__contact {
		grid-column:auto;
	}

	.site-footer__legal {
		padding-inline:8px;
	}
}

@media print {
	.site-footer {
		display:none !important;
	}
}

/* ========== Content / blog ========== */
.site-main {
	margin:2.5rem auto 4rem;
}

.page-template-landing-page .site-main,
.page-template-landing-page-php .site-main {
	width:100%;
	margin:0;
	max-width:none;
}

.layout {
	display:grid;
	grid-template-columns:minmax(0, 1fr);
	gap:2rem;
	align-items:start;
}

.has-sidebar .layout {
	grid-template-columns:minmax(0, 1fr) 280px;
}

.page-header {
	margin-bottom:1.75rem;
}

.page-title,
.entry-title {
	font-size:var(--qs-fs-3xl);
}

.archive-description {
	color:var(--qs-muted);
	max-width:42rem;
}

.post-grid {
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(270px, 1fr));
	gap:1.15rem;
}

.post-card {
	display:flex;
	flex-direction:column;
	min-height:100%;
	background:var(--qs-white);
	border:1px solid var(--qs-line);
	border-radius:var(--qs-radius);
	overflow:hidden;
	box-shadow:0 8px 24px rgba(26, 18, 75, 0.04);
}

.post-card__media img {
	width:100%;
	aspect-ratio:16 / 10;
	object-fit:cover;
}

.post-card__body {
	display:flex;
	flex-direction:column;
	gap:0.45rem;
	padding:1.15rem 1.2rem 1.3rem;
	flex:1;
}

.post-card__kicker {
	color:var(--qs-purple-500);
	font-size:var(--qs-fs-xs);
	font-weight:700;
	letter-spacing:var(--qs-tracking-wide);
	text-transform:uppercase;
	text-decoration:none;
}

.post-card__title {
	margin:0;
	font-size:1.35rem;
}

.post-card__title a {
	color:inherit;
	text-decoration:none;
}

.post-card__title a:hover {
	color:var(--qs-purple-500);
}

.entry-meta {
	color:var(--qs-muted);
	font-size:var(--qs-fs-sm);
}

.entry-meta a {
	color:inherit;
	text-decoration:none;
}

.entry-meta a:hover {
	color:var(--qs-purple-500);
}

.entry-meta__sep {
	margin:0 0.35rem;
}

.post-card__more {
	margin-top:auto;
	font-weight:700;
	text-decoration:none;
	color:var(--qs-purple-500);
}

.entry-header,
.entry-content,
.entry-footer,
.comments-area,
.post-navigation {
	max-width:var(--qs-content);
	margin-left:auto;
	margin-right:auto;
}

.entry--wide .entry-header,
.entry--wide .entry-content,
.entry-thumbnail {
	max-width:none;
}

.entry-thumbnail {
	margin:0 auto 1.75rem;
}

.entry-thumbnail img {
	width:100%;
	border-radius:var(--qs-radius);
}

.entry-content blockquote {
	margin-left:0;
	padding-left:1rem;
	border-left:3px solid var(--qs-lime);
	color:var(--qs-muted);
	font-size:var(--qs-fs-lg);
}

.entry-footer {
	display:flex;
	flex-wrap:wrap;
	gap:0.4rem 1rem;
	margin-top:1.5rem;
	color:var(--qs-muted);
	font-size:var(--qs-fs-sm);
}

.sidebar {
	padding:1.15rem;
	background:var(--qs-surface);
	border:1px solid var(--qs-line);
	border-radius:var(--qs-radius);
}

.widget-title {
	font-size:1.05rem;
	margin-bottom:0.7rem;
}

.pagination {
	margin-top:2rem;
}

.pagination .page-numbers {
	display:inline-flex;
	min-width:2.3rem;
	height:2.3rem;
	padding:0 0.7rem;
	align-items:center;
	justify-content:center;
	border-radius:var(--qs-radius-pill);
	border:1px solid var(--qs-line);
	background:var(--qs-white);
	color:var(--qs-ink);
	text-decoration:none;
}

.pagination .page-numbers.current,
.pagination a.page-numbers:hover {
	background:var(--qs-purple-800);
	border-color:var(--qs-purple-800);
	color:var(--qs-white);
}

/* Blog index — phpFox-style listing */
.site-main.blog-page {
	width:100%;
	max-width:none;
	margin:0;
}
.page-hero.blog-hero {
	padding-bottom:64px;
}
.blog-hero .blog-search {
	margin-top:32px;
}
.blog-search {
	position:relative;
	max-width:480px;
	margin:0 auto;
}
.blog-search svg {
	position:absolute;
	left:18px;
	top:50%;
	color:var(--qs-muted);
	pointer-events:none;
	transform:translateY(-50%);
}
.blog-search input {
	width:100%;
	padding:14px 18px 14px 48px;
	border:1px solid var(--qs-line);
	border-radius:999px;
	background:#fff;
	color:var(--qs-ink);
	font-size:15px;
	outline:none;
}
.blog-search input:focus {
	border-color:var(--qs-primary);
}
.blog-categories {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:10px;
	max-width:1180px;
	margin:0 auto;
	padding:8px 48px 40px;
}
.blog-cat-group {
	position:relative;
}
.blog-cat-pill {
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:9px 16px;
	border:1px solid #ddd4f7;
	border-radius:999px;
	background:linear-gradient(135deg, #f6f1ff, #fbf9ff);
	color:var(--qs-primary);
	font-size:13.5px;
	font-weight:600;
	white-space:nowrap;
	text-decoration:none;
}
.blog-cat-pill:hover {
	background:linear-gradient(135deg, #efe6ff, #f7f3ff);
	color:var(--qs-primary);
}
.blog-cat-pill.is-active {
	background:var(--qs-primary);
	border-color:var(--qs-primary);
	color:#fff;
}
.blog-cat-chevron {
	transition:transform 0.16s ease;
}
.blog-cat-group:hover .blog-cat-chevron,
.blog-cat-group:focus-within .blog-cat-chevron {
	transform:rotate(180deg);
}
.blog-cat-dropdown {
	position:absolute;
	top:calc(100% + 10px);
	left:50%;
	z-index:20;
	display:flex;
	flex-direction:column;
	gap:2px;
	min-width:240px;
	padding:10px;
	border:1px solid var(--qs-line);
	border-radius:14px;
	background:#fff;
	box-shadow:0 20px 40px -20px rgba(26, 18, 75, 0.3);
	visibility:hidden;
	opacity:0;
	transform:translateX(-50%) translateY(-6px);
	transition:opacity 0.16s, transform 0.16s, visibility 0.16s;
}
.blog-cat-group:hover .blog-cat-dropdown,
.blog-cat-group:focus-within .blog-cat-dropdown {
	visibility:visible;
	opacity:1;
	transform:translateX(-50%) translateY(0);
}
.blog-cat-dropdown-item {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:9px 14px;
	border-radius:9px;
	color:var(--qs-muted);
	font-size:13.5px;
	font-weight:600;
	white-space:nowrap;
	text-decoration:none;
}
.blog-cat-dropdown-item:hover {
	background:var(--qs-surface);
	color:var(--qs-ink);
}
.blog-cat-dropdown-item.is-active {
	background:#f3edff;
	color:var(--qs-primary);
}
.blog-cat-dropdown-count {
	color:var(--qs-muted);
	font-size:12px;
	font-weight:700;
	opacity:0.7;
}
.blog-card {
	color:var(--qs-ink);
	text-decoration:none;
}
.blog-card:hover {
	color:var(--qs-ink);
}
.blog-post-eyebrow {
	margin-bottom:12px;
	color:var(--qs-primary);
	font-size:12.5px;
	font-weight:700;
	letter-spacing:0.06em;
	text-transform:uppercase;
}
.blog-grid {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:28px;
	max-width:1180px;
	margin:0 auto;
	padding:0 48px 64px;
}
.blog-grid:has(+ .blog-autoload) {
	padding-bottom:28px;
}
.blog-card {
	display:flex;
	flex-direction:column;
	overflow:hidden;
	border:1px solid var(--qs-line);
	border-radius:18px;
	transition:box-shadow 0.2s, transform 0.2s;
}
.blog-card:hover {
	box-shadow:0 20px 40px -22px rgba(26, 18, 75, 0.2);
	transform:translateY(-4px);
}
.blog-card img,
.blog-card__placeholder {
	display:block;
	width:100%;
	height:auto;
	object-fit:contain;
}
.blog-card__placeholder {
	height:190px;
	background:linear-gradient(160deg, #f3edff, #e7f6f3);
}
.blog-card-body {
	padding:22px;
}
.blog-card h3 {
	margin:0 0 10px;
	color:#212121;
	font-size:17px;
	font-weight:700;
	line-height:1.4;
	letter-spacing:-0.01em;
}
.blog-card p {
	margin:0;
	color:var(--qs-muted);
	font-size:13.5px;
	line-height:1.65;
}
.blog-autoload {
	display:flex;
	justify-content:center;
	max-width:1180px;
	margin:0 auto;
	padding:8px 48px 96px;
}
.blog-autoload.is-done {
	display:none;
}
.blog-autoload__indicator {
	display:flex;
	align-items:center;
	gap:12px;
	color:var(--qs-muted);
	font-size:14px;
	font-weight:600;
}
.blog-autoload__indicator[hidden] {
	display:none;
}
.blog-autoload__status {
	margin:0;
}
.blog-autoload__spinner {
	width:22px;
	height:22px;
	border:2px solid var(--qs-line);
	border-top-color:var(--qs-primary);
	border-radius:50%;
	animation:qs-blog-spin 0.7s linear infinite;
}
.blog-autoload__retry {
	min-height:40px;
	padding:0.55rem 1.1rem;
}
.blog-autoload__fallback {
	color:var(--qs-primary);
	font-weight:700;
	text-decoration:none;
}
@keyframes qs-blog-spin {
	to { transform:rotate(360deg); }
}
.blog-pagination {
	max-width:1180px;
	margin:0 auto;
	padding:0 48px 96px;
}
.blog-pagination .nav-links {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	align-items:center;
	justify-content:center;
}
.blog-pagination .page-numbers {
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:38px;
	height:38px;
	padding:0 8px;
	border:1px solid var(--qs-line);
	border-radius:10px;
	color:var(--qs-muted);
	font-size:14px;
	font-weight:600;
	text-decoration:none;
}
.blog-pagination a.page-numbers:hover {
	background:var(--qs-surface);
	color:var(--qs-ink);
}
.blog-pagination .page-numbers.current {
	background:var(--qs-primary);
	border-color:var(--qs-primary);
	color:#fff;
}
.blog-page .no-results {
	max-width:1180px;
	margin:0 auto 80px;
	padding:0 48px;
	text-align:center;
}
.blog-page .no-results .search-form {
	display:none;
}
@media (max-width:900px) {
	.blog-grid {
		grid-template-columns:1fr;
	}
}
@media (max-width:640px) {
	.blog-categories,
	.blog-grid,
	.blog-pagination,
	.blog-autoload,
	.blog-page .no-results {
		padding-left:20px;
		padding-right:20px;
	}
}

/* ========== Single article ========== */
.single-article.site-main {
	width:100%;
	max-width:none;
	margin:0;
	background:
		radial-gradient(920px 320px at 50% -80px, rgba(189, 175, 255, 0.55), transparent 70%),
		linear-gradient(180deg, #f4f0ff 0%, #ffffff 420px);
}

.entry-narrow {
	width:min(900px, calc(100% - 40px));
	margin-inline:auto;
}

.single-article .entry-header,
.single-article .entry-content,
.single-article .entry-footer,
.single-article .comments-area,
.single-article .post-navigation {
	max-width:none;
}

.entry-hero {
	padding:3.25rem 0 0;
}

.entry-kicker {
	display:inline-flex;
	margin-bottom:16px;
	padding:6px 12px;
	border:1px solid #ddd4f7;
	border-radius:999px;
	background:#fff;
	color:var(--qs-primary);
	font-size:12px;
	font-weight:700;
	letter-spacing:0.06em;
	line-height:1.2;
	text-decoration:none;
	text-transform:uppercase;
}

.entry-kicker:hover {
	background:#f6f1ff;
	color:var(--qs-primary);
}

.single-article .entry-title {
	margin:0 0 1rem;
	color:var(--qs-purple-900);
	font-size:clamp(1.9rem, 3.5vw, 2.85rem);
	font-weight:700;
	line-height:1.12;
	letter-spacing:-0.03em;
}

.entry-lead {
	margin:0 0 1.35rem;
	color:rgba(5, 7, 63, 0.78);
	font-size:1.15rem;
	font-weight:400;
	line-height:1.5;
}

.entry-byline {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px 12px;
	margin:0;
	color:var(--qs-muted);
	font-size:0.9rem;
}

.entry-byline__sep {
	width:4px;
	height:4px;
	border-radius:50%;
	background:#c5c3d6;
}
.entry-byline .posted-on,
.entry-byline__read {
	color:var(--qs-muted);
}
.entry-cover {
	width:min(1040px, calc(100% - 40px));
	margin:2rem auto 2.25rem;
}
.entry-cover__img {
	border: 1px solid #cdbfec40;
	width:100%;
	border-radius:22px;
	box-shadow:0 28px 60px -36px rgba(26, 18, 75, 0.55);
}
.single-article .entry-content {
	color:#2c2c34;
	font-size:1.0625rem;
	line-height:1.8;
}

.single-article .entry-content > *:first-child,
.entry--page:not(.entry--wide) .entry-content > *:first-child {
	margin-top:0;
}

.single-article .entry-content p {
	margin-bottom:1.2em;
}

.single-article .entry-content a {
	color:var(--qs-primary);
	font-weight:600;
	text-decoration-color:rgba(112, 55, 237, 0.4);
	text-decoration-thickness:1px;
	text-underline-offset:0.18em;
}

.single-article .entry-content a:hover {
	color:var(--qs-purple-900);
	text-decoration-color:var(--qs-purple-900);
}

.single-article .entry-content h1,
.single-article .entry-content h2,
.single-article .entry-content h3,
.single-article .entry-content h4,
.single-article .entry-content h5,
.single-article .entry-content h6,
.entry--page:not(.entry--wide) .entry-content h1,
.entry--page:not(.entry--wide) .entry-content h2,
.entry--page:not(.entry--wide) .entry-content h3,
.entry--page:not(.entry--wide) .entry-content h4,
.entry--page:not(.entry--wide) .entry-content h5,
.entry--page:not(.entry--wide) .entry-content h6 {
	color:var(--qs-purple-900);
	font-weight:700;
	line-height:1.28;
	letter-spacing:-0.02em;
}

.single-article .entry-content h1,
.entry--page:not(.entry--wide) .entry-content h1 {
	margin:2.25rem 0 0.85rem;
	font-size:1.85rem;
}

.single-article .entry-content h2,
.entry--page:not(.entry--wide) .entry-content h2 {
	margin:2.5rem 0 0.75rem;
	font-size:1.5rem;
}

.single-article .entry-content h3,
.entry--page:not(.entry--wide) .entry-content h3 {
	margin:2rem 0 0.6rem;
	font-size:1.25rem;
}

.single-article .entry-content h4,
.single-article .entry-content h5,
.single-article .entry-content h6,
.entry--page:not(.entry--wide) .entry-content h4,
.entry--page:not(.entry--wide) .entry-content h5,
.entry--page:not(.entry--wide) .entry-content h6 {
	margin:1.6rem 0 0.45rem;
	font-size:1.125rem;
}

.single-article .entry-content img,
.single-article .entry-content figure {
	border-radius:16px;
}

.single-article .entry-content blockquote {
	margin:1.6em 0;
	padding:0.2rem 0 0.2rem 1.15rem;
	border-left:3px solid var(--qs-primary);
	color:var(--qs-purple-900);
	font-size:1.2rem;
	line-height:1.5;
}

.single-article .entry-footer {
	display:block;
	margin-top:2rem;
	padding-top:1.25rem;
	border-top:1px solid var(--qs-line);
}

.entry-tags {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
}

.entry-tags__label {
	margin-right:4px;
	color:var(--qs-muted);
	font-size:0.8rem;
	font-weight:700;
	letter-spacing:0.06em;
	text-transform:uppercase;
}

.entry-tag {
	display:inline-flex;
	padding:6px 12px;
	border:1px solid var(--qs-line);
	border-radius:999px;
	background:#fff;
	color:var(--qs-purple-900);
	font-size:0.82rem;
	font-weight:600;
	text-decoration:none;
}

.entry-tag:hover {
	border-color:#ddd4f7;
	background:#f6f1ff;
	color:var(--qs-primary);
}

.entry-after {
	padding-bottom:3.5rem;
}

.single-article .post-navigation {
	margin-top:2.5rem;
}

.single-article .post-navigation .nav-links {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
}

.single-article .post-navigation .nav-previous,
.single-article .post-navigation .nav-next {
	min-width:0;
}

.single-article .post-navigation a {
	display:flex;
	flex-direction:column;
	gap:6px;
	height:100%;
	padding:16px 18px;
	border:1px solid var(--qs-line);
	border-radius:16px;
	background:#fff;
	color:var(--qs-ink);
	text-decoration:none;
	transition:border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.single-article .post-navigation .nav-next a {
	align-items:flex-end;
	text-align:right;
}

.single-article .post-navigation a:hover {
	border-color:#ddd4f7;
	box-shadow:0 16px 32px -24px rgba(26, 18, 75, 0.45);
	color:var(--qs-ink);
	transform:translateY(-2px);
}

.post-nav__dir {
	color:var(--qs-primary);
	font-size:0.75rem;
	font-weight:700;
	letter-spacing:0.06em;
	text-transform:uppercase;
}

.post-nav__title {
	color:var(--qs-purple-900);
	font-size:0.98rem;
	font-weight:600;
	line-height:1.35;
}

.single-article .comments-area {
	margin-top:2.75rem;
	padding-top:2rem;
	border-top:1px solid var(--qs-line);
}

.single-article .comments-title,
.single-article .comment-reply-title {
	margin:0 0 0.35rem;
	color:var(--qs-purple-900);
	font-size:1.45rem;
}

.single-article .comment-notes,
.single-article .logged-in-as {
	margin:0 0 0.25rem;
	color:var(--qs-muted);
	font-size:0.9rem;
}

.single-article .comment-form {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px 16px;
	align-items:start;
	margin-top:1.1rem;
}

.single-article .comment-form > p {
	margin:0;
}

.single-article .comment-notes,
.single-article .logged-in-as,
.single-article .comment-form-comment,
.single-article .comment-form-url,
.single-article .comment-form-cookies-consent,
.single-article .form-submit {
	grid-column:1 / -1;
}

.single-article .comment-form label {
	display:block;
	margin-bottom:6px;
	color:var(--qs-purple-900);
	font-size:0.84rem;
	font-weight:600;
}

.single-article .comments-area textarea {
	min-height:140px;
	resize:vertical;
}

.single-article .comment-form-cookies-consent {
	display:flex;
	align-items:flex-start;
	gap:10px;
	color:var(--qs-muted);
	font-size:0.875rem;
	line-height:1.45;
}

.single-article .comment-form-cookies-consent input {
	margin-top:0.25em;
}

.single-article .comment-form-cookies-consent label {
	margin:0;
	color:inherit;
	font-weight:500;
}

.related-posts {
	padding:8px 0 88px;
	background:linear-gradient(180deg, #fff 0%, #f7f4ff 28%, #fff 100%);
	border-top:1px solid var(--qs-line);
}

.related-posts__inner {
	max-width:1180px;
	margin:0 auto;
	padding:36px 48px 0;
}

.related-posts__title {
	margin:0 0 22px;
	color:var(--qs-purple-900);
	font-size:clamp(1.45rem, 2vw, 1.85rem);
}

.related-posts__grid {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:28px;
}

@media (max-width:900px) {
	.single-article .post-navigation .nav-links,
	.single-article .comment-form,
	.related-posts__grid {
		grid-template-columns:1fr;
	}

	.single-article .post-navigation .nav-next a {
		align-items:flex-start;
		text-align:left;
	}
}

@media (max-width:640px) {
	.entry-hero {
		padding-top:2rem;
	}

	.entry-narrow,
	.entry-cover {
		width:min(100% - 32px, 720px);
	}

	.entry-cover {
		width:calc(100% - 32px);
		margin-top:1.5rem;
	}

	.entry-cover__img {
		border-radius:16px;
	}

	.related-posts__inner {
		padding-left:20px;
		padding-right:20px;
	}

	.related-posts {
		padding-bottom:56px;
	}
}

.comments-area {
	margin-top:2.75rem;
}

.comment-list {
	list-style:none;
	margin:0 0 2rem;
	padding:0;
}

.comment-list .children {
	list-style:none;
	margin-top:1rem;
	padding-left:1.25rem;
}

.comment-body {
	padding:1rem 0;
	border-top:1px solid var(--qs-line);
}

.comment-meta {
	display:flex;
	flex-wrap:wrap;
	gap:0.35rem 1rem;
	align-items:center;
	justify-content:space-between;
	margin-bottom:0.55rem;
}

.comment-author {
	display:flex;
	align-items:center;
	gap:0.75rem;
}

.comment-author .avatar {
	border-radius:999px;
}

.comment-metadata,
.comment-metadata a {
	color:var(--qs-muted);
	font-size:var(--qs-fs-sm);
	text-decoration:none;
}

.no-results,
.error-404 {
	padding:2rem 0 3rem;
	text-align:center;
}

.error-404__code {
	margin:0;
	font-size:clamp(5rem, 16vw, 9rem);
	line-height:0.85;
	letter-spacing:-0.06em;
	color:var(--qs-purple-500);
}

.error-404 .search-form {
	justify-content:center;
	margin-top:1.5rem;
}

.error-404 .search-field {
	max-width:22rem;
}

/* Responsive */
@media (max-width:1100px) {
	.feature-grid,
	.product-grid {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}

	.tech-grid {
		grid-template-columns:repeat(3, minmax(0, 1fr));
	}
}

@media (max-width:960px) {
	.split,
	.split--reverse,
	.has-sidebar .layout {
		grid-template-columns:1fr;
	}

	.split--reverse .split__copy,
	.split--reverse .split__media {
		order:initial;
	}

}

@media (max-width:640px) {
	.feature-grid,
	.product-grid,
	.showcase-grid,
	.tech-grid {
		grid-template-columns:1fr;
	}

	.landing-hero {
		padding-top:calc(var(--qs-header-h) + 40px);
	}
}

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

	.btn,
	button {
		transition:none;
	}
}

/* ========== Landing ========== */
.is-landing {
	background:#fff;
	color:#101620;
}
.landing .section-header--center{
	text-align:center;
}
.landing .section-header--center .section-lead {
	margin-inline:auto;
}
.landing-hero {
	position:relative;
	margin-top:calc(var(--qs-header-h) * -1);
	padding:calc(var(--qs-header-h) + 72px) 0 80px;
	background:linear-gradient(180deg, #ffffff 31.8%, #bdafff 65.3%, #d9d1ff 74.5%, #ffffff 83.6%);
	color:var(--qs-purple-900);
	text-align:center;
	overflow:hidden;
}

.landing-hero__copy {
	position:relative;
	z-index:1;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:22px;
	width:min(1248px, calc(100% - 48px));
}

.landing-hero__title {
	margin:0;
	font-size:clamp(32px, 5vw, 70px);
	font-weight:700;
	line-height:0.98;
	letter-spacing:-0.018em;
	color:var(--qs-purple-900);
}

.landing-hero__title span {
	color:var(--qs-primary);
}

.landing-hero__text {
	max-width:40rem;
	margin:0;
	color:rgba(5, 7, 63, 0.82);
	font-size:20px;
	font-weight:400;
	line-height:1.6;
}

.landing-hero__text a {
	color:var(--qs-primary);
	font-weight:500;
	text-decoration:none;
}

.landing-hero__text a:hover {
	color:var(--qs-purple-900);
}

.landing-hero__actions {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:12px;
	margin:0;
}

.landing-hero__actions .btn--primary {
	min-height:48px;
	padding:16px 28px;
	border-radius:1440px;
	font-size:18px;
	font-weight:600;
	line-height:1;
}

.landing-hero__media {
	position:relative;
	z-index:1;
	width:min(1040px, calc(100% - 48px));
	margin:52px auto 0;
}

.landing-hero__media img {
	width:100%;
	height:auto;
	border-radius:20px;
	background:#fff;
	box-shadow:0 24px 70px rgba(5, 7, 63, 0.16);
}

.landing-features {
	position:relative;
	z-index:2;
	margin-top:0;
	padding-top:80px;
	background:#fff;
}

.feature-grid {
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:24px;
}

.feature-card{
	position:relative;
	display:flex;
	flex-direction:column;
	min-height:100%;
	padding:32px 28px 28px;
	border:0;
	border-radius:24px;
	background:var(--qs-purple-100);
}

.feature-card:hover{
	background:#e6defb;
}

.feature-card__icon {
	display:grid;
	place-items:center;
	width:52px;
	height:52px;
	margin-bottom:18px;
	border-radius:14px;
	background:#fff;
	color:var(--qs-primary);
}

.feature-card__icon svg {
	display:block;
	width:26px;
	height:26px;
}

.feature-card__title {
	margin:0 0 10px;
	padding:0;
	font-size:18px;
	font-weight:700;
	line-height:1.3;
	letter-spacing:-0.018em;
	color:var(--qs-purple-900);
}

.feature-card__text {
	margin:0;
	padding:0;
	font-size:15.5px;
	font-weight:400;
	line-height:1.55;
	color:rgba(5, 7, 63, 0.82);
}

.feature-card--accent .feature-card__text {
	color:rgba(5, 7, 63, 0.9);
}

.landing-showcase {
	background:var(--qs-purple-100);
	color:var(--qs-purple-900);
	padding:80px 0;
}

.landing .section-title,
.page-cta__title {
	font-weight:700;
	line-height:1.2;
	letter-spacing:-0.02em;
	color:var(--qs-purple-900);
}

.landing .section-title {
	font-size:clamp(28px, 3vw, 40px);
	line-height:1.18;
}

.landing .section-lead {
	font-size:18px;
	font-weight:400;
	line-height:1.6;
	color:rgba(5, 7, 63, 0.78);
}

.landing .section-header--center .section-title {
	max-width:22em;
	margin-inline:auto;
}

.landing-features .section-title {
	max-width:12em;
}

.page-cta__title {
	font-size:clamp(24px, 3.1vw, 40px);
}

.landing .section-title em,
.page-cta__title em {
	font-style:italic;
	font-weight:700;
	color:var(--qs-primary);
}

.landing-showcase .section-lead,
.landing-products .section-lead {
	max-width:42rem;
	color:var(--qs-purple-800);
	font-size:18px;
	font-weight:400;
	line-height:1.6;
}

.showcase-media {
	margin-bottom:40px;
	border-radius:20px;
	background:#fff;
	overflow:hidden;
}

.showcase-media img {
	display:block;
	width:100%;
	max-width:none;
	margin-top:-20px;
	object-fit:cover;
}

.showcase-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:40px 56px;
}

.showcase-item {
	display:flex;
	gap:16px;
	align-items:flex-start;
	background:transparent;
}

.showcase-item__icon {
	display:flex;
	flex:0 0 52px;
	width:52px;
	height:52px;
	margin-top:2px;
	border-radius:14px;
	background:#fff;
	color:#7037ed;
	align-items:center;
	justify-content:center;
}

.showcase-item__icon svg {
	display:block;
	width:24px;
	height:24px;
}

.showcase-item h3 {
	margin:0 0 8px;
	font-size:22px;
	font-weight:700;
	line-height:1.25;
	color:#101620;
}

.showcase-item p {
	margin:0;
	max-width:32rem;
	color:#33244a;
	font-size:16px;
	line-height:1.55;
}
.landing-split {
	padding:var(--qs-section-padding) 0;
	background:#fff;
}
.landing-split .split {
	display:grid;
	grid-template-columns:minmax(0, 597px) minmax(0, 550px);
	gap:88px;
	align-items:center;
}

.landing-split .section-lead {
	max-width:36rem;
	margin-top:16px;
	color:rgba(5, 7, 63, 0.78);
	font-size:17px;
	font-weight:400;
	line-height:1.6;
}

.check-list {
	display:flex;
	flex-direction:column;
	gap:14px;
	list-style:none;
	margin:32px 0 0;
	padding:0;
}

.check-list li {
	display:flex;
	align-items:center;
	gap:14px;
	color:#17181b;
	font-size:16px;
	font-weight:600;
	line-height:1.35;
}

.check-list__icon {
	display:grid;
	place-items:center;
	flex:none;
	width:40px;
	height:40px;
	border-radius:12px;
	background:var(--qs-purple-100);
	color:var(--qs-primary);
}

.check-list__icon svg {
	display:block;
	width:20px;
	height:20px;
}

.split-panel {
	display:grid;
	place-items:center;
	height:513px;
	border-radius:20px;
	background:linear-gradient(131deg, var(--qs-purple-100) 18%, #ffffff 40%, var(--qs-mint-100) 72%, #ffffff 96%);
}

.split-panel > img {
	width:487px;
	max-width:88%;
	height:360px;
	object-fit:cover;
	object-position:left top;
	border-radius:20px;
	background:#fff;
}

.split-panel--control {
	height:auto;
	background:transparent;
	border-radius:0;
	overflow:visible;
}

.split-panel--control > img {
	width:100%;
	max-width:none;
	height:auto;
	object-fit:contain;
	border-radius:16px;
	background:#fff;
	box-shadow:0 24px 60px rgba(5, 7, 63, 0.16);
}
.split-panel--member {
	background:transparent;
	height:auto;
	overflow:visible;
}
.split-panel--member > img {
	width:100%;
	max-width:100%;
	height:auto;
	object-fit:contain;
	border-radius:16px;
	background:#fff;
	box-shadow:0 24px 60px rgba(5, 7, 63, 0.16);
}
.landing-products {
	background:var(--qs-purple-100);
	color:var(--qs-purple-900);
	padding:var(--qs-section-padding) 0 90px;
	overflow:hidden;
}
.product-rail {
	position:relative;
	width:min(1440px, 100%);
	margin:0 auto;
	overflow:hidden;
}
.product-rail__viewport {
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	scrollbar-width:none;
	padding-inline:90px;
	overflow-y: hidden;
	padding-block: 10px;
}
.product-rail__viewport::-webkit-scrollbar {
	display:none;
}
.product-grid {
	display:flex;
	gap:35px;
	width:max-content;
	margin:0;
}
.product-card {
	display:flex;
	flex-direction:column;
	gap:12px;
	width:372px;
	padding:28px 28px 24px;
	border-radius:18px;
	scroll-snap-align:start;
}
.product-card__icon {
	display:grid;
	place-items:center;
	width:48px;
	height:48px;
	margin-bottom:4px;
	border-radius:14px;
	background:#fff;
	color:var(--qs-purple-500);
}
.product-card--a .product-card__icon {
	background:var(--qs-purple-100);
}
.product-card__icon svg {
	display:block;
	width:26px;
	height:26px;
}
.product-card--a { background:#ffffff; }
.product-card--b {
	background:var(--qs-mint-100);
}
.product-card--b .product-card__icon { color:var(--qs-mint-600); }
.product-card--c { background:var(--qs-purple-300); }
.product-card--d { background:#d5f3ec; }
.product-card--d .product-card__icon { color:var(--qs-mint-600); }
.product-card__title {
	margin:0;
	font-size:22px;
	font-weight:700;
	line-height:1.25;
	color:#101620;
}
.product-card__text {
	margin:0;
	font-size:16px;
	font-weight:400;
	line-height:1.55;
	color:#33244a;
}
.product-card__link {
	display:inline-flex;
	align-items:center;
	gap:10px;
	margin-top:auto;
	padding-top:6px;
	color:#101620;
	font-size:15px;
	font-weight:600;
	line-height:1.2;
	text-decoration:none;
}
.product-card__link span {
	display:grid;
	place-items:center;
	width:24px;
	height:24px;
	border:1px solid #101620;
	border-radius:40px;
}
.product-rail__btn {
	position:absolute;
	top:91px;
	z-index:2;
	width:59px;
	height:59px;
	padding:0;
	border:0;
	background:transparent;
	cursor:pointer;
}
.product-rail__btn img {
	display:block;
	width:59px;
	height:59px;
	max-width:none;
}
.product-rail__btn--prev { left:8px; }
.product-rail__btn--next { right:8px; }
.product-rail__btn[hidden] {
	display:none;
}
.member-checks {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:0 28px;
	margin-top:28px;
}
.check-list--marks {
	gap:12px;
	margin:0;
}
.check-list--marks li {
	align-items:flex-start;
	gap:10px;
	color:var(--qs-purple-800);
	font-size:15px;
	font-weight:500;
	line-height:1.4;
}
.check-list__mark {
	display:grid;
	place-items:center;
	flex:none;
	width:22px;
	height:22px;
	margin-top:1px;
	color:var(--qs-primary);
}
.check-list__mark svg {
	display:block;
	width:22px;
	height:22px;
}
.landing-tech {
	background:linear-gradient(180deg, #e8e2fb 0%, #f3efff 38%, #fbfaff 68%, #fff 100%);
	color:var(--qs-purple-900);
	padding:var(--qs-section-padding) 0;
}
.landing-tech .section-lead {
	max-width:931px;
	color:var(--qs-purple-800);
	font-weight:400;
	line-height:1.6;
}
.tech-grid {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:32px;
}
.tech-grid--center {
	margin-top:33px;
}
.tech-item {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:4px;
	height:80px;
	min-width:160px;
	padding:0 28px;
	border:0;
	border-radius:400px;
	background:var(--qs-purple-100);
	color:var(--qs-purple-900);
	font-size:16px;
	font-weight:500;
}
.tech-item img,
.tech-item__mysql {
	object-fit:contain;
	flex:none;
}
.tech-item__mysql {
	display:block;
}
.landing-pay {
	padding:var(--qs-section-padding) 0;
	background:#fff;
}
.landing-integ {
	padding:var(--qs-section-padding) 0;
	background:var(--qs-purple-100);
	color:var(--qs-purple-900);
}
.landing-pay .section-lead,
.landing-integ .section-lead {
	max-width:42rem;
}
.section-kicker {
	display:flex;
	align-items:center;
	gap:10px;
	margin:0 0 12px;
	color:#7c4dff;
	font-size:12px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.section-kicker::after {
	content:"";
	width:28px;
	height:2px;
	border-radius:2px;
	background:#c4b5fd;
}
.pay-brands {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:28px 40px;
	list-style:none;
	margin:0 0 28px;
	padding:0;
}
.pay-brands li {
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:10px;
	width:88px;
	color:var(--qs-purple-900);
	font-size:15px;
	font-weight:600;
}
.pay-brands__mark {
	display:grid;
	place-items:center;
	width:76px;
	height:76px;
	border-radius:50%;
	background:var(--qs-purple-100);
}
.pay-brands__mark svg {
	width:40px;
	height:40px;
}
.pay-brands__mark svg.pay-brands__payu {
	width:54px;
	height:34px;
}
.pay-soon {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:fit-content;
	margin:0 auto;
	padding:8px 16px 8px 8px;
	border-radius:999px;
	background:var(--qs-purple-100);
	color:var(--qs-primary);
	font-size:15px;
	font-weight:600;
}
.pay-soon span {
	display:grid;
	place-items:center;
	width:22px;
	height:22px;
	border:1.5px solid currentColor;
	border-radius:50%;
	font-size:16px;
	line-height:1;
}
.integ-grid {
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:20px;
}
.integ-card {
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	min-height:210px;
	padding:24px 22px 20px;
	border-radius:24px;
	background:#fff;
}
.integ-card__top {
	display:flex;
	gap:10px;
}
.integ-card__icon {
	display:grid;
	place-items:center;
	flex:none;
	width:48px;
	height:48px;
	border-radius:14px;
	background:var(--qs-purple-100);
}
.integ-card__icon svg {
	width:22px;
	height:22px;
}
.integ-card--mail .integ-card__icon { color:#5b8def; }
.integ-card--delivery .integ-card__icon { color:#22a06b; }
.integ-card--cloud .integ-card__icon { color:#f08a3c; }
.integ-card--social .integ-card__icon { color:#8b6cf6; }
.integ-card--sms .integ-card__icon { color:#f06a8a; }
.integ-card--maps .integ-card__icon { color:#e0a106; }
.integ-card--media .integ-card__icon { color:#2aa0c4; }
.integ-card--secure .integ-card__icon { color:#e11d74; }
.integ-card h3 {
	margin:0 0 6px;
	color:var(--qs-purple-900);
	font-size:18px;
	font-weight:700;
	line-height:1.3;
}
.integ-card p {
	margin:0;
	color:rgba(5, 7, 63, 0.78);
	font-size:15.5px;
	font-weight:400;
	line-height:1.5;
}
.integ-card__foot {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	margin-top:16px;
}
.integ-logos {
	display:flex;
	align-items:center;
	gap:6px;
	min-width:0;
}
.logo {
	display:grid;
	place-items:center;
	flex:none;
	width:26px;
	height:26px;
	border-radius:7px;
	color:#fff;
	font-size:11px;
	font-weight:800;
	line-height:1;
}
.logo--mc { background:transparent; }
.logo--mc svg { display:block; width:26px; height:26px; }
.logo--brevo { background:transparent; border-radius:50%; }
.logo--brevo svg { display:block; width:26px; height:26px; }
.logo--ac { background:transparent; }
.logo--ac svg { display:block; width:26px; height:26px; }
.logo--smtp { width:auto; padding:0 7px; background:#1f8f5f; font-size:9px; letter-spacing:.02em; }
.logo--aws { background:transparent; }
.logo--aws svg { display:block; width:26px; height:26px; }
.logo--wasabi { background:transparent; }
.logo--wasabi svg { display:block; width:26px; height:26px; }
.logo--do { background:transparent; }
.logo--do svg { display:block; width:26px; height:26px; }
.logo--fb { background:transparent; border-radius:50%; }
.logo--fb svg { display:block; width:26px; height:26px; }
.logo--google { background:transparent; border-radius:50%; }
.logo--google svg { display:block; width:26px; height:26px; }
.logo--x { background:transparent; border-radius:50%; }
.logo--x svg { display:block; width:26px; height:26px; }
.logo--in { background:transparent; border-radius:50%; }
.logo--in svg { display:block; width:26px; height:26px; }
.logo--vk { width:26px; min-width:0; padding:0; background:transparent; border-radius:50%; }
.logo--vk svg { display:block; width:26px; height:26px; }
.logo--twilio { background:transparent; border-radius:50%; }
.logo--twilio svg { display:block; width:26px; height:26px; }
.logo--msg { width:20px; height:26px; padding:0; background:transparent; border-radius:0; overflow: hidden;}
.logo--msg svg { display:block; width:60px; height:auto; max-width: inherit;}
.logo--2fa { background:transparent; border-radius:0; }
.logo--2fa img { display:block; width:26px; height:26px; }
.logo--gmaps { background:transparent; border-radius:0; box-shadow:none; }
.logo--gmaps svg { display:block; width:auto; height:26px; }
.logo--gtr { background:transparent; border-radius:0; }
.logo--gtr svg { display:block; width:26px; height:26px; }
.logo--giphy { width:26px; padding:0; background:transparent; border-radius:4px; }
.logo--giphy svg { display:block; width:26px; height:26px; }
.logo--giphy::after { content:none; }
.logo--fcm { background:transparent; border-radius:0; }
.logo--fcm svg { display:block; width:auto; height:26px; }
.logo--captcha { width:auto; background:transparent; border-radius:0; box-shadow:none; }
.logo--captcha svg { display:block; width:auto; height:26px; }
.integ-more {
	display:grid;
	place-items:center;
	flex:none;
	width:28px;
	height:28px;
	border-radius:50%;
	background:#fff;
	color:#7c4dff;
	box-shadow:0 4px 10px rgba(80, 40, 140, .08);
}
@media (max-width:1100px) {
	.integ-grid {
		grid-template-columns:1fr 1fr;
	}
}
@media (max-width:760px) {
	.integ-grid {
		grid-template-columns:1fr;
	}
}
.landing-process {
	position:relative;
	padding:var(--qs-section-padding) 0;
	background:#fbfaff;
	overflow:hidden;
}
.landing-process .section-lead {
	max-width:680px;
	color:#5c5670;
	font-weight:400;
	line-height:1.6;
}
.process-layout {
	display:grid;
	grid-template-columns:minmax(0, 1.05fr) minmax(0, 1fr);
	gap:56px;
	align-items:center;
}
.process-media__photo {
	display:block;
	width:100%;
	height:auto;
	border-radius:18px;
	box-shadow:0 16px 40px rgba(70, 40, 130, 0.1);
}
.process-steps {
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
}
.process-step {
	display:grid;
	grid-template-columns:52px minmax(0, 1fr);
	column-gap:18px;
	align-items:stretch;
}
.process-step__rail {
	display:flex;
	flex-direction:column;
	align-items:center;
}
.process-step__icon {
	display:grid;
	place-items:center;
	flex:none;
	width:52px;
	height:52px;
	border-radius:14px;
	background:var(--qs-purple-100);
	color:#7c4dff;
}
.process-step__line {
	flex:1;
	width:10px;
	min-height:28px;
	margin:8px 0;
	background:
		linear-gradient(#cfc8dc, #cfc8dc) center / 2px 100% no-repeat,
		radial-gradient(circle at 50% 50%, #b9b1c8 4px, transparent 4.2px);
}
.process-step__copy {
	padding:8px 0 26px;
}
.process-step:last-child .process-step__copy {
	padding-bottom:0;
}
.process-step h3 {
	margin:0 0 8px;
	color:var(--qs-purple-900);
	font-size:20px;
	font-weight:700;
	line-height:1.3;
}
.process-step p {
	margin:0;
	color:#4e4960;
	font-size:16px;
	font-weight:400;
	line-height:1.55;
}
.page-cta {
	background:var(--qs-purple-100);
	color:var(--qs-purple-900);
	padding:88px 0 10px;
	text-align:center;
}
.page-cta__title {
	color:var(--qs-purple-900);
}
.page-cta__lead {
	max-width:40rem;
	margin:0 auto 24px;
	color:var(--qs-purple-800);
	font-size:18px;
	font-weight:400;
	line-height:1.6;
}
.page-cta__notes {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:14px 28px;
	list-style:none;
	margin:18px 0 36px;
	padding:0;
	color:var(--qs-purple-800);
	font-size:16px;
	font-weight:400;
}
.page-cta__notes li {
	display:inline-flex;
	align-items:center;
	gap:10px;
}
@media (max-width:1100px) {
	.landing-hero__text {
		font-size:18px;
	}
	.landing .section-lead,
	.page-cta__lead {
		font-size:16px;
	}
	.feature-grid {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
	.landing-split .split,
	.process-layout {
		grid-template-columns:1fr;
		gap:32px;
	}
	.landing-hero {
		padding-bottom:48px;
	}
	.landing-hero__media {
		margin-top:40px;
	}
	.split-panel {
		height:auto;
		min-height:320px;
	}
	.process-media {
		max-width:640px;
		margin-inline:auto;
	}
}

@media (max-width:640px) {
	.feature-grid,
	.showcase-grid,
	.member-checks {
		grid-template-columns:1fr;
	}
	.landing-hero {
		padding-top:calc(var(--qs-header-h) + 40px);
	}
	.product-rail__viewport {
		padding-inline:16px;
	}
	.product-card {
		width:min(372px, 82vw);
	}
}

@media (prefers-reduced-motion:no-preference) {
	html.qs-motion .landing-hero__title,
	html.qs-motion .landing-hero__text,
	html.qs-motion .landing-hero__actions,
	html.qs-motion .landing-hero__media,
	html.qs-motion .page-hero__kicker,
	html.qs-motion .page-hero__title,
	html.qs-motion .page-hero__lead,
	html.qs-motion .section-header,
	html.qs-motion .feature-card,
	html.qs-motion .features-card,
	html.qs-motion .showcase-media,
	html.qs-motion .showcase-item,
	html.qs-motion .split__copy,
	html.qs-motion .split__media,
	html.qs-motion .product-card,
	html.qs-motion .tech-item,
	html.qs-motion .pay-brands,
	html.qs-motion .integ-card,
	html.qs-motion .process-media,
	html.qs-motion .process-step,
	html.qs-motion .about-purpose__item,
	html.qs-motion .about-values__title,
	html.qs-motion .about-values__pill,
	html.qs-motion .about-points__title,
	html.qs-motion .about-points__card,
	html.qs-motion .contact-form__panel,
	html.qs-motion .contact-card,
	html.qs-motion .pricing-card,
	html.qs-motion .pricing-included__card,
	html.qs-motion .pricing-faq__item,
	html.qs-motion .page-cta__title,
	html.qs-motion .page-cta__lead,
	html.qs-motion .page-cta .btn-row,
	html.qs-motion .page-cta__notes {
		opacity:0;
		transform:translateY(14px);
		transition:
			opacity 0.6s var(--qs-ease),
			transform 0.6s var(--qs-ease);
		transition-delay:calc(var(--qs-i, 0) * 60ms);
	}

	html.qs-motion .site-main .is-in {
		opacity:1;
		transform:none;
	}
}

/* ========== Features page ========== */
.features-page {
	width:100%;
	max-width:none;
	margin:0;
}

.page-hero {
	position:relative;
	overflow:hidden;
	padding:88px 0 80px;
	text-align:center;
	color:var(--qs-purple-900);
	background:linear-gradient(180deg, #e8e2fb 0%, #f3efff 38%, #fbfaff 68%, #fff 100%);
}

.page-hero__copy {
	position:relative;
	z-index:1;
	margin-inline:auto;
}

.page-hero__title {
	margin:0 auto 20px;
	font-size:clamp(2.6rem, 5vw, 50px);
	font-weight:700;
	line-height:1.1;
	letter-spacing:-0.018em;
	color:var(--qs-purple-900);
}

.page-hero__title strong {
	color:var(--qs-primary);
}

.page-hero__kicker {
	margin:0 0 16px;
	color:var(--qs-primary);
	font-size:13px;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
}

.page-hero__lead {
	margin:0 auto;
	color:rgba(5, 7, 63, 0.9);
	font-size:clamp(1.125rem, 2vw, 1.5rem);
	font-weight:300;
	line-height:1.45;
	max-width: 850px;
}

.features-nav {
	position:sticky;
	top:var(--qs-header-h);
	z-index:40;
	padding:14px 0;
	background:rgba(255, 255, 255, 0.96);
	border-bottom:1px solid var(--qs-line);
	backdrop-filter:blur(10px);
}

.admin-bar .features-nav {
	top:calc(var(--qs-header-h) + 32px);
}

.features-nav__list {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:8px;
}

.features-nav a {
	display:inline-flex;
	align-items:center;
	padding:8px 14px;
	border:1px solid var(--qs-purple-300);
	border-radius:var(--qs-radius-pill);
	background:#fff;
	color:var(--qs-purple-900);
	font-size:var(--qs-fs-sm);
	font-weight:600;
	line-height:1.2;
	text-decoration:none;
}

.features-nav a:hover {
	border-color:var(--qs-primary);
	background:var(--qs-purple-100);
	color:var(--qs-primary);
}

.features-group {
	padding:64px 0 0;
	scroll-margin-top:calc(var(--qs-header-h) + 88px);
	background:#fff;
	border-top:0;
	color:var(--qs-purple-900);
}

.features-group:last-child {
	padding-bottom:64px;
}

.features-group .section-header {
	margin-bottom:1.75rem;
}

.features-group .section-title {
	color:var(--qs-purple-900);
}

.features-group .section-lead {
	color:var(--qs-purple-800);
}

.features-grid {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:20px;
}

.features-card {
	display:flex;
	flex-direction:column;
	padding:22px;
	border:0;
	border-radius:16px;
	background:var(--qs-purple-100);
}

.features-card:hover {
	background:#e6defb;
}

.features-card__icon {
	display:grid;
	place-items:center;
	width:44px;
	height:44px;
	margin-bottom:16px;
	border-radius:12px;
	background:#fff;
	color:var(--qs-primary);
}

.features-card__icon svg {
	display:block;
	width:20px;
	height:20px;
}

.features-card__title {
	margin:0 0 8px;
	font-size:1.25rem;
	font-weight:700;
	line-height:1.25;
	color:var(--qs-purple-900);
}

.features-card__text {
	margin:0;
	color:rgba(5, 7, 63, 0.78);
	font-weight:500;
	line-height:1.5;
}

.features-card:hover .features-card__text {
	color:var(--qs-purple-900);
}

@media (max-width:782px) {
	.admin-bar .features-nav {
		top:calc(var(--qs-header-h) + 46px);
	}
}

@media (max-width:960px) {
	.features-grid {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}

@media (max-width:640px) {
	.page-hero {
		padding:56px 0 64px;
	}

	.features-grid {
		grid-template-columns:1fr;
	}

	.features-nav__list {
		justify-content:flex-start;
		flex-wrap:nowrap;
		overflow-x:auto;
		padding-bottom:4px;
	}

	.features-nav a {
		flex:0 0 auto;
	}
}

/* ========== Pricing page ========== */
.pricing-page {
	width:100%;
	max-width:none;
	margin:0;
}

.pricing-plans {
	padding:72px 0 24px;
	background:#fff;
}

.pricing-grid {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:24px;
	align-items:stretch;
}

.pricing-card {
	position:relative;
	display:flex;
	flex-direction:column;
	padding:32px 28px 28px;
	border:2px solid #e4e7f0;
	border-radius:16px;
	background:#fff;
}

.pricing-card.is-popular {
	border-color:#7b5fe2;
	box-shadow:0 18px 40px rgba(107, 78, 255, 0.14);
}

.pricing-card__badge {
	position:absolute;
	top:0;
	left:50%;
	margin:0;
	padding:6px 14px;
	border-radius:var(--qs-radius-pill);
	background:var(--qs-primary);
	color:#fff;
	font-size:0.7rem;
	font-weight:700;
	letter-spacing:0.08em;
	text-transform:uppercase;
	transform:translate(-50%, -50%);
}

.pricing-card__name {
	margin:0 0 8px;
	font-size:1.25rem;
	color:#1a124b;
}

.pricing-card__price {
	margin:0 0 10px;
	font-size:2.75rem;
	font-weight:800;
	line-height:1;
	letter-spacing:-0.03em;
	color:#1a124b;
}

.pricing-card__price span {
	margin-left:2px;
	font-size:1rem;
	font-weight:500;
	letter-spacing:0;
	color:#6b728a;
}

.pricing-card__text {
	margin:0 0 22px;
	min-height:3.2em;
	color:#58585c;
	font-size:0.95rem;
	line-height:1.5;
}

.pricing-card__list {
	list-style:none;
	margin:0 0 28px;
	padding:0;
	flex:1;
}

.pricing-card__list li {
	display:flex;
	align-items:flex-start;
	gap:10px;
	margin:0 0 12px;
	color:#25252b;
	font-size:0.95rem;
	font-weight:500;
	line-height:1.4;
}

.pricing-card__check {
	display:grid;
	place-items:center;
	flex:0 0 18px;
	width:18px;
	height:18px;
	margin-top:1px;
	color:var(--qs-primary);
}

.pricing-card__check svg {
	display:block;
	width:16px;
	height:16px;
}

.pricing-card__btn {
	width:100%;
	margin-top:auto;
}

.btn.pricing-card__btn--ghost {
	background:#fff;
	color:#1a124b;
	border-color:#d9d3f0;
}

.btn.pricing-card__btn--ghost:hover {
	background:#f7f4ff;
	color:var(--qs-primary);
	border-color:#7b5fe2;
}

.pricing-included {
	padding:48px 0 24px;
	background:#fff;
}

.pricing-included .section-title {
	text-align:center;
}

.pricing-included__grid {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:20px;
}

.pricing-included__card {
	padding:22px;
	border:0;
	border-radius:16px;
	background:var(--qs-purple-100);
}

.pricing-included__card:hover {
	background:#e6defb;
}

.pricing-included__icon {
	display:grid;
	place-items:center;
	width:44px;
	height:44px;
	margin-bottom:16px;
	border-radius:12px;
	background:#fff;
	color:var(--qs-primary);
}

.pricing-included__icon svg {
	display:block;
	width:22px;
	height:22px;
}

.pricing-included__card h3 {
	margin:0 0 8px;
	font-size:1.15rem;
	color:var(--qs-purple-900);
}

.pricing-included__card p {
	margin:0;
	color:rgba(5, 7, 63, 0.78);
	font-weight:500;
	line-height:1.5;
}

.pricing-faq {
	padding:48px 0 96px;
	background:#fff;
}

.pricing-faq .section-title {
	text-align:center;
}

.pricing-faq__list {
	display:flex;
	flex-direction:column;
	gap:12px;
	max-width:860px;
	margin:0 auto;
}

.pricing-faq__item {
	border:1px solid #e4e7f0;
	border-radius:16px;
	background:#fff;
	overflow:hidden;
}

.pricing-faq__item[open] {
	border-color:#d9d3f0;
	box-shadow:0 10px 28px rgba(26, 18, 75, 0.06);
}

.pricing-faq__question {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:20px 24px;
	cursor:pointer;
	list-style:none;
	color:#1a124b;
	font-size:1.05rem;
	font-weight:600;
	line-height:1.4;
}

.pricing-faq__question::-webkit-details-marker,
.pricing-faq__question::marker {
	display:none;
	content:"";
}

.pricing-faq__question:focus-visible {
	outline:2px solid var(--qs-purple-400);
	outline-offset:-2px;
}

.pricing-faq__icon {
	display:grid;
	place-items:center;
	flex:0 0 28px;
	width:28px;
	height:28px;
	border-radius:50%;
	background:var(--qs-purple-100);
	color:var(--qs-primary);
	transition:transform 0.2s var(--qs-ease), background 0.2s var(--qs-ease), color 0.2s var(--qs-ease);
}

.pricing-faq__item[open] .pricing-faq__icon {
	background:var(--qs-primary);
	color:#fff;
	transform:rotate(180deg);
}

.pricing-faq__icon svg {
	display:block;
	width:16px;
	height:16px;
}

.pricing-faq__answer {
	padding:0 68px 22px 24px;
}

.pricing-faq__answer p {
	margin:0;
	color:#58585c;
	font-size:0.98rem;
	line-height:1.65;
}

@media (max-width:960px) {
	.pricing-grid,
	.pricing-included__grid {
		grid-template-columns:1fr;
	}

	.pricing-card__text {
		min-height:0;
	}

	.pricing-faq__question,
	.pricing-faq__answer {
		padding-right:18px;
		padding-left:18px;
	}

	.pricing-faq__question {
		padding-top:18px;
		padding-bottom:18px;
	}

	.pricing-faq__answer {
		padding-bottom:18px;
	}
}

/* ========== About page ========== */
.about-page {
	width:100%;
	max-width:none;
	margin:0;
}

.about-purpose {
	padding:72px 0;
	background:#fff;
}

.about-purpose__grid {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:24px;
}

.about-purpose__item {
	position:relative;
	display:flex;
	flex-direction:column;
	padding:32px 32px 36px;
	overflow:hidden;
	border:1px solid var(--qs-line);
	border-radius:20px;
	background:#fff;
	box-shadow:0 12px 32px rgba(26, 18, 75, 0.04);
}

.about-purpose__item::before {
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:3px;
	background:var(--qs-primary);
}

.about-purpose__item--mission::before {
	background:var(--qs-mint-500);
}

.about-purpose__icon,
.about-points__icon {
	display:grid;
	place-items:center;
	width:48px;
	height:48px;
	margin-bottom:18px;
	border-radius:14px;
	background:var(--qs-purple-100);
	color:var(--qs-primary);
}

.about-purpose__item--mission .about-purpose__icon {
	background:var(--qs-mint-100);
	color:var(--qs-mint-600);
}

.about-purpose__icon svg,
.about-points__icon svg {
	display:block;
	width:22px;
	height:22px;
}

.about-purpose__item h2 {
	margin:0 0 12px;
	font-size:clamp(1.5rem, 2.2vw, 1.85rem);
	font-weight:700;
	letter-spacing:-0.02em;
	line-height:1.2;
	color:#111;
}

.about-purpose__item p {
	margin:0;
	color:rgba(5, 7, 63, 0.78);
	font-size:1.05rem;
	font-weight:400;
	line-height:1.7;
}

.about-values {
	padding:72px 0;
	background:var(--qs-surface);
	text-align:center;
}

.about-values__title,
.about-points__title {
	margin:0 0 28px;
	font-size:clamp(1.85rem, 3vw, 2.35rem);
	font-weight:700;
	letter-spacing:-0.02em;
	line-height:1.2;
	text-align:center;
	color:#111;
}

.about-values__list {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:14px 16px;
	list-style:none;
	margin:0;
	padding:0;
}

.about-values__pill {
	display:inline-flex;
	align-items:center;
	padding:12px 22px;
	border:1px solid transparent;
	border-radius:var(--qs-radius-pill);
	font-size:15px;
	font-weight:600;
	line-height:1.2;
	white-space:nowrap;
	box-shadow:0 8px 18px rgba(26, 18, 75, 0.04);
}

.about-values__pill--blue {
	background:#eef3ff;
	border-color:#d5e3ff;
	color:#3b6fd8;
}

.about-values__pill--purple {
	background:#f3edff;
	border-color:#e3d6ff;
	color:#7c4ee4;
}

.about-values__pill--teal {
	background:#e7f6f3;
	border-color:#c7ebe4;
	color:#0d8578;
}

.about-values__pill--orange {
	background:#fff1ea;
	border-color:#ffd9c8;
	color:#ef6414;
}

.about-values__pill--green {
	background:#eaf8ee;
	border-color:#c9ecd4;
	color:#1b9a46;
}

.about-values__pill--rose {
	background:#fdeef4;
	border-color:#f7cfe0;
	color:#d43774;
}

.about-points {
	padding:72px 0 80px;
	background:#fff;
}

.about-points__grid {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:24px;
}

.about-points__card {
	display:flex;
	flex-direction:column;
	height:100%;
	padding:28px 26px 32px;
	border:1px solid var(--qs-line);
	border-radius:20px;
	background:#fff;
	box-shadow:0 12px 32px rgba(26, 18, 75, 0.04);
	transition:border-color 0.2s var(--qs-ease), transform 0.2s var(--qs-ease), box-shadow 0.2s var(--qs-ease);
}

.about-points__card:hover {
	border-color:#d9d0f5;
	box-shadow:0 16px 36px rgba(26, 18, 75, 0.08);
	transform:translateY(-2px);
}

.about-points__card h3 {
	margin:0 0 10px;
	font-size:1.25rem;
	font-weight:700;
	letter-spacing:-0.02em;
	color:var(--qs-purple-900);
}

.about-points__card p {
	margin:0;
	color:rgba(5, 7, 63, 0.78);
	font-weight:400;
	line-height:1.65;
}

@media (max-width:991px) {
	.about-points__grid {
		grid-template-columns:1fr;
	}
}

@media (max-width:720px) {
	.about-purpose__grid,
	.about-points__grid {
		grid-template-columns:1fr;
	}

	.about-purpose,
	.about-values,
	.about-points {
		padding:56px 0;
	}
}

@media (max-width:640px) {
	.about-purpose__item {
		padding:26px 22px 28px;
	}

	.about-values__list {
		gap:12px;
	}

	.about-values__pill {
		padding:10px 16px;
	}
}

@media (prefers-reduced-motion:reduce) {
	.about-points__card {
		transition:none;
	}

	.about-points__card:hover {
		transform:none;
	}
}

/* ========== Contact page ========== */
.contact-page {
	width:100%;
	max-width:none;
	margin:0;
}

.contact-layout {
	padding:0 0 72px;
	background:#fff;
}

.contact-layout__grid {
	display:grid;
	grid-template-columns:minmax(0, 1fr) minmax(320px, 420px);
	padding-top:var(--qs-section-padding);
	gap:28px;
	align-items:start;
}

.contact-form__panel {
	padding:32px;
	border:2px solid #e4e7f0;
	border-radius:20px;
	background:#fff;
	box-shadow:0 16px 40px rgba(26, 18, 75, 0.06);
}

.contact-form__panel h2 {
	margin:0 0 8px;
	font-size:1.5rem;
	color:#1a124b;
}

.contact-form__intro {
	margin:0 0 22px;
	color:#58585c;
	font-weight:500;
}

.contact-form__panel .wpcf7 form p {
	margin:0 0 16px;
}

.contact-form__panel .wpcf7 form p:last-of-type {
	margin-bottom:0;
}

.contact-form__panel .wpcf7 label {
	display:block;
	color:#1a124b;
	font-size:var(--qs-fs-sm);
	font-weight:700;
}

.contact-form__panel .wpcf7 br {
	display:none;
}

.contact-form__panel .wpcf7-form-control-wrap {
	display:block;
}

.contact-form__panel .wpcf7 input[type="text"],
.contact-form__panel .wpcf7 input[type="email"],
.contact-form__panel .wpcf7 input[type="tel"],
.contact-form__panel .wpcf7 input[type="url"],
.contact-form__panel .wpcf7 textarea,
.contact-form__panel .wpcf7 select {
	display:block;
	width:100%;
	max-width:none;
	margin-top:8px;
	padding:0.9rem 1rem;
	border:1px solid #e4e7f0;
	border-radius:12px;
	background:#f7f8fc;
	color:var(--qs-ink);
	font:inherit;
	transition:border-color 0.2s var(--qs-ease), background 0.2s var(--qs-ease), box-shadow 0.2s var(--qs-ease);
}

.contact-form__panel .wpcf7 textarea {
	min-height:150px;
	resize:vertical;
}

.contact-form__panel .wpcf7 input:not([type="submit"]):focus,
.contact-form__panel .wpcf7 textarea:focus,
.contact-form__panel .wpcf7 select:focus {
	border-color:var(--qs-primary);
	background:#fff;
	box-shadow:0 0 0 4px rgba(107, 78, 255, 0.12);
	outline:none;
}

.contact-form__panel .wpcf7 input[type="submit"] {
	display:inline-flex;
	justify-content:center;
	width:100%;
	margin-top:8px;
	border-color:transparent;
	background:var(--qs-primary);
	color:var(--qs-primary-ink);
}

.contact-form__panel .wpcf7 input[type="submit"]:hover,
.contact-form__panel .wpcf7 input[type="submit"]:focus {
	border-color:transparent;
	background:var(--qs-primary-hover);
	color:var(--qs-primary-ink);
	box-shadow:none;
}

.contact-form__panel .wpcf7-spinner {
	margin:8px auto 0;
}

.contact-form__panel .wpcf7-not-valid-tip {
	margin-top:6px;
	font-size:var(--qs-fs-sm);
}

.contact-form__panel .wpcf7-response-output {
	margin:16px 0 0;
	padding:12px 14px;
	border-radius:12px;
}

.contact-details {
	display:flex;
	flex-direction:column;
	gap:16px;
}

.contact-card {
	padding:22px;
	border:1px solid #e6e8ef;
	border-radius:18px;
	background:#fff;
	box-shadow:0 10px 28px rgba(26, 18, 75, 0.04);
}

.contact-card--email {
	background:
		radial-gradient(220px 140px at 0% 0%, rgba(112, 55, 237, 0.08), transparent 70%),
		#fff;
}

.contact-card--ticket {
	background:
		radial-gradient(220px 140px at 0% 0%, rgba(93, 181, 173, 0.14), transparent 70%),
		#fff;
}

.contact-card--social {
	border-color:transparent;
	background:#f4f5f8;
	box-shadow:none;
}

.contact-card__head {
	display:flex;
	align-items:flex-start;
	gap:14px;
	margin-bottom:18px;
}

.contact-card__icon {
	display:grid;
	place-items:center;
	flex:0 0 48px;
	width:48px;
	height:48px;
	border-radius:14px;
	background:var(--qs-purple-100);
	color:var(--qs-primary);
}

.contact-card--ticket .contact-card__icon {
	background:var(--qs-mint-100);
	color:var(--qs-mint-600);
}

.contact-card__icon svg {
	display:block;
}

.contact-card h2 {
	margin:0 0 4px;
	font-size:1.15rem;
	line-height:1.25;
	color:#1a124b;
}

.contact-card p {
	margin:0;
	color:#6b728a;
	font-size:0.95rem;
	font-weight:500;
	line-height:1.45;
}

.contact-card__btn {
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:52px;
	padding:0.85rem 1.2rem;
	border:1px solid transparent;
	border-radius:12px;
	font-size:1rem;
	font-weight:700;
	line-height:1;
	text-decoration:none;
	transition:background 0.2s var(--qs-ease), color 0.2s var(--qs-ease), border-color 0.2s var(--qs-ease), transform 0.2s var(--qs-ease);
}

.contact-card__btn--solid {
	background:var(--qs-primary);
	color:var(--qs-primary-ink);
}

.contact-card__btn--solid:hover {
	background:var(--qs-primary-hover);
	color:var(--qs-primary-ink);
	transform:translateY(-1px);
}

.contact-card__btn--ghost {
	background:#fff;
	border-color:#e4e7f0;
	color:#1a124b;
}

.contact-card__btn--ghost:hover {
	border-color:#cfd3df;
	background:#fafbfe;
	color:#1a124b;
}

.contact-card--social h2 {
	margin-bottom:16px;
}

.contact-card__social {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}

.contact-card__social a {
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	border:1px solid #e6e8ef;
	border-radius:50%;
	background:#fff;
	color:#1a124b;
	text-decoration:none;
	transition:border-color 0.2s var(--qs-ease), color 0.2s var(--qs-ease), transform 0.2s var(--qs-ease);
}

.contact-card__social a:hover {
	border-color:var(--qs-primary);
	color:var(--qs-primary);
	transform:translateY(-1px);
}

.contact-card__social svg {
	display:block;
}

@media (max-width:960px) {
	.contact-layout__grid {
		grid-template-columns:1fr;
	}
}

@media (max-width:640px) {
	.contact-form__panel,
	.contact-card {
		padding:22px 18px;
	}
}

