@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root {
	--ay-primary: #4F2BE8;
	--ay-primary-dark: #3A18CC;
	--ay-primary-light: #6A4BFF;
	--ay-violet: #A78BFA;
	--ay-lavender: #F1EDFF;
	--ay-lavender-strong: #DCD3FF;
	--ay-ink: #0A0A0A;
	--ay-text: #2A2A32;
	--ay-muted: #55555C;
	--ay-subtle: #8A8A92;
	--ay-on-dark-muted: #B4B4BE;
	--ay-sand: #F5F5F2;
	--ay-line: #E4E4DE;
	--ay-line-soft: #F0F0EC;
	--ay-white: #FFFFFF;
	--ay-font: 'Manrope', system-ui, sans-serif;
}

/* ==========================================================================
   Base
   ========================================================================== */
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
body{margin:0;background:#FFFFFF;}
a{color:#4F2BE8;}
a:where(:hover){color:#3A18CC;} /* same weight as "a": plain links darken, classed buttons keep their colour */
::selection{background:#4F2BE8;color:#fff;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}
a,button{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .3s ease,opacity .2s ease,transform .3s ease;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #4F2BE8;outline-offset:3px;}
[id]{scroll-margin-top:96px;}
[hidden]{display:none !important;}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal !important;}
.screen-reader-text:focus{clip:auto !important;clip-path:none;height:auto;width:auto;left:5px;top:5px;z-index:100000;background:#fff;color:#0A0A0A;padding:12px 18px;display:block;}

/* ==========================================================================
   Header / navigation
   ========================================================================== */
header nav a[aria-current="page"],header .dd > span[data-active]{color:#4F2BE8 !important;font-weight:700 !important;}
header nav > a{position:relative;}
.ddi[aria-current="page"]{background:#F1EDFF;}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important;scroll-behavior:auto !important;}}
.dd{position:relative;padding:27px 0;}
.ddm{visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;position:absolute;top:100%;left:-20px;width:340px;background:#fff;border:1px solid #E4E4DE;border-radius:18px;box-shadow:0 30px 60px -30px rgba(20,10,60,0.35);padding:10px;z-index:90;}
.dd:hover .ddm,.dd:focus-within .ddm{visibility:visible;opacity:1;transform:none;transition:opacity .18s ease,transform .18s ease,visibility 0s;}
.ddi{display:block;padding:14px 16px;border-radius:12px;text-decoration:none;transition:background-color .15s ease;}
.ddi:hover{background:#F1EDFF;}
.navd{display:flex;}
.navm{display:none;}
.admin-bar header.site-header{top:32px !important;}
@media (max-width:782px){.admin-bar header.site-header{top:46px !important;}}
@media (max-width:600px){.admin-bar header.site-header{top:0 !important;}}

/* ==========================================================================
   Layout grids
   ========================================================================== */
.wrap{max-width:1340px;margin:0 auto;padding-left:44px;padding-right:44px;}
.g-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center;}
.g-2{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.g-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
.g-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;}
.g-ask{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;align-items:center;}
.g-alt{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;}
.g-form{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;}
.g-ai{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.g-fix{display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch;}
.fiximg{height:360px;}
.g-testi{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:stretch;}
.g-how{display:grid;grid-template-columns:0.8fr 1.2fr;gap:72px;align-items:start;}
.g-faq{display:grid;grid-template-columns:0.8fr 1.2fr;gap:64px;align-items:start;}
.g-contact{display:grid;grid-template-columns:1.1fr 0.9fr;gap:32px;align-items:start;}
.g-article{display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px;align-items:start;}
.vscroll{scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 64px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 64px),transparent);}
.vscroll::-webkit-scrollbar{display:none;}
.g-foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:48px;}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.g-contact input,.g-contact textarea,.g-contact select{transition:border-color .2s ease,box-shadow .2s ease;}
.g-contact input:focus,.g-contact textarea:focus,.g-contact select:focus{border-color:#4F2BE8 !important;box-shadow:0 0 0 4px rgba(79,43,232,0.12);}
.g-contact input:focus-visible,.g-contact textarea:focus-visible,.g-contact select:focus-visible{outline:none;}
@media (max-width:1040px){
  .wrap{padding-left:24px;padding-right:24px;}
  .g-testi,.g-faq,.g-how,.g-contact,.g-hero,.g-2,.g-ask,.g-alt,.g-form,.g-ai{grid-template-columns:1fr;gap:36px;}
  .g-fix{grid-template-columns:1fr;}
  .fiximg{height:280px;}
  .g-3,.g-4{grid-template-columns:1fr 1fr;}
  .g-testi,.g-faq,.g-how,.g-contact{grid-template-columns:1fr !important;gap:36px !important;}
  .g-how > div:first-child{position:static !important;}
  .g-foot{grid-template-columns:1fr 1fr;}
  .altimg{min-height:300px;}
  .g-article{grid-template-columns:1fr;}
  .toc{display:none;}
  .navd{display:none;}
  .navm{display:flex;}
}
@media (max-width:720px){
  .g-3,.g-4,.g-foot,.f2{grid-template-columns:1fr;}
  .dock{right:14px !important;left:14px !important;bottom:14px !important;width:auto !important;}
}

/* ==========================================================================
   Components
   ========================================================================== */

/* bg-white */
.bg-white {
	background: var(--ay-white);
}

/* error-page */
.error-page {
	padding-top: 120px;
	padding-bottom: 120px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.error-page__title {
	font-size: clamp(34px, 4.6vw, 56px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.035em;
	margin: 0 auto 18px;
	color: var(--ay-ink);
	max-width: 720px;
	text-wrap: balance;
}
.error-page__text {
	font-size: 18px;
	line-height: 1.65;
	color: var(--ay-muted);
	margin: 0 auto 34px;
	max-width: 520px;
}

/* eyebrow */
.eyebrow {
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ay-primary);
	font-weight: 800;
	margin-bottom: 14px;
}

/* btn-row-center */
.btn-row-center {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}

/* btn-primary */
.btn-primary {
	background: var(--ay-primary);
	color: var(--ay-white);
	padding: 16px 28px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

/* btn-outline */
.btn-outline {
	background: var(--ay-white);
	color: var(--ay-ink);
	border: 1.5px solid #D9D9D3;
	padding: 15px 26px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

/* icon-offset */
.icon-offset {
	flex-shrink: 0;
	margin-top: 2px;
}

/* bg-dark */
.bg-dark {
	background: var(--ay-ink);
	color: var(--ay-white);
}

/* footer */
.footer__inner {
	padding-top: 72px;
	padding-bottom: 0;
}
.footer__cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
	padding-bottom: 56px;
	border-bottom: 1px solid rgba(255,255,255,0.12);
}
.footer__cta-title {
	font-size: clamp(26px, 3.2vw, 40px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.03em;
	color: var(--ay-white);
	margin-bottom: 10px;
}
.footer__cta-text {
	font-size: 16.5px;
	line-height: 1.6;
	color: #9A9AA4;
}
.footer__columns {
	padding-top: 56px;
	padding-bottom: 56px;
}
.footer__brand {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 18px;
	text-decoration: none;
}
.footer__brand-mark {
	width: 26px;
	height: 26px;
	background: var(--ay-primary);
	display: flex;
	align-items: center;
	justify-content: center;
}
.footer__brand-name {
	font-size: 18px;
	font-weight: 800;
	color: var(--ay-white);
	letter-spacing: -0.03em;
}
.footer__about {
	font-size: 14px;
	color: #9A9AA4;
	line-height: 1.7;
	max-width: 300px;
	margin-bottom: 22px;
}
.footer__socials {
	display: flex;
	gap: 10px;
}
.footer__social {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ay-white);
	text-decoration: none;
}
.footer__heading {
	font-size: 11.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #7A7A86;
	font-weight: 800;
	margin-bottom: 20px;
}
.footer__links {
	display: flex;
	flex-direction: column;
	gap: 13px;
}
.footer__contact {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.footer__contact-item {
	display: flex;
	gap: 12px;
	color: #C6C6CE;
	font-size: 14px;
	line-height: 1.55;
}
.footer__muted {
	display: block;
	color: #7A7A86;
}
.footer__bottom {
	padding: 24px 0 30px;
	border-top: 1px solid rgba(255,255,255,0.12);
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.footer__meta {
	font-size: 13px;
	color: #7A7A86;
}

/* mw-620 */
.mw-620 {
	max-width: 620px;
}

/* btn-primary-lg */
.btn-primary-lg {
	background: var(--ay-primary);
	color: var(--ay-white);
	padding: 18px 32px;
	border-radius: 999px;
	font-size: 15.5px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

/* logo */
.logo__dot {
	width: 8px;
	height: 8px;
	background: var(--ay-white);
	display: block;
}
.logo {
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 11px;
	flex-shrink: 0;
}
.logo__mark {
	width: 26px;
	height: 26px;
	background: var(--ay-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.logo__text {
	font-size: 17px;
	font-weight: 800;
	color: var(--ay-ink);
	letter-spacing: -0.03em;
	white-space: nowrap;
}

/* d-block */
.d-block {
	display: block;
}

/* hero */
.hero {
	padding-top: 100px;
	padding-bottom: 60px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.hero__title {
	font-size: clamp(38px, 5.6vw, 68px);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.015em;
	margin: 0 0 30px;
	color: var(--ay-ink);
	max-width: 920px;
	text-wrap: balance;
}
.hero__lead {
	font-size: clamp(16px, 1.4vw, 19px);
	line-height: 1.6;
	color: #6A6A72;
	max-width: 640px;
	margin: 0 0 30px;
	font-weight: 400;
}
.hero__cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin-bottom: 34px;
}
.hero__tools-label {
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #9A9AA2;
	font-weight: 600;
	margin-bottom: 26px;
	font-family: monospace;
}

/* btn-primary-xl */
.btn-primary-xl {
	background: var(--ay-primary);
	color: var(--ay-white);
	padding: 18px 34px;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}

/* text-hint */
.text-hint {
	font-size: 13px;
	color: var(--ay-subtle);
}

/* hero-ask */
.hero-ask {
	width: 100%;
	max-width: 680px;
	background: var(--ay-white);
	border: 1px solid var(--ay-line);
	border-radius: 999px;
	box-shadow: rgba(20,10,60,0.18) 0 10px 30px -14px;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 8px 8px 22px;
	margin: 0 0 56px;
}
.hero-ask__input {
	flex: 1 1 0%;
	border: none;
	outline: none;
	font-family: inherit;
	font-size: 15px;
	color: var(--ay-ink);
	background: transparent;
	min-width: 0;
}
.hero-ask__send {
	background: var(--ay-sand);
	border: none;
	border-radius: 50%;
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
}

/* shrink-0 */
.shrink-0 {
	flex-shrink: 0;
}

/* marquee */
.marquee {
	width: 100%;
	max-width: 960px;
	background: #17171C;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
}
.marquee__fade-left {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 60px;
	background: linear-gradient(to right, #17171C, transparent);
	z-index: 2;
}
.marquee__fade-right {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 60px;
	background: linear-gradient(to left, #17171C, transparent);
	z-index: 2;
}
.marquee__track {
	display: flex;
	align-items: center;
	gap: 64px;
	padding: 26px 0;
	animation: marquee 50s linear infinite;
	width: max-content;
}
.marquee__icon {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}
.marquee__label {
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #E4E4E8;
	white-space: nowrap;
}

/* services-wrap */
.services-wrap {
	padding: 80px 32px 96px;
	max-width: 1560px;
}

/* section-head */
.section-head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 52px;
}

/* section-title */
.section-title {
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.03em;
	margin: 0 0 16px;
	color: var(--ay-ink);
	text-wrap: balance;
}

/* section-lead */
.section-lead {
	font-size: 17px;
	line-height: 1.6;
	color: var(--ay-muted);
	margin: 0;
}

/* gap-20 */
.gap-20 {
	gap: 20px;
}

/* service-card */
.service-card {
	background: var(--ay-white);
	border: 1px solid var(--ay-line);
	border-radius: 22px;
	padding: 34px 28px 28px;
	display: flex;
	flex-direction: column;
	transition: border-color 0.25s, box-shadow 0.3s, transform 0.3s;
}
.service-card__icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: var(--ay-lavender);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
}
.service-card__title {
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.03em;
	color: var(--ay-ink);
	margin-bottom: 12px;
	line-height: 1.2;
	text-wrap: balance;
}
.service-card__text {
	font-size: 15px;
	line-height: 1.6;
	color: var(--ay-muted);
	margin-bottom: 14px;
}
.service-card__ideal {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--ay-primary);
	font-weight: 700;
	margin-bottom: 24px;
}
.service-card__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 28px;
	flex: 1 1 0%;
}
.service-card__check {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--ay-lavender);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 1px;
}
.service-card__item {
	font-size: 14px;
	line-height: 1.5;
	color: var(--ay-text);
}
.service-card__foot {
	border-top: 1px solid var(--ay-line-soft);
	padding-top: 18px;
}
.service-card__link {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--ay-primary);
	text-decoration: none;
	white-space: nowrap;
}

/* check-list */
.check-list__item {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}
.check-list__text {
	font-size: 14px;
	line-height: 1.5;
}

/* bg-sand */
.bg-sand {
	background: var(--ay-sand);
}

/* section-pad */
.section-pad {
	padding-top: 96px;
	padding-bottom: 96px;
}
.section-pad-sm {
	padding-top: 80px;
	padding-bottom: 80px;
}

/* svc-block */
.svc-block__head {
	max-width: 760px;
	margin-bottom: 56px;
}
.svc-block__label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}
.svc-block__num {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--ay-primary);
	color: var(--ay-white);
	font-size: 13px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}
.svc-block__name {
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ay-primary);
	font-weight: 800;
}
.svc-block__title {
	font-size: clamp(30px, 3.8vw, 50px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.035em;
	margin: 0 0 18px;
	color: var(--ay-ink);
	text-wrap: balance;
}
.svc-block__intro {
	font-size: 18px;
	line-height: 1.65;
	color: var(--ay-muted);
	margin: 0;
}
.svc-block__grid {
	gap: 32px;
	align-items: stretch;
}
.svc-block__benefits {
	order: 1;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.svc-block__kicker {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ay-subtle);
}
.svc-block__deliver {
	order: 2;
	background: var(--ay-ink);
	border-radius: 24px;
	padding: 38px 36px;
	color: var(--ay-white);
	display: flex;
	flex-direction: column;
}
.svc-block__kicker-light {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ay-violet);
	margin-bottom: 26px;
}
.svc-block__steps {
	display: flex;
	flex-direction: column;
	gap: 0;
	flex: 1 1 0%;
}
.svc-block__foot {
	margin-top: 32px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}
.svc-block__chips {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	flex: 1 1 0%;
	min-width: 280px;
}
.svc-block__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--ay-ink);
	color: var(--ay-white);
	padding: 15px 24px;
	border-radius: 999px;
	font-size: 14.5px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.svc-block__benefits-alt {
	order: 2;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.svc-block__deliver-alt {
	order: 1;
	background: var(--ay-ink);
	border-radius: 24px;
	padding: 38px 36px;
	color: var(--ay-white);
	display: flex;
	flex-direction: column;
}

/* text-accent */
.text-accent {
	color: var(--ay-primary);
}

/* benefit-card */
.benefit-card {
	background: var(--ay-white);
	border: 1px solid var(--ay-line);
	border-radius: 18px;
	padding: 24px 26px;
	display: flex;
	gap: 18px;
	align-items: flex-start;
}
.benefit-card__icon {
	width: 46px;
	height: 46px;
	border-radius: 13px;
	background: var(--ay-lavender);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.benefit-card__title {
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ay-ink);
	margin-bottom: 6px;
}
.benefit-card__text {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--ay-muted);
}

/* deliver-step */
.deliver-step {
	display: flex;
	gap: 18px;
	padding: 18px 0;
	border-top: 1px solid rgba(255,255,255,0.14);
}
.deliver-step__num {
	font-size: 14px;
	font-weight: 800;
	color: var(--ay-violet);
	width: 26px;
	flex-shrink: 0;
	padding-top: 2px;
}
.deliver-step__title {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.015em;
	margin-bottom: 5px;
	color: var(--ay-white);
}
.deliver-step__text {
	font-size: 14px;
	line-height: 1.6;
	color: var(--ay-on-dark-muted);
}

/* chip */
.chip {
	background: var(--ay-white);
	border: 1px solid #DCDCD6;
	border-radius: 999px;
	padding: 9px 16px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ay-text);
}

/* section-pad-lg */
.section-pad-lg {
	padding-top: 88px;
	padding-bottom: 96px;
}

/* plans */
.plans__note {
	text-align: center;
	font-size: 14px;
	color: var(--ay-muted);
	margin-top: 30px;
}

/* fw-bold */
.fw-bold {
	font-weight: 700;
}

/* flex-col */
.flex-col {
	display: flex;
	flex-direction: column;
}

/* how-step */
.how-step__num {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--ay-primary);
	color: var(--ay-white);
	font-size: 17px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
.how-step__title {
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ay-ink);
	margin-bottom: 8px;
}
.how-step__text {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--ay-muted);
	margin-bottom: 12px;
}
.how-step__time {
	font-size: 12px;
	font-weight: 700;
	color: var(--ay-primary);
}

/* section-head-row */
.section-head-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 44px;
}

/* section-title-tight */
.section-title-tight {
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.03em;
	margin: 0 0 12px;
	color: var(--ay-ink);
}

/* btn-pill-outline */
.btn-pill-outline {
	font-size: 14px;
	font-weight: 700;
	color: var(--ay-primary);
	text-decoration: none;
	border: 1.5px solid var(--ay-lavender-strong);
	border-radius: 999px;
	padding: 10px 18px;
	white-space: nowrap;
}

/* site */
.site {
	font-family: 'Manrope', system-ui, sans-serif;
	background: var(--ay-white);
	color: var(--ay-ink);
	overflow-x: clip;
}

/* announce */
.announce__inner {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-top: 11px;
	padding-bottom: 11px;
}
.announce__label {
	font-size: 9.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--ay-violet);
	white-space: nowrap;
}
.announce__text {
	font-size: 12.5px;
	color: #D6D6DE;
	line-height: 1.4;
	flex: 1 1 0%;
}
.announce__link {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--ay-white);
	text-decoration: none;
	border-bottom: 1px solid var(--ay-primary);
	padding-bottom: 2px;
	white-space: nowrap;
}

