/*
Theme Name: Fast Panel Child
Theme URI: https://fast-panel.ru/
Description: Дочерняя тема для кастомизации сайта услуг по VPS и FastPanel на базе GeneratePress.
Author: fast-panel.ru
Author URI: https://fast-panel.ru/
Template: generatepress
Version: 1.0.0
Text Domain: fast-panel-child
*/

:root {
	--fp-bg: #080d17;
	--fp-bg-2: #0c1321;
	--fp-bg-3: #111b2d;
	--fp-surface: #0f1727;
	--fp-surface-2: #131d31;
	--fp-surface-3: #0b1220;
	--fp-surface-4: rgba(19, 29, 49, 0.72);
	--fp-text: #f4f8ff;
	--fp-text-soft: #bfd0e3;
	--fp-text-muted: #8ea5bf;
	--fp-accent: #25adff;
	--fp-accent-2: #0d68ff;
	--fp-accent-3: #59d6ff;
	--fp-accent-4: #8de8ff;
	--fp-border: rgba(80, 142, 255, 0.18);
	--fp-border-soft: rgba(103, 182, 255, 0.10);
	--fp-shadow: 0 28px 56px rgba(3, 8, 18, 0.42);
	--fp-shadow-soft: 0 14px 30px rgba(3, 8, 18, 0.24);
	--fp-glow: 0 0 24px rgba(37, 173, 255, 0.16);
	--fp-header-bg: linear-gradient(90deg, #020a14 0%, #051425 44%, #02111d 100%);
	--fp-body-bg: linear-gradient(180deg, #060a12 0%, #09101b 32%, #0b1220 100%);
	--fp-card-bg: linear-gradient(180deg, rgba(18, 28, 46, 0.96) 0%, rgba(13, 21, 35, 0.98) 100%);
	--fp-card-bg-2: linear-gradient(180deg, rgba(23, 35, 57, 0.95) 0%, rgba(15, 24, 40, 0.98) 100%);
	--fp-radius: 20px;
	--fp-radius-sm: 14px;
	--fp-input-bg: #f8fbff;
	--fp-input-text: #0d1726;
	--fp-input-border: rgba(12, 28, 50, 0.16);
}

html,
body,
button,
input,
select,
textarea {
	font-family: "Science Gothic", "Segoe UI", Roboto, Arial, sans-serif;
}

html {
	background: #050910;
}

body {
	background: var(--fp-body-bg);
	color: var(--fp-text);
	font-size: 16px;
	line-height: 1.68;
	letter-spacing: 0.004em;
	min-height: 100vh;
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 14% -4%, rgba(37, 173, 255, 0.18) 0%, rgba(37, 173, 255, 0) 24%),
		radial-gradient(circle at 82% 0%, rgba(13, 104, 255, 0.16) 0%, rgba(13, 104, 255, 0) 26%),
		radial-gradient(circle at 50% 28%, rgba(89, 214, 255, 0.06) 0%, rgba(89, 214, 255, 0) 34%),
		linear-gradient(180deg, rgba(4, 10, 18, 0.05) 0%, rgba(4, 10, 18, 0) 20%, rgba(4, 10, 18, 0.28) 100%);
	z-index: -2;
}

body::after {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.012) 0, rgba(255, 255, 255, 0.012) 1px, transparent 1px, transparent 100%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.008) 0, rgba(255, 255, 255, 0.008) 1px, transparent 1px, transparent 100%);
	background-size: 72px 72px;
	opacity: 0.18;
	z-index: -1;
}

#page,
.site,
.site.grid-container,
.site-content,
.content-area,
.site-main {
	background: transparent;
}

.site.grid-container {
	max-width: 1480px;
}

.site-header {
	display: none;
}

.site-content {
	padding-top: 28px;
	padding-bottom: 34px;
}

.content-area .entry-content > *:first-child,
.content-area .entry-header + .entry-content > *:first-child {
	margin-top: 0;
}

.separate-containers .site-main {
	margin: 0;
}

body .inside-article,
body .comments-area,
body .widget,
body .site-main > article,
body .sidebar .widget,
body .separate-containers .inside-article,
body .one-container .container,
body .page-header,
body .paging-navigation {
	background: var(--fp-card-bg);
}

body .separate-containers .inside-article,
body .comments-area,
body .widget,
body .sidebar .widget,
body .page-header,
body .paging-navigation,
body .site-main > article,
body .one-container .container,
body .one-container .site-content {
	border: 1px solid var(--fp-border-soft);
	box-shadow: var(--fp-shadow);
}

.separate-containers .inside-article,
.one-container .inside-article,
.comments-area,
.widget,
.sidebar .widget,
.page-header,
.paging-navigation,
.site-main > article {
	border-radius: var(--fp-radius);
	backdrop-filter: blur(10px);
}

.inside-article {
	padding-top: 48px;
	padding-bottom: 48px;
}

.separate-containers .inside-article,
.one-container .inside-article {
	position: relative;
	overflow: hidden;
}

.separate-containers .inside-article::before,
.one-container .inside-article::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 1px;
	background: linear-gradient(90deg, rgba(89, 214, 255, 0), rgba(89, 214, 255, 0.36), rgba(89, 214, 255, 0));
	pointer-events: none;
}

.home .inside-article {
	padding-top: 54px;
}

.home .inside-article h1:first-of-type {
	max-width: 1020px;
	margin-bottom: 0.34em;
}

.home .inside-article p:first-of-type {
	max-width: 840px;
	font-size: 1.02rem;
}

hr,
.wp-block-separator {
	border: 0;
	height: 1px;
	background: linear-gradient(90deg, rgba(89, 214, 255, 0), rgba(89, 214, 255, 0.24), rgba(89, 214, 255, 0));
	margin: 2.2rem 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.page-header h1,
.widget-title,
.wp-block-heading,
.main-title,
.site-description,
.button,
.wp-element-button,
button,
input[type="submit"],
input[type="button"] {
	font-family: "Science Gothic", "Segoe UI", Roboto, Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.page-header h1,
.widget-title,
.wp-block-heading {
	color: var(--fp-text);
	font-weight: 700;
	letter-spacing: -0.012em;
	line-height: 1.1;
}

h1,
.entry-title,
.page-header h1 {
	font-size: clamp(2.2rem, 4vw, 4.2rem);
}

h2 {
	font-size: clamp(1.72rem, 2.8vw, 2.55rem);
}

h3 {
	font-size: clamp(1.28rem, 2vw, 1.82rem);
}

p,
li,
dd,
dt,
figcaption,
.wp-block-list,
.wp-block-paragraph,
.entry-content,
.entry-summary,
.comment-content {
	color: var(--fp-text-soft);
}

small,
label small,
figcaption,
blockquote cite,
.site-description {
	color: var(--fp-text-muted);
}

strong,
b,
.entry-content strong,
.entry-content b {
	color: var(--fp-text);
}

a {
	color: var(--fp-accent-3);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

a:hover,
a:focus {
	color: var(--fp-accent-4);
}

ul,
ol {
	padding-left: 1.25em;
}

li::marker {
	color: rgba(89, 214, 255, 0.72);
}

blockquote {
	margin: 1.8rem 0;
	padding: 1.15rem 1.25rem;
	background: linear-gradient(180deg, rgba(19, 29, 49, 0.75) 0%, rgba(13, 20, 34, 0.92) 100%);
	border-left: 3px solid rgba(89, 214, 255, 0.5);
	border-radius: 0 16px 16px 0;
}

code,
pre,
kbd,
samp {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

pre,
code {
	background: rgba(255, 255, 255, 0.06);
	color: #dff2ff;
	border-radius: 10px;
}

pre {
	padding: 1rem 1.1rem;
	overflow: auto;
}

.button,
.wp-element-button,
button,
input[type="submit"],
input[type="button"],
.gb-button,
a.button,
a.wp-block-button__link {
	font-size: 14px;
	padding: 0.84em 1.38em;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--fp-accent) 0%, var(--fp-accent-2) 100%);
	border: 1px solid rgba(137, 222, 255, 0.12);
	box-shadow: 0 12px 28px rgba(10, 70, 190, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.14);
	font-weight: 700;
	letter-spacing: 0.015em;
	color: #f8fcff;
	transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
}

.button:hover,
.button:focus,
.wp-element-button:hover,
.wp-element-button:focus,
button:hover,
button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:focus,
.gb-button:hover,
.gb-button:focus,
a.button:hover,
a.button:focus,
a.wp-block-button__link:hover,
a.wp-block-button__link:focus {
	filter: brightness(1.06);
	transform: translateY(-1px);
	box-shadow: 0 16px 34px rgba(10, 70, 190, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.button:active,
.wp-element-button:active,
button:active,
input[type="submit"]:active,
input[type="button"]:active,
.gb-button:active,
a.button:active,
a.wp-block-button__link:active {
	transform: translateY(0);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
textarea,
select {
	border-radius: 16px;
	border: 1px solid var(--fp-input-border);
	background: var(--fp-input-bg);
	color: var(--fp-input-text);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="url"]::placeholder,
input[type="password"]::placeholder,
input[type="search"]::placeholder,
input[type="tel"]::placeholder,
textarea::placeholder {
	color: #7f90a5;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
	border-color: rgba(37, 173, 255, 0.5);
	box-shadow: 0 0 0 4px rgba(37, 173, 255, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

label,
.ff-el-group label,
.ff-el-form-control,
.ff-el-input--label,
.ff-el-form-check-label,
.fluentform .ff_t_c {
	color: var(--fp-text);
}

.fluentform .ff-el-group,
.fluentform .ff-el-form-check {
	margin-bottom: 1rem;
}

.fluentform .ff-el-form-check-label,
.fluentform .ff_t_c {
	color: var(--fp-text-soft);
}

.ff-message-success,
.fluentform .ff-message-success {
	background: rgba(89, 214, 255, 0.08);
	border: 1px solid rgba(89, 214, 255, 0.18);
	color: #dff5ff;
	border-radius: 14px;
}

.wp-block-table td,
.wp-block-table th,
table td,
table th {
	border-color: rgba(89, 214, 255, 0.12);
}

table {
	color: var(--fp-text-soft);
}

.main-navigation,
#site-navigation {
	background: var(--fp-header-bg);
}

#site-navigation {
	border-bottom: 1px solid rgba(67, 200, 255, 0.16);
	box-shadow: 0 14px 34px rgba(5, 14, 28, 0.16);
}

#site-navigation .inside-navigation {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	min-height: 74px;
	padding: 10px 24px;
}

#site-navigation .inside-navigation > * {
	min-width: 0;
}

.fast-panel-nav-brand {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

.fast-panel-nav-brand-link,
.main-navigation .fast-panel-nav-brand-link,
#site-navigation .fast-panel-nav-brand-link {
	display: inline-flex !important;
	align-items: center;
	flex-wrap: nowrap;
	gap: 14px;
	padding: 0 !important;
	line-height: 1;
	text-decoration: none;
	background: transparent !important;
	box-shadow: none !important;
}

.fast-panel-nav-brand-link:hover,
.fast-panel-nav-brand-link:focus,
.main-navigation .fast-panel-nav-brand-link:hover,
.main-navigation .fast-panel-nav-brand-link:focus {
	text-decoration: none;
	background: transparent !important;
}

.fast-panel-nav-brand-mark {
	display: block;
	width: 60px;
	line-height: 0;
	flex: 0 0 60px;
}

.fast-panel-nav-brand-mark svg {
	display: block;
	width: 100%;
	height: auto;
}

.fast-panel-nav-brand-copy {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	padding: 2px 0 9px;
}

.fast-panel-nav-brand-copy::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 84px;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--fp-accent-3) 0%, var(--fp-accent-2) 100%);
}

.fast-panel-nav-brand-title {
	display: block;
	font-family: "Orbitron", "Arial Narrow", sans-serif;
	color: #f6faff;
	font-size: 21px;
	font-weight: 700;
	line-height: 0.96;
	letter-spacing: 0.065em;
	text-transform: uppercase;
	white-space: nowrap;
}

.fast-panel-nav-brand-tagline {
	display: block;
	font-family: "Science Gothic", "Segoe UI", Roboto, Arial, sans-serif;
	color: #bfd0e8;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	white-space: nowrap;
	opacity: 0.92;
}

.main-navigation .menu-toggle,
.main-navigation .mobile-bar-items,
.main-navigation .menu-bar-items {
	flex: 0 0 auto;
}

.main-navigation .main-nav {
	margin-left: auto;
}

.main-navigation .main-nav > ul {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}

.main-navigation .main-nav ul li {
	flex: 0 0 auto;
}

.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-item > a {
	font-family: "Science Gothic", "Segoe UI", Roboto, Arial, sans-serif;
	color: #eaf4ff;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.main-navigation .main-nav ul li a {
	padding: 10px 12px;
	transition: color 0.2s ease, opacity 0.2s ease, background-color 0.2s ease;
}

.main-navigation .main-nav > ul > li.menu-item-has-children > a {
	padding-right: 6px;
}

.main-navigation .main-nav > ul > li.menu-item-has-children > a .dropdown-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 2px;
	padding-left: 0;
	padding-right: 0;
	width: 11px;
	min-width: 11px;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li[class*="current_page_"] > a,
