/*
 * Future Pioneers Site Studio
 * Original bilingual construction-company interface.
 */

@font-face {
	font-family: "IBM Plex Sans Arabic";
	font-style: normal;
	font-display: swap;
	font-weight: 400;
	src: url("../fonts/ibm-plex-sans-arabic-arabic-400.woff2") format("woff2");
	unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
	font-family: "IBM Plex Sans Arabic";
	font-style: normal;
	font-display: swap;
	font-weight: 400;
	src: url("../fonts/ibm-plex-sans-arabic-latin-400.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
	font-family: "IBM Plex Sans Arabic";
	font-style: normal;
	font-display: swap;
	font-weight: 500;
	src: url("../fonts/ibm-plex-sans-arabic-arabic-500.woff2") format("woff2");
	unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
	font-family: "IBM Plex Sans Arabic";
	font-style: normal;
	font-display: swap;
	font-weight: 500;
	src: url("../fonts/ibm-plex-sans-arabic-latin-500.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
	font-family: "IBM Plex Sans Arabic";
	font-style: normal;
	font-display: swap;
	font-weight: 600;
	src: url("../fonts/ibm-plex-sans-arabic-arabic-600.woff2") format("woff2");
	unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
	font-family: "IBM Plex Sans Arabic";
	font-style: normal;
	font-display: swap;
	font-weight: 600;
	src: url("../fonts/ibm-plex-sans-arabic-latin-600.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
	font-family: "IBM Plex Sans Arabic";
	font-style: normal;
	font-display: swap;
	font-weight: 700;
	src: url("../fonts/ibm-plex-sans-arabic-arabic-700.woff2") format("woff2");
	unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
	font-family: "IBM Plex Sans Arabic";
	font-style: normal;
	font-display: swap;
	font-weight: 700;
	src: url("../fonts/ibm-plex-sans-arabic-latin-700.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
	font-family: "IBM Plex Sans";
	font-style: normal;
	font-display: swap;
	font-weight: 400;
	src: url("../fonts/ibm-plex-sans-latin-400.woff2") format("woff2");
}
@font-face {
	font-family: "IBM Plex Sans";
	font-style: normal;
	font-display: swap;
	font-weight: 500;
	src: url("../fonts/ibm-plex-sans-latin-500.woff2") format("woff2");
}
@font-face {
	font-family: "IBM Plex Sans";
	font-style: normal;
	font-display: swap;
	font-weight: 600;
	src: url("../fonts/ibm-plex-sans-latin-600.woff2") format("woff2");
}
@font-face {
	font-family: "IBM Plex Sans";
	font-style: normal;
	font-display: swap;
	font-weight: 700;
	src: url("../fonts/ibm-plex-sans-latin-700.woff2") format("woff2");
}

:root {
	--fp-primary: #30358f;
	--fp-secondary: #08a9df;
	--fp-navy: #081733;
	--fp-accent: #67d8ff;
	--fp-light: #f5f8fc;
	--fp-dark: #071225;
	--fp-text: #101d35;
	--fp-container: 1240px;
	--fp-radius: 28px;
	--fp-motion: 760ms;
	--fp-font-ar: "IBM Plex Sans Arabic", Arial, sans-serif;
	--fp-font-en: "IBM Plex Sans", Arial, sans-serif;
	--fp-shadow-sm: 0 18px 50px rgba(8, 23, 51, 0.09);
	--fp-shadow-lg: 0 35px 95px rgba(5, 20, 50, 0.2);
	--fp-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--fp-border: rgba(25, 58, 101, 0.12);
	--fp-surface: #ffffff;
	--fp-muted: #63718a;
	--fp-heading: var(--fp-text);
	--fp-header-bg: rgba(255, 255, 255, 0.84);
}

html[data-theme="dark"] {
	--fp-light: #071225;
	--fp-surface: #0d1b34;
	--fp-text: #eef6ff;
	--fp-heading: #ffffff;
	--fp-muted: #a9b7cc;
	--fp-border: rgba(205, 229, 255, 0.13);
	--fp-header-bg: rgba(7, 18, 37, 0.86);
	--fp-shadow-sm: 0 20px 55px rgba(0, 0, 0, 0.24);
}

html[data-theme="light"] {
	color-scheme: light;
}

html[data-theme="dark"] {
	color-scheme: dark;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}

body.fpcco-site {
	margin: 0 !important;
	padding: 0 !important;
	background: var(--fp-light);
	color: var(--fp-text);
	font-family: var(--fp-font-ar);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.8;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

html[dir="ltr"] body.fpcco-site {
	font-family: var(--fp-font-en);
	line-height: 1.65;
}

body.fpcco-site *,
body.fpcco-site *::before,
body.fpcco-site *::after {
	box-sizing: border-box;
}

body.fpcco-site img {
	display: block;
	max-width: 100%;
	height: auto;
}

body.fpcco-site a {
	color: inherit;
	text-decoration: none;
}

body.fpcco-site button,
body.fpcco-site input,
body.fpcco-site textarea,
body.fpcco-site select {
	font: inherit;
}

body.fpcco-site button,
body.fpcco-site a {
	-webkit-tap-highlight-color: transparent;
}

body.fpcco-site h1,
body.fpcco-site h2,
body.fpcco-site h3,
body.fpcco-site h4,
body.fpcco-site p {
	margin-top: 0;
}

body.fpcco-site h1,
body.fpcco-site h2,
body.fpcco-site h3,
body.fpcco-site h4 {
	color: var(--fp-heading);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.25;
}

html[dir="ltr"] body.fpcco-site h1,
html[dir="ltr"] body.fpcco-site h2,
html[dir="ltr"] body.fpcco-site h3,
html[dir="ltr"] body.fpcco-site h4 {
	line-height: 1.12;
	letter-spacing: -0.04em;
}

body.fpcco-menu-is-open {
	overflow: hidden;
}

.fpcco-site-shell {
	position: relative;
	min-height: 100vh;
	overflow: clip;
	background: var(--fp-light);
}

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

.fpcco-main {
	min-height: 75vh;
}

.fpcco-section {
	position: relative;
	isolation: isolate;
	padding: clamp(86px, 9vw, 138px) 0;
	overflow: clip;
}

.fpcco-theme-light {
	--section-bg: var(--fp-light);
	--section-surface: var(--fp-surface);
	--section-text: var(--fp-text);
	--section-heading: var(--fp-heading);
	background: var(--section-bg);
	color: var(--section-text);
}

.fpcco-theme-dark {
	--section-bg: var(--fp-dark);
	--section-surface: rgba(255, 255, 255, 0.065);
	--section-text: #cbd8e9;
	--section-heading: #ffffff;
	background: var(--section-bg);
	color: var(--section-text);
}

.fpcco-theme-dark h1,
.fpcco-theme-dark h2,
.fpcco-theme-dark h3,
.fpcco-theme-dark h4 {
	color: var(--section-heading);
}

.fpcco-theme-brand {
	--section-bg: var(--fp-primary);
	--section-surface: rgba(255, 255, 255, 0.1);
	--section-text: rgba(255, 255, 255, 0.82);
	--section-heading: #fff;
	background:
		radial-gradient(circle at 12% 16%, color-mix(in srgb, var(--fp-secondary) 75%, transparent), transparent 30%),
		linear-gradient(135deg, var(--fp-primary), color-mix(in srgb, var(--fp-navy) 85%, var(--fp-primary)));
	color: var(--section-text);
}

.fpcco-theme-brand h1,
.fpcco-theme-brand h2,
.fpcco-theme-brand h3 {
	color: #fff;
}

.fpcco-skip-link {
	position: fixed;
	inset-block-start: 12px;
	inset-inline-start: 12px;
	z-index: 99999;
	padding: 10px 18px;
	border-radius: 10px;
	background: #fff;
	color: #111;
	transform: translateY(-160%);
	transition: transform 0.2s;
}

.fpcco-skip-link:focus {
	transform: translateY(0);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.fpcco-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 56px;
	padding: 13px 25px;
	border: 1px solid transparent;
	border-radius: calc(var(--fp-radius) * 0.62);
	background: linear-gradient(135deg, var(--fp-secondary), color-mix(in srgb, var(--fp-primary) 72%, var(--fp-secondary)));
	color: #fff !important;
	font-weight: 600;
	line-height: 1.2;
	box-shadow: 0 14px 34px color-mix(in srgb, var(--fp-secondary) 26%, transparent);
	overflow: hidden;
	transition: transform 0.35s var(--fp-ease), box-shadow 0.35s var(--fp-ease), background 0.35s;
}

.fpcco-button::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, transparent 20%, rgba(255, 255, 255, 0.25), transparent 75%);
	transform: translateX(-120%);
	transition: transform 0.7s var(--fp-ease);
}

.fpcco-button:hover,
.fpcco-button:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 20px 48px color-mix(in srgb, var(--fp-secondary) 35%, transparent);
}

.fpcco-button:hover::before {
	transform: translateX(120%);
}

.fpcco-button svg,
.fpcco-text-link svg {
	width: 21px;
	height: 21px;
	flex: 0 0 auto;
	transition: transform 0.3s var(--fp-ease);
}

.fpcco-button:hover svg,
.fpcco-text-link:hover svg {
	transform: translateX(4px);
}

html[dir="rtl"] .fpcco-button > svg:last-child,
html[dir="rtl"] .fpcco-text-link > svg:last-child,
html[dir="rtl"] .fpcco-project-link svg {
	transform: rotate(180deg);
}

html[dir="rtl"] .fpcco-button:hover > svg:last-child,
html[dir="rtl"] .fpcco-text-link:hover > svg:last-child {
	transform: rotate(180deg) translateX(4px);
}

.fpcco-button-small {
	min-height: 45px;
	padding: 10px 18px;
	border-radius: 15px;
	font-size: 14px;
}

.fpcco-button-ghost {
	border-color: rgba(255, 255, 255, 0.26);
	background: rgba(255, 255, 255, 0.06);
	box-shadow: none;
	backdrop-filter: blur(10px);
}

.fpcco-button-ghost:hover {
	background: rgba(255, 255, 255, 0.12);
	box-shadow: none;
}

.fpcco-button-outline {
	border-color: color-mix(in srgb, var(--fp-primary) 24%, transparent);
	background: transparent;
	color: var(--fp-primary) !important;
	box-shadow: none;
}

.fpcco-button-light {
	background: #fff;
	color: var(--fp-navy) !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.2);
}

.fpcco-text-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--fp-secondary) !important;
	font-weight: 700;
	transition: color 0.25s, gap 0.25s;
}

.fpcco-text-link:hover {
	gap: 15px;
	color: var(--fp-primary) !important;
}

.fpcco-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
	color: var(--fp-secondary);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

html[dir="rtl"] .fpcco-eyebrow {
	letter-spacing: 0;
}

.fpcco-eyebrow::before {
	content: "";
	width: 34px;
	height: 2px;
	background: currentColor;
}

.fpcco-section-heading {
	position: relative;
	z-index: 2;
	max-width: 790px;
	margin-bottom: clamp(42px, 5vw, 68px);
}

.fpcco-section-heading.fpcco-align-center {
	margin-inline: auto;
	text-align: center;
}

.fpcco-section-heading.fpcco-align-center .fpcco-eyebrow {
	justify-content: center;
}

.fpcco-section-heading h2 {
	margin-bottom: 18px;
	font-size: clamp(35px, 4.7vw, 64px);
}

.fpcco-section-heading p,
.fpcco-heading-copy {
	max-width: 710px;
	margin-bottom: 0;
	color: var(--fp-muted);
	font-size: clamp(16px, 1.55vw, 20px);
}

.fpcco-theme-dark .fpcco-heading-copy,
.fpcco-theme-dark .fpcco-section-heading p,
.fpcco-theme-brand .fpcco-heading-copy {
	color: var(--section-text);
}

.fpcco-heading-copy p:last-child {
	margin-bottom: 0;
}

.fpcco-heading-row {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 40px;
	margin-bottom: clamp(42px, 5vw, 70px);
}

.fpcco-heading-row .fpcco-section-heading {
	margin-bottom: 0;
}

.fpcco-decor {
	position: absolute;
	pointer-events: none;
	z-index: -1;
}

.fpcco-decor-dotgrid {
	inset-block-start: 9%;
	inset-inline-end: 3%;
	width: 145px;
	height: 145px;
	opacity: 0.22;
	background-image: radial-gradient(circle, var(--fp-secondary) 2px, transparent 2.4px);
	background-size: 17px 17px;
	mask-image: linear-gradient(135deg, #000, transparent);
}

.fpcco-decor-ring {
	inset-block-end: -90px;
	inset-inline-start: -70px;
	width: 230px;
	height: 230px;
	border: 46px solid color-mix(in srgb, var(--fp-secondary) 18%, transparent);
	border-radius: 50%;
	animation: fpcco-float 9s ease-in-out infinite;
}

/* Header */
.fpcco-header {
	position: fixed;
	inset-block-start: 0;
	inset-inline: 0;
	z-index: 1000;
	height: 92px;
	border-bottom: 1px solid transparent;
	transition: height 0.35s var(--fp-ease), background 0.35s, border-color 0.35s, box-shadow 0.35s;
}

body.admin-bar .fpcco-header {
	inset-block-start: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .fpcco-header {
		inset-block-start: 46px;
	}
}

.fpcco-header.is-scrolled {
	height: 76px;
	border-color: var(--fp-border);
	background: var(--fp-header-bg);
	box-shadow: 0 12px 40px rgba(5, 18, 43, 0.08);
	backdrop-filter: blur(18px) saturate(145%);
}

.fpcco-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	gap: 26px;
}

.fpcco-logo {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	width: clamp(180px, 18vw, 250px);
	flex: 0 0 auto;
}

.fpcco-logo img {
	width: 100%;
	max-height: 66px;
	object-fit: contain;
	object-position: center;
}

.fpcco-header:not(.is-scrolled) .fpcco-logo img {
	filter: brightness(0) invert(1);
}

html[data-theme="dark"] .fpcco-header.is-scrolled .fpcco-logo img {
	filter: brightness(0) invert(1);
}

.fpcco-nav {
	margin-inline: auto;
}

.fpcco-nav > ul {
	display: flex;
	align-items: center;
	gap: clamp(15px, 1.75vw, 27px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.fpcco-nav li {
	position: relative;
	margin: 0;
}

.fpcco-nav a,
.fpcco-nav button {
	position: relative;
	padding: 12px 0;
	border: 0;
	background: none;
	color: rgba(255, 255, 255, 0.86);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}

.fpcco-header.is-scrolled .fpcco-nav a,
.fpcco-header.is-scrolled .fpcco-nav button {
	color: var(--fp-text);
}

html[data-theme="dark"] .fpcco-header.is-scrolled .fpcco-nav a,
html[data-theme="dark"] .fpcco-header.is-scrolled .fpcco-nav button {
	color: #dce8f7;
}

.fpcco-nav a::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 5px;
	height: 2px;
	border-radius: 2px;
	background: var(--fp-secondary);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.28s var(--fp-ease);
}

.fpcco-nav a:hover::after,
.fpcco-nav a.is-active::after {
	transform: scaleX(1);
}

.fpcco-has-submenu > button {
	display: flex;
	align-items: center;
	gap: 5px;
}

.fpcco-submenu {
	position: absolute;
	inset-block-start: calc(100% + 12px);
	inset-inline-start: 50%;
	min-width: 225px;
	margin: 0;
	padding: 11px;
	border: 1px solid var(--fp-border);
	border-radius: 18px;
	background: var(--fp-surface);
	box-shadow: var(--fp-shadow-lg);
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 12px);
	transition: opacity 0.25s, transform 0.25s, visibility 0.25s;
}

html[dir="rtl"] .fpcco-submenu {
	transform: translate(50%, 12px);
}

.fpcco-has-submenu:hover .fpcco-submenu,
.fpcco-has-submenu:focus-within .fpcco-submenu,
.fpcco-has-submenu.is-open .fpcco-submenu {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

html[dir="rtl"] .fpcco-has-submenu:hover .fpcco-submenu,
html[dir="rtl"] .fpcco-has-submenu:focus-within .fpcco-submenu,
html[dir="rtl"] .fpcco-has-submenu.is-open .fpcco-submenu {
	transform: translate(50%, 0);
}

.fpcco-submenu a {
	display: block;
	padding: 10px 12px;
	border-radius: 11px;
	color: var(--fp-text) !important;
}

.fpcco-submenu a:hover {
	background: color-mix(in srgb, var(--fp-secondary) 9%, transparent);
}

.fpcco-submenu a::after {
	display: none;
}

.fpcco-header-actions {
	display: flex;
	align-items: center;
	gap: 9px;
	flex: 0 0 auto;
}

.fpcco-language,
.fpcco-theme-toggle,
.fpcco-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.07);
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: transform 0.25s, background 0.25s, border-color 0.25s;
}

.fpcco-header.is-scrolled .fpcco-language,
.fpcco-header.is-scrolled .fpcco-theme-toggle,
.fpcco-header.is-scrolled .fpcco-menu-toggle {
	border-color: var(--fp-border);
	background: var(--fp-surface);
	color: var(--fp-text) !important;
}

.fpcco-language:hover,
.fpcco-theme-toggle:hover,
.fpcco-menu-toggle:hover {
	transform: translateY(-2px);
	border-color: var(--fp-secondary);
}

.fpcco-theme-toggle svg,
.fpcco-menu-toggle svg {
	width: 19px;
	height: 19px;
}

.fpcco-theme-moon,
.fpcco-menu-close {
	display: none;
}

html[data-theme="dark"] .fpcco-theme-sun {
	display: none;
}

html[data-theme="dark"] .fpcco-theme-moon {
	display: flex;
}

.fpcco-menu-toggle {
	display: none;
}

.fpcco-menu-toggle[aria-expanded="true"] .fpcco-menu-open {
	display: none;
}

.fpcco-menu-toggle[aria-expanded="true"] .fpcco-menu-close {
	display: flex;
}

.fpcco-mobile-menu {
	display: none;
}