/* site-header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 80;
	background: rgba(255,255,255,0.94);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid #E8E8E4;
}
.site-header__inner {
	height: 74px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	position: relative;
}

/* main-nav */
.main-nav {
	align-items: center;
	gap: 32px;
}

/* dropdown */
.dropdown__title {
	display: block;
	font-size: 14.5px;
	font-weight: 800;
	color: var(--ay-ink);
	letter-spacing: -0.01em;
	margin-bottom: 3px;
}
.dropdown__text {
	display: block;
	font-size: 12.5px;
	color: #6A6A72;
}

/* inline-row */
.inline-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

/* btn-ask */
.btn-ask {
	background: var(--ay-white);
	border: 1px solid #D9D9D3;
	color: var(--ay-ink);
	font-family: inherit;
	font-size: 12.5px;
	font-weight: 700;
	padding: 10px 16px;
	cursor: pointer;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	border-radius: 999px;
}

/* btn-call */
.btn-call {
	background: var(--ay-primary);
	color: var(--ay-white);
	padding: 11px 20px;
	font-size: 12.5px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	border-radius: 999px;
}

/* menu-toggle */
.menu-toggle {
	background: none;
	border: 1px solid #D9D9D3;
	color: var(--ay-ink);
	font-size: 16px;
	width: 42px;
	height: 40px;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	font-family: inherit;
}

