/*
Theme Name: SNOE
Author: SNOE Technologies, Inc.
Description: Website theme for SNOE Technologies: governed agentic AI that predicts which production lines a supply network disruption will hit and ranks approved responses. Activating it creates the Platform, How it works, Governance, Industries, Whitepaper and Contact pages, each with its own editable template, linked from the header menu.
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Version: 4.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: snoe
*/

/* Rules are prefixed with "body" so they win over WordPress's own layout and block styles. */

:root {
	--snoe-bg: #08051c;
	--snoe-bg2: #0e0930;
	--snoe-panel: rgba(255, 255, 255, .045);
	--snoe-line: rgba(196, 170, 255, .18);
	--snoe-text: #f4f1ff;
	--snoe-muted: #b9b1d8;
	--snoe-dim: #8e86b0;
	--snoe-violet2: #b26bff;
	--snoe-lav: #cdb2ff;
	--snoe-cyan: #6fd8ff;
	--snoe-ok: #5ee6b0;
	--snoe-warn: #ffb86b;
	--snoe-radius: 18px;
	--snoe-max: 1240px;
	--snoe-display: "Space Grotesk", Inter, "Segoe UI", sans-serif;
	--snoe-top: var(--wp-admin--admin-bar--height, 0px);
	color-scheme: dark;
}

html { scroll-behavior: smooth; }
body { background: var(--snoe-bg); color: var(--snoe-text); -webkit-font-smoothing: antialiased; }
body a { color: inherit; text-decoration: none; }
body :where(h1, h2, h3, p) { margin: 0; }

body .snoe-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--snoe-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: 32px;
	padding-right: 32px;
}

/* ---------- Shared ---------- */
body .snoe-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--snoe-lav);
}
body .snoe-eyebrow::before { content: ""; width: 28px; height: 1px; background: linear-gradient(90deg, var(--snoe-violet2), transparent); }
body .snoe-grad {
	background: linear-gradient(92deg, #fff 0%, #d9c4ff 45%, var(--snoe-cyan) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

body .wp-block-buttons.snoe-actions { display: flex; flex-wrap: wrap; gap: 14px; }
body .wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 24px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.3;
	color: #fff;
	background: linear-gradient(90deg, #7c4dff, #b45cff);
	border: 0;
	box-shadow: 0 12px 36px rgba(124, 77, 255, .4);
	transition: transform .2s, box-shadow .2s, background .2s;
}
body .wp-block-button .wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 16px 44px rgba(124, 77, 255, .55); }
body .wp-block-button.is-style-outline .wp-block-button__link {
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(205, 178, 255, .45);
	box-shadow: none;
	backdrop-filter: blur(6px);
}
body .wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .1); }
body .wp-block-button__link:focus-visible { outline: 2px solid var(--snoe-cyan); outline-offset: 3px; }

/* ---------- Header ---------- */
body .snoe-nav {
	position: fixed;
	top: var(--snoe-top);
	left: 0;
	right: 0;
	z-index: 50;
	border-bottom: 1px solid transparent;
	transition: background .3s, border-color .3s;
}
/* No backdrop-filter here: it would trap the full-screen mobile menu inside the header bar. */
body .snoe-nav.is-scrolled { background: rgba(8, 5, 28, .95); border-color: var(--snoe-line); }
body .snoe-nav-inner { height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
body .snoe-brand { display: flex; align-items: center; gap: 12px; font-family: var(--snoe-display); font-weight: 700; letter-spacing: .14em; font-size: 18px; line-height: 1.1; }
body .snoe-brand small { display: block; font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .32em; color: var(--snoe-lav); margin-top: 4px; }
body .snoe-nav-right { display: flex; align-items: center; gap: 30px; }
body .snoe-menu { font-size: 14.5px; color: #e4defa; }
body .snoe-menu .wp-block-navigation__container { gap: 26px; }
body .snoe-menu .wp-block-navigation-item__content { position: relative; opacity: .82; padding: 6px 0; transition: opacity .2s, color .2s; }
body .snoe-menu .wp-block-navigation-item__content:hover,
body .snoe-menu .wp-block-navigation-item__content:focus-visible { opacity: 1; }
body .snoe-menu .current-menu-item > .wp-block-navigation-item__content { opacity: 1; color: var(--snoe-text); }
body .snoe-menu .current-menu-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--snoe-violet2), var(--snoe-cyan));
}
body .snoe-nav-cta .wp-block-button__link { padding: 10px 18px; font-size: 14px; }