/* Home hero */
.fpcco-hero {
	--pointer-x: 0;
	--pointer-y: 0;
	min-height: min(920px, 100svh);
	padding: 0;
	background:
		radial-gradient(circle at 12% 15%, color-mix(in srgb, var(--fp-secondary) 23%, transparent), transparent 28%),
		radial-gradient(circle at 88% 80%, color-mix(in srgb, var(--fp-primary) 46%, transparent), transparent 34%),
		linear-gradient(140deg, #061228 0%, var(--fp-dark) 47%, #101d43 100%);
}

.fpcco-hero-noise {
	position: absolute;
	inset: 0;
	z-index: -1;
	opacity: 0.23;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
	background-size: 68px 68px;
	mask-image: linear-gradient(to bottom, #000, transparent 92%);
}

.fpcco-hero-orbit {
	position: absolute;
	border: 1px solid rgba(103, 216, 255, 0.17);
	border-radius: 50%;
	pointer-events: none;
	transition: transform 0.25s linear;
}

.fpcco-orbit-one {
	inset-block-start: -180px;
	inset-inline-end: -120px;
	width: 520px;
	height: 520px;
	border-width: 80px;
	border-color: color-mix(in srgb, var(--fp-secondary) 16%, transparent);
	transform: translate(calc(var(--pointer-x) * -22px), calc(var(--pointer-y) * -22px));
	animation: fpcco-breathe 8s ease-in-out infinite;
}

.fpcco-orbit-two {
	inset-block-end: -210px;
	inset-inline-start: 32%;
	width: 430px;
	height: 430px;
	border-style: dashed;
	transform: translate(calc(var(--pointer-x) * 30px), calc(var(--pointer-y) * 30px));
	animation: fpcco-spin 30s linear infinite;
}

.fpcco-slider,
.fpcco-slider-track,
.fpcco-slide {
	min-height: inherit;
}

.fpcco-slider-track {
	position: relative;
}

.fpcco-slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	padding: 115px 0 100px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.75s var(--fp-ease), visibility 0.75s;
}

.fpcco-slide.is-active {
	position: relative;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.fpcco-slide-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
	align-items: center;
	gap: clamp(42px, 6vw, 90px);
}

.fpcco-slide-copy {
	position: relative;
	z-index: 5;
}

.fpcco-slide-copy > * {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.75s var(--fp-ease), transform 0.75s var(--fp-ease);
}

.fpcco-slide.is-active .fpcco-slide-copy > * {
	opacity: 1;
	transform: translateY(0);
}

.fpcco-slide.is-active .fpcco-slide-copy > *:nth-child(2) { transition-delay: 0.08s; }
.fpcco-slide.is-active .fpcco-slide-copy > *:nth-child(3) { transition-delay: 0.16s; }
.fpcco-slide.is-active .fpcco-slide-copy > *:nth-child(4) { transition-delay: 0.24s; }

.fpcco-slide-copy h1 {
	max-width: 690px;
	margin-bottom: 24px;
	color: #fff;
	font-size: clamp(48px, 6vw, 88px);
	line-height: 1.08;
}

html[dir="ltr"] .fpcco-slide-copy h1 {
	font-size: clamp(46px, 5.4vw, 80px);
	line-height: 0.98;
}

.fpcco-slide-copy > p {
	max-width: 630px;
	margin-bottom: 34px;
	color: #b8c8dd;
	font-size: clamp(17px, 1.65vw, 21px);
}

.fpcco-slide-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 13px;
}

.fpcco-slide-visual {
	position: relative;
	min-height: 610px;
	opacity: 0;
	transform: translateX(60px) scale(0.95);
	transition: opacity 0.9s var(--fp-ease), transform 0.9s var(--fp-ease);
}

html[dir="rtl"] .fpcco-slide-visual {
	transform: translateX(-60px) scale(0.95);
}

.fpcco-slide.is-active .fpcco-slide-visual {
	opacity: 1;
	transform: translateX(0) scale(1);
}

.fpcco-slide-visual figure {
	position: absolute;
	inset: 25px 0 25px 42px;
	margin: 0;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: calc(var(--fp-radius) * 1.5);
	overflow: hidden;
	box-shadow: 0 55px 100px rgba(0, 0, 0, 0.38);
	transform: rotate(-2deg);
}

html[dir="rtl"] .fpcco-slide-visual figure {
	inset-inline: 0 42px;
	transform: rotate(2deg);
}

.fpcco-slide-visual figure::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to top, rgba(6, 18, 40, 0.5), transparent 50%),
		linear-gradient(120deg, color-mix(in srgb, var(--fp-primary) 18%, transparent), transparent);
}

.fpcco-slide-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.06);
	transition: transform 7s linear;
}

.fpcco-slide.is-active .fpcco-slide-visual img {
	transform: scale(1);
}

.fpcco-visual-backdrop {
	position: absolute;
	inset: 0 55px 45px 0;
	border-radius: calc(var(--fp-radius) * 1.6);
	background: linear-gradient(145deg, color-mix(in srgb, var(--fp-secondary) 38%, transparent), color-mix(in srgb, var(--fp-primary) 50%, transparent));
	transform: rotate(7deg);
}

html[dir="rtl"] .fpcco-visual-backdrop {
	inset-inline: 55px 0;
	transform: rotate(-7deg);
}

.fpcco-hero-badge {
	position: absolute;
	inset-inline-start: -15px;
	inset-block-end: 60px;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 130px;
	height: 130px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	background: rgba(5, 22, 47, 0.72);
	color: #fff;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3);
	backdrop-filter: blur(14px);
	animation: fpcco-float 5s ease-in-out infinite;
}

.fpcco-hero-badge strong {
	color: var(--fp-accent);
	font-size: 28px;
	line-height: 1;
}

.fpcco-hero-badge span {
	font-size: 12px;
}

.fpcco-slider-controls {
	position: absolute;
	inset-inline: 0;
	inset-block-end: 32px;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.fpcco-slider-pagination {
	display: flex;
	align-items: center;
	gap: 8px;
}

.fpcco-slider-pagination button {
	width: 38px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.17);
	cursor: pointer;
	overflow: hidden;
}

.fpcco-slider-pagination button span {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: var(--fp-secondary);
}

.fpcco-slider-pagination button.is-active {
	width: 72px;
}

.fpcco-slider-pagination button.is-active span {
	width: 100%;
	transition: width var(--slider-time, 6.5s) linear;
}

.fpcco-slider-arrows {
	display: flex;
	align-items: center;
	gap: 14px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
}

.fpcco-slider-arrows button {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	cursor: pointer;
	transition: background 0.25s, transform 0.25s;
}

.fpcco-slider-arrows button:hover {
	background: var(--fp-secondary);
	transform: scale(1.08);
}

.fpcco-slider-arrows b {
	color: #fff;
	font-size: 18px;
}

.fpcco-scroll-cue {
	position: absolute;
	inset-inline-start: 26px;
	inset-block-end: 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	color: rgba(255, 255, 255, 0.55);
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	transform: rotate(-90deg) translateX(100%);
	transform-origin: bottom left;
}

html[dir="rtl"] .fpcco-scroll-cue {
	inset-inline-start: auto;
	inset-inline-end: 26px;
	transform: rotate(90deg) translateX(-100%);
	transform-origin: bottom right;
}

.fpcco-scroll-cue span {
	width: 48px;
	height: 1px;
	background: rgba(255, 255, 255, 0.38);
}

/* Page hero */
.fpcco-page-hero {
	min-height: 650px;
	padding: 150px 0 85px;
	background:
		radial-gradient(circle at 15% 70%, color-mix(in srgb, var(--fp-secondary) 22%, transparent), transparent 30%),
		linear-gradient(140deg, var(--fp-dark), #101f47);
}

.fpcco-page-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 70px 70px;
	mask-image: linear-gradient(to right, transparent, #000);
}

.fpcco-page-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(390px, 1.1fr);
	align-items: center;
	gap: clamp(45px, 7vw, 100px);
}

.fpcco-page-hero-copy h1 {
	margin-bottom: 22px;
	color: #fff;
	font-size: clamp(52px, 6.6vw, 94px);
}

.fpcco-page-hero-copy > p {
	max-width: 650px;
	margin-bottom: 0;
	color: #bdcce0;
	font-size: clamp(19px, 2.05vw, 26px);
}

.fpcco-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
	margin-bottom: 26px;
	color: rgba(255, 255, 255, 0.62);
	font-size: 13px;
}

.fpcco-breadcrumbs a:hover {
	color: var(--fp-accent);
}

.fpcco-page-hero-visual {
	position: relative;
	height: 410px;
}

.fpcco-page-hero-visual img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border-radius: calc(var(--fp-radius) * 1.35);
	object-fit: cover;
	box-shadow: 0 35px 90px rgba(0, 0, 0, 0.35);
	clip-path: polygon(8% 0, 100% 0, 100% 88%, 90% 100%, 0 100%, 0 13%);
}

.fpcco-page-hero-frame {
	position: absolute;
	inset: -20px 25px 25px -20px;
	border: 1px solid rgba(103, 216, 255, 0.46);
	border-radius: calc(var(--fp-radius) * 1.4);
	transform: rotate(-3deg);
}

html[dir="rtl"] .fpcco-page-hero-frame {
	inset-inline: 25px -20px;
	transform: rotate(3deg);
}

/* Stats */
.fpcco-stats-section {
	padding-block: 70px 95px;
	background:
		radial-gradient(circle at 75% 0%, color-mix(in srgb, var(--fp-primary) 52%, transparent), transparent 32%),
		var(--fp-dark);
}

.fpcco-stats-panel {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border: 1px solid rgba(255, 255, 255, 0.11);
	border-radius: calc(var(--fp-radius) * 1.25);
	background: rgba(255, 255, 255, 0.055);
	box-shadow: 0 40px 80px rgba(0, 0, 0, 0.22);
	overflow: hidden;
	backdrop-filter: blur(12px);
}

.fpcco-stat {
	position: relative;
	padding: clamp(35px, 4.8vw, 64px) 24px;
	text-align: center;
}

.fpcco-stat:not(:last-child)::after {
	content: "";
	position: absolute;
	inset-block: 22%;
	inset-inline-end: 0;
	width: 1px;
	background: rgba(255, 255, 255, 0.1);
}

.fpcco-stat strong {
	display: block;
	margin-bottom: 10px;
	color: var(--fp-accent);
	font-family: var(--fp-font-en);
	font-size: clamp(48px, 6.4vw, 82px);
	font-weight: 600;
	letter-spacing: -0.06em;
	line-height: 1;
}

.fpcco-stat > span {
	color: #fff;
	font-size: 15px;
}

/* Editorial */
.fpcco-editorial-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
	align-items: center;
	gap: clamp(55px, 8vw, 120px);
}

.fpcco-image-stack {
	position: relative;
	min-height: 620px;
}

.fpcco-image-stack::before {
	content: "";
	position: absolute;
	inset: 8% 2% 0 14%;
	border-radius: calc(var(--fp-radius) * 1.5);
	background: linear-gradient(145deg, color-mix(in srgb, var(--fp-secondary) 18%, transparent), color-mix(in srgb, var(--fp-primary) 10%, transparent));
	transform: rotate(-5deg);
}

html[dir="rtl"] .fpcco-image-stack::before {
	inset-inline: 14% 2%;
	transform: rotate(5deg);
}

.fpcco-image-stack > img {
	position: absolute;
	inset: 0 8% 6% 0;
	width: 86%;
	height: 88%;
	border-radius: calc(var(--fp-radius) * 1.2);
	object-fit: cover;
	box-shadow: var(--fp-shadow-lg);
}

html[dir="rtl"] .fpcco-image-stack > img {
	inset-inline: 8% 0;
}

.fpcco-image-stack-card {
	position: absolute;
	inset-inline-end: 0;
	inset-block-end: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: min(310px, 62%);
	padding: 25px;
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius);
	background: var(--fp-surface);
	box-shadow: var(--fp-shadow-sm);
}

.fpcco-image-stack-card b {
	color: var(--fp-heading);
	font-size: 18px;
}

.fpcco-image-stack-card small {
	color: var(--fp-muted);
}

.fpcco-editorial-copy h2,
.fpcco-equipment-copy h2 {
	margin-bottom: 24px;
	font-size: clamp(38px, 5vw, 66px);
}

.fpcco-prose {
	color: var(--fp-muted);
	font-size: clamp(16px, 1.4vw, 19px);
}

.fpcco-theme-dark .fpcco-prose {
	color: var(--section-text);
}

.fpcco-prose p {
	margin-bottom: 1.25em;
}

.fpcco-prose h2,
.fpcco-prose h3 {
	margin-top: 1.3em;
	margin-bottom: 0.55em;
}

.fpcco-editorial-copy .fpcco-button {
	margin-top: 14px;
}

.fpcco-timeline {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	margin: 32px 0 20px;
	padding-top: 24px;
	border-top: 1px solid var(--fp-border);
}

.fpcco-timeline div {
	position: relative;
	padding-inline-end: 14px;
}

.fpcco-timeline div::before {
	content: "";
	position: absolute;
	inset-block-start: -29px;
	inset-inline-start: 0;
	width: 10px;
	height: 10px;
	border: 3px solid var(--fp-surface);
	border-radius: 50%;
	background: var(--fp-secondary);
	box-shadow: 0 0 0 1px var(--fp-secondary);
}

.fpcco-timeline b {
	display: block;
	color: var(--fp-primary);
	font-family: var(--fp-font-en);
	font-size: 18px;
}

.fpcco-timeline span {
	display: block;
	color: var(--fp-muted);
	font-size: 12px;
	line-height: 1.5;
}

/* Vision and advantages */
.fpcco-vision-section {
	background:
		linear-gradient(135deg, transparent 55%, rgba(255,255,255,.045) 55% 56%, transparent 56%),
		radial-gradient(circle at 20% 0, color-mix(in srgb, var(--fp-secondary) 45%, transparent), transparent 32%),
		linear-gradient(140deg, var(--fp-primary), var(--fp-navy));
}

.fpcco-vision-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.fpcco-vision-card {
	position: relative;
	min-height: 350px;
	padding: clamp(30px, 3.4vw, 48px);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: calc(var(--fp-radius) * 1.05);
	background: rgba(255, 255, 255, 0.07);
	overflow: hidden;
	backdrop-filter: blur(12px);
	transition: transform 0.35s var(--fp-ease), background 0.35s;
}

.fpcco-vision-card:hover {
	transform: translateY(-8px);
	background: rgba(255, 255, 255, 0.12);
}

.fpcco-vision-card > span {
	display: block;
	margin-bottom: 70px;
	color: var(--fp-accent);
	font-family: var(--fp-font-en);
	font-size: 13px;
	letter-spacing: 0.15em;
}

.fpcco-vision-card h3 {
	margin-bottom: 18px;
	color: #fff;
	font-size: 28px;
}

.fpcco-vision-card p {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
}

.fpcco-vision-card::after {
	content: "";
	position: absolute;
	inset-inline-end: -60px;
	inset-block-start: -60px;
	width: 150px;
	height: 150px;
	border: 28px solid color-mix(in srgb, var(--fp-secondary) 28%, transparent);
	border-radius: 50%;
}

.fpcco-advantages-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}

.fpcco-advantage {
	min-height: 210px;
	padding: 30px;
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius);
	background: var(--fp-surface);
	box-shadow: var(--fp-shadow-sm);
	transition: transform 0.35s var(--fp-ease), border-color 0.35s;
}

.fpcco-advantage:hover {
	transform: translateY(-7px) rotate(-1deg);
	border-color: color-mix(in srgb, var(--fp-secondary) 48%, transparent);
}

.fpcco-advantage b {
	display: block;
	margin-bottom: 48px;
	color: var(--fp-secondary);
	font-family: var(--fp-font-en);
	font-size: 34px;
}

.fpcco-advantage h3 {
	margin: 0;
	font-size: 22px;
}

/* Services bento */
.fpcco-services-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 18px;
}

.fpcco-service-card {
	grid-column: span 4;
	min-height: 390px;
}

.fpcco-service-card:nth-child(1),
.fpcco-service-card:nth-child(6) {
	grid-column: span 6;
}

.fpcco-service-card:nth-child(2),
.fpcco-service-card:nth-child(7) {
	grid-column: span 6;
}

.fpcco-service-card > a {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: clamp(27px, 3vw, 40px);
	border: 1px solid var(--fp-border);
	border-radius: calc(var(--fp-radius) * 1.06);
	background: var(--fp-surface);
	box-shadow: 0 15px 45px rgba(7, 26, 55, 0.055);
	overflow: hidden;
	transition: transform 0.45s var(--fp-ease), box-shadow 0.45s, border-color 0.45s;
}

.fpcco-service-card > a::before {
	content: "";
	position: absolute;
	inset: auto -20% -60% 35%;
	height: 80%;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--fp-secondary) 18%, transparent), transparent 68%);
	transition: transform 0.5s var(--fp-ease);
}

.fpcco-service-card:hover > a {
	transform: translateY(-9px);
	border-color: color-mix(in srgb, var(--fp-secondary) 38%, transparent);
	box-shadow: var(--fp-shadow-lg);
}

.fpcco-service-card:hover > a::before {
	transform: scale(1.25);
}

.fpcco-service-card:nth-child(1) > a,
.fpcco-service-card:nth-child(6) > a {
	background: linear-gradient(145deg, var(--fp-navy), color-mix(in srgb, var(--fp-primary) 68%, var(--fp-navy)));
	color: #c6d4e6;
}

.fpcco-service-card:nth-child(1) h3,
.fpcco-service-card:nth-child(6) h3 {
	color: #fff;
}

.fpcco-service-number {
	position: absolute;
	inset-block-start: 26px;
	inset-inline-end: 28px;
	color: var(--fp-muted);
	font-family: var(--fp-font-en);
	font-size: 12px;
	letter-spacing: 0.15em;
}

.fpcco-service-icon {
	display: grid;
	place-items: center;
	width: 66px;
	height: 66px;
	margin-bottom: auto;
	border-radius: 20px;
	background: color-mix(in srgb, var(--fp-secondary) 12%, transparent);
	color: var(--fp-secondary);
}

.fpcco-service-icon svg {
	width: 31px;
	height: 31px;
}

.fpcco-service-card h3 {
	position: relative;
	z-index: 2;
	max-width: 90%;
	margin: 44px 0 13px;
	font-size: clamp(24px, 2.5vw, 34px);
}

.fpcco-service-card p {
	position: relative;
	z-index: 2;
	max-width: 90%;
	margin: 0;
	color: var(--fp-muted);
	font-size: 15px;
}

.fpcco-service-card:nth-child(1) p,
.fpcco-service-card:nth-child(6) p {
	color: #aebfd4;
}

.fpcco-card-arrow {
	position: absolute;
	inset-inline-end: 25px;
	inset-block-end: 25px;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--fp-secondary) 11%, transparent);
	color: var(--fp-secondary);
	transition: transform 0.35s, background 0.35s, color 0.35s;
}

.fpcco-card-arrow svg {
	width: 20px;
	height: 20px;
}

.fpcco-service-card:hover .fpcco-card-arrow {
	background: var(--fp-secondary);
	color: #fff;
	transform: rotate(-35deg);
}

.fpcco-service-card img {
	position: absolute;
	inset-inline-end: -25%;
	inset-block-end: -25%;
	width: 62%;
	height: 58%;
	border-radius: 50% 0 0 0;
	object-fit: cover;
	opacity: 0.08;
	filter: grayscale(1);
	transition: opacity 0.45s, transform 0.45s;
}

.fpcco-service-card:hover img {
	opacity: 0.18;
	transform: scale(1.05);
}