/* mobile-menu */
.mobile-menu {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--ay-white);
	border-bottom: 1px solid #E8E8E4;
	display: flex;
	flex-direction: column;
	padding: 8px 24px 20px;
	max-height: calc(100vh - 74px);
	overflow-y: auto;
}
.mobile-menu__label {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ay-subtle);
	padding: 14px 0 6px;
}
.mobile-menu__button {
	text-align: left;
	background: none;
	border: none;
	font-family: inherit;
	cursor: pointer;
	font-size: 15px;
	font-weight: 600;
	color: var(--ay-ink);
	padding: 14px 0;
	border-bottom: 1px solid var(--ay-line-soft);
}
.mobile-menu__cta {
	text-decoration: none;
	font-size: 15px;
	font-weight: 700;
	color: var(--ay-primary);
	padding: 14px 0;
}

/* archive-hero */
.archive-hero {
	padding-top: 88px;
	padding-bottom: 40px;
	text-align: center;
}
.archive-hero__title {
	font-size: clamp(34px, 4.6vw, 56px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.035em;
	margin: 0 auto 18px;
	color: var(--ay-ink);
	max-width: 780px;
	text-wrap: balance;
}
.archive-hero__lead {
	font-size: 18px;
	line-height: 1.65;
	color: var(--ay-muted);
	margin: 0 auto;
	max-width: 580px;
}

/* topics */
.topics {
	position: sticky;
	top: 74px;
	z-index: 60;
	background: rgba(255,255,255,0.94);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-top: 1px solid #EDEDE9;
	border-bottom: 1px solid #EDEDE9;
}
.topics__inner {
	padding-top: 14px;
	padding-bottom: 14px;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
}

/* inline-flex */
.inline-flex {
	display: inline-flex;
}

/* archive-body */
.archive-body {
	padding-top: 40px;
	padding-bottom: 96px;
}

/* archive-count */
.archive-count {
	font-size: 14px;
	font-weight: 700;
	color: var(--ay-muted);
	margin-bottom: 24px;
}

/* archive-grid */
.archive-grid {
	gap: 32px 28px;
}

/* archive-empty */
.archive-empty {
	font-size: 17px;
	color: var(--ay-muted);
	text-align: center;
	margin: 40px 0;
}

/* about-hero */
.about-hero {
	padding-top: 88px;
	padding-bottom: 72px;
	align-items: center;
	gap: 64px;
}
.about-hero__title {
	font-size: clamp(36px, 4.8vw, 62px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.035em;
	margin: 0 0 22px;
	color: var(--ay-ink);
	text-wrap: balance;
}
.about-hero__lead {
	font-size: 18px;
	line-height: 1.7;
	color: var(--ay-muted);
	margin: 0 0 30px;
	max-width: 540px;
}
.about-hero__photo {
	aspect-ratio: 1 / 1.05;
	border-radius: 28px;
	overflow: hidden;
	background: #F4F4F6;
	border: 1px solid var(--ay-line);
}
.about-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 20%;
	display: block;
}

/* btn-row-wrap */
.btn-row-wrap {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

/* btn-primary-md */
.btn-primary-md {
	background: var(--ay-primary);
	color: var(--ay-white);
	padding: 16px 28px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

/* btn-outline-md */
.btn-outline-md {
	background: var(--ay-white);
	color: var(--ay-ink);
	border: 1.5px solid #D9D9D3;
	padding: 15px 26px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

/* pb-88 */
.pb-88 {
	padding-bottom: 88px;
}

/* about-fact */
.about-fact {
	border-top: 2px solid var(--ay-primary);
	padding-top: 18px;
}
.about-fact__value {
	font-size: clamp(32px, 3.6vw, 46px);
	font-weight: 800;
	letter-spacing: -0.04em;
	color: var(--ay-ink);
	line-height: 1;
	margin-bottom: 10px;
}
.about-fact__label {
	font-size: 14px;
	color: var(--ay-muted);
	line-height: 1.5;
}

/* certs */
.certs {
	background: var(--ay-sand);
	overflow: hidden;
}
.certs__head-wrap {
	padding-top: 88px;
	padding-bottom: 40px;
}
.certs__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 14px;
}
.certs__track {
	position: relative;
	padding-bottom: 40px;
}
.certs__fade-left {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100px;
	background: linear-gradient(to right, var(--ay-sand), transparent);
	z-index: 2;
}
.certs__fade-right {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100px;
	background: linear-gradient(to left, var(--ay-sand), transparent);
	z-index: 2;
}
.certs__marquee {
	display: flex;
	gap: 20px;
	width: max-content;
	animation: 60s linear 0s infinite normal none running marquee;
	padding: 12px 0;
}

/* cert-card */
.cert-card {
	width: 270px;
	flex-shrink: 0;
	background: var(--ay-white);
	border: 1px solid var(--ay-line);
	border-radius: 22px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.cert-card__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.cert-card__badge {
	width: 58px;
	height: 58px;
	border-radius: 16px;
	background: var(--ay-primary);
	color: var(--ay-white);
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -0.02em;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cert-card__tag {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ay-primary);
	background: var(--ay-lavender);
	padding: 6px 11px;
	border-radius: 999px;
}
.cert-card__title {
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ay-ink);
	line-height: 1.25;
	margin-bottom: 6px;
}
.cert-card__issuer {
	font-size: 13.5px;
	color: var(--ay-muted);
	line-height: 1.5;
}
.cert-card__foot {
	display: flex;
	align-items: center;
	gap: 8px;
	border-top: 1px solid var(--ay-line-soft);
	padding-top: 14px;
}
.cert-card__status {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--ay-text);
}
.cert-card__badge-dark {
	width: 58px;
	height: 58px;
	border-radius: 16px;
	background: var(--ay-ink);
	color: var(--ay-white);
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -0.02em;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cert-card__badge-soft {
	width: 58px;
	height: 58px;
	border-radius: 16px;
	background: var(--ay-lavender);
	color: var(--ay-primary);
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -0.02em;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* h-48 */
.h-48 {
	height: 48px;
}

/* section-head-narrow */
.section-head-narrow {
	text-align: center;
	max-width: 700px;
	margin: 0 auto 56px;
}

/* eyebrow-light */
.eyebrow-light {
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ay-violet);
	font-weight: 800;
	margin-bottom: 14px;
}

/* section-title-light */
.section-title-light {
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.03em;
	margin: 0 0 16px;
	color: var(--ay-white);
	text-wrap: balance;
}

/* section-lead-light */
.section-lead-light {
	font-size: 17px;
	line-height: 1.6;
	color: var(--ay-on-dark-muted);
	margin: 0;
}

/* gap-0 */
.gap-0 {
	gap: 0;
}

/* about-stat */
.about-stat {
	padding: 34px 30px;
	border-top: 1px solid rgba(255,255,255,0.16);
}
.about-stat__value {
	font-size: clamp(34px, 3.6vw, 48px);
	font-weight: 800;
	letter-spacing: -0.04em;
	color: var(--ay-violet);
	line-height: 1;
	margin-bottom: 16px;
	height: 48px;
	display: flex;
	align-items: center;
}
.about-stat__title {
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ay-white);
	margin-bottom: 8px;
}

/* dark-tile */
.dark-tile__text {
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--ay-on-dark-muted);
}

/* svc-hero */
.svc-hero {
	padding-top: 88px;
	padding-bottom: 88px;
	gap: 64px;
	align-items: center;
}
.svc-hero__title {
	font-size: clamp(34px, 4.6vw, 58px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.035em;
	margin: 0 0 22px;
	color: var(--ay-ink);
	text-wrap: balance;
}
.svc-hero__lead {
	font-size: 18px;
	line-height: 1.7;
	color: var(--ay-muted);
	margin: 0 0 30px;
	max-width: 560px;
}
.svc-hero__note {
	font-size: 13.5px;
	color: var(--ay-subtle);
}

/* btn-row */
.btn-row {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}

/* glance */
.glance {
	background: var(--ay-ink);
	border-radius: 26px;
	padding: 34px 36px;
	color: var(--ay-white);
}
.glance__kicker {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ay-violet);
	margin-bottom: 8px;
}
.glance__row {
	padding: 18px 0;
	border-top: 1px solid rgba(255,255,255,0.14);
}
.glance__label {
	font-size: 12.5px;
	color: #9A9AA4;
	margin-bottom: 5px;
}
.glance__value {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.4;
}

/* sticky-aside */
.sticky-aside {
	position: sticky;
	top: 110px;
}

/* split-title */
.split-title {
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.03em;
	margin: 0 0 18px;
	color: var(--ay-ink);
}

/* split-lead */
.split-lead {
	font-size: 17px;
	line-height: 1.7;
	color: var(--ay-muted);
	margin: 0;
}

/* included-grid */
.included-grid {
	gap: 0 48px;
}

/* included-item */
.included-item {
	display: flex;
	gap: 18px;
	padding: 30px 0;
	border-top: 1px solid #D9D9D3;
}
.included-item__icon {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--ay-white);
	border: 1px solid var(--ay-line);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.included-item__title {
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.25;
	color: var(--ay-ink);
	margin-bottom: 8px;
}
.included-item__text {
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--ay-muted);
}

