/*
Theme Name: Space Pilot
Theme URI: https://spacepilot.work/
Author: Space Pilot
Author URI: https://spacepilot.work/
Description: Премиальная многоязычная WordPress-тема Space Pilot: пять языков, 25 готовых страниц, умные AI-черновики для Chat Space, SEO, иллюстрации, защищённая форма и адаптивный интерфейс без внешних зависимостей.
Version: 2.1.0
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: spacepilot-work
Tags: custom-logo, custom-menu, featured-images, full-width-template, wide-blocks, block-styles
*/

@font-face {
	font-family: "Space Pilot Noto";
	src: url("assets/fonts/noto-sans-regular.woff") format("woff");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Space Pilot Noto";
	src: url("assets/fonts/noto-sans-bold.woff") format("woff");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: "Space Pilot Rubik";
	src: url("assets/fonts/rubik-regular.woff") format("woff");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Space Pilot Rubik";
	src: url("assets/fonts/rubik-bold.woff") format("woff");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

:root {
	--sp-bg: #061723;
	--sp-bg-deep: #03101a;
	--sp-bg-soft: #082536;
	--sp-surface: #0b2d40;
	--sp-surface-2: #0d354b;
	--sp-card: rgba(10, 43, 61, .76);
	--sp-card-solid: #0a2a3c;
	--sp-line: rgba(139, 205, 232, .16);
	--sp-line-strong: rgba(139, 214, 244, .29);
	--sp-text: #d9edf8;
	--sp-heading: #f4fbff;
	--sp-muted: #88adc0;
	--sp-muted-2: #6f98ad;
	--sp-accent: #65d4ff;
	--sp-accent-rgb: 101, 212, 255;
	--sp-gold: #ffd66b;
	--sp-mint: #53d5b4;
	--sp-danger: #ff8997;
	--sp-radius-sm: 14px;
	--sp-radius: 24px;
	--sp-radius-lg: 36px;
	--sp-shadow: 0 28px 90px rgba(0, 0, 0, .36);
	--sp-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--sp-font-display: Manrope, Inter, "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;
	--sp-shell: 1240px;
	--sp-header: 82px;
}

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

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--sp-header) + 20px);
}

body {
	margin: 0;
	min-width: 320px;
	background:
		radial-gradient(circle at 8% 4%, rgba(35, 145, 189, .13), transparent 28rem),
		radial-gradient(circle at 88% 15%, rgba(111, 84, 206, .11), transparent 30rem),
		var(--sp-bg);
	color: var(--sp-text);
	font-family: var(--sp-font);
	font-size: 16px;
	line-height: 1.68;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Script-aware local font stacks: no CDN request, no layout-blocking font download. */
body.sp-lang-ru,
body.sp-lang-uk {
	--sp-font: "Space Pilot Noto", Manrope, Inter, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;
	--sp-font-display: "Space Pilot Rubik", Manrope, Inter, "SF Pro Display", "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;
}

body.sp-lang-en,
body.sp-lang-es {
	--sp-font: "Space Pilot Noto", "Plus Jakarta Sans", Inter, "Avenir Next", "SF Pro Text", "Segoe UI Variable Text", system-ui, sans-serif;
	--sp-font-display: "Space Pilot Rubik", "Plus Jakarta Sans", Inter, "Avenir Next", "SF Pro Display", "Segoe UI Variable Display", system-ui, sans-serif;
}

body.sp-lang-zh {
	--sp-font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Noto Sans SC", "Source Han Sans SC", system-ui, sans-serif;
	--sp-font-display: "PingFang SC", "Microsoft YaHei UI", "Noto Sans SC", "Source Han Sans SC", system-ui, sans-serif;
	line-height: 1.78;
	word-break: normal;
}

h1,
h2,
h3,
h4,
.sp-wordmark span,
.sp-button { font-family: var(--sp-font-display); }

body.sp-lang-zh h1,
body.sp-lang-zh h2,
body.sp-lang-zh h3,
body.sp-lang-zh .sp-section-heading h2,
body.sp-lang-zh .sp-page-hero h1 { letter-spacing: -.015em; line-height: 1.14; }

body.sp-lang-zh .sp-eyebrow { letter-spacing: .08em; }

body.sp-menu-open { overflow: hidden; }

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

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

button,
a { -webkit-tap-highlight-color: transparent; }

a { color: var(--sp-accent); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: #a7e9ff; }

::selection { background: rgba(var(--sp-accent-rgb), .3); color: #fff; }

:focus-visible {
	outline: 3px solid var(--sp-gold);
	outline-offset: 4px;
	border-radius: 5px;
}

.sp-shell {
	width: min(calc(100% - 44px), var(--sp-shell));
	margin-inline: auto;
}

.sp-icon { width: 1.2em; height: 1.2em; flex: 0 0 auto; }

.sp-main { overflow: clip; }

.sp-section {
	position: relative;
	padding: clamp(76px, 9vw, 136px) 0;
	scroll-margin-top: calc(var(--sp-header) + 18px);
}

.sp-section-heading { margin-bottom: clamp(36px, 5vw, 62px); }
.sp-section-heading h2,
.sp-visual-copy h2,
.sp-followup-copy h2,
.sp-contact-copy h2,
.sp-faq-intro h2,
.sp-enterprise-copy h2 {
	margin: 12px 0 0;
	color: var(--sp-heading);
	font-size: clamp(2.15rem, 4.2vw, 4rem);
	font-weight: 780;
	line-height: 1.05;
	letter-spacing: -.045em;
}

.sp-section-heading p,
.sp-lead {
	color: var(--sp-muted);
	font-size: clamp(1.05rem, 1.6vw, 1.22rem);
	line-height: 1.72;
}

.sp-section-heading--split {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr);
	gap: clamp(30px, 6vw, 88px);
	align-items: end;
}

.sp-section-heading--split p { margin: 0 0 6px; }

.sp-section-heading--center {
	max-width: 850px;
	margin-inline: auto;
	text-align: center;
}

.sp-section-heading--center p { max-width: 700px; margin: 20px auto 0; }

.sp-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--sp-accent);
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .15em;
	line-height: 1.3;
	text-transform: uppercase;
}

.sp-eyebrow::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 18px currentColor;
}

.sp-eyebrow-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.sp-button {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 22px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: .94rem;
	font-weight: 780;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: transform .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease, color .22s ease;
}

.sp-button:hover { transform: translateY(-2px); }
.sp-button .sp-icon { width: 19px; height: 19px; transition: transform .22s ease; }
.sp-button:hover .sp-icon { transform: translateX(3px); }

