:root {

    --bg:#07112A;
    --bg2:#0B1A3D;
    --bg3:#1E3A8A;

    --accent:#F59E0B;

    --text:#FFFFFF;
    --text2:#BFD0F4;
	
	--navbar-height: 60px;

    --color-blue-50: oklch(97% 0.014 254.604);
    --color-blue-100: oklch(93.2% 0.032 255.585);
    --color-blue-200: oklch(88.2% 0.059 254.128);
    --color-blue-400: oklch(70.7% 0.165 254.624);
    --color-blue-500: oklch(62.3% 0.214 259.815);

    --background: #0b1a3d;
    --foreground: #f0f4ff;
    --card: #112050;
    --card-foreground: #f0f4ff;
    --popover: #112050;
    --popover-foreground: #f0f4ff;
    --primary: #f06000;
    --primary-foreground: #ffffff;
    --secondary: #162660;
    --secondary-foreground: #f0f4ff;
    --muted: #0e1b47;
    --muted-foreground: #7a90c4;
    --accent: #ff7a1a;
    --accent-foreground: #ffffff;
    --destructive: #d4183d;
    --destructive-foreground: #ffffff;
    --border: rgba(255, 255, 255, 0.1);
    --input: transparent;
    --input-background: #162660;
    --switch-background: #2a3f80;
    --font-weight-medium: 500;
    --font-weight-normal: 400;
    --ring: #f06000;
    --chart-1: oklch(0.646 0.222 41.116);
    --chart-2: oklch(0.6 0.118 184.704);
    --chart-3: oklch(0.398 0.07 227.392);
    --chart-4: oklch(0.828 0.189 84.429);
    --chart-5: oklch(0.769 0.188 70.08);
    --radius: 0.625rem;
    --sidebar: oklch(0.985 0 0);
    --sidebar-foreground: oklch(0.145 0 0);
    --sidebar-primary: #030213;
    --sidebar-primary-foreground: oklch(0.985 0 0);
    --sidebar-accent: oklch(0.97 0 0);
    --sidebar-accent-foreground: oklch(0.205 0 0);
    --sidebar-border: oklch(0.922 0 0);
    --sidebar-ring: oklch(0.708 0 0);

}

/* GLOBAL */

html, body {
    margin:0;
    padding:0;
    font-family:'Manrope',sans-serif;
    background:var(--bg);
    color:var(--text2);
    min-height:100%;
	scroll-behavior:smooth;
}

body {
    position:relative;
    overflow-x:hidden;
	color:var(--text2);
}

main, section, header, footer {
	position:relative;
	z-index:10;
}

section {
	margin:5rem 3rem;
}

/* BUTTONS */

.button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	text-align:center;
	border-radius:25px;
	height:50px;
	padding:0 20px;
	gap:10px;
	font-weight:600;
}

.orange-button {
	background-color:#f06000;
	color:#fff;
}

.outline-button {
	border:1px solid rgba(255,255,255,0.3);
	color:#fff;
}

/* BACKGROUND */

#bg-gradient {
    content:"";
    position:fixed;
    inset:0;
    background: radial-gradient(
        90% 75% at 50% 35%,
        #1E3A8A 0%,
        #0B1A3D 58%,
        #07112A 100%
    );
    z-index:0;
}
body::after {
    content:"";
    position:fixed;
    width:900px;
    height:900px;
    right:-350px;
    top:-150px;
    background:radial-gradient(circle, rgba(245,158,11,.09), rgba(245,158,11,0) 70%);
    filter:blur(60px);
    z-index:1;
}
.background-grid {
    position:fixed;
    inset:0;
    background-image: radial-gradient(rgba(255,255,255,.30) 1px, transparent 1px);
    background-size:36px 36px;
    opacity:.045;
    z-index:2;
}
.background-vignette {
    position:fixed;
    inset:0;
    background:radial-gradient(circle, transparent 40%, rgba(0,0,0,.28) 100%);
    z-index:3;
    pointer-events:none;
}

/* NAV BAR */

body > nav {
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:space-between;
	position:fixed;
	left:0; top:0;
	width:100vw;
	height:var(--navbar-height);
	padding:10px 1.5rem;
	z-index:99;
}
body > nav > * {z-index:1;}
#nav-bg {
	opacity:0;
	position:absolute;
	left:0; top:0;
	width:100%; height:100%;
	background-color:rgba(14,26,60,0.9);
	backdrop-filter:blur(5px);
	box-sizing:border-box;
	border-bottom:1px solid rgba(255,255,255,0.1);
	box-shadow:0 0 20px rgba(0,0,0,0.4);
	z-index:0;
}
body > nav.page-scrolldown #nav-bg {
	opacity:1;
}
body > nav > ul {
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:center;
	gap:3rem;
	list-style-type:none;
	height:calc(var(--navbar-height) - 20px);
	margin:0; padding:0;
	width:calc(100% - 240px);
}
body > nav > ul > li > a {
	color:var(--muted-foreground);
	text-decoration:none;
	transition:0.2s ease-in-out;
	font-weight:600;
}
body > nav > ul > li > a:hover {
	color:#fff;
}
body > nav > img, body > nav > a.button {
	width:150px; height:100%;
	object-fit:contain;
}
body > nav > a.button {
	border-radius:20px;
	height:calc(100% - 2px);
	padding:0;
}