/* Menu button and full-screen menu (WordPress's own overlay, restyled) */
body .snoe-menu .wp-block-navigation__responsive-container-open {
	padding: 8px;
	border: 1px solid rgba(205, 178, 255, .35);
	border-radius: 12px;
	color: var(--snoe-text);
	background: rgba(255, 255, 255, .04);
}
body .snoe-menu .wp-block-navigation__responsive-container.is-menu-open {
	padding: calc(24px + var(--snoe-top)) 28px 40px;
	background:
		radial-gradient(80% 60% at 100% 0%, rgba(139, 92, 246, .28), transparent 60%),
		var(--snoe-bg) !important;
}
body .snoe-menu .is-menu-open .wp-block-navigation__responsive-container-close { color: var(--snoe-text); }
body .snoe-menu .is-menu-open .wp-block-navigation__container { gap: 6px; }
body .snoe-menu .is-menu-open .wp-block-navigation-item__content { font: 600 28px/1.25 var(--snoe-display); letter-spacing: -.02em; padding: 8px 0; opacity: .9; }
body .snoe-menu .is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: var(--snoe-lav); }
body .snoe-menu .is-menu-open .current-menu-item > .wp-block-navigation-item__content::after { display: none; }

/* ---------- Hero ---------- */
body .snoe-hero {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(8, 5, 28, .97) 0%, rgba(10, 6, 34, .86) 30%, rgba(12, 6, 40, .35) 58%, rgba(8, 5, 28, .05) 100%),
		url("assets/images/snoe-hero.jpg") 65% center / cover no-repeat;
}
body .snoe-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 30%; background: linear-gradient(transparent, var(--snoe-bg)); pointer-events: none; }
body .snoe-hero-body { position: relative; z-index: 2; padding-top: 104px; padding-bottom: 28px; }
body .snoe-hero-copy { max-width: 660px; }
body .snoe-hero .snoe-h1 { font-size: clamp(42px, 4.9vw, 72px); line-height: 1.02; margin: 20px 0 22px; text-wrap: balance; }
body .snoe-lede { font-size: clamp(17px, 1.4vw, 19.5px); color: #ddd6f3; max-width: 580px; margin: 0 0 34px; }
body .snoe-guard { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 30px; font-size: 13.5px; color: var(--snoe-muted); }
body .snoe-guard span { display: inline-flex; align-items: center; gap: 8px; }
body .snoe-guard svg { flex: none; color: var(--snoe-ok); }

body .snoe-signal {
	position: absolute;
	z-index: 3;
	right: max(32px, calc((100% - var(--snoe-max)) / 2 + 32px));
	bottom: 200px;
	width: 340px;
	box-sizing: border-box;
	padding: 18px 18px 16px;
	border-radius: var(--snoe-radius);
	background: rgba(16, 10, 46, .72);
	border: 1px solid rgba(205, 178, 255, .28);
	backdrop-filter: blur(16px);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
	font-size: 13px;
	line-height: 1.45;
	animation: snoe-rise .9s .3s both ease-out;
}
body .snoe-signal .sig-top { display: flex; justify-content: space-between; align-items: center; color: var(--snoe-dim); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
body .snoe-signal .live { display: inline-flex; align-items: center; gap: 8px; color: var(--snoe-warn); }
body .snoe-signal .live i { width: 8px; height: 8px; border-radius: 50%; background: var(--snoe-warn); animation: snoe-pulse 1.8s infinite; }
body .snoe-signal .sig-title { font: 600 16px/1.3 var(--snoe-display); margin: 10px 0 12px; }
body .snoe-signal .sig-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
body .snoe-signal .sig-meta div { background: rgba(255, 255, 255, .05); border-radius: 10px; padding: 8px 10px; }
body .snoe-signal .sig-meta span { display: block; color: var(--snoe-dim); font-size: 11px; }
body .snoe-signal .sig-meta b { font-size: 14px; }
body .snoe-signal .sig-meta b.hot { color: var(--snoe-warn); }
body .snoe-signal .opts { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
body .snoe-signal .opts li { display: grid; grid-template-columns: 22px 1fr auto; gap: 8px; align-items: center; padding: 8px 10px; border-radius: 10px; border: 1px solid transparent; }
body .snoe-signal .opts li:first-child { border-color: rgba(94, 230, 176, .4); background: rgba(94, 230, 176, .08); }
body .snoe-signal .opts em { font-style: normal; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 700; background: rgba(255, 255, 255, .08); }
body .snoe-signal .opts li:first-child em { background: var(--snoe-ok); color: #06231a; }
body .snoe-signal .opts small { color: var(--snoe-muted); white-space: nowrap; }
body .snoe-signal .sig-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--snoe-line); color: var(--snoe-muted); font-size: 12px; }
body .snoe-signal .sig-foot b { color: var(--snoe-lav); font-weight: 600; }

body .snoe-strip { position: relative; z-index: 3; padding-bottom: 120px; }
body .snoe-strip .snoe-wrap { display: flex; flex-wrap: wrap; gap: 8px 28px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--snoe-dim); font-weight: 600; }
body .snoe-strip b { color: var(--snoe-lav); font-weight: 700; }

@keyframes snoe-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 184, 107, .7); } 70% { box-shadow: 0 0 0 9px rgba(255, 184, 107, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 184, 107, 0); } }
@keyframes snoe-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* ---------- Inner page header ---------- */
body .snoe-page-hero {
	position: relative;
	overflow: hidden;
	padding-top: 164px;
	padding-bottom: 84px;
	background:
		linear-gradient(90deg, rgba(8, 5, 28, .98) 0%, rgba(8, 5, 28, .9) 50%, rgba(8, 5, 28, .55) 100%),
		url("assets/images/snoe-hero.jpg") 75% 35% / cover no-repeat;
}
body .snoe-page-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 55%; background: linear-gradient(transparent, var(--snoe-bg)); pointer-events: none; }
body .snoe-page-hero .snoe-wrap { position: relative; z-index: 1; }
body .snoe-page-h1 { font-size: clamp(38px, 4.4vw, 64px); line-height: 1.04; margin: 18px 0 20px; max-width: 860px; text-wrap: balance; }
body .snoe-page-hero .snoe-intro { max-width: 640px; }
body .snoe-block.snoe-first { padding-top: 56px; }
body .snoe-sub-h { font-size: 18px; letter-spacing: -.01em; color: var(--snoe-lav); margin-top: 52px; }
body .snoe-sub-h + .snoe-shocks { margin-top: 16px; }