/* Projects */
.fpcco-projects-section.fpcco-theme-dark {
	background:
		radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--fp-primary) 46%, transparent), transparent 32%),
		var(--fp-dark);
}

.fpcco-project-filters {
	display: flex;
	gap: 9px;
	margin: -22px 0 45px;
	padding-bottom: 4px;
	overflow-x: auto;
	scrollbar-width: none;
}

.fpcco-project-filters::-webkit-scrollbar {
	display: none;
}

.fpcco-project-filters button {
	flex: 0 0 auto;
	padding: 10px 17px;
	border: 1px solid var(--fp-border);
	border-radius: 50px;
	background: transparent;
	color: var(--fp-muted);
	font-size: 13px;
	cursor: pointer;
	transition: background 0.25s, color 0.25s, border-color 0.25s;
}

.fpcco-project-filters button.is-active,
.fpcco-project-filters button:hover {
	border-color: var(--fp-secondary);
	background: var(--fp-secondary);
	color: #fff;
}

.fpcco-projects-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(22px, 3.5vw, 48px);
}

.fpcco-project-card:nth-child(3n + 1) {
	grid-column: span 2;
}

.fpcco-project-card[hidden] {
	display: none;
}

.fpcco-project-card > a {
	display: grid;
	grid-template-columns: 1.12fr 0.88fr;
	align-items: stretch;
	min-height: 470px;
	border: 1px solid var(--fp-border);
	border-radius: calc(var(--fp-radius) * 1.15);
	background: var(--section-surface, var(--fp-surface));
	overflow: hidden;
	transition: transform 0.45s var(--fp-ease), border-color 0.45s, box-shadow 0.45s;
}

.fpcco-project-card:not(:nth-child(3n + 1)) > a {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.fpcco-project-card:hover > a {
	transform: translateY(-8px);
	border-color: color-mix(in srgb, var(--fp-secondary) 40%, transparent);
	box-shadow: var(--fp-shadow-lg);
}

.fpcco-project-card figure {
	position: relative;
	min-height: 300px;
	margin: 0;
	overflow: hidden;
}

.fpcco-project-card figure::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(4, 17, 39, 0.48), transparent 58%);
}

.fpcco-project-card figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s var(--fp-ease), filter 0.8s;
}

.fpcco-project-card:hover figure img {
	transform: scale(1.06);
}

.fpcco-project-card figure > span {
	position: absolute;
	inset-inline-start: 20px;
	inset-block-end: 18px;
	z-index: 2;
	padding: 7px 12px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50px;
	background: rgba(4, 17, 39, 0.55);
	color: #fff;
	font-family: var(--fp-font-en);
	font-size: 12px;
	backdrop-filter: blur(10px);
}

.fpcco-project-card-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(28px, 3.5vw, 50px);
}

.fpcco-project-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin-bottom: 18px;
	color: var(--fp-secondary);
	font-size: 12px;
	font-weight: 600;
}

.fpcco-project-meta span + span::before {
	content: "•";
	margin-inline-end: 14px;
	color: var(--fp-muted);
}

.fpcco-project-card h3 {
	margin-bottom: 15px;
	font-size: clamp(25px, 2.6vw, 37px);
}

.fpcco-project-card p {
	margin-bottom: 27px;
	color: var(--fp-muted);
	font-size: 15px;
}

.fpcco-theme-dark .fpcco-project-card p {
	color: #aebdd0;
}

.fpcco-project-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	color: var(--fp-secondary);
	font-size: 14px;
	font-weight: 700;
}

.fpcco-project-link svg {
	width: 19px;
	height: 19px;
}

/* Capabilities */
.fpcco-capabilities-section {
	background:
		radial-gradient(circle at 8% 12%, rgba(103, 216, 255, 0.21), transparent 24%),
		linear-gradient(140deg, var(--fp-primary), var(--fp-navy));
}

.fpcco-capabilities-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 13px;
}

.fpcco-capability-card {
	min-height: 330px;
	padding: clamp(25px, 2.8vw, 38px);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--fp-radius);
	background: rgba(255, 255, 255, 0.07);
	transition: transform 0.35s var(--fp-ease), background 0.35s;
}

.fpcco-capability-card:hover {
	transform: translateY(-8px);
	background: rgba(255, 255, 255, 0.12);
}

.fpcco-capability-card > span {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	margin-bottom: 76px;
	border-radius: 19px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--fp-accent);
}

.fpcco-capability-card svg {
	width: 29px;
	height: 29px;
}

.fpcco-capability-card h3 {
	margin-bottom: 14px;
	color: #fff;
	font-size: 24px;
}

.fpcco-capability-card p {
	margin: 0;
	color: rgba(255, 255, 255, 0.67);
	font-size: 14px;
}

/* Equipment */
.fpcco-equipment-section {
	background:
		linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px),
		linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
		var(--fp-dark);
	background-size: 80px 80px;
}

.fpcco-equipment-grid {
	display: grid;
	grid-template-columns: 0.92fr 1.08fr;
	align-items: center;
	gap: clamp(50px, 7vw, 100px);
}

.fpcco-check-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px 18px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}

.fpcco-check-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #d4dfed;
	font-size: 14px;
}

.fpcco-check-list svg {
	width: 19px;
	height: 19px;
	flex: 0 0 auto;
	color: var(--fp-accent);
}

.fpcco-equipment-visual {
	position: relative;
	min-height: 580px;
}

.fpcco-equipment-visual::before {
	content: "";
	position: absolute;
	inset: 4% 6% 0 0;
	border: 1px solid rgba(103, 216, 255, 0.3);
	border-radius: calc(var(--fp-radius) * 1.3);
	transform: rotate(4deg);
}

.fpcco-equipment-visual img {
	position: absolute;
	inset: 0 0 7% 6%;
	width: 94%;
	height: 88%;
	border-radius: calc(var(--fp-radius) * 1.2);
	object-fit: cover;
	box-shadow: 0 38px 80px rgba(0, 0, 0, 0.38);
}

.fpcco-equipment-label {
	position: absolute;
	inset-inline-start: -25px;
	inset-block-end: 0;
	display: flex;
	align-items: center;
	gap: 15px;
	max-width: 330px;
	padding: 18px 22px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 20px;
	background: rgba(10, 29, 58, 0.82);
	color: #fff;
	box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25);
	backdrop-filter: blur(14px);
}

.fpcco-equipment-label b {
	color: var(--fp-accent);
	font-family: var(--fp-font-en);
	font-size: 22px;
}

.fpcco-equipment-label span {
	font-size: 12px;
}

/* Quality */
.fpcco-quality-flow {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	margin: 20px 0 60px;
}

.fpcco-quality-step {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 9px;
	padding: 25px 19px;
	border-block: 1px solid var(--fp-border);
	border-inline-start: 1px solid var(--fp-border);
	background: var(--fp-surface);
}

.fpcco-quality-step:first-child {
	border-start-start-radius: var(--fp-radius);
	border-end-start-radius: var(--fp-radius);
}

.fpcco-quality-step:last-child {
	border-inline-end: 1px solid var(--fp-border);
	border-start-end-radius: var(--fp-radius);
	border-end-end-radius: var(--fp-radius);
}

.fpcco-quality-step:not(:last-child)::after {
	content: "→";
	position: absolute;
	inset-inline-end: -12px;
	inset-block-start: 50%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--fp-secondary);
	color: #fff;
	font-family: var(--fp-font-en);
	font-size: 11px;
	transform: translateY(-50%);
}

html[dir="rtl"] .fpcco-quality-step:not(:last-child)::after {
	content: "←";
}

.fpcco-quality-step b {
	color: var(--fp-secondary);
	font-family: var(--fp-font-en);
	font-size: 13px;
}

.fpcco-quality-step span {
	color: var(--fp-heading);
	font-size: 14px;
	font-weight: 600;
}

.fpcco-quality-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.fpcco-quality-cards article {
	position: relative;
	padding: clamp(30px, 4vw, 55px);
	border: 1px solid var(--fp-border);
	border-radius: calc(var(--fp-radius) * 1.1);
	background: var(--fp-surface);
	box-shadow: var(--fp-shadow-sm);
}

.fpcco-quality-cards article > span {
	display: grid;
	place-items: center;
	width: 66px;
	height: 66px;
	margin-bottom: 38px;
	border-radius: 22px;
	background: color-mix(in srgb, var(--fp-secondary) 11%, transparent);
	color: var(--fp-secondary);
}

.fpcco-quality-cards svg {
	width: 31px;
	height: 31px;
}

.fpcco-quality-cards h3 {
	margin-bottom: 14px;
	font-size: 28px;
}

.fpcco-quality-cards p {
	margin: 0;
	color: var(--fp-muted);
}

/* Coverage */
.fpcco-coverage-section {
	background:
		radial-gradient(circle at 82% 50%, color-mix(in srgb, var(--fp-secondary) 9%, transparent), transparent 32%),
		var(--fp-light);
}

.fpcco-coverage-grid {
	display: grid;
	grid-template-columns: 0.68fr 1.32fr;
	align-items: center;
	gap: clamp(50px, 7vw, 100px);
}

.fpcco-coverage-number {
	display: inline-flex;
	align-items: end;
	gap: 15px;
	margin-top: 8px;
}

.fpcco-coverage-number strong {
	color: var(--fp-primary);
	font-family: var(--fp-font-en);
	font-size: clamp(80px, 11vw, 150px);
	font-weight: 600;
	letter-spacing: -0.08em;
	line-height: 0.8;
}

.fpcco-coverage-number small {
	padding-bottom: 8px;
	color: var(--fp-muted);
}

.fpcco-coverage-map {
	position: relative;
	min-height: 590px;
	border: 1px solid var(--fp-border);
	border-radius: calc(var(--fp-radius) * 1.25);
	background:
		radial-gradient(circle at center, color-mix(in srgb, var(--fp-primary) 11%, transparent), transparent 48%),
		var(--fp-surface);
	box-shadow: var(--fp-shadow-sm);
	overflow: hidden;
}

.fpcco-coverage-map::before,
.fpcco-coverage-map::after {
	content: "";
	position: absolute;
	inset: 9%;
	border: 1px dashed color-mix(in srgb, var(--fp-secondary) 26%, transparent);
	border-radius: 50%;
	animation: fpcco-spin 36s linear infinite;
}

.fpcco-coverage-map::after {
	inset: 24%;
	animation-direction: reverse;
	animation-duration: 24s;
}

.fpcco-map-core {
	position: absolute;
	inset: 50% auto auto 50%;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 170px;
	height: 170px;
	padding: 20px;
	border-radius: 50%;
	background: linear-gradient(145deg, var(--fp-primary), var(--fp-navy));
	color: #fff;
	text-align: center;
	box-shadow: 0 20px 55px color-mix(in srgb, var(--fp-primary) 30%, transparent);
	transform: translate(-50%, -50%);
}

.fpcco-map-core svg {
	width: 38px;
	height: 38px;
	margin-bottom: 8px;
	color: var(--fp-accent);
}

.fpcco-map-core span {
	font-size: 12px;
	line-height: 1.5;
}

.fpcco-governorates {
	position: absolute;
	inset: 0;
}

.fpcco-governorates span {
	position: absolute;
	inset-inline-start: calc(50% + cos(calc(var(--i) * 16.36deg)) * 39%);
	inset-block-start: calc(50% + sin(calc(var(--i) * 16.36deg)) * 42%);
	z-index: 4;
	padding: 6px 10px;
	border: 1px solid var(--fp-border);
	border-radius: 40px;
	background: var(--fp-surface);
	color: var(--fp-muted);
	font-size: 10px;
	white-space: nowrap;
	box-shadow: 0 8px 22px rgba(6, 27, 58, 0.06);
	transform: translate(-50%, -50%);
	animation: fpcco-map-pulse 5s ease-in-out infinite;
	animation-delay: calc(var(--i) * -0.2s);
}

/* Clients */
.fpcco-clients-section {
	padding-bottom: clamp(90px, 10vw, 145px);
}

.fpcco-clients-marquee {
	position: relative;
	width: 100%;
	overflow: hidden;
	mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

.fpcco-clients-track {
	display: flex;
	width: max-content;
	gap: 14px;
	padding: 10px 0 25px;
	animation: fpcco-marquee 44s linear infinite;
}

html[dir="rtl"] .fpcco-clients-track {
	animation-direction: reverse;
}

.fpcco-clients-marquee:hover .fpcco-clients-track {
	animation-play-state: paused;
}

.fpcco-client-logo {
	display: grid;
	place-items: center;
	width: 220px;
	height: 125px;
	padding: 20px;
	border: 1px solid var(--fp-border);
	border-radius: 24px;
	background: var(--fp-surface);
	box-shadow: 0 12px 35px rgba(7, 27, 56, 0.05);
}

.fpcco-client-logo img {
	max-width: 155px;
	max-height: 70px;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.7;
	transition: filter 0.3s, opacity 0.3s, transform 0.3s;
}

.fpcco-client-logo:hover img {
	filter: none;
	opacity: 1;
	transform: scale(1.04);
}

.fpcco-client-logo span {
	color: var(--fp-heading);
	font-size: 14px;
	font-weight: 600;
	text-align: center;
}

/* News */
.fpcco-news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.fpcco-news-card > a {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius);
	background: var(--fp-surface);
	box-shadow: var(--fp-shadow-sm);
	overflow: hidden;
	transition: transform 0.35s var(--fp-ease), box-shadow 0.35s;
}

.fpcco-news-card:hover > a {
	transform: translateY(-8px);
	box-shadow: var(--fp-shadow-lg);
}

.fpcco-news-card img {
	width: 100%;
	height: 260px;
	object-fit: cover;
	transition: transform 0.65s var(--fp-ease);
}

.fpcco-news-card:hover img {
	transform: scale(1.055);
}

.fpcco-news-card > a > div {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 28px;
}

.fpcco-news-card time {
	margin-bottom: 13px;
	color: var(--fp-secondary);
	font-family: var(--fp-font-en);
	font-size: 12px;
}

.fpcco-news-card h3 {
	margin-bottom: 13px;
	font-size: 25px;
}

.fpcco-news-card p {
	color: var(--fp-muted);
	font-size: 14px;
}

.fpcco-news-card > a > div > span {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	color: var(--fp-secondary);
	font-size: 13px;
	font-weight: 700;
}

.fpcco-news-card svg {
	width: 18px;
	height: 18px;
}

/* Downloads */
.fpcco-download-card {
	display: grid;
	grid-template-columns: minmax(280px, 0.65fr) minmax(0, 1.35fr);
	align-items: center;
	gap: clamp(40px, 7vw, 100px);
	padding: clamp(30px, 5vw, 70px);
	border: 1px solid var(--fp-border);
	border-radius: calc(var(--fp-radius) * 1.2);
	background:
		radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--fp-secondary) 10%, transparent), transparent 35%),
		var(--fp-surface);
	box-shadow: var(--fp-shadow-sm);
}

.fpcco-download-cover {
	position: relative;
	padding: 5%;
}

.fpcco-download-cover::before {
	content: "";
	position: absolute;
	inset: 10% 0 0 14%;
	border-radius: 20px;
	background: linear-gradient(135deg, var(--fp-secondary), var(--fp-primary));
	transform: rotate(8deg);
}

.fpcco-download-cover img {
	position: relative;
	width: 100%;
	border-radius: 12px;
	box-shadow: var(--fp-shadow-lg);
}

.fpcco-file-type {
	display: inline-flex;
	margin-bottom: 20px;
	padding: 7px 13px;
	border-radius: 50px;
	background: color-mix(in srgb, var(--fp-secondary) 10%, transparent);
	color: var(--fp-secondary);
	font-family: var(--fp-font-en);
	font-size: 12px;
}

.fpcco-download-copy h3 {
	margin-bottom: 17px;
	font-size: clamp(34px, 4.8vw, 62px);
}

.fpcco-download-copy p {
	max-width: 680px;
	margin-bottom: 28px;
	color: var(--fp-muted);
	font-size: 18px;
}

/* Contact */
.fpcco-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.78fr) minmax(520px, 1.22fr);
	gap: clamp(50px, 7vw, 100px);
	align-items: start;
}

.fpcco-contact-list {
	display: grid;
	gap: 12px;
}

.fpcco-contact-list > a,
.fpcco-contact-list > div {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 18px 20px;
	border: 1px solid var(--fp-border);
	border-radius: 19px;
	background: var(--fp-surface);
	transition: transform 0.3s, border-color 0.3s;
}

.fpcco-contact-list > a:hover {
	transform: translateX(5px);
	border-color: color-mix(in srgb, var(--fp-secondary) 50%, transparent);
}

html[dir="rtl"] .fpcco-contact-list > a:hover {
	transform: translateX(-5px);
}

.fpcco-contact-list > a > span,
.fpcco-contact-list > div > span {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	flex: 0 0 auto;
	border-radius: 15px;
	background: color-mix(in srgb, var(--fp-secondary) 10%, transparent);
	color: var(--fp-secondary);
}

.fpcco-contact-list svg {
	width: 22px;
	height: 22px;
}

.fpcco-contact-list small,
.fpcco-contact-list b {
	display: block;
}

.fpcco-contact-list small {
	color: var(--fp-muted);
	font-size: 11px;
}

.fpcco-contact-list b {
	color: var(--fp-heading);
	font-size: 14px;
	font-weight: 600;
}

.fpcco-contact-form-wrap {
	padding: clamp(26px, 4vw, 48px);
	border: 1px solid var(--fp-border);
	border-radius: calc(var(--fp-radius) * 1.15);
	background: var(--fp-surface);
	box-shadow: var(--fp-shadow-lg);
}

.fpcco-contact-form {
	display: grid;
	gap: 18px;
}

.fpcco-form-row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
}

.fpcco-contact-form label {
	display: grid;
	gap: 7px;
	color: var(--fp-heading);
	font-size: 13px;
	font-weight: 600;
}

.fpcco-contact-form input,
.fpcco-contact-form textarea,
.fpcco-contact-form select {
	width: 100%;
	border: 1px solid var(--fp-border);
	border-radius: 14px;
	outline: 0;
	background: color-mix(in srgb, var(--fp-surface) 94%, var(--fp-light));
	color: var(--fp-text);
	transition: border-color 0.25s, box-shadow 0.25s;
}

.fpcco-contact-form input,
.fpcco-contact-form select {
	height: 52px;
	padding: 0 15px;
}

.fpcco-contact-form textarea {
	min-height: 150px;
	padding: 13px 15px;
	resize: vertical;
}

.fpcco-contact-form input:focus,
.fpcco-contact-form textarea:focus,
.fpcco-contact-form select:focus {
	border-color: var(--fp-secondary);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--fp-secondary) 12%, transparent);
}

.fpcco-contact-form .fpcco-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--fp-muted);
	font-size: 12px;
	font-weight: 400;
}