/* bg-lavender */
.bg-lavender {
	background: var(--ay-lavender);
}

/* section-lead-muted */
.section-lead-muted {
	font-size: 17px;
	line-height: 1.6;
	color: #4A4A52;
	margin: 0;
}

/* solution-card */
.solution-card {
	background: var(--ay-white);
	border-radius: 20px;
	padding: 24px;
}
.solution-card__kicker {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ay-primary);
	margin-bottom: 12px;
}
.solution-card__title {
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ay-ink);
	margin-bottom: 8px;
	line-height: 1.3;
}
.solution-card__text {
	font-size: 14px;
	line-height: 1.6;
	color: var(--ay-muted);
}

/* solutions */
.solutions__note {
	text-align: center;
	margin-top: 36px;
	font-size: 16px;
	color: var(--ay-text);
}
.solutions__tech {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 32px;
	align-items: center;
}
.solutions__tech-label {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ay-primary);
	margin-right: 6px;
}

/* tech-chip */
.tech-chip {
	background: var(--ay-white);
	border-radius: 999px;
	padding: 9px 16px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ay-text);
}

/* result-tile */
.result-tile {
	padding: 30px 28px;
	border-top: 1px solid rgba(255,255,255,0.16);
}
.result-tile__value {
	font-size: clamp(32px, 3.4vw, 46px);
	font-weight: 800;
	letter-spacing: -0.04em;
	color: var(--ay-violet);
	line-height: 1;
	margin-bottom: 16px;
}
.result-tile__title {
	font-size: 18px;
	font-weight: 800;
	color: var(--ay-white);
	margin-bottom: 8px;
	letter-spacing: -0.02em;
}

/* process-step */
.process-step {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 20px;
	padding: 26px 0;
	border-top: 1px solid var(--ay-line);
}
.process-step__num {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--ay-primary);
	color: var(--ay-white);
	font-size: 15px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}
.process-step__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}
.process-step__badge {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--ay-primary);
	background: var(--ay-lavender);
	padding: 6px 12px;
	border-radius: 999px;
}
.process-step__text {
	font-size: 15px;
	line-height: 1.7;
	color: var(--ay-muted);
}

/* related-card */
.related-card__title {
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ay-ink);
}
.related-card {
	text-decoration: none;
	background: var(--ay-white);
	border: 1px solid var(--ay-line);
	border-radius: 20px;
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.related-card__text {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--ay-muted);
	flex: 1 1 0%;
}
.related-card__link {
	font-size: 14px;
	font-weight: 700;
	color: var(--ay-primary);
	margin-top: 6px;
}

/* items-stretch */
.items-stretch {
	align-items: stretch;
}

/* plan-card */
.plan-card {
	background: var(--ay-white);
	color: var(--ay-ink);
	border: 1px solid var(--ay-line);
	border-radius: 22px;
	padding: 34px 30px;
	display: flex;
	flex-direction: column;
	position: relative;
}
.plan-card__name {
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: 6px;
}
.plan-card__desc {
	font-size: 14px;
	line-height: 1.5;
	opacity: 0.85;
	margin-bottom: 24px;
}
.plan-card__label {
	font-size: 12px;
	opacity: 0.75;
	margin-bottom: 6px;
}
.plan-card__weeks {
	font-size: 34px;
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1;
	margin-bottom: 8px;
}
.plan-card__meta {
	font-size: 13px;
	opacity: 0.85;
	margin-bottom: 26px;
}
.plan-card__btn {
	background: var(--ay-lavender);
	color: var(--ay-primary);
	text-align: center;
	padding: 15px 20px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	margin-bottom: 26px;
}
.plan-card-featured {
	background: var(--ay-primary);
	color: var(--ay-white);
	border: 1px solid var(--ay-primary);
	border-radius: 22px;
	padding: 34px 30px;
	display: flex;
	flex-direction: column;
	position: relative;
}
.plan-card__popular {
	position: absolute;
	top: -13px;
	left: 30px;
	background: var(--ay-ink);
	color: var(--ay-white);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: 999px;
}
.plan-card__btn-light {
	background: var(--ay-white);
	color: var(--ay-ink);
	text-align: center;
	padding: 15px 20px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	margin-bottom: 26px;
}
.plan-card__name-sm {
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: 6px;
}
.plan-card__desc-sm {
	font-size: 13.5px;
	line-height: 1.5;
	opacity: 0.8;
	margin-bottom: 24px;
	min-height: 40px;
}
.plan-card__meta-sm {
	font-size: 13px;
	opacity: 0.8;
	margin-bottom: 26px;
}