/* MAIN */

main {

}


/* HERO */

#hero {
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
	text-align:center;
	margin-top:0;
}

@keyframes scroll-hint-pulse {
	0% {
		box-shadow:0 0 0 0 rgba(255,255,255,0.22);
		background-color:rgba(255,255,255,0.16);
	}
	100% {
		box-shadow:0 0 0 28px rgba(255,255,255,0);
		background-color:rgba(255,255,255,0.24);
	}
}

#scroll-hint {
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	left:calc(50% - 20px);
	bottom:30px;
	width:40px;
	height:40px;
	padding:0;
	border:0;
	border-radius:100%;
	background:rgba(255,255,255,0.16);
	color:rgba(255,255,255,0.58);
	cursor:pointer;
	animation:scroll-hint-pulse 2s infinite;
	opacity:1;
	transition:background-color 0.2s ease-in-out, color 0.2s ease-in-out, transform 0.2s ease-in-out, opacity 0.35s ease-in-out;
	z-index:2;
}

#scroll-hint.hidden {
	opacity:0;
	pointer-events:none;
}

#scroll-hint:hover {
	background-color:rgba(255,255,255,0.34);
	color:#fff;
	animation:none;
	transform:translateY(2px);
}

#scroll-hint:focus {
	outline:none;
	box-shadow:0 0 0 4px rgba(255,255,255,0.35);
}

#scroll-hint i {
	position:relative;
	top:1px;
	font-size:34px;
	pointer-events:none;
}

@media (prefers-reduced-motion: reduce) {
	html, body {
		scroll-behavior:auto;
	}

	#scroll-hint {
		animation:none;
	}
}

#hero-logo {
	width:clamp(300px, 30%, 400px);
}

#hero h1 {
    font-size:72px;
    font-weight:800;
    letter-spacing:-2px;
}

#hero h2 {
	margin:3rem auto;
	color:#fff;
	font-size:2.5rem;
	font-weight:700;
}

.accent-color {
	color:var(--accent);
}

.summary {
	font-size:1.33rem;
	max-width:640px;
	margin:30px auto 60px auto;
	color:var(--muted-foreground);
	line-height:1.6;
}

.hero-cta-container {
	display:flex;
	flex-direction:row;
	justify-content:center;
	gap:60px;
}

#request-demo-button i {
	font-size:12px;
}
#watch-it-run-button i {
	font-size:20px;
	color:var(--accent);
}

/* SECTION 1 */

#section-1 {
	margin-top:-45px;
	scroll-margin-top:calc(var(--navbar-height) + 24px);
}

.section-heading.role-heading {
	margin-bottom:1.75rem;
}

.role-heading h2 span {
	white-space:nowrap;
}

.icon-tabbar {
	list-style-type:none;
	margin:-18px auto 0 auto;
	padding:0;
	display:flex;
	flex-direction:row;
	align-items:flex-end;
	justify-content:center;
	gap:30px;
	width:0;
	position:relative;
	z-index:4;
}
.icon-tabbar li {
	flex:1;
	text-align:center;
}
.icon-tabbar li a {
	text-decoration:none;
	color:var(--text2);
	display:block;
	height:100%;
	position:relative;
}
.icon-tabbar img {
	width:8vw;
	max-width:90px;
	pointer-events:none;
	opacity:0.9;
	transition:0.2s ease-in-out;
	position:relative;
}
.icon-tabbar li span {
	white-space:nowrap;
	display:block;
	transform:scaleY(0);
	transition:0.2s ease-in-out;
	padding-top:0;
	pointer-events:none;
}
.icon-tabbar li a.selected img {
	opacity:1;
	z-index:2;
	transform:translateY(-14px) scale(1.1);
	/* filter:drop-shadow(0 14px 16px rgba(47,140,255,0.42)) drop-shadow(0 0 18px rgba(255,255,255,0.34)); */
	box-shadow:0 -3px 6px rgba(0,0,0,0.25);
	border-radius:100%;
}
.icon-tabbar li a:before {
	content:"";
	display:block;
	position:absolute;
	left:15%;
	bottom:-13px;
	width:70%;
	height:12px;
	z-index:0;
	background:rgba(47,140,255,0);
	filter:blur(8px);
	border-radius:100%;
	transition:0.2s ease-in-out;
}
.icon-tabbar li a.selected:before {
	background:rgba(47,140,255,0.72);
}
.icon-tabbar li a.selected span {
	transform:scaleY(100%);
	padding-top:1px;
}

.preview-carousel {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:18px;
	max-width:100%;
	margin:2rem auto 0 auto;
	position:relative;
}