.fpcco-consent input {
	width: 18px;
	height: 18px;
	margin-top: 4px;
	flex: 0 0 auto;
	accent-color: var(--fp-secondary);
}

.fpcco-consent a {
	color: var(--fp-primary);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fpcco-contact-form .fpcco-button {
	justify-self: start;
	min-width: 180px;
	border: 0;
	cursor: pointer;
}

.fpcco-honeypot {
	position: absolute !important;
	inset-inline-start: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.fpcco-form-notice {
	margin-bottom: 20px;
	padding: 14px 17px;
	border-radius: 13px;
	font-size: 13px;
}

.fpcco-form-success {
	background: rgba(32, 164, 110, 0.12);
	color: #14825a;
}

.fpcco-form-error {
	background: rgba(210, 59, 59, 0.12);
	color: #b72d2d;
}

/* CTA */
.fpcco-cta-section {
	padding-block: 70px;
}

.fpcco-cta-box {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
	min-height: 330px;
	padding: clamp(45px, 6vw, 80px);
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: calc(var(--fp-radius) * 1.3);
	background:
		linear-gradient(115deg, color-mix(in srgb, var(--fp-primary) 95%, transparent), color-mix(in srgb, var(--fp-secondary) 44%, var(--fp-navy)));
	box-shadow: 0 40px 90px rgba(0, 0, 0, 0.27);
	overflow: hidden;
}

.fpcco-cta-box > div {
	position: relative;
	z-index: 2;
	max-width: 790px;
}

.fpcco-cta-box h2 {
	margin-bottom: 15px;
	color: #fff;
	font-size: clamp(36px, 5.2vw, 66px);
}

.fpcco-cta-box p {
	max-width: 680px;
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 17px;
}

.fpcco-cta-box > .fpcco-button {
	z-index: 2;
	flex: 0 0 auto;
}

.fpcco-cta-shape {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.fpcco-cta-shape-one {
	inset-inline-end: -90px;
	inset-block-start: -100px;
	width: 310px;
	height: 310px;
	border: 60px solid rgba(255, 255, 255, 0.08);
	animation: fpcco-breathe 7s ease-in-out infinite;
}

.fpcco-cta-shape-two {
	inset-inline-start: 24%;
	inset-block-end: -140px;
	width: 230px;
	height: 230px;
	background: rgba(103, 216, 255, 0.08);
}

/* Singles */
.fpcco-single-hero {
	position: relative;
	min-height: 700px;
	padding: 155px 0 95px;
	overflow: hidden;
	background:
		radial-gradient(circle at 80% 30%, color-mix(in srgb, var(--fp-primary) 55%, transparent), transparent 34%),
		var(--fp-dark);
}

.fpcco-single-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle, rgba(255,255,255,.08) 1px, transparent 1px);
	background-size: 24px 24px;
	mask-image: linear-gradient(to bottom, #000, transparent);
}

.fpcco-single-hero-grid {
	position: relative;
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	align-items: center;
	gap: clamp(50px, 7vw, 90px);
}

.fpcco-single-copy {
	position: relative;
	z-index: 2;
}

.fpcco-single-copy h1 {
	margin-bottom: 22px;
	color: #fff;
	font-size: clamp(46px, 6.2vw, 82px);
}

.fpcco-single-copy > p {
	max-width: 650px;
	margin-bottom: 30px;
	color: #b8c8dc;
	font-size: clamp(17px, 1.8vw, 22px);
}

.fpcco-single-icon {
	display: grid;
	place-items: center;
	width: 70px;
	height: 70px;
	margin-bottom: 30px;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 22px;
	background: rgba(255,255,255,.07);
	color: var(--fp-accent);
}

.fpcco-single-icon svg {
	width: 34px;
	height: 34px;
}

.fpcco-single-image {
	position: relative;
	height: 520px;
}

.fpcco-single-image::before {
	content: "";
	position: absolute;
	inset: -15px 20px 25px -15px;
	border: 1px solid rgba(103,216,255,.35);
	border-radius: calc(var(--fp-radius) * 1.4);
	transform: rotate(-3deg);
}

.fpcco-single-image img {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: calc(var(--fp-radius) * 1.3);
	object-fit: cover;
	box-shadow: 0 40px 90px rgba(0,0,0,.4);
}

.fpcco-single-body-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 350px;
	gap: clamp(45px, 7vw, 100px);
	align-items: start;
}

.fpcco-single-body .fpcco-prose {
	max-width: 800px;
	font-size: 19px;
}

.fpcco-single-body .fpcco-prose h2 {
	margin-top: 0;
	font-size: clamp(35px, 4vw, 52px);
}

.fpcco-single-aside {
	position: sticky;
	inset-block-start: 110px;
	padding: 30px;
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius);
	background: var(--fp-surface);
	box-shadow: var(--fp-shadow-sm);
}

.fpcco-single-aside h3 {
	font-size: 22px;
}

.fpcco-single-aside ul {
	display: grid;
	gap: 14px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.fpcco-single-aside li {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--fp-muted);
	font-size: 14px;
}

.fpcco-single-aside svg {
	width: 18px;
	height: 18px;
	color: var(--fp-secondary);
}

.fpcco-project-single-hero {
	padding-bottom: 0;
}

.fpcco-project-single-hero .fpcco-single-copy {
	max-width: 900px;
	margin-bottom: 55px;
}

.fpcco-project-kicker {
	display: flex;
	gap: 10px;
	margin-bottom: 18px;
}

.fpcco-project-kicker span {
	padding: 7px 13px;
	border: 1px solid rgba(255,255,255,.17);
	border-radius: 40px;
	color: var(--fp-accent);
	font-size: 12px;
}

.fpcco-project-hero-image {
	position: relative;
	z-index: 2;
	width: 100%;
	height: min(680px, 57vw);
	min-height: 420px;
	border-radius: calc(var(--fp-radius) * 1.25) calc(var(--fp-radius) * 1.25) 0 0;
	object-fit: cover;
	box-shadow: 0 35px 90px rgba(0,0,0,.4);
}

.fpcco-project-details {
	padding-top: 55px;
}

.fpcco-project-facts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-bottom: 75px;
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius);
	background: var(--fp-surface);
	overflow: hidden;
}

.fpcco-project-facts div {
	padding: 27px;
}

.fpcco-project-facts div:not(:last-child) {
	border-inline-end: 1px solid var(--fp-border);
}

.fpcco-project-facts small,
.fpcco-project-facts b {
	display: block;
}

.fpcco-project-facts small {
	margin-bottom: 7px;
	color: var(--fp-muted);
	font-size: 11px;
}

.fpcco-project-facts b {
	color: var(--fp-heading);
	font-size: 16px;
}

.fpcco-project-prose {
	max-width: 850px;
	margin-inline: auto;
	font-size: 19px;
}

.fpcco-project-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 55px;
}

.fpcco-project-gallery a {
	height: 300px;
	border-radius: 22px;
	overflow: hidden;
}

.fpcco-project-gallery img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s var(--fp-ease);
}

.fpcco-project-gallery a:hover img {
	transform: scale(1.06);
}

.fpcco-news-single-header {
	max-width: 920px;
	text-align: center;
}

.fpcco-news-single-header .fpcco-breadcrumbs {
	justify-content: center;
}

.fpcco-news-single-header time {
	display: block;
	margin-bottom: 20px;
	color: var(--fp-accent);
	font-family: var(--fp-font-en);
}

.fpcco-news-single-header h1 {
	margin-bottom: 22px;
}

.fpcco-article-wrap {
	max-width: 960px;
}

.fpcco-article-image {
	width: 100%;
	max-height: 650px;
	margin: -190px 0 55px;
	border-radius: calc(var(--fp-radius) * 1.2);
	object-fit: cover;
	box-shadow: var(--fp-shadow-lg);
}

.fpcco-article-wrap .fpcco-prose {
	max-width: 760px;
	margin-inline: auto;
	font-size: 19px;
}

.fpcco-not-found {
	display: grid;
	place-items: center;
	min-height: 80vh;
	padding: 150px 0 90px;
	text-align: center;
}

.fpcco-not-found span {
	display: block;
	color: var(--fp-secondary);
	font-family: var(--fp-font-en);
	font-size: clamp(90px, 18vw, 220px);
	font-weight: 700;
	line-height: .8;
	opacity: .35;
}

.fpcco-not-found h1 {
	margin: 30px 0 15px;
	font-size: clamp(40px, 6vw, 72px);
}

.fpcco-not-found p {
	margin-bottom: 30px;
	color: #aebdd0;
}

/* Footer */
.fpcco-footer {
	position: relative;
	z-index: 1;
	padding: 90px 0 25px;
	background:
		linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px),
		#050f21;
	background-size: 72px 72px;
	color: #aebdd0;
	overflow: hidden;
}

.fpcco-footer-ring {
	inset-inline-end: -120px;
	inset-block-start: -140px;
	width: 360px;
	height: 360px;
	border: 70px solid rgba(8, 169, 223, 0.1);
	border-radius: 50%;
}

.fpcco-footer-top {
	display: grid;
	grid-template-columns: 1.55fr .7fr .7fr 1.05fr;
	gap: clamp(30px, 5vw, 70px);
	padding-bottom: 70px;
}

.fpcco-footer-brand img {
	width: 260px;
	max-height: 86px;
	margin-bottom: 23px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.fpcco-footer-brand p {
	max-width: 390px;
	margin-bottom: 23px;
	color: #9dacc1;
}

.fpcco-footer h2 {
	margin-bottom: 22px;
	color: #fff;
	font-size: 18px;
}

.fpcco-footer-links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.fpcco-footer-links a {
	padding: 5px 0;
	color: #9dacc1;
	font-size: 14px;
	transition: color .25s, transform .25s;
}

.fpcco-footer-links a:hover {
	color: var(--fp-accent);
	transform: translateX(4px);
}

html[dir="rtl"] .fpcco-footer-links a:hover {
	transform: translateX(-4px);
}

.fpcco-footer-contact {
	display: flex;
	flex-direction: column;
	gap: 13px;
}

.fpcco-footer-contact > a,
.fpcco-footer-contact > p {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	color: #9dacc1;
	font-size: 13px;
}

.fpcco-footer-contact svg {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	margin-top: 3px;
	color: var(--fp-secondary);
}

.fpcco-footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding-top: 25px;
	border-top: 1px solid rgba(255,255,255,.08);
	color: #6f8098;
	font-size: 12px;
}

.fpcco-footer-bottom p {
	margin: 0;
}

.fpcco-back-top {
	position: fixed;
	inset-inline-end: 22px;
	inset-block-end: 22px;
	z-index: 800;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 50%;
	background: var(--fp-primary);
	color: #fff;
	box-shadow: 0 15px 35px rgba(6,21,48,.23);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(15px);
	transition: opacity .3s, visibility .3s, transform .3s;
}

.fpcco-back-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Motion */
.fpcco-motion-ready .fpcco-reveal {
	opacity: 0;
	transition: none;
}

.fpcco-motion-ready .fpcco-reveal[data-motion="fade-up"] { transform: translateY(42px); }
.fpcco-motion-ready .fpcco-reveal[data-motion="fade-left"] { transform: translateX(50px); }
html[dir="rtl"] .fpcco-motion-ready .fpcco-reveal[data-motion="fade-left"] { transform: translateX(-50px); }
.fpcco-motion-ready .fpcco-reveal[data-motion="zoom"] { transform: scale(.93); }
.fpcco-motion-ready .fpcco-reveal[data-motion="split"] { transform: translateY(35px) rotate(.8deg); }

.fpcco-motion-ready .fpcco-reveal.is-visible {
	opacity: 1;
	transform: none;
	transition:
		opacity var(--fp-motion) var(--fp-ease),
		transform var(--fp-motion) var(--fp-ease);
}

@keyframes fpcco-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-15px); }
}

@keyframes fpcco-breathe {
	0%, 100% { transform: scale(1); opacity: .8; }
	50% { transform: scale(1.07); opacity: 1; }
}

@keyframes fpcco-spin {
	to { transform: rotate(360deg); }
}

@keyframes fpcco-map-pulse {
	0%, 100% { box-shadow: 0 8px 22px rgba(6,27,58,.06); }
	50% { box-shadow: 0 8px 28px color-mix(in srgb, var(--fp-secondary) 20%, transparent); }
}

@keyframes fpcco-marquee {
	to { transform: translateX(-50%); }
}

/* Responsive */
@media (max-width: 1180px) {
	.fpcco-nav {
		display: none;
	}
	.fpcco-menu-toggle {
		display: inline-flex;
	}
	.fpcco-mobile-menu {
		position: fixed;
		inset: 0;
		z-index: 2;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 120px clamp(25px, 7vw, 90px) 55px;
		background:
			radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--fp-secondary) 25%, transparent), transparent 35%),
			var(--fp-dark);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-20px);
		transition: opacity .35s, visibility .35s, transform .35s;
	}
	.fpcco-mobile-menu.is-open {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
	.fpcco-mobile-menu nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px 45px;
	}
	.fpcco-mobile-menu nav a {
		padding: 10px 0;
		border-bottom: 1px solid rgba(255,255,255,.08);
		color: #fff;
		font-size: clamp(23px, 4vw, 42px);
		font-weight: 600;
	}
	.fpcco-mobile-menu nav a.is-active {
		color: var(--fp-accent);
	}
	.fpcco-mobile-contact {
		display: flex;
		flex-wrap: wrap;
		gap: 12px 28px;
		margin-top: 35px;
		color: #9fb0c7;
		font-size: 14px;
	}
	.fpcco-slide-grid {
		grid-template-columns: minmax(0, 1fr) minmax(370px, .9fr);
		gap: 40px;
	}
	.fpcco-slide-visual {
		min-height: 540px;
	}
	.fpcco-slide-copy h1 {
		font-size: clamp(43px, 5.8vw, 70px);
	}
	.fpcco-capabilities-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.fpcco-capability-card {
		min-height: 280px;
	}
	.fpcco-capability-card > span {
		margin-bottom: 48px;
	}
	.fpcco-footer-top {
		grid-template-columns: 1.4fr .7fr .7fr;
	}
	.fpcco-footer-contact {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
	.fpcco-footer-contact h2 {
		grid-column: 1 / -1;
	}
}

@media (max-width: 940px) {
	.fpcco-header-cta {
		display: none;
	}
	.fpcco-hero {
		min-height: auto;
	}
	.fpcco-slide {
		padding-top: 140px;
		padding-bottom: 130px;
	}
	.fpcco-slide-grid,
	.fpcco-page-hero-grid,
	.fpcco-editorial-grid,
	.fpcco-equipment-grid,
	.fpcco-contact-grid,
	.fpcco-single-hero-grid {
		grid-template-columns: 1fr;
	}
	.fpcco-slide-copy {
		max-width: 760px;
	}
	.fpcco-slide-visual {
		min-height: 520px;
	}
	.fpcco-slide-visual figure {
		inset-inline: 5% 10%;
	}
	.fpcco-visual-backdrop {
		inset-inline: 11% 3%;
	}
	.fpcco-scroll-cue {
		display: none;
	}
	.fpcco-page-hero {
		padding-top: 140px;
	}
	.fpcco-page-hero-copy {
		max-width: 720px;
	}
	.fpcco-page-hero-visual {
		height: 430px;
	}
	.fpcco-stats-panel {
		grid-template-columns: repeat(2, 1fr);
	}
	.fpcco-stat:nth-child(2)::after {
		display: none;
	}
	.fpcco-stat:nth-child(-n+2) {
		border-bottom: 1px solid rgba(255,255,255,.1);
	}
	.fpcco-image-stack {
		min-height: 650px;
	}
	.fpcco-editorial-copy {
		max-width: 760px;
	}
	.fpcco-vision-grid {
		grid-template-columns: 1fr;
	}
	.fpcco-vision-card {
		min-height: 260px;
	}
	.fpcco-vision-card > span {
		margin-bottom: 38px;
	}
	.fpcco-advantages-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.fpcco-service-card,
	.fpcco-service-card:nth-child(1),
	.fpcco-service-card:nth-child(2),
	.fpcco-service-card:nth-child(6),
	.fpcco-service-card:nth-child(7) {
		grid-column: span 6;
	}
	.fpcco-projects-grid {
		grid-template-columns: 1fr;
	}
	.fpcco-project-card:nth-child(3n + 1) {
		grid-column: auto;
	}
	.fpcco-project-card > a,
	.fpcco-project-card:not(:nth-child(3n + 1)) > a {
		display: grid;
		grid-template-columns: .95fr 1.05fr;
		min-height: 430px;
	}
	.fpcco-coverage-grid {
		grid-template-columns: 1fr;
	}
	.fpcco-coverage-copy {
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: end;
		gap: 30px;
	}
	.fpcco-coverage-copy .fpcco-section-heading {
		margin-bottom: 0;
	}
	.fpcco-contact-grid {
		gap: 45px;
	}
	.fpcco-contact-info {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 35px;
	}
	.fpcco-contact-info .fpcco-section-heading {
		margin-bottom: 0;
	}
	.fpcco-project-facts {
		grid-template-columns: repeat(2, 1fr);
	}
	.fpcco-project-facts div:nth-child(2) {
		border-inline-end: 0;
	}
	.fpcco-project-facts div:nth-child(-n+2) {
		border-bottom: 1px solid var(--fp-border);
	}
	.fpcco-single-body-grid {
		grid-template-columns: 1fr;
	}
	.fpcco-single-aside {
		position: static;
	}
}