/* stack */
.stack {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* faq */
.faq__title {
	font-size: clamp(28px, 3.4vw, 42px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.03em;
	margin: 0 0 16px;
	color: var(--ay-ink);
}
.faq__lead {
	font-size: 16.5px;
	line-height: 1.65;
	color: var(--ay-muted);
	margin: 0;
}
.faq__item {
	background: var(--ay-sand);
	border-radius: 16px;
}
.faq__question {
	width: 100%;
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	padding: 22px 24px;
	text-align: left;
	font-family: inherit;
}
.faq__question-text {
	font-size: 16.5px;
	font-weight: 700;
	color: var(--ay-ink);
	letter-spacing: -0.01em;
	line-height: 1.4;
}
.faq__sign {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--ay-white);
	color: var(--ay-primary);
	font-size: 18px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.faq__answer {
	padding: 0 24px 24px;
	font-size: 15px;
	line-height: 1.7;
	color: var(--ay-muted);
}

/* mb-32 */
.mb-32 {
	margin-bottom: 32px;
}

/* eyebrow-tight */
.eyebrow-tight {
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ay-primary);
	font-weight: 800;
	margin-bottom: 12px;
}

/* title-md */
.title-md {
	font-size: clamp(26px, 3vw, 36px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.03em;
	margin: 0;
	color: var(--ay-ink);
}

/* contact-hero */
.contact-hero {
	padding-top: 96px;
	padding-bottom: 64px;
	text-align: center;
}
.contact-hero__title {
	font-size: clamp(36px, 5vw, 62px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.035em;
	margin: 0 auto 22px;
	color: var(--ay-ink);
	max-width: 820px;
	text-wrap: balance;
}
.contact-hero__lead {
	font-size: 19px;
	line-height: 1.65;
	color: var(--ay-muted);
	margin: 0 auto;
	max-width: 600px;
}

/* contact-body */
.contact-body {
	padding-top: 72px;
	padding-bottom: 96px;
}

/* contact-card */
.contact-card {
	background: var(--ay-white);
	border-radius: 26px;
	padding: clamp(24px, 4vw, 40px);
}
.contact-card__title {
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.025em;
	margin-bottom: 6px;
}
.contact-card__note {
	font-size: 14.5px;
	color: #7A7A82;
	margin-bottom: 26px;
}

/* required-mark */
.required-mark {
	color: var(--ay-primary);
	font-weight: 800;
}

/* form-alert */
.form-alert {
	background: #FDECEA;
	color: #B3261E;
	border-radius: 12px;
	padding: 14px 16px;
	font-size: 14px;
	margin-bottom: 20px;
}

/* mb-16 */
.mb-16 {
	margin-bottom: 16px;
}

/* form-fieldset */
.form-fieldset {
	margin: 0 0 16px;
	padding: 0;
	border: none;
}

/* option-list */
.option-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* service-option */
.service-option {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	flex: 0 0 auto;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	padding: 11px 16px;
	border-radius: 999px;
	cursor: pointer;
	background: var(--ay-white);
	border: 1.5px solid #E0E0DA;
	color: var(--ay-text);
}
.service-option__dot {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 1.5px solid #C9C9C3;
	background: var(--ay-white);
	box-shadow: var(--ay-white) 0 0 0 3px inset;
	flex-shrink: 0;
}

/* mb-22 */
.mb-22 {
	margin-bottom: 22px;
}

/* btn-submit */
.btn-submit {
	background: var(--ay-ink);
	color: var(--ay-white);
	border: none;
	border-radius: 12px;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	padding: 18px 24px;
	cursor: pointer;
	width: 100%;
}

/* form-footnote */
.form-footnote {
	font-size: 12.5px;
	color: var(--ay-subtle);
	margin-top: 14px;
	text-align: center;
}

/* form-success */
.form-success {
	padding: 60px 10px;
	text-align: center;
}
.form-success__icon {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: var(--ay-lavender);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 22px;
}
.form-success__title {
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.025em;
	margin-bottom: 10px;
}
.form-success__text {
	font-size: 16px;
	line-height: 1.65;
	color: var(--ay-muted);
	margin: 0 auto 26px;
	max-width: 380px;
}

/* btn-primary-square */
.btn-primary-square {
	background: var(--ay-primary);
	color: var(--ay-white);
	padding: 16px 28px;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	display: inline-block;
}

/* contact-aside */
.contact-aside {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.contact-aside__label {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ay-subtle);
	margin: 0 0 0 4px;
}

/* contact-call */
.contact-call {
	text-decoration: none;
	background: var(--ay-primary);
	border-radius: 22px;
	padding: 32px;
	color: var(--ay-white);
	display: block;
}
.contact-call__kicker {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #CBBBFF;
	margin-bottom: 12px;
}
.contact-call__title {
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.025em;
	margin-bottom: 8px;
}
.contact-call__text {
	font-size: 15px;
	line-height: 1.6;
	color: #E6E0FF;
	margin-bottom: 20px;
}
.contact-call__btn {
	background: var(--ay-white);
	color: var(--ay-ink);
	padding: 13px 22px;
	border-radius: 12px;
	font-size: 14.5px;
	font-weight: 700;
	display: inline-block;
	white-space: nowrap;
}

/* contact-link */
.contact-link {
	text-decoration: none;
	background: var(--ay-white);
	border: 1.5px solid transparent;
	border-radius: 20px;
	padding: 24px 26px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}
.contact-link__title {
	display: block;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ay-ink);
	margin-bottom: 4px;
}
.contact-link__text {
	display: block;
	font-size: 14px;
	color: var(--ay-muted);
}
.contact-link__arrow {
	font-size: 20px;
	color: var(--ay-primary);
}

/* contact-based */
.contact-based {
	background: var(--ay-ink);
	border-radius: 20px;
	padding: 24px 26px;
	color: var(--ay-white);
}
.contact-based__kicker {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ay-violet);
	margin-bottom: 8px;
}
.contact-based__title {
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.02em;
}
.contact-based__text {
	font-size: 14px;
	color: var(--ay-on-dark-muted);
	margin-top: 4px;
}

/* page-hero */
.page-hero {
	padding-top: 88px;
	padding-bottom: 40px;
	max-width: 900px;
}
.page-hero__title {
	font-size: clamp(34px, 4.6vw, 56px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.035em;
	margin: 0;
	color: var(--ay-ink);
	text-wrap: balance;
}
.page-hero__lead {
	font-size: 20px;
	line-height: 1.6;
	color: var(--ay-muted);
	margin: 22px 0 0;
}

/* page-body */
.page-body {
	padding-top: 24px;
	padding-bottom: 96px;
	max-width: 900px;
}
.page-body__thumb {
	border-radius: 28px;
	overflow: hidden;
	margin-bottom: 48px;
}

/* article-head */
.article-head {
	padding-top: 56px;
	padding-bottom: 0;
	max-width: 1100px;
}
.article-head__title {
	font-size: clamp(34px, 4.6vw, 56px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.035em;
	margin: 0 0 22px;
	color: var(--ay-ink);
	text-wrap: balance;
}
.article-head__lead {
	font-size: 20px;
	line-height: 1.6;
	color: var(--ay-muted);
	margin: 0 0 30px;
	max-width: 760px;
}

/* breadcrumbs */
.breadcrumbs {
	display: flex;
	gap: 8px;
	align-items: center;
	font-size: 13.5px;
	color: #7A7A82;
	margin-bottom: 26px;
	flex-wrap: wrap;
}
.breadcrumbs__link {
	color: #7A7A82;
	text-decoration: none;
	font-weight: 600;
}
.breadcrumbs__current {
	color: var(--ay-primary);
	font-weight: 700;
	text-decoration: none;
}

/* byline */
.byline {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	padding-bottom: 36px;
}
.byline__name {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: var(--ay-ink);
}
.byline__meta {
	display: block;
	font-size: 13.5px;
	color: #7A7A82;
	white-space: nowrap;
}

/* avatar-md */
.avatar-md {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--ay-primary);
	color: var(--ay-white);
	font-size: 15px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* article-cover */
.article-cover {
	height: clamp(220px, 32vw, 400px);
	border-radius: 28px;
	overflow: hidden;
	border: 1px solid var(--ay-line);
}

/* article-cover-art */
.article-cover-art {
	height: clamp(220px, 32vw, 400px);
	border-radius: 28px;
	background: linear-gradient(165deg, var(--ay-white) 0%, var(--ay-lavender) 40%, #B7A4FF 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 32px;
	border: 1px solid var(--ay-line);
}
.article-cover-art__title {
	font-size: clamp(28px, 4vw, 48px);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: var(--ay-ink);
	line-height: 1.15;
	margin-bottom: 10px;
}
.article-cover-art__sub {
	font-size: clamp(15px, 1.6vw, 20px);
	color: #4A4A52;
}

/* article-layout */
.article-layout {
	padding-top: 64px;
	padding-bottom: 80px;
	max-width: 1100px;
}

/* toc */
.toc__label {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ay-subtle);
	margin-bottom: 16px;
}
.toc__nav {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-left: 2px solid #EDEDE9;
}
.toc__link {
	font-size: 14px;
	font-weight: 600;
	color: var(--ay-muted);
	text-decoration: none;
	padding: 8px 0 8px 16px;
	margin-left: -2px;
	border-left: 2px solid transparent;
	line-height: 1.4;
}
.toc__cta {
	display: block;
	margin-top: 28px;
	background: var(--ay-primary);
	color: var(--ay-white);
	text-align: center;
	padding: 14px 18px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

/* article-body */
.article-body {
	max-width: 720px;
	min-width: 0;
}

/* page-links */
.page-links {
	margin: 24px 0;
	font-weight: 700;
}

/* article-cta */
.article-cta {
	margin: 40px 0;
	background: var(--ay-ink);
	border-radius: 24px;
	padding: 36px;
	color: var(--ay-white);
}
.article-cta__kicker {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ay-violet);
	margin-bottom: 12px;
}
.article-cta__title {
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.25;
	margin-bottom: 12px;
}
.article-cta__text {
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--ay-on-dark-muted);
	margin-bottom: 22px;
}
.article-cta__btn {
	background: var(--ay-white);
	color: var(--ay-ink);
	padding: 15px 26px;
	border-radius: 12px;
	font-size: 14.5px;
	font-weight: 700;
	text-decoration: none;
	display: inline-block;
	white-space: nowrap;
}

/* author-box */
.author-box {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 28px 0;
	border-top: 1px solid var(--ay-line);
	margin-top: 24px;
}
.author-box__name {
	display: block;
	font-size: 16px;
	font-weight: 800;
	color: var(--ay-ink);
}
.author-box__bio {
	display: block;
	font-size: 14px;
	color: var(--ay-muted);
	line-height: 1.55;
	margin-top: 2px;
}

/* avatar-lg */
.avatar-lg {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--ay-primary);
	color: var(--ay-white);
	font-size: 18px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

/* related */
.related__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 36px;
}
.related__title {
	font-size: clamp(26px, 3vw, 36px);
	font-weight: 800;
	letter-spacing: -0.03em;
	margin: 0;
	color: var(--ay-ink);
}
.related__link {
	font-size: 14px;
	font-weight: 700;
	color: var(--ay-primary);
	text-decoration: none;
}

/* post-card */
.post-card {
	text-decoration: none;
	border: 1px solid var(--ay-line);
	border-radius: 22px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background: var(--ay-white);
}
.post-card__cover {
	position: relative;
	background: linear-gradient(160deg, var(--ay-lavender) 0%, var(--ay-lavender-strong) 100%);
	padding: 28px;
	height: 200px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.post-card__tag {
	position: relative;
	align-self: flex-start;
	background: var(--ay-primary);
	color: var(--ay-white);
	font-size: 12px;
	font-weight: 700;
	padding: 7px 14px;
	border-radius: 999px;
}
.post-card__read {
	position: relative;
	font-size: 13px;
	font-weight: 700;
	color: var(--ay-primary);
}
.post-card__body {
	padding: 28px;
	display: flex;
	flex-direction: column;
	flex: 1 1 0%;
}
.post-card__title {
	font-size: 20px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--ay-ink);
	margin: 0 0 12px;
}
.post-card__excerpt {
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--ay-muted);
	margin: 0 0 22px;
	flex: 1 1 0%;
}
.post-card__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	border-top: 1px solid var(--ay-line-soft);
	padding-top: 16px;
}
.post-card__author {
	font-size: 13px;
	font-weight: 700;
	color: var(--ay-ink);
}
.post-card__date {
	font-size: 13px;
	color: var(--ay-subtle);
	margin-left: auto;
	white-space: nowrap;
}