.carousel-button {
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 48px;
	width:48px;
	height:48px;
	padding:0;
	border:1px solid rgba(255,255,255,0.28);
	border-radius:100%;
	background:rgba(255,255,255,0.08);
	color:rgba(255,255,255,0.72);
	cursor:pointer;
	transition:background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

.carousel-button:hover,
.carousel-button:focus {
	background:rgba(255,255,255,0.18);
	border-color:rgba(255,255,255,0.5);
	color:#fff;
	outline:none;
}

.carousel-button.previous:hover,
.carousel-button.previous:focus {
	transform:translateX(-2px);
}

.carousel-button.next:hover,
.carousel-button.next:focus {
	transform:translateX(2px);
}

.carousel-button i {
	font-size:32px;
	pointer-events:none;
}

.carousel-button.previous i {
	transform:translateX(-1.5px);
}

.carousel-button.next i {
	transform:translateX(1.5px);
}

.preview-window {
	height:calc(100vh - 19rem);
	aspect-ratio:16/9;
	max-width:100%;
	margin:0;
	border:1px solid rgba(255,255,255,0.3);
	box-shadow:0 0 40px rgba(255,255,255,0.05);
	background-color:rgba(0,0,0,0.2);
	border-radius:15px;
	position:relative;
	overflow:hidden;
}
.preview-window .slide {
	opacity:0;
	transition:0.2s ease-in-out;
	z-index:0;
}
.preview-window .slide.active {
	opacity:1;
	z-index:1;
}

@keyframes preview-drift {
	0% {
		transform:scale(1) translateY(0);
	}

	50% {
		transform:scale(1.035) translateY(-8px);
	}

	100% {
		transform:scale(1) translateY(0);
	}
}

.preview-window img {
	position:absolute;
	left:0; top:0;
	width:100%; height:auto;
}

.preview-window .slide.active img {
	animation:preview-drift 18s ease-in-out infinite;
}

#section-1.user-selected .preview-window .slide.active img {
	animation:none;
}
.preview-text {
	position:absolute;
	left:0; top:0;
	width:100%; height:100%;
	background:linear-gradient(to bottom, rgba(6,18,53,0.00) 30%, rgba(6,18,53,0.25) 47%, rgba(6,18,53,0.68) 69%, rgba(6,18,53,0.96) 100%);
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	padding:1rem 2rem 1.65rem 2rem;
	font-size:1.1rem;
	color:#fff;
}
.preview-text h4 {
	font-size:1.5rem;
	font-weight:700;
	margin:0 0 0.5rem 0;
	color:#44d6e8;
	text-shadow:1px 1px 3px rgba(0,0,0,0.75);
}

@media (max-width:768px) {
	.preview-carousel {
		gap:0;
	}

	.carousel-button {
		position:absolute;
		top:50%;
		transform:translateY(-50%);
		z-index:3;
		background:rgba(6,18,53,0.48);
	}

	.carousel-button.previous {
		left:12px;
	}

	.carousel-button.next {
		right:12px;
	}

	.carousel-button.previous:hover,
	.carousel-button.previous:focus,
	.carousel-button.next:hover,
	.carousel-button.next:focus {
		transform:translateY(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.preview-window .slide.active img {
		animation:none;
	}
}

/* SECTION 6 */

#section-6 {
	margin:6rem 3rem;
}

.testimonials-heading {
	margin-bottom:3rem;
}

.testimonial-grid {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:2rem;
}

.testimonial-card {
	display:flex;
	flex-direction:column;
	min-height:330px;
	padding:2rem;
	border:1px solid rgba(255,255,255,0.14);
	border-radius:18px;
	background:rgba(255,255,255,0.045);
	box-shadow:inset 0 0 50px rgba(47,140,255,0.04);
}

.testimonial-stars {
	display:flex;
	gap:0.45rem;
	color:var(--accent);
	font-size:1.05rem;
	margin-bottom:1.6rem;
}

.testimonial-card blockquote {
	margin:0;
	color:#d7e2f8;
	font-size:1.22rem;
	line-height:1.55;
	font-weight:500;
}

.testimonial-card footer {
	display:flex;
	align-items:center;
	gap:1rem;
	margin-top:auto;
	padding-top:2rem;
}

.testimonial-card footer img {
	width:58px;
	height:58px;
	border-radius:100%;
	object-fit:cover;
	flex:0 0 auto;
}

.testimonial-card cite {
	display:block;
	color:#fff;
	font-style:normal;
	font-size:1.12rem;
	line-height:1.2;
	font-weight:800;
}

.testimonial-card footer span {
	display:block;
	margin-top:0.25rem;
	color:#7a90c4;
	font-size:0.98rem;
	line-height:1.25;
}

@media (max-width:980px) {
	.testimonial-grid {
		grid-template-columns:1fr;
	}

	.testimonial-card {
		min-height:0;
	}
}

@media (max-width:560px) {
	#section-6 {
		margin:5rem 1rem;
	}

	.testimonial-card {
		padding:1.4rem;
	}

	.testimonial-card blockquote {
		font-size:1.05rem;
	}
}

/* SECTION 2 */

#section-2 {
	margin:0;
	padding:5rem 3rem;
	background-color:#0b183a;
	border-top:1px solid rgba(35, 132, 255, 0.7);
}

.section-heading {
	text-align:center;
	max-width:940px;
	margin:0 auto 2.25rem auto;
}

.section-heading .eyebrow {
	margin:0 0 0.5rem 0;
	color:var(--accent);
	font-size:1rem;
	font-weight:800;
	letter-spacing:0.22em;
	text-transform:uppercase;
}

.section-heading h2 {
	margin:0;
	color:#fff;
	font-size:clamp(2.2rem, 5vw, 2.5rem);
	line-height:1.05;
	font-weight:800;
}

.section-heading > p:not(.eyebrow) {
	margin:0.5rem auto 0 auto;
	color:var(--text2);
	font-size:1.1rem;
	line-height:1.45;
}

