/*
Omnifys theme styles.
Design tokens from the approved Claude Design system (indigo + cyan on white).
Sections: 1 Tokens · 2 Base · 3 Buttons/badges · 4 Header · 5 Footer ·
          6 Cards/grids · 7 Content/pages · 8 Forms · 9 Utilities · 10 Responsive
*/

/* ---------- 1. Tokens ---------- */
:root {
	--c-indigo-deep: #312E81;
	--c-indigo: #4F46E5;
	--c-indigo-hover: #4338CA;
	--c-indigo-soft: #EEF2FF;
	--c-cyan: #06B6D4;
	--c-cyan-hover: #0891B2;
	--c-slate: #111827;
	--c-text-muted: #4B5563;
	--c-white: #FFFFFF;
	--c-band: #F9FAFB;
	--c-border: #E2E9F2;
	--font-heading: 'Plus Jakarta Sans', system-ui, sans-serif;
	--font-body: 'Inter', system-ui, sans-serif;
	--radius: 10px;
	--radius-lg: 20px;
	--container: 1200px;
	--shadow-cta: 0 2px 8px rgba(79, 70, 229, 0.28);
}

/* ---------- 2. Base ---------- */
* { box-sizing: border-box; }
body {
	margin: 0;
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--c-slate);
	background: var(--c-white);
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 {
	font-family: var(--font-heading);
	color: var(--c-indigo-deep);
	line-height: 1.2;
	letter-spacing: -0.02em;
	margin: 0 0 0.5em;
}
h1 { font-size: 44px; font-weight: 800; }
h2 { font-size: 32px; font-weight: 700; }
h3 { font-size: 20px; font-weight: 700; }
p { margin: 0 0 1em; }
a { color: var(--c-indigo); text-decoration: none; }
a:hover { color: var(--c-indigo-hover); }
img { max-width: 100%; height: auto; display: block; }
::selection { background: var(--c-cyan); color: var(--c-indigo-deep); }

.container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
.section { padding: 72px 0; }
.section--narrow { max-width: 800px; }
.section--band { background: var(--c-band); }

.skip-link {
	position: absolute; left: -9999px; top: 0;
	background: var(--c-indigo); color: #fff; padding: 10px 16px; z-index: 100;
}
.skip-link:focus { left: 0; color: #fff; }
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden;
	padding: 0; position: absolute;
}