/* avatar */
.avatar-sm {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--ay-primary);
	color: var(--ay-white);
	font-size: 12px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

/* cover-card */
.cover-card {
	text-decoration: none;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--ay-line);
	border-radius: 22px;
	overflow: hidden;
	background: var(--ay-white);
}
.cover-card__cover {
	position: relative;
	height: 250px;
	background: linear-gradient(165deg, var(--ay-white) 0%, var(--ay-lavender) 45%, #C9BBFF 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 28px 28px 56px;
	text-align: center;
}
.cover-card__title {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.25;
	color: var(--ay-ink);
	margin-bottom: 8px;
}
.cover-card__sub {
	font-size: 14px;
	color: #4A4A52;
	line-height: 1.4;
}
.cover-card__tag {
	position: absolute;
	left: 0;
	bottom: 0;
	background: var(--ay-primary);
	color: var(--ay-white);
	font-size: 13px;
	font-weight: 700;
	padding: 12px 18px;
}
.cover-card__body {
	padding: 26px 26px 24px;
	display: flex;
	flex-direction: column;
	flex: 1 1 0%;
}
.cover-card__date {
	font-size: 12.5px;
	color: var(--ay-subtle);
	margin-left: auto;
	white-space: nowrap;
}
.cover-card-sm__cover {
	position: relative;
	height: 190px;
	background: linear-gradient(165deg, var(--ay-white) 0%, var(--ay-lavender) 45%, #C9BBFF 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 24px 24px 52px;
	text-align: center;
}
.cover-card-sm__title {
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.25;
	color: var(--ay-ink);
	margin-bottom: 6px;
}
.cover-card-sm__sub {
	font-size: 13.5px;
	color: #4A4A52;
}
.cover-card-sm__tag {
	position: absolute;
	left: 0;
	bottom: 0;
	background: var(--ay-primary);
	color: var(--ay-white);
	font-size: 13px;
	font-weight: 700;
	padding: 11px 16px;
}
.cover-card-sm__body {
	padding: 24px;
}
.cover-card-sm__heading {
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--ay-ink);
	margin: 0 0 10px;
}

/* chat-dock */
.chat-dock {
	position: fixed;
	right: 26px;
	bottom: 26px;
	z-index: 90;
	width: 430px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	pointer-events: none;
}
.chat-dock__toggle {
	pointer-events: auto;
	background: var(--ay-primary);
	border: none;
	border-radius: 999px;
	color: var(--ay-white);
	font-family: inherit;
	font-size: 13.5px;
	font-weight: 700;
	padding: 15px 24px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	box-shadow: rgba(79,43,232,0.95) 0 18px 36px -16px;
	white-space: nowrap;
}

/* chat */
.chat {
	pointer-events: auto;
	width: 100%;
	max-height: calc(100vh - 120px);
	background: var(--ay-white);
	border: 1px solid var(--ay-line);
	border-radius: 18px;
	box-shadow: rgba(20,10,60,0.45) 0 40px 80px -36px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.chat__header {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 16px 18px;
	border-bottom: 1px solid var(--ay-line-soft);
	flex: 0 0 auto;
}
.chat__title {
	font-size: 13px;
	font-weight: 800;
	color: var(--ay-ink);
	line-height: 1.3;
}
.chat__subtitle {
	font-size: 11px;
	color: #7A7A82;
	line-height: 1.3;
}
.chat__book {
	font-size: 12px;
	font-weight: 700;
	color: var(--ay-primary);
	text-decoration: none;
	white-space: nowrap;
	border: 1px solid var(--ay-lavender-strong);
	border-radius: 999px;
	padding: 7px 12px;
}
.chat__close {
	background: none;
	border: none;
	color: var(--ay-subtle);
	font-size: 16px;
	cursor: pointer;
	padding: 2px 4px;
	line-height: 1;
	font-family: inherit;
}
.chat__log {
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	overflow-y: auto;
	flex: 1 1 0%;
	min-height: 60px;
}
.chat__msg {
	max-width: 90%;
	align-self: flex-start;
	background: var(--ay-sand);
	border-radius: 14px 14px 14px 4px;
	padding: 13px 15px;
	font-size: 13px;
	line-height: 1.6;
	color: #1A1A22;
	white-space: pre-wrap;
}
.chat__thinking {
	align-self: flex-start;
	font-size: 12px;
	color: var(--ay-subtle);
}
.chat__suggestions {
	padding: 0 18px 12px;
	display: flex;
	gap: 7px;
	flex-wrap: wrap;
}
.chat__suggestion {
	background: var(--ay-white);
	border: 1px solid #DFDFD9;
	border-radius: 999px;
	color: #33333B;
	font-family: inherit;
	font-size: 11.5px;
	font-weight: 600;
	padding: 8px 12px;
	cursor: pointer;
	line-height: 1.2;
	flex: 0 0 auto;
	align-self: flex-start;
	white-space: nowrap;
}
.chat__form {
	border-top: 1px solid var(--ay-line-soft);
	padding: 10px 10px 10px 18px;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}
.chat__input {
	flex: 1 1 0%;
	border: none;
	outline: none;
	font-family: inherit;
	font-size: 13.5px;
	color: var(--ay-ink);
	background: transparent;
	min-width: 0;
}
.chat__send {
	background: var(--ay-ink);
	border: none;
	border-radius: 999px;
	color: var(--ay-white);
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	padding: 11px 17px;
	cursor: pointer;
}

/* flex-1 */
.flex-1 {
	flex: 1 1 0%;
}

/* pagination */
.pagination {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 48px;
}

/* plan-tabs */
.plan-tabs {
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
}
.plan-tabs__list {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	justify-content: center;
	background: var(--ay-white);
	border: 1px solid var(--ay-line);
	border-radius: 999px;
	padding: 6px;
}
.plan-tabs__tab {
	border: none;
	cursor: pointer;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	padding: 12px 22px;
	border-radius: 999px;
	background: transparent;
	color: var(--ay-text);
	white-space: nowrap;
}

/* testimonials */
.testimonials__head {
	text-align: center;
	max-width: 680px;
	margin: 0 auto 48px;
}
.testimonials__title {
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.03em;
	margin: 0 0 14px;
	color: var(--ay-ink);
}
.testimonials__side {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.testimonials__list {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-height: 400px;
	overflow-y: auto;
	padding-bottom: 48px;
}
.testimonials__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 0 4px;
}
.testimonials__count {
	font-size: 14px;
	font-weight: 700;
	color: #4A4A52;
}
.testimonials__arrows {
	display: flex;
	gap: 8px;
}

/* testimonial-feature */
.testimonial-feature {
	border: none;
	cursor: pointer;
	background: #0A0A12;
	border-radius: 24px;
	min-height: 440px;
	width: 100%;
	position: relative;
	overflow: hidden;
	text-align: left;
	padding: 0;
	display: block;
	font-family: inherit;
}
.testimonial-feature__bg {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 70% 30%, #3B2A9E 0%, #0A0A12 65%);
}
.testimonial-feature__play {
	position: absolute;
	left: 50%;
	top: 44%;
	transform: translate(-50%, -50%);
	width: 84px;
	height: 84px;
	border-radius: 50%;
	background: var(--ay-white);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: rgba(0,0,0,0.6) 0 20px 50px -10px;
}
.testimonial-feature__body {
	position: absolute;
	left: 36px;
	right: 36px;
	bottom: 32px;
	display: block;
}
.testimonial-feature__quote {
	display: block;
	font-size: clamp(22px, 2.4vw, 32px);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.025em;
	color: var(--ay-white);
	margin-bottom: 18px;
}
.testimonial-feature__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
}
.testimonial-feature__name {
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: var(--ay-white);
}
.testimonial-feature__role {
	display: block;
	font-size: 13px;
	color: var(--ay-on-dark-muted);
	margin-top: 3px;
}
.testimonial-feature__watch {
	font-size: 13px;
	font-weight: 700;
	color: var(--ay-white);
	background: rgba(255,255,255,0.16);
	padding: 7px 14px;
	border-radius: 999px;
	white-space: nowrap;
}

/* testimonial-item */
.testimonial-item__quote {
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.015em;
	color: var(--ay-ink);
}
.testimonial-item__text {
	font-size: 14px;
	line-height: 1.55;
	color: var(--ay-muted);
}
.testimonial-item__name {
	font-size: 13px;
	font-weight: 700;
	color: var(--ay-primary);
}

/* meta-muted */
.meta-muted {
	font-weight: 500;
	color: #7A7A82;
}

/* round-btn */
.round-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1.5px solid #CBBBFF;
	background: var(--ay-white);
	color: var(--ay-primary);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* video-modal */
.video-modal {
	position: fixed;
	inset: 0;
	z-index: 120;
	background: rgba(8,8,12,0.92);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 32px;
}
.video-modal__inner {
	width: 100%;
	max-width: 900px;
}
.video-modal__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
	margin-bottom: 16px;
}
.video-modal__name {
	font-size: 17px;
	font-weight: 800;
	color: var(--ay-white);
	line-height: 1.3;
	letter-spacing: -0.02em;
}
.video-modal__role {
	font-size: 12.5px;
	color: #9A9AA4;
	margin-top: 5px;
}
.video-modal__close {
	background: none;
	border: 1px solid rgba(255,255,255,0.28);
	border-radius: 999px;
	color: var(--ay-white);
	font-family: inherit;
	font-size: 12.5px;
	font-weight: 600;
	padding: 10px 18px;
	cursor: pointer;
}
.video-modal__frame {
	aspect-ratio: 16 / 9;
	background: #15151C;
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
}
.video-modal__play {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--ay-primary);
	display: flex;
	align-items: center;
	justify-content: center;
}
.video-modal__note {
	font-size: 13.5px;
	color: #9A9AA4;
	text-align: center;
	max-width: 420px;
	line-height: 1.6;
}