.main-navigation .main-nav ul li[class*="current-page-"] > a,
.main-navigation .main-nav ul li[class*="current_page_item"] > a,
.main-navigation .menu-bar-item:hover > a,
.main-navigation .menu-bar-item:focus > a,
.main-navigation .menu-toggle:hover,
.main-navigation .menu-toggle:focus,
.main-navigation .menu-toggle.toggled {
	color: var(--fp-accent-3);
	background-color: transparent;
}

.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li[class*="current_page_"] > a,
.main-navigation .main-nav ul li[class*="current-page-"] > a,
.main-navigation .main-nav ul li[class*="current_page_item"] > a {
	text-shadow: 0 0 16px rgba(67, 200, 255, 0.18);
}

.main-navigation .main-nav ul ul {
	display: block;
	min-width: 320px;
	padding: 8px 0;
	background: #0d1828;
	border: 1px solid rgba(67, 200, 255, 0.12);
	border-radius: 14px;
	box-shadow: 0 18px 38px rgba(2, 9, 18, 0.34);
}

.main-navigation .main-nav ul ul li {
	display: block;
	width: 100%;
	position: relative;
}

.main-navigation .main-nav ul ul li a {
	display: block;
	padding: 12px 20px;
	color: #eaf4ff;
	white-space: nowrap;
}

.main-navigation .main-nav ul ul li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, rgba(67, 200, 255, 0.08), rgba(67, 200, 255, 0.66), rgba(67, 200, 255, 0.08));
	box-shadow: 0 0 12px rgba(67, 200, 255, 0.18);
	opacity: 0.98;
	pointer-events: none;
}

.main-navigation .main-nav ul ul li:hover > a,
.main-navigation .main-nav ul ul li:focus > a,
.main-navigation .main-nav ul ul li[class*="current-menu-"] > a {
	background: rgba(67, 200, 255, 0.08);
	color: var(--fp-accent-3);
}

.site-footer {
	margin-top: 56px;
}

.site-info {
	background: linear-gradient(180deg, #04111d 0%, #06182a 100%);
	border-top: 1px solid rgba(67, 200, 255, 0.18);
	box-shadow: inset 0 1px 0 rgba(67, 200, 255, 0.08);
	padding: 18px 20px 16px;
	text-align: center;
}

.site-info::before {
	content: "";
	display: block;
	width: min(120px, 22vw);
	height: 2px;
	margin: 0 auto 8px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(67, 200, 255, 0), rgba(67, 200, 255, 0.7), rgba(11, 93, 255, 0));
	box-shadow: 0 0 16px rgba(67, 200, 255, 0.2);
}

.site-info,
.site-info a {
	color: #dfeaf8;
}

.fast-panel-footer-brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.fast-panel-footer-brand-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-bottom: 0;
	text-decoration: none;
	color: inherit;
}

.fast-panel-footer-brand-link:hover,
.fast-panel-footer-brand-link:focus {
	text-decoration: none;
	color: inherit;
}

.fast-panel-footer-brand-mark {
	width: 38px;
	line-height: 0;
	flex: 0 0 38px;
}

.fast-panel-footer-brand-mark svg {
	display: block;
	width: 100%;
	height: auto;
}

.fast-panel-footer-brand-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}

.fast-panel-footer-brand-title {
	display: block;
	font-family: "Orbitron", "Arial Narrow", sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #f6faff;
}

.fast-panel-footer-copyright {
	font-size: 12px;
	font-weight: 100;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: #d5e3f3;
	opacity: 0.96;
}

.inside-site-info {
	padding: 0 !important;
}



.home .inside-article {
	padding-top: 38px;
}

.home .entry-content {
	position: relative;
}

.fp-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
	gap: 34px;
	align-items: stretch;
	padding: clamp(28px, 4vw, 48px);
	margin: 0 0 42px;
	border: 1px solid rgba(103, 182, 255, 0.16);
	border-radius: 30px;
	background:
		radial-gradient(circle at 16% 10%, rgba(89, 214, 255, 0.16) 0%, rgba(89, 214, 255, 0) 24%),
		radial-gradient(circle at 86% 18%, rgba(37, 173, 255, 0.16) 0%, rgba(37, 173, 255, 0) 26%),
		linear-gradient(135deg, rgba(10, 18, 33, 0.96) 0%, rgba(12, 20, 35, 0.94) 48%, rgba(7, 14, 26, 0.98) 100%);
	box-shadow: 0 30px 72px rgba(2, 8, 18, 0.44), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
}

.fp-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.02) 0, rgba(255, 255, 255, 0.02) 1px, transparent 1px, transparent 100%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.014) 0, rgba(255, 255, 255, 0.014) 1px, transparent 1px, transparent 100%);
	background-size: 78px 78px;
	opacity: 0.18;
	pointer-events: none;
}

.fp-hero::after {
	content: "";
	position: absolute;
	inset: 0 auto auto 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, rgba(89, 214, 255, 0), rgba(89, 214, 255, 0.4), rgba(89, 214, 255, 0));
	pointer-events: none;
}

.fp-hero-copy,
.fp-hero-visual {
	position: relative;
	z-index: 1;
}

.fp-hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.fp-hero-copy > *:first-child {
	margin-top: 0;
}

.fp-hero-copy > p:first-child {
	display: inline-flex;
	align-self: flex-start;
	margin: 0 0 18px;
	padding: 8px 14px;
	border: 1px solid rgba(103, 182, 255, 0.18);
	border-radius: 999px;
	background: rgba(11, 22, 38, 0.7);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 10px 24px rgba(2, 8, 18, 0.2);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--fp-accent-4);
}

.fp-hero-copy h1:first-of-type {
	max-width: 12ch;
	margin: 0 0 16px;
	font-size: clamp(2.3rem, 4.3vw, 4.2rem);
	line-height: 0.98;
	letter-spacing: -0.028em;
	text-wrap: balance;
}

.fp-hero-copy h1:first-of-type strong,
.fp-hero-copy h1:first-of-type b {
	color: inherit;
}

.fp-hero-copy h1:first-of-type + p {
	max-width: 680px;
	margin: 0 0 14px;
	font-size: clamp(1.02rem, 1.32vw, 1.14rem);
	line-height: 1.76;
	color: #d3e4f5;
}

.fp-hero-copy .fp-hero-lead-extra {
	max-width: 700px;
	margin: 0 0 26px;
	font-size: clamp(0.98rem, 1.22vw, 1.08rem);
	line-height: 1.74;
	color: #c0d4e8;
}

.fp-hero-copy .wp-block-buttons,
.fp-hero-copy .gb-buttons {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	margin: 0 0 26px;
}

.fp-hero-copy .wp-block-button,
.fp-hero-copy .gb-button-wrapper {
	margin: 0;
}

.fp-hero-copy .wp-block-button .wp-block-button__link,
.fp-hero-copy .gb-button-wrapper .gb-button,
.fp-hero-copy a.button,
.fp-hero-copy a.wp-element-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: clamp(230px, 28vw, 320px);
	padding: 1em 1.65em;
	border-radius: 999px;
	border: 1px solid rgba(134, 226, 255, 0.22);
	background: linear-gradient(90deg, #42c8ff 0%, #2297ff 48%, #0f63ff 100%);
	box-shadow: 0 18px 34px rgba(9, 78, 204, 0.28), 0 0 0 1px rgba(143, 231, 255, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.24);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
	color: #f9fdff;
	overflow: hidden;
	isolation: isolate;
}

.fp-hero-copy .wp-block-button .wp-block-button__link::before,
.fp-hero-copy .gb-button-wrapper .gb-button::before,
.fp-hero-copy a.button::before,
.fp-hero-copy a.wp-element-button::before {
	content: "";
	position: absolute;
	inset: 1px;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.05) 42%, rgba(255, 255, 255, 0) 100%);
	opacity: 0.9;
	pointer-events: none;
	z-index: -1;
}

.fp-hero-copy .wp-block-button .wp-block-button__link:hover,
.fp-hero-copy .wp-block-button .wp-block-button__link:focus,
.fp-hero-copy .gb-button-wrapper .gb-button:hover,
.fp-hero-copy .gb-button-wrapper .gb-button:focus,
.fp-hero-copy a.button:hover,
.fp-hero-copy a.button:focus,
.fp-hero-copy a.wp-element-button:hover,
.fp-hero-copy a.wp-element-button:focus {
	filter: brightness(1.08);
	transform: translateY(-2px);
	box-shadow: 0 20px 40px rgba(9, 78, 204, 0.34), 0 0 0 1px rgba(143, 231, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.26);
}

.fp-hero-copy .wp-block-button:last-child .wp-block-button__link,
.fp-hero-copy .gb-button-wrapper:last-child .gb-button,
.fp-hero-copy .wp-block-buttons.is-content-justification-left .wp-block-button:last-child .wp-block-button__link {
	background: linear-gradient(180deg, rgba(16, 28, 46, 0.94) 0%, rgba(10, 18, 32, 0.96) 100%);
	border-color: rgba(104, 191, 255, 0.28);
	box-shadow: 0 14px 30px rgba(3, 9, 20, 0.22), 0 0 0 1px rgba(65, 165, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.08);
	color: #eef8ff;
}

.fp-hero-copy .wp-block-button:last-child .wp-block-button__link::before,
.fp-hero-copy .gb-button-wrapper:last-child .gb-button::before,
.fp-hero-copy .wp-block-buttons.is-content-justification-left .wp-block-button:last-child .wp-block-button__link::before {
	background: linear-gradient(180deg, rgba(86, 186, 255, 0.12) 0%, rgba(86, 186, 255, 0.02) 44%, rgba(86, 186, 255, 0) 100%);
}

.fp-hero-copy .wp-block-button:last-child .wp-block-button__link:hover,
.fp-hero-copy .wp-block-button:last-child .wp-block-button__link:focus,
.fp-hero-copy .gb-button-wrapper:last-child .gb-button:hover,
.fp-hero-copy .gb-button-wrapper:last-child .gb-button:focus,
.fp-hero-copy .wp-block-buttons.is-content-justification-left .wp-block-button:last-child .wp-block-button__link:hover,
.fp-hero-copy .wp-block-buttons.is-content-justification-left .wp-block-button:last-child .wp-block-button__link:focus {
	background: linear-gradient(180deg, rgba(22, 38, 61, 0.97) 0%, rgba(12, 22, 38, 0.98) 100%);
	border-color: rgba(118, 203, 255, 0.4);
	box-shadow: 0 18px 36px rgba(5, 11, 24, 0.26), 0 0 0 1px rgba(72, 174, 255, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.fp-hero-copy .wp-block-buttons + ul,
.fp-hero-copy .wp-block-buttons + ol,
.fp-hero-copy .gb-buttons + ul,
.fp-hero-copy .gb-buttons + ol,
.fp-hero-copy > ul:last-child,
.fp-hero-copy > ol:last-child {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fp-hero-copy .wp-block-buttons + ul li,
.fp-hero-copy .wp-block-buttons + ol li,
.fp-hero-copy .gb-buttons + ul li,
.fp-hero-copy .gb-buttons + ol li,
.fp-hero-copy > ul:last-child li,
.fp-hero-copy > ol:last-child li {
	margin: 0;
	padding: 10px 14px;
	border: 1px solid rgba(103, 182, 255, 0.12);
	border-radius: 999px;
	background: rgba(12, 21, 36, 0.76);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	color: #d9ebfb;
}

.fp-hero-copy .wp-block-buttons + ul li::marker,
.fp-hero-copy .wp-block-buttons + ol li::marker,
.fp-hero-copy .gb-buttons + ul li::marker,
.fp-hero-copy .gb-buttons + ol li::marker,
.fp-hero-copy > ul:last-child li::marker,
.fp-hero-copy > ol:last-child li::marker {
	content: "";
}

.fp-hero-copy .wp-block-buttons .wp-block-button__link,
.fp-hero-copy .gb-button,
.fp-hero-copy .gb-button .gb-button-text {
	font-size: 14px;
}

.fp-hero-copy .wp-block-buttons .wp-block-button:last-child .wp-block-button__link,
.fp-hero-copy .gb-button-wrapper:last-child .gb-button {
	background: transparent;
	border-color: rgba(103, 182, 255, 0.2);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
	color: #edf7ff;
}

.fp-hero-copy .wp-block-buttons .wp-block-button:last-child .wp-block-button__link:hover,
.fp-hero-copy .wp-block-buttons .wp-block-button:last-child .wp-block-button__link:focus,
.fp-hero-copy .gb-button-wrapper:last-child .gb-button:hover,
.fp-hero-copy .gb-button-wrapper:last-child .gb-button:focus {
	background: rgba(17, 28, 45, 0.84);
	border-color: rgba(103, 182, 255, 0.28);
}

.fp-hero-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100%;
}

.fp-hero-panel-wrap {
	position: relative;
	width: min(100%, 470px);
	padding: 32px 0;
}

.fp-hero-panel-wrap::before,
.fp-hero-panel-wrap::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	filter: blur(10px);
}

.fp-hero-panel-wrap::before {
	inset: 18px auto auto 24px;
	width: 160px;
	height: 160px;
	background: radial-gradient(circle, rgba(89, 214, 255, 0.34) 0%, rgba(89, 214, 255, 0) 72%);
}

.fp-hero-panel-wrap::after {
	inset: auto 16px 0 auto;
	width: 190px;
	height: 190px;
	background: radial-gradient(circle, rgba(13, 104, 255, 0.28) 0%, rgba(13, 104, 255, 0) 76%);
}

.fp-hero-panel {
	position: relative;
	display: grid;
	gap: 18px;
	padding: 24px;
	border: 1px solid rgba(103, 182, 255, 0.16);
	border-radius: 28px;
	background: linear-gradient(180deg, rgba(18, 28, 46, 0.94) 0%, rgba(9, 16, 29, 0.98) 100%);
	box-shadow: 0 26px 58px rgba(2, 8, 18, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(12px);
	overflow: hidden;
}

.fp-hero-panel::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(140deg, rgba(89, 214, 255, 0.08) 0%, rgba(89, 214, 255, 0) 40%, rgba(13, 104, 255, 0.1) 100%);
	pointer-events: none;
}

.fp-hero-panel-top,
.fp-hero-panel-status,
.fp-hero-panel-foot {
	position: relative;
	z-index: 1;
}

.fp-hero-panel-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}