/* ---------- 3. Buttons & badges ---------- */
.btn {
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	padding: 11px 18px;
	border-radius: var(--radius);
	border: none;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease;
}
.btn--primary { background: var(--c-indigo); color: #fff; box-shadow: var(--shadow-cta); }
.btn--primary:hover { background: var(--c-indigo-hover); color: #fff; }
.btn--accent { background: var(--c-cyan); color: var(--c-indigo-deep); font-weight: 700; }
.btn--accent:hover { background: var(--c-indigo); color: #fff; }
.btn--ghost { background: transparent; color: var(--c-indigo); border: 1px solid var(--c-border); }
.btn--ghost:hover { background: var(--c-indigo-soft); }

.badge {
	display: inline-block;
	background: var(--c-indigo-soft);
	color: var(--c-indigo);
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 999px;
}

/* ---------- 4. Header ---------- */
.site-header {
	position: sticky; top: 0; z-index: 50;
	background: #F5F8FC;
	border-bottom: 1px solid var(--c-border);
	will-change: transform;
}
/* Keep sticky header below the WP admin bar when logged in. */
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .site-header { top: 46px; }
}
.site-header__inner {
	height: 72px;
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.brand { display: flex; align-items: center; gap: 11px; }
.brand__name {
	font-family: var(--font-heading);
	font-weight: 800; font-size: 22px; letter-spacing: -0.02em;
	color: var(--c-indigo-deep);
}
.site-nav { display: flex; align-items: center; }
.nav-menu {
	display: flex; align-items: center; gap: 4px;
	list-style: none; margin: 0; padding: 0;
	font-size: 15px; font-weight: 500;
}
.nav-menu a {
	display: block; padding: 8px 14px; border-radius: 8px; color: var(--c-slate);
}
.nav-menu a:hover { background: var(--c-indigo-soft); color: var(--c-indigo-deep); }
.nav-menu .current-menu-item > a,
.nav-menu .current_page_item > a {
	background: var(--c-indigo-soft); color: var(--c-indigo-deep); font-weight: 600;
}
.site-nav__cta-mobile { display: none; }

/* Dropdown submenus */
.nav-menu li { position: relative; }
.nav-menu .menu-item-has-children > a { padding-right: 30px; }
.nav-menu .menu-item-has-children > a::before {
	content: ""; position: absolute; right: 12px; top: 50%;
	width: 7px; height: 7px; margin-top: -5px;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg); opacity: 0.55;
}
.nav-menu .sub-menu {
	position: absolute; top: calc(100% + 6px); left: 0; z-index: 60;
	min-width: 260px;
	background: #fff; border: 1px solid var(--c-border); border-radius: 14px;
	box-shadow: 0 18px 44px rgba(49, 46, 129, 0.14);
	padding: 8px; margin: 0; list-style: none;
	display: none; flex-direction: column; gap: 2px;
}
.nav-menu li:hover > .sub-menu,
.nav-menu li:focus-within > .sub-menu { display: flex; }
.nav-menu .sub-menu a { padding: 10px 14px; border-radius: 9px; font-size: 14px; white-space: nowrap; }
.nav-menu .sub-menu a::after { display: none; }

.nav-toggle {
	display: none;
	flex-direction: column; justify-content: center; gap: 5px;
	width: 44px; height: 44px;
	background: transparent; border: 1px solid var(--c-border); border-radius: 8px;
	cursor: pointer; padding: 10px;
}
.nav-toggle span {
	display: block; height: 2px; width: 100%;
	background: var(--c-indigo-deep); border-radius: 2px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- 5. Footer ---------- */
.site-footer {
	background: var(--c-indigo-deep);
	color: #C7D2FE;
	margin-top: 72px;
	padding-top: 64px;
}
.site-footer a { color: #C7D2FE; }
.site-footer a:hover { color: var(--c-cyan); }
.site-footer .brand__name { color: #fff; font-size: 20px; }

.footer-newsletter {
	background: linear-gradient(120deg, #3730A3, #312E81);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--radius-lg);
	padding: 40px;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px;
	margin-bottom: 56px;
}
.footer-newsletter h3 { color: #fff; font-size: 24px; margin: 0 0 8px; }
.footer-newsletter p { font-size: 15px; margin: 0; }
.footer-newsletter__copy { max-width: 440px; }
.footer-newsletter__form { display: flex; gap: 10px; flex: 1; min-width: 280px; max-width: 420px; }
.footer-newsletter__form input {
	flex: 1; font-family: inherit; font-size: 15px;
	padding: 13px 16px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.06);
	color: #fff; outline: none;
}
.footer-newsletter__form input:focus { border-color: var(--c-cyan); background: rgba(255, 255, 255, 0.1); }
.footer-newsletter__form input::placeholder { color: #A5B4FC; }

.footer-grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1.3fr;
	gap: 32px;
	padding-bottom: 48px;
}
.footer-brand p { font-size: 14px; margin: 16px 0 0; max-width: 260px; }
.footer-col__title {
	font-family: var(--font-heading);
	font-size: 13px; font-weight: 700; color: #fff;
	text-transform: uppercase; letter-spacing: 0.08em;
	margin-bottom: 16px;
}
.footer-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; font-size: 14px; }
.footer-offices { display: flex; flex-direction: column; gap: 14px; }
.footer-offices__region { font-size: 14px; font-weight: 600; color: #fff; }
.footer-offices a { font-size: 13px; }
.footer-offices > div { display: flex; flex-direction: column; gap: 3px; }
.footer-offices__page { font-size: 12px; opacity: .78; }
.footer-offices__page:hover { opacity: 1; }

.footer-legal {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 24px 0;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
	font-size: 13px; color: #8B90C9;
}
.footer-legal a { color: #8B90C9; }
.footer-legal__links { display: flex; gap: 20px; }

/* ---------- 6. Cards & grids ---------- */
.card-grid { display: grid; gap: 24px; }
.card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.card {
	background: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.card:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(49, 46, 129, 0.08); }
.card__media { display: block; aspect-ratio: 8 / 5; background: var(--c-band); }
.card__media img { width: 100%; height: 100%; object-fit: cover; }
.card__media-placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(120deg, var(--c-indigo-soft), var(--c-band)); }
.card__body { padding: 20px 22px 24px; }
.card__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.card__date { font-size: 13px; color: var(--c-text-muted); }
.card__title { font-size: 18px; margin: 0 0 8px; }
.card__title a { color: var(--c-indigo-deep); }
.card__title a:hover { color: var(--c-indigo); }
.card__excerpt { font-size: 14px; color: var(--c-text-muted); margin: 0; }

/* ---------- 7. Content & pages ---------- */
.page-header { margin-bottom: 32px; }
.post-meta { font-size: 14px; color: var(--c-text-muted); }
.post-hero-image { border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 32px; }
.entry-content { font-size: 17px; }
.entry-content h2 { margin-top: 1.6em; }
.entry-content img { border-radius: var(--radius); }
.entry-content blockquote {
	border-left: 3px solid var(--c-cyan);
	margin: 1.5em 0; padding: 4px 0 4px 20px;
	color: var(--c-text-muted);
}

.blog-layout { display: grid; grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr); gap: 48px; }
.widget { margin-bottom: 32px; }
.widget-title { font-size: 16px; }

.post-nav { display: flex; justify-content: space-between; gap: 24px; margin: 40px 0; font-weight: 500; }
.pagination { margin-top: 40px; text-align: center; }
.pagination .page-numbers {
	display: inline-block; padding: 8px 14px; border-radius: 8px;
	border: 1px solid var(--c-border); margin: 0 3px; color: var(--c-slate);
}
.pagination .page-numbers.current { background: var(--c-indigo); border-color: var(--c-indigo); color: #fff; }

.error-404 { text-align: center; }
.error-404__code {
	font-family: var(--font-heading); font-weight: 800; font-size: 96px;
	color: var(--c-indigo-soft); margin: 0; line-height: 1;
}

/* ---------- 8. Forms ---------- */
.search-form { display: flex; gap: 10px; max-width: 480px; margin: 0 auto 24px; }
.search-form .search-field {
	flex: 1; font-family: inherit; font-size: 15px;
	padding: 11px 16px;
	border: 1px solid var(--c-border); border-radius: var(--radius);
	outline: none;
}
.search-form .search-field:focus { border-color: var(--c-indigo); }

/* ---------- 8b. Homepage sections ---------- */
.hero { padding: 80px 0 72px; }
.hero__grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items: center; }
.hero__badges { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.hero__badges .hero__eyebrow { margin-bottom: 0; }
.hero__eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	background: #fff; border: 1px solid var(--c-border);
	color: var(--c-slate); font-size: 13px; font-weight: 600;
	padding: 6px 14px; border-radius: 999px; margin-bottom: 24px; white-space: nowrap;
}
.hero__eyebrow--flag svg { border-radius: 3px; box-shadow: 0 0 0 1px rgba(49, 46, 129, 0.08); flex-shrink: 0; }
.hero__dot { width: 7px; height: 7px; border-radius: 999px; background: var(--c-cyan); }
.hero__copy h1 { font-size: 56px; line-height: 1.04; letter-spacing: -0.03em; margin: 0 0 20px; }
.hero__sub { font-size: 19px; line-height: 1.6; color: #4A5A75; margin: 0 0 32px; max-width: 500px; }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 36px; }
.btn--lg { font-size: 16px; padding: 15px 26px; border-radius: 12px; }
.btn--sm { font-size: 13px; padding: 9px 16px; border-radius: 9px; }
.hero__ticks { display: flex; align-items: center; gap: 22px; font-size: 14px; color: #8A97AC; flex-wrap: wrap; }
.hero__ticks i { color: var(--c-cyan); font-style: normal; font-size: 16px; }
.hero__visual { position: relative; }
.hero__shot {
	height: 380px; border-radius: var(--radius-lg);
	background: url("../img/hero-dashboard.png") center top / cover no-repeat, var(--c-indigo-soft);
	border: 1px solid var(--c-border);
	box-shadow: 0 24px 60px rgba(49, 46, 129, 0.1);
}
.hero__stat {
	position: absolute; bottom: -22px; left: -22px;
	background: var(--c-indigo-deep); color: #fff;
	border-radius: 16px; padding: 18px 22px;
	box-shadow: 0 16px 40px rgba(49, 46, 129, 0.24);
	display: flex; align-items: center; gap: 14px;
}
.hero__stat-icon {
	width: 42px; height: 42px; border-radius: 11px;
	background: rgba(6, 182, 212, 0.16);
	position: relative;
}
.hero__stat-icon::after {
	content: ""; position: absolute; inset: 12px;
	border-radius: 5px; background: var(--c-cyan);
}
.hero__stat-copy strong { font-family: var(--font-heading); font-weight: 700; font-size: 20px; display: block; }
.hero__stat-copy small { font-size: 12px; color: #C7D2FE; }

.trustbar { border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); }
.trustbar__inner { padding: 28px 32px; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.trustbar__label { font-size: 13px; font-weight: 600; color: #8A97AC; text-transform: uppercase; letter-spacing: 0.08em; white-space: nowrap; }
.trustbar__logos { display: flex; align-items: center; gap: 40px; flex: 1; justify-content: space-around; min-width: 300px; }
.trustbar__logos span { height: 26px; width: 96px; background: var(--c-indigo-soft); border-radius: 6px; }

.kicker {
	font-family: var(--font-heading);
	font-size: 13px; font-weight: 700;
	letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--c-cyan); margin-bottom: 12px;
}
.section-head { margin-bottom: 40px; }
.section-head h2 { font-size: 38px; margin: 0; max-width: 620px; }
.section-head p { font-size: 17px; color: #4A5A75; max-width: 560px; margin: 14px 0 0; }
.section-head--center { text-align: center; }
.section-head--center h2, .section-head--center p { margin-left: auto; margin-right: auto; }
.section-head--split { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.section-head__link { font-weight: 600; font-size: 15px; white-space: nowrap; }
.section-head__link:hover { color: var(--c-slate); }
.section-foot { text-align: center; margin-top: 36px; }
.text-link { font-weight: 600; font-size: 14px; }
.text-link:hover { color: var(--c-slate); }

.card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }

.tool-card {
	background: #fff; border: 1px solid var(--c-border); border-radius: 16px;
	overflow: hidden; display: block; color: inherit;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.tool-card:hover { border-color: #C7CBF5; box-shadow: 0 14px 34px rgba(49, 46, 129, 0.09); transform: translateY(-3px); color: inherit; }
.tool-card__shot {
	display: block; height: 130px;
	background: repeating-linear-gradient(135deg, var(--c-indigo-soft), var(--c-indigo-soft) 10px, #fff 10px, #fff 20px);
	overflow: hidden;
}
.tool-card__shot img { width: 100%; height: 100%; object-fit: cover; }
.tool-card__body { display: block; padding: 22px; }
.tool-card__title { display: block; font-family: var(--font-heading); font-weight: 700; font-size: 20px; color: var(--c-indigo-deep); margin: 14px 0 6px; }
.tool-card__desc { display: block; font-size: 14px; line-height: 1.55; color: #4A5A75; margin-bottom: 18px; }
.tool-card__row { display: flex; align-items: center; justify-content: space-between; }
.tool-card__price { font-family: var(--font-heading); font-weight: 700; font-size: 20px; color: var(--c-indigo-deep); }

.feature-card {
	background: #fff; border: 1px solid var(--c-border); border-radius: 16px; padding: 26px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.feature-card:hover { border-color: #C7CBF5; box-shadow: 0 12px 30px rgba(49, 46, 129, 0.08); transform: translateY(-3px); }
.feature-card__icon { display: block; width: 46px; height: 46px; border-radius: 12px; background: var(--c-indigo-soft); position: relative; margin-bottom: 18px; }
.feature-card__icon::after { content: ""; position: absolute; inset: 14px; border-radius: 5px; background: var(--c-indigo); }
.feature-card h3 { font-size: 18px; margin: 0 0 8px; }
.feature-card p { font-size: 14px; line-height: 1.55; color: #4A5A75; margin: 0; }

.agent-card {
	background: #fff; border: 1px solid var(--c-border); border-radius: 18px; padding: 32px;
	display: flex; gap: 22px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.agent-card:hover { border-color: #C7CBF5; box-shadow: 0 14px 34px rgba(49, 46, 129, 0.08); }
.agent-card__icon { width: 54px; height: 54px; border-radius: 14px; flex-shrink: 0; position: relative; }
.agent-card__icon::after { content: ""; position: absolute; inset: 16px; border-radius: 6px; }
.agent-card__icon--cyan { background: #ECFEFF; }
.agent-card__icon--cyan::after { background: var(--c-cyan); }
.agent-card__icon--indigo { background: var(--c-indigo-soft); }
.agent-card__icon--indigo::after { background: var(--c-indigo); }
.agent-card__icon--slate { background: var(--c-indigo-soft); }
.agent-card__icon--slate::after { background: var(--c-slate); }
.agent-card__icon--amber { background: #FFF0E6; }
.agent-card__icon--amber::after { background: #E08A3C; }
.agent-card h3 { font-size: 21px; margin: 0 0 8px; }
.agent-card p { font-size: 15px; line-height: 1.55; color: #4A5A75; margin: 0 0 14px; }

.dark-band { background: var(--c-indigo-deep); color: #fff; position: relative; overflow: hidden; }
.dark-band::before {
	content: ""; position: absolute; top: -120px; right: -80px;
	width: 380px; height: 380px; border-radius: 999px;
	background: radial-gradient(circle, rgba(6, 182, 212, 0.16), transparent 70%);
}
.dark-band__grid { padding: 88px 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; position: relative; }
.dark-band__title { color: #fff; font-size: 40px; line-height: 1.08; margin: 0 0 18px; }
.dark-band__sub { font-size: 18px; line-height: 1.6; color: #C7D2FE; margin: 0 0 28px; max-width: 460px; }
.dark-band__chips { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 32px; }
.dark-band__chips span {
	background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 12px; padding: 12px 20px; font-weight: 600; font-size: 15px;
}
.dark-band__panel {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--radius-lg);
	height: 340px;
}

.course-card {
	background: #fff; border: 1px solid var(--c-border); border-radius: 16px;
	overflow: hidden; display: block; color: inherit;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.course-card:hover { border-color: #C7CBF5; box-shadow: 0 12px 30px rgba(49, 46, 129, 0.08); transform: translateY(-3px); color: inherit; }
.course-card__banner {
	height: 96px; display: flex; align-items: center; justify-content: center;
	color: rgba(255, 255, 255, 0.85);
	font-family: var(--font-heading); font-weight: 700; font-size: 15px;
	overflow: hidden;
}
.course-card__banner img { width: 100%; height: 100%; object-fit: cover; }
.course-card__banner--a { background: linear-gradient(135deg, #4F46E5, #111827); }
.course-card__banner--b { background: linear-gradient(135deg, #312E81, #111827); }
.course-card__banner--c { background: linear-gradient(135deg, #06B6D4, #0E7490); }
.course-card__banner--d { background: linear-gradient(135deg, #111827, #4F46E5); }
.course-card__body { display: block; padding: 20px; }
.course-card__title { display: block; font-family: var(--font-heading); font-weight: 700; font-size: 16px; color: var(--c-indigo-deep); margin-bottom: 6px; }
.course-card__meta { font-size: 13px; color: #8A97AC; }

.industry-card {
	background: #fff; border: 1px solid var(--c-border); border-radius: 16px;
	padding: 26px 20px; text-align: center; display: block; color: inherit;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.industry-card:hover { border-color: #B8E9F2; box-shadow: 0 12px 30px rgba(49, 46, 129, 0.08); transform: translateY(-4px); color: inherit; }
.industry-card__icon { display: block; width: 52px; height: 52px; border-radius: 14px; background: #ECFEFF; margin: 0 auto 16px; position: relative; }
.industry-card__icon::after { content: ""; position: absolute; inset: 16px; border-radius: 6px; background: var(--c-cyan); }
.industry-card h3 { font-size: 17px; margin: 0 0 6px; }
.industry-card p { font-size: 13px; line-height: 1.5; color: #8A97AC; margin: 0; }

.cta-banner {
	background: linear-gradient(120deg, #111827, #312E81);
	border-radius: 24px; padding: 64px 56px; text-align: center;
	position: relative; overflow: hidden;
}
.cta-banner::before {
	content: ""; position: absolute; top: -60px; left: -40px;
	width: 260px; height: 260px; border-radius: 999px;
	background: radial-gradient(circle, rgba(6, 182, 212, 0.18), transparent 70%);
}
.cta-banner::after {
	content: ""; position: absolute; bottom: -80px; right: -40px;
	width: 300px; height: 300px; border-radius: 999px;
	background: radial-gradient(circle, rgba(79, 70, 229, 0.22), transparent 70%);
}
.cta-banner h2 { color: #fff; font-size: 42px; font-weight: 800; margin: 0 auto 16px; max-width: 620px; line-height: 1.1; position: relative; z-index: 1; }
.cta-banner p { font-size: 18px; line-height: 1.6; color: #C7D2FE; margin: 0 auto 32px; max-width: 500px; position: relative; z-index: 1; }
.cta-banner__actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; position: relative; z-index: 1; }
.btn--outline-light { background: rgba(255, 255, 255, 0.1); color: #fff; border: 1.5px solid rgba(255, 255, 255, 0.24); }
.btn--outline-light:hover { border-color: var(--c-cyan); color: var(--c-cyan); background: rgba(255, 255, 255, 0.1); }

/* ---------- 8c. Inner pages ---------- */
.page-hero { padding: 40px 0 8px; }
.page-hero__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: center; }
.page-hero__grid h1 { font-size: 50px; line-height: 1.05; letter-spacing: -0.03em; margin: 0 0 18px; }
.page-hero__sub { font-size: 19px; line-height: 1.6; color: #4A5A75; margin: 0 0 30px; max-width: 500px; }
.page-hero__panel {
	background: url("../img/services-illustration.png") center / cover no-repeat, #fff;
	border: 1px solid var(--c-border); border-radius: var(--radius-lg);
	box-shadow: 0 24px 60px rgba(49, 46, 129, 0.1); height: 340px;
}
.page-hero .section-head--center { margin-top: 12px; }
.page-hero .section-head--center h1 { font-size: 46px; margin-bottom: 14px; }

.breadcrumb { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #8A97AC; margin-bottom: 28px; }
.breadcrumb__current { color: var(--c-indigo-deep); font-weight: 500; }

.feature-card__num { font-family: var(--font-heading); font-size: 12px; font-weight: 700; color: #A5B0C2; margin-bottom: 6px; }
.feature-card .agent-card__icon { display: block; width: 46px; height: 46px; border-radius: 12px; margin-bottom: 18px; }
.feature-card .agent-card__icon::after { inset: 14px; border-radius: 5px; }

.process-panel { background: #fff; border: 1px solid var(--c-border); border-radius: 24px; padding: 56px; }
.process-step { text-align: center; }
.process-step__num {
	width: 56px; height: 56px; border-radius: 999px;
	background: var(--c-indigo-soft); color: var(--c-indigo);
	font-family: var(--font-heading); font-weight: 800; font-size: 22px;
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto 18px;
}
.process-step h3 { font-size: 18px; margin: 0 0 8px; }
.process-step p { font-size: 14px; line-height: 1.55; color: #4A5A75; margin: 0; }

.check-list { list-style: none; margin: 0 0 32px; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.check-list li { display: flex; align-items: center; gap: 12px; font-size: 16px; color: #E0E7FF; }
.check-list li::before {
	content: "\2713";
	width: 22px; height: 22px; border-radius: 999px;
	background: rgba(6, 182, 212, 0.16); color: var(--c-cyan);
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 13px; flex-shrink: 0;
}

.contact-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.contact-form-panel { background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius-lg); padding: 36px; }
.contact-aside { display: flex; flex-direction: column; gap: 18px; }
.contact-office { background: var(--c-band); border: 1px solid var(--c-border); border-radius: 16px; padding: 22px 24px; }
.contact-office h3 { font-size: 16px; margin: 0 0 6px; }
.contact-office p { font-size: 14px; color: #4A5A75; margin: 0; }
.contact-office--note { background: var(--c-indigo-soft); }

/* ---------- 8d. WooCommerce ---------- */
.wc-page-head { background: #fff; border-bottom: 1px solid var(--c-border); padding: 40px 0 44px; }
.wc-page-head__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.wc-page-head h1 { font-size: 42px; margin: 0 0 10px; }
.wc-page-head p { font-size: 17px; color: #4A5A75; margin: 0; max-width: 520px; }
.wc-cart-chip {
	display: inline-flex; align-items: center; gap: 10px;
	background: var(--c-indigo-soft); border-radius: 12px; padding: 10px 16px;
	font-weight: 600; font-size: 14px; color: var(--c-slate);
}
.wc-cart-chip__icon { width: 20px; height: 20px; border-radius: 6px; background: var(--c-indigo); }
.wc-cart-chip__count {
	background: var(--c-indigo); color: #fff; font-size: 13px; font-weight: 700;
	min-width: 22px; height: 22px; border-radius: 999px;
	display: inline-flex; align-items: center; justify-content: center; padding: 0 6px;
}

.shop-layout { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 40px; align-items: start; padding-top: 40px; padding-bottom: 88px; }
.shop-sidebar { background: #fff; border: 1px solid var(--c-border); border-radius: 16px; padding: 28px; position: sticky; top: 96px; }
.shop-sidebar__title {
	font-family: var(--font-heading); font-size: 13px; font-weight: 700;
	color: var(--c-indigo-deep); text-transform: uppercase; letter-spacing: 0.06em;
	margin-bottom: 16px;
}
.shop-cats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.shop-cats a {
	display: flex; align-items: center; justify-content: space-between;
	font-size: 14px; color: #4A5A75; border-radius: 9px; padding: 9px 12px;
}
.shop-cats a span { font-size: 12px; color: #A5B0C2; }
.shop-cats a:hover { background: var(--c-band); color: var(--c-indigo-deep); }
.shop-cats a.is-active { background: var(--c-indigo-soft); color: var(--c-indigo-deep); font-weight: 600; }

.woocommerce-result-count { font-size: 14px; color: #8A97AC; float: left; margin: 6px 0 24px; }
.woocommerce-ordering { float: right; margin: 0 0 24px; }
.woocommerce-ordering select {
	font-family: inherit; font-size: 14px; font-weight: 500; color: var(--c-slate);
	background: #fff; border: 1.5px solid #D6E0EC; border-radius: 10px; padding: 9px 14px;
}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	background: var(--c-indigo-soft); border-top: 3px solid var(--c-indigo);
	color: var(--c-slate); border-radius: 0 0 var(--radius) var(--radius);
	padding: 14px 18px; margin-bottom: 24px; list-style: none;
}
.woocommerce-error { background: #FEF2F2; border-top-color: #DC2626; }

ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px; list-style: none; margin: 0; padding: 0; clear: both;
}
ul.products::before, ul.products::after { display: none; }
ul.products li.product {
	background: #fff; border: 1px solid var(--c-border); border-radius: 16px;
	overflow: hidden; display: flex; flex-direction: column;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
	width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important;
}
ul.products li.product:hover { border-color: #C7CBF5; box-shadow: 0 14px 34px rgba(49, 46, 129, 0.09); transform: translateY(-3px); }
ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; color: inherit; }
ul.products li.product img {
	width: 100%; height: 150px; object-fit: cover; margin: 0;
	background: repeating-linear-gradient(135deg, var(--c-indigo-soft), var(--c-indigo-soft) 10px, #fff 10px, #fff 20px);
}
ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-heading); font-weight: 700; font-size: 18px;
	color: var(--c-indigo-deep); padding: 20px 22px 6px; margin: 0;
}
ul.products li.product .price {
	font-family: var(--font-heading); font-weight: 700; font-size: 20px;
	color: var(--c-indigo-deep) !important; padding: 0 22px 16px; margin-top: auto;
}
ul.products li.product .price del { color: #A5B0C2 !important; font-weight: 500; font-size: 15px; }
ul.products li.product .star-rating { margin: 4px 22px; color: #F5A623; }
ul.products li.product .button {
	margin: 0 22px 22px; text-align: center;
	background: var(--c-indigo); color: #fff; font-weight: 600; font-size: 13px;
	padding: 10px 16px; border-radius: 9px; border: none;
}
ul.products li.product .button:hover { background: var(--c-indigo-hover); }
ul.products li.product .onsale {
	position: absolute; top: 12px; left: 12px; z-index: 2;
	background: var(--c-cyan); color: var(--c-indigo-deep);
	font-size: 12px; font-weight: 700; padding: 4px 11px; border-radius: 999px;
	min-height: 0; line-height: 1.4;
}
ul.products li.product { position: relative; }

.woocommerce nav.woocommerce-pagination { text-align: center; margin-top: 48px; }
.woocommerce nav.woocommerce-pagination ul { border: none; display: inline-flex; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: none; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
	border-radius: 9px; border: 1px solid #D6E0EC; color: var(--c-slate); font-size: 15px;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--c-indigo); border-color: var(--c-indigo); color: #fff; font-weight: 600; }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--c-indigo-soft); }

/* Single product */
.wc-single div.product div.images img { border-radius: var(--radius-lg); border: 1px solid var(--c-border); }
.wc-single div.product .product_title { font-size: 36px; }
.wc-single div.product p.price { font-family: var(--font-heading); font-size: 28px; font-weight: 700; color: var(--c-indigo-deep) !important; }
.wc-single div.product form.cart .button,
.wc-single div.product .single_add_to_cart_button {
	background: var(--c-indigo); color: #fff; font-weight: 600;
	padding: 14px 26px; border-radius: 12px; font-size: 15px;
}
.wc-single div.product form.cart .button:hover { background: var(--c-indigo-hover); }
.wc-single div.product form.cart .quantity .qty {
	border: 1.5px solid #D6E0EC; border-radius: 10px; padding: 12px; font-family: inherit;
}
.wc-single .woocommerce-tabs ul.tabs { padding: 0; margin: 40px 0 0; border-bottom: 1px solid var(--c-border); }
.wc-single .woocommerce-tabs ul.tabs::before { border-bottom: 1px solid var(--c-border); }
.wc-single .woocommerce-tabs ul.tabs li {
	background: transparent; border: none; border-radius: 0; margin: 0;
}
.wc-single .woocommerce-tabs ul.tabs li a { font-weight: 600; color: #8A97AC; padding: 12px 18px; }
.wc-single .woocommerce-tabs ul.tabs li.active a { color: var(--c-indigo); box-shadow: inset 0 -2px 0 var(--c-indigo); }
.wc-single .woocommerce-tabs .panel { padding-top: 24px; }
.wc-single .related.products { margin-top: 64px; }
.wc-single .related.products > h2 { font-size: 28px; margin-bottom: 24px; }

/* Cart / checkout / account */
.woocommerce table.shop_table {
	border: 1px solid var(--c-border); border-radius: var(--radius-lg);
	border-collapse: separate; border-spacing: 0; overflow: hidden;
}
.woocommerce table.shop_table th { background: var(--c-band); font-family: var(--font-heading); color: var(--c-indigo-deep); padding: 14px 16px; }
.woocommerce table.shop_table td { border-top: 1px solid var(--c-border); padding: 14px 16px; }
.woocommerce .cart .button, .woocommerce .checkout-button,
.woocommerce #place_order, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background: var(--c-indigo); color: #fff; font-weight: 600; border-radius: 12px; padding: 14px 24px;
}
.woocommerce .cart .button:hover, .woocommerce .checkout-button:hover, .woocommerce #place_order:hover { background: var(--c-indigo-hover); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
	border: 1.5px solid #D6E0EC; border-radius: 10px; padding: 12px 14px; font-family: inherit; font-size: 15px;
}
.woocommerce form .form-row input.input-text:focus { border-color: var(--c-indigo); outline: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block; padding: 10px 14px; border-radius: 9px; color: #4A5A75; font-weight: 500;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--c-indigo-soft); color: var(--c-indigo-deep); font-weight: 600; }

/* ---------- 8e. Tutor LMS ---------- */
:root {
	--tutor-color-primary: #4F46E5;
	--tutor-color-primary-hover: #4338CA;
	--tutor-color-secondary: #06B6D4;
	--tutor-color-black: #111827;
	--tutor-body-color: #111827;
	--tutor-border-color: #E2E9F2;
	--tutor-color-success: #06B6D4;
	--tutor-primary-button-color: #4F46E5;
}
.tutor-course-card, .tutor-card {
	border: 1px solid var(--c-border) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.tutor-course-card:hover { border-color: var(--c-indigo) !important; box-shadow: 0 14px 34px rgba(49, 46, 129, 0.09) !important; transform: translateY(-3px); }
.tutor-course-name a, .tutor-course-card .tutor-course-name a {
	font-family: var(--font-heading) !important; font-weight: 700 !important; color: var(--c-indigo-deep) !important;
}
.tutor-btn-primary, .tutor-btn.tutor-btn-primary {
	background: var(--c-indigo) !important; border-color: var(--c-indigo) !important;
	border-radius: 10px !important; font-weight: 600 !important;
}
.tutor-btn-primary:hover { background: var(--c-indigo-hover) !important; border-color: var(--c-indigo-hover) !important; }
.tutor-btn-outline-primary { color: var(--c-indigo) !important; border-color: var(--c-indigo) !important; border-radius: 10px !important; }
.tutor-course-price .tutor-fs-6, .tutor-course-price {
	font-family: var(--font-heading); font-weight: 700; color: var(--c-indigo-deep);
}
.tutor-pagination .tutor-pagination-item.is-active { background: var(--c-indigo); border-color: var(--c-indigo); }
.tutor-accordion-item { border: 1px solid var(--c-border) !important; border-radius: 14px !important; margin-bottom: 12px; overflow: hidden; }
.tutor-accordion-item-header { font-family: var(--font-heading) !important; font-weight: 700 !important; color: var(--c-indigo-deep) !important; }
.tutor-dashboard-header, .tutor-dashboard .tutor-card { border-radius: 16px; }
body.tutor-screen-course-archive .tutor-container,
body.tutor-screen-single-course .tutor-container { font-family: var(--font-body); }

/* ---------- 8f. Blog index ---------- */
.blog-chips { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin: 8px 0 16px; }
.blog-chip {
	font-size: 14px; font-weight: 600; color: #4A5A75;
	background: #fff; border: 1px solid #D6E0EC; border-radius: 999px;
	padding: 8px 16px;
}
.blog-chip:hover { border-color: var(--c-indigo); color: var(--c-indigo); }
.blog-chip.is-active { background: var(--c-indigo); border-color: var(--c-indigo); color: #fff; }

.featured-post {
	display: grid; grid-template-columns: 1.1fr 1fr; gap: 0;
	background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius-lg);
	overflow: hidden; color: inherit; margin-bottom: 40px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.featured-post:hover { border-color: #C7CBF5; box-shadow: 0 14px 34px rgba(49, 46, 129, 0.09); transform: translateY(-3px); color: inherit; }
.featured-post__media { min-height: 320px; background: linear-gradient(120deg, var(--c-indigo-soft), var(--c-band)); }
.featured-post__media img { width: 100%; height: 100%; object-fit: cover; }
.featured-post__body { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 40px 44px; }
.featured-post__meta { display: flex; align-items: center; gap: 12px; }
.featured-post__title {
	font-family: var(--font-heading); font-weight: 700; font-size: 28px;
	line-height: 1.2; letter-spacing: -0.02em; color: var(--c-indigo-deep);
}
.featured-post__excerpt { font-size: 15px; line-height: 1.6; color: #4A5A75; }
.featured-post__author { display: flex; align-items: center; gap: 10px; font-size: 14px; color: #4A5A75; font-weight: 500; }
.featured-post__author img { border-radius: 999px; width: 32px; height: 32px; }

/* ---------- 8g. Comments & sidebar widgets ---------- */
.comments-area { margin-top: 48px; border-top: 1px solid var(--c-border); padding-top: 40px; }
.comments-title, .comment-reply-title { font-size: 24px; margin-bottom: 24px; }
.comment-list { list-style: none; margin: 0 0 32px; padding: 0; }
.comment-list .comment {
	background: #fff; border: 1px solid var(--c-border); border-radius: 16px;
	padding: 20px 24px; margin-bottom: 14px;
}
.comment-list .children { list-style: none; margin: 14px 0 0; padding-left: 24px; }
.comment-author { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--c-indigo-deep); }
.comment-author .avatar { border-radius: 999px; width: 36px; height: 36px; }
.comment-metadata { font-size: 13px; color: #8A97AC; margin: 4px 0 10px; }
.comment-metadata a { color: #8A97AC; }
.comment-content { font-size: 15px; color: #4A5A75; }
.comment-reply-link { font-size: 13px; font-weight: 600; color: var(--c-indigo); }

.comment-respond { background: var(--c-band); border: 1px solid var(--c-border); border-radius: var(--radius-lg); padding: 32px; margin-top: 24px; }
.comment-form { display: flex; flex-direction: column; gap: 16px; }
.comment-form label { display: block; font-size: 14px; font-weight: 600; color: var(--c-indigo-deep); margin-bottom: 6px; }
.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
	width: 100%; font-family: inherit; font-size: 15px; color: var(--c-slate);
	background: #fff; border: 1.5px solid #D6E0EC; border-radius: 10px;
	padding: 12px 14px; outline: none;
	transition: border-color 0.15s ease;
}
.comment-form textarea { min-height: 140px; resize: vertical; }
.comment-form textarea:focus,
.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form input[type="url"]:focus { border-color: var(--c-indigo); }
.comment-form .logged-in-as, .comment-form .comment-notes { font-size: 14px; color: #8A97AC; margin: 0; }
.comment-form .comment-form-cookies-consent { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #4A5A75; }
.comment-form .comment-form-cookies-consent label { display: inline; margin: 0; font-weight: 500; color: #4A5A75; }
.comment-form .form-submit { margin: 0; }
.comment-form input[type="submit"], .comment-form .submit {
	background: var(--c-indigo); color: #fff;
	font-family: inherit; font-weight: 600; font-size: 15px;
	padding: 13px 26px; border: none; border-radius: 10px; cursor: pointer;
	transition: background 0.15s ease;
}
.comment-form input[type="submit"]:hover, .comment-form .submit:hover { background: var(--c-indigo-hover); }

/* Sidebar widgets (classic + block widgets) */
.blog-layout__sidebar .widget, .blog-layout__sidebar .widget_block {
	background: #fff; border: 1px solid var(--c-border); border-radius: 16px;
	padding: 24px; margin-bottom: 18px;
}
.blog-layout__sidebar h2, .blog-layout__sidebar .widget-title,
.blog-layout__sidebar .wp-block-heading {
	font-size: 17px; margin: 0 0 14px;
}
.blog-layout__sidebar ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.blog-layout__sidebar ul li { font-size: 14px; line-height: 1.5; }
.blog-layout__sidebar .wp-block-search__inside-wrapper { display: flex; gap: 8px; }
.blog-layout__sidebar .wp-block-search__input,
.blog-layout__sidebar input[type="search"] {
	flex: 1; min-width: 0; font-family: inherit; font-size: 14px;
	background: #fff; border: 1.5px solid #D6E0EC; border-radius: 10px;
	padding: 10px 12px; outline: none;
}
.blog-layout__sidebar .wp-block-search__input:focus { border-color: var(--c-indigo); }
.blog-layout__sidebar .wp-block-search__button,
.blog-layout__sidebar button[type="submit"] {
	background: var(--c-indigo); color: #fff; border: none; border-radius: 10px;
	font-family: inherit; font-weight: 600; font-size: 14px;
	padding: 10px 16px; cursor: pointer;
}
.blog-layout__sidebar .wp-block-search__button:hover { background: var(--c-indigo-hover); }
.blog-layout__sidebar .wp-block-latest-comments { padding-left: 0; }
.blog-layout__sidebar .wp-block-latest-comments__comment { font-size: 14px; margin-bottom: 10px; }

/* ---------- 8h. Icon tiles ---------- */
.icon-tile {
	display: flex; align-items: center; justify-content: center;
	width: 46px; height: 46px; border-radius: 12px;
	margin-bottom: 18px; flex-shrink: 0;
}
.icon-tile--lg { width: 54px; height: 54px; border-radius: 14px; margin-bottom: 0; }
.icon-tile--center { margin-left: auto; margin-right: auto; margin-bottom: 16px; }
.icon-tile--indigo { background: var(--c-indigo-soft); color: var(--c-indigo); }
.icon-tile--cyan { background: #ECFEFF; color: var(--c-cyan-hover); }
.icon-tile--slate { background: var(--c-indigo-soft); color: var(--c-slate); }
.icon-tile--amber { background: #FFF0E6; color: #E08A3C; }
.industry-card .icon-tile--cyan { width: 52px; height: 52px; border-radius: 14px; }

/* ---------- 8i. WordPress core classes ---------- */
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 13px; color: var(--c-text-muted); text-align: center; padding: 8px 0; }
.gallery-caption { font-size: 13px; color: var(--c-text-muted); }
.sticky .card__title::after, article.sticky .page-header h1::after {
	content: " ★"; color: var(--c-cyan); font-size: 0.7em; vertical-align: super;
}
.bypostauthor > .comment-body { border-left: 3px solid var(--c-cyan); }
.page-links { margin: 24px 0; font-weight: 600; }
.page-links .post-page-numbers {
	display: inline-block; padding: 6px 12px; margin-left: 6px;
	border: 1px solid var(--c-border); border-radius: 8px;
}
.page-links .post-page-numbers.current { background: var(--c-indigo); border-color: var(--c-indigo); color: #fff; }
.post-tags { margin: 20px 0; display: flex; gap: 8px; flex-wrap: wrap; }
.post-tags a {
	font-size: 13px; font-weight: 500; color: #4A5A75;
	background: var(--c-band); border: 1px solid var(--c-border);
	border-radius: 999px; padding: 5px 12px;
}
.post-tags a:hover { color: var(--c-indigo); border-color: var(--c-indigo); }
.no-comments { color: var(--c-text-muted); }

/* ---------- 8j. ROI calculator ---------- */
.roi-panel {
	display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 0;
	background: #fff; border: 1px solid var(--c-border); border-radius: 24px;
	overflow: hidden; box-shadow: 0 24px 60px rgba(49, 46, 129, 0.08);
}
.roi-panel__intro { padding: 48px; }
.roi-panel__intro h2 { font-size: 32px; margin: 0 0 10px; }
.roi-panel__intro > p { color: #4A5A75; margin-bottom: 28px; }
.roi-field { margin-bottom: 22px; }
.roi-field label { display: block; font-size: 14px; font-weight: 600; color: var(--c-indigo-deep); margin-bottom: 8px; }
.roi-field__row { display: flex; align-items: center; gap: 16px; }
.roi-field input[type="range"] {
	flex: 1; -webkit-appearance: none; appearance: none; height: 6px;
	background: var(--c-indigo-soft); border-radius: 999px; outline: none;
}
.roi-field input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none; appearance: none;
	width: 22px; height: 22px; border-radius: 999px;
	background: var(--c-indigo); border: 3px solid #fff;
	box-shadow: 0 2px 8px rgba(79, 70, 229, 0.4); cursor: pointer;
}
.roi-field input[type="range"]::-moz-range-thumb {
	width: 22px; height: 22px; border-radius: 999px;
	background: var(--c-indigo); border: 3px solid #fff;
	box-shadow: 0 2px 8px rgba(79, 70, 229, 0.4); cursor: pointer;
}
.roi-field output {
	min-width: 52px; text-align: center;
	font-family: var(--font-heading); font-weight: 700; font-size: 16px;
	color: var(--c-indigo-deep);
	background: var(--c-indigo-soft); border-radius: 9px; padding: 6px 10px;
}
.roi-note { font-size: 12px; color: #8A97AC; margin: 8px 0 0; }
.roi-panel__results {
	background:
		radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.06) 1px, transparent 0),
		linear-gradient(160deg, #1B1A4B, #312E81);
	background-size: 20px 20px, auto;
	padding: 48px 40px;
	display: flex; flex-direction: column; justify-content: center; gap: 20px;
}
.roi-result__label { display: block; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #A5B4FC; margin-bottom: 4px; }
.roi-result__value { font-family: var(--font-heading); font-weight: 800; font-size: 44px; color: #fff; line-height: 1; }
.roi-result__value small { font-size: 20px; font-weight: 600; color: #C7D2FE; }
.roi-result--money .roi-result__value { color: var(--c-cyan); }
.roi-result__value--sm { font-size: 26px; }
.roi-panel__results .btn { text-align: center; margin-top: 8px; }
.roi-disclaimer { font-size: 11px; color: #8B90C9; text-align: center; }

/* ---------- 8k. FAQ ---------- */
.faq-list { max-width: 780px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.faq-item { background: #fff; border: 1px solid var(--c-border); border-radius: 14px; overflow: hidden; }
.faq-item__q {
	width: 100%; text-align: left; font-family: var(--font-heading);
	font-weight: 700; font-size: 17px; color: var(--c-indigo-deep);
	background: none; border: none; cursor: pointer;
	padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.faq-item__q::after {
	content: "+"; font-size: 22px; color: var(--c-indigo); font-weight: 500;
	transition: transform 0.2s ease; flex-shrink: 0;
}
.faq-item.is-open .faq-item__q::after { transform: rotate(45deg); }
.faq-item__a { display: none; padding: 0 24px 20px; color: #4A5A75; font-size: 15px; line-height: 1.65; }
.faq-item.is-open .faq-item__a { display: block; }

/* ---------- 8l. Offering comparison ---------- */
.compare-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.compare-card {
	background: #fff; border: 1px solid var(--c-border); border-radius: 18px;
	padding: 32px 28px; display: flex; flex-direction: column; gap: 14px;
	position: relative;
}
.compare-card--featured { border: 2px solid var(--c-indigo); }
.compare-card__tag {
	position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
	background: var(--c-indigo); color: #fff; font-size: 12px; font-weight: 700;
	padding: 4px 14px; border-radius: 999px; white-space: nowrap;
}
.compare-card h3 { margin: 0; font-size: 20px; }
.compare-card__price { font-family: var(--font-heading); font-weight: 800; font-size: 26px; color: var(--c-indigo-deep); }
.compare-card__price small { font-size: 13px; font-weight: 500; color: #8A97AC; }
.compare-card__desc { font-size: 14px; color: #4A5A75; margin: 0; }
.compare-card ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; flex: 1; }
.compare-card ul li { font-size: 14px; color: #3D4B66; padding-left: 24px; position: relative; }
.compare-card ul li::before { content: "\2713"; position: absolute; left: 0; color: var(--c-cyan); font-weight: 700; }
.compare-card .btn { text-align: center; }

/* ---------- 8m. Cookie notice & compliance ---------- */
.cookie-notice {
	position: fixed; bottom: 20px; left: 20px; right: 20px; z-index: 90;
	max-width: 520px; margin: 0 auto;
	background: #fff; border: 1px solid var(--c-border); border-radius: 16px;
	box-shadow: 0 20px 50px rgba(49, 46, 129, 0.18);
	padding: 18px 22px;
	display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
}
.cookie-notice[hidden] { display: none; }
.cookie-notice p { margin: 0; font-size: 13px; color: #4A5A75; flex: 1; min-width: 220px; }
.cookie-notice__actions { display: flex; gap: 8px; }
.compliance-note { background: #ECFEFF; border-color: #C9EDF3; }
.compliance-note h3 { color: #0E7490; }

/* ---------- 9. Utilities ---------- */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.5s ease, transform 0.5s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; transition: none; }
	.card, .btn { transition: none; }
}

/* ---------- 9b. Premium polish ---------- */

h1, h2, h3 { text-wrap: balance; }
h2 { font-weight: 800; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #F5F8FC; }
::-webkit-scrollbar-thumb { background: #C7CBF5; border-radius: 8px; border: 2px solid #F5F8FC; }
::-webkit-scrollbar-thumb:hover { background: #A5A9E0; }

a:focus-visible, button:focus-visible, input:focus-visible {
	outline: 2px solid var(--c-cyan); outline-offset: 2px; border-radius: 4px;
}

/* Buttons: gradient depth + lift */
.btn { transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease; }
.btn--primary {
	background: linear-gradient(180deg, #5B54EA 0%, #4F46E5 100%);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 4px 14px rgba(79, 70, 229, 0.32);
}
.btn--primary:hover {
	background: linear-gradient(180deg, #4F46E5 0%, #4338CA 100%);
	transform: translateY(-2px);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.16) inset, 0 10px 26px rgba(79, 70, 229, 0.4);
}
.btn--accent { box-shadow: 0 4px 14px rgba(6, 182, 212, 0.35); }
.btn--accent:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(6, 182, 212, 0.4); }
.btn--ghost:hover { transform: translateY(-2px); border-color: var(--c-indigo); }

/* Nav: animated underline */
.nav-menu a { position: relative; }
.nav-menu a::after {
	content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px;
	height: 2px; border-radius: 2px;
	background: linear-gradient(90deg, var(--c-indigo), var(--c-cyan));
	transform: scaleX(0); transform-origin: left;
	transition: transform 0.22s ease;
}
.nav-menu a:hover::after { transform: scaleX(1); }
.nav-menu .current-menu-item > a::after, .nav-menu .current_page_item > a::after { transform: scaleX(1); }

/* Kicker: accent rule */
.kicker { display: inline-flex; align-items: center; gap: 10px; }
.kicker::before {
	content: ""; width: 26px; height: 2px; border-radius: 2px;
	background: linear-gradient(90deg, var(--c-cyan), var(--c-indigo));
}
.section-head--center .kicker::after {
	content: ""; width: 26px; height: 2px; border-radius: 2px;
	background: linear-gradient(90deg, var(--c-indigo), var(--c-cyan));
}

/* Hero: layered atmosphere + gradient headline */
.hero {
	position: relative;
	background:
		radial-gradient(ellipse 60% 50% at 15% 0%, rgba(79, 70, 229, 0.07), transparent),
		radial-gradient(ellipse 50% 40% at 85% 10%, rgba(6, 182, 212, 0.08), transparent),
		radial-gradient(circle at 1px 1px, rgba(49, 46, 129, 0.055) 1px, transparent 0);
	background-size: auto, auto, 26px 26px;
}
.hero__copy h1 {
	background: linear-gradient(115deg, #312E81 20%, #4F46E5 65%, #06B6D4 125%);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
}
.hero__eyebrow { box-shadow: 0 2px 10px rgba(49, 46, 129, 0.06); }
.hero__dot { box-shadow: 0 0 0 4px rgba(6, 182, 212, 0.18); }
.hero__shot { transition: transform 0.35s ease, box-shadow 0.35s ease; }
.hero__visual:hover .hero__shot { transform: translateY(-4px) rotate(-0.4deg); box-shadow: 0 34px 80px rgba(49, 46, 129, 0.16); }
@keyframes omnifys-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}
.hero__stat { animation: omnifys-float 5.5s ease-in-out infinite; border: 1px solid rgba(255, 255, 255, 0.08); }

/* Trust bar */
.trustbar { background: linear-gradient(180deg, #FBFCFE, #F8FAFD); }
.trustbar__logos span {
	background: linear-gradient(120deg, #EEF2FF, #E5EBFA);
	border: 1px solid #E5EAF5;
}

/* Cards: gradient hairline sweep on hover + image zoom */
.tool-card, .feature-card, .agent-card, .course-card, .industry-card, .card, .featured-post {
	position: relative;
}
.tool-card::before, .feature-card::before, .agent-card::before,
.course-card::before, .industry-card::before, .card::before, .featured-post::before {
	content: ""; position: absolute; top: 0; left: 22px; right: 22px; height: 3px;
	background: linear-gradient(90deg, var(--c-indigo), var(--c-cyan));
	border-radius: 0 0 3px 3px;
	transform: scaleX(0); transform-origin: left;
	transition: transform 0.28s ease;
	z-index: 1;
}
.tool-card:hover::before, .feature-card:hover::before, .agent-card:hover::before,
.course-card:hover::before, .industry-card:hover::before, .card:hover::before, .featured-post:hover::before { transform: scaleX(1); }
.tool-card__shot img, .card__media img, .course-card__banner img, .featured-post__media img {
	transition: transform 0.4s ease;
}
.tool-card:hover .tool-card__shot img, .card:hover .card__media img,
.course-card:hover .course-card__banner img, .featured-post:hover .featured-post__media img { transform: scale(1.045); }

/* Icon tiles: gradient fills + soft ring */
.icon-tile { box-shadow: inset 0 0 0 1px rgba(49, 46, 129, 0.06), 0 2px 6px rgba(49, 46, 129, 0.05); transition: transform 0.25s ease; }
.icon-tile--indigo { background: linear-gradient(135deg, #EEF2FF, #E0E5FC); }
.icon-tile--cyan { background: linear-gradient(135deg, #ECFEFF, #D8F6FA); }
.icon-tile--slate { background: linear-gradient(135deg, #EEF2FF, #E4E7F2); }
.icon-tile--amber { background: linear-gradient(135deg, #FFF3E8, #FDE8D2); }
.feature-card:hover .icon-tile, .agent-card:hover .icon-tile, .industry-card:hover .icon-tile { transform: scale(1.08) rotate(-3deg); }

/* Dark band & CTA banner: dot texture over the orbs */
.dark-band, .cta-banner {
	background-image:
		radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.05) 1px, transparent 0);
	background-size: 22px 22px;
}
.dark-band { background-color: var(--c-indigo-deep); }
.cta-banner {
	background-color: #1B1A4B;
	background-image:
		radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.05) 1px, transparent 0),
		linear-gradient(120deg, #111827, #312E81);
	background-size: 22px 22px, auto;
	box-shadow: 0 30px 70px rgba(17, 24, 39, 0.25);
}
.dark-band__chips span { transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease; }
.dark-band__chips span:hover { border-color: var(--c-cyan); background: rgba(6, 182, 212, 0.12); transform: translateY(-2px); }

/* Footer: newsletter glow + link motion */
.footer-newsletter { box-shadow: 0 20px 50px rgba(17, 16, 60, 0.35); border: 1px solid rgba(255, 255, 255, 0.12); }
.footer-newsletter__form input { transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease; }
.footer-newsletter__form input:focus { box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.22); }
.footer-menu a, .footer-offices a { transition: color 0.18s ease, padding-left 0.18s ease; }
.footer-menu a:hover { padding-left: 4px; }

/* Section links: arrow nudge */
.section-head__link, .text-link { transition: color 0.18s ease, letter-spacing 0.18s ease; }
.section-head__link:hover, .text-link:hover { letter-spacing: 0.01em; }

/* Blog polish */
.blog-chip { transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease, transform 0.18s ease; }
.blog-chip:hover { transform: translateY(-2px); }
.badge { box-shadow: inset 0 0 0 1px rgba(79, 70, 229, 0.08); }

/* Shop cards inherit sweep */
ul.products li.product::before {
	content: ""; position: absolute; top: 0; left: 22px; right: 22px; height: 3px;
	background: linear-gradient(90deg, var(--c-indigo), var(--c-cyan));
	border-radius: 0 0 3px 3px;
	transform: scaleX(0); transform-origin: left;
	transition: transform 0.28s ease; z-index: 2;
}
ul.products li.product:hover::before { transform: scaleX(1); }

@media (prefers-reduced-motion: reduce) {
	.hero__stat { animation: none; }
	.btn, .icon-tile, .nav-menu a::after, .tool-card::before, .feature-card::before,
	.agent-card::before, .course-card::before, .industry-card::before, .card::before,
	.featured-post::before { transition: none; }
}

/* ---------- 9c. Futuristic motion layer ---------- */

/* Header shrink */
.site-header { transition: box-shadow 0.25s ease; }
.site-header.is-scrolled { box-shadow: 0 8px 30px rgba(49, 46, 129, 0.08); }
.site-header.is-scrolled .site-header__inner { height: 62px; }
.site-header__inner { transition: height 0.25s ease; }

/* Hero network canvas */
.hero { overflow: hidden; }
.hero__net {
	position: absolute; inset: 0; width: 100%; height: 100%;
	pointer-events: none; opacity: 0.9;
}
.hero .container { position: relative; z-index: 1; }

/* Hero word reveal */
@keyframes omnifys-word-in {
	from { opacity: 0; transform: translateY(22px) rotate(2deg); filter: blur(6px); }
	to { opacity: 1; transform: none; filter: blur(0); }
}
.hero__copy h1.is-split {
	background: none;
	-webkit-text-fill-color: initial;
}
.hero__copy h1.is-split .hero-word {
	display: inline-block;
	color: #3B37A8;
	-webkit-text-fill-color: currentColor;
	opacity: 0;
	animation: omnifys-word-in 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Marquee */
.marquee { overflow: hidden; padding: 18px 0 26px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee__track {
	display: inline-flex; gap: 14px; white-space: nowrap; will-change: transform;
	animation: omnifys-marquee 32s linear infinite;
}
.marquee:hover .marquee__track { animation-play-state: paused; }
@keyframes omnifys-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
.marquee__chip {
	display: inline-flex; align-items: center;
	font-family: var(--font-heading); font-weight: 700; font-size: 14px;
	color: #6B7A94; letter-spacing: 0.02em;
	background: #fff; border: 1px solid var(--c-border); border-radius: 999px;
	padding: 10px 22px;
	transition: color 0.2s ease, border-color 0.2s ease;
}
.marquee__chip:hover { color: var(--c-indigo); border-color: var(--c-indigo); }
.trustbar .container .trustbar__label { display: block; text-align: center; padding-top: 22px; }
.trustbar { overflow: hidden; }
.marquee--reverse .marquee__track { animation-direction: reverse; }
.marquee__chip--client { color: #8593A9; background: #FBFCFE; }
.marquee__chip--client:hover { color: var(--c-indigo); }

/* Workflow flow diagram (dark band) */
.dark-band__panel--flow { display: flex; align-items: center; justify-content: center; padding: 16px; }
.flow-svg { width: 100%; height: 100%; max-height: 300px; }
.flow-line {
	stroke: rgba(255, 255, 255, 0.22); stroke-width: 2; fill: none;
	stroke-dasharray: 6 8; stroke-linecap: round;
	animation: omnifys-dash 1.4s linear infinite;
}
.flow-line--d2 { animation-delay: 0.35s; }
.flow-line--d3 { animation-delay: 0.7s; }
.flow-line--d4 { animation-delay: 1.05s; }
@keyframes omnifys-dash { to { stroke-dashoffset: -28; } }
.flow-node rect {
	fill: rgba(255, 255, 255, 0.06); stroke: rgba(255, 255, 255, 0.22); stroke-width: 1.5;
}
.flow-node text {
	fill: #C7D2FE; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px;
	font-weight: 700; text-anchor: middle;
}
.flow-node--core rect {
	fill: rgba(6, 182, 212, 0.14); stroke: #06B6D4;
	animation: omnifys-node-pulse 2.6s ease-in-out infinite;
}
.flow-node--core text { fill: #fff; }
@keyframes omnifys-node-pulse {
	0%, 100% { stroke-opacity: 1; filter: drop-shadow(0 0 0 rgba(6, 182, 212, 0)); }
	50% { stroke-opacity: 0.7; filter: drop-shadow(0 0 10px rgba(6, 182, 212, 0.55)); }
}

/* Cursor glow on cards */
.has-glow { --mx: 50%; --my: 50%; }
.has-glow::after {
	content: ""; position: absolute; inset: 0; border-radius: inherit;
	background: radial-gradient(240px circle at var(--mx) var(--my), rgba(79, 70, 229, 0.08), transparent 65%);
	opacity: 0; transition: opacity 0.25s ease;
	pointer-events: none; z-index: 0;
}
.has-glow:hover::after { opacity: 1; }

/* CTA banner: animated gradient edge */
.cta-banner {
	border: 1px solid transparent;
	background-clip: padding-box;
}
.cta-banner::before {
	background:
		radial-gradient(circle, rgba(6, 182, 212, 0.18), transparent 70%);
}
@keyframes omnifys-border-flow {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

/* Services page premium workflow */
.svc-flow-panel { height: auto; min-height: 380px; }
.svc-flow { max-height: 380px; }
.flow-pulse { fill: #818CF8; filter: drop-shadow(0 0 6px rgba(129, 140, 248, 0.9)); }
.flow-pulse--cyan { fill: #06B6D4; filter: drop-shadow(0 0 6px rgba(6, 182, 212, 0.9)); }
.flow-node--out rect { fill: rgba(6, 182, 212, 0.08); }
.svc-flow__core-title { font-size: 17px; }
.svc-flow__core-sub { fill: #A5B4FC !important; font-size: 11px !important; font-weight: 500 !important; }
.svc-flow__monitor-track { fill: rgba(255, 255, 255, 0.08); }
.svc-flow__monitor-bar { fill: #06B6D4; animation: omnifys-monitor 3.4s ease-in-out infinite; }
.svc-flow__monitor-label { fill: #8B90C9; font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
@keyframes omnifys-monitor {
	0%, 100% { width: 90px; x: 24px; }
	50% { width: 300px; x: 124px; }
}

/* Industry agent catalogs */
.agent-card--industry { flex-direction: column; gap: 14px; }
.agent-card__head { display: flex; align-items: center; gap: 16px; }
.agent-card__head h3 { margin: 0; }
.agent-card__count {
	display: inline-block; margin-top: 4px;
	font-family: var(--font-heading); font-size: 12px; font-weight: 700;
	letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--c-cyan-hover);
}
.agent-card--industry p { margin: 0; }
.agent-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 6px; }
.agent-chip {
	font-size: 13px; font-weight: 500; color: #3D4B66;
	background: var(--c-band); border: 1px solid var(--c-border);
	border-radius: 999px; padding: 6px 13px;
	transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease, transform 0.18s ease;
	cursor: default;
}
.agent-chip:hover {
	border-color: var(--c-indigo); color: var(--c-indigo);
	background: var(--c-indigo-soft); transform: translateY(-1px);
}

/* Agent detail pages */
a.agent-chip { cursor: pointer; }
.agent-card__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 4px; }
.agent-list-card { display: flex; flex-direction: column; gap: 10px; color: inherit; }
.agent-list-card h3 { margin: 0; font-size: 18px; }
.agent-list-card p { flex: 1; }
.agent-list-card__caps {
	font-size: 12px; font-weight: 600; color: var(--c-cyan-hover);
	border-top: 1px solid var(--c-border); padding-top: 12px;
}
.agent-list-card .icon-tile { margin-bottom: 4px; }
.agent-hero__flow {
	position: relative;
	background:
		radial-gradient(circle at 50% 40%, rgba(79, 70, 229, 0.05), transparent 60%),
		radial-gradient(circle at 1px 1px, rgba(49, 46, 129, 0.05) 1px, transparent 0), #fff;
	background-size: auto, 20px 20px;
	border: 1px solid var(--c-border); border-radius: var(--radius-lg);
	box-shadow: 0 24px 60px rgba(49, 46, 129, 0.12);
	padding: 26px 22px 20px;
	width: 100%; max-width: 520px;
}
.aflow-svg { width: 100%; height: auto; }
.aflow-line {
	stroke: #C7CBF5; stroke-width: 2; fill: none;
	stroke-dasharray: 6 8; stroke-linecap: round;
	animation: omnifys-dash 1.4s linear infinite;
}
.aflow-line--d2 { animation-delay: 0.35s; }
.aflow-line--d3 { animation-delay: 0.7s; }
.aflow-line--d4 { animation-delay: 1.05s; }
.aflow-node rect { fill: #F3F6FE; stroke: #E2E9F2; stroke-width: 1.5; }
.aflow-node text {
	fill: #3D4B66; font-family: 'Inter', sans-serif; font-size: 13px;
	font-weight: 600; text-anchor: middle;
}
.aflow-node--out rect { fill: #ECFEFF; stroke: #C9EDF3; }
.aflow-node--out text { fill: #0E7490; }
.aflow-node--core rect {
	fill: var(--c-indigo-deep); stroke: var(--c-indigo);
	animation: omnifys-node-pulse 2.6s ease-in-out infinite;
}
.aflow-core-title { fill: #fff !important; font-family: 'Plus Jakarta Sans', sans-serif !important; font-size: 16px !important; font-weight: 700 !important; }
.aflow-core-sub { fill: #A5B4FC !important; font-size: 11px !important; font-weight: 500 !important; }
.aflow-pulse { fill: var(--c-indigo); filter: drop-shadow(0 0 5px rgba(79, 70, 229, 0.7)); }
.aflow-pulse--cyan { fill: var(--c-cyan); filter: drop-shadow(0 0 5px rgba(6, 182, 212, 0.7)); }
/* Shared flow chips */
.aflow-chip rect { fill: #F3F6FE; stroke: #E2E9F2; stroke-width: 1.5; }
.aflow-chip text { fill: #3D4B66; font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; text-anchor: middle; }
.aflow-chip--out rect { fill: #ECFEFF; stroke: #C9EDF3; }
.aflow-chip--out text { fill: #0E7490; }

/* Healthcare: vitals monitor */
.hc-ekg-track { stroke: #E2E9F2; stroke-width: 2; }
.hc-ekg {
	stroke: var(--c-cyan); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;
	stroke-dasharray: 760; stroke-dashoffset: 760;
	animation: omnifys-ekg 3.2s linear infinite;
	filter: drop-shadow(0 0 4px rgba(6, 182, 212, 0.5));
}
@keyframes omnifys-ekg {
	0% { stroke-dashoffset: 760; opacity: 1; }
	78% { stroke-dashoffset: 0; opacity: 1; }
	100% { stroke-dashoffset: 0; opacity: 0; }
}
.hc-dot { fill: var(--c-cyan); filter: drop-shadow(0 0 6px rgba(6, 182, 212, 0.9)); }
.hc-vitals-label {
	fill: #A5B0C2; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 10px;
	font-weight: 700; letter-spacing: 0.12em; text-anchor: middle;
}

/* Finance: scanning shield */
.fin-shield path:first-child {
	fill: var(--c-indigo-deep); stroke: var(--c-indigo); stroke-width: 2;
	animation: omnifys-node-pulse 2.6s ease-in-out infinite;
}
.fin-scanline {
	fill: rgba(6, 182, 212, 0.65);
	animation: omnifys-scan 2.2s ease-in-out infinite alternate;
}
@keyframes omnifys-scan { from { y: 88px; } to { y: 186px; } }
.fin-check { stroke: #fff; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.fin-pulse-ok { fill: #22C55E; filter: drop-shadow(0 0 5px rgba(34, 197, 94, 0.8)); }
.fin-pulse-flag { fill: #F59E0B; filter: drop-shadow(0 0 5px rgba(245, 158, 11, 0.8)); }

/* Retail: conversation to conversion */
.rt-bubble rect { fill: #fff; stroke: #E2E9F2; stroke-width: 1.5; }
.rt-bubble text { fill: #3D4B66; font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; text-anchor: middle; }
.rt-bubble { transform-box: fill-box; transform-origin: left center; animation: omnifys-bubble 4.5s ease infinite; }
.rt-bubble--2 { animation-delay: 1.1s; }
@keyframes omnifys-bubble {
	0%, 8% { opacity: 0; transform: translateY(8px) scale(0.92); }
	16%, 88% { opacity: 1; transform: none; }
	96%, 100% { opacity: 0; transform: translateY(-4px); }
}
.rt-typing circle { fill: #A5B0C2; animation: omnifys-typing 1.2s ease-in-out infinite; }
.rt-typing circle:nth-child(2) { animation-delay: 0.18s; }
.rt-typing circle:nth-child(3) { animation-delay: 0.36s; }
@keyframes omnifys-typing { 0%, 60%, 100% { transform: translateY(0); } 30% { transform: translateY(-5px); } }
.rt-pop { transform-box: fill-box; transform-origin: center; animation: omnifys-pop 4.5s ease infinite; }
.rt-pop--2 { animation-delay: 0.9s; }
@keyframes omnifys-pop {
	0%, 20% { opacity: 0; transform: scale(0.85); }
	30%, 92% { opacity: 1; transform: scale(1); }
	100% { opacity: 0; }
}
.rt-star { fill: #F5A623; transform-box: fill-box; transform-origin: center; animation: omnifys-star 3s ease infinite; }
.rt-star--2 { animation-delay: 0.3s; }
.rt-star--3 { animation-delay: 0.6s; }
@keyframes omnifys-star { 0%, 20% { opacity: 0.25; transform: scale(0.8); } 40%, 70% { opacity: 1; transform: scale(1); } 100% { opacity: 0.25; transform: scale(0.8); } }

/* Logistics: live route map */
.lg-map { fill: #F3F6FE; stroke: #E2E9F2; stroke-width: 1.5; }
.lg-grid { stroke: rgba(49, 46, 129, 0.06); stroke-width: 1; }
.lg-route {
	stroke: var(--c-indigo); stroke-width: 2.5; stroke-dasharray: 7 9; stroke-linecap: round;
	animation: omnifys-dash 1.2s linear infinite;
}
.lg-pin { stroke: #fff; stroke-width: 2.5; }
.lg-pin--start { fill: var(--c-slate); }
.lg-pin--mid { fill: var(--c-cyan); }
.lg-pin--end { fill: #22C55E; }
.lg-truck rect { fill: var(--c-indigo-deep); }
.lg-truck circle { fill: var(--c-slate); }

/* Tech: live terminal */
.tc-terminal { fill: #111827; }
.tc-dot--r { fill: #F87171; } .tc-dot--y { fill: #FBBF24; } .tc-dot--g { fill: #34D399; }
.tc-title { fill: #6B7280; font-family: monospace; font-size: 10px; }
.tc-line { animation: omnifys-tcline 4s ease infinite; opacity: 0; }
.tc-line--1 { fill: #4F46E5; animation-delay: 0s; }
.tc-line--2 { fill: #06B6D4; animation-delay: 0.5s; }
.tc-line--3 { fill: #4B5563; animation-delay: 1s; }
.tc-line--4 { fill: #818CF8; animation-delay: 1.5s; }
@keyframes omnifys-tcline { 0% { opacity: 0; } 12%, 85% { opacity: 1; } 100% { opacity: 0; } }
.tc-prompt { fill: #34D399; font-family: monospace; font-size: 13px; }
.tc-cursor { fill: #34D399; animation: omnifys-blink 1s steps(1) infinite; }
@keyframes omnifys-blink { 50% { opacity: 0; } }
.tc-ok { fill: rgba(52, 211, 153, 0.18); stroke: #34D399; stroke-width: 1.5; }
.tc-ok-check { stroke: #34D399; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* CX Sales: pipeline funnel */
.cx-stage { transform-box: fill-box; transform-origin: center; animation: omnifys-tcline 3.6s ease infinite; }
.cx-stage--1 { fill: #C7CBF5; animation-delay: 0s; }
.cx-stage--2 { fill: #818CF8; animation-delay: 0.4s; }
.cx-stage--3 { fill: var(--c-cyan); animation-delay: 0.8s; }

/* Cross-industry: orbital hub */
.uv-orbit { transform-origin: 240px 130px; animation: omnifys-spin 26s linear infinite; }
.uv-sat--cyan { fill: var(--c-cyan); }
.uv-sat--indigo { fill: var(--c-indigo); }
.uv-sat--slate { fill: var(--c-slate); }

.agent-hero__flow-caption {
	text-align: center; margin-top: 8px;
	display: flex; flex-direction: column; gap: 2px;
}
.agent-hero__flow-caption strong { font-family: var(--font-heading); font-size: 16px; color: var(--c-indigo-deep); }
.agent-hero__flow-caption small { font-size: 12px; color: #8A97AC; }
.agent-hero__flow .agent-hero__pulse { position: absolute; top: 16px; right: 16px; }
.agent-detail { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.agent-detail__aside { display: flex; flex-direction: column; gap: 18px; position: sticky; top: 100px; }
.agent-hero__panel { display: flex; align-items: center; justify-content: center; }
.agent-hero__card {
	position: relative;
	background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius-lg);
	box-shadow: 0 24px 60px rgba(49, 46, 129, 0.12);
	padding: 44px 48px; text-align: center;
	display: flex; flex-direction: column; align-items: center; gap: 10px;
	min-width: 280px;
}
.agent-hero__card .icon-tile { margin-bottom: 6px; }
.agent-hero__card strong { font-family: var(--font-heading); font-size: 20px; color: var(--c-indigo-deep); }
.agent-hero__card small { font-size: 13px; color: #8A97AC; }
.agent-hero__pulse {
	position: absolute; top: 18px; right: 18px;
	width: 10px; height: 10px; border-radius: 999px; background: #22C55E;
	box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5);
	animation: omnifys-live 2s ease-out infinite;
}
@keyframes omnifys-live {
	0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5); }
	100% { box-shadow: 0 0 0 12px rgba(34, 197, 94, 0); }
}
.entry-content ul.wp-block-list li { margin-bottom: 8px; }
.entry-content ul.wp-block-list li::marker { color: var(--c-cyan); }

/* Orbital agent system (services hero) */
.page-hero__panel--orbit {
	background:
		radial-gradient(circle at 50% 45%, rgba(79, 70, 229, 0.06), transparent 55%),
		radial-gradient(circle at 1px 1px, rgba(49, 46, 129, 0.05) 1px, transparent 0), #fff;
	background-size: auto, 22px 22px;
	display: flex; align-items: center; justify-content: center;
	height: 400px; padding: 10px;
}
.orbit-svg { width: 100%; height: 100%; }
.orbit-ring { stroke: #C7CBF5; stroke-width: 1.5; stroke-dasharray: 5 9; fill: none; }
.orbit-ring--inner { stroke: #D8DCF8; }
@keyframes omnifys-spin { to { transform: rotate(360deg); } }
@keyframes omnifys-spin-rev { to { transform: rotate(-360deg); } }
.orbit { transform-origin: 240px 190px; }
.orbit--slow { animation: omnifys-spin 44s linear infinite; }
.orbit--fast { animation: omnifys-spin-rev 30s linear infinite; }
.orbit .orb-node {
	transform-box: fill-box; transform-origin: center;
}
.orbit--slow .orb-node { animation: omnifys-spin-rev 44s linear infinite; }
.orbit--fast .orb-node { animation: omnifys-spin 30s linear infinite; }
.orb-node rect:first-child {
	fill: #F3F6FE; stroke: #E2E9F2; stroke-width: 1.5;
}
.orb-dot--cyan { fill: #06B6D4; }
.orb-dot--indigo { fill: #4F46E5; }
.orb-dot--slate { fill: #111827; }
.hub { fill: #312E81; }
.hub-core { fill: #06B6D4; }
@keyframes omnifys-hub-ring {
	0% { transform: scale(1); opacity: 0.5; }
	100% { transform: scale(2.1); opacity: 0; }
}
.hub-pulse-ring {
	fill: none; stroke: #4F46E5; stroke-width: 2;
	transform-box: fill-box; transform-origin: center;
	animation: omnifys-hub-ring 3s ease-out infinite;
}
.hub-pulse-ring--d2 { animation-delay: 1.5s; stroke: #06B6D4; }

@media (prefers-reduced-motion: reduce) {
	.hero__net { display: none; }
	.marquee__track { animation: none !important; }
	.flow-line, .flow-node--core rect, .svc-flow__monitor-bar { animation: none; }
	.flow-pulse { display: none; }
	.hero__copy h1.is-split .hero-word { animation: none; opacity: 1; }
	.has-glow::after { display: none; }
	.orbit, .orbit .orb-node, .hub-pulse-ring { animation: none; }
	.hub-pulse-ring { opacity: 0; }
	.hc-ekg, .hc-dot, .fin-scanline, .rt-bubble, .rt-typing circle, .rt-pop,
	.rt-star, .lg-route, .lg-truck, .tc-line, .tc-cursor, .uv-orbit { animation: none; }
	.hc-ekg { stroke-dashoffset: 0; }
	.rt-bubble, .rt-pop, .tc-line { opacity: 1; }
}

/* ---------- 10. Responsive ---------- */
@media (max-width: 1024px) {
	h1 { font-size: 36px; }
	h2 { font-size: 28px; }
	.card-grid--3, .card-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.card-grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.footer-grid { grid-template-columns: 1fr 1fr; }
	.blog-layout { grid-template-columns: 1fr; }
	.hero__grid { grid-template-columns: 1fr; gap: 40px; }
	.hero__copy h1 { font-size: 42px; }
	.hero__stat { left: 12px; }
	.dark-band__grid { grid-template-columns: 1fr; padding: 64px 32px; }
	.page-hero__grid { grid-template-columns: 1fr; gap: 32px; }
	.page-hero__grid h1, .page-hero .section-head--center h1 { font-size: 38px; }
	.contact-layout { grid-template-columns: 1fr; }
	.process-panel { padding: 36px 28px; }
	.agent-detail { grid-template-columns: 1fr; }
	.agent-detail__aside { position: static; }
	.roi-panel { grid-template-columns: minmax(0, 1fr); }
	.roi-panel__intro, .roi-panel__results { min-width: 0; }
	.compare-grid { grid-template-columns: 1fr; gap: 28px; }
	.shop-layout { grid-template-columns: 1fr; }
	.shop-sidebar { position: static; }
	ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.featured-post { grid-template-columns: 1fr; }
	.featured-post__media { min-height: 220px; }
	.featured-post__body { padding: 28px; }
	.featured-post__title { font-size: 22px; }
	.dark-band__panel { height: 220px; }
	.section-head h2 { font-size: 32px; }
	.cta-banner h2 { font-size: 34px; }
}

@media (max-width: 767px) {
	.container { padding: 0 20px; }
	.section { padding: 48px 0; }
	h1 { font-size: 30px; }
	h2 { font-size: 24px; }
	.card-grid--3, .card-grid--4 { grid-template-columns: 1fr; }
	.card-grid--2 { grid-template-columns: 1fr; }
	.card-grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.footer-grid { grid-template-columns: 1fr; }
	.footer-newsletter { padding: 28px; }
	.hero { padding: 48px 0; }
	.roi-panel__intro { padding: 28px 24px; }
	.roi-panel__results { padding: 32px 24px; }
	.roi-result__value { font-size: 34px; }
	.hero__copy h1 { font-size: 32px; }
	.hero__sub { font-size: 17px; }
	.agent-card { flex-direction: column; padding: 24px; }
	.cta-banner { padding: 40px 24px; }
	.cta-banner h2 { font-size: 28px; }
	.dark-band__title { font-size: 30px; }
	.trustbar__logos { gap: 16px; }
	.trustbar__logos span { width: 64px; }
	ul.products { grid-template-columns: 1fr; }
	.wc-page-head h1 { font-size: 30px; }

	.site-header__cta { display: none; }
	.nav-toggle { display: flex; }
	.site-nav {
		display: none;
		position: absolute; top: 72px; left: 0; right: 0;
		background: var(--c-white);
		border-bottom: 1px solid var(--c-border);
		padding: 16px 20px 24px;
	}
	.site-nav.is-open { display: block; }
	.nav-menu { flex-direction: column; align-items: stretch; gap: 2px; }
	.nav-menu a { padding: 12px 14px; }
	.nav-menu .sub-menu {
		position: static; display: flex; min-width: 0;
		border: none; box-shadow: none; padding: 0 0 4px 16px;
	}
	.nav-menu .menu-item-has-children > a::before { display: none; }
	.site-nav__cta-mobile { display: inline-block; margin-top: 14px; width: 100%; text-align: center; }
}

/* Canadian flag hero badge */
.hero__badges { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.hero__badges .hero__eyebrow { margin-bottom: 0; }
.hero__eyebrow--flag svg { border-radius: 3px; box-shadow: 0 0 0 1px rgba(49, 46, 129, 0.08); flex-shrink: 0; }

/* ---------- 11c. Header account links ---------- */
.site-header__account { display: flex; align-items: center; gap: 14px; margin-left: auto; margin-right: 4px; }
.site-nav__account { display: none; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--c-border); }
.account-link {
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 600;
	color: var(--c-indigo-deep);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease;
}
.account-link:hover { color: var(--c-indigo); }
.account-link--muted { color: #8A97AC; font-weight: 500; }
.btn--sm.account-link--signup { padding: 8px 16px; font-size: 14px; }
@media (max-width: 1100px) {
	.site-header__account .account-link:not(.account-link--signup) { display: none; }
}
@media (max-width: 767px) {
	.site-header__account { display: none; }
	.site-nav__account { display: flex; flex-wrap: wrap; }
	.site-nav__account .account-link { flex: 1 1 auto; text-align: center; padding: 10px 12px; }
	.site-nav__account .btn { flex: 1 1 100%; text-align: center; }
}

/* ---------- 11b. Course search bar ---------- */
.course-search { max-width: var(--container); margin: 0 auto 28px; padding: 0 24px; }
.course-search__form {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: 999px;
	padding: 6px 6px 6px 44px;
	box-shadow: 0 8px 24px rgba(49, 46, 129, 0.06);
}
.course-search__form:focus-within { border-color: var(--c-indigo); box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.1); }
.course-search__icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #8A97AC; display: flex; }
.course-search__form input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	border: none;
	outline: none;
	background: transparent;
	font-family: inherit;
	font-size: 15px;
	color: var(--c-ink);
	padding: 10px 0;
}
.course-search__form input[type="search"]::placeholder { color: #9AA6BC; }
.course-search__form .btn { flex: 0 0 auto; padding: 11px 24px; }
.course-search__cats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.course-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #5B6B85;
	background: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: 999px;
	padding: 8px 14px;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.course-chip span { font-weight: 500; color: #9AA6BC; font-size: 12px; }
.course-chip:hover { color: var(--c-indigo); border-color: var(--c-indigo); }
.course-chip.is-active { background: var(--c-indigo); border-color: var(--c-indigo); color: #fff; }
.course-chip.is-active span { color: rgba(255, 255, 255, 0.75); }
.course-search__status { margin-top: 14px; font-size: 14px; color: #5B6B85; }
.course-search__status a { margin-left: 10px; color: var(--c-indigo); font-weight: 600; }
@media (max-width: 767px) {
	.course-search { padding: 0 20px; }
	.course-search__form { flex-wrap: wrap; border-radius: 20px; padding: 10px 10px 10px 40px; }
	.course-search__form input[type="search"] { flex: 1 1 100%; }
	.course-search__form .btn { flex: 1 1 100%; text-align: center; }
	.course-search__icon { top: 26px; left: 14px; }
}

/* ---------- 11a. AI Agent Monitoring Console (hero) ---------- */
.agent-console {
	width: 100%;
	max-width: 560px;
	background: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-lg);
	box-shadow: 0 24px 60px rgba(49, 46, 129, 0.14);
	overflow: hidden;
}
.agent-console__bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	background: #F4F6FE;
	border-bottom: 1px solid var(--c-border);
}
.agent-console__bar strong {
	font-family: var(--font-heading);
	font-size: 14px;
	color: var(--c-indigo-deep);
	margin-left: 4px;
}
.ac-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.ac-dot--r { background: #F87171; }
.ac-dot--y { background: #FBBF24; }
.ac-dot--g { background: #34D399; }
.agent-console__live {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #059669;
}
.agent-console__live i {
	width: 8px; height: 8px; border-radius: 50%;
	background: #10B981;
	animation: ac-pulse 1.6s ease-in-out infinite;
}
@keyframes ac-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.5); }
	50% { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
}
.agent-console__body { padding: 20px; }
.agent-console__head { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; min-height: 34px; }
.agent-console__name { font-family: var(--font-heading); font-size: 16px; color: var(--c-indigo-deep); line-height: 1.3; }
.agent-console__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.ac-stat {
	background: var(--c-band);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: 12px 14px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ac-stat small { font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #8A97AC; }
.ac-stat strong { font-family: var(--font-heading); font-size: 22px; color: var(--c-indigo-deep); line-height: 1; }
.ac-bar { display: block; height: 6px; border-radius: 999px; background: #E8EBF7; overflow: hidden; }
.ac-bar i { display: block; height: 100%; width: 0; border-radius: 999px; background: var(--c-indigo); transition: width 0.9s cubic-bezier(0.22, 1, 0.36, 1); }
.ac-bar--cyan i { background: var(--c-cyan); }
.agent-console__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; }
.agent-console__foot small { font-size: 11px; color: #8A97AC; }
.agent-console__dots { display: inline-flex; gap: 5px; }
.agent-console__dots i { width: 6px; height: 6px; border-radius: 50%; background: #D9DEF0; transition: background 0.3s ease, transform 0.3s ease; }
.agent-console__dots i.is-on { background: var(--c-indigo); transform: scale(1.3); }
@media (max-width: 480px) {
	.agent-console__grid { grid-template-columns: 1fr; }
	.ac-stat strong { font-size: 20px; }
	.agent-console__name { font-size: 14px; }
}

/* ---------- 11. Mobile polish ---------- */
.zoho-form { width: 100%; }
.zoho-form form { width: 100% !important; }
.zoho-form .zcwf_title { display: none; }
.zoho-form .zcwf_col_lab,
.zoho-form label { font-size: 14px; font-weight: 600; color: var(--c-indigo-deep); }
.zoho-form input[type="text"],
.zoho-form input[type="email"],
.zoho-form input[type="tel"],
.zoho-form select,
.zoho-form textarea {
	width: 100% !important;
	padding: 12px 14px !important;
	border: 1px solid var(--c-border) !important;
	border-radius: 10px !important;
	font-family: inherit !important;
	font-size: 15px !important;
	color: var(--c-ink) !important;
	background: var(--c-white) !important;
	box-sizing: border-box;
}
.zoho-form input:focus,
.zoho-form select:focus,
.zoho-form textarea:focus { outline: none; border-color: var(--c-indigo) !important; box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12); }
.zoho-form input[type="submit"],
.zoho-form .zcwf_button,
.zoho-form .formsubmit {
	display: inline-block;
	width: auto !important;
	padding: 13px 26px !important;
	background: var(--c-indigo) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}
.zoho-form input[type="submit"]:hover,
.zoho-form .zcwf_button:hover,
.zoho-form .formsubmit:hover { background: var(--c-indigo-deep) !important; transform: translateY(-1px); }
.zoho-form .zcwf_row { margin: 14px 0 !important; }
.zoho-form .zcwf_col_fld { width: 100% !important; }
/* Date & time row: hour/minute/AM selects sit on one line under the date */
.zoho-form .zcwf_col_fld { display: flex !important; flex-wrap: wrap; align-items: center; }
.zoho-form .zcwf_col_fld > input,
.zoho-form .zcwf_col_fld > select,
.zoho-form .zcwf_col_fld > textarea { flex: 1 1 100%; }
.zoho-form .zcwf_col_fld > div:not([class]) { display: flex; flex: 1 1 100%; gap: 8px; margin-top: 8px; }
.zoho-form .zcwf_col_fld > div:not([class]) select { width: auto !important; flex: 0 1 auto; min-width: 70px; }

@media (max-width: 767px) {
	/* CTA rows: stack full-width for thumb-friendly taps */
	.hero__ctas { flex-direction: column; align-items: stretch; gap: 10px; margin-bottom: 28px; }
	.hero__ctas .btn { width: 100%; text-align: center; justify-content: center; }
	.cta-banner__actions { flex-direction: column; align-items: stretch; gap: 10px; }
	.cta-banner__actions .btn { width: 100%; text-align: center; }
	.btn--lg { padding: 14px 22px; font-size: 15px; }

	/* Breadcrumbs: wrap on one baseline, never split a label mid-crumb */
	.breadcrumb { flex-wrap: wrap; row-gap: 2px; font-size: 13px; margin-bottom: 20px; line-height: 1.6; }
	.breadcrumb a, .breadcrumb .breadcrumb__current { white-space: nowrap; }
	.breadcrumb__current { white-space: normal; }

	/* Page heroes: tighten vertical rhythm */
	.page-hero { padding: 28px 0 8px; }
	.page-hero .section-head--center h1 { font-size: 30px; }
	.page-hero__grid { gap: 24px; }
	.section-head--split { flex-direction: column; align-items: flex-start; gap: 10px; }
	.section-head--center p { font-size: 15px; }
	.kicker { font-size: 12px; }

	/* Hero badges: keep readable, allow wrap */
	.hero__badges { gap: 8px; margin-bottom: 18px; }
	.hero__eyebrow { font-size: 12px; padding: 7px 12px; }

	/* Panels & visuals scale down instead of overflowing */
	.agent-hero__flow svg, .svc-flow svg, .flow-svg, .page-hero__grid svg { max-width: 100%; height: auto; }
	.agent-hero__card { padding: 24px 20px; }
	.hero__visual { margin-top: 8px; }
	.hero__stat { position: static; margin-top: 14px; display: inline-flex; }

	/* Marquees: slightly smaller chips */
	.marquee__chip { font-size: 13px; padding: 9px 16px; }
	.trustbar__label { font-size: 11px; letter-spacing: 0.08em; }

	/* Forms & misc */
	.footer-newsletter__form { flex-wrap: wrap; }
	.footer-newsletter__form input { min-width: 0; flex: 1 1 100%; }
	.footer-newsletter__form .btn { flex: 1 1 100%; text-align: center; }
	.contact-layout { gap: 28px; }
	.contact-form-panel { padding: 24px 18px; }
	.comment-form { padding: 22px 18px; }
	.dark-band__grid { padding: 44px 22px; }
	.roi-field input[type="range"] { width: 100%; }
	table { display: block; overflow-x: auto; }
}

/* ---------- 11d. Header + search polish ---------- */
.site-header__inner { gap: 18px; }
.nav-menu { gap: 20px; }
.nav-menu > li > a { white-space: nowrap; }
.site-header__cta { white-space: nowrap; flex: 0 0 auto; }
.site-header__account { gap: 16px; flex: 0 0 auto; }
@media (max-width: 1400px) {
	.nav-menu { gap: 16px; }
	.site-header__cta { padding: 12px 18px; font-size: 14px; }
}
@media (max-width: 1280px) {
	.site-header__account .account-link:not(.account-link--signup) { display: none; }
	.nav-menu { gap: 13px; }
	.nav-menu > li > a { font-size: 14px; }
}
@media (max-width: 1120px) {
	.site-header__account { display: none; }
}
.course-search__form { gap: 16px; padding: 8px 8px 8px 46px; }
.course-search__form .btn { padding: 13px 30px; letter-spacing: 0.01em; }
.course-search__form input[type="search"] { padding: 12px 4px 12px 0; }

/* ---------- 11e. Header fit (no overflow) ---------- */
.site-header__inner { flex-wrap: nowrap; min-width: 0; }
.site-nav { min-width: 0; }
.nav-menu { flex-wrap: nowrap; }
@media (max-width: 1600px) {
	.site-header__account { gap: 12px; }
	.site-header__account .account-link:not(.account-link--signup) { display: none; }
}
@media (max-width: 1450px) {
	.nav-menu { gap: 14px; }
	.nav-menu > li > a { font-size: 14px; }
	.site-header__cta { padding: 11px 16px; font-size: 13.5px; }
	.btn--sm.account-link--signup { padding: 7px 13px; font-size: 13.5px; }
}
@media (max-width: 1300px) {
	.site-header__account { display: none; }
	.nav-menu { gap: 12px; }
}

/* ---------- 11f. Nav no-shrink ---------- */
@media (min-width: 768px) {
	.site-nav { flex: 0 0 auto; min-width: max-content; }
	.nav-menu { flex-wrap: nowrap; min-width: max-content; }
	.site-header__cta { margin-left: auto; }
	.site-header__account + .site-header__cta { margin-left: 0; }
}
@media (max-width: 1180px) and (min-width: 768px) {
	.nav-menu { gap: 10px; }
	.nav-menu > li > a { font-size: 13px; }
	.site-header__cta { padding: 10px 14px; font-size: 13px; }
}

/* ---------- 11g. Hero above-the-fold + cookie bar ---------- */
.hero { padding: 44px 0 40px; }
@media (min-height: 900px) { .hero { padding: 72px 0 64px; } }
.hero__grid { gap: 44px; }
.hero__badges { margin-bottom: 16px; gap: 8px; }
.hero__copy h1 { font-size: clamp(34px, 3.5vw, 50px); line-height: 1.06; margin: 0 0 14px; }
.hero__sub { font-size: 17px; line-height: 1.55; margin: 0 0 22px; max-width: 520px; }
.hero__ctas { margin-bottom: 20px; }
.hero__ticks { font-size: 13.5px; gap: 18px; }
.agent-console { max-width: 520px; }
.agent-console__body { padding: 16px 18px; }
.agent-console__head { margin-bottom: 12px; min-height: 30px; }
.ac-stat { padding: 10px 12px; gap: 5px; }
.ac-stat strong { font-size: 20px; }

.cookie-notice {
	left: auto; right: 20px; bottom: 20px;
	max-width: 420px; margin: 0;
	padding: 14px 16px; gap: 12px;
	border-radius: 14px;
	box-shadow: 0 12px 32px rgba(49, 46, 129, 0.14);
}
.cookie-notice p { font-size: 12.5px; min-width: 0; }
.cookie-notice .btn { padding: 8px 14px; font-size: 13px; }
@media (max-width: 767px) {
	.cookie-notice { left: 12px; right: 12px; bottom: 12px; max-width: none; }
	.cookie-notice__actions { width: 100%; }
	.cookie-notice__actions .btn { flex: 1 1 auto; text-align: center; }
}

/* ---------- 11h. Centred navigation (all resolutions) ---------- */
/* Desktop: brand left, menu centred in the space between, actions right */
@media (min-width: 1200px) {
	.site-header__inner { position: static; justify-content: space-between; gap: 20px; max-width: none; /* full-bleed header */ }
	.brand { flex: 0 0 auto; }
	.site-nav { position: static; transform: none; flex: 1 1 auto; display: flex; justify-content: center; min-width: 0; margin: 0; }
	.nav-menu { justify-content: center; flex-wrap: nowrap; min-width: max-content; }
	.site-header__account { flex: 0 0 auto; }
	.site-header__cta { margin-left: 0; flex: 0 0 auto; }
}
@media (min-width: 1200px) and (max-width: 1439px) {
	.site-header__account { display: none; }
	.nav-menu { gap: 14px; }
	.nav-menu > li > a { font-size: 13.5px; }
	.site-header__cta { padding: 10px 16px; font-size: 13.5px; }
}
@media (min-width: 1440px) and (max-width: 1679px) {
	.site-header__account .account-link:not(.account-link--signup) { display: none; }
	.nav-menu { gap: 16px; }
}

/* Tablet and below: hamburger with a centred panel */
@media (max-width: 1199px) {
	.site-header__cta { display: none; }
	.site-header__account { display: none; }
	.nav-toggle { display: flex; }
	.site-nav {
		position: absolute; top: 72px; left: 0; right: 0;
		transform: none; display: none;
		background: var(--c-white);
		border-bottom: 1px solid var(--c-border);
		padding: 16px 20px 24px;
		min-width: 0; flex: none;
	}
	.site-nav.is-open { display: block; }
	.nav-menu { flex-direction: column; align-items: center; gap: 2px; min-width: 0; }
	.nav-menu > li { width: 100%; text-align: center; }
	.nav-menu a { padding: 12px 14px; justify-content: center; }
	.nav-menu .sub-menu {
		position: static; display: flex; min-width: 0;
		border: none; box-shadow: none; padding: 0 0 4px;
		align-items: center;
	}
	.nav-menu .sub-menu a { text-align: center; }
	.nav-menu .menu-item-has-children > a::before { display: none; }
	.site-nav__cta-mobile { display: inline-block; margin-top: 14px; width: 100%; text-align: center; }
	.site-nav__account { display: flex; flex-wrap: wrap; justify-content: center; }
}

/* ---------- 11i. Account: login + registration ---------- */
.woocommerce-account .u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.woocommerce-account .col-1, .woocommerce-account .col-2 { max-width: none; }
.woocommerce-form {
	background: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-lg);
	padding: 28px;
	box-shadow: 0 8px 28px rgba(49, 46, 129, 0.05);
}
.woocommerce-form-register { display: flex; flex-direction: column; }
.woocommerce-form-register > p:has(#reg_email) { order: 2; }
.woocommerce-form-register > p:has(#reg_password) { order: 7; }
.omnifys-field--name { order: 1; }
.omnifys-field--country { order: 3; }
.omnifys-field--state { order: 4; }
.omnifys-field--city { order: 5; }
.omnifys-field--phone { order: 6; }
.omnifys-field--confirm { order: 8; }
.woocommerce-form-register > .woocommerce-privacy-policy-text,
.woocommerce-form-register > p:has(button) { order: 9; }
.woocommerce-form .form-row { display: block; margin: 0 0 16px; }
.woocommerce-form label { display: block; font-size: 14px; font-weight: 600; color: var(--c-indigo-deep); margin-bottom: 6px; }
.woocommerce-form .required { color: #DC2626; text-decoration: none; }
.woocommerce-form input[type="text"],
.woocommerce-form input[type="email"],
.woocommerce-form input[type="tel"],
.woocommerce-form input[type="password"],
.woocommerce-form .omnifys-select {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--c-border);
	border-radius: 10px;
	font-family: inherit;
	font-size: 15px;
	color: var(--c-ink);
	background: var(--c-white);
	box-sizing: border-box;
}
.woocommerce-form input:focus, .woocommerce-form .omnifys-select:focus {
	outline: none; border-color: var(--c-indigo); box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}
.omnifys-phone { display: flex; gap: 10px; }
.omnifys-phone__cc { flex: 0 0 42%; min-width: 0; }
.omnifys-phone__num { flex: 1 1 auto; min-width: 0; }
.woocommerce-form button[type="submit"],
.woocommerce-form .woocommerce-Button {
	background: var(--c-indigo); color: #fff; border: none;
	border-radius: 999px; padding: 13px 28px;
	font-family: inherit; font-size: 15px; font-weight: 600; cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}
.woocommerce-form button[type="submit"]:hover { background: var(--c-indigo-deep); transform: translateY(-1px); }
.woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; margin-left: 14px; }
.omnifys-login-alt { margin: 12px 0 0; font-size: 14px; color: #5B6B85; }
.omnifys-login-alt a { color: var(--c-indigo); font-weight: 600; }
.woocommerce-LostPassword { margin: 10px 0 0; font-size: 14px; }
.woocommerce-LostPassword a { color: var(--c-indigo); font-weight: 600; }
@media (max-width: 860px) {
	.woocommerce-account .u-columns { grid-template-columns: 1fr; }
	.omnifys-phone { flex-wrap: wrap; }
	.omnifys-phone__cc, .omnifys-phone__num { flex: 1 1 100%; }
}

/* ---------- 11j. Account layout fix ---------- */
.woocommerce-account .section--narrow { max-width: 1080px; }
.woocommerce-account .entry-content { font-size: 16px; }
.woocommerce-account .woocommerce .u-columns.col2-set,
.woocommerce-account .woocommerce #customer_login.u-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	align-items: start;
}
.woocommerce-account .woocommerce .u-columns.col2-set::before,
.woocommerce-account .woocommerce .u-columns.col2-set::after { content: none; display: none; }
.woocommerce-account .woocommerce .u-columns.col2-set > .col-1,
.woocommerce-account .woocommerce .u-columns.col2-set > .col-2,
.woocommerce-account .woocommerce .u-columns.col2-set > .u-column1,
.woocommerce-account .woocommerce .u-columns.col2-set > .u-column2 {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
}
.woocommerce-account .u-columns h2 { font-size: 22px; margin: 0 0 14px; color: var(--c-indigo-deep); }
.woocommerce-account .woocommerce-form { margin: 0; height: 100%; }
.woocommerce-account .woocommerce-form .form-row { margin: 0 0 14px; }
.woocommerce-account .woocommerce-privacy-policy-text p { font-size: 13px; color: #6B7A94; line-height: 1.5; margin: 4px 0 16px; }
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register button { width: auto; min-width: 140px; }
.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex; margin: 0 0 0 12px; }
@media (max-width: 900px) {
	.woocommerce-account .woocommerce .u-columns.col2-set,
	.woocommerce-account .woocommerce #customer_login.u-columns { grid-template-columns: 1fr; gap: 22px; }
}

/* ---------------------------------------------------------------
   11k. Case study industry browser
   --------------------------------------------------------------- */
.cs-filter { margin: 0 0 34px; }
.cs-filter__label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #6B7A94;
	margin: 0 0 14px;
}
.cs-filter__chips {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.cs-filter__chips li { margin: 0; }
.cs-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 14px;
	border: 1px solid #DFE5F0;
	border-radius: 999px;
	background: #fff;
	font-size: 14px;
	line-height: 1.3;
	color: var(--c-indigo-deep, #1E2A4A);
	text-decoration: none;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.cs-chip:hover,
.cs-chip:focus-visible {
	border-color: #4F46E5;
	color: #4F46E5;
	text-decoration: none;
}
.cs-chip.is-active {
	background: #4F46E5;
	border-color: #4F46E5;
	color: #fff;
}
.cs-chip__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: #F1F3F9;
	color: #6B7A94;
	font-size: 12px;
	font-weight: 600;
}
.cs-chip.is-active .cs-chip__count { background: rgba(255,255,255,.22); color: #fff; }
@media (max-width: 700px) {
	.cs-filter { margin-bottom: 26px; }
	.cs-chip { font-size: 13px; padding: 6px 12px; }
	.cs-filter__chips {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		padding-bottom: 6px;
		scrollbar-width: thin;
	}
	.cs-filter__chips li { flex: 0 0 auto; scroll-snap-align: start; }
	.cs-chip { white-space: nowrap; }
}