@media (max-width: 720px) {
	:root {
		--fp-radius: min(var(--fp-radius), 24px);
	}
	.fpcco-container {
		width: min(calc(100% - 30px), var(--fp-container));
	}
	.fpcco-section {
		padding-block: 75px;
	}
	.fpcco-header {
		height: 76px;
	}
	.fpcco-header.is-scrolled {
		height: 68px;
	}
	.fpcco-logo {
		width: 180px;
	}
	.fpcco-language,
	.fpcco-theme-toggle,
	.fpcco-menu-toggle {
		width: 39px;
		height: 39px;
		border-radius: 13px;
	}
	.fpcco-mobile-menu nav {
		grid-template-columns: 1fr;
	}
	.fpcco-mobile-menu nav a {
		font-size: 24px;
	}
	.fpcco-slide {
		padding-top: 125px;
		padding-bottom: 115px;
	}
	.fpcco-slide-copy h1 {
		font-size: clamp(39px, 12vw, 58px);
	}
	.fpcco-slide-copy > p {
		font-size: 16px;
	}
	.fpcco-slide-actions {
		display: grid;
		grid-template-columns: 1fr;
	}
	.fpcco-slide-actions .fpcco-button {
		width: 100%;
	}
	.fpcco-slide-visual {
		min-height: 390px;
	}
	.fpcco-slide-visual figure {
		inset: 15px 5% 20px 8%;
	}
	.fpcco-hero-badge {
		width: 105px;
		height: 105px;
		inset-inline-start: 0;
	}
	.fpcco-slider-controls {
		inset-block-end: 22px;
	}
	.fpcco-slider-arrows {
		display: none;
	}
	.fpcco-slider-pagination {
		margin-inline: auto;
	}
	.fpcco-page-hero {
		min-height: 0;
		padding-top: 125px;
	}
	.fpcco-page-hero-copy h1 {
		font-size: 48px;
	}
	.fpcco-page-hero-copy > p {
		font-size: 18px;
	}
	.fpcco-page-hero-visual {
		height: 320px;
	}
	.fpcco-section-heading h2 {
		font-size: 37px;
	}
	.fpcco-heading-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 18px;
	}
	.fpcco-stat {
		padding: 32px 12px;
	}
	.fpcco-stat strong {
		font-size: 50px;
	}
	.fpcco-stat > span {
		font-size: 12px;
	}
	.fpcco-image-stack {
		min-height: 500px;
	}
	.fpcco-image-stack-card {
		width: 72%;
		padding: 18px;
	}
	.fpcco-editorial-copy h2,
	.fpcco-equipment-copy h2 {
		font-size: 39px;
	}
	.fpcco-timeline {
		grid-template-columns: repeat(2, 1fr);
		gap: 28px 10px;
		border-top: 0;
	}
	.fpcco-timeline div {
		padding-top: 17px;
		border-top: 1px solid var(--fp-border);
	}
	.fpcco-timeline div::before {
		inset-block-start: -5px;
	}
	.fpcco-advantages-grid,
	.fpcco-capabilities-grid,
	.fpcco-quality-cards {
		grid-template-columns: 1fr;
	}
	.fpcco-services-grid {
		display: grid;
		grid-template-columns: 1fr;
	}
	.fpcco-service-card,
	.fpcco-service-card:nth-child(1),
	.fpcco-service-card:nth-child(2),
	.fpcco-service-card:nth-child(6),
	.fpcco-service-card:nth-child(7) {
		grid-column: auto;
		min-height: 350px;
	}
	.fpcco-project-card > a,
	.fpcco-project-card:not(:nth-child(3n + 1)) > a {
		display: flex;
		min-height: 0;
	}
	.fpcco-project-card figure {
		height: 310px;
	}
	.fpcco-project-card-copy {
		padding: 28px;
	}
	.fpcco-check-list {
		grid-template-columns: 1fr;
	}
	.fpcco-equipment-visual {
		min-height: 420px;
	}
	.fpcco-equipment-label {
		inset-inline-start: 0;
	}
	.fpcco-quality-flow {
		grid-template-columns: 1fr;
	}
	.fpcco-quality-step {
		border-inline-end: 1px solid var(--fp-border);
		border-bottom: 0;
	}
	.fpcco-quality-step:first-child {
		border-radius: var(--fp-radius) var(--fp-radius) 0 0;
	}
	.fpcco-quality-step:last-child {
		border-bottom: 1px solid var(--fp-border);
		border-radius: 0 0 var(--fp-radius) var(--fp-radius);
	}
	.fpcco-quality-step:not(:last-child)::after {
		content: "↓";
		inset-inline-end: 22px;
		inset-block: auto -12px;
		transform: none;
	}
	html[dir="rtl"] .fpcco-quality-step:not(:last-child)::after {
		content: "↓";
	}
	.fpcco-coverage-copy {
		display: block;
	}
	.fpcco-coverage-copy .fpcco-section-heading {
		margin-bottom: 35px;
	}
	.fpcco-coverage-map {
		min-height: 480px;
	}
	.fpcco-map-core {
		width: 135px;
		height: 135px;
	}
	.fpcco-governorates span {
		font-size: 8px;
		padding: 4px 7px;
	}
	.fpcco-news-grid {
		grid-template-columns: 1fr;
	}
	.fpcco-download-card {
		grid-template-columns: 1fr;
	}
	.fpcco-download-cover {
		max-width: 350px;
		margin-inline: auto;
	}
	.fpcco-contact-info {
		display: block;
	}
	.fpcco-contact-info .fpcco-section-heading {
		margin-bottom: 35px;
	}
	.fpcco-form-row {
		grid-template-columns: 1fr;
	}
	.fpcco-contact-form-wrap {
		padding: 22px;
	}
	.fpcco-cta-box {
		align-items: flex-start;
		flex-direction: column;
		gap: 30px;
		padding: 38px 28px;
	}
	.fpcco-cta-box h2 {
		font-size: 37px;
	}
	.fpcco-single-hero {
		min-height: 0;
		padding-top: 130px;
	}
	.fpcco-single-copy h1 {
		font-size: 44px;
	}
	.fpcco-single-image {
		height: 360px;
	}
	.fpcco-project-hero-image {
		min-height: 330px;
	}
	.fpcco-project-facts {
		grid-template-columns: 1fr;
	}
	.fpcco-project-facts div {
		border-inline-end: 0 !important;
		border-bottom: 1px solid var(--fp-border);
	}
	.fpcco-project-facts div:last-child {
		border-bottom: 0;
	}
	.fpcco-project-gallery {
		grid-template-columns: 1fr;
	}
	.fpcco-project-gallery a {
		height: 260px;
	}
	.fpcco-footer-top {
		grid-template-columns: repeat(2, 1fr);
	}
	.fpcco-footer-brand,
	.fpcco-footer-contact {
		grid-column: 1 / -1;
	}
	.fpcco-footer-contact {
		grid-template-columns: 1fr;
	}
	.fpcco-footer-bottom {
		flex-direction: column;
		text-align: center;
	}
}

@media (max-width: 470px) {
	.fpcco-logo {
		width: 145px;
	}
	.fpcco-header-actions {
		gap: 5px;
	}
	.fpcco-language,
	.fpcco-theme-toggle,
	.fpcco-menu-toggle {
		width: 37px;
		height: 37px;
	}
	.fpcco-slide-visual {
		min-height: 320px;
	}
	.fpcco-hero-badge {
		width: 88px;
		height: 88px;
		inset-block-end: 35px;
	}
	.fpcco-hero-badge strong {
		font-size: 22px;
	}
	.fpcco-stats-panel {
		grid-template-columns: 1fr;
	}
	.fpcco-stat {
		border-bottom: 1px solid rgba(255,255,255,.1);
	}
	.fpcco-stat::after {
		display: none;
	}
	.fpcco-stat:last-child {
		border-bottom: 0;
	}
	.fpcco-image-stack {
		min-height: 405px;
	}
	.fpcco-advantage {
		min-height: 175px;
	}
	.fpcco-advantage b {
		margin-bottom: 28px;
	}
	.fpcco-project-card figure {
		height: 240px;
	}
	.fpcco-coverage-map {
		min-height: 420px;
	}
	.fpcco-governorates span:nth-child(even) {
		display: none;
	}
	.fpcco-footer-top {
		grid-template-columns: 1fr;
	}
	.fpcco-footer-links {
		grid-column: auto;
	}
}

/* Version 1.1 visual refresh */

/* Complete light appearance, including sections originally authored as dark. */
html[data-theme="light"] .fpcco-header,
html[data-theme="light"] .fpcco-header.is-scrolled {
	border-color: rgba(31, 65, 111, 0.1);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 12px 42px rgba(20, 49, 89, 0.09);
	backdrop-filter: blur(20px) saturate(155%);
}

html[data-theme="light"] .fpcco-header .fpcco-logo img {
	filter: none !important;
}

html[data-theme="light"] .fpcco-header .fpcco-nav a,
html[data-theme="light"] .fpcco-header .fpcco-nav button {
	color: var(--fp-text);
}

html[data-theme="light"] .fpcco-header .fpcco-language,
html[data-theme="light"] .fpcco-header .fpcco-theme-toggle,
html[data-theme="light"] .fpcco-header .fpcco-menu-toggle {
	border-color: var(--fp-border);
	background: #fff;
	color: var(--fp-text) !important;
	box-shadow: 0 8px 24px rgba(20, 49, 89, 0.06);
}

html[data-theme="light"] .fpcco-theme-dark,
html[data-theme="light"] .fpcco-theme-brand,
html[data-theme="light"] .fpcco-projects-section.fpcco-theme-dark,
html[data-theme="light"] .fpcco-stats-section,
html[data-theme="light"] .fpcco-equipment-section,
html[data-theme="light"] .fpcco-capabilities-section,
html[data-theme="light"] .fpcco-vision-section,
html[data-theme="light"] .fpcco-single-hero,
html[data-theme="light"] .fpcco-not-found {
	--section-bg: #f2f6fc;
	--section-surface: #fff;
	--section-text: var(--fp-text);
	--section-heading: var(--fp-heading);
	background:
		radial-gradient(circle at 85% 10%, rgba(8, 169, 223, 0.1), transparent 31%),
		radial-gradient(circle at 10% 90%, rgba(48, 53, 143, 0.07), transparent 28%),
		#f2f6fc;
	color: var(--fp-text);
}

html[data-theme="light"] .fpcco-theme-dark h1,
html[data-theme="light"] .fpcco-theme-dark h2,
html[data-theme="light"] .fpcco-theme-dark h3,
html[data-theme="light"] .fpcco-theme-dark h4,
html[data-theme="light"] .fpcco-theme-brand h1,
html[data-theme="light"] .fpcco-theme-brand h2,
html[data-theme="light"] .fpcco-theme-brand h3,
html[data-theme="light"] .fpcco-single-copy h1,
html[data-theme="light"] .fpcco-cta-box h2 {
	color: var(--fp-heading);
}

html[data-theme="light"] .fpcco-theme-dark .fpcco-heading-copy,
html[data-theme="light"] .fpcco-theme-dark .fpcco-section-heading p,
html[data-theme="light"] .fpcco-theme-dark .fpcco-prose,
html[data-theme="light"] .fpcco-theme-dark .fpcco-project-card p,
html[data-theme="light"] .fpcco-theme-brand .fpcco-heading-copy,
html[data-theme="light"] .fpcco-single-copy > p,
html[data-theme="light"] .fpcco-page-hero-copy > p,
html[data-theme="light"] .fpcco-breadcrumbs {
	color: var(--fp-muted);
}

html[data-theme="light"] .fpcco-page-hero::after,
html[data-theme="light"] .fpcco-single-hero::before {
	background-image:
		linear-gradient(rgba(48, 53, 143, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(48, 53, 143, 0.035) 1px, transparent 1px);
}

html[data-theme="light"] .fpcco-breadcrumbs a:hover {
	color: var(--fp-primary);
}

html[data-theme="light"] .fpcco-stats-panel {
	border-color: var(--fp-border);
	background: rgba(255, 255, 255, 0.88);
	box-shadow: var(--fp-shadow-sm);
}

html[data-theme="light"] .fpcco-stat > span {
	color: var(--fp-text);
}

html[data-theme="light"] .fpcco-stat strong {
	color: var(--fp-primary);
}

html[data-theme="light"] .fpcco-stat:not(:last-child)::after {
	background: var(--fp-border);
}

html[data-theme="light"] .fpcco-capability-card,
html[data-theme="light"] .fpcco-vision-card {
	border-color: var(--fp-border);
	background: rgba(255, 255, 255, 0.9);
	box-shadow: var(--fp-shadow-sm);
}

html[data-theme="light"] .fpcco-capability-card h3,
html[data-theme="light"] .fpcco-vision-card h3 {
	color: var(--fp-heading);
}

html[data-theme="light"] .fpcco-capability-card p,
html[data-theme="light"] .fpcco-vision-card p,
html[data-theme="light"] .fpcco-check-list li {
	color: var(--fp-muted);
}

html[data-theme="light"] .fpcco-capability-card > span,
html[data-theme="light"] .fpcco-vision-card > span,
html[data-theme="light"] .fpcco-check-list svg {
	color: var(--fp-primary);
}

html[data-theme="light"] .fpcco-single-icon {
	border-color: rgba(8, 169, 223, 0.18);
	background: rgba(8, 169, 223, 0.08);
	color: var(--fp-primary);
}

html[data-theme="light"] .fpcco-equipment-label {
	border-color: rgba(8, 169, 223, 0.2);
	background: rgba(255, 255, 255, 0.93);
	color: var(--fp-text);
	box-shadow: var(--fp-shadow-sm);
}

html[data-theme="light"] .fpcco-equipment-label b {
	color: var(--fp-primary);
}

html[data-theme="light"] .fpcco-cta-box {
	border-color: rgba(8, 169, 223, 0.2);
	background:
		radial-gradient(circle at 88% 12%, rgba(8, 169, 223, 0.13), transparent 30%),
		linear-gradient(135deg, #fff, #edf6fc);
	box-shadow: var(--fp-shadow-sm);
}

html[data-theme="light"] .fpcco-cta-box p {
	color: var(--fp-muted);
}

html[data-theme="light"] .fpcco-cta-shape-one {
	border-color: rgba(8, 169, 223, 0.09);
}

html[data-theme="light"] .fpcco-project-kicker span {
	border-color: var(--fp-border);
	background: #fff;
	color: var(--fp-primary);
}

html[data-theme="light"] .fpcco-not-found p {
	color: var(--fp-muted);
}

html[data-theme="light"] .fpcco-mobile-menu {
	background:
		radial-gradient(circle at 86% 12%, rgba(8, 169, 223, 0.12), transparent 33%),
		#f7faff;
}

html[data-theme="light"] .fpcco-mobile-menu nav a {
	border-color: var(--fp-border);
	color: var(--fp-heading);
}

html[data-theme="light"] .fpcco-mobile-menu nav a.is-active,
html[data-theme="light"] .fpcco-mobile-menu nav a:hover {
	color: var(--fp-primary);
}

html[data-theme="light"] .fpcco-mobile-contact {
	color: var(--fp-muted);
}

html[data-theme="light"] .fpcco-footer {
	background:
		linear-gradient(rgba(48, 53, 143, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(48, 53, 143, 0.025) 1px, transparent 1px),
		#fff;
	background-size: 72px 72px;
	color: var(--fp-muted);
	border-top: 1px solid var(--fp-border);
}

html[data-theme="light"] .fpcco-footer-brand img {
	filter: none;
}

html[data-theme="light"] .fpcco-footer h2 {
	color: var(--fp-heading);
}

html[data-theme="light"] .fpcco-footer-brand p,
html[data-theme="light"] .fpcco-footer-links a,
html[data-theme="light"] .fpcco-footer-contact > a,
html[data-theme="light"] .fpcco-footer-contact > p {
	color: var(--fp-muted);
}

html[data-theme="light"] .fpcco-footer-bottom {
	border-color: var(--fp-border);
	color: #718098;
}

/* Grouped desktop and mobile navigation. */
.fpcco-nav .fpcco-mega-menu {
	inset-inline-start: auto;
	inset-inline-end: -170px;
	display: grid;
	grid-template-columns: 1.35fr 1fr 0.9fr;
	gap: 12px;
	width: min(670px, calc(100vw - 50px));
	padding: 16px;
	transform: translateY(12px);
}

html[dir="rtl"] .fpcco-nav .fpcco-mega-menu {
	inset-inline-start: -170px;
	inset-inline-end: auto;
	transform: translateY(12px);
}

.fpcco-has-submenu:hover .fpcco-mega-menu,
.fpcco-has-submenu:focus-within .fpcco-mega-menu,
.fpcco-has-submenu.is-open .fpcco-mega-menu,
html[dir="rtl"] .fpcco-has-submenu:hover .fpcco-mega-menu,
html[dir="rtl"] .fpcco-has-submenu:focus-within .fpcco-mega-menu,
html[dir="rtl"] .fpcco-has-submenu.is-open .fpcco-mega-menu {
	transform: translateY(0);
}

.fpcco-mega-group {
	padding: 13px;
	border-radius: 16px;
	background: color-mix(in srgb, var(--fp-secondary) 4%, transparent);
}

.fpcco-mega-group > strong {
	display: block;
	margin-bottom: 8px;
	color: var(--fp-primary);
	font-size: 12px;
}

.fpcco-mega-group ul {
	display: grid;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fpcco-nav .fpcco-mega-group a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 9px 10px;
	font-size: 13px;
}

.fpcco-mega-group a svg {
	width: 16px;
	height: 16px;
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity 0.25s, transform 0.25s;
}

.fpcco-mega-group a:hover svg,
.fpcco-mega-group a.is-active svg {
	opacity: 1;
	transform: none;
}

html[dir="rtl"] .fpcco-mega-group a svg {
	transform: rotate(180deg) translateX(-6px);
}

html[dir="rtl"] .fpcco-mega-group a:hover svg,
html[dir="rtl"] .fpcco-mega-group a.is-active svg {
	transform: rotate(180deg);
}

.fpcco-mobile-nav-group {
	display: grid;
	align-content: start;
}

.fpcco-mobile-nav-group > strong {
	margin-top: 18px;
	color: var(--fp-secondary);
	font-size: 12px;
	letter-spacing: 0.06em;
}

.fpcco-mobile-nav-group a {
	font-size: clamp(18px, 2.5vw, 27px) !important;
}

/* Full-image home slider. */
.fpcco-hero {
	height: min(960px, 100svh);
	min-height: 760px;
	padding: 0;
	background: #eaf2fa;
}

.fpcco-hero-noise {
	z-index: 7;
	opacity: 0.12;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.14) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.14) 1px, transparent 1px);
	background-size: 72px 72px;
	mask-image: linear-gradient(to bottom, #000, transparent 85%);
}

.fpcco-hero-blueprint {
	position: absolute;
	inset-inline-end: 7%;
	inset-block-start: 17%;
	z-index: 6;
	width: 180px;
	height: 180px;
	pointer-events: none;
	transform: translate(calc(var(--pointer-x) * -26px), calc(var(--pointer-y) * -26px));
}

.fpcco-hero-blueprint span {
	position: absolute;
	border: 1px solid rgba(8, 169, 223, 0.34);
	border-radius: 50%;
	animation: fpcco-breathe 7s ease-in-out infinite;
}

.fpcco-hero-blueprint span:nth-child(1) {
	inset: 0;
	border-width: 34px;
}

.fpcco-hero-blueprint span:nth-child(2) {
	inset: 38px;
	animation-delay: -2s;
}

.fpcco-hero-blueprint span:nth-child(3) {
	inset: 73px;
	background: var(--fp-secondary);
	border: 0;
	animation-delay: -4s;
}

.fpcco-slider,
.fpcco-slider-track {
	height: 100%;
	min-height: 100%;
}

.fpcco-slider-track {
	position: relative;
	overflow: hidden;
}

.fpcco-slide,
.fpcco-slide.is-active {
	position: absolute;
	inset: 0;
	display: block;
	min-height: 100%;
	padding: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.9s var(--fp-ease), visibility 0.9s;
}

.fpcco-slide.is-active {
	z-index: 3;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.fpcco-slide.is-leaving {
	z-index: 2;
	opacity: 0;
	visibility: visible;
}

.fpcco-slide.is-entering {
	z-index: 3;
	visibility: visible;
}

.fpcco-slide-media,
.fpcco-slide-shade {
	position: absolute;
	inset: 0;
	margin: 0;
}

.fpcco-slide-media {
	overflow: hidden;
	background: #dce7f2;
}

.fpcco-slide-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.09);
	filter: saturate(0.92) contrast(1.02);
	transition: transform 7s linear, filter 1s var(--fp-ease);
}

