/*
Silky Aurora main stylesheet.
Design tokens first, then base, layout, header, hero, sections, templates, footer.
Logical properties are used so the layout adapts to RTL with minimal overrides.
*/

/* ------------------------------------------------------------------
   1. Design tokens
------------------------------------------------------------------ */
:root {
	--silky-royal: #021DA5;
	--silky-royal-deep: #010E52;
	--silky-royal-bright: #0B3FD6;
	--silky-ink: #06122E;
	--silky-mint: #11E3AB;
	--silky-teal: #49B8BF;
	--silky-signal: #CF1020;
	--silky-cloud: #F4F7FE;
	--silky-paper: #FFFFFF;

	--text: #1B2540;
	--text-soft: #5A678A;
	--line: #E3E9F8;
	--line-strong: #C9D4F0;

	--aurora: linear-gradient(135deg, var(--silky-royal) 0%, var(--silky-royal-bright) 62%, #1655F0 100%);
	--mintline: linear-gradient(90deg, var(--silky-mint), var(--silky-teal));

	--font-display: "IBM Plex Sans", "Cairo", system-ui, sans-serif;
	--font-body: "Roboto", "Cairo", system-ui, sans-serif;

	--radius-s: 10px;
	--radius-m: 16px;
	--radius-l: 24px;
	--radius-pill: 999px;

	--shadow-s: 0 2px 10px rgba(2, 29, 165, .06);
	--shadow-m: 0 14px 34px rgba(2, 29, 165, .10);
	--shadow-l: 0 28px 70px rgba(1, 14, 82, .18);

	--wrap: 1240px;
	--wrap-narrow: 780px;
	--gutter: clamp(18px, 4vw, 32px);

	--speed: .28s;
	--ease: cubic-bezier(.22, .8, .26, .99);
}

/* ------------------------------------------------------------------
   2. Base and reset
------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.65;
	color: var(--text);
	background: var(--silky-paper);
	-webkit-font-smoothing: antialiased;
}

html[lang^="ar"] body,
html[lang^="ar"] h1, html[lang^="ar"] h2, html[lang^="ar"] h3,
html[lang^="ar"] h4, html[lang^="ar"] h5, html[lang^="ar"] h6 {
	font-family: "Cairo", var(--font-body);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	color: var(--silky-ink);
	line-height: 1.18;
	margin: 0 0 .5em;
	font-weight: 700;
	letter-spacing: -.015em;
}

p { margin: 0 0 1em; }

a { color: var(--silky-royal); text-decoration: none; transition: color var(--speed) var(--ease); }
a:hover { color: var(--silky-royal-bright); }

img { max-width: 100%; height: auto; display: block; }

ul, ol { padding-inline-start: 1.2em; }

button { font: inherit; cursor: pointer; }

:focus-visible {
	outline: 3px solid var(--silky-mint);
	outline-offset: 2px;
	border-radius: 4px;
}

::selection { background: var(--silky-mint); color: var(--silky-ink); }

.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 !important; word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: var(--silky-paper); clip: auto !important; clip-path: none;
	color: var(--silky-royal); display: block; font-size: .9rem; font-weight: 700;
	height: auto; inset-inline-start: 8px; padding: 14px 22px; top: 8px;
	width: auto; z-index: 100000; box-shadow: var(--shadow-m); border-radius: var(--radius-s);
}

.skip-link { position: absolute; }

/* ------------------------------------------------------------------
   3. Layout primitives
------------------------------------------------------------------ */
.wrap {
	width: min(var(--wrap), 100% - var(--gutter) * 2);
	margin-inline: auto;
}
.wrap-narrow { width: min(var(--wrap-narrow), 100% - var(--gutter) * 2); }

.section { padding-block: clamp(56px, 9vw, 110px); }

.section-head { max-width: 720px; margin-block-end: clamp(28px, 5vw, 52px); }
.section-head-row {
	max-width: none; display: flex; align-items: flex-end;
	justify-content: space-between; gap: 24px; flex-wrap: wrap;
}

.eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--font-display); font-size: .82rem; font-weight: 600;
	letter-spacing: .12em; text-transform: uppercase;
	color: var(--silky-royal); margin: 0 0 14px;
	padding: 6px 14px; border-radius: var(--radius-pill);
	background: rgba(17, 227, 171, .12); border: 1px solid rgba(17, 227, 171, .35);
}
.eyebrow-light { color: var(--silky-royal); background: rgba(2, 29, 165, .07); border-color: rgba(2, 29, 165, .20); }

.section-title { font-size: clamp(1.7rem, 3.4vw, 2.6rem); }
.section-title-sm { font-size: clamp(1.3rem, 2.4vw, 1.7rem); }
.section-sub, .section-intro { color: var(--text-soft); font-size: 1.06rem; max-width: 640px; }

.pulse-dot {
	width: 9px; height: 9px; border-radius: 50%;
	background: var(--silky-mint); display: inline-block; flex: none;
	box-shadow: 0 0 0 0 rgba(17, 227, 171, .55);
	animation: silkyPulse 2.1s infinite;
}
@keyframes silkyPulse {
	0% { box-shadow: 0 0 0 0 rgba(17, 227, 171, .55); }
	70% { box-shadow: 0 0 0 11px rgba(17, 227, 171, 0); }
	100% { box-shadow: 0 0 0 0 rgba(17, 227, 171, 0); }
}

.ic { display: inline-flex; vertical-align: middle; flex: none; }

/* Decision Stream signature */
.stream-path {
	stroke: var(--silky-mint);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-dasharray: 7 9;
	animation: silkyStream 1.6s linear infinite;
	opacity: .85;
}
@keyframes silkyStream { to { stroke-dashoffset: -32; } }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
.no-js .reveal { opacity: 1; transform: none; }

/* ------------------------------------------------------------------
   4. Buttons
------------------------------------------------------------------ */
.btn {
	position: relative; display: inline-flex; align-items: center; gap: 10px;
	padding: 13px 26px; border-radius: var(--radius-pill);
	font-family: var(--font-display); font-weight: 600; font-size: .98rem;
	line-height: 1; border: 1.5px solid transparent; overflow: hidden;
	transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease), background var(--speed) var(--ease), color var(--speed) var(--ease);
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }

/* Shine sweep, the "silky" signature */
.btn::after {
	content: ""; position: absolute; inset-block: 0; inset-inline-start: -70%;
	width: 45%; transform: skewX(-22deg);
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent);
	transition: inset-inline-start .55s var(--ease);
	pointer-events: none;
}
.btn:hover::after { inset-inline-start: 125%; }