.deployment-cards {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:18px;
}

.deployment-card {
	min-height:520px;
	border:1px solid rgba(255,255,255,0.18);
	border-radius:18px;
	position:relative;
	overflow:hidden;
	background:rgba(8,25,64,0.72);
}

.deployment-card:before {
	content:"";
	position:absolute;
	inset:0;
	z-index:0;
	pointer-events:none;
}

.cloud-card {
	border-color:rgba(35,132,255,0.7);
	box-shadow:inset 0 0 60px rgba(35,132,255,0.12), 0 0 60px rgba(35,132,255,0.06);
}

.cloud-card:before {
	background:radial-gradient(circle at 75% 32%, rgba(35,132,255,0.28), rgba(35,132,255,0.08) 35%, rgba(7,17,42,0.18) 68%);
}

.onsite-card {
	border-color:rgba(255,122,26,0.5);
	box-shadow:inset 0 0 60px rgba(255,122,26,0.08), 0 0 60px rgba(255,122,26,0.05);
}

.onsite-card:before {
	background:linear-gradient(90deg, rgba(7,17,42,0.94) 0%, rgba(7,17,42,0.86) 44%, rgba(7,17,42,0.2) 100%);
}

.deployment-card-content {
	width:100%;
	min-height:100%;
	padding:2rem 2rem 1.5rem 2rem;
	position:relative;
	z-index:2;
}

.deployment-card-header {
	display:flex;
	align-items:center;
	gap:18px;
	margin-bottom:1.25rem;
}

.deployment-icon {
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 76px;
	width:76px;
	height:76px;
	border-radius:22px;
	font-size:38px;
}

.cloud-icon {
	background:rgba(35,132,255,0.18);
	color:#2f8cff;
}

.onsite-icon {
	background:rgba(255,122,26,0.12);
	border:1px solid rgba(255,122,26,0.35);
	color:var(--accent);
}

.deployment-card h3 {
	margin:0;
	color:#fff;
	font-size:1.75rem;
	line-height:1.1;
	font-weight:700;
}

.deployment-card-header p {
	margin:0.4rem 0 0 0;
	font-size:1.15rem;
	font-weight:700;
}

.cloud-card .deployment-card-header p,
.cloud-card .deployment-list i,
.cloud-link {
	color:#2f8cff;
}

.onsite-card .deployment-card-header p,
.onsite-card .deployment-list i {
	color:var(--accent);
}

.deployment-summary {
	margin:0 0 1.5rem 0;
	padding-bottom:1.5rem;
	border-bottom:1px solid rgba(255,255,255,0.13);
	color:#fff;
	font-size:1.05rem;
	line-height:1.55;
	width:50%;
}

.deployment-list {
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:0.72rem;
	color:#fff;
	font-size:1.06rem;
	line-height:1.3;
}
.cloud-card .deployment-list {
	width:100%;
}
.onsite-card .deployment-list {
	width:60%;
}

.deployment-list li {
	display:flex;
	align-items:flex-start;
	gap:12px;
}

.deployment-list i {
	position:relative;
	top:0.12rem;
	width:18px;
	flex:0 0 18px;
}

.deployment-list .deployment-note {
	margin-top:0.15rem;
}

.deployment-link {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	width:100%;
	min-height:54px;
	margin-top:1.7rem;
	border-radius:999px;
	text-decoration:none;
	font-size:1.08rem;
	font-weight:800;
}

.cloud-link {
	border:1px solid #2f8cff;
	background:rgba(47,140,255,0.04);
}

.onsite-link {
	background:linear-gradient(90deg, #ff3d00, #ff7a1a);
	color:#fff;
}

.deployment-image {
	position:absolute;
	z-index:1;
	pointer-events:none;
	user-select:none;
}

.cloud-image {
	right:1.1rem;
	top:1.6rem;
	width:45%;
	max-width:410px;
}

.onsite-image {
	right:0;
	top:0;
	width:70%;
	height:100%;
	object-fit:cover;
	object-position:left top;
}

.deployment-footer {
	display:grid;
	grid-template-columns:minmax(300px, 1.1fr) minmax(0, 2fr);
	gap:2rem;
	align-items:center;
	margin-top:18px;
	padding:1.6rem 2rem;
	border:1px solid rgba(255,255,255,0.18);
	border-radius:18px;
	background:linear-gradient(90deg, rgba(8,25,64,0.85), rgba(8,25,64,0.62));
	box-shadow:inset 0 0 50px rgba(35,132,255,0.08);
}

.deployment-footer-lead {
	display:flex;
	align-items:center;
	gap:22px;
}

.footer-shield {
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 58px;
	width:58px;
	height:58px;
	color:#2f8cff;
}

.footer-shield .bi-shield-check {
	font-size:54px;
}

.deployment-footer h3 {
	margin:0 0 0.35rem 0;
	color:#fff;
	font-size:1.35rem;
	font-weight:800;
}

.deployment-footer p {
	margin:0;
	font-size:0.98rem;
	line-height:1.45;
}

.deployment-footer-list {
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
}

.deployment-footer-list li {
	display:flex;
	align-items:center;
	gap:14px;
	padding:0 1.2rem;
	border-left:1px solid rgba(255,255,255,0.13);
	color:#d9e5ff;
	font-size:0.96rem;
	line-height:1.28;
}

.deployment-footer-list i {
	color:#2f8cff;
	font-size:28px;
	flex:0 0 32px;
	text-align:center;
}

@media (max-width:1100px) {
	.deployment-cards,
	.deployment-footer {
		grid-template-columns:1fr;
	}

	.deployment-footer-list li:first-child {
		border-left:0;
	}
}

@media (max-width:820px) {
	#section-2 {
		margin:5rem 1rem 2rem 1rem;
	}

	.deployment-card {
		min-height:0;
	}

	.deployment-card-content {
		width:100%;
		padding:1.4rem;
	}

	.deployment-image {
		position:relative;
		display:block;
		right:auto;
		top:auto;
		width:100%;
		height:auto;
		margin-top:1rem;
	}

	.onsite-card:before {
		background:linear-gradient(180deg, rgba(7,17,42,0.94), rgba(7,17,42,0.62));
	}

	.deployment-footer {
		padding:1.3rem;
	}

	.deployment-footer-list {
		grid-template-columns:1fr 1fr;
		gap:1rem 0;
	}

	.deployment-footer-list li:nth-child(odd) {
		border-left:0;
	}
}