/* ---------- Product preview ---------- */
body .snoe-preview { position: relative; z-index: 4; margin-top: -90px; }
body .snoe-shot {
	margin: 0;
	padding: 10px;
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(205, 178, 255, .35), rgba(111, 216, 255, .12));
	box-shadow: 0 40px 120px rgba(80, 40, 200, .45), 0 0 0 1px rgba(205, 178, 255, .2);
}
body .snoe-shot::before {
	content: "SNOE \00B7  What-If Analysis Studio";
	display: block;
	height: 34px;
	line-height: 34px;
	padding-left: 76px;
	border-radius: 12px 12px 0 0;
	border-bottom: 1px solid #dcdaea;
	font-size: 12px;
	color: #7b7795;
	background:
		radial-gradient(circle at 20px 17px, #d3d0e3 5px, transparent 5.5px),
		radial-gradient(circle at 37px 17px, #d3d0e3 5px, transparent 5.5px),
		radial-gradient(circle at 54px 17px, #d3d0e3 5px, transparent 5.5px),
		#ecebf4;
}
body .snoe-shot img { display: block; width: 100%; height: auto; border-radius: 0 0 12px 12px; }
body .snoe-caption { margin-top: 16px; color: var(--snoe-dim); font-size: 13px; }
body .snoe-caption strong { color: var(--snoe-lav); font-weight: 600; }

/* ---------- Stats ---------- */
body .snoe-stats { padding-top: 70px; }
body .snoe-stat-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border: 1px solid var(--snoe-line);
	border-radius: var(--snoe-radius);
	background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02));
	overflow: hidden;
}
body .snoe-stat { padding: 28px 26px; border-right: 1px solid var(--snoe-line); }
body .snoe-stat:last-child { border-right: 0; }
body .snoe-stat b { display: block; font: 700 clamp(30px, 3vw, 42px)/1.05 var(--snoe-display); letter-spacing: -.03em; }
body .snoe-stat p { margin: 10px 0 6px; color: #e2dcf6; font-size: 14.5px; line-height: 1.45; }
body .snoe-stat cite { font-style: normal; color: var(--snoe-dim); font-size: 11.5px; }

/* ---------- Sections ---------- */
body .snoe-block { padding-top: 120px; }
body .snoe-head { max-width: 720px; margin-bottom: 52px; }
body .snoe-h2 { font-size: clamp(32px, 3.6vw, 50px); line-height: 1.08; margin: 16px 0 18px; text-wrap: balance; }
body .snoe-intro { color: var(--snoe-muted); font-size: 18px; }

body .wp-block-columns.snoe-cards,
body .wp-block-columns.snoe-ind,
body .wp-block-columns.snoe-pilot,
body .wp-block-columns.snoe-split { display: grid; margin: 0; }
body .wp-block-columns.snoe-cards { grid-template-columns: repeat(3, 1fr); gap: 20px; }
body .snoe-card { padding: 30px; border-radius: var(--snoe-radius); background: var(--snoe-panel); border: 1px solid var(--snoe-line); transition: border-color .25s, transform .25s; }
body .snoe-card:hover { border-color: rgba(205, 178, 255, .42); transform: translateY(-3px); }
body .snoe-icon { width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(139, 92, 246, .35), rgba(111, 216, 255, .18)); border: 1px solid rgba(205, 178, 255, .3); color: #efe7ff; margin-bottom: 22px; }
body .snoe-card h3 { font-size: 21px; margin-bottom: 10px; }
body .snoe-card p { color: var(--snoe-muted); font-size: 15.5px; }

body .wp-block-columns.snoe-explore { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 0; }
body .snoe-explore .snoe-card { position: relative; display: flex; flex-direction: column; }
body .snoe-more { margin-top: auto; padding-top: 18px; }
body .snoe-card .snoe-more a { color: var(--snoe-lav); font-weight: 600; font-size: 15px; }
body .snoe-explore .snoe-more a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
body .snoe-explore .snoe-card:focus-within { border-color: var(--snoe-cyan); }
body .snoe-card .snoe-actions { margin-top: 22px; }

body .snoe-wp-band {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 44px 48px;
	border-radius: 24px;
	border: 1px solid var(--snoe-line);
	background: radial-gradient(90% 140% at 100% 50%, rgba(139, 92, 246, .3), transparent 60%), linear-gradient(180deg, #120b3a, #0c0726);
}
body .snoe-wp-band-copy { max-width: 640px; }
body .snoe-h3 { font-size: clamp(28px, 3vw, 40px); line-height: 1.1; margin: 14px 0 10px; }
body .snoe-wp-band-copy p:not(.snoe-eyebrow) { color: var(--snoe-muted); font-size: 16px; }
body .snoe-wp-band .snoe-actions { flex: none; }

body .snoe-shocks { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
body .snoe-shocks span { padding: 9px 16px; border-radius: 999px; border: 1px solid var(--snoe-line); background: rgba(255, 255, 255, .03); font-size: 14px; color: #e4defa; }

body .wp-block-columns.snoe-split { grid-template-columns: 1fr 1.05fr; gap: 64px; align-items: center; }
body .snoe-split .snoe-h2 { font-size: clamp(32px, 3.6vw, 48px); }
body .snoe-quote { margin-top: 30px; padding-left: 20px; border-left: 2px solid var(--snoe-violet2); color: #e2dcf6; font-size: 17px; }
body .snoe-resp { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
body .snoe-resp > div { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border-radius: 14px; background: var(--snoe-panel); border: 1px solid var(--snoe-line); }
body .snoe-resp svg { flex: none; color: var(--snoe-cyan); margin-top: 2px; }
body .snoe-resp b { display: block; font-size: 15.5px; margin-bottom: 2px; }
body .snoe-resp span { color: var(--snoe-muted); font-size: 13.5px; line-height: 1.45; }

body .snoe-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; counter-reset: s; position: relative; }
body .snoe-steps::before { content: ""; position: absolute; top: 23px; left: 6%; right: 6%; height: 1px; background: linear-gradient(90deg, transparent, rgba(178, 107, 255, .6), rgba(111, 216, 255, .6), transparent); }
body .snoe-step { position: relative; counter-increment: s; }
body .snoe-step::before { content: counter(s, decimal-leading-zero); display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--snoe-bg2); border: 1px solid rgba(205, 178, 255, .45); font: 700 14px var(--snoe-display); color: var(--snoe-lav); margin-bottom: 20px; position: relative; }
body .snoe-step.human::before { border-color: var(--snoe-ok); color: var(--snoe-ok); }
body .snoe-step h3 { font-size: 19px; margin-bottom: 8px; }
body .snoe-step p { color: var(--snoe-muted); font-size: 14.5px; }

body .snoe-gov { border-radius: 28px; padding: 64px; background: radial-gradient(120% 140% at 100% 0%, rgba(139, 92, 246, .28), transparent 55%), linear-gradient(180deg, #120b3a, #0c0726); border: 1px solid var(--snoe-line); }
body .snoe-gov .wp-block-columns.snoe-split { align-items: start; }
body .snoe-never { margin-top: 28px; padding: 22px 24px; border-radius: 14px; background: rgba(255, 184, 107, .07); border: 1px solid rgba(255, 184, 107, .3); }
body .snoe-never-label { color: var(--snoe-warn); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
body .snoe-never p:not(.snoe-never-label) { margin-top: 8px; color: #eadfd2; font-size: 15px; }
body .snoe-rules { display: grid; gap: 4px; }
body .snoe-rule { display: grid; grid-template-columns: 40px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--snoe-line); }
body .snoe-rule:last-child { border-bottom: 0; }
body .snoe-rule svg { color: var(--snoe-ok); }
body .snoe-rule b { display: block; font-size: 16.5px; margin-bottom: 3px; }
body .snoe-rule span { color: var(--snoe-muted); font-size: 14.5px; }

body .wp-block-columns.snoe-ind { grid-template-columns: repeat(4, 1fr); gap: 16px; }
body .snoe-tile { padding: 24px; border-radius: var(--snoe-radius); background: var(--snoe-panel); border: 1px solid var(--snoe-line); }
body .snoe-tile h3 { font-size: 18px; font-weight: 600; letter-spacing: -.01em; margin-bottom: 6px; }
body .snoe-tile p { color: var(--snoe-muted); font-size: 14px; }
body .wp-block-columns.snoe-pilot { grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 20px; }
body .snoe-pilot-item { padding: 26px; border-radius: var(--snoe-radius); border: 1px dashed rgba(205, 178, 255, .35); }
body .snoe-pilot-num { font: 700 34px/1 var(--snoe-display); color: var(--snoe-lav); margin-bottom: 10px; }
body .snoe-pilot-item p:not(.snoe-pilot-num) { color: var(--snoe-muted); font-size: 14.5px; }
body .snoe-note { color: var(--snoe-dim); font-size: 13px; margin-top: 14px; }

/* ---------- Call to action ---------- */
body .snoe-cta-wrap { margin-top: 120px; }
body .snoe-cta {
	position: relative;
	overflow: hidden;
	border-radius: 28px;
	padding: 80px 64px;
	text-align: center;
	background: linear-gradient(180deg, rgba(8, 5, 28, .55), rgba(8, 5, 28, .85)), url("assets/images/snoe-hero.jpg") center 40% / cover no-repeat;
	border: 1px solid var(--snoe-line);
}
body .snoe-cta .snoe-eyebrow { justify-content: center; }
body .snoe-cta .snoe-h2 { font-size: clamp(32px, 4vw, 54px); line-height: 1.06; max-width: 780px; margin: 18px auto; }
body .snoe-cta .snoe-intro { color: #ddd6f3; max-width: 600px; margin: 0 auto 34px; }
body .snoe-cta .snoe-actions { justify-content: center; }
body .snoe-mail { margin-top: 22px; font-size: 15px; color: var(--snoe-muted); }
body .snoe-mail strong { color: var(--snoe-text); font-weight: 600; }

/* ---------- Footer ---------- */
body .snoe-footer { margin-top: 90px; border-top: 1px solid var(--snoe-line); padding: 44px 0 50px; color: var(--snoe-dim); font-size: 13px; }
body .snoe-footer-links { display: flex; flex-wrap: wrap; gap: 22px; font-size: 13.5px; color: var(--snoe-muted); margin-bottom: 22px; }
body .snoe-footer-links a:hover { color: var(--snoe-text); }

/* ---------- Whitepaper page ---------- */
body .snoe-wp-page {
	padding-top: 150px;
	padding-bottom: 20px;
	background: radial-gradient(90% 70% at 85% 10%, rgba(139, 92, 246, .22), transparent 60%), radial-gradient(60% 50% at 0% 0%, rgba(111, 216, 255, .08), transparent 60%);
}
body .wp-block-columns.snoe-wp-split { display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: start; margin: 0; }
body .snoe-wp-h1 { font-size: clamp(42px, 4.6vw, 68px); line-height: 1.02; margin: 20px 0 22px; text-wrap: balance; }
body .snoe-wp-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 44px; }
body .snoe-wp-meta span { padding: 7px 14px; border-radius: 999px; border: 1px solid var(--snoe-line); background: rgba(255, 255, 255, .04); font-size: 13px; color: #e4defa; }
body .snoe-wp-h2 { font-size: 22px; letter-spacing: -.01em; margin-bottom: 18px; }
body .snoe-wp-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; max-width: 580px; }
body .snoe-wp-list li { display: grid; grid-template-columns: 18px 1fr; gap: 14px; color: var(--snoe-muted); font-size: 15.5px; line-height: 1.55; }
body .snoe-wp-list svg { color: var(--snoe-ok); margin-top: 3px; }
body .snoe-wp-list b { color: var(--snoe-text); font-weight: 600; }

body .snoe-wp-card {
	position: relative;
	padding: 34px;
	border-radius: 24px;
	background: linear-gradient(180deg, rgba(22, 14, 60, .92), rgba(13, 8, 38, .92));
	border: 1px solid rgba(205, 178, 255, .28);
	box-shadow: 0 30px 90px rgba(60, 30, 160, .35);
}
body .snoe-wp-title { font: 700 26px/1.15 var(--snoe-display); letter-spacing: -.02em; margin: 0 0 6px; }
body .snoe-wp-sub { color: var(--snoe-muted); font-size: 15px; margin: 0 0 26px; }
body .snoe-wp-form { display: grid; gap: 18px; }
body .snoe-wp-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
body .snoe-wp-field { display: grid; gap: 7px; min-width: 0; }
body .snoe-wp-field label,
body .snoe-wp-interest legend { font-size: 13.5px; font-weight: 600; color: #e4defa; }
body .snoe-wp-field input {
	box-sizing: border-box;
	width: 100%;
	padding: 12px 14px;
	border-radius: 12px;
	border: 1px solid rgba(205, 178, 255, .28);
	background: rgba(255, 255, 255, .05);
	color: var(--snoe-text);
	font: 15px/1.4 Inter, "Segoe UI", Arial, sans-serif;
	transition: border-color .2s, background .2s;
}
body .snoe-wp-field input:focus { outline: none; border-color: var(--snoe-cyan); background: rgba(255, 255, 255, .08); box-shadow: 0 0 0 3px rgba(111, 216, 255, .18); }
body .snoe-wp-field.has-error input { border-color: #ff8a8a; }
body .snoe-wp-err { color: #ffadad; font-size: 13px; }
body .snoe-wp-interest { margin: 0; padding: 0; border: 0; display: grid; gap: 10px; }
body .snoe-wp-interest legend { padding: 0; margin-bottom: 10px; }
body .snoe-wp-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
body .snoe-wp-check { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; border: 1px solid rgba(205, 178, 255, .28); background: rgba(255, 255, 255, .03); cursor: pointer; font-size: 15px; }
body .snoe-wp-check:has(input:checked) { border-color: var(--snoe-violet2); background: rgba(139, 92, 246, .16); }
body .snoe-wp-check input { width: 18px; height: 18px; margin: 0; accent-color: #9b6bff; }
body .snoe-wp-interest.has-error .snoe-wp-check { border-color: #ff8a8a; }
body .snoe-wp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
body .snoe-wp-submit {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	padding: 15px 24px;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	color: #fff;
	font: 700 15px/1.3 Inter, "Segoe UI", Arial, sans-serif;
	background: linear-gradient(90deg, #7c4dff, #b45cff);
	box-shadow: 0 12px 36px rgba(124, 77, 255, .4);
	transition: transform .2s, box-shadow .2s;
}
body .snoe-wp-submit:hover { transform: translateY(-1px); box-shadow: 0 16px 44px rgba(124, 77, 255, .55); }
body .snoe-wp-submit:focus-visible { outline: 2px solid var(--snoe-cyan); outline-offset: 3px; }
body .snoe-wp-fine { color: var(--snoe-dim); font-size: 12.5px; margin: 0; }
body .snoe-wp-msg { padding: 16px 18px; border-radius: 14px; margin-bottom: 22px; font-size: 15px; }
body .snoe-wp-msg b { display: block; font: 600 18px/1.3 var(--snoe-display); margin-bottom: 4px; }
body .snoe-wp-msg p { margin: 0; color: #e2dcf6; }
body .snoe-wp-msg.is-ok { background: rgba(94, 230, 176, .1); border: 1px solid rgba(94, 230, 176, .4); }
body .snoe-wp-msg.is-ok b { color: var(--snoe-ok); }
body .snoe-wp-msg.is-warn { background: rgba(255, 184, 107, .08); border: 1px solid rgba(255, 184, 107, .35); }
body .snoe-wp-msg.is-warn b { color: var(--snoe-warn); }
body .snoe-wp-download { margin: 0; }

/* ---------- Logo, investors page and whitepaper form additions ---------- */
body .snoe-brand { line-height: 0; flex: none; }
body .snoe-brand img { height: 39px; width: auto; }
body .snoe-hero-actions { margin-top: 30px; }
body .snoe-stat-grid.is-3 { grid-template-columns: repeat(3, 1fr); }
body .snoe-card a:not(.wp-block-button__link) { color: var(--snoe-lav); text-decoration: underline; }
body .snoe-card .snoe-actions { margin-top: 20px; }
body .snoe-card .snoe-mail { margin-top: 16px; font-size: 14px; }
body .snoe-wp-field label .req { color: #ffadad; margin-left: 2px; }
body .snoe-wp-hint { color: var(--snoe-dim); font-size: 13px; }
body .snoe-wp-downloads { display: grid; gap: 10px; }
body .snoe-wp-submit.is-secondary { background: rgba(255, 255, 255, .06); border: 1px solid rgba(205, 178, 255, .45); box-shadow: none; }

/* ---------- Opening hook, comparison, architecture, integration flow, KPIs ---------- */
body .snoe-lede strong { color: #fff; font-weight: 700; }
body .snoe-hook { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
body .snoe-hook-item {
	padding: 34px 32px;
	border-radius: var(--snoe-radius);
	border: 1px solid rgba(205, 178, 255, .3);
	background: radial-gradient(120% 140% at 100% 0%, rgba(139, 92, 246, .22), transparent 60%), linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02));
}
body .snoe-hook-item b { display: block; font: 700 clamp(48px, 6vw, 80px)/1 "Space Grotesk", sans-serif; letter-spacing: -.04em; }
body .snoe-hook-item p { margin: 14px 0 10px; font-size: 17px; line-height: 1.5; color: #e2dcf6; max-width: 520px; }
body .snoe-hook-item cite { font-style: normal; color: var(--snoe-dim); font-size: 12.5px; }
body .snoe-stat p strong { color: var(--snoe-text); font-weight: 600; }

body .snoe-compare-wrap { overflow-x: auto; border-radius: var(--snoe-radius); border: 1px solid var(--snoe-line); }
body .snoe-compare { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 15.5px; }
body .snoe-compare th,
body .snoe-compare td { padding: 18px 22px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--snoe-line); }
body .snoe-compare thead th { font: 600 13px/1.3 Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--snoe-lav); background: rgba(255, 255, 255, .04); }
body .snoe-compare tbody th { font: 600 17px/1.35 "Space Grotesk", sans-serif; color: var(--snoe-text); width: 22%; }
body .snoe-compare td { color: var(--snoe-muted); }
body .snoe-compare td:last-child { color: #efe7ff; background: rgba(139, 92, 246, .1); border-left: 1px solid rgba(205, 178, 255, .25); }
body .snoe-compare tbody tr:last-child > * { border-bottom: 0; }

body .snoe-arch { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
body .snoe-arch-n { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; margin-bottom: 18px; font: 700 14px/1 "Space Grotesk", sans-serif; color: #fff; background: linear-gradient(135deg, var(--snoe-violet2), var(--snoe-cyan)); }

body .snoe-flow-n { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; font: 700 14px/1 "Space Grotesk", sans-serif; color: var(--snoe-lav); border: 1px solid rgba(205, 178, 255, .45); background: var(--snoe-bg2); }
body .snoe-flow .snoe-rule:last-child .snoe-flow-n { color: #06231a; background: var(--snoe-ok); border-color: var(--snoe-ok); }

body .snoe-stat-grid.is-5 { grid-template-columns: repeat(5, 1fr); }

@media (max-width: 1100px) {
	body .snoe-stat-grid.is-5 { grid-template-columns: repeat(3, 1fr); }
	body .snoe-stat-grid.is-5 .snoe-stat:nth-child(3) { border-right: 0; }
	body .snoe-stat-grid.is-5 .snoe-stat:nth-child(-n+3) { border-bottom: 1px solid var(--snoe-line); }
}
@media (max-width: 980px) {
	body .snoe-hook,
	body .snoe-arch { grid-template-columns: 1fr; }
	body .snoe-stat-grid.is-5 { grid-template-columns: 1fr; }
	body .snoe-stat-grid.is-5 .snoe-stat { border-right: 0; border-bottom: 1px solid var(--snoe-line); }
	body .snoe-stat-grid.is-5 .snoe-stat:last-child { border-bottom: 0; }
	body .snoe-hook-item { padding: 26px 22px; }
}

/* ---------- Other pages and posts ---------- */
body .snoe-content-area { padding-top: 140px; padding-bottom: 40px; }
body .snoe-content-area > * + *,
body .snoe-content-area .wp-block-post-content > * + * { margin-top: 1.2em; }
body .snoe-content-area .wp-block-post-title { font-size: clamp(32px, 3.6vw, 50px); }
body .snoe-content-area .wp-block-post-content a { color: var(--snoe-lav); text-decoration: underline; }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
	body .snoe-signal { display: none; }
	body .snoe-hero { background: linear-gradient(90deg, rgba(8, 5, 28, .96) 0%, rgba(10, 6, 34, .82) 45%, rgba(12, 6, 40, .3) 100%), url("assets/images/snoe-hero.jpg") 70% center / cover no-repeat; }
	body .wp-block-columns.snoe-explore { grid-template-columns: 1fr 1fr; }
}
/* Below 1000px the menu collapses into the menu button (WordPress only does this below 600px). */
@media (max-width: 1160px) {
	body .snoe-menu .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	body .snoe-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	body .snoe-nav-right { gap: 14px; }
}
@media (max-width: 980px) {
	body .snoe-wp-band { flex-direction: column; align-items: flex-start; }
	body .snoe-stat-grid { grid-template-columns: 1fr 1fr; }
	body .snoe-stat:nth-child(2) { border-right: 0; }
	body .snoe-stat:nth-child(-n+2) { border-bottom: 1px solid var(--snoe-line); }
	body .wp-block-columns.snoe-cards,
	body .wp-block-columns.snoe-split { grid-template-columns: 1fr; gap: 40px; }
	body .wp-block-columns.snoe-cards { gap: 20px; }
	body .snoe-steps { grid-template-columns: 1fr; gap: 26px; }
	body .snoe-steps::before { top: 0; bottom: 0; left: 23px; right: auto; width: 1px; height: auto; background: linear-gradient(180deg, rgba(178, 107, 255, .6), rgba(111, 216, 255, .6)); }
	body .snoe-step { display: grid; grid-template-columns: 46px 1fr; column-gap: 18px; }
	body .snoe-step::before { margin: 0; grid-row: span 2; }
	body .wp-block-columns.snoe-ind { grid-template-columns: 1fr 1fr; }
	body .wp-block-columns.snoe-pilot { grid-template-columns: 1fr; }
	body .snoe-gov { padding: 44px 32px; }
	body .snoe-cta { padding: 60px 28px; }
	body .wp-block-columns.snoe-wp-split { grid-template-columns: 1fr; gap: 40px; }
	body .snoe-wp-page { padding-top: 120px; }
}
@media (max-width: 640px) {
	body .snoe-wrap { padding-left: 16px; padding-right: 16px; }
	body .snoe-nav-inner { height: 64px; }
	body .snoe-brand { font-size: 16px; }
	body .snoe-hero { background: linear-gradient(180deg, rgba(8, 5, 28, .55) 0%, rgba(8, 5, 28, .82) 45%, rgba(8, 5, 28, .97) 100%), url("assets/images/snoe-hero.jpg") 68% top / cover no-repeat; }
	body .snoe-hero-body { padding-top: 100px; padding-bottom: 60px; }
	body .snoe-actions .wp-block-button { flex: 1 1 100%; }
	body .snoe-actions .wp-block-button__link { width: 100%; justify-content: center; box-sizing: border-box; }
	body .snoe-guard { flex-direction: column; gap: 10px; }
	body .snoe-strip { display: none; }
	body .snoe-preview { margin-top: -20px; }
	body .snoe-shot { padding: 6px; border-radius: 14px; }
	body .snoe-shot::before { content: ""; height: 26px; }
	body .snoe-stat-grid { grid-template-columns: 1fr; }
	body .snoe-stat { border-right: 0; border-bottom: 1px solid var(--snoe-line); }
	body .snoe-stat:last-child { border-bottom: 0; }
	body .snoe-resp,
	body .wp-block-columns.snoe-ind { grid-template-columns: 1fr; }
	body .snoe-block { padding-top: 84px; }
	body .snoe-gov { padding: 34px 20px; border-radius: 22px; }
	body .snoe-cta-wrap { margin-top: 84px; }
	body .snoe-cta { border-radius: 22px; }
	body .snoe-wp-page { padding-top: 100px; }
	body .snoe-wp-card { padding: 24px 18px; border-radius: 20px; }
	body .snoe-wp-row,
	body .snoe-wp-checks { grid-template-columns: 1fr; }
	body .wp-block-columns.snoe-explore { grid-template-columns: 1fr; }
	body .snoe-page-hero { padding-top: 112px; padding-bottom: 48px; }
	body .snoe-wp-band { padding: 28px 20px; border-radius: 20px; }
	body .snoe-wp-band .snoe-actions { width: 100%; }
}
@media (max-width: 980px) {
	body .snoe-stat-grid.is-3 { grid-template-columns: 1fr; }
	body .snoe-stat-grid.is-3 .snoe-stat { border-right: 0; border-bottom: 1px solid var(--snoe-line); }
	body .snoe-stat-grid.is-3 .snoe-stat:last-child { border-bottom: 0; }
}
@media (max-width: 640px) {
	body .snoe-brand img { height: 32px; }
}
@media (max-width: 480px) {
	body .snoe-nav-cta { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	body *, body *::before { animation: none !important; transition: none !important; }
}