.fpcco-slide.is-active .fpcco-slide-media img {
	transform: scale(1.015);
}

.fpcco-slide.is-leaving-next .fpcco-slide-media img {
	transform: scale(1.04) translateX(-2%);
}

.fpcco-slide.is-leaving-prev .fpcco-slide-media img {
	transform: scale(1.04) translateX(2%);
}

.fpcco-slide-shade {
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(5, 16, 37, 0.87) 0%, rgba(5, 16, 37, 0.64) 39%, rgba(5, 16, 37, 0.13) 72%),
		linear-gradient(to top, rgba(5, 16, 37, 0.62), transparent 45%);
}

html[dir="rtl"] .fpcco-slide-shade {
	background:
		linear-gradient(270deg, rgba(5, 16, 37, 0.87) 0%, rgba(5, 16, 37, 0.64) 39%, rgba(5, 16, 37, 0.13) 72%),
		linear-gradient(to top, rgba(5, 16, 37, 0.62), transparent 45%);
}

html[data-theme="light"] .fpcco-slide-shade {
	background:
		linear-gradient(90deg, rgba(241, 247, 252, 0.96) 0%, rgba(241, 247, 252, 0.76) 41%, rgba(241, 247, 252, 0.06) 74%),
		linear-gradient(to top, rgba(12, 39, 70, 0.33), transparent 42%);
}

html[dir="rtl"][data-theme="light"] .fpcco-slide-shade {
	background:
		linear-gradient(270deg, rgba(241, 247, 252, 0.96) 0%, rgba(241, 247, 252, 0.76) 41%, rgba(241, 247, 252, 0.06) 74%),
		linear-gradient(to top, rgba(12, 39, 70, 0.33), transparent 42%);
}

.fpcco-slide-layout {
	position: relative;
	z-index: 4;
	display: flex;
	align-items: center;
	height: 100%;
	padding-block: 130px 105px;
}

.fpcco-slide-copy-card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 74px;
	width: min(760px, 70%);
	padding: clamp(30px, 4vw, 58px);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: calc(var(--fp-radius) * 1.15);
	background: rgba(5, 19, 42, 0.53);
	box-shadow: 0 32px 90px rgba(4, 15, 35, 0.27);
	backdrop-filter: blur(18px) saturate(120%);
	overflow: hidden;
}

html[data-theme="light"] .fpcco-slide-copy-card {
	border-color: rgba(255, 255, 255, 0.65);
	background: rgba(255, 255, 255, 0.7);
	box-shadow: 0 32px 90px rgba(18, 53, 89, 0.18);
}

.fpcco-slide-copy-card::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	inset-block: 0;
	width: 5px;
	background: linear-gradient(var(--fp-secondary), var(--fp-primary));
}

.fpcco-slide-copy {
	position: relative;
	z-index: 2;
}

.fpcco-slide-copy > * {
	opacity: 0;
	transform: translateY(38px);
	transition: opacity 0.75s var(--fp-ease), transform 0.75s var(--fp-ease);
}

.fpcco-slide.is-active .fpcco-slide-copy > * {
	opacity: 1;
	transform: none;
}

.fpcco-slide.is-active .fpcco-slide-copy > *:nth-child(1) { transition-delay: 0.12s; }
.fpcco-slide.is-active .fpcco-slide-copy > *:nth-child(2) { transition-delay: 0.2s; }
.fpcco-slide.is-active .fpcco-slide-copy > *:nth-child(3) { transition-delay: 0.3s; }
.fpcco-slide.is-active .fpcco-slide-copy > *:nth-child(4) { transition-delay: 0.4s; }

.fpcco-slide-copy h1 {
	max-width: 650px;
	margin-bottom: 21px;
	color: #fff;
	font-size: clamp(44px, 5.25vw, 76px);
	line-height: 1.08;
}

html[data-theme="light"] .fpcco-slide-copy h1 {
	color: var(--fp-heading);
}

.fpcco-slide-copy > p {
	max-width: 610px;
	margin-bottom: 30px;
	color: rgba(235, 244, 255, 0.8);
	font-size: clamp(16px, 1.45vw, 19px);
}

html[data-theme="light"] .fpcco-slide-copy > p {
	color: #50627b;
}

.fpcco-slide-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

html[data-theme="light"] .fpcco-hero .fpcco-button-ghost {
	border-color: rgba(48, 53, 143, 0.16);
	background: rgba(255, 255, 255, 0.86);
	color: var(--fp-primary) !important;
}

.fpcco-slide-signature {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-inline-start: 25px;
	border-inline-start: 1px solid rgba(255, 255, 255, 0.18);
	color: rgba(255, 255, 255, 0.7);
}

html[data-theme="light"] .fpcco-slide-signature {
	border-color: var(--fp-border);
	color: var(--fp-muted);
}

.fpcco-slide-signature > span {
	color: var(--fp-accent);
	font-family: var(--fp-font-en);
	font-size: 24px;
	font-weight: 700;
}

html[data-theme="light"] .fpcco-slide-signature > span {
	color: var(--fp-primary);
}

.fpcco-slide-signature i {
	width: 1px;
	height: 74px;
	background: currentColor;
	opacity: 0.35;
}

.fpcco-slide-signature small {
	writing-mode: vertical-rl;
	font-size: 10px;
	white-space: nowrap;
}

.fpcco-hero-badge {
	inset-inline-start: auto;
	inset-inline-end: 5%;
	inset-block-end: 115px;
	width: 142px;
	height: 142px;
	border-color: rgba(255, 255, 255, 0.35);
	background: rgba(5, 19, 42, 0.62);
}

html[data-theme="light"] .fpcco-hero-badge {
	border-color: rgba(255, 255, 255, 0.65);
	background: rgba(255, 255, 255, 0.78);
	color: var(--fp-text);
	box-shadow: 0 25px 65px rgba(16, 52, 91, 0.18);
}

html[data-theme="light"] .fpcco-hero-badge strong {
	color: var(--fp-primary);
}

.fpcco-slider-side-arrows {
	position: absolute;
	inset-inline: 24px;
	inset-block-start: 50%;
	z-index: 12;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
	transform: translateY(-50%);
}

.fpcco-slider-side-arrows button {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.36);
	border-radius: 50%;
	background: rgba(5, 19, 42, 0.52);
	color: #fff;
	box-shadow: 0 14px 35px rgba(5, 19, 42, 0.22);
	cursor: pointer;
	pointer-events: auto;
	backdrop-filter: blur(12px);
	transition: transform 0.3s var(--fp-ease), background 0.3s, border-color 0.3s;
}

html[data-theme="light"] .fpcco-slider-side-arrows button {
	border-color: rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.82);
	color: var(--fp-primary);
}

.fpcco-slider-side-arrows button:hover,
.fpcco-slider-side-arrows button:focus-visible {
	border-color: var(--fp-secondary);
	background: var(--fp-secondary);
	color: #fff;
	transform: scale(1.1);
}

.fpcco-slider-side-arrows span {
	font-family: var(--fp-font-en);
	font-size: 22px;
}

.fpcco-slider-controls {
	inset-block-end: 31px;
	z-index: 12;
}

.fpcco-slider-pagination {
	gap: 10px;
}

.fpcco-slider-pagination button {
	width: 13px;
	height: 13px;
	padding: 3px;
	border: 1px solid rgba(255, 255, 255, 0.48);
	border-radius: 50%;
	background: transparent;
}

.fpcco-slider-pagination button span {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.55);
}

.fpcco-slider-pagination button.is-active {
	width: 38px;
	border-radius: 20px;
}

.fpcco-slider-pagination button.is-active span {
	border-radius: inherit;
	background: var(--fp-secondary);
}

.fpcco-slider-count {
	color: rgba(255, 255, 255, 0.8);
	font-family: var(--fp-font-en);
	font-size: 13px;
}

.fpcco-slider-count b {
	color: #fff;
	font-size: 21px;
}

.fpcco-scroll-cue {
	z-index: 12;
}

/* Image frames now follow the exact media box. */
.fpcco-page-hero-frame {
	inset: 0;
	border-color: rgba(103, 216, 255, 0.48);
	border-radius: calc(var(--fp-radius) * 1.35);
	transform: translate(-12px, 12px);
}

html[dir="rtl"] .fpcco-page-hero-frame {
	inset: 0;
	transform: translate(12px, 12px);
}

.fpcco-image-stack::before {
	inset: 0 32px 45px 0;
	border: 1px solid color-mix(in srgb, var(--fp-secondary) 40%, transparent);
	border-radius: calc(var(--fp-radius) * 1.2);
	background: transparent;
	transform: translate(-13px, 13px);
}

html[dir="rtl"] .fpcco-image-stack::before {
	inset: 0 0 45px 32px;
	transform: translate(13px, 13px);
}

.fpcco-image-stack > img {
	inset: 0 32px 45px 0;
	width: calc(100% - 32px);
	height: calc(100% - 45px);
}

html[dir="rtl"] .fpcco-image-stack > img {
	inset: 0 0 45px 32px;
}

.fpcco-equipment-visual::before,
.fpcco-single-image::before {
	inset: 0;
	border-color: rgba(103, 216, 255, 0.42);
	border-radius: calc(var(--fp-radius) * 1.3);
	transform: translate(-13px, 13px);
}

html[dir="rtl"] .fpcco-equipment-visual::before,
html[dir="rtl"] .fpcco-single-image::before {
	transform: translate(13px, 13px);
}

.fpcco-equipment-visual img {
	inset: 0;
	width: 100%;
	height: 100%;
}

/* Every project uses the same vertical card language. */
.fpcco-projects-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.4vw, 32px);
}

.fpcco-project-card,
.fpcco-project-card:nth-child(3n + 1) {
	grid-column: auto;
}

.fpcco-project-card > a,
.fpcco-project-card:not(:nth-child(3n + 1)) > a {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
	border-radius: var(--fp-radius);
	background: var(--fp-surface);
}

.fpcco-project-card figure {
	flex: 0 0 auto;
	width: 100%;
	height: auto;
	min-height: 0;
	aspect-ratio: 4 / 3;
}

.fpcco-project-card-copy {
	flex: 1 1 auto;
	justify-content: flex-start;
	padding: 28px;
}

.fpcco-project-card h3 {
	font-size: clamp(23px, 2.1vw, 30px);
}

.fpcco-project-link {
	justify-content: center;
	width: 100%;
	min-height: 48px;
	margin-top: auto;
	padding: 12px 17px;
	border-radius: 15px;
	background: linear-gradient(135deg, var(--fp-secondary), var(--fp-primary));
	color: #fff;
	box-shadow: 0 12px 28px rgba(8, 169, 223, 0.18);
	transition: transform 0.3s var(--fp-ease), box-shadow 0.3s;
}

.fpcco-project-card:hover .fpcco-project-link {
	box-shadow: 0 17px 38px rgba(8, 169, 223, 0.28);
	transform: translateY(-2px);
}

/* Organized and interactive delivery footprint. */
.fpcco-coverage-grid {
	grid-template-columns: minmax(270px, 0.52fr) minmax(0, 1.48fr);
	align-items: stretch;
	gap: clamp(34px, 5vw, 72px);
}

.fpcco-coverage-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.fpcco-coverage-panel {
	position: relative;
	padding: clamp(22px, 3vw, 38px);
	border: 1px solid var(--fp-border);
	border-radius: calc(var(--fp-radius) * 1.15);
	background:
		linear-gradient(135deg, rgba(8, 169, 223, 0.045), transparent 40%),
		var(--fp-surface);
	box-shadow: var(--fp-shadow-sm);
	overflow: hidden;
}

.fpcco-coverage-panel::after {
	content: "";
	position: absolute;
	inset-inline-end: -75px;
	inset-block-start: -80px;
	width: 190px;
	height: 190px;
	border: 35px solid rgba(8, 169, 223, 0.07);
	border-radius: 50%;
	pointer-events: none;
}

.fpcco-coverage-status {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 25px;
	padding: 17px 20px;
	border: 1px solid color-mix(in srgb, var(--fp-secondary) 19%, transparent);
	border-radius: 20px;
	background: color-mix(in srgb, var(--fp-secondary) 7%, var(--fp-surface));
}

.fpcco-coverage-status > span {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	flex: 0 0 auto;
	border-radius: 15px;
	background: linear-gradient(135deg, var(--fp-secondary), var(--fp-primary));
	color: #fff;
}

.fpcco-coverage-status svg {
	width: 24px;
	height: 24px;
}

.fpcco-coverage-status small,
.fpcco-coverage-status strong {
	display: block;
}

.fpcco-coverage-status small {
	color: var(--fp-muted);
	font-size: 11px;
}

.fpcco-coverage-status strong {
	color: var(--fp-heading);
	font-size: 16px;
	transition: opacity 0.2s;
}

.fpcco-region-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 13px;
}

.fpcco-region-card {
	padding: 19px;
	border: 1px solid var(--fp-border);
	border-radius: 20px;
	background: color-mix(in srgb, var(--fp-light) 60%, var(--fp-surface));
	transition: transform 0.32s var(--fp-ease), border-color 0.32s, box-shadow 0.32s, background 0.32s;
}

.fpcco-region-card.is-active,
.fpcco-region-card:hover {
	border-color: color-mix(in srgb, var(--fp-secondary) 45%, transparent);
	background: var(--fp-surface);
	box-shadow: 0 15px 35px rgba(16, 48, 85, 0.1);
	transform: translateY(-4px);
}

.fpcco-region-card header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 15px;
}

.fpcco-region-card header > span {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	flex: 0 0 auto;
	border-radius: 12px;
	background: rgba(8, 169, 223, 0.1);
	color: var(--fp-secondary);
	font-family: var(--fp-font-en);
	font-size: 11px;
	font-weight: 700;
}

.fpcco-region-card h3 {
	margin: 0;
	font-size: 16px;
}

.fpcco-region-places {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.fpcco-region-places button {
	padding: 6px 9px;
	border: 1px solid var(--fp-border);
	border-radius: 50px;
	background: var(--fp-surface);
	color: var(--fp-muted);
	font-size: 10px;
	cursor: pointer;
	transition: color 0.23s, border-color 0.23s, background 0.23s, transform 0.23s;
}

.fpcco-region-places button:hover,
.fpcco-region-places button:focus-visible,
.fpcco-region-places button.is-active {
	border-color: var(--fp-secondary);
	background: var(--fp-secondary);
	color: #fff;
	outline: none;
	transform: translateY(-2px);
}

/* Client identities remain in color and move continuously. */
.fpcco-clients-track {
	will-change: transform;
}

.fpcco-client-logo {
	transition: transform 0.35s var(--fp-ease), border-color 0.35s, box-shadow 0.35s;
}

.fpcco-client-logo img {
	filter: none;
	opacity: 0.9;
}

.fpcco-client-logo:hover {
	border-color: color-mix(in srgb, var(--fp-secondary) 44%, transparent);
	box-shadow: 0 18px 42px rgba(15, 48, 86, 0.12);
	transform: translateY(-6px);
}

/* Consistent hover and keyboard feedback across interactive components. */
@media (hover: hover) {
	.fpcco-service-card > a,
	.fpcco-advantage,
	.fpcco-capability-card,
	.fpcco-vision-card,
	.fpcco-quality-cards article,
	.fpcco-contact-list > a,
	.fpcco-download-card,
	.fpcco-single-aside,
	.fpcco-stat,
	.fpcco-news-card > a {
		transition: transform 0.35s var(--fp-ease), border-color 0.35s, box-shadow 0.35s, background 0.35s;
	}

	.fpcco-quality-cards article:hover,
	.fpcco-contact-list > a:hover,
	.fpcco-download-card:hover,
	.fpcco-single-aside:hover,
	.fpcco-stat:hover {
		border-color: color-mix(in srgb, var(--fp-secondary) 42%, transparent);
		box-shadow: var(--fp-shadow-lg);
		transform: translateY(-7px);
	}

	.fpcco-footer-contact a:hover,
	.fpcco-mobile-contact a:hover {
		color: var(--fp-secondary);
	}

	.fpcco-contact-form input:hover,
	.fpcco-contact-form textarea:hover,
	.fpcco-contact-form select:hover {
		border-color: color-mix(in srgb, var(--fp-secondary) 44%, transparent);
	}
}

body.fpcco-site a:focus-visible,
body.fpcco-site button:focus-visible,
body.fpcco-site input:focus-visible,
body.fpcco-site textarea:focus-visible,
body.fpcco-site select:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--fp-secondary) 34%, transparent);
	outline-offset: 3px;
}

body.fpcco-site a:active,
body.fpcco-site button:active {
	transform: translateY(1px);
}

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

	.fpcco-mobile-menu {
		justify-content: flex-start;
		overflow-y: auto;
	}

	.fpcco-mobile-menu nav {
		align-items: start;
	}
}

@media (max-width: 940px) {
	.fpcco-hero {
		height: auto;
		min-height: 780px;
	}

	.fpcco-slide,
	.fpcco-slide.is-active {
		min-height: 780px;
		padding: 0;
	}

	.fpcco-slide-layout {
		padding-block: 125px 110px;
	}

	.fpcco-slide-copy-card {
		width: min(760px, 88%);
	}

	.fpcco-hero-badge {
		display: none;
	}

	.fpcco-slider-side-arrows {
		inset-inline: 15px;
	}

	.fpcco-coverage-grid {
		grid-template-columns: 1fr;
	}

	.fpcco-coverage-copy {
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: end;
	}
}