.btn-primary { background: var(--silky-royal); color: #fff; box-shadow: var(--shadow-s); }
.btn-primary:hover { background: var(--silky-royal-bright); color: #fff; box-shadow: var(--shadow-m); }

.btn-mint { background: var(--silky-mint); color: var(--silky-ink); box-shadow: 0 10px 26px rgba(17, 227, 171, .35); }
.btn-mint:hover { background: #2BF0BC; color: var(--silky-ink); }

.btn-ghost { background: rgba(255, 255, 255, .08); color: #fff; border-color: rgba(255, 255, 255, .42); backdrop-filter: blur(6px); }
.btn-ghost:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.hero .btn-ghost { background: var(--silky-paper); color: var(--silky-royal); border-color: rgba(2, 29, 165, .30); backdrop-filter: none; }
.hero .btn-ghost:hover { background: var(--silky-cloud); color: var(--silky-royal); border-color: var(--silky-royal); }

.btn-ghost-dark { background: transparent; color: var(--silky-royal); border-color: var(--line-strong); }
.btn-ghost-dark:hover { border-color: var(--silky-royal); color: var(--silky-royal); }

.text-link {
	display: inline-flex; align-items: center; gap: 7px;
	font-family: var(--font-display); font-weight: 600; color: var(--silky-royal);
}
.text-link .ic { transition: transform var(--speed) var(--ease); }
.text-link:hover .ic { transform: translateX(4px); }

.pill {
	display: inline-block; padding: 5px 13px; border-radius: var(--radius-pill);
	background: rgba(255, 255, 255, .14); color: #fff; font-size: .82rem; font-weight: 600;
	border: 1px solid rgba(255, 255, 255, .3);
}
.pill-row { display: flex; gap: 8px; flex-wrap: wrap; margin-block-start: 8px; }

/* ------------------------------------------------------------------
   5. Topbar
------------------------------------------------------------------ */
.topbar {
	background: var(--silky-royal); color: #D5DEF7;
	font-size: .82rem; position: relative; z-index: 60;
}
.topbar-inner {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px; min-height: 38px; padding-block: 4px;
}
.topbar ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.topbar a { color: #C8D4F2; display: inline-flex; align-items: center; gap: 6px; }
.topbar a:hover { color: var(--silky-mint); }
.topbar .ph-label { color: var(--silky-mint); font-weight: 600; }
.topbar .ph-num { white-space: nowrap; }
.topbar-side { display: flex; align-items: center; gap: 16px; }
.topbar-note { display: inline-flex; align-items: center; gap: 6px; color: #9FB2E2; white-space: nowrap; }
.topbar-note .ic { color: var(--silky-mint); }
.topbar-social a { opacity: .8; }
.topbar-social a:hover { opacity: 1; }

@media (max-width: 920px) {
	.topbar-note, .topbar-social { display: none; }
	.topbar ul { gap: 12px; }
	.topbar { font-size: .78rem; }
}

/* ------------------------------------------------------------------
   6. Header and navigation
------------------------------------------------------------------ */
.site-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(255, 255, 255, .92);
	backdrop-filter: saturate(1.4) blur(14px);
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	border-bottom: 1px solid transparent;
	transition: box-shadow var(--speed) var(--ease), border-color var(--speed) var(--ease);
}
.site-header.is-stuck { box-shadow: 0 8px 30px rgba(1, 14, 82, .10); border-color: var(--line); }

.header-inner { display: flex; align-items: center; gap: 26px; min-height: 76px; }

.site-branding { flex: none; }
.site-branding img { max-height: 46px; width: auto; }
.site-wordmark {
	font-family: var(--font-display); font-weight: 700; font-size: 1.5rem;
	color: var(--silky-ink); letter-spacing: -.02em; display: inline-flex; align-items: baseline;
}
.wordmark-main { color: var(--silky-royal); }
.wordmark-dot { color: var(--silky-mint); }

.main-navigation { margin-inline-start: auto; }
.main-navigation ul { list-style: none; margin: 0; padding: 0; }
.main-navigation > div > ul,
.main-navigation > ul,
#primary-menu { display: flex; align-items: center; gap: 4px; }

#primary-menu > li { position: relative; }
#primary-menu > li > a {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 10px 14px; border-radius: var(--radius-s);
	font-family: var(--font-display); font-weight: 600; font-size: .96rem;
	color: var(--silky-ink);
}
#primary-menu > li > a:hover,
#primary-menu > li.current-menu-item > a,
#primary-menu > li.current-menu-ancestor > a { color: var(--silky-royal); background: var(--silky-cloud); }

/* caret for parents */
#primary-menu > li.menu-item-has-children > a::after {
	content: ""; width: 7px; height: 7px; flex: none;
	border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform var(--speed) var(--ease);
}
#primary-menu > li.menu-item-has-children:hover > a::after,
#primary-menu > li.menu-item-has-children:focus-within > a::after { transform: rotate(225deg) translateY(-1px); }

/* Dropdown panels */
#primary-menu .sub-menu {
	position: absolute; top: calc(100% + 10px); inset-inline-start: 0;
	min-width: 250px; background: var(--silky-paper);
	border: 1px solid var(--line); border-radius: var(--radius-m);
	box-shadow: var(--shadow-l); padding: 10px;
	opacity: 0; visibility: hidden; transform: translateY(10px);
	transition: opacity var(--speed) var(--ease), transform var(--speed) var(--ease), visibility var(--speed);
	z-index: 40;
}
#primary-menu .sub-menu::before {
	content: ""; position: absolute; inset-inline: 0; top: -12px; height: 12px;
}
#primary-menu li:hover > .sub-menu,
#primary-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }

#primary-menu .sub-menu a {
	display: block; padding: 10px 14px; border-radius: var(--radius-s);
	color: var(--silky-ink); font-weight: 500; font-size: .94rem;
}
#primary-menu .sub-menu a:hover { background: var(--silky-cloud); color: var(--silky-royal); }
#primary-menu .sub-menu .sub-menu { top: -10px; inset-inline-start: calc(100% + 6px); }

/* Top edge accent on dropdowns */
#primary-menu > li > .sub-menu { border-top: 3px solid; border-image: var(--mintline) 1; }

/* Mega menu: add class "mega" to a top level item in Appearance, Menus */
@media (min-width: 1025px) {
	#primary-menu > li.mega { position: static; }
	#primary-menu > li.mega > .sub-menu {
		inset-inline: 0; width: 100%;
		display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
		gap: 6px 22px; padding: 26px 30px;
	}
	#primary-menu > li.mega > .sub-menu > li > a {
		font-family: var(--font-display); font-weight: 700; font-size: .8rem;
		text-transform: uppercase; letter-spacing: .1em; color: var(--text-soft);
		pointer-events: none; padding-block-end: 4px;
	}
	#primary-menu > li.mega > .sub-menu > li.menu-item-has-children > a::after { display: none; }
	#primary-menu > li.mega .sub-menu .sub-menu {
		position: static; opacity: 1; visibility: visible; transform: none;
		box-shadow: none; border: 0; padding: 0; min-width: 0;
	}
}

.header-actions { display: flex; align-items: center; gap: 14px; flex: none; }
.header-cta { padding-block: 11px; }

/* Language switcher */
.lang-switch { position: relative; }
.lang-current {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 9px 14px; border-radius: var(--radius-pill);
	border: 1.5px solid var(--line-strong); background: transparent;
	font-family: var(--font-display); font-weight: 600; font-size: .88rem;
	color: var(--silky-ink); text-transform: uppercase;
}
.lang-current:hover { border-color: var(--silky-royal); color: var(--silky-royal); }
.lang-list {
	position: absolute; top: calc(100% + 10px); inset-inline-end: 0;
	min-width: 180px; background: var(--silky-paper); border: 1px solid var(--line);
	border-radius: var(--radius-m); box-shadow: var(--shadow-l);
	list-style: none; margin: 0; padding: 8px;
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity var(--speed) var(--ease), transform var(--speed) var(--ease), visibility var(--speed);
	z-index: 45;
}
.lang-switch:hover .lang-list,
.lang-switch:focus-within .lang-list { opacity: 1; visibility: visible; transform: none; }
.lang-list a { display: flex; align-items: center; gap: 9px; padding: 9px 12px; border-radius: var(--radius-s); color: var(--silky-ink); font-size: .92rem; }
.lang-list a:hover { background: var(--silky-cloud); color: var(--silky-royal); }
.lang-list img { width: 18px; height: auto; border-radius: 3px; }

/* Mobile menu */
.menu-toggle {
	display: none; background: transparent; border: 1.5px solid var(--line-strong);
	border-radius: var(--radius-s); padding: 9px; color: var(--silky-ink);
}
.menu-toggle .ic-close { display: none; }
.menu-toggle[aria-expanded="true"] .ic-menu { display: none; }
.menu-toggle[aria-expanded="true"] .ic-close { display: inline-flex; }