.fp-hero-panel-label {
	display: block;
	margin: 0 0 8px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--fp-accent-4);
}

.fp-hero-panel-title {
	margin: 0;
	font-family: "Orbitron", "Arial Narrow", sans-serif;
	font-size: clamp(1.2rem, 2.2vw, 1.5rem);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #f7fbff;
}

.fp-hero-panel-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 12px;
	border: 1px solid rgba(103, 182, 255, 0.18);
	border-radius: 999px;
	background: rgba(8, 16, 28, 0.82);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #dff4ff;
	white-space: nowrap;
}

.fp-hero-panel-badge::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #4fffb0;
	box-shadow: 0 0 14px rgba(79, 255, 176, 0.58);
}

.fp-hero-panel-status {
	display: grid;
	gap: 12px;
}

.fp-hero-status-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid rgba(103, 182, 255, 0.12);
	border-radius: 18px;
	background: rgba(8, 15, 27, 0.72);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.fp-hero-status-name {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	color: #edf6ff;
}

.fp-hero-status-value {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--fp-accent-4);
	white-space: nowrap;
}

.fp-hero-status-value::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: linear-gradient(180deg, #65f6ff 0%, #25adff 100%);
	box-shadow: 0 0 12px rgba(89, 214, 255, 0.5);
}

.fp-hero-panel-foot {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.fp-hero-foot-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 12px;
	border: 1px solid rgba(103, 182, 255, 0.1);
	border-radius: 999px;
	background: rgba(15, 23, 39, 0.86);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #dbeeff;
}

@media (max-width: 1180px) {
	.fp-hero {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr);
		gap: 28px;
	}

	.fp-hero-copy h1:first-of-type {
		max-width: 13ch;
		font-size: clamp(2.2rem, 4.2vw, 3.8rem);
	}
}

@media (max-width: 1024px) {
	.fp-hero {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.fp-hero-copy h1:first-of-type {
		max-width: 100%;
	}

	.fp-hero-panel-wrap {
		max-width: 560px;
		width: 100%;
		margin: 0 auto;
	}
}

@media (max-width: 768px) {
	.fp-hero {
		padding: 24px 18px;
		margin-bottom: 34px;
		border-radius: 24px;
	}

	.fp-hero-copy > p:first-child {
		margin-bottom: 16px;
		padding: 7px 12px;
		font-size: 11px;
		letter-spacing: 0.1em;
	}

	.fp-hero-copy h1:first-of-type {
		font-size: clamp(2rem, 10vw, 3rem);
		line-height: 1;
	}

	.fp-hero-copy h1:first-of-type + p {
		font-size: 0.98rem;
		line-height: 1.68;
		margin-bottom: 12px;
	}

	.fp-hero-copy .fp-hero-lead-extra {
		font-size: 0.95rem;
		line-height: 1.64;
		margin-bottom: 22px;
	}

	.fp-hero-copy .wp-block-buttons,
	.fp-hero-copy .gb-buttons {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
	}

	.fp-hero-copy .wp-block-button,
	.fp-hero-copy .wp-block-button__link,
	.fp-hero-copy .gb-button-wrapper,
	.fp-hero-copy .gb-button,
	.fp-hero-copy a.button,
	.fp-hero-copy a.wp-element-button {
		width: 100%;
		min-width: 0;
	}

	.fp-hero-copy .wp-block-buttons + ul,
	.fp-hero-copy .wp-block-buttons + ol,
	.fp-hero-copy .gb-buttons + ul,
	.fp-hero-copy .gb-buttons + ol,
	.fp-hero-copy > ul:last-child,
	.fp-hero-copy > ol:last-child {
		gap: 10px;
	}

	.fp-hero-copy .wp-block-buttons + ul li,
	.fp-hero-copy .wp-block-buttons + ol li,
	.fp-hero-copy .gb-buttons + ul li,
	.fp-hero-copy .gb-buttons + ol li,
	.fp-hero-copy > ul:last-child li,
	.fp-hero-copy > ol:last-child li {
		font-size: 12px;
	}

	.fp-hero-panel {
		padding: 18px;
		border-radius: 22px;
	}

	.fp-hero-panel-top {
		flex-direction: column;
		align-items: flex-start;
	}

	.fp-hero-status-item {
		padding: 12px 14px;
		border-radius: 16px;
	}
}

@media (max-width: 1180px) {
	#site-navigation .inside-navigation {
		gap: 24px;
		min-height: 68px;
		padding: 9px 18px;
	}

	.fast-panel-nav-brand-mark {
		width: 56px;
		flex-basis: 56px;
	}

	.fast-panel-nav-brand-title {
		font-size: 19px;
	}

	.main-navigation .main-nav ul li a {
		padding: 10px 10px;
		font-size: 13px;
	}
}

@media (max-width: 1024px) {
	body {
		font-size: 16px;
	}

	#site-navigation .inside-navigation {
		gap: 18px;
	}

	.fast-panel-nav-brand-title {
		font-size: 18px;
	}

	.fast-panel-nav-brand-copy::after {
		width: 74px;
	}
}

@media (max-width: 900px) {
	.fast-panel-footer-brand-link {
		gap: 8px;
	}

	.fast-panel-footer-brand-mark {
		width: 34px;
		flex-basis: 34px;
	}

	.fast-panel-footer-brand-title {
		font-size: 12px;
	}

	#site-navigation .inside-navigation {
		min-height: 64px;
		padding: 8px 16px;
	}

	.fast-panel-nav-brand-copy {
		display: none;
	}

	.fast-panel-nav-brand-mark {
		width: 46px;
		flex-basis: 46px;
	}
}

@media (max-width: 768px) {
	.site-content {
		padding-top: 18px;
		padding-bottom: 24px;
	}

	.separate-containers .inside-article,
	.one-container .inside-article,
	.comments-area,
	.widget,
	.sidebar .widget {
		border-radius: 16px;
	}

	.inside-article {
		padding-top: 34px;
		padding-bottom: 34px;
	}

	h1,
	.entry-title,
	.page-header h1 {
		font-size: clamp(1.9rem, 9vw, 3rem);
	}

	h2 {
		font-size: clamp(1.5rem, 7vw, 2.2rem);
	}

	.main-navigation .main-nav ul ul {
		min-width: 280px;
	}
}


/* Hero CTA visibility refinement */
.fp-hero-copy .wp-block-buttons,
.fp-hero-copy .gb-buttons {
	align-items: flex-start;
	gap: 16px;
}