@media (max-width: 720px) {
	.fpcco-hero {
		min-height: 750px;
	}

	.fpcco-slide,
	.fpcco-slide.is-active {
		min-height: 750px;
		padding: 0;
	}

	.fpcco-slide-layout {
		align-items: flex-end;
		padding-block: 110px 105px;
	}

	.fpcco-slide-copy-card {
		display: block;
		width: 100%;
		padding: 27px 24px;
		border-radius: 24px;
	}

	.fpcco-slide-copy h1,
	html[dir="ltr"] .fpcco-slide-copy h1 {
		font-size: clamp(37px, 10vw, 53px);
	}

	.fpcco-slide-copy > p {
		font-size: 15px;
		line-height: 1.7;
	}

	.fpcco-slide-signature {
		display: none;
	}

	.fpcco-slider-side-arrows {
		inset-block-start: auto;
		inset-block-end: 24px;
		inset-inline: 15px;
		transform: none;
	}

	.fpcco-slider-side-arrows button {
		width: 47px;
		height: 47px;
	}

	.fpcco-slider-controls {
		inset-block-end: 37px;
		justify-content: center;
		pointer-events: none;
	}

	.fpcco-slider-pagination {
		pointer-events: auto;
	}

	.fpcco-slider-count,
	.fpcco-scroll-cue,
	.fpcco-hero-blueprint {
		display: none;
	}

	.fpcco-projects-grid {
		grid-template-columns: 1fr;
	}

	.fpcco-project-card > a,
	.fpcco-project-card:not(:nth-child(3n + 1)) > a {
		display: flex;
	}

	.fpcco-project-card figure {
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.fpcco-coverage-copy {
		display: block;
	}

	.fpcco-region-grid {
		grid-template-columns: 1fr;
	}

	.fpcco-region-card {
		padding: 17px;
	}

	.fpcco-page-hero-frame {
		transform: translate(-7px, 7px);
	}

	html[dir="rtl"] .fpcco-page-hero-frame {
		transform: translate(7px, 7px);
	}

	.fpcco-image-stack::before,
	.fpcco-equipment-visual::before,
	.fpcco-single-image::before {
		transform: translate(-7px, 7px);
	}

	html[dir="rtl"] .fpcco-image-stack::before,
	html[dir="rtl"] .fpcco-equipment-visual::before,
	html[dir="rtl"] .fpcco-single-image::before {
		transform: translate(7px, 7px);
	}
}

@media (max-width: 470px) {
	.fpcco-mobile-menu {
		padding-inline: 22px;
	}

	.fpcco-slide-actions {
		display: grid;
	}

	.fpcco-slide-actions .fpcco-button {
		width: 100%;
	}

	.fpcco-project-card-copy {
		padding: 24px;
	}
}

/* Version 1.2 interaction and card refresh */

/* Compact modern primary navigation. */
.fpcco-nav {
	padding: 5px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 19px;
	background: rgba(255, 255, 255, 0.075);
	backdrop-filter: blur(16px);
}

.fpcco-nav > ul {
	gap: 3px;
}

.fpcco-nav a,
.fpcco-nav button {
	display: flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 14px;
	border-radius: 13px;
	line-height: 1;
	transition: color 0.28s, background 0.28s, box-shadow 0.28s, transform 0.28s;
}

.fpcco-nav a::after {
	display: none;
}

.fpcco-nav > ul > li > a:hover,
.fpcco-nav > ul > li > a.is-active,
.fpcco-nav > ul > li > button:hover,
.fpcco-nav > ul > li > button.is-active,
.fpcco-has-submenu.is-open > button {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
	transform: translateY(-1px);
}

html[data-theme="light"] .fpcco-nav {
	border-color: rgba(35, 68, 112, 0.09);
	background: #f3f7fc;
	box-shadow: inset 0 1px 0 #fff;
}

html[data-theme="light"] .fpcco-nav > ul > li > a:hover,
html[data-theme="light"] .fpcco-nav > ul > li > a.is-active,
html[data-theme="light"] .fpcco-nav > ul > li > button:hover,
html[data-theme="light"] .fpcco-nav > ul > li > button.is-active,
html[data-theme="light"] .fpcco-has-submenu.is-open > button {
	background:
		linear-gradient(135deg, rgba(8, 169, 223, 0.13), rgba(48, 53, 143, 0.09)),
		#fff;
	color: var(--fp-primary);
	box-shadow: 0 7px 20px rgba(20, 53, 92, 0.08);
}

.fpcco-has-submenu > button > span {
	display: inline-block;
	font-family: var(--fp-font-en);
	transition: transform 0.28s;
}

.fpcco-has-submenu:hover > button > span,
.fpcco-has-submenu:focus-within > button > span,
.fpcco-has-submenu.is-open > button > span {
	transform: rotate(180deg);
}

.fpcco-nav .fpcco-mega-menu {
	inset-inline-start: 50%;
	inset-inline-end: auto;
	grid-template-columns: 1fr;
	width: 350px;
	padding: 12px;
	border-radius: 22px;
	transform: translate(-50%, 14px) scale(0.97);
	transform-origin: top center;
}

html[dir="rtl"] .fpcco-nav .fpcco-mega-menu {
	inset-inline-start: 50%;
	inset-inline-end: auto;
	transform: translate(50%, 14px) scale(0.97);
}

.fpcco-has-submenu:hover .fpcco-mega-menu,
.fpcco-has-submenu:focus-within .fpcco-mega-menu,
.fpcco-has-submenu.is-open .fpcco-mega-menu {
	transform: translate(-50%, 0) scale(1);
}

html[dir="rtl"] .fpcco-has-submenu:hover .fpcco-mega-menu,
html[dir="rtl"] .fpcco-has-submenu:focus-within .fpcco-mega-menu,
html[dir="rtl"] .fpcco-has-submenu.is-open .fpcco-mega-menu {
	transform: translate(50%, 0) scale(1);
}

.fpcco-mega-group {
	padding: 9px;
	background:
		linear-gradient(145deg, rgba(8, 169, 223, 0.055), transparent),
		var(--fp-surface);
}

.fpcco-mega-group > strong {
	padding: 7px 10px 11px;
	border-bottom: 1px solid var(--fp-border);
	font-size: 12px;
}

.fpcco-nav .fpcco-mega-group a {
	min-height: 44px;
	padding: 10px 12px;
}

.fpcco-nav .fpcco-mega-group a:hover,
.fpcco-nav .fpcco-mega-group a.is-active {
	background: color-mix(in srgb, var(--fp-secondary) 10%, transparent);
	color: var(--fp-primary) !important;
}

/* Slider copy sits directly over the image without a background panel. */
.fpcco-slide-shade,
html[data-theme="light"] .fpcco-slide-shade,
html[dir="rtl"] .fpcco-slide-shade,
html[dir="rtl"][data-theme="light"] .fpcco-slide-shade {
	background:
		linear-gradient(90deg, rgba(4, 16, 37, 0.9) 0%, rgba(4, 16, 37, 0.7) 38%, rgba(4, 16, 37, 0.12) 73%),
		linear-gradient(to top, rgba(4, 16, 37, 0.65), transparent 48%);
}

html[dir="rtl"] .fpcco-slide-shade,
html[dir="rtl"][data-theme="light"] .fpcco-slide-shade {
	background:
		linear-gradient(270deg, rgba(4, 16, 37, 0.9) 0%, rgba(4, 16, 37, 0.7) 38%, rgba(4, 16, 37, 0.12) 73%),
		linear-gradient(to top, rgba(4, 16, 37, 0.65), transparent 48%);
}

.fpcco-slide-copy-card,
html[data-theme="light"] .fpcco-slide-copy-card {
	display: block;
	width: min(790px, 72%);
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	overflow: visible;
}

.fpcco-slide-copy-card::before {
	display: none;
}

.fpcco-slide-copy h1,
html[data-theme="light"] .fpcco-slide-copy h1 {
	color: #fff;
	text-shadow: 0 12px 38px rgba(0, 0, 0, 0.28);
}

.fpcco-slide-copy > p,
html[data-theme="light"] .fpcco-slide-copy > p {
	color: rgba(239, 246, 255, 0.84);
	text-shadow: 0 5px 20px rgba(0, 0, 0, 0.25);
}

.fpcco-slide-copy .fpcco-eyebrow {
	color: var(--fp-accent);
	text-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
}

html[data-theme="light"] .fpcco-hero .fpcco-button-ghost {
	border-color: rgba(255, 255, 255, 0.34);
	background: rgba(5, 19, 42, 0.36);
	color: #fff !important;
	backdrop-filter: blur(12px);
}

.fpcco-slide-media img {
	filter: saturate(1.02) contrast(1.04);
}

/* Service imagery covers each card completely. */
.fpcco-service-card > a,
.fpcco-service-card:nth-child(1) > a,
.fpcco-service-card:nth-child(6) > a {
	isolation: isolate;
	justify-content: flex-end;
	border-color: rgba(255, 255, 255, 0.2);
	background: #0b1c38;
	color: #fff;
	box-shadow: 0 22px 52px rgba(9, 28, 58, 0.14);
}

.fpcco-service-card > a::before,
.fpcco-service-card:nth-child(1) > a::before,
.fpcco-service-card:nth-child(6) > a::before {
	inset: 0;
	z-index: 1;
	height: auto;
	border-radius: inherit;
	background:
		linear-gradient(to top, rgba(5, 18, 41, 0.98) 0%, rgba(5, 18, 41, 0.72) 50%, rgba(5, 18, 41, 0.18) 100%),
		linear-gradient(125deg, rgba(48, 53, 143, 0.28), transparent 62%);
	transform: none;
}

.fpcco-service-card:hover > a::before {
	transform: none;
	background:
		linear-gradient(to top, rgba(5, 18, 41, 0.96) 0%, rgba(5, 18, 41, 0.62) 48%, rgba(5, 18, 41, 0.1) 100%),
		linear-gradient(125deg, rgba(8, 169, 223, 0.24), transparent 65%);
}

.fpcco-service-card img {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	border-radius: 0;
	object-fit: cover;
	opacity: 1;
	filter: none;
	transform: scale(1.01);
	transition: transform 0.75s var(--fp-ease), filter 0.5s;
}

.fpcco-service-card:hover img {
	opacity: 1;
	filter: saturate(1.08);
	transform: scale(1.075);
}

.fpcco-service-number,
.fpcco-service-icon,
.fpcco-service-card h3,
.fpcco-service-card p,
.fpcco-card-arrow {
	z-index: 2;
}

.fpcco-service-number {
	color: rgba(255, 255, 255, 0.72);
}

.fpcco-service-icon {
	margin-bottom: auto;
	border: 1px solid rgba(255, 255, 255, 0.22);
	background: rgba(5, 18, 41, 0.38);
	color: var(--fp-accent);
	backdrop-filter: blur(12px);
}

.fpcco-service-card h3,
.fpcco-service-card:nth-child(1) h3,
.fpcco-service-card:nth-child(6) h3 {
	margin-top: clamp(100px, 10vw, 160px);
	color: #fff;
}

.fpcco-service-card p,
.fpcco-service-card:nth-child(1) p,
.fpcco-service-card:nth-child(6) p {
	max-width: calc(100% - 55px);
	padding-bottom: 4px;
	color: rgba(232, 241, 252, 0.78);
}

.fpcco-card-arrow {
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	backdrop-filter: blur(10px);
}

/* Modern compact capability cards. */
.fpcco-capabilities-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.fpcco-capability-card {
	position: relative;
	min-height: 275px;
	padding: 28px;
	border: 1px solid var(--fp-border);
	border-radius: calc(var(--fp-radius) * 0.92);
	background:
		radial-gradient(circle at 90% 5%, rgba(8, 169, 223, 0.09), transparent 35%),
		var(--fp-surface);
	box-shadow: 0 18px 45px rgba(17, 47, 84, 0.075);
	overflow: hidden;
	transition: transform 0.38s var(--fp-ease), box-shadow 0.38s, border-color 0.38s, background 0.38s;
}

.fpcco-capability-card::before {
	content: "";
	position: absolute;
	inset-inline: 22px;
	inset-block-start: 0;
	height: 3px;
	border-radius: 0 0 6px 6px;
	background: linear-gradient(90deg, var(--fp-secondary), var(--fp-primary));
	transform: scaleX(0.35);
	transform-origin: start;
	transition: transform 0.4s var(--fp-ease);
}

.fpcco-capability-card::after {
	position: absolute;
	inset-inline-end: 18px;
	inset-block-end: -18px;
	color: color-mix(in srgb, var(--fp-primary) 7%, transparent);
	font-family: var(--fp-font-en);
	font-size: 92px;
	font-weight: 700;
	line-height: 1;
	pointer-events: none;
}

.fpcco-capability-card:nth-child(1)::after { content: "01"; }
.fpcco-capability-card:nth-child(2)::after { content: "02"; }
.fpcco-capability-card:nth-child(3)::after { content: "03"; }
.fpcco-capability-card:nth-child(4)::after { content: "04"; }

.fpcco-capability-card:hover {
	border-color: color-mix(in srgb, var(--fp-secondary) 42%, transparent);
	background:
		radial-gradient(circle at 90% 5%, rgba(8, 169, 223, 0.15), transparent 40%),
		var(--fp-surface);
	box-shadow: 0 26px 62px rgba(16, 48, 88, 0.14);
	transform: translateY(-9px);
}

.fpcco-capability-card:hover::before {
	transform: scaleX(1);
}

.fpcco-capability-card > span {
	position: relative;
	z-index: 2;
	width: 58px;
	height: 58px;
	margin-bottom: 42px;
	border: 1px solid rgba(8, 169, 223, 0.15);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(8, 169, 223, 0.13), rgba(48, 53, 143, 0.08));
	color: var(--fp-primary);
	transition: transform 0.35s var(--fp-ease), background 0.35s, color 0.35s;
}

.fpcco-capability-card:hover > span {
	background: linear-gradient(135deg, var(--fp-secondary), var(--fp-primary));
	color: #fff;
	transform: rotate(-5deg) scale(1.06);
}

.fpcco-capability-card h3 {
	position: relative;
	z-index: 2;
	margin-bottom: 11px;
	color: var(--fp-heading);
	font-size: 22px;
}

.fpcco-capability-card p {
	position: relative;
	z-index: 2;
	margin: 0;
	color: var(--fp-muted);
	font-size: 14px;
}

html[data-theme="dark"] .fpcco-capability-card {
	background:
		radial-gradient(circle at 90% 5%, rgba(8, 169, 223, 0.14), transparent 36%),
		var(--fp-surface);
}

/* Preserve visible desktop motion until each element actually enters view. */
.fpcco-motion-ready .fpcco-reveal {
	will-change: opacity, transform;
}

/* Version 1.2.1 visibility, mobile slider, and motion reliability fixes. */
.fpcco-slider {
	touch-action: pan-y;
}

.fpcco-slide-media {
	width: 100%;
	height: 100%;
}

body.fpcco-site .fpcco-slide-media img,
body.fpcco-site .fpcco-service-card img {
	max-width: none;
	width: 100%;
	height: 100%;
}

.fpcco-slider-side-arrows button,
.fpcco-slider-pagination button {
	touch-action: manipulation;
}

.fpcco-service-card > a::before,
.fpcco-service-card:nth-child(1) > a::before,
.fpcco-service-card:nth-child(6) > a::before {
	background:
		linear-gradient(to top, rgba(5, 18, 41, 0.96) 0%, rgba(5, 18, 41, 0.62) 49%, rgba(5, 18, 41, 0.08) 100%),
		linear-gradient(125deg, rgba(48, 53, 143, 0.2), transparent 66%);
}

.fpcco-service-card:hover > a::before {
	background:
		linear-gradient(to top, rgba(5, 18, 41, 0.94) 0%, rgba(5, 18, 41, 0.53) 48%, rgba(5, 18, 41, 0.04) 100%),
		linear-gradient(125deg, rgba(8, 169, 223, 0.2), transparent 68%);
}

html[data-theme="light"] .fpcco-services-section .fpcco-service-card h3,
html[data-theme="dark"] .fpcco-services-section .fpcco-service-card h3,
html[data-theme="light"] .fpcco-service-card h3,
html[data-theme="dark"] .fpcco-service-card h3 {
	color: #fff;
	text-shadow: 0 5px 22px rgba(0, 0, 0, 0.42);
}

html[data-theme="light"] .fpcco-services-section .fpcco-service-card p,
html[data-theme="dark"] .fpcco-services-section .fpcco-service-card p,
html[data-theme="light"] .fpcco-service-card p,
html[data-theme="dark"] .fpcco-service-card p {
	color: rgba(242, 247, 255, 0.86);
	text-shadow: 0 3px 16px rgba(0, 0, 0, 0.35);
}

@media (max-width: 940px) {
	.fpcco-capabilities-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fpcco-hero,
	.fpcco-slider,
	.fpcco-slider-track,
	.fpcco-slide,
	.fpcco-slide.is-active {
		height: 780px;
		min-height: 780px;
	}
}

@media (max-width: 720px) {
	.fpcco-hero,
	.fpcco-slider,
	.fpcco-slider-track,
	.fpcco-slide,
	.fpcco-slide.is-active {
		height: 750px;
		min-height: 750px;
	}

	.fpcco-slide-copy-card,
	html[data-theme="light"] .fpcco-slide-copy-card {
		width: 100%;
		padding: 0;
		background: transparent;
	}

	.fpcco-service-card h3,
	.fpcco-service-card:nth-child(1) h3,
	.fpcco-service-card:nth-child(6) h3 {
		margin-top: 90px;
	}
}

@media (max-width: 560px) {
	.fpcco-capabilities-grid {
		grid-template-columns: 1fr;
	}

	.fpcco-capability-card {
		min-height: 245px;
	}
}

/* Version 1.2.2 mobile navigation and timed slider controls. */
.fpcco-slide.is-leaving .fpcco-slide-copy > * {
	opacity: 0;
	transform: translateY(-26px);
	transition-delay: 0s !important;
	transition-duration: 0.45s;
}

.fpcco-slide.is-leaving-prev .fpcco-slide-copy > * {
	transform: translateY(26px);
}

.fpcco-slider-side-arrows span {
	display: flex;
	align-items: center;
	justify-content: center;
}

.fpcco-slider-side-arrows svg {
	width: 22px;
	height: 22px;
	transition: transform 0.3s var(--fp-ease);
}

html[dir="ltr"] .fpcco-slider-side-arrows [data-slider-prev] svg,
html[dir="rtl"] .fpcco-slider-side-arrows [data-slider-next] svg {
	transform: rotate(180deg);
}

html[dir="ltr"] .fpcco-slider-side-arrows [data-slider-next] svg,
html[dir="rtl"] .fpcco-slider-side-arrows [data-slider-prev] svg {
	transform: none;
}

.fpcco-slider-controls {
	justify-content: center;
}

.fpcco-slider-pagination {
	gap: 5px;
	padding: 6px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 19px;
	background: rgba(5, 19, 42, 0.34);
	box-shadow: 0 16px 38px rgba(3, 14, 31, 0.2);
	backdrop-filter: blur(15px) saturate(135%);
}

.fpcco-slider-pagination button,
.fpcco-slider-pagination button.is-active {
	position: relative;
	display: grid;
	place-items: center;
	width: 54px;
	height: 43px;
	padding: 0 9px 8px;
	border: 1px solid transparent;
	border-radius: 14px;
	background: transparent;
	color: rgba(255, 255, 255, 0.58);
	overflow: hidden;
	transition:
		width 0.35s var(--fp-ease),
		color 0.35s,
		background 0.35s,
		border-color 0.35s,
		transform 0.35s var(--fp-ease);
}