@media (max-width:560px) {
	.section-heading h2 {
		font-size:2.2rem;
	}

	.section-heading > p:not(.eyebrow) {
		font-size:1.05rem;
	}

	.deployment-card-header {
		align-items:flex-start;
	}

	.deployment-icon {
		flex-basis:58px;
		width:58px;
		height:58px;
		border-radius:17px;
		font-size:30px;
	}

	.deployment-card h3 {
		font-size:1.65rem;
	}

	.deployment-footer-lead,
	.deployment-footer-list li {
		align-items:flex-start;
	}

	.deployment-footer-list {
		grid-template-columns:1fr;
	}

	.deployment-footer-list li {
		border-left:0;
		padding:0;
	}
}

/* SECTION 3 */

#section-3 {
	margin:6rem 3rem 3rem 3rem;
}

.competition-heading {
	margin-bottom:2rem;
}

.competition-grid {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:45px;
}

.competition-card {
	min-height:310px;
	display:grid;
	grid-template-columns:190px minmax(0, 1fr);
	gap:24px;
	align-items:flex-start;
	position:relative;
	overflow:hidden;
	border:1px solid rgba(70,157,255,0.65);
	border-radius:14px;
	background:linear-gradient(135deg, rgba(9,32,76,0.9), rgba(5,17,44,0.7));
	box-shadow:inset 0 0 55px rgba(35,132,255,0.08);
	padding:1.7rem;
}

.competition-card:before {
	content:"";
	position:absolute;
	inset:0;
	z-index:0;
	background:radial-gradient(circle at 10% 20%, rgba(47,140,255,0.16), transparent 38%);
	pointer-events:none;
}

.competition-medal {
	width:100%;
	max-width:240px;
	position:relative;
	z-index:2;
	pointer-events:none;
	user-select:none;
}

.competition-bg-icon {
	position:absolute;
	left:5%;
	bottom:-35%;
	width:80%;
	min-width:170px;
	opacity:0.05;
	z-index:1;
	pointer-events:none;
	user-select:none;
}

.competition-card-content {
	position:relative;
	z-index:2;
	max-width:none;
}

.competition-card h3 {
	margin:0;
	color:#fff;
	font-size:2.25rem;
	line-height:1;
	font-weight:800;
}

.competition-tagline {
	margin:0.5rem 0 1rem 0;
	color:var(--accent);
	font-size:1.05rem;
	font-weight:800;
}

.competition-tagline:after {
	content:"";
	display:block;
	width:100%;
	height:1px;
	margin-top:1rem;
	background:linear-gradient(90deg, #ffffff, rgba(47,140,255,0));
}

.competition-card ul {
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:0.85rem;
	margin:0;
	padding:0;
	color:#fff;
	font-size:0.98rem;
	line-height:1.45;
}

.competition-card li {
	display:flex;
	align-items:flex-start;
	gap:12px;
}

.competition-card li i, .competition-card .competition-tagline {
	position:relative;
	top:0.16rem;
	flex:0 0 18px;
	color:#4fa4ff;
}

.easy-card {
	border-color:rgba(255,122,26,0.68);
}

.easy-card:before {
	background:radial-gradient(circle at 12% 22%, rgba(255,122,26,0.16), transparent 38%);
}

.easy-card li i, .easy-card .competition-tagline {
	color:var(--accent);
}

.flexible-card {
	border-color:rgba(62,213,226,0.68);
}

.flexible-card:before {
	background:radial-gradient(circle at 12% 22%, rgba(62,213,226,0.16), transparent 38%);
}

.flexible-card li i, .flexible-card .competition-tagline {
	color:#44d6e8;
}

.proven-card {
	border-color:rgba(157,106,255,0.68);
}

.proven-card:before {
	background:radial-gradient(circle at 12% 22%, rgba(157,106,255,0.16), transparent 38%);
}

.proven-card li i, .proven-card .competition-tagline {
	color:#9d6aff;
}

.competition-footer {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:18px;
	margin:1.7rem auto 0 auto;
	color:var(--text2);
	font-size:1.15rem;
	line-height:1.4;
	text-align:center;
}

.competition-footer i {
	color:#2f8cff;
	font-size:42px;
	flex:0 0 auto;
}

.competition-footer strong {
	color:#2f8cff;
	font-weight:500;
}

@media (max-width:1180px) {
	.competition-card {
		grid-template-columns:150px minmax(0, 1fr);
	}

	.competition-card h3 {
		font-size:2rem;
	}
}

@media (max-width:980px) {
	.competition-grid {
		grid-template-columns:1fr;
	}
}

@media (max-width:700px) {
	#section-3 {
		margin:5rem 1rem 2rem 1rem;
	}

	.competition-card {
		grid-template-columns:1fr;
		gap:1.2rem;
		padding:1.35rem;
	}

	.competition-medal {
		width:150px;
	}

	.competition-bg-icon {
		width:45%;
		opacity:0.12;
	}

	.competition-footer {
		align-items:flex-start;
		text-align:left;
		font-size:1rem;
	}
}