.fp-hero-copy .wp-block-buttons .wp-block-button:first-child .wp-block-button__link,
.fp-hero-copy .gb-buttons .gb-button-wrapper:first-child .gb-button,
.fp-hero-copy .wp-block-buttons .wp-block-button:first-child .wp-element-button {
	background: linear-gradient(90deg, #49cbff 0%, #20a4ff 48%, #0d69ff 100%) !important;
	border: 1px solid rgba(132, 226, 255, 0.46) !important;
	box-shadow: 0 18px 34px rgba(8, 78, 214, 0.42), 0 0 24px rgba(53, 177, 255, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
	color: #f8fcff !important;
}

.fp-hero-copy .wp-block-buttons .wp-block-button:first-child .wp-block-button__link:hover,
.fp-hero-copy .wp-block-buttons .wp-block-button:first-child .wp-block-button__link:focus,
.fp-hero-copy .gb-buttons .gb-button-wrapper:first-child .gb-button:hover,
.fp-hero-copy .gb-buttons .gb-button-wrapper:first-child .gb-button:focus,
.fp-hero-copy .wp-block-buttons .wp-block-button:first-child .wp-element-button:hover,
.fp-hero-copy .wp-block-buttons .wp-block-button:first-child .wp-element-button:focus {
	background: linear-gradient(90deg, #62d7ff 0%, #2db4ff 48%, #1a77ff 100%) !important;
	box-shadow: 0 22px 40px rgba(8, 78, 214, 0.48), 0 0 30px rgba(53, 177, 255, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.32) !important;
}

.fp-hero-copy .wp-block-buttons .wp-block-button:last-child .wp-block-button__link,
.fp-hero-copy .gb-buttons .gb-button-wrapper:last-child .gb-button,
.fp-hero-copy .wp-block-buttons .wp-block-button:last-child .wp-element-button {
	background: linear-gradient(180deg, rgba(13, 29, 53, 0.94) 0%, rgba(8, 18, 35, 0.98) 100%) !important;
	border: 1px solid rgba(95, 196, 255, 0.48) !important;
	box-shadow: 0 16px 30px rgba(4, 11, 26, 0.28), 0 0 18px rgba(44, 154, 255, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
	color: #f0f8ff !important;
}

.fp-hero-copy .wp-block-buttons .wp-block-button:last-child .wp-block-button__link:hover,
.fp-hero-copy .wp-block-buttons .wp-block-button:last-child .wp-block-button__link:focus,
.fp-hero-copy .gb-buttons .gb-button-wrapper:last-child .gb-button:hover,
.fp-hero-copy .gb-buttons .gb-button-wrapper:last-child .gb-button:focus,
.fp-hero-copy .wp-block-buttons .wp-block-button:last-child .wp-element-button:hover,
.fp-hero-copy .wp-block-buttons .wp-block-button:last-child .wp-element-button:focus {
	background: linear-gradient(180deg, rgba(18, 39, 68, 0.96) 0%, rgba(10, 23, 43, 1) 100%) !important;
	border-color: rgba(118, 210, 255, 0.62) !important;
	box-shadow: 0 18px 34px rgba(4, 11, 26, 0.3), 0 0 22px rgba(44, 154, 255, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}

.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link,
.fp-hero-copy .gb-buttons .gb-button,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button {
	min-width: clamp(240px, 28vw, 332px);
	padding: 1em 1.75em;
}

@media (max-width: 768px) {
	.fp-hero-copy .wp-block-buttons,
	.fp-hero-copy .gb-buttons {
		width: 100%;
		align-items: stretch;
	}
}

/* Hero CTA techno interaction override */
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button,
.fp-hero-copy a.button,
.fp-hero-copy a.wp-element-button {
	background: linear-gradient(180deg, rgba(12, 24, 43, 0.94) 0%, rgba(8, 18, 34, 0.98) 100%) !important;
	border: 1px solid rgba(89, 214, 255, 0.48) !important;
	box-shadow: 0 16px 30px rgba(3, 10, 24, 0.28), 0 0 0 1px rgba(89, 214, 255, 0.06), 0 0 18px rgba(89, 214, 255, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
	color: #59d6ff !important;
	text-shadow: 0 0 12px rgba(89, 214, 255, 0.18);
	transition:
		transform 0.26s cubic-bezier(0.22, 1, 0.36, 1),
		background 0.26s ease,
		box-shadow 0.26s ease,
		border-color 0.26s ease,
		color 0.22s ease,
		filter 0.22s ease;
}

.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link::before,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button::before,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button::before,
.fp-hero-copy a.button::before,
.fp-hero-copy a.wp-element-button::before {
	background: linear-gradient(180deg, rgba(115, 222, 255, 0.14) 0%, rgba(115, 222, 255, 0.04) 40%, rgba(115, 222, 255, 0) 100%) !important;
	opacity: 1;
}

.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link::after,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button::after,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button::after,
.fp-hero-copy a.button::after,
.fp-hero-copy a.wp-element-button::after {
	content: "";
	position: absolute;
	inset: -1px auto -1px -42%;
	width: 34%;
	border-radius: inherit;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(219, 248, 255, 0.42) 50%, rgba(255, 255, 255, 0) 100%);
	opacity: 0;
	transform: skewX(-20deg) translateX(0);
	transition: transform 0.42s ease, opacity 0.24s ease;
	pointer-events: none;
}

.fp-hero-copy .wp-block-buttons .wp-block-button:first-child .wp-block-button__link,
.fp-hero-copy .gb-buttons .gb-button-wrapper:first-child .gb-button,
.fp-hero-copy .wp-block-buttons .wp-block-button:first-child .wp-element-button {
	border-color: rgba(89, 214, 255, 0.58) !important;
	box-shadow: 0 18px 34px rgba(4, 14, 32, 0.32), 0 0 0 1px rgba(89, 214, 255, 0.08), 0 0 24px rgba(89, 214, 255, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}

.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link:hover,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link:focus,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button:hover,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button:focus,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button:hover,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button:focus,
.fp-hero-copy a.button:hover,
.fp-hero-copy a.button:focus,
.fp-hero-copy a.wp-element-button:hover,
.fp-hero-copy a.wp-element-button:focus {
	background: #59d6ff !important;
	border-color: rgba(141, 232, 255, 0.88) !important;
	box-shadow: 0 22px 40px rgba(7, 70, 120, 0.28), 0 0 0 1px rgba(141, 232, 255, 0.12), 0 0 28px rgba(89, 214, 255, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
	color: #f7fcff !important;
	text-shadow: none;
	filter: none;
	transform: translateY(-2px) scale(1.015);
}

.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link:hover::after,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link:focus::after,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button:hover::after,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button:focus::after,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button:hover::after,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button:focus::after,
.fp-hero-copy a.button:hover::after,
.fp-hero-copy a.button:focus::after,
.fp-hero-copy a.wp-element-button:hover::after,
.fp-hero-copy a.wp-element-button:focus::after {
	opacity: 1;
	transform: skewX(-20deg) translateX(360%);
}

.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link:active,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button:active,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button:active,
.fp-hero-copy a.button:active,
.fp-hero-copy a.wp-element-button:active {
	transform: translateY(1px) scale(0.992);
	box-shadow: 0 10px 18px rgba(3, 10, 24, 0.24), 0 0 0 1px rgba(89, 214, 255, 0.08), 0 0 16px rgba(89, 214, 255, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
}

/* Hero CTA glare softening */
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link::before,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button::before,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button::before,
.fp-hero-copy a.button::before,
.fp-hero-copy a.wp-element-button::before {
	background: linear-gradient(180deg, rgba(115, 222, 255, 0.08) 0%, rgba(115, 222, 255, 0.025) 34%, rgba(115, 222, 255, 0) 72%) !important;
	opacity: 0.72;
}

.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link::after,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button::after,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button::after,
.fp-hero-copy a.button::after,
.fp-hero-copy a.wp-element-button::after {
	inset: -1px auto -1px -30%;
	width: 22%;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(219, 248, 255, 0.16) 50%, rgba(255, 255, 255, 0) 100%);
	opacity: 0;
	transition: transform 0.36s ease, opacity 0.2s ease;
}

.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link:hover,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link:focus,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button:hover,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button:focus,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button:hover,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button:focus,
.fp-hero-copy a.button:hover,
.fp-hero-copy a.button:focus,
.fp-hero-copy a.wp-element-button:hover,
.fp-hero-copy a.wp-element-button:focus {
	transform: translateY(-2px) scale(1.008);
}

.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link:hover::after,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-block-button__link:focus::after,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button:hover::after,
.fp-hero-copy .gb-buttons .gb-button-wrapper .gb-button:focus::after,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button:hover::after,
.fp-hero-copy .wp-block-buttons .wp-block-button .wp-element-button:focus::after,
.fp-hero-copy a.button:hover::after,
.fp-hero-copy a.button:focus::after,
.fp-hero-copy a.wp-element-button:hover::after,
.fp-hero-copy a.wp-element-button:focus::after {
	opacity: 0.42;
	transform: skewX(-20deg) translateX(300%);
}


/* Hero vertical balance */
.fp-hero {
	align-items: center;
	padding-bottom: clamp(4px, 1vw, 12px);
}

.fp-hero-copy,
.fp-hero-visual {
	align-self: center;
}

.fp-hero-copy .fp-hero-lead-extra,
.fp-hero-copy .wp-block-buttons,
.fp-hero-copy .gb-buttons {
	margin-bottom: 20px;
}

.fp-hero-panel-wrap {
	padding: 12px 0;
}

@media (max-width: 1024px) {
	.fp-hero {
		align-items: start;
		gap: 18px;
	}

	.fp-hero-visual {
		justify-self: center;
		width: 100%;
	}

	.fp-hero-panel-wrap {
		padding: 0px 0 38px;
	}

	.fp-hero-copy hr,
	.fp-hero-copy .wp-block-separator {
		margin: 10px 0 6px;
	}
}

@media (max-width: 768px) {
	.fp-hero {
		padding-bottom: 22px;
	}

	.fp-hero-copy .fp-hero-lead-extra,
	.fp-hero-copy .wp-block-buttons,
	.fp-hero-copy .gb-buttons {
		margin-bottom: 18px;
	}
}

/* Services section */
.fp-services {
	position: relative;
	margin: 0 0 44px;
	padding: clamp(26px, 3.4vw, 38px);
	border: 1px solid rgba(103, 182, 255, 0.16);
	border-radius: 28px;
	background:
		radial-gradient(circle at 14% 12%, rgba(89, 214, 255, 0.10) 0%, rgba(89, 214, 255, 0) 24%),
		radial-gradient(circle at 88% 18%, rgba(37, 173, 255, 0.10) 0%, rgba(37, 173, 255, 0) 24%),
		linear-gradient(180deg, rgba(13, 21, 35, 0.98) 0%, rgba(9, 16, 28, 0.98) 100%);
	box-shadow: 0 24px 54px rgba(2, 8, 18, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
}

.fp-services::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.014) 0, rgba(255, 255, 255, 0.014) 1px, transparent 1px, transparent 100%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.012) 0, rgba(255, 255, 255, 0.012) 1px, transparent 1px, transparent 100%);
	background-size: 88px 88px;
	opacity: 0.16;
	pointer-events: none;
}

.fp-services > * {
	position: relative;
	z-index: 1;
}

.fp-services-head {
	max-width: 760px;
	margin: 0 0 26px;
}

.fp-services-head h2 {
	margin: 0 0 14px;
}

.fp-services-intro p {
	margin: 0;
	max-width: 720px;
	font-size: 1rem;
	line-height: 1.76;
	color: #c3d6ea;
}

.fp-services-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.fp-service-card {
	min-width: 0;
}

.fp-service-card {
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 22px 20px 18px;
	border: 1px solid rgba(103, 182, 255, 0.14);
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(17, 28, 46, 0.94) 0%, rgba(10, 18, 32, 0.98) 100%);
	box-shadow: 0 16px 36px rgba(2, 8, 18, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	transition: transform 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease, background 0.24s ease;
}

.fp-service-card:hover,
.fp-service-card:focus-within {
	transform: translateY(-4px);
	border-color: rgba(116, 204, 255, 0.3);
	box-shadow: 0 22px 42px rgba(2, 8, 18, 0.28), 0 0 20px rgba(37, 173, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.fp-service-card-kicker {
	margin: 0 0 14px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--fp-accent-4);
}

.fp-service-card-title {
	margin: 0 0 12px;
	font-size: clamp(1.08rem, 1.55vw, 1.34rem);
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: #f6fbff;
}

.fp-service-card-text {
	margin: 0 0 18px;
	font-size: 0.96rem;
	line-height: 1.72;
	color: #bfd4e9;
}

.fp-service-card-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--fp-accent-4);
}

.fp-service-card-link::after {
	content: "→";
	font-size: 14px;
	line-height: 1;
	transform: translateX(0);
	transition: transform 0.2s ease;
}

.fp-service-card:hover .fp-service-card-link::after,
.fp-service-card:focus-within .fp-service-card-link::after {
	transform: translateX(4px);
}

.fp-service-card-link--static {
	pointer-events: none;
}

@media (max-width: 1024px) {
	.fp-services-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fp-services {
		padding: 26px 22px;
	}
}

@media (max-width: 768px) {
	.fp-services {
		margin-bottom: 34px;
		padding: 22px 18px;
		border-radius: 24px;
	}

	.fp-services-head {
		margin-bottom: 20px;
	}

	.fp-services-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.fp-service-card {
		padding: 18px 16px 16px;
		border-radius: 18px;
	}

	.fp-service-card-title {
		font-size: 1.14rem;
	}

	.fp-service-card-text {
		font-size: 0.93rem;
		line-height: 1.64;
	}
}



/* Service card icons */
.fp-service-card-title {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.fp-service-card-title::before {
	content: "";
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	margin-top: 0.06em;
	border: 1px solid rgba(103, 182, 255, 0.16);
	border-radius: 10px;
	background-color: rgba(11, 20, 34, 0.82);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 16px 16px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 0 18px rgba(37, 173, 255, 0.08);
}

.fp-services-grid .fp-service-card:nth-child(1) .fp-service-card-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3.5' width='16' height='6' rx='2'/%3E%3Crect x='4' y='14.5' width='16' height='6' rx='2'/%3E%3Cpath d='M8 7h.01M12 7h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E");
}

.fp-services-grid .fp-service-card:nth-child(2) .fp-service-card-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5v14M18 5v14M6 8h6M18 10h-6M6 16h4M18 15h-5'/%3E%3Ccircle cx='12' cy='8' r='2'/%3E%3Ccircle cx='12' cy='15' r='2'/%3E%3C/svg%3E");
}

.fp-services-grid .fp-service-card:nth-child(3) .fp-service-card-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10M7 17h10M15 4l3 3-3 3M9 14l-3 3 3 3'/%3E%3C/svg%3E");
}

.fp-services-grid .fp-service-card:nth-child(4) .fp-service-card-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16a7 7 0 1 1 14 0'/%3E%3Cpath d='M12 13l4-4'/%3E%3Cpath d='M12 19h.01'/%3E%3C/svg%3E");
}

.fp-services-grid .fp-service-card:nth-child(5) .fp-service-card-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 7.6-7 10-4-2.4-7-5.5-7-10V6l7-3Z'/%3E%3Cpath d='M9.5 11.5 11 13l3.5-3.5'/%3E%3C/svg%3E");
}

.fp-services-grid .fp-service-card:nth-child(6) .fp-service-card-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='10' rx='2'/%3E%3Cpath d='M8 19h8M12 14.5V19M16.8 8.2l-3.6 3.6M14.7 7.1l2.1 2.1'/%3E%3C/svg%3E");
}

.fp-service-card:hover .fp-service-card-title::before,
.fp-service-card:focus-within .fp-service-card-title::before {
	border-color: rgba(116, 204, 255, 0.28);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 0 22px rgba(37, 173, 255, 0.14);
}

@media (max-width: 768px) {
	.fp-service-card-title {
		gap: 12px;
	}

	.fp-service-card-title::before {
		flex-basis: 22px;
		width: 22px;
		height: 22px;
		background-size: 14px 14px;
	}
}


/* Scenarios section */
.fp-scenarios {
	position: relative;
	margin: 0 0 44px;
	padding: clamp(26px, 3.4vw, 38px);
	border: 1px solid rgba(103, 182, 255, 0.14);
	border-radius: 28px;
	background:
		radial-gradient(circle at 12% 10%, rgba(89, 214, 255, 0.08) 0%, rgba(89, 214, 255, 0) 24%),
		radial-gradient(circle at 86% 22%, rgba(37, 173, 255, 0.08) 0%, rgba(37, 173, 255, 0) 24%),
		linear-gradient(180deg, rgba(12, 21, 35, 0.98) 0%, rgba(8, 15, 27, 0.98) 100%);
	box-shadow: 0 24px 54px rgba(2, 8, 18, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
}

.fp-scenarios::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.012) 0, rgba(255, 255, 255, 0.012) 1px, transparent 1px, transparent 100%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.01) 0, rgba(255, 255, 255, 0.01) 1px, transparent 1px, transparent 100%);
	background-size: 88px 88px;
	opacity: 0.14;
	pointer-events: none;
}

.fp-scenarios > * {
	position: relative;
	z-index: 1;
}

.fp-scenarios-shell {
	display: grid;
	grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
	gap: clamp(24px, 3vw, 42px);
	align-items: start;
}

.fp-scenarios-side {
	display: grid;
	gap: 18px;
	align-content: start;
}

.fp-scenarios-head {
	max-width: none;
	margin: 0;
}

.fp-scenarios-head h2 {
	margin: 0 0 14px;
	max-width: 9ch;
}

.fp-scenarios-intro p {
	margin: 0;
	max-width: 36ch;
	font-size: 1rem;
	line-height: 1.76;
	color: #c3d6ea;
}

.fp-scenarios-list {
	display: grid;
	gap: 14px;
	align-content: start;
}