@media (max-width: 1024px) {
	.header-inner { gap: 14px; min-height: 66px; }
	.menu-toggle { display: inline-flex; order: 3; }
	.header-actions { margin-inline-start: auto; }
	.header-cta { display: none; }

	.main-navigation { order: 4; flex-basis: 100%; margin: 0; }
	#primary-menu {
		display: none; flex-direction: column; align-items: stretch; gap: 0;
		padding-block: 10px 18px; border-top: 1px solid var(--line);
	}
	.main-navigation.is-open #primary-menu { display: flex; }
	#primary-menu > li > a { width: 100%; justify-content: space-between; padding: 13px 6px; border-radius: 0; }
	#primary-menu .sub-menu {
		position: static; opacity: 1; visibility: visible; transform: none;
		box-shadow: none; border: 0; border-inline-start: 2px solid var(--line);
		border-radius: 0; margin-inline-start: 12px; padding: 0 0 6px;
		display: none;
	}
	#primary-menu li.is-open > .sub-menu { display: block; }
}

/* ------------------------------------------------------------------
   7. Hero
------------------------------------------------------------------ */
.hero {
	position: relative; overflow: hidden; color: var(--text);
	background: linear-gradient(180deg, #FFFFFF 0%, var(--silky-cloud) 100%);
	padding-block: clamp(72px, 11vw, 140px) clamp(96px, 12vw, 150px);
}
.hero-aurora {
	position: absolute; inset: -20%;
	background:
		radial-gradient(38% 42% at 18% 22%, rgba(17, 227, 171, .18), transparent 70%),
		radial-gradient(34% 40% at 84% 14%, rgba(73, 184, 191, .16), transparent 72%),
		radial-gradient(46% 50% at 70% 88%, rgba(11, 63, 214, .14), transparent 75%);
	filter: blur(10px);
	animation: silkyAurora 16s ease-in-out infinite alternate;
	pointer-events: none;
}
@keyframes silkyAurora {
	0% { transform: translate3d(-2%, -1%, 0) scale(1); }
	100% { transform: translate3d(2%, 2%, 0) scale(1.06); }
}
.hero-grid-bg {
	position: absolute; inset: 0; pointer-events: none; opacity: .5;
	background-image:
		linear-gradient(rgba(2, 29, 165, .06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(2, 29, 165, .06) 1px, transparent 1px);
	background-size: 54px 54px;
	mask-image: radial-gradient(70% 70% at 50% 30%, #000 30%, transparent 100%);
	-webkit-mask-image: radial-gradient(70% 70% at 50% 30%, #000 30%, transparent 100%);
}

.hero-inner {
	position: relative; display: grid; align-items: center;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(30px, 5vw, 64px);
}

.hero-title {
	color: var(--silky-ink); font-size: clamp(2.1rem, 5vw, 3.7rem);
	letter-spacing: -.02em; margin-block-end: .45em; text-wrap: balance;
}
.hero-sub { color: #3E4C75; font-size: clamp(1.02rem, 1.6vw, 1.2rem); max-width: 560px; }

.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-block: 26px 22px; }

.hero-badges { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px 22px; flex-wrap: wrap; }
.hero-badges li { display: inline-flex; align-items: center; gap: 8px; color: var(--text); font-size: .92rem; }
.hero-badges .ic { color: #0CBE8F; }

/* Value Chain Pulse console */
.console {
	background: var(--silky-paper);
	border: 1px solid var(--line);
	border-radius: var(--radius-l);
	box-shadow: 0 30px 80px rgba(2, 29, 165, .16), 0 2px 8px rgba(2, 29, 165, .06);
	overflow: hidden;
	transform: perspective(1100px) rotateY(-4deg) rotateX(2deg);
}
@media (max-width: 1024px) { .console { transform: none; } }

.console-bar {
	display: flex; align-items: center; gap: 8px;
	padding: 13px 18px; border-bottom: 1px solid var(--line);
	background: var(--silky-cloud);
}
.dot { width: 11px; height: 11px; border-radius: 50%; }
.d1 { background: #FF5F57; } .d2 { background: #FEBC2E; } .d3 { background: #28C840; }
.console-title {
	margin-inline-start: 10px; font-family: var(--font-display);
	font-size: .85rem; font-weight: 600; color: var(--silky-ink);
}
.console-live {
	margin-inline-start: auto; display: inline-flex; align-items: center; gap: 7px;
	font-size: .76rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	color: var(--silky-mint);
}

.console-feed { list-style: none; margin: 0; padding: 16px 18px; min-height: 248px; }
.console-feed li {
	display: flex; align-items: baseline; gap: 11px;
	padding-block: 8px; font-size: .92rem; color: #21305C;
	border-bottom: 1px dashed var(--line);
	opacity: 0; transform: translateY(8px);
	transition: opacity .5s var(--ease), transform .5s var(--ease);
}
.console-feed li.is-on { opacity: 1; transform: none; }
.no-js .console-feed li { opacity: 1; transform: none; }
.feed-time { font-family: ui-monospace, "IBM Plex Mono", monospace; font-size: .76rem; color: var(--silky-teal); flex: none; min-width: 56px; }
.feed-text { flex: 1; }
.feed-ok { color: #0CBE8F; flex: none; opacity: 0; transition: opacity .4s var(--ease) .25s; }
.console-feed li.is-on .feed-ok { opacity: 1; }

.console-foot {
	display: flex; align-items: center; justify-content: center; gap: 10px;
	padding: 13px 18px; border-top: 1px solid var(--line);
	font-family: var(--font-display); font-size: .78rem; font-weight: 600;
	letter-spacing: .08em; text-transform: uppercase; color: var(--text-soft);
	flex-wrap: wrap;
}
.stream-mini { width: 44px; height: 12px; }

.hero-wave { position: absolute; inset-inline: 0; bottom: -1px; line-height: 0; }
.hero-wave svg { width: 100%; height: clamp(34px, 5vw, 70px); display: block; }

@media (max-width: 920px) {
	.hero-inner { grid-template-columns: 1fr; }
	.hero-visual { max-width: 560px; }
}

/* ------------------------------------------------------------------
   8. Logos: marquee and partner grid
------------------------------------------------------------------ */
.logos-section { padding-block: clamp(40px, 6vw, 70px); border-bottom: 1px solid var(--line); }
.logos-title {
	font-size: .85rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	color: var(--text-soft); text-align: center; margin-block-end: 26px;
}
.logos-title-sub { margin-block-start: 46px; }

.marquee { overflow: hidden; position: relative;
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.marquee-track {
	list-style: none; margin: 0; padding: 0;
	display: flex; align-items: center; gap: clamp(36px, 6vw, 70px);
	width: max-content;
	animation: silkyMarquee 36s linear infinite;
}
.marquee:hover .marquee-track { animation-play-state: paused; }
@keyframes silkyMarquee { to { transform: translateX(-50%); } }
.marquee-track img {
	max-height: 52px; width: auto; filter: grayscale(1) opacity(.62);
	transition: filter var(--speed) var(--ease), transform var(--speed) var(--ease);
}
.marquee-track img:hover { filter: none; transform: scale(1.06); }

.partners-grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 14px;
}
.partners-grid li {
	display: grid; place-items: center; min-height: 84px; padding: 14px;
	background: var(--silky-paper); border: 1px solid var(--line); border-radius: var(--radius-m);
	transition: box-shadow var(--speed) var(--ease), transform var(--speed) var(--ease), border-color var(--speed) var(--ease);
}
.partners-grid li:hover { box-shadow: var(--shadow-m); transform: translateY(-3px); border-color: var(--silky-teal); }
.partners-grid img { max-height: 44px; width: auto; filter: grayscale(1) opacity(.7); transition: filter var(--speed) var(--ease); }
.partners-grid li:hover img { filter: none; }

/* ------------------------------------------------------------------
   9. Cards, generic
------------------------------------------------------------------ */
.card-icon {
	width: 52px; height: 52px; border-radius: 14px;
	display: inline-grid; place-items: center; flex: none;
	color: var(--silky-royal);
	background: linear-gradient(135deg, rgba(17, 227, 171, .16), rgba(2, 29, 165, .08));
	border: 1px solid rgba(2, 29, 165, .10);
	margin-block-end: 16px;
}
.card-title { font-size: 1.14rem; margin-block-end: 8px; }
.card-title a { color: inherit; }
.card-title a:hover { color: var(--silky-royal); }
.card-text { color: var(--text-soft); font-size: .96rem; margin: 0; }
.card-link {
	display: inline-flex; align-items: center; gap: 7px; margin-block-start: 14px;
	font-family: var(--font-display); font-weight: 600; font-size: .9rem; color: var(--silky-royal);
}

/* ------------------------------------------------------------------
   10. Pillars
------------------------------------------------------------------ */
.pillars-section { background: var(--silky-cloud); }
.pillars-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; }

.pillar-card {
	position: relative; background: var(--silky-paper);
	border: 1px solid var(--line); border-radius: var(--radius-l);
	padding: 30px 26px; overflow: hidden;
	transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease);
}
.pillar-card::before {
	content: ""; position: absolute; inset-inline: 0; top: 0; height: 4px;
	background: var(--mintline);
	transform: scaleX(0); transform-origin: 0 0;
	transition: transform .45s var(--ease);
}
.pillar-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-m); }
.pillar-card:hover::before { transform: scaleX(1); }

.pillar-modules { list-style: none; margin: 16px 0 18px; padding: 0; display: grid; gap: 8px; }
.pillar-modules li { display: flex; align-items: center; gap: 9px; font-size: .94rem; color: var(--text); }
.pillar-modules .ic { color: var(--silky-mint); }

/* ------------------------------------------------------------------
   11. Platform: three layers + decision stream
------------------------------------------------------------------ */
.platform-section { background: var(--silky-cloud); color: var(--text); position: relative; overflow: hidden; }
.platform-section .section-title { color: var(--silky-ink); }
.platform-section .section-intro { color: var(--text-soft); }

.platform-layers { position: relative; display: grid; gap: 20px; max-width: 860px; margin-inline: auto; padding-inline-start: 46px; }
.stream-vertical { position: absolute; inset-block: 8px; inset-inline-start: 18px; width: 8px; height: calc(100% - 16px); }

.layer-card {
	position: relative; display: flex; gap: 20px; align-items: flex-start;
	background: var(--silky-paper);
	border: 1px solid var(--line);
	border-radius: var(--radius-l); padding: 26px 28px;
	box-shadow: var(--shadow-s);
	transition: border-color var(--speed) var(--ease), background var(--speed) var(--ease), transform var(--speed) var(--ease);
}
.layer-card:hover { border-color: var(--silky-teal); box-shadow: var(--shadow-m); transform: translateX(6px); }
.layer-card .card-title { color: var(--silky-ink); }
.layer-card .card-text { color: var(--text-soft); }

.layer-node {
	position: absolute; inset-inline-start: -46px; top: 26px;
	width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
	background: var(--silky-paper); border: 2px solid var(--silky-royal);
	color: var(--silky-royal); font-family: var(--font-display); font-weight: 700; font-size: .82rem;
	box-shadow: 0 0 0 6px rgba(17, 227, 171, .12);
}

.comply-band {
	margin-block-start: 38px; display: flex; gap: 18px; align-items: center;
	max-width: 860px; margin-inline: auto;
	background: linear-gradient(120deg, rgba(17, 227, 171, .14), rgba(73, 184, 191, .10));
	border: 1px solid rgba(17, 227, 171, .35); border-radius: var(--radius-l);
	padding: 22px 26px; margin-top: 38px;
}
.comply-icon { color: #0CBE8F; flex: none; }
.comply-band .card-title { color: var(--silky-ink); margin-block-end: 4px; }
.comply-band .card-text { color: var(--text); }

/* ------------------------------------------------------------------
   12. Products grid + filter tabs
------------------------------------------------------------------ */
.filter-tabs { display: flex; gap: 9px; flex-wrap: wrap; margin-block-end: 30px; }
.filter-tab {
	padding: 9px 19px; border-radius: var(--radius-pill);
	border: 1.5px solid var(--line-strong); background: var(--silky-paper);
	font-family: var(--font-display); font-weight: 600; font-size: .9rem; color: var(--text);
	transition: all var(--speed) var(--ease);
}
.filter-tab:hover { border-color: var(--silky-royal); color: var(--silky-royal); }
.filter-tab.is-active { background: var(--silky-royal); border-color: var(--silky-royal); color: #fff; }

.products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }

.product-card {
	background: var(--silky-paper); border: 1px solid var(--line);
	border-radius: var(--radius-m); padding: 24px 22px;
	transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease), border-color var(--speed) var(--ease), opacity .35s var(--ease);
}
.product-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-m); border-color: var(--silky-teal); }
.product-card.is-hidden { display: none; }
.product-card .card-icon { width: 46px; height: 46px; margin-block-end: 13px; }

/* ------------------------------------------------------------------
   13. Stats band
------------------------------------------------------------------ */
.section-stats { background: var(--silky-paper); color: var(--text); padding-block: clamp(46px, 7vw, 76px); position: relative; overflow: hidden; border-block: 1px solid var(--line); }
.section-stats::after {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .6;
	background: radial-gradient(60% 90% at 80% 10%, rgba(17, 227, 171, .10), transparent 70%), radial-gradient(50% 80% at 12% 90%, rgba(2, 29, 165, .06), transparent 72%);
}
.stats-grid { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 26px; text-align: center; z-index: 1; }
.stat-number { font-family: var(--font-display); font-weight: 700; font-size: clamp(2rem, 4.4vw, 3rem); color: var(--silky-royal); display: block; line-height: 1.05; }
.stat-suffix { color: #0CBE8F; }
.stat-label { display: block; margin-block-start: 7px; color: var(--text-soft); font-size: .95rem; }

/* ------------------------------------------------------------------
   14. Industries
------------------------------------------------------------------ */
.industries-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
.industry-card {
	background: var(--silky-paper); border: 1px solid var(--line); border-radius: var(--radius-m);
	overflow: hidden;
	transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease);
}
.industry-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-m); }
.industry-media { position: relative; aspect-ratio: 3 / 2; overflow: hidden; }
.industry-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.industry-card:hover .industry-media img { transform: scale(1.07); }
.industry-veil { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(1, 14, 82, .55)); }
.industry-body { padding: 20px; }
.industry-body .card-icon { width: 44px; height: 44px; margin-block-start: -44px; position: relative; background: var(--silky-paper); box-shadow: var(--shadow-s); }