.sp-button--primary {
	background: linear-gradient(135deg, var(--sp-accent), #79e2ef);
	color: #03202d;
	box-shadow: 0 12px 34px rgba(var(--sp-accent-rgb), .2), inset 0 1px rgba(255, 255, 255, .36);
}
.sp-button--primary:hover { color: #03202d; box-shadow: 0 17px 42px rgba(var(--sp-accent-rgb), .3); }

.sp-button--ghost {
	border-color: var(--sp-line-strong);
	background: rgba(13, 52, 73, .55);
	color: var(--sp-heading);
	box-shadow: inset 0 1px rgba(255, 255, 255, .04);
	backdrop-filter: blur(14px);
}
.sp-button--ghost:hover { border-color: rgba(var(--sp-accent-rgb), .52); background: rgba(20, 68, 91, .72); color: #fff; }
.sp-button--small { min-height: 44px; padding: 10px 17px; font-size: .85rem; }
.sp-button--wide { width: 100%; }
.sp-button:disabled { cursor: wait; opacity: .68; transform: none; }

.sp-text-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
	font-weight: 760;
	text-decoration: none;
}
.sp-text-link .sp-icon { transition: transform .2s ease; }
.sp-text-link:hover .sp-icon { transform: translateX(4px); }

.sp-skip-link {
	position: fixed;
	z-index: 99999;
	top: 8px;
	left: 12px;
	transform: translateY(-150%);
	padding: 10px 16px;
	border-radius: 8px;
	background: var(--sp-gold);
	color: #07151e;
	font-weight: 750;
	transition: transform .18s ease;
}
.sp-skip-link:focus { transform: translateY(0); }

/* Header */
.sp-site-header {
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--sp-header);
	border-bottom: 1px solid transparent;
	transition: height .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

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

.sp-site-header.is-scrolled {
	height: 70px;
	border-bottom-color: var(--sp-line);
	background: rgba(4, 22, 33, .84);
	box-shadow: 0 12px 34px rgba(0, 0, 0, .22);
	backdrop-filter: blur(20px) saturate(140%);
}

.sp-header-inner { display: flex; height: 100%; align-items: center; gap: 28px; }
.sp-brand-wrap { display: flex; min-width: 222px; align-items: center; gap: 11px; }
.sp-brand-icon,
.sp-custom-logo { display: grid; place-items: center; width: 48px; height: 48px; }
.sp-brand-icon img,
.sp-custom-logo img { display: block; width: 48px; height: 48px; object-fit: contain; filter: drop-shadow(0 8px 18px rgba(var(--sp-accent-rgb), .2)); }
.sp-custom-logo .custom-logo-link { display: grid; }
.sp-wordmark { display: flex; flex-direction: column; color: var(--sp-heading); line-height: 1; text-decoration: none; }
.sp-wordmark:hover { color: #fff; }
.sp-wordmark span { font-size: 1.08rem; font-weight: 820; letter-spacing: -.025em; }
.sp-wordmark small { margin-top: 7px; color: var(--sp-muted-2); font-size: .63rem; font-weight: 650; letter-spacing: .065em; text-transform: uppercase; }

.sp-nav { margin-left: auto; }
.sp-nav-list { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.sp-nav-list a { display: flex; min-height: 44px; align-items: center; padding: 10px 13px; border-radius: 999px; color: #a9c6d4; font-size: .84rem; font-weight: 690; text-decoration: none; transition: background-color .18s ease, color .18s ease; }
.sp-nav-list a:hover,
.sp-nav-list .current-menu-item > a { background: rgba(var(--sp-accent-rgb), .08); color: #fff; }
.sp-nav-list ul { display: none; }

.sp-language-switcher { position: relative; flex: 0 0 auto; }
.sp-language-switcher summary {
	display: flex;
	min-width: 74px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid var(--sp-line);
	border-radius: 999px;
	background: rgba(9, 39, 56, .68);
	color: #c8e1ec;
	cursor: pointer;
	font-size: .72rem;
	font-weight: 800;
	list-style: none;
	transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}
.sp-language-switcher summary::-webkit-details-marker { display: none; }
.sp-language-switcher summary:hover,
.sp-language-switcher[open] summary { border-color: rgba(var(--sp-accent-rgb), .38); background: rgba(var(--sp-accent-rgb), .09); color: #fff; }
.sp-language-switcher summary .sp-icon { width: 16px; height: 16px; color: var(--sp-accent); }
.sp-language-switcher summary i { width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .18s ease; }
.sp-language-switcher[open] summary i { transform: translateY(2px) rotate(225deg); }
.sp-language-switcher ul {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	width: 224px;
	margin: 0;
	padding: 8px;
	border: 1px solid var(--sp-line-strong);
	border-radius: 18px;
	background: rgba(5, 27, 40, .97);
	box-shadow: 0 22px 58px rgba(0, 0, 0, .42);
	backdrop-filter: blur(22px) saturate(140%);
	list-style: none;
}
.sp-language-switcher li + li { margin-top: 3px; }
.sp-language-switcher a { display: grid; grid-template-columns: 44px 1fr 18px; align-items: center; gap: 8px; min-height: 43px; padding: 7px 9px; border-radius: 11px; color: #aac7d5; text-decoration: none; }
.sp-language-switcher a:hover,
.sp-language-switcher a[aria-current="page"] { background: rgba(var(--sp-accent-rgb), .09); color: #fff; }
.sp-language-switcher a strong { color: var(--sp-accent); font-size: .66rem; letter-spacing: .06em; }
.sp-language-switcher a span { font-size: .78rem; font-weight: 650; }
.sp-language-switcher a .sp-icon { width: 15px; color: var(--sp-mint); }

.sp-menu-toggle { display: none; min-width: 44px; min-height: 44px; align-items: center; gap: 9px; border: 1px solid var(--sp-line); border-radius: 999px; background: var(--sp-card); color: var(--sp-heading); }
.sp-menu-toggle__label { font-size: .8rem; font-weight: 700; }
.sp-menu-toggle__lines { display: grid; gap: 4px; }
.sp-menu-toggle__lines i { width: 17px; height: 1.5px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.sp-menu-toggle[aria-expanded="true"] .sp-menu-toggle__lines i:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.sp-menu-toggle[aria-expanded="true"] .sp-menu-toggle__lines i:nth-child(2) { opacity: 0; }
.sp-menu-toggle[aria-expanded="true"] .sp-menu-toggle__lines i:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

/* Hero */
.sp-hero {
	position: relative;
	min-height: 920px;
	padding: calc(var(--sp-header) + clamp(74px, 10vw, 130px)) 0 70px;
	background:
		linear-gradient(180deg, rgba(3, 16, 26, .2), var(--sp-bg) 93%),
		radial-gradient(ellipse at 77% 29%, rgba(66, 170, 221, .18), transparent 34%),
		radial-gradient(ellipse at 33% 5%, rgba(112, 86, 210, .11), transparent 36%);
}

.sp-hero::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: min(94vw, 1380px);
	height: 1px;
	transform: translateX(-50%);
	background: linear-gradient(90deg, transparent, var(--sp-line-strong), transparent);
}

.sp-hero-stars,
.sp-hero-stars::before,
.sp-hero-stars::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.sp-hero-stars {
	opacity: .42;
	background-image: radial-gradient(circle, rgba(205, 242, 255, .75) 0 1px, transparent 1.4px);
	background-size: 83px 83px;
	-webkit-mask-image: linear-gradient(to bottom, #000, transparent 78%);
	mask-image: linear-gradient(to bottom, #000, transparent 78%);
}
.sp-hero-stars::before { content: ""; background-image: radial-gradient(circle, rgba(255, 214, 107, .72) 0 1px, transparent 1.7px); background-size: 137px 137px; background-position: 39px 21px; }

.sp-hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(430px, 1.08fr);
	gap: clamp(40px, 6vw, 92px);
	align-items: center;
}

.sp-version-chip,
.sp-one-request {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 10px;
	border: 1px solid rgba(83, 213, 180, .24);
	border-radius: 999px;
	background: rgba(83, 213, 180, .08);
	color: #9be9d5;
	font-size: .68rem;
	font-weight: 780;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.sp-version-chip i { width: 6px; height: 6px; border-radius: 50%; background: var(--sp-mint); box-shadow: 0 0 12px var(--sp-mint); }
.sp-one-request { border-color: rgba(var(--sp-accent-rgb), .22); background: rgba(var(--sp-accent-rgb), .07); color: var(--sp-accent); }
.sp-one-request .sp-icon { width: 14px; height: 14px; }

.sp-hero h1 {
	max-width: 750px;
	margin: 24px 0 28px;
	color: var(--sp-heading);
	font-size: clamp(3.35rem, 6.25vw, 6.15rem);
	font-weight: 810;
	line-height: .94;
	letter-spacing: -.068em;
}
.sp-hero h1 span { display: block; margin-top: .09em; background: linear-gradient(105deg, var(--sp-accent) 8%, #b5f2ff 46%, var(--sp-gold)); color: transparent; -webkit-background-clip: text; background-clip: text; }
.sp-hero-lead { max-width: 650px; margin: 0; color: #9abcca; font-size: clamp(1.08rem, 1.65vw, 1.28rem); line-height: 1.7; }
.sp-hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 34px; }
.sp-hero-proof { display: flex; flex-wrap: wrap; gap: 11px 20px; margin: 29px 0 0; padding: 0; color: #91b0c0; list-style: none; }
.sp-hero-proof li { display: inline-flex; align-items: center; gap: 7px; font-size: .82rem; font-weight: 610; }
.sp-hero-proof .sp-icon { width: 15px; color: var(--sp-mint); }

.sp-hero-visual { position: relative; min-height: 610px; isolation: isolate; }
.sp-hero-visual::before { content: ""; position: absolute; z-index: -2; inset: 9% 4% 4%; border-radius: 50%; background: rgba(var(--sp-accent-rgb), .13); filter: blur(76px); }
.sp-hero-image { position: absolute; z-index: -1; inset: 50% auto auto 50%; width: 112%; max-width: none; transform: translate(-50%, -50%); filter: drop-shadow(0 38px 55px rgba(0, 0, 0, .45)); }
.sp-orbit { position: absolute; z-index: -1; top: 50%; left: 50%; border: 1px solid rgba(var(--sp-accent-rgb), .18); border-radius: 50%; transform: translate(-50%, -50%) rotate(-18deg); }
.sp-orbit--one { width: 88%; aspect-ratio: 1.45; }
.sp-orbit--two { width: 66%; aspect-ratio: 1.1; border-color: rgba(255, 214, 107, .12); transform: translate(-50%, -50%) rotate(28deg); }
.sp-orbit::before { content: ""; position: absolute; top: 12%; left: 18%; width: 7px; height: 7px; border-radius: 50%; background: var(--sp-accent); box-shadow: 0 0 18px var(--sp-accent); }

.sp-float-card {
	position: absolute;
	z-index: 2;
	display: grid;
	grid-template-columns: 38px auto;
	min-width: 174px;
	padding: 11px 14px;
	border: 1px solid rgba(154, 222, 249, .22);
	border-radius: 14px;
	background: rgba(7, 34, 49, .8);
	box-shadow: 0 18px 45px rgba(0, 0, 0, .32), inset 0 1px rgba(255, 255, 255, .05);
	backdrop-filter: blur(16px);
}
.sp-float-card > span { grid-row: 1 / span 2; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: rgba(var(--sp-accent-rgb), .12); color: var(--sp-accent); }
.sp-float-card small { color: var(--sp-muted-2); font-size: .61rem; font-weight: 700; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.sp-float-card strong { color: var(--sp-heading); font-size: .78rem; line-height: 1.35; }
.sp-float-card--route { top: 15%; left: -3%; }
.sp-float-card--context { right: -2%; bottom: 28%; }
.sp-float-card--safe { bottom: 8%; left: 5%; }
.sp-float-card--safe > span { background: rgba(83, 213, 180, .12); color: var(--sp-mint); }

.sp-metric-strip {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: clamp(40px, 6vw, 76px);
	border: 1px solid var(--sp-line);
	border-radius: 22px;
	background: rgba(7, 33, 48, .65);
	box-shadow: 0 20px 54px rgba(0, 0, 0, .15), inset 0 1px rgba(255, 255, 255, .035);
	backdrop-filter: blur(18px);
}
.sp-metric-strip div { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: center; min-height: 98px; padding: 21px 24px; }
.sp-metric-strip div + div { border-left: 1px solid var(--sp-line); }
.sp-metric-strip strong { color: var(--sp-accent); font-size: 2.1rem; line-height: 1; letter-spacing: -.05em; }
.sp-metric-strip span { color: var(--sp-muted); font-size: .76rem; line-height: 1.45; }

/* Intro comparison */
.sp-section--intro { background: linear-gradient(180deg, rgba(11, 46, 65, .28), transparent); }
.sp-compare { display: grid; grid-template-columns: 1fr 54px 1fr; align-items: stretch; }
.sp-compare-card { position: relative; overflow: hidden; padding: clamp(28px, 4vw, 45px); border: 1px solid var(--sp-line); border-radius: var(--sp-radius); background: var(--sp-card); }
.sp-compare-card::after { content: ""; position: absolute; width: 190px; height: 190px; border-radius: 50%; filter: blur(40px); opacity: .11; right: -80px; top: -80px; }
.sp-compare-card--before::after { background: var(--sp-danger); }
.sp-compare-card--after { border-color: rgba(83, 213, 180, .24); background: linear-gradient(145deg, rgba(12, 53, 73, .9), rgba(8, 38, 54, .74)); }
.sp-compare-card--after::after { background: var(--sp-mint); }
.sp-compare-label { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: rgba(255, 137, 151, .09); color: #ffabb5; font-size: .68rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.sp-compare-card--after .sp-compare-label { background: rgba(83, 213, 180, .1); color: #8de4ce; }
.sp-compare-card h3 { margin: 19px 0 20px; color: var(--sp-heading); font-size: clamp(1.4rem, 2vw, 2rem); line-height: 1.15; }
.sp-compare-card ul { display: grid; gap: 12px; margin: 0; padding: 0; color: var(--sp-muted); list-style: none; }
.sp-compare-card li { position: relative; padding-left: 23px; }
.sp-compare-card li::before { content: ""; position: absolute; top: .75em; left: 1px; width: 8px; height: 1px; background: currentColor; }
.sp-compare-card--after li::before { width: 9px; height: 9px; border-radius: 50%; background: var(--sp-mint); box-shadow: 0 0 10px rgba(83, 213, 180, .45); }
.sp-compare-arrow { display: grid; z-index: 2; place-items: center; align-self: center; justify-self: center; width: 58px; height: 58px; margin-inline: -2px; border: 1px solid rgba(var(--sp-accent-rgb), .3); border-radius: 50%; background: var(--sp-bg-soft); color: var(--sp-accent); box-shadow: 0 14px 30px rgba(0,0,0,.25); }

/* Chat Space ecosystem: visible, indexable compatibility content. */
.sp-section--compatibility { overflow: hidden; background: radial-gradient(circle at 75% 50%, rgba(87, 97, 220, .14), transparent 30rem), linear-gradient(180deg, rgba(6, 28, 43, .15), rgba(10, 40, 58, .38), rgba(6, 28, 43, .1)); }
.sp-compatibility-home { display: grid; grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr); gap: clamp(48px, 8vw, 110px); align-items: center; }
.sp-compatibility-home__copy .sp-lead { margin: 22px 0 25px; }
.sp-site-chips { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 30px; }
.sp-site-chips span { display: inline-flex; align-items: center; gap: 8px; min-height: 37px; padding: 7px 12px; border: 1px solid rgba(var(--sp-accent-rgb), .19); border-radius: 999px; background: rgba(7, 36, 53, .72); color: #b9d7e5; font-size: .75rem; font-weight: 680; }
.sp-site-chips i { width: 6px; height: 6px; border-radius: 50%; background: var(--sp-mint); box-shadow: 0 0 10px rgba(83, 213, 180, .58); }
.sp-compatibility-home__visual { position: relative; min-height: 470px; overflow: hidden; border: 1px solid rgba(146, 194, 240, .18); border-radius: 34px; background: radial-gradient(circle at 50% 50%, rgba(var(--sp-accent-rgb), .12), transparent 38%), linear-gradient(145deg, rgba(12, 46, 68, .88), rgba(12, 28, 58, .76)); box-shadow: var(--sp-shadow), inset 0 1px rgba(255, 255, 255, .05); isolation: isolate; }
.sp-compatibility-home__visual::before { content: ""; position: absolute; inset: 8%; border: 1px solid rgba(var(--sp-accent-rgb), .08); border-radius: 50%; }
.sp-compat-orbit i { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(var(--sp-accent-rgb), .12); border-radius: 50%; transform: translate(-50%, -50%); }
.sp-compat-orbit i:nth-child(1) { width: 220px; height: 220px; }
.sp-compat-orbit i:nth-child(2) { width: 340px; height: 340px; }
.sp-compat-orbit i:nth-child(3) { width: 480px; height: 480px; }
.sp-compat-node { position: absolute; z-index: 2; border: 1px solid rgba(151, 212, 239, .22); background: rgba(5, 28, 43, .82); box-shadow: 0 20px 45px rgba(0, 0, 0, .28); backdrop-filter: blur(17px); }
.sp-compat-node--workspace { top: 50%; left: 50%; display: grid; min-width: 225px; padding: 23px 28px; border-radius: 22px; text-align: center; transform: translate(-50%, -65%); }
.sp-compat-node--workspace small { color: var(--sp-muted-2); font-size: .62rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.sp-compat-node--workspace strong { margin-top: 5px; color: var(--sp-heading); font-size: 1.45rem; letter-spacing: -.035em; }
.sp-compat-node--workspace span { color: var(--sp-accent); font-size: .68rem; }
.sp-compat-node--pilot { right: 8%; bottom: 10%; display: flex; align-items: center; gap: 12px; padding: 14px 17px; border-color: rgba(83, 213, 180, .25); border-radius: 17px; }
.sp-compat-node--pilot > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: rgba(83, 213, 180, .11); color: var(--sp-mint); }
.sp-compat-node--pilot small,
.sp-compat-node--pilot strong { display: block; }
.sp-compat-node--pilot small { color: var(--sp-muted-2); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.sp-compat-node--pilot strong { color: var(--sp-heading); font-size: .78rem; }
.sp-compat-badge { position: absolute; z-index: 2; padding: 9px 12px; border: 1px solid rgba(var(--sp-accent-rgb), .18); border-radius: 999px; background: rgba(7, 31, 47, .82); color: #a9cedd; font-size: .67rem; font-weight: 700; box-shadow: 0 12px 28px rgba(0, 0, 0, .22); }
.sp-compat-badge--one { top: 12%; left: 8%; }
.sp-compat-badge--two { top: 19%; right: 7%; }
.sp-compat-badge--three { bottom: 15%; left: 10%; }

/* Steps and features */
.sp-steps { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; }
.sp-steps::before { content: ""; position: absolute; top: 59px; left: 10%; right: 10%; height: 1px; background: linear-gradient(90deg, transparent, rgba(var(--sp-accent-rgb), .32), transparent); }
.sp-steps li { position: relative; padding: 26px; border: 1px solid var(--sp-line); border-radius: 20px; background: rgba(8, 38, 54, .62); }
.sp-step-number { position: absolute; top: 18px; right: 20px; color: rgba(157, 205, 226, .28); font-size: .74rem; font-weight: 800; letter-spacing: .08em; }
.sp-step-icon { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid rgba(var(--sp-accent-rgb), .24); border-radius: 17px; background: linear-gradient(145deg, rgba(var(--sp-accent-rgb), .16), rgba(var(--sp-accent-rgb), .04)); color: var(--sp-accent); box-shadow: 0 12px 28px rgba(0,0,0,.18); }
.sp-step-icon .sp-icon { width: 24px; height: 24px; }
.sp-steps h3 { margin: 25px 0 11px; color: var(--sp-heading); font-size: 1.15rem; }
.sp-steps p { margin: 0; color: var(--sp-muted); font-size: .9rem; line-height: 1.65; }

.sp-section--features { background: linear-gradient(180deg, transparent, rgba(10, 43, 62, .32), transparent); }
.sp-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sp-feature-card { position: relative; min-height: 285px; overflow: hidden; padding: 28px; border: 1px solid var(--sp-line); border-radius: 21px; background: linear-gradient(145deg, rgba(11, 48, 68, .77), rgba(7, 34, 49, .62)); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.sp-feature-card::after { content: ""; position: absolute; right: -60px; bottom: -80px; width: 160px; height: 160px; border-radius: 50%; background: var(--sp-accent); opacity: 0; filter: blur(60px); transition: opacity .25s ease; }
.sp-feature-card:hover { transform: translateY(-5px); border-color: rgba(var(--sp-accent-rgb), .34); box-shadow: 0 22px 50px rgba(0, 0, 0, .2); }
.sp-feature-card:hover::after { opacity: .08; }
.sp-feature-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 31px; border-radius: 15px; background: rgba(var(--sp-accent-rgb), .1); color: var(--sp-accent); }
.sp-feature-tag { position: absolute; top: 31px; right: 26px; max-width: 145px; color: var(--sp-muted-2); font-size: .65rem; font-weight: 720; letter-spacing: .05em; text-align: right; text-transform: uppercase; }
.sp-feature-card h3 { margin: 0 0 12px; color: var(--sp-heading); font-size: 1.22rem; line-height: 1.2; }
.sp-feature-card p { margin: 0; color: var(--sp-muted); font-size: .88rem; line-height: 1.7; }

/* Image + copy */
.sp-section--visual { overflow: hidden; }
.sp-visual-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(370px, .8fr); gap: clamp(46px, 7vw, 100px); align-items: center; }
.sp-visual-grid--reverse { grid-template-columns: minmax(370px, .8fr) minmax(0, 1.05fr); }
.sp-visual-media { position: relative; }
.sp-visual-media::before { content: ""; position: absolute; z-index: -1; inset: 12% 8%; border-radius: 50%; background: rgba(var(--sp-accent-rgb), .15); filter: blur(65px); }
.sp-visual-media picture,
.sp-visual-media img { display: block; width: 100%; }
.sp-visual-media img { border-radius: var(--sp-radius-lg); filter: drop-shadow(0 34px 60px rgba(0, 0, 0, .3)); }
.sp-visual-caption { position: absolute; right: 6%; bottom: 5%; display: flex; align-items: center; gap: 9px; padding: 10px 14px; border: 1px solid rgba(var(--sp-accent-rgb), .28); border-radius: 999px; background: rgba(6, 30, 44, .82); color: #bcecff; font-size: .73rem; font-weight: 700; box-shadow: 0 14px 30px rgba(0,0,0,.28); backdrop-filter: blur(14px); }
.sp-visual-caption i { width: 7px; height: 7px; border-radius: 50%; background: var(--sp-accent); box-shadow: 0 0 12px var(--sp-accent); }
.sp-visual-caption--secure { color: #a7ead8; border-color: rgba(83, 213, 180, .27); }
.sp-visual-copy .sp-lead { margin: 22px 0 28px; }
.sp-check-list { display: grid; gap: 13px; margin: 0 0 27px; padding: 0; list-style: none; }
.sp-check-list li { display: flex; gap: 12px; align-items: flex-start; color: var(--sp-muted); font-size: .91rem; }
.sp-check-list > li > .sp-icon { width: 18px; height: 18px; margin-top: 4px; color: var(--sp-mint); }
.sp-check-list strong { color: var(--sp-heading); }

/* Follow-up */
.sp-section--followup { background: linear-gradient(180deg, rgba(64, 62, 132, .08), rgba(10, 43, 62, .28), rgba(64, 62, 132, .05)); }
.sp-section--followup::before { content: ""; position: absolute; top: 0; left: 50%; width: min(90%, 1200px); height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, rgba(139, 139, 255, .32), transparent); }
.sp-followup-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(470px, 1.14fr); gap: clamp(42px, 7vw, 96px); align-items: center; }
.sp-followup-copy .sp-lead { margin: 24px 0 28px; }
.sp-novelty-card { position: relative; overflow: hidden; padding: clamp(24px, 4vw, 38px); border: 1px solid rgba(141, 164, 255, .22); border-radius: 29px; background: linear-gradient(145deg, rgba(15, 42, 65, .94), rgba(18, 28, 61, .82)); box-shadow: 0 35px 80px rgba(0, 0, 0, .3), inset 0 1px rgba(255,255,255,.06); }
.sp-novelty-card::before { content: ""; position: absolute; width: 250px; height: 250px; top: -120px; right: -90px; border-radius: 50%; background: #645ff3; opacity: .14; filter: blur(50px); }
.sp-novelty-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--sp-line); }
.sp-novelty-head div { display: flex; flex-direction: column; }
.sp-novelty-head small { color: #8e9fb9; font-size: .64rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.sp-novelty-head strong { margin-top: 5px; color: var(--sp-heading); font-size: 1rem; }
.sp-novelty-head > span { padding: 6px 10px; border: 1px solid rgba(var(--sp-accent-rgb), .22); border-radius: 999px; color: var(--sp-accent); font-size: .66rem; font-weight: 750; }
.sp-novelty-history { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 23px 0; }
.sp-history-turn { display: flex; gap: 9px; align-items: center; padding: 11px; border: 1px solid var(--sp-line); border-radius: 13px; background: rgba(4, 25, 38, .46); }
.sp-history-turn > i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: rgba(255,255,255,.04); color: #8098a9; font-size: .6rem; font-style: normal; font-weight: 760; }
.sp-history-turn span { display: flex; min-width: 0; flex-direction: column; }
.sp-history-turn small { color: var(--sp-muted-2); font-size: .55rem; text-transform: uppercase; }
.sp-history-turn strong { overflow: hidden; color: #b9d0dd; font-size: .71rem; text-overflow: ellipsis; white-space: nowrap; }
.sp-history-turn.is-used { opacity: .72; }
.sp-novelty-core { position: relative; display: flex; align-items: center; gap: 13px; margin: 5px 0 25px; padding: 16px; border: 1px solid rgba(140, 131, 255, .3); border-radius: 16px; background: linear-gradient(90deg, rgba(81, 78, 190, .12), rgba(var(--sp-accent-rgb), .06)); }
.sp-novelty-core > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: linear-gradient(145deg, #6e69eb, #3f8ac0); color: #fff; box-shadow: 0 0 30px rgba(108, 104, 235, .28); }
.sp-novelty-core div { display: flex; flex-direction: column; }
.sp-novelty-core small { color: #8e9fb9; font-size: .62rem; text-transform: uppercase; }
.sp-novelty-core strong { color: #f2f6ff; font-size: .83rem; }
.sp-novelty-core > i { position: absolute; bottom: -26px; left: 50%; width: 1px; height: 26px; background: linear-gradient(#7c72f0, var(--sp-mint)); }
.sp-novelty-result { padding: 22px; border: 1px solid rgba(83, 213, 180, .24); border-radius: 18px; background: rgba(7, 43, 52, .58); }
.sp-result-label { display: flex; align-items: center; gap: 8px; color: #8ce4ce; font-size: .62rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.sp-result-label i { width: 7px; height: 7px; border-radius: 50%; background: var(--sp-mint); box-shadow: 0 0 13px var(--sp-mint); }
.sp-novelty-result h3 { margin: 11px 0 8px; color: var(--sp-heading); font-size: 1.03rem; line-height: 1.35; }
.sp-novelty-result p { margin: 0; color: var(--sp-muted); font-size: .78rem; line-height: 1.6; }
.sp-result-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 19px; }
.sp-result-meta span { display: flex; flex-direction: column; padding: 9px 10px; border-radius: 10px; background: rgba(3, 25, 35, .46); color: var(--sp-muted-2); font-size: .56rem; text-transform: uppercase; }
.sp-result-meta strong { margin-top: 2px; color: #c9e8f4; font-size: .76rem; }

/* Functional catalog */
.sp-section--catalog { background: linear-gradient(180deg, transparent, rgba(5, 24, 36, .6), transparent); }
.sp-tabs { border: 1px solid var(--sp-line); border-radius: 28px; background: rgba(6, 30, 44, .58); box-shadow: var(--sp-shadow); }
.sp-tab-list { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 5px; padding: 8px; border-bottom: 1px solid var(--sp-line); overflow-x: auto; scrollbar-width: thin; }
.sp-tab { display: flex; min-width: 105px; min-height: 58px; align-items: center; justify-content: center; gap: 8px; padding: 10px 11px; border: 1px solid transparent; border-radius: 16px; background: transparent; color: var(--sp-muted); font-size: .76rem; font-weight: 720; cursor: pointer; transition: color .18s ease, border-color .18s ease, background-color .18s ease; }
.sp-tab .sp-icon { width: 17px; height: 17px; }
.sp-tab:hover { color: #fff; background: rgba(var(--sp-accent-rgb), .06); }
.sp-tab.is-active { border-color: rgba(var(--sp-accent-rgb), .22); background: linear-gradient(145deg, rgba(var(--sp-accent-rgb), .15), rgba(var(--sp-accent-rgb), .055)); color: var(--sp-accent); }
.sp-tab-panel { padding: clamp(27px, 5vw, 52px); }
.js .sp-tab-panel { display: none; }
.js .sp-tab-panel.is-active { display: block; animation: spPanelIn .32s ease both; }
.no-js .sp-tab-panel + .sp-tab-panel { border-top: 1px solid var(--sp-line); }
@keyframes spPanelIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.sp-tab-panel-header { display: grid; grid-template-columns: 64px 1fr; gap: 19px; align-items: center; max-width: 850px; margin-bottom: 36px; }
.sp-tab-panel-icon { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid rgba(var(--sp-accent-rgb), .23); border-radius: 20px; background: rgba(var(--sp-accent-rgb), .08); color: var(--sp-accent); }
.sp-tab-panel-icon .sp-icon { width: 28px; height: 28px; }
.sp-tab-panel-header h3 { margin: 0 0 6px; color: var(--sp-heading); font-size: clamp(1.55rem, 2.8vw, 2.35rem); line-height: 1.12; }
.sp-tab-panel-header p { margin: 0; color: var(--sp-muted); font-size: .92rem; }
.sp-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.sp-detail-card { display: grid; grid-template-columns: 35px 1fr; gap: 13px; padding: 19px; border: 1px solid rgba(139, 205, 232, .12); border-radius: 16px; background: rgba(12, 47, 65, .45); }
.sp-detail-number { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; background: rgba(var(--sp-accent-rgb), .07); color: var(--sp-accent); font-size: .61rem; font-weight: 800; }
.sp-detail-card h4 { margin: 2px 0 8px; color: #e8f6fc; font-size: .98rem; line-height: 1.3; }
.sp-detail-card p { margin: 0; color: var(--sp-muted); font-size: .79rem; line-height: 1.63; }

/* Product cockpit mockup */
.sp-section--cockpit { overflow: hidden; }
.sp-cockpit { overflow: hidden; border: 1px solid rgba(var(--sp-accent-rgb), .25); border-radius: 28px; background: #071e2c; box-shadow: 0 42px 100px rgba(0,0,0,.42), 0 0 80px rgba(var(--sp-accent-rgb), .055); }
.sp-cockpit-topbar { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 22px; padding: 12px 19px; border-bottom: 1px solid var(--sp-line); background: rgba(12, 47, 65, .78); }
.sp-cockpit-brand { display: flex; align-items: center; gap: 10px; }
.sp-cockpit-brand img { width: 34px; height: 34px; }
.sp-cockpit-brand strong { color: var(--sp-heading); }
.sp-cockpit-brand span { padding-left: 10px; border-left: 1px solid var(--sp-line-strong); color: var(--sp-muted-2); font-size: .68rem; text-transform: uppercase; }
.sp-cockpit-status { display: flex; align-items: center; gap: 8px; color: #9de6d3; font-size: .7rem; font-weight: 750; text-transform: uppercase; }
.sp-cockpit-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--sp-mint); box-shadow: 0 0 11px var(--sp-mint); }
.sp-cockpit-body { display: grid; grid-template-columns: 225px minmax(420px, 1fr) 245px; min-height: 590px; }
.sp-client-card,
.sp-route-panel { padding: 26px 20px; background: rgba(5, 27, 40, .74); }
.sp-client-card { border-right: 1px solid var(--sp-line); }
.sp-route-panel { border-left: 1px solid var(--sp-line); }
.sp-avatar { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 14px; border: 1px solid rgba(var(--sp-accent-rgb), .3); border-radius: 18px; background: linear-gradient(145deg, rgba(var(--sp-accent-rgb), .25), rgba(95, 81, 191, .22)); color: #fff; font-size: 1.3rem; font-weight: 800; }
.sp-client-card > div:nth-child(2) > span { color: var(--sp-muted-2); font-size: .62rem; text-transform: uppercase; }
.sp-client-card h3 { margin: 2px 0; color: #fff; font-size: 1.35rem; }
.sp-client-card > div:nth-child(2) > p { margin: 0; color: var(--sp-muted); font-size: .7rem; }
.sp-client-card ul { display: grid; gap: 9px; margin: 22px 0; padding: 0; list-style: none; }
.sp-client-card li { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid rgba(139,205,232,.1); font-size: .68rem; }
.sp-client-card li span { color: var(--sp-muted-2); }
.sp-client-card li strong { color: #bcd9e6; font-weight: 670; text-align: right; }
.sp-note { padding: 13px; border: 1px solid rgba(255, 214, 107, .16); border-radius: 13px; background: rgba(255, 214, 107, .045); }
.sp-note > span { display: flex; align-items: center; gap: 6px; color: var(--sp-gold); font-size: .62rem; font-weight: 740; text-transform: uppercase; }
.sp-note p { margin: 8px 0 0; color: #a9bbc2; font-size: .68rem; line-height: 1.55; }
.sp-note .sp-icon { width: 13px; }
.sp-chat-demo { display: flex; flex-direction: column; gap: 13px; padding: 28px; background: radial-gradient(circle at 50% 30%, rgba(var(--sp-accent-rgb), .055), transparent 42%); }
.sp-chat-date { align-self: center; color: #68899b; font-size: .62rem; text-transform: uppercase; }
.sp-bubble { max-width: 73%; padding: 13px 15px; border-radius: 15px; }
.sp-bubble p { margin: 0; color: #d2e6ef; font-size: .76rem; line-height: 1.55; }
.sp-bubble small { display: block; margin-top: 5px; color: #668594; font-size: .54rem; text-align: right; }
.sp-bubble--author { align-self: flex-end; border-bottom-right-radius: 4px; background: #174a64; }
.sp-bubble--client { align-self: flex-start; border: 1px solid var(--sp-line); border-bottom-left-radius: 4px; background: #0c3044; }
.sp-ai-trace { display: flex; gap: 11px; margin-top: 4px; padding: 12px 14px; border: 1px solid rgba(var(--sp-accent-rgb), .19); border-radius: 13px; background: rgba(var(--sp-accent-rgb), .045); }
.sp-ai-trace > span { display: grid; place-items: center; flex: 0 0 31px; width: 31px; height: 31px; border-radius: 10px; background: rgba(var(--sp-accent-rgb), .12); color: var(--sp-accent); }
.sp-ai-trace strong { color: #bceafa; font-size: .66rem; }
.sp-ai-trace p { margin: 3px 0 0; color: var(--sp-muted-2); font-size: .6rem; line-height: 1.5; }
.sp-composer { margin-top: auto; padding: 15px; border: 1px solid rgba(var(--sp-accent-rgb), .25); border-radius: 16px; background: #0b2b3c; box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.sp-composer > p { min-height: 54px; margin: 0; color: #deeff6; font-size: .74rem; line-height: 1.55; }
.sp-composer-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; margin-top: 12px; }
.sp-composer-actions button { display: inline-flex; min-height: 34px; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid var(--sp-line); border-radius: 9px; background: rgba(255,255,255,.025); color: #91adba; font-size: .6rem; }
.sp-composer-actions button:disabled { cursor: default; opacity: 1; }
.sp-composer-actions button .sp-icon { width: 13px; }
.sp-composer-actions .sp-generate-demo { width: 35px; padding: 0; justify-content: center; border-color: rgba(var(--sp-accent-rgb), .35); color: var(--sp-accent); }
.sp-composer-actions .sp-send-demo { border-color: transparent; background: var(--sp-accent); color: #06202d; font-weight: 750; }
.sp-route-panel h3 { margin: 0 0 20px; color: var(--sp-heading); font-size: .92rem; }
.sp-route-panel dl { display: grid; gap: 12px; margin: 0; }
.sp-route-panel dl div { padding-bottom: 11px; border-bottom: 1px solid rgba(139,205,232,.1); }
.sp-route-panel dt { color: var(--sp-muted-2); font-size: .57rem; font-weight: 710; letter-spacing: .07em; text-transform: uppercase; }
.sp-route-panel dd { margin: 4px 0 0; color: #c7e0eb; font-size: .72rem; }
.sp-route-panel dd.is-safe { color: #91e6d0; }
.sp-route-panel > p { margin: 23px 0 0; color: #6d8e9e; font-size: .63rem; line-height: 1.55; }

/* Adult safety */
.sp-section--adult { background: linear-gradient(130deg, rgba(58, 28, 77, .33), rgba(7, 29, 43, .7), rgba(25, 54, 75, .3)); }
.sp-adult-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(400px, .72fr); gap: clamp(50px, 8vw, 110px); align-items: center; }
.sp-adult-copy h2 { margin: 12px 0 23px; color: var(--sp-heading); font-size: clamp(2.15rem, 4.2vw, 4rem); line-height: 1.05; letter-spacing: -.045em; }
.sp-adult-rules { display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px; margin-top: 29px; }
.sp-adult-rules > div { display: flex; gap: 10px; padding: 14px; border: 1px solid rgba(211, 151, 232, .14); border-radius: 14px; background: rgba(78, 38, 88, .16); }
.sp-adult-rules .sp-icon { width: 18px; margin-top: 2px; color: #d8a3eb; }
.sp-adult-rules span { display: flex; flex-direction: column; }
.sp-adult-rules strong { color: #eadcf0; font-size: .77rem; }
.sp-adult-rules small { margin-top: 3px; color: #9c87a5; font-size: .62rem; }
.sp-gate-card { overflow: hidden; border: 1px solid rgba(211, 151, 232, .22); border-radius: 25px; background: linear-gradient(145deg, rgba(47, 29, 58, .88), rgba(8, 33, 47, .88)); box-shadow: 0 30px 70px rgba(0,0,0,.3); }
.sp-gate-head { display: flex; gap: 12px; align-items: center; padding: 20px; border-bottom: 1px solid rgba(211, 151, 232, .13); }
.sp-gate-head > span { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 13px; background: rgba(211,151,232,.1); color: #dbabea; }
.sp-gate-head div { display: flex; flex-direction: column; }
.sp-gate-head small { color: #957e9d; font-size: .6rem; text-transform: uppercase; }
.sp-gate-head strong { color: #f2e9f5; font-size: .89rem; }
.sp-gate-card ol { display: grid; gap: 0; margin: 0; padding: 6px 20px; list-style: none; }
.sp-gate-card li { position: relative; display: grid; grid-template-columns: 18px 1fr; gap: 12px; padding: 16px 0; }
.sp-gate-card li + li { border-top: 1px solid rgba(211,151,232,.1); }
.sp-gate-card li > i { width: 13px; height: 13px; margin-top: 4px; border: 2px solid #758a95; border-radius: 50%; }
.sp-gate-card li.is-passed > i { border-color: var(--sp-mint); background: var(--sp-mint); box-shadow: 0 0 12px rgba(83,213,180,.4); }
.sp-gate-card li div { display: flex; flex-direction: column; }
.sp-gate-card li strong { color: #ddcfe3; font-size: .78rem; }
.sp-gate-card li span { color: #88778f; font-size: .61rem; }
.sp-gate-result { display: flex; gap: 10px; align-items: center; padding: 15px 20px; background: rgba(83, 213, 180, .08); color: #9be7d3; font-size: .7rem; font-weight: 700; }

/* Security, team, FAQ */
.sp-section--security { background: linear-gradient(180deg, transparent, rgba(6, 46, 50, .18), transparent); }
.sp-security-stack { display: grid; gap: 11px; margin: 28px 0 26px; }
.sp-security-stack > div { display: grid; grid-template-columns: 43px 1fr; gap: 13px; padding: 15px; border: 1px solid var(--sp-line); border-radius: 15px; background: rgba(9, 42, 58, .52); }
.sp-security-stack > div > span { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 13px; background: rgba(83, 213, 180, .08); color: var(--sp-mint); }
.sp-security-stack strong { color: var(--sp-heading); font-size: .85rem; }
.sp-security-stack p { margin: 3px 0 0; color: var(--sp-muted); font-size: .75rem; }

.sp-enterprise-card { position: relative; display: grid; grid-template-columns: minmax(0, .85fr) minmax(480px, 1.15fr); gap: 55px; align-items: center; overflow: hidden; padding: clamp(35px, 6vw, 70px); border: 1px solid rgba(var(--sp-accent-rgb), .23); border-radius: 33px; background: linear-gradient(145deg, rgba(12, 49, 70, .9), rgba(13, 29, 55, .85)); box-shadow: var(--sp-shadow); }
.sp-enterprise-glow { position: absolute; top: -160px; left: 20%; width: 450px; height: 300px; border-radius: 50%; background: rgba(var(--sp-accent-rgb), .12); filter: blur(70px); }
.sp-enterprise-copy { position: relative; z-index: 1; }
.sp-enterprise-copy h2 { font-size: clamp(2rem, 3.4vw, 3.3rem); }
.sp-enterprise-copy p { margin: 20px 0 27px; color: var(--sp-muted); }
.sp-enterprise-flow { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 35px 1fr 35px 1fr; align-items: center; }
.sp-enterprise-flow > div { display: flex; min-height: 160px; flex-direction: column; align-items: center; justify-content: center; padding: 20px 12px; border: 1px solid var(--sp-line); border-radius: 18px; background: rgba(5, 28, 42, .5); text-align: center; }
.sp-enterprise-flow > div > span { display: grid; place-items: center; width: 45px; height: 45px; margin-bottom: 14px; border-radius: 14px; background: rgba(var(--sp-accent-rgb), .1); color: var(--sp-accent); }
.sp-enterprise-flow strong { color: #e5f3f9; font-size: .82rem; }
.sp-enterprise-flow small { margin-top: 4px; color: var(--sp-muted-2); font-size: .61rem; line-height: 1.4; }
.sp-enterprise-flow > i { display: grid; place-items: center; color: var(--sp-accent); }

.sp-section--privacy-note { padding-top: 0; padding-bottom: 70px; }
.sp-privacy-note { display: grid; grid-template-columns: 60px 1fr auto; gap: 20px; align-items: center; padding: 25px 27px; border: 1px solid rgba(255, 214, 107, .18); border-radius: 21px; background: rgba(255, 214, 107, .045); }
.sp-privacy-note-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: rgba(255, 214, 107, .09); color: var(--sp-gold); }
.sp-privacy-note h2 { margin: 5px 0 7px; color: var(--sp-heading); font-size: 1.25rem; }
.sp-privacy-note p { margin: 0; color: var(--sp-muted); font-size: .8rem; }

.sp-section--faq { background: rgba(3, 20, 31, .48); }
.sp-faq-layout { display: grid; grid-template-columns: minmax(300px, .62fr) minmax(0, 1fr); gap: clamp(50px, 9vw, 120px); align-items: start; }
.sp-faq-intro { position: sticky; top: calc(var(--sp-header) + 40px); }
.sp-faq-intro h2 { font-size: clamp(2.15rem, 3.7vw, 3.5rem); }
.sp-faq-intro p { margin: 20px 0 12px; color: var(--sp-muted); }
.sp-faq-list { display: grid; gap: 10px; }
.sp-faq-list details { border: 1px solid var(--sp-line); border-radius: 16px; background: rgba(10, 44, 62, .55); }
.sp-faq-list details[open] { border-color: rgba(var(--sp-accent-rgb), .24); background: rgba(12, 50, 70, .72); }
.sp-faq-list summary { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; color: var(--sp-heading); font-size: .92rem; font-weight: 710; list-style: none; cursor: pointer; }
.sp-faq-list summary::-webkit-details-marker { display: none; }
.sp-faq-list summary i { position: relative; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; background: rgba(var(--sp-accent-rgb), .08); }
.sp-faq-list summary i::before,
.sp-faq-list summary i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 1px; background: var(--sp-accent); transform: translate(-50%, -50%); transition: transform .2s ease; }
.sp-faq-list summary i::after { transform: translate(-50%, -50%) rotate(90deg); }
.sp-faq-list details[open] summary i::after { transform: translate(-50%, -50%) rotate(0); }
.sp-faq-list details > div { padding: 0 20px 20px; }
.sp-faq-list details p { margin: 0; color: var(--sp-muted); font-size: .82rem; line-height: 1.7; }

.sp-section--license { padding: 48px 0; }
.sp-license-strip { display: grid; grid-template-columns: 48px 1fr auto; gap: 17px; align-items: center; padding: 21px 24px; border-top: 1px solid var(--sp-line); border-bottom: 1px solid var(--sp-line); }
.sp-license-strip > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: rgba(var(--sp-accent-rgb), .08); color: var(--sp-accent); }
.sp-license-strip strong { color: var(--sp-heading); font-size: .9rem; }
.sp-license-strip p { margin: 2px 0 0; color: var(--sp-muted-2); font-size: .72rem; }
.sp-license-strip > a { display: inline-flex; align-items: center; gap: 7px; font-size: .75rem; font-weight: 720; text-decoration: none; white-space: nowrap; }

/* Contact form */
.sp-section--contact { position: relative; overflow: hidden; background: radial-gradient(circle at 76% 50%, rgba(var(--sp-accent-rgb), .13), transparent 25rem), linear-gradient(180deg, rgba(3, 17, 26, .2), #03131e); }
.sp-contact-orbit { position: absolute; right: -180px; top: 4%; width: 680px; height: 680px; border: 1px solid rgba(var(--sp-accent-rgb), .1); border-radius: 50%; }
.sp-contact-orbit::before,
.sp-contact-orbit::after { content: ""; position: absolute; inset: 12%; border: 1px solid rgba(var(--sp-accent-rgb), .07); border-radius: 50%; }
.sp-contact-orbit::after { inset: 26%; }
.sp-contact-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .88fr) minmax(440px, .72fr); gap: clamp(50px, 9vw, 125px); align-items: center; }
.sp-contact-copy .sp-lead { margin: 23px 0 28px; }
.sp-contact-benefits { display: grid; gap: 10px; margin: 0 0 31px; padding: 0; color: #aac5d1; list-style: none; }
.sp-contact-benefits li { display: flex; gap: 10px; align-items: center; font-size: .85rem; }
.sp-contact-benefits .sp-icon { width: 17px; color: var(--sp-mint); }
.sp-direct-contact { display: flex; flex-direction: column; }
.sp-direct-contact small { color: var(--sp-muted-2); font-size: .66rem; text-transform: uppercase; }
.sp-direct-contact a { margin-top: 4px; font-size: 1.03rem; font-weight: 720; text-decoration: none; }
.sp-form-card { padding: clamp(24px, 4vw, 37px); border: 1px solid rgba(var(--sp-accent-rgb), .22); border-radius: 25px; background: rgba(7, 33, 48, .82); box-shadow: var(--sp-shadow), inset 0 1px rgba(255,255,255,.05); backdrop-filter: blur(20px); }
.sp-form-card-head { display: flex; gap: 12px; align-items: center; margin-bottom: 25px; }
.sp-form-card-head > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: rgba(var(--sp-accent-rgb), .1); color: var(--sp-accent); }
.sp-form-card-head div { display: flex; flex-direction: column; }
.sp-form-card-head strong { color: var(--sp-heading); font-size: .94rem; }
.sp-form-card-head small { color: var(--sp-muted-2); font-size: .67rem; }
.sp-access-form { display: grid; gap: 15px; }
.sp-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sp-field { display: grid; gap: 7px; }
.sp-field label { color: #b9d2de; font-size: .7rem; font-weight: 680; }
.sp-field label span { color: var(--sp-gold); }
.sp-field input,
.sp-field select,
.sp-field textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 13px;
	border: 1px solid var(--sp-line);
	border-radius: 12px;
	background: rgba(3, 23, 35, .66);
	color: var(--sp-heading);
	font-size: .82rem;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.sp-field textarea { min-height: 110px; resize: vertical; }
.sp-field select { color-scheme: dark; }
.sp-field input::placeholder,
.sp-field textarea::placeholder { color: #587a8b; }
.sp-field input:focus,
.sp-field select:focus,
.sp-field textarea:focus { border-color: rgba(var(--sp-accent-rgb), .62); background: rgba(5, 30, 43, .86); box-shadow: 0 0 0 3px rgba(var(--sp-accent-rgb), .08); }
.sp-consent { display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; color: var(--sp-muted); font-size: .67rem; line-height: 1.55; }
.sp-consent input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--sp-accent); }
.sp-form-note { margin: -5px 0 0; color: #607f8f; font-size: .62rem; text-align: center; }
.sp-form-status { display: flex; gap: 9px; align-items: flex-start; margin-bottom: 17px; padding: 11px 13px; border: 1px solid; border-radius: 12px; font-size: .72rem; }
.sp-form-status .sp-icon { width: 16px; margin-top: 2px; }
.sp-form-status--success { border-color: rgba(83, 213, 180, .25); background: rgba(83, 213, 180, .07); color: #9de6d3; }
.sp-form-status--error { border-color: rgba(255, 137, 151, .25); background: rgba(255, 137, 151, .07); color: #ffb1ba; }
.sp-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Footer */
.sp-site-footer { padding: 70px 0 23px; border-top: 1px solid var(--sp-line); background: #031019; }
.sp-footer-grid { display: grid; grid-template-columns: 1.65fr .75fr .9fr .9fr; gap: clamp(30px, 5vw, 75px); }
.sp-footer-logo { display: inline-flex; align-items: center; gap: 11px; color: var(--sp-heading); font-size: 1.15rem; font-weight: 800; text-decoration: none; }
.sp-footer-logo img { width: 48px; height: 48px; }
.sp-footer-brand p { max-width: 370px; margin: 18px 0 0; color: var(--sp-muted-2); font-size: .78rem; }
.sp-footer-column h2 { margin: 8px 0 18px; color: #bcd4df; font-size: .69rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.sp-footer-column ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.sp-footer-column a { color: var(--sp-muted); font-size: .76rem; text-decoration: none; }
.sp-footer-column a:hover { color: var(--sp-accent); }
.sp-footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.sp-footer-contact h2 { margin-bottom: 8px; }
.sp-footer-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 56px; padding-top: 20px; border-top: 1px solid rgba(139, 205, 232, .1); color: #526f7e; font-size: .62rem; }
.sp-footer-bottom p { margin: 0; }
.sp-footer-languages { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 18px; }
.sp-footer-languages a { padding: 6px 10px; border: 1px solid rgba(139, 205, 232, .1); border-radius: 999px; color: #688897; font-size: .64rem; font-weight: 680; text-decoration: none; }
.sp-footer-languages a:hover,
.sp-footer-languages a[aria-current="page"] { border-color: rgba(var(--sp-accent-rgb), .26); background: rgba(var(--sp-accent-rgb), .055); color: var(--sp-accent); }

/* Polished depth and readable line lengths across long-form localizations. */
.sp-hero h1,
.sp-section-heading h2,
.sp-page-hero h1 { text-wrap: balance; }
.sp-hero-lead,
.sp-section-heading p,
.sp-feature-card p,
.sp-detail-card p,
.sp-prose p { text-wrap: pretty; }
.sp-feature-card,
.sp-detail-card,
.sp-support-card,
.sp-form-card,
.sp-cockpit,
.sp-novelty-card { box-shadow: inset 0 1px rgba(255, 255, 255, .025), 0 18px 54px rgba(0, 0, 0, .12); }
.sp-feature-card,
.sp-detail-card,
.sp-support-card { transition: transform .24s cubic-bezier(.2,.7,.2,1), border-color .24s ease, background-color .24s ease, box-shadow .24s ease; }
@media (hover: hover) {
	.sp-feature-card:hover,
	.sp-detail-card:hover,
	.sp-support-card:hover { transform: translateY(-4px); border-color: rgba(var(--sp-accent-rgb), .26); box-shadow: inset 0 1px rgba(255, 255, 255, .035), 0 26px 68px rgba(0, 0, 0, .2); }
}

/* Inner pages and WordPress content */
.sp-inner-main,
.sp-content-shell { min-height: 70vh; padding-top: var(--sp-header); }
.sp-content-shell { width: min(calc(100% - 44px), 920px); margin-inline: auto; padding-bottom: 110px; }
.sp-page-hero { position: relative; padding: clamp(105px, 13vw, 170px) 0 clamp(60px, 7vw, 95px); border-bottom: 1px solid var(--sp-line); background: radial-gradient(circle at 50% 0, rgba(var(--sp-accent-rgb), .13), transparent 35rem); }
.sp-page-hero h1,
.sp-page-intro h1 { margin: 13px 0 22px; color: var(--sp-heading); font-size: clamp(2.8rem, 6vw, 5.8rem); line-height: .98; letter-spacing: -.06em; }
.sp-page-hero p { max-width: 790px; margin: 0; color: var(--sp-muted); font-size: clamp(1.05rem, 1.8vw, 1.25rem); }
.sp-prose-shell { width: min(calc(100% - 44px), 920px); margin-inline: auto; }
.sp-document-meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.sp-document-meta span { padding: 7px 11px; border: 1px solid var(--sp-line); border-radius: 999px; color: #92b3c2; font-size: .7rem; }
.sp-document-layout { display: grid; grid-template-columns: 235px minmax(0, 820px); gap: clamp(35px, 7vw, 90px); align-items: start; padding-top: 70px; padding-bottom: 120px; }
.sp-document-toc { position: sticky; top: calc(var(--sp-header) + 35px); display: grid; gap: 4px; padding: 19px; border: 1px solid var(--sp-line); border-radius: 16px; background: rgba(7, 32, 47, .6); }
.sp-document-toc strong { margin-bottom: 8px; color: var(--sp-heading); font-size: .76rem; }
.sp-document-toc a { padding: 6px 8px; border-radius: 8px; color: var(--sp-muted); font-size: .7rem; text-decoration: none; }
.sp-document-toc a:hover { background: rgba(var(--sp-accent-rgb), .06); color: var(--sp-accent); }
.sp-prose { color: #a7c2cf; font-size: 1rem; line-height: 1.8; }
.sp-prose > :first-child { margin-top: 0; }
.sp-prose h2,
.sp-prose h3,
.sp-prose h4 { color: var(--sp-heading); line-height: 1.2; letter-spacing: -.025em; }
.sp-prose h2 { margin: 2.6em 0 .75em; font-size: clamp(1.6rem, 3vw, 2.25rem); }
.sp-prose h3 { margin: 2em 0 .7em; font-size: 1.35rem; }
.sp-prose p { margin: 0 0 1.25em; }
.sp-prose ul,
.sp-prose ol { padding-left: 1.35em; }
.sp-prose li { margin: .55em 0; padding-left: .35em; }
.sp-prose li::marker { color: var(--sp-accent); }
.sp-prose blockquote { margin: 2em 0; padding: 18px 23px; border-left: 3px solid var(--sp-accent); background: rgba(var(--sp-accent-rgb), .05); color: #c7dce5; }
.sp-prose code { padding: .15em .35em; border: 1px solid var(--sp-line); border-radius: 5px; background: #031722; color: #b7e8f9; font-size: .9em; }
.sp-prose img { border-radius: 18px; }
.sp-prose .alignwide { width: min(1120px, calc(100vw - 44px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.sp-callout { display: grid; grid-template-columns: auto 1fr; gap: 13px; margin: 0 0 32px; padding: 18px 20px; border: 1px solid rgba(var(--sp-accent-rgb), .2); border-radius: 14px; background: rgba(var(--sp-accent-rgb), .055); }
.sp-callout strong { color: var(--sp-accent); font-size: .78rem; }
.sp-callout p { margin: 0; font-size: .82rem; }
.sp-callout--important { border-color: rgba(255, 214, 107, .2); background: rgba(255, 214, 107, .05); }
.sp-callout--important strong { color: var(--sp-gold); }
.sp-data-table-wrap { max-width: 100%; overflow-x: auto; margin: 25px 0; border: 1px solid var(--sp-line); border-radius: 14px; }
.sp-data-table { width: 100%; min-width: 690px; border-collapse: collapse; font-size: .78rem; }
.sp-data-table th,
.sp-data-table td { padding: 14px 15px; border-bottom: 1px solid var(--sp-line); text-align: left; vertical-align: top; }
.sp-data-table th { background: rgba(var(--sp-accent-rgb), .07); color: #d5e9f2; font-size: .67rem; text-transform: uppercase; }
.sp-data-table td { color: var(--sp-muted); }
.sp-data-table tr:last-child td { border-bottom: 0; }

.sp-support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding-top: 65px; }
.sp-support-card { position: relative; padding: 28px; border: 1px solid var(--sp-line); border-radius: 19px; background: rgba(10, 43, 61, .58); }
.sp-support-number { color: var(--sp-accent); font-size: .7rem; font-weight: 800; letter-spacing: .08em; }
.sp-support-card h2 { margin: 35px 0 12px; color: var(--sp-heading); font-size: 1.25rem; }
.sp-support-card p { margin: 0; color: var(--sp-muted); font-size: .82rem; }
.sp-section--support-fixes { padding-top: 80px; }

/* Dedicated compatibility directory. */
.sp-page-hero--compatibility { background: radial-gradient(circle at 80% 30%, rgba(91, 99, 220, .13), transparent 28rem); }
.sp-section--site-directory { padding-top: 80px; background: linear-gradient(180deg, rgba(8, 36, 52, .24), transparent); }
.sp-site-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.sp-site-card { position: relative; display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 15px; min-height: 190px; padding: 24px; overflow: hidden; border: 1px solid var(--sp-line); border-radius: 21px; background: linear-gradient(145deg, rgba(12, 48, 67, .76), rgba(7, 31, 47, .7)); box-shadow: inset 0 1px rgba(255, 255, 255, .035); }
.sp-site-card::after { content: ""; position: absolute; right: -65px; bottom: -75px; width: 150px; height: 150px; border-radius: 50%; background: var(--sp-accent); opacity: .055; filter: blur(42px); }
.sp-site-card__index { position: absolute; top: 17px; right: 19px; color: rgba(152, 194, 212, .28); font-size: .66rem; font-weight: 800; letter-spacing: .08em; }
.sp-site-card__mark { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid rgba(var(--sp-accent-rgb), .25); border-radius: 16px; background: rgba(var(--sp-accent-rgb), .1); color: var(--sp-accent); font-size: 1.05rem; font-weight: 820; }
.sp-site-card h2 { margin: 2px 0 2px; color: var(--sp-heading); font-size: 1.1rem; line-height: 1.25; }
.sp-site-card p { margin: 0; color: var(--sp-muted-2); font-size: .72rem; }
.sp-site-card__status { grid-column: 1 / -1; align-self: end; display: inline-flex; align-items: center; gap: 8px; color: #8bdcc7; font-size: .69rem; }
.sp-site-card__status i { width: 7px; height: 7px; border-radius: 50%; background: var(--sp-mint); box-shadow: 0 0 10px rgba(83, 213, 180, .55); }
.sp-source-note { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; margin-top: 18px; padding: 18px 20px; border: 1px solid rgba(var(--sp-accent-rgb), .17); border-radius: 17px; background: rgba(6, 31, 46, .62); }
.sp-source-note > span { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 12px; background: rgba(83, 213, 180, .1); color: var(--sp-mint); }
.sp-source-note strong { display: block; color: var(--sp-heading); font-size: .8rem; }
.sp-source-note p { margin: 2px 0 0; color: var(--sp-muted); font-size: .75rem; }
.sp-source-note a { display: inline-flex; gap: 8px; align-items: center; color: var(--sp-accent); font-size: .74rem; font-weight: 720; text-decoration: none; }
.sp-source-note a .sp-icon { width: 16px; }
.sp-section--compat-flow { background: radial-gradient(circle at 80% 50%, rgba(var(--sp-accent-rgb), .1), transparent 32rem); }
.sp-compat-flow-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr); gap: clamp(45px, 8vw, 105px); align-items: center; }
.sp-compat-flow-copy .sp-lead { margin: 22px 0 18px; }
.sp-compat-flow-copy > p:not(.sp-lead) { color: var(--sp-muted); }
.sp-compat-diagram { display: grid; justify-items: center; padding: clamp(28px, 5vw, 48px); border: 1px solid var(--sp-line); border-radius: 30px; background: linear-gradient(145deg, rgba(13, 49, 69, .84), rgba(10, 29, 53, .76)); box-shadow: var(--sp-shadow), inset 0 1px rgba(255,255,255,.04); }
.sp-compat-diagram__sources { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; width: 100%; }
.sp-compat-diagram__sources span { padding: 9px 7px; border: 1px solid var(--sp-line); border-radius: 9px; background: rgba(5, 27, 42, .58); color: #9bbdcc; font-size: .63rem; font-weight: 680; text-align: center; }
.sp-compat-diagram__line { width: 1px; height: 30px; background: linear-gradient(var(--sp-line), var(--sp-accent)); }
.sp-compat-diagram__workspace { display: grid; min-width: 230px; padding: 17px 22px; border: 1px solid rgba(var(--sp-accent-rgb), .25); border-radius: 15px; background: rgba(var(--sp-accent-rgb), .075); text-align: center; }
.sp-compat-diagram__workspace small { color: var(--sp-muted); font-size: .63rem; }
.sp-compat-diagram__workspace strong { color: var(--sp-heading); font-size: 1rem; }
.sp-compat-diagram__draft { display: flex; gap: 12px; align-items: center; padding: 14px 18px; border: 1px solid rgba(83, 213, 180, .24); border-radius: 15px; background: rgba(83, 213, 180, .07); }
.sp-compat-diagram__draft > span { color: var(--sp-mint); }
.sp-compat-diagram__draft small,
.sp-compat-diagram__draft strong { display: block; }
.sp-compat-diagram__draft small { color: var(--sp-muted-2); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.sp-compat-diagram__draft strong { color: var(--sp-heading); font-size: .8rem; }
.sp-section--compat-faq { background: rgba(3, 20, 31, .42); }

.sp-page-intro { padding: clamp(120px, 14vw, 180px) 0 48px; }
.sp-post-grid { display: grid; gap: 14px; }
.sp-post-card { padding: 28px; border: 1px solid var(--sp-line); border-radius: 18px; background: rgba(10,43,61,.55); }
.sp-post-card h2 { margin: 6px 0 11px; color: var(--sp-heading); }
.sp-post-card h2 a { color: inherit; text-decoration: none; }
.sp-post-card p { color: var(--sp-muted); }
.sp-post-meta { margin: 0; color: var(--sp-muted-2); font-size: .69rem; text-transform: uppercase; }
.navigation.pagination,
.post-navigation { margin-top: 35px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 9px; }
.page-numbers,
.post-navigation a { display: inline-flex; min-height: 42px; align-items: center; padding: 8px 13px; border: 1px solid var(--sp-line); border-radius: 10px; background: rgba(10,43,61,.5); color: var(--sp-text); text-decoration: none; }
.page-numbers.current { border-color: rgba(var(--sp-accent-rgb), .4); color: var(--sp-accent); }
.sp-comments { margin-top: 60px; padding-top: 30px; border-top: 1px solid var(--sp-line); }
.comment-list { color: var(--sp-muted); }
.comment-respond input,
.comment-respond textarea { width: 100%; padding: 12px; border: 1px solid var(--sp-line); border-radius: 10px; background: var(--sp-card); color: var(--sp-heading); }
.comment-form input[type="submit"] { min-height: 44px; padding: 10px 18px; border: 0; border-radius: 999px; background: var(--sp-accent); color: #04202c; font-weight: 760; }
.sp-error-page { display: flex; min-height: 80vh; flex-direction: column; align-items: flex-start; justify-content: center; }
.sp-error-code { color: rgba(var(--sp-accent-rgb), .22); font-size: clamp(7rem, 23vw, 15rem); font-weight: 850; line-height: .7; letter-spacing: -.08em; }
.sp-error-page h1 { margin: 40px 0 15px; color: var(--sp-heading); font-size: clamp(2.2rem, 5vw, 4rem); }
.sp-error-page p { max-width: 570px; margin: 0 0 26px; color: var(--sp-muted); }

/* Reveal animation is enabled only after JS confirms observer support. */
.sp-reveal-ready [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.65,.22,1); }
.sp-reveal-ready [data-reveal].is-visible { opacity: 1; transform: none; }

/* Responsive */
@media (max-width: 1120px) {
	.sp-header-cta { display: none; }
	.sp-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(400px, .9fr); gap: 35px; }
	.sp-hero-visual { min-height: 540px; }
	.sp-cockpit-body { grid-template-columns: 190px minmax(390px, 1fr) 210px; overflow-x: auto; }
	.sp-client-card, .sp-route-panel { padding-inline: 16px; }
	.sp-enterprise-card { grid-template-columns: 1fr; }
	.sp-enterprise-flow { max-width: 720px; }
}

@media (max-width: 960px) {
	:root { --sp-header: 72px; }
	.admin-bar .sp-site-header { top: 32px; }
	.sp-header-inner { gap: 11px; }
	.sp-language-switcher { order: 2; }
	.sp-menu-toggle { order: 3; }
	.sp-brand-wrap { min-width: 0; margin-right: auto; }
	.sp-menu-toggle { display: inline-flex; padding: 8px 12px; }
	.sp-nav { position: fixed; inset: var(--sp-header) 0 auto; display: none; margin: 0; padding: 15px 22px 24px; border-bottom: 1px solid var(--sp-line); background: rgba(3, 18, 28, .97); box-shadow: 0 24px 45px rgba(0,0,0,.35); backdrop-filter: blur(20px); }
	.admin-bar .sp-nav { top: calc(var(--sp-header) + 32px); }
	.sp-nav.is-open,
	.no-js .sp-nav { display: block; }
	.sp-nav-list { display: grid; gap: 3px; }
	.sp-nav-list a { justify-content: center; font-size: .92rem; }
	.sp-hero { min-height: 0; }
	.sp-hero-grid { grid-template-columns: 1fr; }
	.sp-hero-copy { max-width: 760px; }
	.sp-hero-visual { width: min(100%, 720px); min-height: 590px; margin-inline: auto; }
	.sp-metric-strip { grid-template-columns: repeat(2, 1fr); }
	.sp-metric-strip div:nth-child(3) { border-left: 0; border-top: 1px solid var(--sp-line); }
	.sp-metric-strip div:nth-child(4) { border-top: 1px solid var(--sp-line); }
	.sp-section-heading--split { grid-template-columns: 1fr; gap: 18px; align-items: start; }
	.sp-steps { grid-template-columns: repeat(2, 1fr); }
	.sp-steps::before { display: none; }
	.sp-feature-grid { grid-template-columns: repeat(2, 1fr); }
	.sp-visual-grid,
	.sp-visual-grid--reverse,
	.sp-followup-grid,
	.sp-adult-grid,
	.sp-compatibility-home,
	.sp-compat-flow-grid,
	.sp-contact-grid { grid-template-columns: 1fr; }
	.sp-compatibility-home__visual,
	.sp-compat-diagram { width: min(100%, 720px); margin-inline: auto; }
	.sp-visual-grid--reverse .sp-visual-copy { order: 2; }
	.sp-visual-grid--reverse .sp-visual-media { order: 1; }
	.sp-visual-media { max-width: 720px; margin-inline: auto; }
	.sp-followup-copy { max-width: 750px; }
	.sp-novelty-card { max-width: 720px; width: 100%; margin-inline: auto; }
	.sp-tab-list { grid-template-columns: repeat(8, 110px); }
	.sp-cockpit { overflow-x: auto; }
	.sp-cockpit-topbar,
	.sp-cockpit-body { min-width: 875px; }
	.sp-faq-layout { grid-template-columns: 1fr; gap: 35px; }
	.sp-faq-intro { position: static; max-width: 690px; }
	.sp-document-layout { grid-template-columns: 1fr; }
	.sp-document-toc { position: static; grid-template-columns: repeat(3, 1fr); }
	.sp-document-toc strong { grid-column: 1 / -1; }
	.sp-footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
	.sp-footer-contact { grid-column: 2 / -1; }
}

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

@media (max-width: 720px) {
	.sp-shell,
	.sp-content-shell,
	.sp-prose-shell { width: min(calc(100% - 30px), var(--sp-shell)); }
	.sp-section { padding-block: 78px; }
	.sp-wordmark small { display: none; }
	.sp-brand-wrap { gap: 8px; }
	.sp-brand-icon,
	.sp-custom-logo,
	.sp-brand-icon img,
	.sp-custom-logo img { width: 40px; height: 40px; }
	.sp-hero { padding-top: calc(var(--sp-header) + 65px); }
	.sp-hero h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
	.sp-hero-lead { font-size: 1rem; }
	.sp-hero-actions { flex-direction: column; align-items: stretch; }
	.sp-hero-visual { min-height: 470px; }
	.sp-hero-image { width: 125%; }
	.sp-float-card { min-width: 150px; transform: scale(.88); }
	.sp-float-card--route { left: -6%; }
	.sp-float-card--context { right: -5%; }
	.sp-metric-strip { grid-template-columns: 1fr; }
	.sp-metric-strip div { min-height: 80px; }
	.sp-metric-strip div + div { border-top: 1px solid var(--sp-line); border-left: 0; }
	.sp-compare { grid-template-columns: 1fr; gap: 0; }
	.sp-compare-arrow { margin-block: -10px; transform: rotate(90deg); }
	.sp-steps,
	.sp-feature-grid,
	.sp-detail-grid,
	.sp-adult-rules,
	.sp-support-grid,
	.sp-site-directory { grid-template-columns: 1fr; }
	.sp-compatibility-home__visual { min-height: 410px; }
	.sp-source-note { grid-template-columns: auto 1fr; }
	.sp-source-note a { grid-column: 1 / -1; }
	.sp-feature-card { min-height: 0; }
	.sp-novelty-history { grid-template-columns: 1fr; }
	.sp-history-turn strong { white-space: normal; }
	.sp-tab-panel { padding: 24px 16px; }
	.sp-tab-panel-header { grid-template-columns: 50px 1fr; gap: 13px; }
	.sp-tab-panel-icon { width: 50px; height: 50px; border-radius: 16px; }
	.sp-detail-card { padding: 15px; }
	.sp-enterprise-card { padding: 30px 20px; }
	.sp-enterprise-flow { grid-template-columns: 1fr; gap: 8px; }
	.sp-enterprise-flow > div { min-height: 125px; }
	.sp-enterprise-flow > i { transform: rotate(90deg); }
	.sp-privacy-note,
	.sp-license-strip { grid-template-columns: 1fr; align-items: start; }
	.sp-privacy-note .sp-button { justify-self: start; }
	.sp-license-strip > a { white-space: normal; }
	.sp-form-row { grid-template-columns: 1fr; }
	.sp-document-toc { grid-template-columns: 1fr 1fr; }
	.sp-callout { grid-template-columns: 1fr; }
	.sp-footer-grid { grid-template-columns: 1fr 1fr; }
	.sp-footer-brand { grid-column: 1 / -1; }
	.sp-footer-contact { grid-column: auto; }
	.sp-footer-bottom { flex-direction: column; gap: 8px; }
}

@media (max-width: 480px) {
	.sp-menu-toggle__label { display: none; }
	.sp-menu-toggle { width: 44px; justify-content: center; padding: 0; }
	.sp-language-switcher summary { min-width: 50px; padding-inline: 9px; }
	.sp-language-switcher summary .sp-icon { display: none; }
	.sp-language-switcher ul { position: fixed; top: calc(var(--sp-header) + 8px); right: 10px; left: 10px; width: auto; }
	.admin-bar .sp-language-switcher ul { top: calc(var(--sp-header) + 54px); }
	.sp-hero-visual { min-height: 385px; }
	.sp-float-card { transform: scale(.74); }
	.sp-float-card--route { top: 8%; left: -17%; }
	.sp-float-card--context { right: -17%; bottom: 25%; }
	.sp-float-card--safe { bottom: 1%; left: -7%; }
	.sp-result-meta { grid-template-columns: 1fr; }
	.sp-cockpit-topbar,
	.sp-cockpit-body { min-width: 820px; }
	.sp-document-toc { grid-template-columns: 1fr; }
	.sp-compatibility-home__visual { min-height: 350px; }
	.sp-compat-node--workspace { min-width: 190px; padding-inline: 18px; }
	.sp-compat-badge--two { right: 3%; }
	.sp-compat-badge--three { left: 4%; }
	.sp-compat-diagram__sources { grid-template-columns: repeat(2, 1fr); }
	.sp-footer-grid { grid-template-columns: 1fr; }
	.sp-footer-brand,
	.sp-footer-contact { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.sp-reveal-ready [data-reveal] { opacity: 1; transform: none; }
}

@media print {
	.sp-site-header,
	.sp-site-footer,
	.sp-menu-toggle,
	.sp-contact-orbit,
	.sp-document-toc { display: none !important; }
	body { background: #fff; color: #111; }
	.sp-inner-main { padding-top: 0; }
	.sp-page-hero { padding: 30px 0; background: none; }
	.sp-page-hero h1,
	.sp-prose h2,
	.sp-prose h3 { color: #111; }
	.sp-prose,
	.sp-page-hero p { color: #333; }
}