.fp-scenario-row {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	padding: 18px 20px;
	border: 1px solid rgba(103, 182, 255, 0.14);
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(17, 28, 46, 0.92) 0%, rgba(9, 17, 29, 0.98) 100%);
	box-shadow: 0 16px 36px rgba(2, 8, 18, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.fp-scenario-row:hover,
.fp-scenario-row:focus-within {
	transform: translateY(-3px);
	border-color: rgba(116, 204, 255, 0.24);
	box-shadow: 0 20px 38px rgba(2, 8, 18, 0.22), 0 0 18px rgba(37, 173, 255, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.fp-scenario-row-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border: 1px solid rgba(103, 182, 255, 0.2);
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(11, 22, 38, 0.9) 0%, rgba(8, 16, 28, 0.96) 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 0 18px rgba(37, 173, 255, 0.08);
	font-family: "Orbitron", "Arial Narrow", sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	color: var(--fp-accent-4);
}

.fp-scenario-row-body {
	min-width: 0;
}

.fp-scenario-row-title {
	margin: 0 0 8px;
	font-size: clamp(1.12rem, 1.5vw, 1.32rem);
	line-height: 1.18;
	letter-spacing: -0.02em;
	color: #f6fbff;
}

.fp-scenario-row-text {
	margin: 0;
	max-width: 56ch;
	font-size: 0.96rem;
	line-height: 1.72;
	color: #bfd4e9;
}

.fp-scenarios-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 0 8px;
	min-height: 280px;
}

.fp-scenarios-visual svg {
	display: block;
	width: min(100%, 320px);
	height: auto;
	filter: drop-shadow(0 0 28px rgba(89, 214, 255, 0.20));
	opacity: 0.98;
}

.fp-scenarios-cta {
	display: flex;
	justify-content: center;
	margin-top: 8px;
}

.fp-scenarios-cta-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	padding: 0.98em 1.55em;
	border-radius: 999px;
	border: 1px solid rgba(132, 226, 255, 0.42);
	background: linear-gradient(90deg, #49cbff 0%, #20a4ff 48%, #0d69ff 100%);
	box-shadow: 0 16px 30px rgba(8, 78, 214, 0.34), 0 0 22px rgba(53, 177, 255, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
	color: #f8fcff;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.fp-scenarios-cta-link:hover,
.fp-scenarios-cta-link:focus {
	filter: brightness(1.06);
	transform: translateY(-2px);
	box-shadow: 0 20px 36px rgba(8, 78, 214, 0.4), 0 0 28px rgba(53, 177, 255, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.26);
	color: #f8fcff;
}

.fp-scenarios-cta-link:active {
	transform: translateY(0);
}

@media (max-width: 1024px) {
	.fp-scenarios {
		padding: 26px 22px;
	}

	.fp-scenarios-shell {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.fp-scenarios-head h2,
	.fp-scenarios-intro p {
		max-width: none;
	}

	.fp-scenarios-visual {
		padding: 10px 0 2px;
		min-height: 220px;
	}

	.fp-scenarios-visual svg {
		width: min(100%, 270px);
	}

	.fp-scenarios-cta {
		margin-top: 4px;
	}
}

@media (max-width: 768px) {
	.fp-scenarios {
		margin-bottom: 34px;
		padding: 22px 18px;
		border-radius: 24px;
	}

	.fp-scenarios-shell {
		gap: 18px;
	}

	.fp-scenario-row {
		grid-template-columns: 46px minmax(0, 1fr);
		gap: 14px;
		padding: 16px 15px;
		border-radius: 18px;
	}

	.fp-scenario-row-number {
		width: 46px;
		height: 46px;
		border-radius: 14px;
		font-size: 13px;
	}

	.fp-scenario-row-title {
		font-size: 1.08rem;
	}

	.fp-scenario-row-text {
		font-size: 0.93rem;
		line-height: 1.64;
	}

	.fp-scenarios-visual {
		min-height: 180px;
	}

	.fp-scenarios-visual svg {
		width: min(100%, 210px);
	}

	.fp-scenarios-cta-link {
		width: 100%;
		min-width: 0;
	}
}



/* scenarios CTA closer to visual */
.fp-scenarios-visual {
	padding: 10px 0 0;
	min-height: 250px;
}

.fp-scenarios-cta {
	margin-top: -18px;
}

@media (max-width: 1024px) {
	.fp-scenarios-visual {
		padding: 4px 0 0;
		min-height: 198px;
	}

	.fp-scenarios-cta {
		margin-top: -10px;
	}
}

@media (max-width: 768px) {
	.fp-scenarios-visual {
		padding: 0;
		min-height: 168px;
	}

	.fp-scenarios-cta {
		margin-top: -2px;
	}
}


/* Scope section */
.fp-scope {
	position: relative;
	margin: 0 0 44px;
	padding: clamp(26px, 3.4vw, 38px);
	border: 1px solid rgba(103, 182, 255, 0.14);
	border-radius: 28px;
	background:
		radial-gradient(circle at 18% 12%, rgba(89, 214, 255, 0.08) 0%, rgba(89, 214, 255, 0) 24%),
		radial-gradient(circle at 84% 18%, rgba(37, 173, 255, 0.08) 0%, rgba(37, 173, 255, 0) 24%),
		linear-gradient(180deg, rgba(12, 21, 35, 0.98) 0%, rgba(8, 15, 27, 0.98) 100%);
	box-shadow: 0 24px 54px rgba(2, 8, 18, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
}

.fp-scope::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.012) 0, rgba(255, 255, 255, 0.012) 1px, transparent 1px, transparent 100%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.01) 0, rgba(255, 255, 255, 0.01) 1px, transparent 1px, transparent 100%);
	background-size: 88px 88px;
	opacity: 0.12;
	pointer-events: none;
}

.fp-scope::after {
	content: "";
	position: absolute;
	right: -24px;
	top: 18px;
	width: 320px;
	height: 320px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.08;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 320' fill='none'%3E%3Ccircle cx='160' cy='160' r='92' stroke='%2359d6ff' stroke-width='4'/%3E%3Ccircle cx='160' cy='160' r='44' stroke='%2359d6ff' stroke-width='4'/%3E%3Cpath d='M160 68V116M160 204V252M68 160H116M204 160H252' stroke='%2359d6ff' stroke-width='4' stroke-linecap='round'/%3E%3Ccircle cx='160' cy='68' r='8' fill='%2359d6ff'/%3E%3Ccircle cx='160' cy='252' r='8' fill='%2359d6ff'/%3E%3Ccircle cx='68' cy='160' r='8' fill='%2359d6ff'/%3E%3Ccircle cx='252' cy='160' r='8' fill='%2359d6ff'/%3E%3Cpath d='M110 110L138 138M210 110L182 138M110 210L138 182M210 210L182 182' stroke='%2359d6ff' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fp-scope > * {
	position: relative;
	z-index: 1;
}

.fp-scope-head {
	max-width: 760px;
	margin: 0 0 26px;
}

.fp-scope-head h2 {
	margin: 0 0 14px;
}

.fp-scope-intro p {
	margin: 0;
	max-width: 720px;
	font-size: 1rem;
	line-height: 1.76;
	color: #c3d6ea;
}

.fp-scope-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.fp-scope-item {
	min-width: 0;
	padding: 18px 16px 16px;
	border: 1px solid rgba(103, 182, 255, 0.14);
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(16, 27, 44, 0.94) 0%, rgba(10, 18, 31, 0.98) 100%);
	box-shadow: 0 14px 32px rgba(2, 8, 18, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.fp-scope-item:hover,
.fp-scope-item:focus-within {
	transform: translateY(-3px);
	border-color: rgba(116, 204, 255, 0.24);
	box-shadow: 0 18px 38px rgba(2, 8, 18, 0.22), 0 0 18px rgba(37, 173, 255, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.fp-scope-item-title {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0 0 10px;
	font-size: 1rem;
	line-height: 1.2;
	letter-spacing: -0.018em;
	color: #f6fbff;
}

.fp-scope-item-title::before {
	content: "";
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	margin-top: 0.04em;
	border: 1px solid rgba(103, 182, 255, 0.16);
	border-radius: 10px;
	background-color: rgba(11, 20, 34, 0.84);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 15px 15px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 0 18px rgba(37, 173, 255, 0.08);
}

.fp-scope-item-text {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.66;
	color: #bfd4e9;
}

.fp-scope-grid .fp-scope-item:nth-child(1) .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='7' rx='2'/%3E%3Crect x='4' y='13' width='16' height='7' rx='2'/%3E%3Cpath d='M8 7h.01M12 7h.01M8 16h.01M12 16h.01'/%3E%3C/svg%3E");
}

.fp-scope-grid .fp-scope-item:nth-child(2) .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5v14M18 5v14M6 8h6M18 10h-6M6 16h4M18 15h-5'/%3E%3Ccircle cx='12' cy='8' r='2'/%3E%3Ccircle cx='12' cy='15' r='2'/%3E%3C/svg%3E");
}

.fp-scope-grid .fp-scope-item:nth-child(3) .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7.5 12 4l8 3.5M6 10.5V17l6 3 6-3v-6.5'/%3E%3Cpath d='M12 7v13'/%3E%3C/svg%3E");
}

.fp-scope-grid .fp-scope-item:nth-child(4) .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 7.6-7 10-4-2.4-7-5.5-7-10V6l7-3Z'/%3E%3Cpath d='M9.5 11.5 11 13l3.5-3.5'/%3E%3C/svg%3E");
}

.fp-scope-grid .fp-scope-item:nth-child(5) .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='10' rx='2'/%3E%3Cpath d='M8 19h8M12 14.5V19M16.8 8.2l-3.6 3.6M14.7 7.1l2.1 2.1'/%3E%3C/svg%3E");
}

.fp-scope-grid .fp-scope-item:nth-child(6) .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M7 8h10M9 16h6'/%3E%3Cpath d='M4 7l2-2M18 19l2-2M18 5l2 2M4 17l2 2'/%3E%3C/svg%3E");
}

.fp-scope-grid .fp-scope-item:nth-child(7) .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 4v5c0 4.3-2.7 7.1-7 9-4.3-1.9-7-4.7-7-9V7l7-4Z'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E");
}

.fp-scope-grid .fp-scope-item:nth-child(8) .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3Cpath d='M4 6h4M4 12h2M4 18h6'/%3E%3C/svg%3E");
}

@media (max-width: 1200px) {
	.fp-scope-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	.fp-scope {
		padding: 26px 22px;
	}

	.fp-scope::after {
		width: 260px;
		height: 260px;
		right: -18px;
		top: 22px;
	}

	.fp-scope-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.fp-scope {
		margin-bottom: 34px;
		padding: 22px 18px;
		border-radius: 24px;
	}

	.fp-scope-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.fp-scope-item {
		padding: 16px 15px 15px;
		border-radius: 18px;
	}

	.fp-scope-item-title {
		font-size: 1.02rem;
	}

	.fp-scope-item-text {
		font-size: 0.91rem;
		line-height: 1.6;
	}

	.fp-scope::after {
		width: 180px;
		height: 180px;
		right: -22px;
		top: 44px;
		opacity: 0.06;
	}
}


/* Scope block finishing */
.fp-scope::after {
	width: 380px;
	height: 380px;
	right: -10px;
	top: 8px;
	opacity: 0.14;
}

.fp-scope-item--accent {
	position: relative;
	grid-column: span 2;
	padding: 22px 20px 20px;
	border-color: rgba(121, 212, 255, 0.26);
	background:
		radial-gradient(circle at 86% 18%, rgba(89, 214, 255, 0.18) 0%, rgba(89, 214, 255, 0) 34%),
		linear-gradient(180deg, rgba(20, 34, 56, 0.98) 0%, rgba(10, 19, 33, 0.99) 100%);
	box-shadow: 0 18px 40px rgba(2, 8, 18, 0.24), 0 0 28px rgba(37, 173, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.06);
	overflow: hidden;
}

.fp-scope-item--accent::before {
	content: "";
	position: absolute;
	inset: auto -36px -46px auto;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(89, 214, 255, 0.24) 0%, rgba(89, 214, 255, 0) 70%);
	pointer-events: none;
}

.fp-scope-item--accent .fp-scope-item-title {
	font-size: 1.14rem;
}

.fp-scope-item--accent .fp-scope-item-text {
	max-width: 58ch;
	font-size: 0.96rem;
	line-height: 1.72;
	color: #d4e6f7;
}

.fp-scope-cta {
	display: flex;
	justify-content: center;
	margin-top: 22px;
}

.fp-scope-cta-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 240px;
	padding: 0.98em 1.55em;
	border-radius: 999px;
	border: 1px solid rgba(132, 226, 255, 0.42);
	background: linear-gradient(90deg, #49cbff 0%, #20a4ff 48%, #0d69ff 100%);
	box-shadow: 0 16px 30px rgba(8, 78, 214, 0.34), 0 0 22px rgba(53, 177, 255, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
	color: #f8fcff;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.fp-scope-cta-link:hover,
.fp-scope-cta-link:focus {
	filter: brightness(1.06);
	transform: translateY(-2px);
	box-shadow: 0 20px 36px rgba(8, 78, 214, 0.4), 0 0 28px rgba(53, 177, 255, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.26);
	color: #f8fcff;
}

.fp-scope-cta-link:active {
	transform: translateY(0);
}

@media (max-width: 1200px) {
	.fp-scope-item--accent {
		grid-column: span 2;
	}
}

@media (max-width: 1024px) {
	.fp-scope::after {
		width: 300px;
		height: 300px;
		right: -12px;
		top: 18px;
		opacity: 0.12;
	}

	.fp-scope-item--accent {
		grid-column: span 2;
	}
}

@media (max-width: 768px) {
	.fp-scope-item--accent {
		grid-column: span 1;
		padding: 18px 16px 16px;
	}

	.fp-scope-cta {
		margin-top: 18px;
	}

	.fp-scope-cta-link {
		width: 100%;
		min-width: 0;
	}

	.fp-scope::after {
		width: 220px;
		height: 220px;
		top: 34px;
		opacity: 0.09;
	}
}


/* Scope symmetric two-accent layout */
.fp-scope-grid .fp-scope-item.fp-scope-item--ustanovka-fastpanel .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5v14M18 5v14M6 8h6M18 10h-6M6 16h4M18 15h-5'/%3E%3Ccircle cx='12' cy='8' r='2'/%3E%3Ccircle cx='12' cy='15' r='2'/%3E%3C/svg%3E");
}

.fp-scope-grid .fp-scope-item.fp-scope-item--domen-i-dns .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7.5 12 4l8 3.5M6 10.5V17l6 3 6-3v-6.5'/%3E%3Cpath d='M12 7v13'/%3E%3C/svg%3E");
}