/* ------------------------------------------------------------------
   15. Case studies
------------------------------------------------------------------ */
.section-cases { background: var(--silky-cloud); }
.cases-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px; }
.case-card {
	display: grid; grid-template-rows: auto 1fr;
	background: var(--silky-paper); border: 1px solid var(--line); border-radius: var(--radius-l);
	overflow: hidden;
	transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease);
}
.case-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-m); }
.case-media { aspect-ratio: 16 / 9; overflow: hidden; display: block; }
.case-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.case-card:hover .case-media img { transform: scale(1.06); }
.case-body { padding: 26px 24px; }

/* ------------------------------------------------------------------
   16. Testimonials
------------------------------------------------------------------ */
.quotes-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.quote-card {
	position: relative; margin: 0; background: var(--silky-paper);
	border: 1px solid var(--line); border-radius: var(--radius-l); padding: 28px 24px 24px;
	transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease);
}
.quote-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-m); }
.quote-mark {
	position: absolute; top: 8px; inset-inline-end: 18px;
	font-family: var(--font-display); font-size: 4.4rem; line-height: 1;
	color: rgba(17, 227, 171, .35); pointer-events: none;
}
.quote-text { margin: 0 0 18px; font-size: .98rem; color: var(--text); }
.quote-meta { display: flex; align-items: center; gap: 12px; }
.quote-avatar img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
.quote-name { display: block; font-family: var(--font-display); font-weight: 700; font-size: .95rem; color: var(--silky-ink); }
.quote-role { display: block; font-size: .84rem; color: var(--text-soft); }