/* ==========================================================================
   States and JS-driven components
   ========================================================================== */

/* Header and navigation */
.site-header.is-scrolled {
	box-shadow: 0 10px 30px -22px rgba(20, 10, 60, 0.35);
}
.logo__image {
	height: 34px;
	width: auto;
	max-width: 100%;
	display: block;
}
/* The wordmark is dark; show it white on the dark footer. */
.footer__logo {
	height: 34px;
	width: auto;
	max-width: 100%;
	display: block;
	filter: brightness(0) invert(1);
}
@media (max-width: 720px) {
	/* No announcement bar on phones. */
	.announce {
		display: none;
	}
	.logo__image {
		height: 28px;
	}
}
@media (max-width: 480px) {
	.logo__image {
		height: 22px;
	}
	.site-header__inner {
		gap: 12px;
	}
}
.main-nav__link {
	text-decoration: none;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ay-text);
	white-space: nowrap;
}
.main-nav__toggle {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.mobile-menu__link {
	text-decoration: none;
	font-size: 15px;
	font-weight: 600;
	color: var(--ay-ink);
	padding: 14px 0;
	border-bottom: 1px solid var(--ay-line-soft);
}
.mobile-menu__link--sub {
	padding: 11px 0 11px 14px;
	border-bottom: 0;
	border-left: 2px solid var(--ay-lavender-strong);
}
.mobile-menu__link--group {
	border-top: 1px solid var(--ay-line-soft);
	margin-top: 8px;
}
.mobile-menu__link[aria-current="page"] {
	color: var(--ay-primary);
}

/* Footer */
.footer__link {
	font-size: 14px;
	color: #C6C6CE;
	text-decoration: none;
}
.footer__contact-link {
	display: flex;
	gap: 12px;
	text-decoration: none;
	color: #C6C6CE;
	font-size: 14px;
	line-height: 1.55;
}

/* Knowledge topic tabs */
.topic-tab {
	outline: none;
	cursor: pointer;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	padding: 11px 18px;
	border-radius: 999px;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	flex-shrink: 0;
	text-decoration: none;
	border: 1.5px solid #E0E0DA;
	background: var(--ay-white);
	color: var(--ay-text);
}
.topic-tab:hover {
	border-color: var(--ay-primary);
	color: var(--ay-primary);
}
.topic-tab.is-active {
	border-color: var(--ay-primary);
	background: var(--ay-primary);
	color: var(--ay-white);
}
.topic-tab__count {
	font-size: 12px;
	font-weight: 800;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--ay-lavender);
	color: var(--ay-primary);
}
.topic-tab.is-active .topic-tab__count {
	background: rgba(255, 255, 255, 0.22);
	color: var(--ay-white);
}

/* Service plan tabs (home) */
.plan-tabs__tab.is-active {
	background: var(--ay-primary);
	color: var(--ay-white);
}

/* Testimonial list */
.testimonial-item {
	text-align: left;
	cursor: pointer;
	font-family: inherit;
	border-radius: 18px;
	padding: 24px;
	background: transparent;
	border: 1.5px solid var(--ay-lavender-strong);
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
}
.testimonial-item.is-active {
	background: var(--ay-white);
	border-color: var(--ay-primary);
}