#section-4 {
	width:100%;
	min-height:100vh;
	margin:0;
	padding:10rem 0 8rem 0;
	position:relative;
	overflow:hidden;
	background:#171819;
	border-radius:12px 12px 0 0;
	border-bottom:1px solid rgba(35, 132, 255, 0.7);
}

#section-4 .bg-art {
	position:absolute;
	inset:0;
	width:100%;
	height:min(66vw, 720px);
	min-height:440px;
	z-index:0;
	pointer-events:none;
}

#section-4 .content {
	position:relative;
	z-index:10;
	width:min(1280px, calc(100% - 6rem));
	margin:0 auto;
	padding-bottom:2rem;
}

.integration-lockup {
	display:grid;
	grid-template-columns:1fr 1fr;
	align-items:center;
	gap:3rem;
	width:min(1040px, 100%);
	margin:0 auto;
}

.integration-brand {
	display:flex;
	align-items:center;
	min-width:0;
}

.callback-brand {
	justify-content:flex-start;
}

.comporganizer-brand {
	justify-content:flex-end;
}

.comporganizer-brand .brand-name {
	order:1;
}

.comporganizer-brand:after {
	order:2;
}

.comporganizer-brand img {
	order:3;
}

.integration-brand img {
	width:clamp(54px, 5vw, 76px);
	height:clamp(54px, 5vw, 76px);
	object-fit:contain;
	flex:0 0 auto;
}

.callback-brand img {
	margin-right:clamp(1.5rem, 3vw, 2.6rem);
}

.comporganizer-brand img {
	margin-left:clamp(1.5rem, 3vw, 2.6rem);
	border-radius:12px;
	box-shadow:0 18px 36px rgba(0,0,0,0.32);
}

.brand-name {
	color:#fff;
	font-size:clamp(1.65rem, 2.7vw, 2.65rem);
	line-height:1;
	font-weight:600;
	letter-spacing:0;
	text-shadow:0 6px 20px rgba(0,0,0,0.28);
	white-space:nowrap;
}

.callback-brand .brand-name {
	position:relative;
}

.comporganizer-brand:after {
	content:"";
	display:block;
	width:1px;
	height:4.1rem;
	background:rgba(255,255,255,0.24);
	order:2;
	margin-left:clamp(1.5rem, 3vw, 2.6rem);
}

.callback-brand .brand-name:before {
	content:"";
	position:absolute;
	top:50%;
	left:clamp(-1.55rem, -2.2vw, -1.2rem);
	width:1px;
	height:1.85em;
	background:rgba(255,255,255,0.24);
	transform:translateY(-50%);
}

.comporganizer-brand .brand-name span {
	color:var(--accent);
}

.integration-heading {
	margin:clamp(8rem, 6vw, 4.8rem) auto 0 auto;
	text-align:center;
	max-width:860px;
	margin-bottom:-4rem;
}

.integration-heading h2 {
	margin:0;
	color:#fff;
	font-size:clamp(2.4rem, 5vw, 3.25rem);
	line-height:1;
	font-weight:800;
	text-shadow:0 8px 24px rgba(0,0,0,0.38);
}

.integration-heading p {
	margin:2rem auto 0 auto;
	color:#aaa;
	font-size:clamp(1.05rem, 1.8vw, 1.35rem);
	line-height:1.32;
	text-align:left;
	max-width:800px;
}

.architecture-map {
	--connector-color:#56d7ff;
	position:relative;
	width:100%;
	aspect-ratio:16/9;
	min-height:620px;
	margin:1.5rem auto 0 auto;
}

.architecture-connectors {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	z-index:1;
	overflow:visible;
	pointer-events:none;
}