/* ------------------------------------------------------------------
   17. Blog cards
------------------------------------------------------------------ */
.blog-grid, .archive-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 22px; }
.layout-with-sidebar .archive-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }

.post-card {
	background: var(--silky-paper); border: 1px solid var(--line); border-radius: var(--radius-m);
	overflow: hidden; display: grid; grid-template-rows: auto 1fr;
	transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease);
}
.post-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-m); }
.post-media { aspect-ratio: 16 / 9; overflow: hidden; display: block; }
.post-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.post-card:hover .post-media img { transform: scale(1.06); }
.post-body { padding: 22px; }
.post-meta { display: block; font-size: .82rem; color: var(--text-soft); margin-block-end: 9px; }

/* ------------------------------------------------------------------
   18. CTA band
------------------------------------------------------------------ */
.cta-band {
	position: relative; overflow: hidden; border-radius: clamp(20px, 3vw, 34px);
	background: var(--aurora); color: #fff;
	padding: clamp(40px, 7vw, 78px) clamp(24px, 6vw, 70px);
	box-shadow: var(--shadow-l);
	text-align: center;
}
.cta-orb { position: absolute; border-radius: 50%; filter: blur(50px); opacity: .55; pointer-events: none; }
.cta-orb-a { width: 320px; height: 320px; background: var(--silky-mint); top: -140px; inset-inline-start: -90px; }
.cta-orb-b { width: 380px; height: 380px; background: var(--silky-royal-bright); bottom: -190px; inset-inline-end: -110px; }
.cta-stream { position: absolute; inset-inline: 0; bottom: 16px; width: 100%; height: 70px; opacity: .5; }
.cta-inner { position: relative; max-width: 660px; margin-inline: auto; }
.cta-title { color: #fff; font-size: clamp(1.6rem, 3.4vw, 2.4rem); }
.cta-sub { color: #D5DEF7; font-size: 1.05rem; }
.cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-block-start: 26px; }

/* ------------------------------------------------------------------
   19. Contact
------------------------------------------------------------------ */
.contact-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 60px); align-items: start; }
@media (max-width: 880px) { .contact-grid { grid-template-columns: 1fr; } }

.contact-line { display: flex; align-items: flex-start; gap: 11px; margin-block-end: 13px; color: var(--text); }
.contact-ic { color: var(--silky-royal); margin-block-start: 3px; }

.contact-offices { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; margin-block-start: 22px; }
.office { background: var(--silky-cloud); border: 1px solid var(--line); border-radius: var(--radius-m); padding: 14px 16px; }
.office-label { display: block; font-family: var(--font-display); font-weight: 700; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--silky-royal); margin-block-end: 4px; }
.office-phone { font-size: .95rem; color: var(--text); white-space: nowrap; }
.office-phone:hover { color: var(--silky-royal); }

.contact-form-wrap {
	background: var(--silky-paper); border: 1px solid var(--line);
	border-radius: var(--radius-l); padding: clamp(22px, 4vw, 36px);
	box-shadow: var(--shadow-m);
}
.form-placeholder { color: var(--text-soft); font-size: .94rem; }

/* Form element defaults (CF7, WPForms, comments, search) */
.contact-form-wrap input[type="text"],
.contact-form-wrap input[type="email"],
.contact-form-wrap input[type="tel"],
.contact-form-wrap input[type="url"],
.contact-form-wrap select,
.contact-form-wrap textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%; padding: 13px 16px; margin-block-end: 14px;
	border: 1.5px solid var(--line-strong); border-radius: var(--radius-s);
	font: inherit; color: var(--text); background: var(--silky-paper);
	transition: border-color var(--speed) var(--ease), box-shadow var(--speed) var(--ease);
}
.contact-form-wrap textarea, .comment-form textarea { min-height: 140px; resize: vertical; }
.contact-form-wrap input:focus,
.contact-form-wrap textarea:focus,
.comment-form input:focus,
.comment-form textarea:focus {
	outline: none; border-color: var(--silky-royal);
	box-shadow: 0 0 0 4px rgba(2, 29, 165, .12);
}
.contact-form-wrap input[type="submit"],
.contact-form-wrap button[type="submit"],
.comment-form input[type="submit"] {
	background: var(--silky-royal); color: #fff; border: 0;
	padding: 14px 30px; border-radius: var(--radius-pill);
	font-family: var(--font-display); font-weight: 600; cursor: pointer;
	transition: background var(--speed) var(--ease), transform var(--speed) var(--ease);
}
.contact-form-wrap input[type="submit"]:hover,
.comment-form input[type="submit"]:hover { background: var(--silky-royal-bright); transform: translateY(-2px); }