.fp-scope-grid .fp-scope-item.fp-scope-item--ssl-i-https .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 7.6-7 10-4-2.4-7-5.5-7-10V6l7-3Z'/%3E%3Cpath d='M9.5 11.5 11 13l3.5-3.5'/%3E%3C/svg%3E");
}

.fp-scope-grid .fp-scope-item.fp-scope-item--php-bd-i-veb-server .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='7' rx='2'/%3E%3Crect x='4' y='13' width='16' height='7' rx='2'/%3E%3Cpath d='M8 7h.01M12 7h.01M8 16h.01M12 16h.01'/%3E%3C/svg%3E");
}

.fp-scope-grid .fp-scope-item.fp-scope-item--rezervnye-kopii .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='10' rx='2'/%3E%3Cpath d='M8 19h8M12 14.5V19M16.8 8.2l-3.6 3.6M14.7 7.1l2.1 2.1'/%3E%3C/svg%3E");
}

.fp-scope-grid .fp-scope-item.fp-scope-item--optimizaciya-vps .fp-scope-item-title::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M7 8h10M9 16h6'/%3E%3Cpath d='M4 7l2-2M18 19l2-2M18 5l2 2M4 17l2 2'/%3E%3C/svg%3E");
}


/* Process section */
.fp-process {
	position: relative;
	margin: 0 0 44px;
	padding: clamp(26px, 3.4vw, 38px);
	border: 1px solid rgba(103, 182, 255, 0.14);
	border-radius: 28px;
	background:
		radial-gradient(circle at 12% 10%, rgba(89, 214, 255, 0.08) 0%, rgba(89, 214, 255, 0) 24%),
		radial-gradient(circle at 86% 20%, rgba(37, 173, 255, 0.08) 0%, rgba(37, 173, 255, 0) 24%),
		linear-gradient(180deg, rgba(12, 21, 35, 0.98) 0%, rgba(8, 15, 27, 0.98) 100%);
	box-shadow: 0 24px 54px rgba(2, 8, 18, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
}

.fp-process::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.012) 0, rgba(255, 255, 255, 0.012) 1px, transparent 1px, transparent 100%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.01) 0, rgba(255, 255, 255, 0.01) 1px, transparent 1px, transparent 100%);
	background-size: 88px 88px;
	opacity: 0.14;
	pointer-events: none;
}

.fp-process::after {
	content: "";
	position: absolute;
	left: -32px;
	bottom: -40px;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(89, 214, 255, 0.14) 0%, rgba(89, 214, 255, 0.03) 34%, rgba(89, 214, 255, 0) 72%);
	pointer-events: none;
}

.fp-process > * {
	position: relative;
	z-index: 1;
}

.fp-process-shell {
	display: grid;
	grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(24px, 3vw, 42px);
	align-items: start;
}

.fp-process-side {
	display: grid;
	gap: 18px;
	align-content: start;
}

.fp-process-head h2 {
	margin: 0 0 14px;
	max-width: 9ch;
}

.fp-process-intro p {
	margin: 0;
	max-width: 38ch;
	font-size: 1rem;
	line-height: 1.76;
	color: #c3d6ea;
}

.fp-process-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 0 0;
	min-height: 360px;
}

.fp-process-visual svg {
	display: block;
	width: min(100%, 320px);
	height: auto;
	filter: drop-shadow(0 0 30px rgba(89, 214, 255, 0.14));
	opacity: 0.92;
}

.fp-process-timeline {
	position: relative;
	display: grid;
	gap: 14px;
	padding-left: 34px;
}

.fp-process-timeline::before {
	content: "";
	position: absolute;
	left: 10px;
	top: 18px;
	bottom: 18px;
	width: 2px;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(89, 214, 255, 0) 0%, rgba(89, 214, 255, 0.82) 16%, rgba(89, 214, 255, 0.82) 84%, rgba(89, 214, 255, 0) 100%);
	box-shadow: 0 0 18px rgba(89, 214, 255, 0.12);
}

.fp-process-step {
	position: relative;
	padding-left: 22px;
}

.fp-process-step-dot {
	position: absolute;
	left: -1px;
	top: 30px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background:
		radial-gradient(circle at 50% 50%, rgba(141, 232, 255, 1) 0%, rgba(89, 214, 255, 0.98) 36%, rgba(37, 173, 255, 0.92) 62%, rgba(37, 173, 255, 0.24) 100%);
	box-shadow: 0 0 0 6px rgba(89, 214, 255, 0.08), 0 0 20px rgba(89, 214, 255, 0.26);
}

.fp-process-step-card {
	position: relative;
	padding: 18px 20px 18px 72px;
	border: 1px solid rgba(103, 182, 255, 0.14);
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(17, 28, 46, 0.92) 0%, rgba(9, 17, 29, 0.98) 100%);
	box-shadow: 0 16px 36px rgba(2, 8, 18, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.fp-process-step-card::before {
	content: "";
	position: absolute;
	left: 20px;
	top: 18px;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(103, 182, 255, 0.18);
	border-radius: 12px;
	background-color: rgba(11, 20, 34, 0.84);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 20px 20px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 0 18px rgba(37, 173, 255, 0.08);
}

.fp-process-step:hover .fp-process-step-card,
.fp-process-step:focus-within .fp-process-step-card {
	transform: translateY(-3px);
	border-color: rgba(116, 204, 255, 0.24);
	box-shadow: 0 20px 38px rgba(2, 8, 18, 0.22), 0 0 18px rgba(37, 173, 255, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.fp-process-step-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 10px;
	padding: 6px 10px;
	border: 1px solid rgba(103, 182, 255, 0.18);
	border-radius: 999px;
	background: rgba(10, 18, 31, 0.76);
	font-family: "Orbitron", "Arial Narrow", sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	color: var(--fp-accent-4);
}

.fp-process-step-title {
	margin: 0 0 8px;
	font-size: clamp(1.12rem, 1.5vw, 1.32rem);
	line-height: 1.18;
	letter-spacing: -0.02em;
	color: #f6fbff;
}

.fp-process-step-text {
	margin: 0;
	max-width: 58ch;
	font-size: 0.96rem;
	line-height: 1.72;
	color: #bfd4e9;
}

.fp-process-step--access .fp-process-step-card::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 11V8a5 5 0 0 1 10 0v3'/%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M12 15v2'/%3E%3C/svg%3E");
}

.fp-process-step--estimate .fp-process-step-card::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 7h8M9 12h8M9 17h5'/%3E%3Cpath d='M5 7h.01M5 12h.01M5 17h.01'/%3E%3Crect x='3' y='3' width='18' height='18' rx='3'/%3E%3C/svg%3E");
}

.fp-process-step--setup .fp-process-step-card::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='6' rx='2'/%3E%3Crect x='4' y='14' width='16' height='6' rx='2'/%3E%3Cpath d='M8 7h.01M12 7h.01M8 17h.01M12 17h.01'/%3E%3C/svg%3E");
}

.fp-process-step--check .fp-process-step-card::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3Ccircle cx='12' cy='12' r='9' stroke-opacity='0.45'/%3E%3C/svg%3E");
}

.fp-process-step--handoff .fp-process-step-card::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 12h10'/%3E%3Cpath d='M13 8l4 4-4 4'/%3E%3Cpath d='M5 5h6a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M19 19h-6a2 2 0 0 1-2-2v-2'/%3E%3C/svg%3E");
}

@media (max-width: 1024px) {
	.fp-process {
		padding: 26px 22px;
	}

	.fp-process-shell {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.fp-process-head h2,
	.fp-process-intro p {
		max-width: none;
	}

	.fp-process-visual {
		padding: 0;
		min-height: 240px;
	}

	.fp-process-visual svg {
		width: min(100%, 260px);
	}

	.fp-process-timeline {
		padding-left: 28px;
	}
}

@media (max-width: 768px) {
	.fp-process {
		margin-bottom: 34px;
		padding: 22px 18px;
		border-radius: 24px;
	}

	.fp-process-visual {
		min-height: 180px;
	}

	.fp-process-visual svg {
		width: min(100%, 200px);
	}

	.fp-process-timeline {
		gap: 12px;
		padding-left: 24px;
	}

	.fp-process-timeline::before {
		left: 7px;
	}

	.fp-process-step {
		padding-left: 18px;
	}

	.fp-process-step-dot {
		left: -3px;
		top: 24px;
		width: 18px;
		height: 18px;
	}

	.fp-process-step-card {
		padding: 16px 15px 15px 58px;
		border-radius: 18px;
	}

	.fp-process-step-card::before {
		left: 15px;
		top: 16px;
		width: 32px;
		height: 32px;
		border-radius: 10px;
		background-size: 17px 17px;
	}

	.fp-process-step-title {
		font-size: 1.08rem;
	}

	.fp-process-step-text {
		font-size: 0.93rem;
		line-height: 1.64;
	}
}


/* Pricing section */
.fp-pricing {
	position: relative;
	margin: 0 0 44px;
	padding: clamp(26px, 3.4vw, 38px);
	border: 1px solid rgba(103, 182, 255, 0.14);
	border-radius: 28px;
	background:
		radial-gradient(circle at 12% 10%, rgba(89, 214, 255, 0.08) 0%, rgba(89, 214, 255, 0) 24%),
		radial-gradient(circle at 88% 18%, rgba(37, 173, 255, 0.08) 0%, rgba(37, 173, 255, 0) 26%),
		linear-gradient(180deg, rgba(12, 21, 35, 0.98) 0%, rgba(8, 15, 27, 0.98) 100%);
	box-shadow: 0 24px 54px rgba(2, 8, 18, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
}

.fp-pricing::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.012) 0, rgba(255, 255, 255, 0.012) 1px, transparent 1px, transparent 100%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.01) 0, rgba(255, 255, 255, 0.01) 1px, transparent 1px, transparent 100%);
	background-size: 88px 88px;
	opacity: 0.14;
	pointer-events: none;
}

.fp-pricing::after {
	content: "";
	position: absolute;
	right: -44px;
	top: 22px;
	width: 360px;
	height: 360px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.08;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 360' fill='none'%3E%3Ccircle cx='180' cy='180' r='98' stroke='%2359d6ff' stroke-width='4'/%3E%3Ccircle cx='180' cy='180' r='52' stroke='%2359d6ff' stroke-width='4' stroke-opacity='.72'/%3E%3Cpath d='M180 70V108M180 252V290M70 180H108M252 180H290' stroke='%2359d6ff' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M118 118L144 144M242 118L216 144M118 242L144 216M242 242L216 216' stroke='%2359d6ff' stroke-width='4' stroke-linecap='round'/%3E%3Crect x='160' y='114' width='40' height='132' rx='20' stroke='%2359d6ff' stroke-width='4'/%3E%3Cpath d='M146 146h68M146 180h68M146 214h68' stroke='%2359d6ff' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}

.fp-pricing > * {
	position: relative;
	z-index: 1;
}

.fp-pricing-head {
	max-width: 760px;
	margin: 0 0 24px;
}

.fp-pricing-head h2 {
	margin: 0 0 14px;
}

.fp-pricing-intro p {
	margin: 0;
	max-width: 720px;
	font-size: 1rem;
	line-height: 1.76;
	color: #c3d6ea;
}

.fp-pricing-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 20px;
}

.fp-pricing-card {
	position: relative;
	min-width: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 22px 20px 20px;
	border: 1px solid rgba(103, 182, 255, 0.14);
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(17, 28, 46, 0.92) 0%, rgba(9, 17, 29, 0.98) 100%);
	box-shadow: 0 16px 36px rgba(2, 8, 18, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
	overflow: hidden;
}

.fp-pricing-card:hover,
.fp-pricing-card:focus-within {
	transform: translateY(-4px);
	border-color: rgba(116, 204, 255, 0.24);
	box-shadow: 0 20px 38px rgba(2, 8, 18, 0.22), 0 0 18px rgba(37, 173, 255, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.fp-pricing-card::before {
	content: "";
	width: 24px;
	height: 24px;
	margin-bottom: 14px;
	border: 1px solid rgba(103, 182, 255, 0.18);
	border-radius: 10px;
	background-color: rgba(11, 20, 34, 0.84);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 16px 16px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 0 18px rgba(37, 173, 255, 0.08);
}

.fp-pricing-card--basic::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='7' rx='2'/%3E%3Crect x='4' y='13' width='16' height='7' rx='2'/%3E%3Cpath d='M8 7h.01M12 7h.01M8 16h.01M12 16h.01'/%3E%3C/svg%3E");
}

.fp-pricing-card--optimal::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5v14M18 5v14M6 8h6M18 10h-6M6 16h4M18 15h-5'/%3E%3Ccircle cx='12' cy='8' r='2'/%3E%3Ccircle cx='12' cy='15' r='2'/%3E%3C/svg%3E");
}