/* Contact form */
.form-label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: var(--ay-text);
	margin-bottom: 7px;
}
.form-label--legend {
	padding: 0;
}
.form-input {
	border-radius: 12px;
	padding: 15px 16px;
	font-family: inherit;
	font-size: 15px;
	color: var(--ay-ink);
	outline: none;
	width: 100%;
	min-width: 0;
	background: var(--ay-white);
	border: 1.5px solid #E0E0DA;
}
.form-input--textarea {
	min-height: 140px;
	resize: vertical;
	display: block;
}
.form-input.is-invalid {
	border-color: #D93025;
}
.service-option.is-selected {
	background: var(--ay-lavender);
	border-color: var(--ay-primary);
	color: var(--ay-primary);
}
.service-option.is-selected .service-option__dot {
	border-color: var(--ay-primary);
	background: var(--ay-primary);
	box-shadow: var(--ay-lavender) 0 0 0 3px inset;
}

/* Chat */
.chat__msg--user {
	max-width: 84%;
	align-self: flex-end;
	background: var(--ay-primary);
	border-radius: 14px 14px 4px 14px;
	padding: 12px 15px;
	line-height: 1.55;
	color: var(--ay-white);
}

/* Images */
.card-thumb {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.article-cover__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.page-body__image {
	width: 100%;
	height: auto;
	display: block;
}

/* Article reading progress and modal scroll lock */
.reading-progress {
	position: fixed;
	top: 0;
	left: 0;
	height: 3px;
	width: 100%;
	background: var(--ay-primary);
	transform-origin: 0 50%;
	transform: scaleX(0);
	z-index: 200;
	pointer-events: none;
}
.has-modal {
	overflow: hidden;
}


/* Scroll reveal (added and removed by theme.js) */
.reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 0.76s cubic-bezier(0.2, 0.7, 0.2, 1), transform 0.76s cubic-bezier(0.2, 0.7, 0.2, 1);
	transition-delay: var(--reveal-delay, 0ms);
}
.reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* ==========================================================================
   Hover utilities
   ========================================================================== */
.hover-accent:hover{color:#4F2BE8!important;}
.hover-outline-accent:hover{border-color:#4F2BE8!important;color:#4F2BE8!important;}
.hover-primary-dark:hover{background:#3A18CC!important;}
.hover-fill-accent:hover{background:#4F2BE8!important;color:#FFFFFF!important;}
.hover-primary-light:hover{background:#6A4BFF!important;}
.hover-social:hover{border-color:#A78BFA!important;background:rgba(167,139,250,0.12)!important;}
.hover-white:hover{color:#FFFFFF!important;}
.hover-bg-accent:hover{background:#4F2BE8!important;}
.hover-fade:hover{opacity:0.88!important;}
.hover-lift-sm:hover{border-color:#4F2BE8!important;box-shadow:rgba(79,43,232,0.45) 0px 24px 50px -30px!important;transform:translateY(-2px)!important;}
.hover-toc:hover{color:#4F2BE8!important;border-left-color:#4F2BE8!important;}
.hover-bg-lavender:hover{background:#F1EDFF!important;}
.hover-border-accent:hover{border-color:#4F2BE8!important;}
.hover-lift:hover{border-color:#4F2BE8!important;box-shadow:rgba(79,43,232,0.45) 0px 24px 50px -30px!important;transform:translateY(-3px)!important;}
.hover-accent-dark:hover{color:#3A18CC!important;}
.hover-glow:hover{box-shadow:rgba(79,43,232,0.7) 0px 30px 60px -30px!important;}
.hover-card:hover{border-color:#4F2BE8!important;box-shadow:rgba(79,43,232,0.45) 0px 24px 50px -30px!important;}

/* ==========================================================================
   Article / page content (block editor output)
   ========================================================================== */
.ay-prose{font-size:18px;line-height:1.8;color:#2A2A32;overflow-wrap:break-word;}
.ay-prose > :first-child{margin-top:0;}
.ay-prose p{font-size:18px;line-height:1.8;color:#2A2A32;margin:0 0 24px;}
.ay-prose h2{font-size:clamp(26px,2.8vw,34px);font-weight:800;line-height:1.2;letter-spacing:-0.03em;color:#0A0A0A;margin:52px 0 18px;scroll-margin-top:110px;}
.ay-prose h3{font-size:clamp(21px,2.2vw,25px);font-weight:800;line-height:1.3;letter-spacing:-0.02em;color:#0A0A0A;margin:40px 0 14px;scroll-margin-top:110px;}
.ay-prose h4{font-size:19px;font-weight:800;line-height:1.35;color:#0A0A0A;margin:32px 0 12px;}
.ay-prose ul{margin:0 0 24px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;}
.ay-prose ul li{position:relative;padding-left:19px;font-size:18px;line-height:1.7;color:#2A2A32;}
.ay-prose ul li::before{content:"";position:absolute;left:0;top:12px;width:7px;height:7px;border-radius:50%;background:#4F2BE8;}
.ay-prose ol{margin:0 0 24px;padding-left:24px;display:flex;flex-direction:column;gap:12px;}
.ay-prose ol li{font-size:18px;line-height:1.7;color:#2A2A32;padding-left:4px;}
.ay-prose ol li::marker{color:#4F2BE8;font-weight:800;}
.ay-prose blockquote,.ay-prose .wp-block-quote,.ay-prose .wp-block-pullquote{margin:32px 0;padding:28px 32px;background:#F1EDFF;border:none;border-radius:20px;text-align:left;}
.ay-prose blockquote p,.ay-prose .wp-block-pullquote p{font-size:clamp(20px,2.2vw,26px);font-weight:700;line-height:1.4;letter-spacing:-0.02em;color:#0A0A0A;margin:0;}
.ay-prose blockquote cite,.ay-prose .wp-block-pullquote cite{display:block;margin-top:12px;font-size:14px;font-style:normal;font-weight:700;color:#4F2BE8;}
.ay-prose .wp-block-pullquote blockquote{margin:0;padding:0;background:none;}
.ay-prose a{color:#4F2BE8;font-weight:600;text-decoration:underline;text-decoration-color:#CBBBFF;text-underline-offset:3px;}
.ay-prose a:hover{color:#3A18CC;text-decoration-color:currentColor;}
.ay-prose strong{color:#0A0A0A;font-weight:800;}
.ay-prose img,.ay-prose video,.ay-prose iframe{max-width:100%;height:auto;border-radius:16px;}
.ay-prose figure{margin:32px 0;}
.ay-prose figcaption{font-size:14px;line-height:1.5;color:#7A7A82;margin-top:10px;text-align:center;}
.ay-prose hr{border:none;border-top:1px solid #E4E4DE;margin:40px 0;}
.ay-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:#F5F5F2;border-radius:6px;padding:2px 6px;}
.ay-prose pre{background:#0A0A0A;color:#E4E4E8;border-radius:16px;padding:22px 24px;overflow-x:auto;font-size:15px;line-height:1.6;margin:0 0 24px;}
.ay-prose pre code{background:none;padding:0;color:inherit;}
.ay-prose table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:16px;}
.ay-prose th,.ay-prose td{border-bottom:1px solid #E4E4DE;padding:12px 10px;text-align:left;}
.ay-prose th{font-weight:800;color:#0A0A0A;}
.ay-prose .wp-block-button__link,.ay-prose .wp-element-button{background:#4F2BE8;color:#fff;border-radius:999px;padding:14px 26px;font-weight:700;text-decoration:none;}
.ay-prose .wp-block-button__link:hover{background:#3A18CC;color:#fff;}
.ay-prose .alignleft{float:left;margin:6px 24px 16px 0;}
.ay-prose .alignright{float:right;margin:6px 0 16px 24px;}
.ay-prose .aligncenter{margin-left:auto;margin-right:auto;}
.ay-toc-link.is-active{color:#4F2BE8 !important;border-left-color:#4F2BE8 !important;}

/* ==========================================================================
   Pagination
   ========================================================================== */
.ay-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 16px;border-radius:999px;border:1.5px solid #E0E0DA;background:#fff;color:#2A2A32;font-size:14px;font-weight:700;text-decoration:none;}
.ay-pagination a.page-numbers:hover{border-color:#4F2BE8;color:#4F2BE8;}
.ay-pagination .page-numbers.current{background:#4F2BE8;border-color:#4F2BE8;color:#fff;}
.ay-pagination .page-numbers.dots{border-color:transparent;background:transparent;}

/* ==========================================================================
   Misc
   ========================================================================== */
.ay-dock .ay-chat-log{overscroll-behavior:contain;}
.ay-video-frame iframe,.ay-video-frame video{width:100%;height:100%;border:0;display:block;}
.ay-contact-form .ay-field-error{font-size:12.5px;color:#D93025;margin-top:6px;}
.ay-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}