/* ------------------------------------------------------------------
   20. Inner pages
------------------------------------------------------------------ */
.page-hero {
	background: var(--aurora); color: #fff; position: relative; overflow: hidden;
	padding-block: clamp(44px, 7vw, 84px);
}
.page-hero::after {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
	background: radial-gradient(50% 80% at 85% 0%, rgba(17, 227, 171, .22), transparent 70%);
}
.page-hero > .wrap, .page-hero > .wrap-narrow { position: relative; z-index: 1; }
.page-title { color: #fff; font-size: clamp(1.8rem, 4vw, 2.8rem); margin: 0; }
.page-title span { color: var(--silky-mint); }
.page-sub { color: #D5DEF7; margin: 12px 0 0; max-width: 680px; }

.entry-meta { margin-block-start: 12px; color: #C8D4F2; font-size: .9rem; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.entry-meta a { color: #fff; }
.meta-sep { opacity: .6; }

.page-hero-product .hero-actions { margin-block-start: 22px; }
.product-hero-row { display: flex; gap: 18px; align-items: center; }
.product-hero-icon {
	width: 66px; height: 66px; border-radius: 18px; display: grid; place-items: center; flex: none;
	background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .25); color: var(--silky-mint);
}

.site-main > .wrap, .site-main > .wrap-narrow { padding-block: clamp(36px, 6vw, 64px); }

.layout-with-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(26px, 4vw, 48px); }
@media (max-width: 980px) { .layout-with-sidebar { grid-template-columns: 1fr; } }
.layout-main { min-width: 0; }

/* Breadcrumbs */
.breadcrumbs { font-size: .86rem; margin-block-end: 14px; color: #C8D4F2; }
.breadcrumbs a { color: #fff; opacity: .85; }
.breadcrumbs a:hover { opacity: 1; color: var(--silky-mint); }
.breadcrumbs .sep { margin-inline: 8px; opacity: .55; }

/* Prose (entry content) */
.prose { font-size: 1.04rem; }
.prose-full > * { width: min(var(--wrap-narrow), 100% - var(--gutter) * 2); margin-inline: auto; }
.prose-full > .alignfull { width: 100%; max-width: none; }
.prose-full > .alignwide { width: min(var(--wrap), 100% - var(--gutter) * 2); }
.prose h2 { font-size: 1.6rem; margin-block-start: 1.6em; }
.prose h3 { font-size: 1.28rem; margin-block-start: 1.4em; }
.prose img { border-radius: var(--radius-m); }
.prose blockquote {
	margin: 1.6em 0; padding: 18px 24px; border-inline-start: 4px solid var(--silky-mint);
	background: var(--silky-cloud); border-radius: 0 var(--radius-m) var(--radius-m) 0;
	font-style: italic; color: var(--text);
}
.prose pre { background: var(--silky-ink); color: #DDE6FB; padding: 20px; border-radius: var(--radius-m); overflow: auto; font-size: .9em; }
.prose code { background: var(--silky-cloud); padding: 2px 7px; border-radius: 6px; font-size: .92em; }
.prose pre code { background: transparent; padding: 0; }
.prose table { width: 100%; border-collapse: collapse; margin: 1.4em 0; }
.prose th, .prose td { border: 1px solid var(--line); padding: 11px 14px; text-align: start; }
.prose th { background: var(--silky-cloud); font-family: var(--font-display); }
.page-thumb { margin: 0 0 1.8em; }
.page-thumb img { border-radius: var(--radius-l); width: 100%; }

.page-links { margin-block-start: 1.6em; font-weight: 600; }
.tag-list { margin-block-start: 2em; display: flex; gap: 8px; flex-wrap: wrap; }
.tag-list a {
	font-size: .82rem; padding: 5px 13px; border-radius: var(--radius-pill);
	background: var(--silky-cloud); border: 1px solid var(--line); color: var(--text);
}
.tag-list a:hover { border-color: var(--silky-royal); color: var(--silky-royal); }

.post-nav { display: flex; justify-content: space-between; gap: 16px; margin-block-start: 40px; padding-block-start: 24px; border-top: 1px solid var(--line); }
.post-nav a { font-family: var(--font-display); font-weight: 600; }
.post-nav-next { margin-inline-start: auto; text-align: end; }

/* FAQ details pattern */
.silky-faq { border: 1px solid var(--line); border-radius: var(--radius-m); margin-block-end: 12px; background: var(--silky-paper); overflow: hidden; }
.silky-faq summary {
	cursor: pointer; padding: 17px 20px; font-family: var(--font-display); font-weight: 600;
	list-style: none; position: relative; padding-inline-end: 46px;
}
.silky-faq summary::-webkit-details-marker { display: none; }
.silky-faq summary::after {
	content: ""; position: absolute; inset-inline-end: 20px; top: 50%;
	width: 9px; height: 9px; border-inline-end: 2px solid var(--silky-royal); border-block-end: 2px solid var(--silky-royal);
	transform: translateY(-65%) rotate(45deg); transition: transform var(--speed) var(--ease);
}
.silky-faq[open] summary::after { transform: translateY(-35%) rotate(225deg); }
.silky-faq[open] summary { color: var(--silky-royal); }
.silky-faq > :not(summary) { padding: 0 20px 18px; }

/* Pagination */
.pagination, .nav-links { display: flex; gap: 8px; justify-content: center; margin-block-start: 42px; flex-wrap: wrap; }
.page-numbers {
	display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding-inline: 12px;
	border: 1.5px solid var(--line-strong); border-radius: var(--radius-s);
	font-family: var(--font-display); font-weight: 600; color: var(--text);
}
.page-numbers.current { background: var(--silky-royal); border-color: var(--silky-royal); color: #fff; }
a.page-numbers:hover { border-color: var(--silky-royal); color: var(--silky-royal); }

/* Widgets */
.widget { background: var(--silky-cloud); border: 1px solid var(--line); border-radius: var(--radius-m); padding: 22px; margin-block-end: 20px; }
.widget-title { font-size: 1.02rem; margin-block-end: 14px; }
.widget ul { list-style: none; margin: 0; padding: 0; }
.widget li { padding-block: 6px; border-bottom: 1px dashed var(--line); }
.widget li:last-child { border: 0; }

/* Search form */
.search-form { display: flex; gap: 8px; max-width: 440px; }
.search-field {
	flex: 1; padding: 12px 16px; border: 1.5px solid var(--line-strong);
	border-radius: var(--radius-pill); font: inherit;
}
.search-field:focus { outline: none; border-color: var(--silky-royal); box-shadow: 0 0 0 4px rgba(2, 29, 165, .12); }
.search-submit {
	flex: none; width: 48px; height: 48px; border-radius: 50%; border: 0;
	background: var(--silky-royal); color: #fff; display: grid; place-items: center;
	transition: background var(--speed) var(--ease);
}
.search-submit:hover { background: var(--silky-royal-bright); }

/* Comments */
.comments-area { margin-block-start: 52px; padding-block-start: 34px; border-top: 1px solid var(--line); }
.comment-list { list-style: none; margin: 0 0 30px; padding: 0; }
.comment-list .comment { padding: 18px 0; border-bottom: 1px solid var(--line); }
.comment-list .children { list-style: none; margin-inline-start: 28px; padding: 0; }
.comment-list .avatar { border-radius: 50%; }
.comment-meta { font-size: .86rem; color: var(--text-soft); }
.reply a { font-size: .85rem; font-weight: 600; }

/* 404 */
.error-404 { text-align: center; padding-block: clamp(64px, 11vw, 130px); }
.error-code {
	font-family: var(--font-display); font-weight: 700; font-size: clamp(5rem, 16vw, 9.5rem);
	line-height: 1; background: var(--aurora);
	-webkit-background-clip: text; background-clip: text; color: transparent;
	display: block;
}
.error-404 .page-title { color: var(--silky-ink); }
.error-404 .page-sub { color: var(--text-soft); margin-inline: auto; }
.error-actions { display: flex; flex-direction: column; align-items: center; gap: 22px; margin-block-start: 30px; }

.no-results { padding-block: 30px; }

/* ------------------------------------------------------------------
   21. Footer
------------------------------------------------------------------ */
.site-footer { background: linear-gradient(180deg, var(--silky-royal) 0%, #031A8C 100%); color: #D5DEF7; margin-block-start: 0; }
.footer-stream { line-height: 0; background: var(--silky-paper); }
.footer-stream svg { width: 100%; height: 60px; display: block; background: var(--silky-royal); }

.footer-grid {
	display: grid; gap: clamp(28px, 4vw, 54px);
	grid-template-columns: minmax(240px, 1.3fr) repeat(auto-fit, minmax(150px, 1fr));
	padding-block: clamp(44px, 7vw, 72px) clamp(30px, 5vw, 50px);
}
@media (max-width: 760px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .footer-grid { grid-template-columns: 1fr; } }

.footer-about p { font-size: .94rem; max-width: 320px; }
.footer-about .site-wordmark, .footer-about .site-wordmark .wordmark-main { color: #fff; }
.footer-about img { max-height: 44px; width: auto; margin-block-end: 14px; }

.footer-contact { list-style: none; margin: 18px 0; padding: 0; display: grid; gap: 9px; font-size: .9rem; }
.footer-contact li { display: flex; gap: 9px; align-items: flex-start; }
.footer-contact .ic { color: var(--silky-mint); margin-block-start: 3px; }
.footer-contact a { color: #B9C6EA; }
.footer-contact a:hover { color: var(--silky-mint); }
.footer-contact .ph-label { color: var(--silky-mint); font-weight: 600; }

.footer-social { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; }
.footer-social a {
	width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center;
	background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); color: #DDE6FB;
	transition: all var(--speed) var(--ease);
}
.footer-social a:hover { background: var(--silky-mint); border-color: var(--silky-mint); color: var(--silky-ink); transform: translateY(-3px); }

.footer-title { color: #fff; font-size: .92rem; letter-spacing: .1em; text-transform: uppercase; margin-block-end: 16px; }
.footer-menu ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.footer-menu a { color: #B9C6EA; font-size: .94rem; }
.footer-menu a:hover { color: var(--silky-mint); }

.footer-legal { border-top: 1px solid rgba(255, 255, 255, .09); }
.footer-legal-inner { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding-block: 18px; font-size: .85rem; }
.footer-legal p { margin: 0; color: #8FA1D6; }
.legal-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 20px; flex-wrap: wrap; }
.legal-menu a { color: #8FA1D6; }
.legal-menu a:hover { color: var(--silky-mint); }

/* WhatsApp float */
.wa-float {
	position: fixed; inset-inline-end: 22px; bottom: 22px; z-index: 70;
	width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center;
	background: #25D366; color: #fff; box-shadow: 0 12px 30px rgba(37, 211, 102, .45);
	transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease);
}
.wa-float:hover { transform: translateY(-4px) scale(1.05); color: #fff; box-shadow: 0 18px 40px rgba(37, 211, 102, .55); }

/* Admin hint shown only to logged in editors */
.admin-hint { background: #FFF6E5; border: 1px dashed #E8B931; border-radius: var(--radius-m); padding: 16px 18px; font-size: .92rem; }

/* ------------------------------------------------------------------
   22. Gutenberg alignment + misc blocks
------------------------------------------------------------------ */
.alignfull { width: 100vw; max-width: 100vw; margin-inline: calc(50% - 50vw); }
.alignwide { width: min(var(--wrap), 100%); margin-inline: auto; }
.wp-block-button__link { border-radius: var(--radius-pill); font-family: var(--font-display); font-weight: 600; }
.wp-block-quote { border-inline-start: 4px solid var(--silky-mint); }

/* ------------------------------------------------------------------
   23. Motion safety
------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.reveal { opacity: 1; transform: none; }
	.console-feed li { opacity: 1; transform: none; }
	.console { transform: none; }
	.marquee-track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; }
}

/* Print */
@media print {
	.topbar, .site-header, .wa-float, .site-footer, .hero-aurora, .hero-grid-bg { display: none !important; }
	body { color: #000; }
}

/* ------------------------------------------------------------------
   OS lines section, built-in product visuals
------------------------------------------------------------------ */
.os-lines-section { background: linear-gradient(180deg, #FFFFFF 0%, var(--silky-cloud) 100%); }
.os-lines-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.os-card {
	background: rgba(255, 255, 255, .92);
	border: 1px solid var(--line);
	border-radius: var(--radius-l);
	overflow: hidden;
	box-shadow: var(--shadow-s);
	transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease), border-color var(--speed) var(--ease);
}
.os-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-m); border-color: rgba(2, 29, 165, .22); }
.os-media { display: block; background: var(--silky-cloud); border-block-end: 1px solid var(--line); }
.os-media img { width: 100%; aspect-ratio: 16 / 10.5; object-fit: cover; }
.os-body { padding: 20px; }
.os-area { display: block; margin-block-end: 8px; color: var(--silky-royal); font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; }
.os-metrics { display: flex; gap: 7px; flex-wrap: wrap; margin-block-start: 15px; }
.os-metrics span { padding: 5px 10px; border-radius: var(--radius-pill); background: rgba(2, 29, 165, .07); color: var(--silky-royal); font-size: .78rem; font-weight: 700; }

@media (max-width: 1180px) { .os-lines-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .os-lines-grid { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------------
   18. Profile-grade rebuilt homepage
------------------------------------------------------------------ */
.silky-profile-home {
	background: #fff;
}
.profile-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(70px, 10vw, 132px);
	background: radial-gradient(circle at 78% 12%, rgba(17, 227, 171, .24), transparent 34%), linear-gradient(135deg, #02091f 0%, #04164b 48%, #021da5 100%);
	color: #fff;
}
.profile-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(2, 9, 31, .95), rgba(2, 9, 31, .64), rgba(2, 29, 165, .08));
	z-index: 0;
}
.profile-hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(360px, .78fr);
	gap: clamp(30px, 6vw, 84px);
	align-items: center;
}
.profile-kicker,
.profile-kicker-small {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	font: 700 .78rem/1 var(--font-display);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--silky-mint);
}
.profile-hero h1 {
	max-width: 900px;
	margin: 0;
	font-size: clamp(3.1rem, 7vw, 6.6rem);
	line-height: .92;
	letter-spacing: -.055em;
	color: #fff;
}
.profile-lead {
	max-width: 760px;
	margin: 28px 0 0;
	font-size: clamp(1.08rem, 1.7vw, 1.32rem);
	line-height: 1.62;
	color: rgba(255, 255, 255, .82);
}
.profile-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-block-start: 34px;
}
.btn-ghost-light {
	background: rgba(255, 255, 255, .08);
	color: #fff;
	border-color: rgba(255, 255, 255, .34);
	backdrop-filter: blur(12px);
}
.btn-ghost-light:hover { color: #fff; background: rgba(255, 255, 255, .15); }
.profile-proof-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-block-start: 28px;
}
.profile-proof-strip span {
	border: 1px solid rgba(255, 255, 255, .22);
	background: rgba(255, 255, 255, .08);
	color: rgba(255, 255, 255, .86);
	border-radius: 999px;
	padding: 7px 12px;
	font-size: .88rem;
}
.profile-hero-art {
	position: relative;
	min-height: 520px;
	border-radius: 34px;
	overflow: hidden;
	box-shadow: 0 30px 95px rgba(0, 0, 0, .38);
	border: 1px solid rgba(255, 255, 255, .18);
}
.profile-hero-art img {
	width: 100%;
	height: 100%;
	min-height: 520px;
	object-fit: cover;
}
.hero-glass-card {
	position: absolute;
	inset-inline: 22px;
	bottom: 22px;
	padding: 20px;
	border-radius: 22px;
	background: rgba(3, 15, 52, .74);
	border: 1px solid rgba(255, 255, 255, .18);
	backdrop-filter: blur(18px);
	color: #fff;
}
.hero-glass-card span { color: var(--silky-mint); font: 700 .78rem var(--font-display); text-transform: uppercase; letter-spacing: .11em; }
.hero-glass-card strong { display: block; margin-block-start: 8px; font-size: 1.08rem; line-height: 1.45; }
.profile-proof { background: #f8fbff; }
.proof-split {
	display: grid;
	grid-template-columns: .72fr 1.2fr;
	gap: clamp(28px, 6vw, 72px);
	align-items: center;
}
.proof-image-stack {
	display: grid;
	gap: 18px;
}
.proof-image-stack figure,
.ai-profile-image,
.regional-map,
.os-profile-media {
	margin: 0;
	border-radius: 26px;
	overflow: hidden;
	box-shadow: var(--shadow-m);
	border: 1px solid var(--line);
	background: #fff;
}
.proof-image-stack img,
.ai-profile-image img,
.regional-map img,
.os-profile-media img { width: 100%; height: 100%; object-fit: cover; }
.profile-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.profile-card,
.feature-mini,
.evidence-card,
.rollout-card,
.security-card {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 24px;
	padding: clamp(20px, 2.8vw, 30px);
	box-shadow: var(--shadow-s);
}
.profile-card {
	min-height: 218px;
	position: relative;
}
.profile-card::before,
.feature-mini::before,
.security-card::before {
	content: "";
	display: block;
	width: 38px;
	height: 5px;
	border-radius: 999px;
	background: var(--silky-signal);
	margin-block-end: 34px;
}
.profile-index,
.feature-num {
	display: block;
	font: 700 1.45rem/1 var(--font-display);
	color: var(--silky-royal);
	margin-block-end: 14px;
}
.profile-card h3,
.feature-mini h3,
.evidence-card h3,
.rollout-card h3,
.security-card h3,
.agent-row h3,
.os-profile-card h3,
.foundation-row h3 { font-size: 1.12rem; margin: 0 0 10px; }
.profile-card p,
.feature-mini p,
.security-card p,
.rollout-card p,
.agent-row p,
.os-profile-card p,
.foundation-row p { color: var(--text-soft); margin: 0; }
.foundation-section {
	background: linear-gradient(90deg, #fff 0%, #fff 58%, var(--silky-royal) 58%, var(--silky-royal) 100%);
}
.foundation-grid {
	display: grid;
	grid-template-columns: .82fr 1.18fr;
	gap: clamp(30px, 7vw, 86px);
	align-items: center;
}
.foundation-title {
	background: var(--silky-royal);
	color: #fff;
	border-radius: 34px;
	padding: clamp(30px, 5vw, 56px);
	box-shadow: var(--shadow-l);
}
.foundation-title .section-title { color: #fff; }
.foundation-title .section-intro { color: rgba(255, 255, 255, .76); }
.foundation-list { display: grid; gap: 20px; }
.foundation-row {
	display: grid;
	grid-template-columns: 82px 1fr;
	gap: 24px;
	align-items: start;
	padding: 26px 0;
	border-bottom: 1px solid var(--line);
}
.foundation-row span {
	font: 500 2rem/1 var(--font-display);
	color: var(--silky-royal);
}
.os-profile-section { background: #f8fbff; }
.os-profile-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}
.os-profile-card {
	display: grid;
	grid-template-rows: auto 1fr;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 30px;
	overflow: hidden;
	box-shadow: var(--shadow-m);
}
.os-profile-card:first-child {
	grid-column: span 2;
	grid-template-columns: 1.08fr .92fr;
	grid-template-rows: auto;
}
.os-profile-card:first-child .os-profile-media { border-radius: 0; border: 0; box-shadow: none; }
.os-profile-card:first-child .os-profile-body { padding: clamp(30px, 5vw, 58px); }
.os-profile-media { border-radius: 0; border: 0; box-shadow: none; aspect-ratio: 16 / 9; }
.os-profile-body { padding: 26px; }
.os-outcome-tag {
	display: inline-flex;
	margin: 20px 0 18px;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(17, 227, 171, .12);
	color: var(--silky-royal);
	font-weight: 700;
	font-size: .84rem;
}
.feature-matrix {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
.feature-mini {
	min-height: 258px;
	position: relative;
}
.feature-mini .card-icon { color: var(--silky-royal); margin-block-end: 12px; }
.feature-mini small {
	display: inline-block;
	margin-block-start: 16px;
	font-weight: 700;
	color: var(--silky-royal);
}
.feature-mini::before { background: var(--silky-mint); margin-block-end: 18px; }
.ai-profile-section {
	background: linear-gradient(135deg, #02091f, #061b61 58%, #021da5);
	color: #fff;
}
.ai-profile-section .section-title,
.ai-profile-section .agent-row h3 { color: #fff; }
.ai-profile-section .section-intro,
.ai-profile-section .agent-row p { color: rgba(255,255,255,.72); }
.ai-profile-grid {
	display: grid;
	grid-template-columns: 1fr .72fr;
	gap: clamp(32px, 6vw, 76px);
	align-items: center;
}
.agent-list { display: grid; gap: 0; margin-block-start: 24px; }
.agent-row {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 18px;
	padding: 18px 0;
	border-bottom: 1px solid rgba(255,255,255,.18);
}
.agent-row span {
	font: 500 2.1rem/1 var(--font-display);
	color: var(--silky-mint);
}
.ai-profile-image { border-color: rgba(255,255,255,.16); box-shadow: 0 28px 70px rgba(0,0,0,.28); }
.evidence-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.evidence-card strong {
	display: block;
	font: 800 clamp(2.4rem, 4vw, 4rem)/1 var(--font-display);
	letter-spacing: -.045em;
	color: var(--silky-royal);
}
.evidence-card span { display: block; margin-block-start: 12px; font-weight: 700; }
.evidence-card small {
	display: block;
	margin-block-start: 20px;
	font: 700 .73rem/1 var(--font-display);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--silky-teal);
}
.rollout-section { background: #f8fbff; }
.rollout-timeline {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}
.rollout-card { min-height: 310px; display: flex; flex-direction: column; }
.rollout-step {
	font: 500 3rem/1 var(--font-display);
	color: var(--silky-royal);
	margin-block-end: 24px;
}
.rollout-card small {
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--silky-teal);
}
.rollout-card b {
	margin-block-start: auto;
	padding-block-start: 18px;
	border-top: 1px solid var(--line);
	color: var(--silky-royal);
}
.security-grid {
	display: grid;
	grid-template-columns: .72fr 1.28fr;
	gap: clamp(30px, 6vw, 72px);
	align-items: start;
}
.security-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}
.security-card::before { background: var(--silky-mint); margin-block-end: 24px; }
.regional-section {
	background: #02091f;
	color: #fff;
}
.regional-section .section-title { color: #fff; }
.regional-section .section-intro { color: rgba(255,255,255,.74); }
.regional-grid {
	display: grid;
	grid-template-columns: .86fr 1.14fr;
	gap: clamp(28px, 5vw, 64px);
	align-items: center;
}
.contact-lines {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 28px 0;
}
.contact-lines a {
	color: #fff;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	padding: 10px 14px;
	background: rgba(255,255,255,.08);
}
.office-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}
.office-grid div {
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 18px;
	padding: 16px;
	background: rgba(255,255,255,.06);
}
.office-grid strong,
.office-grid span,
.office-grid small { display: block; }
.office-grid strong { color: var(--silky-mint); }
.office-grid span { color: rgba(255,255,255,.76); margin-block: 5px; }
.office-grid small { color: rgba(255,255,255,.68); }
.regional-map { border-color: rgba(255,255,255,.12); box-shadow: 0 28px 70px rgba(0,0,0,.36); }

/* Solution detail pages */
.solution-profile-hero {
	background: radial-gradient(circle at 80% 15%, rgba(17, 227, 171, .2), transparent 34%), linear-gradient(135deg, #02091f, #061b61 58%, #021da5);
	color: #fff;
	padding-block: clamp(62px, 9vw, 112px);
}
.solution-profile-hero .page-title { color: #fff; font-size: clamp(2.8rem, 6vw, 5.4rem); line-height: .95; }
.solution-profile-hero .page-sub { color: rgba(255,255,255,.78); max-width: 780px; }
.solution-hero-grid { display: grid; grid-template-columns: .94fr 1.06fr; gap: clamp(28px, 5vw, 64px); align-items: center; }
.solution-hero-image { margin: 0; border-radius: 28px; overflow: hidden; box-shadow: 0 28px 75px rgba(0,0,0,.34); border: 1px solid rgba(255,255,255,.16); }
.solution-section-grid { display: grid; grid-template-columns: .86fr 1.14fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
.solution-list-card { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 28px; box-shadow: var(--shadow-s); }
.solution-list-card ul { margin: 0; padding-inline-start: 1.1em; color: var(--text-soft); }
.solution-list-card li + li { margin-block-start: 10px; }
.solution-module-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-block-start: 18px; }
.solution-module-pills span { padding: 8px 11px; border-radius: 999px; background: var(--silky-cloud); color: var(--silky-royal); font-weight: 700; font-size: .86rem; }
.solution-ai-band { background: var(--silky-cloud); }
.solution-ai-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.solution-ai-grid article { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 24px; }

@media (max-width: 1080px) {
	.profile-hero-grid,
	.proof-split,
	.foundation-grid,
	.ai-profile-grid,
	.security-grid,
	.regional-grid,
	.solution-hero-grid,
	.solution-section-grid { grid-template-columns: 1fr; }
	.foundation-section { background: #fff; }
	.os-profile-card:first-child { grid-column: auto; grid-template-columns: 1fr; }
	.feature-matrix { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rollout-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
	.profile-card-grid,
	.os-profile-grid,
	.evidence-grid,
	.security-cards,
	.office-grid,
	.solution-ai-grid { grid-template-columns: 1fr; }
	.feature-matrix,
	.rollout-timeline { grid-template-columns: 1fr; }
	.profile-hero-art,
	.profile-hero-art img { min-height: 360px; }
	.profile-hero h1 { font-size: clamp(2.6rem, 17vw, 4rem); }
	.foundation-row { grid-template-columns: 54px 1fr; }
}