.architecture-connectors path {
	fill:none;
	stroke:var(--connector-color);
	stroke-width:1.6;
	stroke-linecap:round;
	stroke-linejoin:round;
	opacity:0.72;
	filter:url(#connectorGlow);
}

.architecture-connectors circle {
	fill:#c8fbff;
	stroke:var(--connector-color);
	stroke-width:2;
	filter:url(#connectorGlow);
}

.architecture-node {
	position:absolute;
	z-index:2;
	margin:0;
	text-align:center;
}

.architecture-node img {
	display:block;
	width:100%;
	height:auto;
	position:relative;
	z-index:2;
}

.architecture-node figcaption {
	margin-top:0.65rem;
	color:#fff;
	line-height:1.2;
	text-shadow:0 6px 18px rgba(0,0,0,0.5);
}

.architecture-node figcaption strong {
	display:block;
	color:var(--accent);
	font-size:1.25rem;
	font-weight:800;
}
.architecture-node.satellite-callback figcaption strong, .architecture-node.satellite-ondeck figcaption strong {
	color:#2f8cff;
}

.architecture-node figcaption span {
	display:block;
	margin-top:0.15rem;
	color:rgba(255,255,255,0.76);
	font-size:0.98rem;
}

.architecture-center {
	left:50%;
	top:30%;
	width:43%;
	transform:translateX(-50%);
	z-index:3;
}

.desktop-glow {
	position:absolute;
	left:50%;
	top:30%;
	width:100%;
	height:100%;
	transform:translate(-50%, -38%);
	background: radial-gradient(circle, rgba(255, 122, 26, 0.5), rgba(255, 122, 26, 0.4) 34%, rgba(255, 122, 26, 0) 75%);	filter:blur(18px);
	filter:blur(45px);
	z-index:1;
	pointer-events:none;
}

.architecture-center figcaption {
	margin-top:-0.55rem;
}

.architecture-center figcaption strong {
	color:#fff;
	font-size:1.45rem;
}

.architecture-center figcaption span {
	font-size:1.05rem;
}

.satellite {
	width:26%;
	z-index:2;
}

.satellite img {
	width:100%;
	margin:0 auto;
}

.satellite-callback {
	left:0;
	top:16%;
}

.satellite-website {
	right:0;
	top:16%;
}

.mobile-satellite {
	width:26%;
}

.mobile-satellite img {
	width:40%;
}

.satellite-ondeck {
	left:0;
	top:61%;
}

.satellite-webapp {
	right:0;
	top:61%;
}

@media (max-width:900px) {
	#section-4 {
		padding-top:7rem;
		padding-bottom:5rem;
	}

	#section-4 .content {
		width:calc(100% - 2rem);
	}

	.integration-lockup {
		grid-template-columns:1fr;
		gap:1.8rem;
	}

	.callback-brand,
	.comporganizer-brand {
		justify-content:center;
	}

	.integration-brand img {
		width:70px;
		height:70px;
	}

	.callback-brand img,
	.comporganizer-brand img {
		margin-left:1.5rem;
		margin-right:1.5rem;
	}

	.brand-name {
		font-size:2rem;
	}

	.integration-heading {
		margin-top:3.5rem;
		margin-bottom:-4rem;
	}

	.architecture-map {
		aspect-ratio:auto;
		min-height:0;
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:2rem 1.5rem;
		margin-top:3rem;
	}

	.architecture-connectors,
	.desktop-glow {
		display:none;
	}

	.architecture-node {
		position:relative;
		left:auto;
		right:auto;
		top:auto;
		width:100%;
		transform:none;
	}

	.architecture-center {
		grid-column:1 / -1;
		width:min(540px, 100%);
		margin:0 auto;
	}

	.mobile-satellite {
		width:min(180px, 70%);
		margin:0 auto;
	}

	.mobile-satellite img {
		width:100%;
	}
}

@media (max-width:560px) {
	.integration-brand {
		gap:1rem;
	}

	.callback-brand img,
	.comporganizer-brand img {
		margin:0;
	}

	.callback-brand .brand-name:before,
	.comporganizer-brand:after {
		display:none;
	}

	.brand-name {
		font-size:1.65rem;
	}

	.integration-heading p br {
		display:none;
	}

	.architecture-map {
		grid-template-columns:1fr;
	}

	.satellite,
	.mobile-satellite {
		width:min(320px, 100%);
		margin:0 auto;
	}

	.mobile-satellite {
		width:min(170px, 70%);
	}

	.mobile-satellite img {
		width:100%;
	}
}

/* SECTION 5 */

#section-5 {
	position:relative;
	overflow:hidden;
	margin:0;
	padding:7rem 4rem 3rem 4rem;
	min-height:calc(100vh - 60px);
	background:radial-gradient(circle at 67% 78%, rgba(255,122,26,0.18), rgba(255,122,26,0) 22%),
		radial-gradient(circle at 52% 82%, rgba(47,140,255,0.26), rgba(47,140,255,0) 28%),
		linear-gradient(135deg, #030b23 0%, #071a3d 48%, #020717 100%);
}

.ondeck-ghost-logo {
	position:absolute;
	left:4%;
	top:1.5rem;
	width:min(90vw, 1200px);
	opacity:0.05;
	z-index:0;
	pointer-events:none;
	user-select:none;
}

.ondeck-content {
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:minmax(320px, 0.82fr) minmax(0, 1.18fr);
	align-items:center;
	gap:2rem;
	width:min(1320px, 100%);
	margin:0 auto;
}

.ondeck-copy {
	max-width:470px;
}
.ondeck-copy em {
	font-style:normal;
	color:#fff;
	font-weight:500;
}

.ondeck-logo {
	display:block;
	width:min(230px, 58%);
	height:auto;
	margin-bottom:1.25rem;
}

.ondeck-copy h2 {
	margin:0;
	color:#fff;
	font-size:clamp(2.45rem, 5vw, 2.5rem);
	line-height:1.12;
	font-weight:800;
	text-shadow:0 8px 24px rgba(0,0,0,0.35);
	margin-bottom:15px;
}