.fp-pricing-card--advanced::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M7 8h10M9 16h6'/%3E%3Cpath d='M4 7l2-2M18 19l2-2M18 5l2 2M4 17l2 2'/%3E%3C/svg%3E");
}

.fp-pricing-card-badge {
	position: absolute;
	top: 16px;
	right: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 11px;
	border: 1px solid rgba(132, 226, 255, 0.3);
	border-radius: 999px;
	background: rgba(10, 18, 31, 0.76);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	color: var(--fp-accent-4);
}

.fp-pricing-card--featured {
	border-color: rgba(121, 212, 255, 0.24);
	background:
		radial-gradient(circle at 84% 12%, rgba(89, 214, 255, 0.16) 0%, rgba(89, 214, 255, 0) 32%),
		linear-gradient(180deg, rgba(19, 33, 54, 0.96) 0%, rgba(10, 18, 32, 0.99) 100%);
	box-shadow: 0 18px 40px rgba(2, 8, 18, 0.24), 0 0 24px rgba(37, 173, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.fp-pricing-card-title {
	margin: 0 0 10px;
	font-size: clamp(1.14rem, 1.6vw, 1.38rem);
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: #f6fbff;
}

.fp-pricing-card-price {
	margin: 0 0 12px;
	font-family: "Orbitron", "Arial Narrow", sans-serif;
	font-size: clamp(1.32rem, 2vw, 1.72rem);
	line-height: 1;
	letter-spacing: 0.02em;
	color: var(--fp-accent-4);
}

.fp-pricing-card-text {
	margin: 0 0 16px;
	font-size: 0.95rem;
	line-height: 1.68;
	color: #bfd4e9;
}

.fp-pricing-card-list {
	margin: auto 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.fp-pricing-card-list li {
	position: relative;
	margin: 0;
	padding-left: 18px;
	font-size: 0.92rem;
	line-height: 1.58;
	color: #d7e8f9;
}

.fp-pricing-card-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: linear-gradient(180deg, #8de8ff 0%, #25adff 100%);
	box-shadow: 0 0 12px rgba(89, 214, 255, 0.32);
	transform: translateY(-50%);
}

.fp-pricing-individual {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	padding: 22px 24px;
	border: 1px solid rgba(121, 212, 255, 0.24);
	border-radius: 24px;
	background:
		radial-gradient(circle at 88% 18%, rgba(89, 214, 255, 0.16) 0%, rgba(89, 214, 255, 0) 34%),
		linear-gradient(180deg, rgba(18, 31, 50, 0.96) 0%, rgba(9, 17, 30, 0.98) 100%);
	box-shadow: 0 18px 40px rgba(2, 8, 18, 0.22), 0 0 24px rgba(37, 173, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.05);
	margin-bottom: 18px;
}

.fp-pricing-individual-copy {
	min-width: 0;
}

.fp-pricing-individual-kicker {
	display: inline-flex;
	align-items: center;
	margin: 0 0 10px;
	padding: 7px 12px;
	border: 1px solid rgba(103, 182, 255, 0.18);
	border-radius: 999px;
	background: rgba(10, 18, 31, 0.76);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--fp-accent-4);
}

.fp-pricing-individual-title {
	margin: 0 0 8px;
	font-size: clamp(1.18rem, 1.7vw, 1.46rem);
	line-height: 1.18;
	letter-spacing: -0.02em;
	color: #f6fbff;
}

.fp-pricing-individual-text {
	margin: 0;
	max-width: 64ch;
	font-size: 0.96rem;
	line-height: 1.7;
	color: #d1e2f3;
}

.fp-pricing-individual-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-width: 220px;
	padding: 0.98em 1.55em;
	border-radius: 999px;
	border: 1px solid rgba(132, 226, 255, 0.42);
	background: linear-gradient(90deg, #49cbff 0%, #20a4ff 48%, #0d69ff 100%);
	box-shadow: 0 16px 30px rgba(8, 78, 214, 0.34), 0 0 22px rgba(53, 177, 255, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
	color: #f8fcff;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.fp-pricing-individual-link:hover,
.fp-pricing-individual-link:focus {
	filter: brightness(1.06);
	transform: translateY(-2px);
	box-shadow: 0 20px 36px rgba(8, 78, 214, 0.4), 0 0 28px rgba(53, 177, 255, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.26);
	color: #f8fcff;
}

.fp-pricing-note p {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.72;
	color: #c3d6ea;
}

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

	.fp-pricing-card--advanced {
		grid-column: span 2;
	}
}

@media (max-width: 1024px) {
	.fp-pricing {
		padding: 26px 22px;
	}

	.fp-pricing::after {
		width: 280px;
		height: 280px;
		right: -24px;
		top: 34px;
	}

	.fp-pricing-individual {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 768px) {
	.fp-pricing {
		margin-bottom: 34px;
		padding: 22px 18px;
		border-radius: 24px;
	}

	.fp-pricing-grid {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-bottom: 16px;
	}

	.fp-pricing-card,
	.fp-pricing-card--advanced {
		grid-column: span 1;
		padding: 18px 16px 16px;
		border-radius: 18px;
	}

	.fp-pricing-card-badge {
		top: 14px;
		right: 14px;
	}

	.fp-pricing-individual {
		padding: 18px 16px;
		border-radius: 18px;
		gap: 16px;
	}

	.fp-pricing-individual-link {
		width: 100%;
		min-width: 0;
	}

	.fp-pricing::after {
		width: 190px;
		height: 190px;
		right: -24px;
		top: 52px;
		opacity: 0.06;
	}
}


/* Pricing buttons */
.fp-pricing-card-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 18px;
	padding: 0.96em 1.4em;
	border-radius: 999px;
	border: 1px solid rgba(132, 226, 255, 0.34);
	background: linear-gradient(180deg, rgba(14, 28, 48, 0.96) 0%, rgba(9, 18, 32, 0.98) 100%);
	box-shadow: 0 14px 28px rgba(3, 10, 24, 0.22), 0 0 18px rgba(53, 177, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.08);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
	color: #f8fcff;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.fp-pricing-card-button:hover,
.fp-pricing-card-button:focus {
	filter: brightness(1.04);
	transform: translateY(-2px);
	border-color: rgba(141, 232, 255, 0.54);
	box-shadow: 0 18px 34px rgba(4, 12, 28, 0.26), 0 0 24px rgba(53, 177, 255, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.12);
	color: #f8fcff;
}

.fp-pricing-card--featured .fp-pricing-card-button {
	border-color: rgba(132, 226, 255, 0.42);
	background: linear-gradient(90deg, #49cbff 0%, #20a4ff 48%, #0d69ff 100%);
	box-shadow: 0 16px 30px rgba(8, 78, 214, 0.34), 0 0 22px rgba(53, 177, 255, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.fp-pricing-card--featured .fp-pricing-card-button:hover,
.fp-pricing-card--featured .fp-pricing-card-button:focus {
	filter: brightness(1.06);
	border-color: rgba(141, 232, 255, 0.58);
	box-shadow: 0 20px 36px rgba(8, 78, 214, 0.4), 0 0 28px rgba(53, 177, 255, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.26);
}

@media (max-width: 768px) {
	.fp-pricing-card-button {
		margin-top: 16px;
	}
}

/* FAQ section */
.fp-faq {
	position: relative;
	margin: 0 0 44px;
	padding: clamp(26px, 3.4vw, 38px);
	border: 1px solid rgba(103, 182, 255, 0.14);
	border-radius: 28px;
	background:
		radial-gradient(circle at 12% 10%, rgba(89, 214, 255, 0.08) 0%, rgba(89, 214, 255, 0) 24%),
		radial-gradient(circle at 86% 18%, rgba(37, 173, 255, 0.08) 0%, rgba(37, 173, 255, 0) 24%),
		linear-gradient(180deg, rgba(12, 21, 35, 0.98) 0%, rgba(8, 15, 27, 0.98) 100%);
	box-shadow: 0 24px 54px rgba(2, 8, 18, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
}

.fp-faq::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.012) 0, rgba(255, 255, 255, 0.012) 1px, transparent 1px, transparent 100%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.01) 0, rgba(255, 255, 255, 0.01) 1px, transparent 1px, transparent 100%);
	background-size: 88px 88px;
	opacity: 0.14;
	pointer-events: none;
}

.fp-faq::after {
	content: "";
	position: absolute;
	right: -30px;
	bottom: -36px;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(89, 214, 255, 0.12) 0%, rgba(89, 214, 255, 0.03) 34%, rgba(89, 214, 255, 0) 72%);
	pointer-events: none;
}

.fp-faq > * {
	position: relative;
	z-index: 1;
}

.fp-faq-shell {
	display: grid;
	grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(24px, 3vw, 42px);
	align-items: start;
}

.fp-faq-side {
	display: grid;
	gap: 18px;
	align-content: start;
}

.fp-faq-head h2 {
	margin: 0 0 14px;
	max-width: 9ch;
}

.fp-faq-intro p {
	margin: 0;
	max-width: 38ch;
	font-size: 1rem;
	line-height: 1.76;
	color: #c3d6ea;
}

.fp-faq-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 0 0;
	min-height: 320px;
}

.fp-faq-visual svg {
	display: block;
	width: min(100%, 300px);
	height: auto;
	filter: drop-shadow(0 0 28px rgba(89, 214, 255, 0.16));
	opacity: 0.92;
}

.fp-faq-list {
	display: grid;
	gap: 14px;
}

.fp-faq-item {
	border: 1px solid rgba(103, 182, 255, 0.14);
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(17, 28, 46, 0.92) 0%, rgba(9, 17, 29, 0.98) 100%);
	box-shadow: 0 16px 36px rgba(2, 8, 18, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
	transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

.fp-faq-item[open],
.fp-faq-item:hover,
.fp-faq-item:focus-within {
	border-color: rgba(116, 204, 255, 0.24);
	box-shadow: 0 20px 38px rgba(2, 8, 18, 0.22), 0 0 18px rgba(37, 173, 255, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transform: translateY(-2px);
}

.fp-faq-question {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 62px 18px 20px;
	cursor: pointer;
	list-style: none;
}

.fp-faq-question::-webkit-details-marker {
	display: none;
}

.fp-faq-question-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(103, 182, 255, 0.18);
	border-radius: 12px;
	background: rgba(10, 18, 31, 0.76);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 0 18px rgba(37, 173, 255, 0.08);
	font-size: 0;
	color: transparent;
}

.fp-faq-question-badge::before {
	content: "";
	width: 18px;
	height: 18px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 18px 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359d6ff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.2 9a2.8 2.8 0 1 1 5.28 1.3c-.63 1.05-1.75 1.53-2.46 2.22-.5.49-.82 1.07-.82 1.98'/%3E%3Cpath d='M12 17.6h.01'/%3E%3Ccircle cx='12' cy='12' r='9' stroke-opacity='.42'/%3E%3C/svg%3E");
}

.fp-faq-question-text {
	font-size: clamp(1.06rem, 1.45vw, 1.24rem);
	line-height: 1.32;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #f6fbff;
}

.fp-faq-question-toggle {
	position: absolute;
	right: 20px;
	top: 50%;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	border: 1px solid rgba(103, 182, 255, 0.18);
	border-radius: 10px;
	background: rgba(11, 20, 34, 0.84);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 0 18px rgba(37, 173, 255, 0.08);
}

.fp-faq-question-toggle::before,
.fp-faq-question-toggle::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10px;
	height: 2px;
	border-radius: 999px;
	background: #59d6ff;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.fp-faq-question-toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.fp-faq-item[open] .fp-faq-question-toggle::after {
	opacity: 0;
	transform: translate(-50%, -50%) rotate(90deg) scaleX(0.2);
}

.fp-faq-answer {
	padding: 0 20px 20px 20px;
}

.fp-faq-answer p {
	margin: 0;
	max-width: 62ch;
	padding-left: 56px;
	font-size: 0.96rem;
	line-height: 1.72;
	color: #bfd4e9;
}

@media (max-width: 1024px) {
	.fp-faq {
		padding: 26px 22px;
	}

	.fp-faq-shell {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.fp-faq-head h2,
	.fp-faq-intro p {
		max-width: none;
	}

	.fp-faq-visual {
		padding: 0;
		min-height: 220px;
	}

	.fp-faq-visual svg {
		width: min(100%, 240px);
	}
}

@media (max-width: 768px) {
	.fp-faq {
		margin-bottom: 34px;
		padding: 22px 18px;
		border-radius: 24px;
	}

	.fp-faq-visual {
		min-height: 170px;
	}

	.fp-faq-visual svg {
		width: min(100%, 190px);
	}

	.fp-faq-list {
		gap: 12px;
	}

	.fp-faq-item {
		border-radius: 18px;
	}

	.fp-faq-question {
		gap: 12px;
		padding: 16px 54px 16px 16px;
	}

	.fp-faq-question-badge {
		flex-basis: 34px;
		width: 34px;
		height: 34px;
		border-radius: 10px;
	}

	.fp-faq-question-badge::before {
		width: 16px;
		height: 16px;
		background-size: 16px 16px;
	}

	.fp-faq-question-text {
		font-size: 1rem;
		line-height: 1.36;
	}

	.fp-faq-question-toggle {
		right: 16px;
		width: 22px;
		height: 22px;
		margin-top: -11px;
	}

	.fp-faq-answer {
		padding: 0 16px 16px 16px;
	}

	.fp-faq-answer p {
		padding-left: 0;
		font-size: 0.93rem;
		line-height: 1.64;
	}
}


/* FAQ CTA */
.fp-faq-cta {
	display: flex;
	justify-content: center;
	margin-top: -6px;
}

.fp-faq-cta-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	padding: 0.98em 1.55em;
	border-radius: 999px;
	border: 1px solid rgba(132, 226, 255, 0.42);
	background: linear-gradient(90deg, #49cbff 0%, #20a4ff 48%, #0d69ff 100%);
	box-shadow: 0 16px 30px rgba(8, 78, 214, 0.34), 0 0 22px rgba(53, 177, 255, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
	color: #f8fcff;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.fp-faq-cta-link:hover,
.fp-faq-cta-link:focus {
	filter: brightness(1.06);
	transform: translateY(-2px);
	box-shadow: 0 20px 36px rgba(8, 78, 214, 0.4), 0 0 28px rgba(53, 177, 255, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.26);
	color: #f8fcff;
}

.fp-faq-cta-link:active {
	transform: translateY(0);
}

@media (max-width: 1024px) {
	.fp-faq-cta {
		margin-top: 0;
	}
}

@media (max-width: 768px) {
	.fp-faq-cta {
		margin-top: 2px;
	}

	.fp-faq-cta-link {
		width: 100%;
		min-width: 0;
	}
}


/* Contact final CTA section */
.fp-contact {
	position: relative;
	margin: 0 0 24px;
	padding: clamp(26px, 3.4vw, 38px);
	border: 1px solid rgba(103, 182, 255, 0.14);
	border-radius: 28px;
	background:
		radial-gradient(circle at 12% 10%, rgba(89, 214, 255, 0.08) 0%, rgba(89, 214, 255, 0) 24%),
		radial-gradient(circle at 86% 18%, rgba(37, 173, 255, 0.08) 0%, rgba(37, 173, 255, 0) 24%),
		linear-gradient(180deg, rgba(12, 21, 35, 0.98) 0%, rgba(8, 15, 27, 0.98) 100%);
	box-shadow: 0 24px 54px rgba(2, 8, 18, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
}

.fp-contact::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.012) 0, rgba(255, 255, 255, 0.012) 1px, transparent 1px, transparent 100%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.01) 0, rgba(255, 255, 255, 0.01) 1px, transparent 1px, transparent 100%);
	background-size: 88px 88px;
	opacity: 0.14;
	pointer-events: none;
}

.fp-contact::after {
	content: "";
	position: absolute;
	left: -36px;
	bottom: -48px;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(89, 214, 255, 0.14) 0%, rgba(89, 214, 255, 0.04) 34%, rgba(89, 214, 255, 0) 72%);
	pointer-events: none;
}

.fp-contact > * {
	position: relative;
	z-index: 1;
}

.fp-contact-shell {
	display: grid;
	grid-template-columns: minmax(300px, 0.86fr) minmax(0, 1.14fr);
	gap: clamp(24px, 3vw, 42px);
	align-items: start;
}

.fp-contact-side {
	display: grid;
	gap: 18px;
	align-content: start;
	padding-top: 6px;
}

.fp-contact-head h2 {
	margin: 0 0 14px;
	max-width: 12ch;
}

.fp-contact-intro p {
	margin: 0;
	max-width: 38ch;
	font-size: 1rem;
	line-height: 1.76;
	color: #c3d6ea;
}

.fp-contact-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.fp-contact-actions .wp-block-buttons,
.fp-contact-actions .gb-buttons {
	margin: 0;
}

.fp-contact-actions a,
.fp-contact-actions .wp-block-button__link,
.fp-contact-actions .gb-button {
	min-width: 220px;
}

.fp-contact-points {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 12px;
}

.fp-contact-points li {
	position: relative;
	padding: 12px 14px 12px 42px;
	border: 1px solid rgba(103, 182, 255, 0.12);
	border-radius: 16px;
	background: rgba(11, 20, 34, 0.56);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
	font-size: 0.94rem;
	line-height: 1.58;
	color: #d7e8f9;
}

.fp-contact-points li::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background:
		radial-gradient(circle at 50% 50%, rgba(141, 232, 255, 1) 0%, rgba(89, 214, 255, 0.98) 38%, rgba(37, 173, 255, 0.86) 64%, rgba(37, 173, 255, 0.18) 100%);
	box-shadow: 0 0 12px rgba(89, 214, 255, 0.22);
	transform: translateY(-50%);
}