.fpcco-slider-pagination button:hover,
.fpcco-slider-pagination button:focus-visible {
	color: #fff;
	background: rgba(255, 255, 255, 0.1);
	transform: translateY(-2px);
}

.fpcco-slider-pagination button.is-active {
	width: 72px;
	border-color: rgba(105, 220, 255, 0.28);
	background: linear-gradient(135deg, rgba(8, 169, 223, 0.25), rgba(48, 53, 143, 0.26));
	color: #fff;
}

.fpcco-slider-pagination button .fpcco-slide-number,
.fpcco-slider-pagination button.is-active .fpcco-slide-number {
	position: relative;
	z-index: 2;
	display: block;
	width: auto;
	height: auto;
	border-radius: 0;
	background: transparent;
	color: currentColor;
	font-family: var(--fp-font-en);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
}

.fpcco-slider-pagination button.is-active .fpcco-slide-number {
	color: #fff;
}

.fpcco-slider-pagination button .fpcco-slide-progress,
.fpcco-slider-pagination button.is-active .fpcco-slide-progress {
	position: absolute;
	inset-inline: 8px;
	inset-block-end: 5px;
	display: block;
	width: auto;
	height: 2px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	overflow: hidden;
}

.fpcco-slider-pagination .fpcco-slide-progress i {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #68dcff, var(--fp-secondary));
	transform: scaleX(0);
	transform-origin: left center;
}

html[dir="rtl"] .fpcco-slider-pagination .fpcco-slide-progress i {
	transform-origin: right center;
}

.fpcco-slider.is-progressing .fpcco-slider-pagination button.is-active .fpcco-slide-progress i {
	animation: fpcco-slide-progress var(--fp-slide-duration, 6500ms) linear forwards;
}

@keyframes fpcco-slide-progress {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}

@keyframes fpcco-mobile-menu-item {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 1180px) {
	.fpcco-header-inner {
		position: relative;
		z-index: 4;
	}

	.fpcco-header .fpcco-menu-toggle[aria-expanded="true"] {
		border-color: rgba(255, 255, 255, 0.34);
		background: linear-gradient(135deg, var(--fp-secondary), var(--fp-primary));
		color: #fff !important;
		box-shadow: 0 12px 30px rgba(8, 92, 156, 0.28);
	}

	.fpcco-mobile-menu,
	html[data-theme="light"] .fpcco-mobile-menu {
		position: absolute;
		inset-block-start: 0;
		inset-inline: 0;
		z-index: 2;
		display: block;
		width: 100vw;
		height: 100dvh;
		padding: 0;
		background: transparent;
		opacity: 1;
		visibility: hidden;
		pointer-events: none;
		transform: none;
		overflow: hidden;
		transition: visibility 0s linear 0.55s;
	}

	.fpcco-mobile-menu.is-open,
	html[data-theme="light"] .fpcco-mobile-menu.is-open {
		visibility: visible;
		pointer-events: auto;
		transition-delay: 0s;
	}

	.fpcco-mobile-menu-backdrop {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		border: 0;
		background: rgba(4, 14, 31, 0.43);
		opacity: 0;
		cursor: pointer;
		backdrop-filter: blur(9px);
		transition: opacity 0.4s ease;
	}

	.fpcco-mobile-menu.is-open .fpcco-mobile-menu-backdrop {
		opacity: 1;
	}

	.fpcco-mobile-menu-panel {
		position: absolute;
		inset-block: 10px;
		inset-inline: 10px;
		z-index: 1;
		width: min(700px, calc(100% - 20px));
		margin-inline: auto;
		padding: 92px clamp(20px, 4vw, 38px) 24px;
		border: 1px solid rgba(255, 255, 255, 0.12);
		border-radius: 34px;
		background:
			radial-gradient(circle at 94% 4%, rgba(8, 169, 223, 0.2), transparent 31%),
			radial-gradient(circle at 3% 97%, rgba(48, 53, 143, 0.22), transparent 35%),
			linear-gradient(155deg, #0b1b38 0%, #08152d 70%, #101a3e 100%);
		box-shadow: 0 34px 90px rgba(2, 11, 25, 0.4);
		opacity: 0;
		transform: translateY(-28px) scale(0.975);
		transform-origin: top center;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		transition: opacity 0.42s ease, transform 0.55s var(--fp-ease);
	}

	.fpcco-mobile-menu-panel::before {
		content: "";
		position: absolute;
		inset-block-start: -105px;
		inset-inline-end: -90px;
		width: 230px;
		height: 230px;
		border: 42px solid rgba(8, 169, 223, 0.09);
		border-radius: 50%;
		pointer-events: none;
	}

	.fpcco-mobile-menu-panel::after {
		content: "";
		position: absolute;
		inset-block-start: 0;
		inset-inline: 12%;
		height: 3px;
		border-radius: 0 0 999px 999px;
		background: linear-gradient(90deg, transparent, var(--fp-secondary), var(--fp-primary), transparent);
		pointer-events: none;
	}

	html[data-theme="light"] .fpcco-mobile-menu-panel {
		border-color: rgba(48, 53, 143, 0.11);
		background:
			radial-gradient(circle at 94% 4%, rgba(8, 169, 223, 0.13), transparent 31%),
			radial-gradient(circle at 3% 97%, rgba(48, 53, 143, 0.08), transparent 35%),
			linear-gradient(155deg, #ffffff 0%, #f4f9fd 70%, #edf4fb 100%);
		box-shadow: 0 34px 90px rgba(24, 51, 86, 0.22);
	}

	.fpcco-mobile-menu.is-open .fpcco-mobile-menu-panel {
		opacity: 1;
		transform: none;
	}

	.fpcco-mobile-menu-head {
		display: grid;
		gap: 5px;
		margin-bottom: 18px;
		padding: 0 4px 17px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}

	.fpcco-mobile-menu-head span {
		color: var(--fp-secondary);
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.04em;
	}

	.fpcco-mobile-menu-head strong {
		max-width: 510px;
		color: #fff;
		font-size: clamp(16px, 2.6vw, 21px);
		line-height: 1.45;
	}

	html[data-theme="light"] .fpcco-mobile-menu-head {
		border-color: var(--fp-border);
	}

	html[data-theme="light"] .fpcco-mobile-menu-head strong {
		color: var(--fp-heading);
	}

	.fpcco-mobile-menu nav {
		display: grid;
		grid-template-columns: 1fr;
		align-items: stretch;
		gap: 8px;
	}

	.fpcco-mobile-menu nav > a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 52px;
		padding: 8px 16px;
		padding-inline-end: 56px;
		border: 1px solid rgba(255, 255, 255, 0.08);
		border-radius: 16px;
		background: rgba(255, 255, 255, 0.035);
		color: rgba(244, 248, 255, 0.9);
		font-size: clamp(17px, 2.7vw, 21px);
		font-weight: 650;
		transition: color 0.3s, background 0.3s, border-color 0.3s, transform 0.3s var(--fp-ease);
	}

	.fpcco-mobile-menu nav > a::after {
		content: "";
		position: absolute;
		inset-inline-end: 13px;
		width: 30px;
		height: 30px;
		border-radius: 10px;
		background: rgba(8, 169, 223, 0.11);
		transition: background 0.3s;
	}

	.fpcco-mobile-menu nav > a::before {
		content: "";
		position: absolute;
		inset-inline-end: 21px;
		z-index: 1;
		width: 14px;
		height: 14px;
		background: var(--fp-secondary);
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
		transition: transform 0.3s var(--fp-ease), background 0.3s;
	}

	html[dir="rtl"] .fpcco-mobile-menu nav > a::before {
		transform: rotate(180deg);
	}

	.fpcco-mobile-menu nav > a:hover,
	.fpcco-mobile-menu nav > a:focus-visible {
		border-color: rgba(8, 169, 223, 0.28);
		background: rgba(8, 169, 223, 0.09);
		color: #fff;
		transform: translateY(-2px);
	}

	.fpcco-mobile-menu nav > a:hover::after,
	.fpcco-mobile-menu nav > a:focus-visible::after {
		background: var(--fp-secondary);
	}

	.fpcco-mobile-menu nav > a:hover::before,
	.fpcco-mobile-menu nav > a:focus-visible::before {
		background: #fff;
		transform: translateX(3px);
	}

	html[dir="rtl"] .fpcco-mobile-menu nav > a:hover::before,
	html[dir="rtl"] .fpcco-mobile-menu nav > a:focus-visible::before {
		transform: rotate(180deg) translateX(3px);
	}

	.fpcco-mobile-menu nav > a.is-active {
		border-color: rgba(8, 169, 223, 0.33);
		background: linear-gradient(135deg, rgba(8, 169, 223, 0.18), rgba(48, 53, 143, 0.16));
		color: #fff;
		box-shadow: inset 3px 0 0 var(--fp-secondary);
	}

	html[dir="rtl"] .fpcco-mobile-menu nav > a.is-active {
		box-shadow: inset -3px 0 0 var(--fp-secondary);
	}

	html[data-theme="light"] .fpcco-mobile-menu nav > a {
		border-color: rgba(48, 53, 143, 0.09);
		background: rgba(255, 255, 255, 0.64);
		color: var(--fp-heading);
	}

	html[data-theme="light"] .fpcco-mobile-menu nav > a:hover,
	html[data-theme="light"] .fpcco-mobile-menu nav > a:focus-visible,
	html[data-theme="light"] .fpcco-mobile-menu nav > a.is-active {
		border-color: rgba(8, 169, 223, 0.25);
		background: linear-gradient(135deg, rgba(8, 169, 223, 0.12), rgba(48, 53, 143, 0.075));
		color: var(--fp-primary);
	}

	.fpcco-mobile-nav-group {
		display: grid;
		grid-template-columns: 1fr;
		gap: 4px;
		margin-block: 4px;
		padding: 12px;
		border: 1px solid rgba(255, 255, 255, 0.09);
		border-radius: 20px;
		background: rgba(255, 255, 255, 0.035);
	}

	.fpcco-mobile-nav-group > strong {
		display: flex;
		align-items: center;
		gap: 8px;
		margin: 0 0 6px;
		padding: 2px 5px 9px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		color: var(--fp-secondary);
		font-size: 12px;
		letter-spacing: 0;
	}

	.fpcco-mobile-nav-group > strong::before {
		content: "";
		width: 8px;
		height: 8px;
		border: 2px solid var(--fp-secondary);
		border-radius: 50%;
		box-shadow: 0 0 0 5px rgba(8, 169, 223, 0.08);
	}

	.fpcco-mobile-nav-group a,
	.fpcco-mobile-nav-group a:not(.is-active) {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 39px;
		padding: 6px 10px;
		border: 0;
		border-radius: 11px;
		background: transparent;
		color: rgba(230, 239, 251, 0.74);
		font-size: clamp(14px, 2vw, 16px) !important;
		font-weight: 550;
		transition: color 0.25s, background 0.25s, transform 0.25s;
	}

	.fpcco-mobile-nav-group a::after {
		content: "";
		width: 5px;
		height: 5px;
		border-radius: 50%;
		background: currentColor;
		opacity: 0.45;
	}

	.fpcco-mobile-nav-group a:hover,
	.fpcco-mobile-nav-group a:focus-visible,
	.fpcco-mobile-nav-group a.is-active {
		background: rgba(8, 169, 223, 0.1);
		color: #fff;
		transform: translateX(-3px);
	}

	html[dir="ltr"] .fpcco-mobile-nav-group a:hover,
	html[dir="ltr"] .fpcco-mobile-nav-group a:focus-visible,
	html[dir="ltr"] .fpcco-mobile-nav-group a.is-active {
		transform: translateX(3px);
	}

	html[data-theme="light"] .fpcco-mobile-nav-group {
		border-color: rgba(48, 53, 143, 0.09);
		background: rgba(48, 53, 143, 0.035);
	}

	html[data-theme="light"] .fpcco-mobile-nav-group > strong {
		border-color: var(--fp-border);
	}

	html[data-theme="light"] .fpcco-mobile-nav-group a,
	html[data-theme="light"] .fpcco-mobile-nav-group a:not(.is-active) {
		color: var(--fp-muted);
	}

	html[data-theme="light"] .fpcco-mobile-nav-group a:hover,
	html[data-theme="light"] .fpcco-mobile-nav-group a:focus-visible,
	html[data-theme="light"] .fpcco-mobile-nav-group a.is-active {
		background: rgba(8, 169, 223, 0.09);
		color: var(--fp-primary);
	}

	.fpcco-mobile-contact {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		margin-top: 14px;
		color: rgba(228, 238, 251, 0.72);
	}

	.fpcco-mobile-contact a {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 42px;
		padding: 8px 12px;
		border: 1px solid rgba(255, 255, 255, 0.08);
		border-radius: 13px;
		background: rgba(255, 255, 255, 0.035);
		font-family: var(--fp-font-en);
		font-size: 12px;
		direction: ltr;
		transition: border-color 0.25s, background 0.25s, color 0.25s, transform 0.25s;
	}

	.fpcco-mobile-contact a:hover,
	.fpcco-mobile-contact a:focus-visible {
		border-color: rgba(8, 169, 223, 0.28);
		background: rgba(8, 169, 223, 0.1);
		color: #fff;
		transform: translateY(-2px);
	}

	html[data-theme="light"] .fpcco-mobile-contact {
		color: var(--fp-muted);
	}

	html[data-theme="light"] .fpcco-mobile-contact a {
		border-color: rgba(48, 53, 143, 0.09);
		background: rgba(255, 255, 255, 0.72);
	}

	html[data-theme="light"] .fpcco-mobile-contact a:hover,
	html[data-theme="light"] .fpcco-mobile-contact a:focus-visible {
		color: var(--fp-primary);
	}

	.fpcco-mobile-menu.is-open .fpcco-mobile-menu-head {
		animation: fpcco-mobile-menu-item 0.52s 0.1s both var(--fp-ease);
	}

	.fpcco-mobile-menu.is-open nav > * {
		animation: fpcco-mobile-menu-item 0.52s both var(--fp-ease);
	}

	.fpcco-mobile-menu.is-open nav > *:nth-child(1) { animation-delay: 0.16s; }
	.fpcco-mobile-menu.is-open nav > *:nth-child(2) { animation-delay: 0.2s; }
	.fpcco-mobile-menu.is-open nav > *:nth-child(3) { animation-delay: 0.24s; }
	.fpcco-mobile-menu.is-open nav > *:nth-child(4) { animation-delay: 0.28s; }
	.fpcco-mobile-menu.is-open nav > *:nth-child(5) { animation-delay: 0.32s; }
	.fpcco-mobile-menu.is-open nav > *:nth-child(6) { animation-delay: 0.36s; }

	.fpcco-mobile-menu.is-open .fpcco-mobile-contact {
		animation: fpcco-mobile-menu-item 0.52s 0.4s both var(--fp-ease);
	}
}

@media (max-width: 720px) {
	.fpcco-slide-shade,
	html[data-theme="light"] .fpcco-slide-shade {
		background:
			radial-gradient(ellipse 115% 62% at 20% 82%, rgba(9, 39, 74, 0.54) 0%, rgba(9, 39, 74, 0.24) 45%, transparent 72%),
			linear-gradient(to top, rgba(5, 24, 51, 0.82) 0%, rgba(8, 36, 70, 0.52) 35%, rgba(12, 47, 83, 0.2) 62%, rgba(12, 47, 83, 0.03) 86%, transparent 100%);
	}

	html[dir="rtl"] .fpcco-slide-shade,
	html[dir="rtl"][data-theme="light"] .fpcco-slide-shade {
		background:
			radial-gradient(ellipse 115% 62% at 80% 82%, rgba(9, 39, 74, 0.54) 0%, rgba(9, 39, 74, 0.24) 45%, transparent 72%),
			linear-gradient(to top, rgba(5, 24, 51, 0.82) 0%, rgba(8, 36, 70, 0.52) 35%, rgba(12, 47, 83, 0.2) 62%, rgba(12, 47, 83, 0.03) 86%, transparent 100%);
	}

	.fpcco-slide-layout {
		padding-block: 105px 118px;
	}

	.fpcco-slide-copy h1,
	html[data-theme="light"] .fpcco-slide-copy h1 {
		text-shadow: 0 8px 28px rgba(3, 14, 31, 0.34);
	}

	.fpcco-slide-copy > p,
	html[data-theme="light"] .fpcco-slide-copy > p {
		text-shadow: 0 4px 18px rgba(3, 14, 31, 0.3);
	}

	.fpcco-slider-controls {
		inset-block-end: 27px;
	}

	.fpcco-slider-pagination {
		gap: 3px;
		padding: 4px;
		border-radius: 16px;
	}

	.fpcco-slider-pagination button,
	.fpcco-slider-pagination button.is-active {
		width: 43px;
		height: 39px;
		padding: 0 7px 8px;
		border-radius: 12px;
	}

	.fpcco-slider-pagination button.is-active {
		width: 60px;
	}

	.fpcco-slider-pagination button .fpcco-slide-number {
		font-size: 12px;
	}

	.fpcco-slider-pagination button .fpcco-slide-progress,
	.fpcco-slider-pagination button.is-active .fpcco-slide-progress {
		inset-inline: 7px;
		inset-block-end: 5px;
	}
}

@media (max-width: 560px) {
	.fpcco-mobile-menu-panel {
		inset-block: 6px;
		inset-inline: 6px;
		width: calc(100% - 12px);
		padding: 82px 14px 18px;
		border-radius: 27px;
	}

	.fpcco-mobile-menu-head {
		margin-bottom: 12px;
		padding-bottom: 13px;
	}

	.fpcco-mobile-menu nav {
		gap: 6px;
	}

	.fpcco-mobile-menu nav > a {
		min-height: 47px;
		padding: 6px 13px;
		padding-inline-end: 50px;
		border-radius: 14px;
		font-size: 17px;
	}

	.fpcco-mobile-menu nav > a::after {
		width: 27px;
		height: 27px;
		border-radius: 9px;
	}

	.fpcco-mobile-nav-group {
		gap: 2px;
		padding: 9px;
		border-radius: 17px;
	}

	.fpcco-mobile-nav-group a,
	.fpcco-mobile-nav-group a:not(.is-active) {
		min-height: 35px;
		padding-block: 4px;
		font-size: 14px !important;
	}

	.fpcco-mobile-contact {
		grid-template-columns: 1fr;
		gap: 6px;
		margin-top: 10px;
	}

	.fpcco-mobile-contact a {
		min-height: 38px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html:not(.fpcco-motion-forced) {
		scroll-behavior: auto;
	}
	html:not(.fpcco-motion-forced) .fpcco-site-shell *,
	html:not(.fpcco-motion-forced) .fpcco-site-shell *::before,
	html:not(.fpcco-motion-forced) .fpcco-site-shell *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