.section-rule {
	display:block;
	width:64px;
	height:3px;
	margin:1.45rem 0 1.7rem 0;
	background:var(--accent);
	border-radius:999px;
	box-shadow:0 0 16px rgba(255,122,26,0.45);
}

.ondeck-copy > p {
	margin:0;
	color:rgba(255,255,255,0.72);
	font-size:1.12rem;
	line-height:1.5;
}

.ondeck-features {
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:1.55rem;
	margin:2.25rem 0 2.25rem 0;
	padding:0;
}

.ondeck-features li {
	display:grid;
	grid-template-columns:48px minmax(0, 1fr);
	gap:1rem;
	align-items:start;
}

.ondeck-features i {
	color:var(--accent);
	font-size:2.25rem;
	line-height:1;
	text-shadow:0 0 18px rgba(255,122,26,0.35);
}

.ondeck-features h3 {
	margin:0 0 0.2rem 0;
	color:#fff;
	font-size:1.22rem;
	line-height:1.1;
	font-weight:800;
}

.ondeck-features p {
	margin:0;
	color:rgba(255,255,255,0.68);
	font-size:0.98rem;
	line-height:1.35;
}

.ondeck-visual {
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:0;
	transform:scale(1.5) translateX(10%);
}

.ondeck-visual img {
	position:relative;
	z-index:2;
	display:block;
	width:min(100%, 760px);
	height:auto;
}

.ondeck-floor-glow {
	position:absolute;
	left:50%;
	bottom:3%;
	width:84%;
	height:20%;
	transform:translateX(-50%);
	background:linear-gradient(90deg, rgba(47,140,255,0), rgba(47,140,255,0.48) 30%, rgba(255,122,26,0.48) 70%, rgba(255,122,26,0));
	filter:blur(24px);
	opacity:0.72;
	z-index:1;
}

@media (max-width:980px) {
	#section-5 {
		padding:5rem 2rem;
	}

	.ondeck-content {
		grid-template-columns:1fr;
		gap:2rem;
	}

	.ondeck-copy {
		max-width:720px;
	}

	.ondeck-visual {
		order:-1;
	}

	.ondeck-visual img {
		width:min(100%, 680px);
	}
}

@media (max-width:560px) {
	#section-5 {
		padding:4rem 1rem;
	}

	.ondeck-ghost-logo {
		width:120vw;
		left:-12vw;
	}

	.ondeck-logo {
		width:190px;
	}

	.ondeck-features li {
		grid-template-columns:38px minmax(0, 1fr);
	}

	.ondeck-features i {
		font-size:1.85rem;
	}

	.ondeck-button {
		width:100%;
		min-width:0;
	}
}

/* SECTION 7 */

#section-7 {
	margin:0;
	padding:8rem 3rem;
	min-height:72vh;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	background:linear-gradient(180deg, rgba(11,26,61,0.96), rgba(12,32,78,0.98));
	border-top:1px solid rgba(255,122,26,0.18);
}

.final-cta-content {
	max-width:920px;
	margin:0 auto;
}

.final-cta-content > img {
	display:block;
	width:min(240px, 48vw);
	height:auto;
	margin:0 auto 3rem auto;
	filter:drop-shadow(0 10px 18px rgba(0,0,0,0.28));
}

.final-cta-content h2 {
	margin:0;
	color:#fff;
	font-size:clamp(2.5rem, 7vw, 3rem);
	line-height:1.1;
	font-weight:800;
}

.final-cta-content h2 span {
	display:block;
	color:var(--accent);
}

.final-cta-content > p:not(.final-email) {
	max-width:720px;
	margin:2.2rem auto 0 auto;
	color:rgba(191,208,244,0.72);
	font-size:1.22rem;
	line-height:1.5;
}

.final-cta-content .button {
	margin-top:3.2rem;
	box-shadow:0 18px 42px rgba(255,90,0,0.22);
}

.final-email {
	margin:1.3rem 0 0 0;
	color:#dbe6ff;
	font-size:1.05rem;
	font-weight:600;
}

.final-email a {
	color:#fff;
	text-decoration:none;
}

.final-email a:hover {
	color:var(--accent);
}

#site-footer {
	display:grid;
	grid-template-columns:auto minmax(0, 1fr) auto;
	align-items:center;
	gap:2rem;
	margin:0;
	padding:2.2rem 3rem;
	background:#0b183a;
	border-top:1px solid rgba(255,255,255,0.08);
	color:#63769e;
}

#site-footer > img {
	width:150px;
	height:auto;
}

#site-footer nav {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:2rem;
	flex-wrap:wrap;
}

#site-footer a {
	color:#63769e;
	text-decoration:none;
	font-weight:700;
}

#site-footer a:hover {
	color:#fff;
}

#site-footer p {
	margin:0;
	white-space:nowrap;
	font-weight:700;
}

@media (max-width:820px) {
	#section-7 {
		padding:6rem 1.5rem;
	}

	#site-footer {
		grid-template-columns:1fr;
		justify-items:center;
		text-align:center;
		padding:2rem 1.5rem;
	}
}

@media (max-width:560px) {
	.final-cta-content > p:not(.final-email) {
		font-size:1.05rem;
	}

	.final-cta-content .button {
		width:100%;
		min-width:0;
	}
}