.fp-contact-note {
	margin: 0;
	max-width: 40ch;
	font-size: 0.92rem;
	line-height: 1.68;
	color: #9eb7cf;
}

.fp-contact-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 0 0;
	min-height: 220px;
}

.fp-contact-visual svg {
	display: block;
	width: min(100%, 320px);
	height: auto;
	filter: drop-shadow(0 0 28px rgba(89, 214, 255, 0.16));
	opacity: 0.92;
}

.fp-contact-form-wrap {
	min-width: 0;
}

.fp-contact-form-card {
	position: relative;
	padding: 22px 22px 18px;
	border: 1px solid rgba(121, 212, 255, 0.22);
	border-radius: 24px;
	background:
		radial-gradient(circle at 84% 12%, rgba(89, 214, 255, 0.12) 0%, rgba(89, 214, 255, 0) 32%),
		linear-gradient(180deg, rgba(18, 31, 50, 0.96) 0%, rgba(9, 17, 30, 0.98) 100%);
	box-shadow: 0 18px 40px rgba(2, 8, 18, 0.22), 0 0 24px rgba(37, 173, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.fp-contact-form-card::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0) 26%);
	pointer-events: none;
}

.fp-contact-form-card > * {
	position: relative;
	z-index: 1;
}

.fp-contact-form-card .fluentform {
	margin: 0;
}

.fp-contact-form-card .ff-el-group label,
.fp-contact-form-card .ff-el-form-check-label,
.fp-contact-form-card .ff_t_c {
	color: #f4f8ff;
}

.fp-contact-form-card .ff-el-group {
	margin-bottom: 16px;
}

.fp-contact-form-card .ff-el-input--label {
	margin-bottom: 8px;
	font-size: 0.96rem;
	font-weight: 700;
	line-height: 1.35;
}

.fp-contact-form-card input[type="text"],
.fp-contact-form-card input[type="email"],
.fp-contact-form-card input[type="url"],
.fp-contact-form-card input[type="password"],
.fp-contact-form-card input[type="search"],
.fp-contact-form-card input[type="tel"],
.fp-contact-form-card textarea,
.fp-contact-form-card select,
.fp-contact-form-card .ff-el-form-control {
	min-height: 58px;
	padding: 15px 16px;
	border-radius: 16px;
	border: 1px solid rgba(12, 28, 50, 0.16);
	background: #f8fbff;
	color: #0d1726;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.fp-contact-form-card textarea,
.fp-contact-form-card textarea.ff-el-form-control {
	min-height: 128px;
}

.fp-contact-form-card input::placeholder,
.fp-contact-form-card textarea::placeholder {
	color: #7f90a5;
}

.fp-contact-form-card .ff-el-form-check {
	margin-top: 6px;
}

.fp-contact-form-card input[type="checkbox"] {
	accent-color: #25adff;
}

.fp-contact-form-card .ff-btn,
.fp-contact-form-card input[type="submit"],
.fp-contact-form-card button[type="submit"] {
	min-width: 240px;
	padding: 1em 1.65em;
	border-radius: 999px;
	border: 1px solid rgba(132, 226, 255, 0.42);
	background: linear-gradient(90deg, #49cbff 0%, #20a4ff 48%, #0d69ff 100%);
	box-shadow: 0 16px 30px rgba(8, 78, 214, 0.34), 0 0 22px rgba(53, 177, 255, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #f8fcff;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.fp-contact-form-card .ff-btn:hover,
.fp-contact-form-card .ff-btn:focus,
.fp-contact-form-card input[type="submit"]:hover,
.fp-contact-form-card input[type="submit"]:focus,
.fp-contact-form-card button[type="submit"]:hover,
.fp-contact-form-card button[type="submit"]:focus {
	filter: brightness(1.06);
	transform: translateY(-2px);
	box-shadow: 0 20px 36px rgba(8, 78, 214, 0.4), 0 0 28px rgba(53, 177, 255, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.26);
}

@media (max-width: 1024px) {
	.fp-contact {
		padding: 26px 22px;
	}

	.fp-contact-shell {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.fp-contact-head h2,
	.fp-contact-intro p,
	.fp-contact-note {
		max-width: none;
	}

	.fp-contact-visual {
		min-height: 180px;
	}

	.fp-contact-visual svg {
		width: min(100%, 250px);
	}
}

@media (max-width: 768px) {
	.fp-contact {
		padding: 22px 18px;
		border-radius: 24px;
	}

	.fp-contact-side {
		gap: 16px;
	}

	.fp-contact-points {
		gap: 10px;
	}

	.fp-contact-points li {
		padding: 11px 12px 11px 38px;
		border-radius: 14px;
		font-size: 0.91rem;
	}

	.fp-contact-points li::before {
		left: 12px;
		width: 14px;
		height: 14px;
	}

	.fp-contact-visual {
		min-height: 150px;
	}

	.fp-contact-visual svg {
		width: min(100%, 190px);
	}

	.fp-contact-form-card {
		padding: 18px 16px 16px;
		border-radius: 18px;
	}

	.fp-contact-form-card .ff-btn,
	.fp-contact-form-card input[type="submit"],
	.fp-contact-form-card button[type="submit"],
	.fp-contact-actions a,
	.fp-contact-actions .wp-block-button__link,
	.fp-contact-actions .gb-button {
		width: 100%;
		min-width: 0;
	}
}


/* Contact final CTA split refinement */
.fp-contact-shell {
	grid-template-columns: minmax(320px, 0.82fr) minmax(420px, 1.18fr);
	align-items: stretch;
}

.fp-contact-side {
	padding-top: 0;
	align-self: start;
}

.fp-contact-form-wrap {
	position: relative;
	display: grid;
	gap: 18px;
	align-content: start;
	min-width: 0;
}

.fp-contact-form-card {
	padding: 24px 24px 22px;
	min-height: 100%;
}

.fp-contact-form-top {
	display: grid;
	gap: 10px;
	margin-bottom: 18px;
}

.fp-contact-form-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	padding: 8px 12px;
	border: 1px solid rgba(132, 226, 255, 0.24);
	border-radius: 999px;
	background: rgba(10, 18, 31, 0.76);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--fp-accent-4);
}

.fp-contact-form-lead {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.6;
	color: #cfe1f3;
}

.fp-contact-form-card .ff-btn,
.fp-contact-form-card input[type="submit"],
.fp-contact-form-card button[type="submit"] {
	display: inline-flex;
	justify-content: center;
	width: 100%;
	min-width: 0;
}

.fp-contact-tech-bg {
	position: relative;
	border: 1px solid rgba(103, 182, 255, 0.10);
	border-radius: 24px;
	background:
		radial-gradient(circle at 24% 50%, rgba(89, 214, 255, 0.10) 0%, rgba(89, 214, 255, 0) 34%),
		linear-gradient(180deg, rgba(10, 18, 31, 0.56) 0%, rgba(7, 14, 25, 0.74) 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
	overflow: hidden;
	min-height: 220px;
}

.fp-contact-tech-bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255,255,255,0.01) 0, rgba(255,255,255,0.01) 1px, transparent 1px, transparent 100%),
		linear-gradient(180deg, rgba(255,255,255,0.008) 0, rgba(255,255,255,0.008) 1px, transparent 1px, transparent 100%);
	background-size: 64px 64px;
	opacity: 0.18;
	pointer-events: none;
}

.fp-contact-tech-bg svg {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 220px;
}

@media (max-width: 1180px) {
	.fp-contact-shell {
		grid-template-columns: minmax(280px, 0.88fr) minmax(0, 1.12fr);
		gap: 28px;
	}
}

@media (max-width: 1024px) {
	.fp-contact-form-top {
		margin-bottom: 16px;
	}

	.fp-contact-tech-bg {
		min-height: 180px;
	}

	.fp-contact-tech-bg svg {
		min-height: 180px;
	}
}

@media (max-width: 768px) {
	.fp-contact-form-card {
		padding: 18px 16px 16px;
	}

	.fp-contact-form-top {
		gap: 8px;
		margin-bottom: 14px;
	}

	.fp-contact-form-lead {
		font-size: 0.92rem;
		line-height: 1.54;
	}

	.fp-contact-tech-bg {
		min-height: 148px;
		border-radius: 18px;
	}

	.fp-contact-tech-bg svg {
		min-height: 148px;
	}
}
