* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

:root {
    --navy: #0A1628;
    --navy-mid: #0F2040;
    --blue: #1A4FBF;
    --blue-light: #2563EB;
    --cyan: #00D4FF;
    --cyan-dim: #00B8E6;
    --gray-50: #F8FAFC;
    --gray-100: #F1F5F9;
    --gray-200: #E2E8F0;
    --gray-400: #94A3B8;
    --gray-600: #475569;
    --gray-800: #1E293B;
    --white: #FFFFFF;
    --graphite: #111827;
    --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--white);
    color: var(--gray-800);
    line-height: 1.6;
    font-size: 15px;
    overflow-x: hidden;
    padding-top: 64px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

h1,
h2,
h3,
h4 {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    line-height: 1.15;
    letter-spacing: -0.02em
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0
}

html {
    scroll-behavior: smooth
}

/* SCROLL PROGRESS BAR */
.scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--blue), var(--cyan));
    z-index: 200;
    width: 0%;
    transition: none;
    transform-origin: left
}

/* ANIMATIONS */
@keyframes pulse {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: 0.4
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 40px, 0)
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -30px, 0)
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translate3d(-50px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translate3d(50px, 0, 0)
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale3d(0.9, 0.9, 1)
    }

    to {
        opacity: 1;
        transform: scale3d(1, 1, 1)
    }
}

@keyframes float {

    0%,
    100% {
        transform: translate3d(0, 0, 0)
    }

    50% {
        transform: translate3d(0, -10px, 0)
    }
}

@keyframes shimmer {
    0% {
        background-position: -200% center
    }

    100% {
        background-position: 200% center
    }
}

@keyframes slideInScale {
    from {
        opacity: 0;
        transform: translate3d(0, 20px, 0) scale(0.96)
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1)
    }
}

@keyframes ripple {
    0% {
        transform: scale(1);
        opacity: 0.4
    }

    100% {
        transform: scale(3);
        opacity: 0
    }
}

@keyframes glowPulse {

    0%,
    100% {
        box-shadow: 0 0 20px rgba(0, 212, 255, 0.08), 0 0 60px rgba(0, 212, 255, 0.04)
    }

    50% {
        box-shadow: 0 0 30px rgba(0, 212, 255, 0.2), 0 0 80px rgba(0, 212, 255, 0.08)
    }
}

@keyframes orbFloat1 {

    0%,
    100% {
        transform: translate3d(0, 0, 0)
    }

    25% {
        transform: translate3d(30px, -20px, 0)
    }

    50% {
        transform: translate3d(-15px, -30px, 0)
    }

    75% {
        transform: translate3d(-25px, 12px, 0)
    }
}

@keyframes orbFloat2 {

    0%,
    100% {
        transform: translate3d(0, 0, 0)
    }

    33% {
        transform: translate3d(-30px, 18px, 0)
    }

    66% {
        transform: translate3d(20px, -22px, 0)
    }
}

@keyframes textReveal {
    from {
        clip-path: inset(0 100% 0 0)
    }

    to {
        clip-path: inset(0 0% 0 0)
    }
}

@keyframes dashFlow {
    from {
        stroke-dashoffset: 100
    }

    to {
        stroke-dashoffset: 0
    }
}

@keyframes particleDrift {
    0% {
        transform: translate3d(0, 0, 0);
        opacity: 0
    }

    10% {
        opacity: 1
    }

    90% {
        opacity: 1
    }

    100% {
        transform: translate3d(var(--dx), var(--dy), 0);
        opacity: 0
    }
}

@keyframes morphBlob {

    0%,
    100% {
        border-radius: 60% 40% 30% 70%/60% 30% 70% 40%
    }

    50% {
        border-radius: 30% 60% 70% 40%/50% 60% 30% 60%
    }
}

@keyframes linePulse {
    0% {
        transform: translateY(-50%) translateX(0);
        opacity: 0
    }

    15% { opacity: 1 }

    85% { opacity: 1 }

    100% {
        transform: translateY(-50%) translateX(260px);
        opacity: 0
    }
}

@keyframes hubGlow {

    0%,
    100% {
        box-shadow: 0 0 0 18px rgba(34, 211, 238, 0.07), 0 0 60px rgba(34, 211, 238, 0.24)
    }

    50% {
        box-shadow: 0 0 0 26px rgba(34, 211, 238, 0.14), 0 0 90px rgba(34, 211, 238, 0.42)
    }
}

/* Scroll reveal utility — GPU-accelerated */
.reveal {
    opacity: 0;
    transform: translate3d(0, 40px, 0);
    transition: opacity 0.9s var(--ease-out-expo), transform 0.9s var(--ease-out-expo);
    will-change: opacity, transform
}

.reveal.visible {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.reveal-left {
    opacity: 0;
    transform: translate3d(-50px, 0, 0);
    transition: opacity 0.9s var(--ease-out-expo), transform 0.9s var(--ease-out-expo);
    will-change: opacity, transform
}

.reveal-left.visible {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.reveal-right {
    opacity: 0;
    transform: translate3d(50px, 0, 0);
    transition: opacity 0.9s var(--ease-out-expo), transform 0.9s var(--ease-out-expo);
    will-change: opacity, transform
}

.reveal-right.visible {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.reveal-scale {
    opacity: 0;
    transform: scale3d(0.92, 0.92, 1);
    transition: opacity 0.9s var(--ease-out-expo), transform 0.9s var(--ease-out-expo);
    will-change: opacity, transform
}

.reveal-scale.visible {
    opacity: 1;
    transform: scale3d(1, 1, 1)
}

/* Stagger children - smoother curve */
.stagger-children .reveal:nth-child(1) {
    transition-delay: 0ms
}

.stagger-children .reveal:nth-child(2) {
    transition-delay: 80ms
}

.stagger-children .reveal:nth-child(3) {
    transition-delay: 160ms
}

.stagger-children .reveal:nth-child(4) {
    transition-delay: 240ms
}

.stagger-children .reveal:nth-child(5) {
    transition-delay: 320ms
}

.stagger-children .reveal:nth-child(6) {
    transition-delay: 400ms
}

/* Accessibility: respect reduced motion */
@media (prefers-reduced-motion:reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important
    }

    .reveal,
    .reveal-left,
    .reveal-right,
    .reveal-scale {
        opacity: 1;
        transform: none;
        transition: none
    }

    .dashboard-mock {
        animation: none
    }

    .scroll-progress {
        display: none
    }
}

/* NAV */
nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: rgba(10, 22, 40, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(0, 212, 255, 0.08);
    padding: 0 2.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    animation: fadeInDown 0.6s ease-out;
    transition: background 0.4s, box-shadow 0.4s, height 0.3s
}

nav.scrolled {
    background: rgba(10, 22, 40, 0.98);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
    height: 56px
}

.nav-logo {
    display: flex;
    align-items: center;
    gap: 10px
}

.nav-logo-mark {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, #1A4FBF, #00D4FF);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    font-size: 14px;
    color: #fff;
    letter-spacing: -0.5px;
    transition: transform 0.4s var(--ease-spring), box-shadow 0.3s
}

.nav-logo-mark:hover {
    transform: rotate(-8deg) scale(1.12);
    box-shadow: 0 0 24px rgba(0, 212, 255, 0.5)
}

.nav-brand {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: #fff;
    letter-spacing: -0.01em
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 0
}

.nav-link {
    color: rgba(255, 255, 255, 0.65);
    font-size: 13.5px;
    padding: 0 14px;
    cursor: pointer;
    transition: color 0.25s, transform 0.25s;
    font-weight: 400;
    position: relative;
    text-decoration: none;
}

.nav-link:hover {
    color: #fff;
    transform: translateY(-1px)
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 50%;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--cyan), var(--blue-light));
    transition: width 0.35s var(--ease-out-expo), left 0.35s var(--ease-out-expo);
    border-radius: 2px
}

.nav-link:hover::after {
    width: 70%;
    left: 15%
}

/* NAV DROPDOWN */
.nav-dropdown {
    position: relative;
    display: flex;
    align-items: center;
}

.nav-link-dropdown {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nav-link-dropdown svg {
    transition: transform 0.3s ease;
}

.nav-dropdown:hover .nav-link-dropdown svg {
    transform: rotate(180deg);
}

.nav-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    min-width: 280px;
    background: rgba(15, 32, 64, 0.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(0, 212, 255, 0.1);
    border-radius: 12px;
    padding: 8px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
    z-index: 200;
}

.nav-dropdown:hover .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.nav-dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s;
}

.nav-dropdown-item:hover {
    background: rgba(255, 255, 255, 0.05);
}

.nav-dropdown-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nav-dropdown-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
}

.nav-dropdown-desc {
    font-size: 11.5px;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 1px;
}

.nav-cta {
    background: linear-gradient(135deg, #1A4FBF, #00B8E6);
    color: #fff;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    font-size: 13px;
    padding: 9px 20px;
    border-radius: 30px;
    cursor: pointer;
    border: none;
    letter-spacing: -0.01em;
    white-space: nowrap;
    transition: transform 0.35s var(--ease-spring), box-shadow 0.3s
}

.nav-cta:hover {
    transform: translateY(-2px) scale(1.03);
    box-shadow: 0 8px 28px rgba(0, 180, 230, 0.4)
}

#mainNav .top-logo {
    width: 88px;
    height: auto;
}

#mainNav.scrolled .top-logo {
    width: 76px;
    height: auto;
}

/* Anchors styled as buttons (e.g. "Schedule a Demo" CTAs) must not show an underline */
.nav-cta, .btn-primary, .btn-secondary { text-decoration: none }
a.nav-cta { display: inline-flex; align-items: center }

/* HERO */
.hero {
    background: var(--navy);
    padding: 100px 2.5rem 80px;
    position: relative;
    overflow: hidden;
    min-height: 640px;
    display: flex;
    align-items: center
}

.hero::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -120px;
    width: 700px;
    height: 700px;
    background: radial-gradient(ellipse at center, rgba(0, 212, 255, 0.07) 0%, transparent 65%);
    pointer-events: none;
    animation: orbFloat1 22s ease-in-out infinite
}

.hero::after {
    content: '';
    position: absolute;
    bottom: -100px;
    left: -60px;
    width: 550px;
    height: 550px;
    background: radial-gradient(ellipse at center, rgba(26, 79, 191, 0.14) 0%, transparent 65%);
    pointer-events: none;
    animation: orbFloat2 17s ease-in-out infinite
}

/* Morphing blob accent */
.hero-blob {
    position: absolute;
    top: 50%;
    right: 5%;
    width: 400px;
    height: 400px;
    background: linear-gradient(135deg, rgba(0, 212, 255, 0.04), rgba(26, 79, 191, 0.06));
    border-radius: 60% 40% 30% 70%/60% 30% 70% 40%;
    animation: morphBlob 12s ease-in-out infinite;
    pointer-events: none;
    filter: blur(40px);
    transform: translate(50%, -50%)
}

.hero-inner {
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    position: relative;
    z-index: 1
}

.hero-content {
    animation: fadeInLeft 1s var(--ease-out-expo) 0.2s both
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(0, 212, 255, 0.08);
    border: 1px solid rgba(0, 212, 255, 0.2);
    border-radius: 100px;
    padding: 6px 14px;
    margin-bottom: 24px;
    animation: fadeInUp 0.8s ease-out 0.4s both
}

.hero-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #00D4FF;
    animation: pulse 2s infinite
}

.hero-badge-text {
    font-size: 12px;
    font-weight: 500;
    color: #00D4FF;
    letter-spacing: 0.5px;
    text-transform: uppercase
}

.hero h1 {
    font-size: 64px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -2px;
    margin-bottom: 22px;
    line-height: 1
}

.hero h1 span {
    background: linear-gradient(135deg, #60A5FA, #00D4FF, #A78BFA, #60A5FA);
    background-size: 300% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: shimmer 5s linear infinite
}

.hero-sub {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.6;
    margin-bottom: 36px;
    font-weight: 300;
    max-width: 460px;
    animation: fadeInUp 0.8s ease-out 0.6s both
}

.hero-ctas {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
    animation: fadeInUp 0.8s ease-out 0.8s both
}

.btn-primary {
    background: linear-gradient(135deg, #1A4FBF, #00B8E6);
    color: #fff;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    padding: 13px 26px;
    border-radius: 30px;
    cursor: pointer;
    border: none;
    letter-spacing: -0.01em;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: transform 0.35s var(--ease-spring), box-shadow 0.35s;
    position: relative;
    overflow: hidden
}

.btn-primary:hover {
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 12px 44px rgba(0, 180, 230, 0.4)
}

.btn-primary::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 30%, rgba(255, 255, 255, 0.18) 50%, transparent 70%);
    background-size: 250% 250%;
    animation: shimmer 3.5s ease-in-out infinite;
    pointer-events: none
}

.btn-secondary {
    background: transparent;
    color: rgba(255, 255, 255, 0.85);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 500;
    font-size: 14px;
    padding: 13px 26px;
    border-radius: 30px;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.15);
    letter-spacing: -0.01em;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: transform 0.3s, border-color 0.3s, background 0.3s, box-shadow 0.3s
}

.btn-secondary:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 212, 255, 0.4);
    background: rgba(0, 212, 255, 0.06);
    box-shadow: 0 8px 30px rgba(0, 212, 255, 0.1)
}

.hero-visual {
    position: relative;
    animation: fadeInRight 1s var(--ease-out-expo) 0.4s both;
    perspective: 1000px
}

.dashboard-mock {
    background: rgba(15, 32, 64, 0.9);
    border: 1px solid rgba(0, 212, 255, 0.15);
    border-radius: 16px;
    padding: 20px;
    overflow: hidden;
    animation: float 7s ease-in-out infinite;
    transition: transform 0.5s var(--ease-out-expo), box-shadow 0.5s;
    transform-style: preserve-3d
}

.dashboard-mock:hover {
    box-shadow: 0 25px 70px rgba(0, 212, 255, 0.15)
}

.dash-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06)
}

.dash-dots {
    display: flex;
    gap: 5px
}

.dash-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    transition: transform 0.3s
}

.dash-dot:hover {
    transform: scale(1.4)
}

.dash-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.4);
    font-weight: 500
}

.dash-metric-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 14px
}

.dash-metric {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    padding: 12px;
    transition: transform 0.35s var(--ease-spring), border-color 0.3s, background 0.3s
}

.dash-metric:hover {
    transform: scale(1.06) translateY(-2px);
    border-color: rgba(0, 212, 255, 0.25);
    background: rgba(255, 255, 255, 0.06)
}

.dash-metric-label {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.35);
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px
}

.dash-metric-val {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.02em
}

.dash-metric-sub {
    font-size: 12px;
    color: #00D4FF;
    margin-top: 2px
}

.dash-modules {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 14px
}

.dash-module {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 8px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: transform 0.3s, background 0.3s, border-color 0.3s
}

.dash-module:hover {
    transform: translateX(4px);
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(0, 212, 255, 0.15)
}

.module-icon {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px
}

.module-label {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 500
}

.module-status {
    font-size: 10px;
    color: #00D4FF
}

.ai-bar {
    background: rgba(0, 212, 255, 0.06);
    border: 1px solid rgba(0, 212, 255, 0.15);
    border-radius: 8px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    animation: glowPulse 4s ease-in-out infinite
}

.ai-bar-icon {
    font-size: 14px;
    animation: pulse 2s infinite
}

.ai-bar-text {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
    flex: 1
}

.ai-bar-text strong {
    color: #00D4FF;
    font-weight: 500
}

.ai-bar-badge {
    background: rgba(0, 212, 255, 0.15);
    border: 1px solid rgba(0, 212, 255, 0.25);
    border-radius: 100px;
    padding: 3px 10px;
    font-size: 10px;
    color: #00D4FF;
    font-weight: 600;
    transition: transform 0.3s var(--ease-spring), background 0.3s
}

.ai-bar-badge:hover {
    transform: scale(1.08);
    background: rgba(0, 212, 255, 0.25)
}

/* TRUSTED BY — new social proof strip */
.section-trusted {
    background: var(--navy-mid);
    padding: 28px 2.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    overflow: hidden
}

.trusted-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 32px
}

.trusted-label {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.3);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 600;
    white-space: nowrap;
    font-family: 'Plus Jakarta Sans', sans-serif
}

.trusted-logos {
    display: flex;
    align-items: center;
    gap: 28px;
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent)
}

.trusted-logos-track {
    display: flex;
    align-items: center;
    gap: 28px;
    animation: marquee 30s linear infinite
}

@keyframes marquee {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-50%)
    }
}

.trusted-logo-item {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.25);
    white-space: nowrap;
    padding: 6px 16px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
    transition: color 0.3s, border-color 0.3s
}

.trusted-logo-item:hover {
    color: rgba(255, 255, 255, 0.5);
    border-color: rgba(0, 212, 255, 0.2)
}

/* CHALLENGE */
.section-challenge {
    background: var(--gray-50);
    padding: 90px 2.5rem;
    position: relative
}

.section-challenge::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gray-200), transparent)
}

.section-inner {
    max-width: 1100px;
    margin: 0 auto
}

.section-eyebrow {
    font-size: 11px;
    font-weight: 700;
    color: var(--blue-light);
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 14px
}

.section-heading {
    font-size: 44px;
    font-weight: 800;
    color: var(--navy);
    letter-spacing: -1.5px;
    margin-bottom: 16px
}

.section-heading span {
    color: var(--blue-light)
}

.section-sub {
    font-size: 16px;
    color: var(--gray-600);
    max-width: 560px;
    line-height: 1.7;
    margin-bottom: 48px;
    font-weight: 300
}

.challenge-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px
}

.challenge-card {
    background: #fff;
    border: 1px solid var(--gray-200);
    border-radius: 14px;
    padding: 28px 24px;
    position: relative;
    overflow: hidden;
    transition: transform 0.45s var(--ease-out-expo), box-shadow 0.45s, border-color 0.3s
}

.challenge-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 24px 60px rgba(26, 79, 191, 0.1);
    border-color: rgba(26, 79, 191, 0.15)
}

.challenge-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--blue), var(--cyan));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.6s var(--ease-out-expo)
}

.challenge-card:hover::before {
    transform: scaleX(1)
}

.challenge-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(0, 212, 255, 0.04) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.4s;
    pointer-events: none
}

.challenge-card:hover::after {
    opacity: 1
}

.challenge-icon {
    width: 48px;
    height: 48px;
    background: var(--gray-100);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-bottom: 16px;
    transition: transform 0.5s var(--ease-spring), background 0.3s
}

.challenge-card:hover .challenge-icon {
    transform: scale(1.15) rotate(-6deg);
    background: rgba(37, 99, 235, 0.08)
}

.challenge-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 8px;
    letter-spacing: -0.02em
}

.challenge-desc {
    font-size: 15px;
    color: var(--gray-600);
    line-height: 1.6
}

/* PLATFORM */
.section-platform {
    background: var(--navy);
    padding: 90px 2.5rem;
    position: relative;
    overflow: hidden
}

.section-platform::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 600px;
    height: 600px;
    background: radial-gradient(ellipse, rgba(0, 212, 255, 0.04) 0%, transparent 70%);
    animation: orbFloat2 18s ease-in-out infinite
}

.section-platform::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.2), transparent)
}

.section-platform .section-inner { position: relative; z-index: 1 }

.section-platform .section-eyebrow { color: var(--cyan) }

.platform-intro {
    /* text-align: center; */
    margin-bottom: 48px
}

.platform-heading {
    font-size: 44px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -1.5px;
    margin-bottom: 14px
}

.platform-heading span {
    background: linear-gradient(135deg, #60A5FA, #00D4FF, #A78BFA, #60A5FA);
    background-size: 300% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: shimmer 5s linear infinite
}

.platform-sub {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.5);
    max-width: 540px;
    margin: 0 auto;
    font-weight: 300;
    line-height: 1.7
}

.ecosystem-viz {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 20px;
    padding: 40px;
    position: relative;
    overflow: hidden
}

.ecosystem-viz::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 0%, rgba(0, 212, 255, 0.03) 0%, transparent 60%);
    pointer-events: none
}

.ecosystem-center {
    text-align: center;
    margin-bottom: 30px
}

.ecosystem-core {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    background: linear-gradient(135deg, rgba(26, 79, 191, 0.4), rgba(0, 212, 255, 0.2));
    border: 2px solid rgba(0, 212, 255, 0.35);
    border-radius: 16px;
    padding: 20px 36px;
    animation: glowPulse 4s ease-in-out infinite;
    transition: transform 0.4s var(--ease-spring)
}

.ecosystem-core:hover {
    transform: scale(1.06)
}

.ecosystem-core-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.02em
}

.ecosystem-core-sub {
    font-size: 12px;
    color: #00D4FF;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase
}

.ecosystem-modules {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 30px
}

.eco-module {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 18px;
    transition: transform 0.45s var(--ease-out-expo), border-color 0.3s, box-shadow 0.45s, background 0.3s;
    cursor: default;
    position: relative;
    overflow: hidden
}

.eco-module::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(0, 212, 255, 0.05) 0%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s
}

.eco-module:hover::before {
    opacity: 1
}

.eco-module:hover {
    border-color: rgba(0, 212, 255, 0.35);
    transform: translateY(-8px);
    box-shadow: 0 16px 48px rgba(0, 212, 255, 0.12);
    background: rgba(255, 255, 255, 0.05)
}

.eco-module-name {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
    position: relative;
    letter-spacing: -0.02em
}

.eco-module-tag {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.4);
    position: relative
}

.eco-module-ai {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    background: rgba(0, 212, 255, 0.08);
    border: 1px solid rgba(0, 212, 255, 0.15);
    border-radius: 100px;
    padding: 3px 10px;
    font-size: 12px;
    color: #00D4FF;
    font-weight: 400;
    transition: background 0.3s, transform 0.3s;
    position: relative
}

.eco-module:hover .eco-module-ai {
    background: rgba(0, 212, 255, 0.18);
    transform: translateX(3px)
}

.eco-connector {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    margin: 14px 0;
    position: relative
}

.connector-line {
    height: 2px;
    flex: 1;
    background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.3), transparent);
    position: relative;
    overflow: hidden
}

.connector-line::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.8), transparent);
    animation: shimmer 2.5s linear infinite;
    background-size: 200% 100%
}

.connector-icon {
    font-size: 16px;
    color: rgba(0, 212, 255, 0.5);
    margin: 0 8px;
    animation: pulse 2.5s infinite
}

/* AI */
.section-ai {
    background: var(--graphite);
    padding: 90px 2.5rem;
    position: relative;
    overflow: hidden
}

.section-ai::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 0%, rgba(0, 212, 255, 0.06) 0%, transparent 55%)
}

.section-ai::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.15), transparent)
}

.ai-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center
}

.ai-left .section-eyebrow {
    color: #00D4FF
}

.ai-left .section-heading {
    color: #fff
}

.ai-features {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 32px
}

.ai-feature {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    transition: transform 0.35s var(--ease-out-expo);
    padding: 8px;
    border-radius: 12px
}

.ai-feature:hover {
    transform: translateX(8px)
}

.ai-feature-dot {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    background: rgba(0, 212, 255, 0.1);
    border: 1px solid rgba(0, 212, 255, 0.2);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: transform 0.45s var(--ease-spring), background 0.3s, box-shadow 0.3s
}

.ai-feature:hover .ai-feature-dot {
    transform: scale(1.2) rotate(5deg);
    background: rgba(0, 212, 255, 0.2);
    box-shadow: 0 0 20px rgba(0, 212, 255, 0.2)
}

.ai-feature-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
    letter-spacing: -0.01em
}

.ai-feature-desc {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.45);
    line-height: 1.6
}

.ai-right-visual {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 16px;
    padding: 24px;
    position: relative;
    overflow: hidden
}

.ai-right-visual::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: conic-gradient(from 0deg, transparent, rgba(0, 212, 255, 0.03), transparent, rgba(0, 212, 255, 0.03), transparent);
    animation: orbFloat1 20s linear infinite;
    pointer-events: none
}

.ai-chat-bubble {
    background: rgba(0, 212, 255, 0.08);
    border: 1px solid rgba(0, 212, 255, 0.15);
    border-radius: 12px;
    border-bottom-left-radius: 4px;
    padding: 14px 16px;
    margin-bottom: 12px;
    opacity: 0;
    transform: translate3d(0, 20px, 0) scale(0.96);
    transition: opacity 0.6s var(--ease-out-expo), transform 0.6s var(--ease-out-expo);
    position: relative
}

.ai-chat-bubble.animate-in {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1)
}

.ai-chat-label {
    font-size: 10px;
    color: #00D4FF;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 6px
}

.ai-chat-text {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6
}

.ai-user-bubble {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    border-bottom-right-radius: 4px;
    padding: 14px 16px;
    margin-bottom: 12px;
    opacity: 0;
    transform: translate3d(0, 20px, 0) scale(0.96);
    transition: opacity 0.6s var(--ease-out-expo), transform 0.6s var(--ease-out-expo);
    position: relative
}

.ai-user-bubble.animate-in {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1)
}

.ai-user-label {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.3);
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 6px
}

.ai-user-text {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.6
}

.ai-typing-indicator {
    display: inline-flex;
    gap: 4px;
    padding: 8px 14px;
    background: rgba(0, 212, 255, 0.08);
    border: 1px solid rgba(0, 212, 255, 0.15);
    border-radius: 12px;
    border-bottom-left-radius: 4px;
    margin-bottom: 12px;
    opacity: 0;
    transition: opacity 0.3s
}

.ai-typing-indicator.show {
    opacity: 1
}

.ai-typing-indicator span {
    width: 6px;
    height: 6px;
    background: rgba(0, 212, 255, 0.6);
    border-radius: 50%;
    animation: pulse 1.4s infinite
}

.ai-typing-indicator span:nth-child(2) {
    animation-delay: 0.2s
}

.ai-typing-indicator span:nth-child(3) {
    animation-delay: 0.4s
}

.ai-stat-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 16px
}

.ai-stat {
    text-align: center;
    transition: transform 0.35s var(--ease-spring)
}

.ai-stat:hover {
    transform: scale(1.12)
}

.ai-stat-val {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: #00D4FF;
    letter-spacing: -0.03em;
    transition: text-shadow 0.3s
}

.ai-stat:hover .ai-stat-val {
    text-shadow: 0 0 20px rgba(0, 212, 255, 0.4)
}

.ai-stat-label {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.35);
    margin-top: 2px
}

/* PRODUCTS */
.section-products {
    background: #fff;
    padding: 90px 2.5rem;
    position: relative
}

.section-products::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gray-200), transparent)
}

.products-intro {
    text-align: center;
    margin-bottom: 52px
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px
}

.product-card {
    display: block;
    text-decoration: none;
    color: inherit;
    border: 1px solid var(--gray-200);
    border-radius: 16px;
    padding: 28px;
    position: relative;
    overflow: hidden;
    transition: transform 0.45s var(--ease-out-expo), border-color 0.3s, box-shadow 0.45s;
    cursor: pointer
}

.product-card:hover {
    border-color: rgba(26, 79, 191, 0.25);
    box-shadow: 0 20px 60px rgba(26, 79, 191, 0.1);
    transform: translateY(-10px)
}

.product-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(37, 99, 235, 0.04) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.4s;
    pointer-events: none
}

.product-card:hover::after {
    opacity: 1
}

.product-card-accent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    border-radius: 16px 16px 0 0;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.6s var(--ease-out-expo)
}

.product-card:hover .product-card-accent {
    transform: scaleX(1)
}

.product-card-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 16px;
    border: 1px solid var(--gray-200);
    transition: transform 0.45s var(--ease-spring), border-color 0.3s
}

.product-card:hover .product-card-icon {
    transform: scale(1.15) rotate(-4deg);
    border-color: rgba(37, 99, 235, 0.2)
}

.product-card-name {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 17px;
    font-weight: 800;
    color: var(--navy);
    margin-bottom: 2px;
    letter-spacing: -0.02em
}

.product-card-type {
    font-size: 12px;
    color: var(--gray-400);
    margin-bottom: 12px;
    font-weight: 500
}

.product-card-desc {
    font-size: 13.5px;
    color: var(--gray-600);
    line-height: 1.6;
    margin-bottom: 16px
}

.product-card-ai {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(0, 212, 255, 0.07);
    border: 1px solid rgba(0, 212, 255, 0.2);
    border-radius: 100px;
    padding: 4px 12px;
    font-size: 11px;
    color: var(--blue-light);
    font-weight: 600;
    margin-bottom: 16px;
    transition: background 0.3s
}

.product-card:hover .product-card-ai {
    background: rgba(0, 212, 255, 0.12)
}

.product-card-cta {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--blue-light);
    display: flex;
    align-items: center;
    gap: 5px;
    transition: gap 0.35s var(--ease-out-expo), color 0.3s
}

.product-card:hover .product-card-cta {
    gap: 12px;
    color: var(--cyan)
}

/* WHY */
.section-why {
    background: var(--gray-50);
    padding: 90px 2.5rem;
    position: relative
}

.section-why::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gray-200), transparent)
}

.why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.why-card {
    background: #fff;
    border: 1px solid var(--gray-200);
    border-radius: 14px;
    padding: 28px 24px;
    transition: transform 0.45s var(--ease-out-expo), box-shadow 0.45s, border-color 0.3s;
    position: relative;
    overflow: hidden
}

.why-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 0;
    background: linear-gradient(180deg, var(--blue), var(--cyan));
    transition: height 0.5s var(--ease-out-expo);
    border-radius: 0 0 3px 0
}

.why-card:hover::before {
    height: 100%
}

.why-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 55px rgba(26, 79, 191, 0.08);
    border-color: rgba(26, 79, 191, 0.12)
}

.why-number {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 40px;
    font-weight: 800;
    color: rgba(26, 79, 191, 0.12);
    margin-bottom: 12px;
    line-height: 1;
    letter-spacing: -0.03em;
    transition: color 0.4s, transform 0.4s
}

.why-card:hover .why-number {
    color: rgba(0, 212, 255, 0.5);
    transform: scale(1.08)
}

.why-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 8px;
    letter-spacing: -0.01em
}

.why-desc {
    font-size: 14px;
    color: var(--gray-600);
    line-height: 1.6
}

/* IMPLEMENTATION MODEL */
.section-impl {
    background: var(--white);
    padding: 90px 2.5rem;
    position: relative
}

.section-impl::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gray-200), transparent)
}

.section-impl .section-badge {
    background: rgba(37, 99, 235, 0.06);
    border-color: rgba(37, 99, 235, 0.18)
}

.section-impl .section-badge-dot { background: var(--blue-light) }
.section-impl .section-badge-text { color: var(--blue-light) }

.step-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: left
}

.step-card {
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: 16px;
    padding: 28px 24px;
    position: relative;
    overflow: hidden;
    transition: transform 0.45s var(--ease-out-expo), box-shadow 0.45s, border-color 0.3s
}

.step-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 3px;
    height: 0;
    background: linear-gradient(180deg, var(--blue), var(--cyan));
    transition: height 0.5s var(--ease-out-expo);
    border-radius: 0 0 3px 0
}

.step-card:hover::before { height: 100% }

.step-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 55px rgba(26, 79, 191, 0.08);
    border-color: rgba(26, 79, 191, 0.12)
}

.step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: linear-gradient(135deg, var(--navy), var(--navy-mid));
    color: var(--white);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 18px;
    position: relative;
    box-shadow: 0 6px 18px rgba(10, 22, 40, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    transition: transform 0.35s var(--ease-spring), box-shadow 0.35s, background 0.35s
}

.step-number::after {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 13px;
    border: 1px solid rgba(26, 79, 191, 0.18);
    opacity: 0;
    transition: opacity 0.3s
}

.step-card:hover .step-number {
    background: linear-gradient(135deg, var(--blue), var(--cyan-dim));
    transform: scale(1.1) rotate(-4deg);
    box-shadow: 0 8px 24px rgba(26, 79, 191, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.2)
}

.step-card:hover .step-number::after {
    opacity: 1
}

.step-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 10px;
    letter-spacing: -0.01em
}

.step-desc {
    font-size: 14px;
    color: var(--gray-600);
    line-height: 1.65
}

/* INTEGRATIONS */
.section-integrations {
    background: var(--navy);
    padding: 90px 2.5rem;
    text-align: center;
    position: relative;
    overflow: hidden
}

.section-integrations::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.2), transparent)
}

.section-integrations .section-heading {
    color: var(--white)
}

.section-integrations .section-heading span {
    color: var(--cyan)
}

.section-integrations .section-sub {
    color: rgba(255, 255, 255, 0.55)
}

.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(0, 212, 255, 0.08);
    border: 1px solid rgba(0, 212, 255, 0.22);
    border-radius: 30px;
    padding: 6px 14px;
    margin-bottom: 20px
}

.section-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--blue-light);
}

.section-badge-text {
    font-size: 11px;
    font-weight: 700;
    color: var(--blue-light);
    letter-spacing: 1.5px;
    text-transform: uppercase
}

.integration-tiles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 20px
}

.integration-tile {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 14px;
    padding: 0 24px;
    min-height: 100px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.75);
    text-align: center;
    transition: transform 0.3s var(--ease-spring), box-shadow 0.3s, border-color 0.3s, background 0.3s, color 0.3s
}

.integration-tile:hover {
    transform: translateY(-4px);
    background: rgba(0, 212, 255, 0.07);
    border-color: rgba(0, 212, 255, 0.3);
    color: var(--white);
    box-shadow: 0 12px 40px rgba(0, 212, 255, 0.1)
}

/* FINAL CTA */
.section-finalcta {
    background: linear-gradient(135deg, var(--navy) 0%, #0D2A6E 50%, #051A45 100%);
    padding: 110px 2.5rem;
    text-align: center;
    position: relative;
    overflow: hidden
}

.section-finalcta::before {
    content: '';
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    height: 600px;
    background: radial-gradient(ellipse, rgba(0, 212, 255, 0.06) 0%, transparent 65%);
    animation: orbFloat1 14s ease-in-out infinite
}

.section-finalcta::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.2), transparent)
}

.finalcta-heading {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 48px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -2px;
    margin-bottom: 16px;
    position: relative
}

.finalcta-sub {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 42px;
    font-weight: 300;
    position: relative;
    line-height: 1.6
}

.finalcta-ctas {
    display: flex;
    gap: 14px;
    justify-content: center;
    position: relative
}

/* Particles — varied sizes and better motion */
.section-finalcta .particle {
    position: absolute;
    background: rgba(0, 212, 255, 0.25);
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
    animation: particleDrift 8s ease-in-out infinite
}

.section-finalcta .particle:nth-child(1) {
    width: 4px;
    height: 4px;
    top: 20%;
    left: 15%;
    --dx: 30px;
    --dy: -40px;
    animation-duration: 7s
}

.section-finalcta .particle:nth-child(2) {
    width: 6px;
    height: 6px;
    top: 60%;
    left: 80%;
    --dx: -20px;
    --dy: -50px;
    animation-duration: 9s;
    animation-delay: 1s
}

.section-finalcta .particle:nth-child(3) {
    width: 3px;
    height: 3px;
    top: 30%;
    left: 70%;
    --dx: 25px;
    --dy: 30px;
    animation-duration: 8s;
    animation-delay: 0.5s
}

.section-finalcta .particle:nth-child(4) {
    width: 5px;
    height: 5px;
    top: 70%;
    left: 25%;
    --dx: -15px;
    --dy: -35px;
    animation-duration: 10s;
    animation-delay: 2s
}

.section-finalcta .particle:nth-child(5) {
    width: 4px;
    height: 4px;
    top: 40%;
    left: 50%;
    --dx: 35px;
    --dy: 25px;
    animation-duration: 7.5s;
    animation-delay: 1.2s
}

.section-finalcta .particle:nth-child(6) {
    width: 3px;
    height: 3px;
    top: 80%;
    left: 60%;
    --dx: -25px;
    --dy: -20px;
    animation-duration: 8.5s;
    animation-delay: 3s
}

.section-finalcta .particle:nth-child(7) {
    width: 5px;
    height: 5px;
    top: 15%;
    left: 40%;
    --dx: 20px;
    --dy: 40px;
    animation-duration: 9.5s;
    animation-delay: 0.8s
}

/* FOOTER */
footer {
    background: var(--graphite);
    padding: 40px 2.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    align-items: center;
    justify-content: space-between
}

.footer-brand {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.3)
}

.footer-links {
    display: flex;
    gap: 24px
}

.footer-link {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.25);
    cursor: pointer;
    transition: color 0.3s, transform 0.25s;
    text-decoration: none;
}

.footer-link:hover {
    color: rgba(255, 255, 255, 0.7);
    transform: translateY(-2px)
}

/* BREADCRUMB */
.breadcrumb{background:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:12px 2.5rem;display:flex;align-items:center;gap:8px}
.bc-item{font-size:13px;color:var(--gray-400);cursor:pointer}
.bc-item:hover{color:var(--blue-light)}
.bc-sep{font-size:13px;color:var(--gray-200)}
.bc-current{font-size:13px;color:var(--gray-800);font-weight:500}

/* PRODUCT HERO */
.product-hero{background:var(--navy);padding:80px 2.5rem 0;position:relative;overflow:hidden}
.product-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:600px;height:600px;background:radial-gradient(ellipse,rgba(37,99,235,0.12) 0%,transparent 70%)}
.product-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to bottom,transparent,var(--navy))}
.product-hero-inner{max-width:1100px;margin:0 auto;position:relative;z-index:1}
.product-badge-row{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.product-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(37,99,235,0.15);border:1px solid rgba(37,99,235,0.3);border-radius:100px;padding:5px 14px}
.product-badge-icon{font-size:14px}
.product-badge-text{font-size:12px;font-weight:600;color:#93C5FD;letter-spacing:0.5px;text-transform:uppercase}
.ai-badge{background:rgba(0,212,255,0.08);border:1px solid rgba(0,212,255,0.2);border-radius:100px;padding:5px 14px;font-size:12px;font-weight:600;color:#00D4FF;letter-spacing:0.5px;text-transform:uppercase}
.product-hero h1{font-size:52px;font-weight:800;color:#fff;letter-spacing:-1.5px;margin-bottom:10px}
.product-hero-type{font-size:20px;font-weight:300;color:rgba(255,255,255,0.45);margin-bottom:22px;font-family:'DM Sans',sans-serif}
.product-hero-desc{font-size:18px;color:rgba(255,255,255,0.6);max-width:560px;line-height:1.7;margin-bottom:36px;font-weight:300}
.hero-ctas{display:flex;gap:14px;margin-bottom:60px;flex-wrap:wrap}
.product-hero-stats{display:flex;gap:40px;padding-top:32px;border-top:1px solid rgba(255,255,255,0.07);margin-bottom:0;padding-bottom:40px}
.hero-stat-val{font-family:'Plus Jakarta Sans',sans-serif;font-size:32px;font-weight:800;color:#fff}
.hero-stat-val span{color:#00D4FF}
.hero-stat-label{font-size:13px;color:rgba(255,255,255,0.4);margin-top:2px}

/* SCREENSHOT BAND */
.screenshot-band{background:var(--graphite);padding:0 2.5rem 0;overflow:hidden}
.screenshot-inner{max-width:1100px;margin:0 auto}
.screenshot-frame{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:16px 16px 0 0;padding:20px;margin-top:0}
.screenshot-topbar{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,0.06)}
.ss-dot{width:9px;height:9px;border-radius:50%}
.ss-url{flex:1;background:rgba(255,255,255,0.05);border-radius:6px;padding:5px 14px;font-size:11px;color:rgba(255,255,255,0.25);text-align:center}
.ss-tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,0.06)}
.ss-tab{padding:8px 20px;font-size:12px;font-weight:600;color:rgba(255,255,255,0.3);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif}
.ss-tab.active{color:#fff;border-bottom:2px solid #2563EB}
.ss-dashboard{display:grid;grid-template-columns:220px 1fr;gap:0;min-height:240px}
.ss-sidebar{background:rgba(255,255,255,0.02);border-right:1px solid rgba(255,255,255,0.05);padding:16px}
.ss-sidebar-item{padding:8px 12px;border-radius:7px;font-size:12px;margin-bottom:3px;cursor:pointer}
.ss-sidebar-item.active{background:rgba(37,99,235,0.2);color:#93C5FD;font-weight:600}
.ss-sidebar-item:not(.active){color:rgba(255,255,255,0.35)}
.ss-main{padding:16px}
.ss-pipeline{display:flex;gap:10px;margin-bottom:16px}
.pipeline-col{flex:1;background:rgba(255,255,255,0.03);border-radius:8px;padding:10px}
.pipeline-col-header{font-size:10px;font-weight:700;color:rgba(255,255,255,0.3);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;display:flex;justify-content:space-between}
.pipeline-card{background:rgba(255,255,255,0.05);border-radius:6px;padding:8px 10px;margin-bottom:6px}
.pipeline-card-name{font-size:11px;color:rgba(255,255,255,0.75);font-weight:500;margin-bottom:2px}
.pipeline-card-detail{font-size:10px;color:rgba(255,255,255,0.3)}
.pipeline-card-tag{display:inline-block;background:rgba(0,212,255,0.1);border-radius:4px;padding:1px 6px;font-size:9px;color:#00D4FF;margin-top:4px}
.ss-ai-bar{background:rgba(0,212,255,0.06);border:1px solid rgba(0,212,255,0.12);border-radius:8px;padding:8px 14px;display:flex;align-items:center;gap:8px}
.ss-ai-text{font-size:11px;color:rgba(255,255,255,0.45)}
.ss-ai-text strong{color:#00D4FF}
.ss-ai-action{background:rgba(0,212,255,0.1);border:1px solid rgba(0,212,255,0.2);border-radius:6px;padding:3px 10px;font-size:10px;color:#00D4FF;font-weight:600;cursor:pointer;white-space:nowrap}

/* FEATURES */
.section-features{background:#fff;padding:80px 2.5rem}
.features-intro{text-align:center;margin-bottom:56px;max-width:640px;margin-left:auto;margin-right:auto}
.features-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.feature-icon-wrap{width:48px;height:48px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--product-light);border:1px solid var(--product-mid)}
.feature-tag{display:inline-flex;align-items:center;gap:5px;margin-top:10px;background:rgba(0,212,255,0.07);border:1px solid rgba(0,212,255,0.2);border-radius:100px;padding:3px 12px;font-size:11px;color:var(--blue-light);font-weight:600}

/* AI DEEP DIVE */
.section-ai-deep{background:var(--graphite);padding:80px 2.5rem}
.ai-deep-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.ai-deep-left .section-eyebrow{color:#00D4FF}
.ai-deep-left .section-heading{color:#fff}
.ai-deep-left .section-sub{color:rgba(255,255,255,0.45)}
.ai-capabilities{display:flex;flex-direction:column;gap:14px;margin-top:28px}
.ai-cap{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);border-radius:12px;padding:14px 18px}
.ai-cap-dot{width:8px;height:8px;border-radius:50%;background:#00D4FF;flex-shrink:0}
.ai-cap-text{font-size:14px;color:rgba(255,255,255,0.7)}
.ai-cap-badge{margin-left:auto;background:rgba(0,212,255,0.1);border:1px solid rgba(0,212,255,0.2);border-radius:100px;padding:2px 10px;font-size:10px;color:#00D4FF;font-weight:700;white-space:nowrap}
.ai-deep-right-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:16px;padding:28px}
.ai-card-header{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:700;color:rgba(255,255,255,0.5);margin-bottom:20px;letter-spacing:0.5px;text-transform:uppercase}
.ai-metric-big{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,0.05)}
.ai-metric-big:last-child{border-bottom:none}
.ai-metric-label{font-size:14px;color:rgba(255,255,255,0.5)}
.ai-metric-value{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;font-weight:800;color:#00D4FF}
.ai-metric-change{font-size:11px;color:rgba(0,212,255,0.6);text-align:right;margin-top:2px}

/* USE CASES */
.section-usecases{background:var(--gray-50);padding:80px 2.5rem}
.usecases-inner{max-width:1100px;margin:0 auto}
.uc-intro{text-align:center;margin-bottom:52px}
.uc-tabs{display:flex;justify-content:center;gap:0;border:1px solid var(--gray-200);border-radius:12px;padding:4px;background:#fff;width:fit-content;margin:0 auto 40px;flex-wrap:wrap}
.uc-tab{padding:9px 22px;border-radius:9px;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;color:var(--gray-400);transition:all 0.2s}
.uc-tab.active{background:var(--navy);color:#fff}
.uc-content{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.uc-left h4{font-size:22px;font-weight:800;color:var(--navy);margin-bottom:12px}
.uc-left p{font-size:15px;color:var(--gray-600);line-height:1.7;margin-bottom:20px}
.uc-steps{display:flex;flex-direction:column;gap:12px}
.uc-step{display:flex;gap:14px;align-items:flex-start}
.uc-step-num{width:28px;height:28px;flex-shrink:0;background:var(--blue-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:800;color:#fff}
.uc-step-text{font-size:14px;color:var(--gray-600);line-height:1.6;padding-top:4px}
.uc-right-card{background:#fff;border:1px solid var(--gray-200);border-radius:16px;padding:28px}
.uc-card-label{font-size:11px;font-weight:700;color:var(--gray-400);letter-spacing:1px;text-transform:uppercase;margin-bottom:16px}
.uc-metric-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}
.uc-metric{background:var(--gray-50);border-radius:10px;padding:16px}
.uc-metric-val{font-family:'Plus Jakarta Sans',sans-serif;font-size:28px;font-weight:800;color:var(--blue-light)}
.uc-metric-label{font-size:12px;color:var(--gray-400);margin-top:4px}
.uc-quote{background:var(--gray-50);border-left:3px solid var(--blue-light);border-radius:0 8px 8px 0;padding:14px 18px}
.uc-quote-text{font-size:13px;color:var(--gray-600);line-height:1.6;font-style:italic;margin-bottom:8px}
.uc-quote-source{font-size:12px;color:var(--gray-400);font-weight:500}

/* INTEGRATION */
.section-integration{background:#fff;padding:80px 2.5rem}
.integration-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.integration-right{display:flex;flex-direction:column;gap:14px}
.integration-item{display:flex;align-items:center;gap:16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:16px 20px}
.integration-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:700;color:var(--navy)}
.integration-desc{font-size:13px;color:var(--gray-400)}
.integration-status{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:12px;color:#059669;font-weight:600}
.integration-dot{width:7px;height:7px;border-radius:50%;background:#059669}

/* PRICING STRIP */
.section-pricing{background:var(--gray-50);padding:60px 2.5rem;border-top:1px solid var(--gray-200)}
.pricing-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.pricing-left h3{font-size:26px;font-weight:800;color:var(--navy);margin-bottom:8px}
.pricing-left p{font-size:15px;color:var(--gray-600);max-width:460px}
.pricing-features{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.pricing-feat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-600)}
.pricing-feat-check{color:#059669;font-size:15px}
.pricing-right{display:flex;gap:12px;}

/* RELATED PRODUCTS */
.section-related{background:#fff;padding:64px 2.5rem;border-top:1px solid var(--gray-100)}
.related-inner{max-width:1100px;margin:0 auto}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.related-card{border:1px solid var(--gray-200);border-radius:14px;padding:22px;cursor:pointer;transition:border-color 0.2s}
.related-card:hover{border-color:rgba(37,99,235,0.3)}
.related-card-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:700;color:var(--navy);margin-bottom:4px}
.related-card-type{font-size:12px;color:var(--gray-400);margin-bottom:10px}
.related-card-desc{font-size:13px;color:var(--gray-600);line-height:1.6}
.related-card-cta{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--blue-light);margin-top:12px;text-decoration:none}

.section-features {
    background: #fff;
    padding: 80px 2.5rem
}

.features-intro {
    text-align: center;
    margin-bottom: 56px;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto
}

.features-grid {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px
}

.feature-card {
    border: 1px solid var(--gray-200);
    border-radius: 16px;
    padding: 32px;
    display: flex;
    gap: 20px;
    align-items: flex-start
}

.feature-icon-wrap {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    background: var(--product-light);
    border: 1px solid var(--product-mid)
}

.feature-title {
    font-family: 'Sora', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 8px
}

.feature-desc {
    font-size: 14px;
    color: var(--gray-600);
    line-height: 1.7
}

.feature-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
    background: rgba(0, 212, 255, 0.07);
    border: 1px solid rgba(0, 212, 255, 0.2);
    border-radius: 100px;
    padding: 3px 12px;
    font-size: 11px;
    color: var(--blue-light);
    font-weight: 600
}

/* MICRO-INTERACTIONS — Feature Cards */
.feature-card {
    transition: transform 0.45s var(--ease-out-expo), box-shadow 0.45s, border-color 0.3s;
    position: relative;
    overflow: hidden
}
.feature-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--blue), var(--cyan));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.6s var(--ease-out-expo)
}
.feature-card:hover::before {
    transform: scaleX(1)
}
.feature-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(0, 212, 255, 0.04) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.4s;
    pointer-events: none
}
.feature-card:hover::after {
    opacity: 1
}
.feature-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(26, 79, 191, 0.08);
    border-color: rgba(37, 99, 235, 0.2)
}
.feature-card:hover .feature-icon-wrap {
    transform: scale(1.12) rotate(-4deg);
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.15)
}
.feature-icon-wrap {
    transition: transform 0.5s var(--ease-spring), box-shadow 0.4s
}

/* MICRO-INTERACTIONS — Integration Items */
.integration-item {
    transition: transform 0.35s var(--ease-out-expo), box-shadow 0.35s, border-color 0.3s
}
.integration-item:hover {
    transform: translateX(6px);
    box-shadow: 0 8px 24px rgba(26, 79, 191, 0.06);
    border-color: rgba(37, 99, 235, 0.2)
}

/* MICRO-INTERACTIONS — Related Cards */
.related-card {
    transition: transform 0.4s var(--ease-out-expo), box-shadow 0.4s, border-color 0.3s;
    position: relative;
    overflow: hidden
}
.related-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--blue), var(--cyan));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s var(--ease-out-expo)
}
.related-card:hover::before {
    transform: scaleX(1)
}
.related-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(26, 79, 191, 0.08);
    border-color: rgba(37, 99, 235, 0.25)
}
.related-card:hover .related-card-cta {
    gap: 10px
}
.related-card-cta {
    transition: gap 0.3s var(--ease-out-expo)
}

/* MICRO-INTERACTIONS — AI Capability Items */
.ai-cap {
    transition: transform 0.35s var(--ease-out-expo), background 0.3s, border-color 0.3s
}
.ai-cap:hover {
    transform: translateX(6px);
    background: rgba(255,255,255,0.06);
    border-color: rgba(0, 212, 255, 0.2)
}

/* MICRO-INTERACTIONS — Use Case Steps */
.uc-step {
    transition: transform 0.3s var(--ease-out-expo)
}
.uc-step:hover {
    transform: translateX(4px)
}

/* MICRO-INTERACTIONS — Pipeline Cards */
.pipeline-card {
    transition: transform 0.25s ease, background 0.25s
}
.pipeline-card:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,0.08)
}

/* MICRO-INTERACTIONS — Screenshot Tabs */
.ss-tab {
    transition: color 0.2s, border-color 0.2s
}
.ss-tab:hover:not(.active) {
    color: rgba(255,255,255,0.6)
}

/* =====================================================================
   RESPONSIVE  (mobile / tablet)
   ===================================================================== */

/* Injected hamburger toggle — hidden on desktop, shown by the nav breakpoint */
.nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    width: 40px;
    height: 40px;
    padding: 0;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    cursor: pointer;
}
.nav-toggle span {
    display: block;
    width: 18px;
    height: 2px;
    margin: 0 auto;
    background: #fff;
    border-radius: 2px;
    transition: transform 0.25s ease, opacity 0.2s ease;
}
#mainNav.nav-open .nav-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg) }
#mainNav.nav-open .nav-toggle span:nth-child(2) { opacity: 0 }
#mainNav.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg) }

/* ---- Tablet: 3-col -> 2-col, tighten oversized gaps ---- */
@media (max-width: 1024px) {
    .dash-metric-row,
    .dash-modules,
    .challenge-grid,
    .ecosystem-modules,
    .ai-stat-row,
    .products-grid,
    .why-grid,
    .related-grid { grid-template-columns: repeat(2, 1fr); }

    .hero-inner,
    .ai-grid,
    .ai-deep-inner,
    .uc-content,
    .integration-inner { gap: 40px; }
}

/* ---- Mobile navigation ---- */
@media (max-width: 900px) {
    .nav-toggle { display: flex; margin-left: 10px; }
    #mainNav { flex-wrap: wrap; justify-content: flex-start; }
    .nav-links { display: none; }
    .nav-cta { display: inline-flex; margin-left: auto; padding: 7px 12px; font-size: 12px; }

    /* Full-screen overlay when open */
    #mainNav.nav-open {
        position: fixed;
        inset: 0;
        height: 100vh;
        height: 100dvh;
        padding: 0.6rem 2rem 2.5rem;
        align-content: flex-start;
        background: rgba(10, 22, 40, 0.98);
        backdrop-filter: blur(24px);
        -webkit-backdrop-filter: blur(24px);
        overflow-y: auto;
    }
    #mainNav.nav-open .nav-links {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 0;
        order: 3;
        margin-top: 0;
        padding-top: 1rem;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        animation: fadeInDown 0.22s ease-out;
    }
    #mainNav.nav-open .nav-link {
        padding: 18px 0;
        font-size: 22px;
        font-weight: 500;
        color: rgba(255, 255, 255, 0.85);
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }
    #mainNav.nav-open .nav-link:hover { color: #fff; transform: none; }
    #mainNav.nav-open .nav-dropdown { width: 100%; align-items: flex-start; }
    /* expose the Products submenu inline instead of the hover-absolute card */
    #mainNav.nav-open .nav-dropdown-menu {
        position: static;
        transform: none;
        opacity: 1;
        visibility: visible;
        min-width: 0;
        padding: 4px 0 8px 16px;
        margin: 0;
        background: transparent;
        border: none;
        box-shadow: none;
        backdrop-filter: none;
    }
    #mainNav.nav-open .nav-dropdown-item { padding: 12px 6px; font-size: 16px; }
}

/* ---- Phones / small tablets: single column ---- */
@media (max-width: 768px) {
    /* reduce horizontal padding across all section wrappers */
    nav,
    .hero,
    .section-trusted,
    .section-challenge,
    .section-platform,
    .section-ai,
    .section-products,
    .section-why,
    .section-integrations,
    .section-finalcta,
    footer,
    .breadcrumb,
    .product-hero,
    .screenshot-band,
    .section-features,
    .section-ai-deep,
    .section-usecases,
    .section-integration,
    .section-pricing,
    .section-related {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    /* trim oversized vertical padding */
    .hero { padding-top: 88px; padding-bottom: 56px; min-height: 0; }
    .section-challenge,
    .section-platform,
    .section-ai,
    .section-products,
    .section-why,
    .section-integrations,
    .section-features,
    .section-ai-deep,
    .section-usecases,
    .section-integration { padding-top: 56px; padding-bottom: 56px; }
    .section-finalcta { padding-top: 72px; padding-bottom: 72px; }
    .product-hero { padding-top: 64px; }

    /* collapse every multi-column layout to a single column */
    .hero-inner,
    .ai-grid,
    .ai-deep-inner,
    .uc-content,
    .integration-inner,
    .features-grid,
    .dash-metric-row,
    .dash-modules,
    .challenge-grid,
    .ecosystem-modules,
    .ai-stat-row,
    .products-grid,
    .why-grid,
    .related-grid { grid-template-columns: 1fr; gap: 24px; }

    .integration-tiles { grid-template-columns: repeat(2, 1fr); }
    .integration-tile { padding: 28px 16px; }
    .step-grid { grid-template-columns: repeat(2, 1fr); }

    .pricing-inner { flex-direction: column; align-items: flex-start; gap: 24px; }
    .pricing-right { width: 100%; flex-direction: column; }

    /* fluid headings */
    .hero h1 { font-size: 38px; }
    .product-hero h1 { font-size: 34px; }
    .section-heading,
    .platform-heading { font-size: 30px; }
    .finalcta-heading { font-size: 32px; }
    .why-number { font-size: 30px; }
    .product-hero-type { font-size: 17px; }
    .product-hero-desc { font-size: 16px; }

    /* hero stat + CTA rows wrap */
    .product-hero-stats { flex-wrap: wrap; gap: 24px 32px; }
    .hero-ctas { flex-wrap: wrap; }

    /* footer stacks */
    footer { flex-direction: column; align-items: flex-start; gap: 16px; }
    .footer-links { flex-wrap: wrap; gap: 14px 20px; }

    /* dashboard / screenshot mockups: drop the fixed sidebar, let columns wrap */
    .ss-dashboard { grid-template-columns: 1fr; }
    .ss-sidebar { display: none; }
    .ss-pipeline { flex-wrap: wrap; }
    .pipeline-col { flex: 1 1 45%; min-width: 130px; }
    .ss-tabs { flex-wrap: wrap; }
    .ss-ai-bar { flex-wrap: wrap; }
}

/* ---- Small phones ---- */
@media (max-width: 480px) {
    nav,
    .hero,
    .section-trusted,
    .section-challenge,
    .section-platform,
    .section-ai,
    .section-products,
    .section-why,
    .section-integrations,
    .section-finalcta,
    footer,
    .breadcrumb,
    .product-hero,
    .screenshot-band,
    .section-features,
    .section-ai-deep,
    .section-usecases,
    .section-integration,
    .section-pricing,
    .section-related {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .integration-tiles { grid-template-columns: 1fr; }
    .step-grid { grid-template-columns: 1fr; }

    .uc-metric-row { grid-template-columns: 1fr; }
    .product-hero-stats { flex-direction: column; gap: 18px; }
    .hero-ctas { flex-direction: column; align-items: stretch; }
    .hero-ctas .btn-primary,
    .hero-ctas .btn-secondary { justify-content: center; }

    /* .hero h1 { font-size: 32px; } */
    .product-hero h1 { font-size: 29px; }
    .section-heading,
    .platform-heading { font-size: 26px; }
    .finalcta-heading { font-size: 28px; }

    /* allow nowrap labels/badges to wrap so they don't force overflow */
    .nav-cta,
    .ss-ai-action,
    .ai-cap-badge { white-space: normal; }

        .finalcta-ctas {
            flex-direction: column;
        }
}


/* Ecosystem */
.ecosystem-layout {
    display: grid;
    grid-template-columns: 0.88fr 1.12fr;
    gap: 54px;
    align-items: center;
}

.ecosystem-copy ul {
    list-style: none;
    display: grid;
    gap: 14px;
    margin-bottom: 48px;
}

.ecosystem-copy li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    color: rgba(255, 255, 255, 0.5);
    font-size: 16px;
}

.ecosystem-copy li::before {
    content: '✓';
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(34, 211, 238, 0.12);
    color: var(--cyan);
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 900;
}

.ecosystem-map {
    position: relative;
    min-height: 520px;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.045);
    overflow: hidden;
}

.ecosystem-map::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px);
    background-size: 22px 22px;
    opacity: 0.26;
}

.hub {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 172px;
    height: 172px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--blue), var(--cyan));
    display: grid;
    place-items: center;
    text-align: center;
    box-shadow: 0 0 0 18px rgba(34, 211, 238, 0.07), 0 0 60px rgba(34, 211, 238, 0.24);
    z-index: 2;
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 18px;
    line-height: 1.25;
    color: #fff;
    cursor: default;
    animation: hubGlow 3s ease-in-out infinite;
    transition: transform 0.4s var(--ease-spring);
}

.hub:hover {
    transform: translate(-50%, -50%) scale(1.08);
}

.node {
    position: absolute;
    z-index: 2;
    min-width: 132px;
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--slate-900);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
    font-size: 13px;
    font-weight: 800;
    border: 1px solid rgba(255, 255, 255, 0.28);
    cursor: default;
    transition: transform 0.3s var(--ease-spring), box-shadow 0.3s, opacity 0.5s var(--ease-out-expo);
}

.node-name {
    display: block;
    font-size: 13px;
    font-weight: 800;
    color: #111827;
    line-height: 1.2;
}

.node small {
    display: block;
    color: #64748b;
    font-size: 11px;
    font-weight: 600;
    margin-top: 3px;
}

.node-1 {
    left: 8%;
    top: 12%;
}

.node-2 {
    right: 8%;
    top: 12%;
}

.node-3 {
    left: 5%;
    top: 44%;
}

.node-4 {
    right: 5%;
    top: 44%;
}

.node-5 {
    left: 13%;
    bottom: 11%;
}

.node-6 {
    right: 13%;
    bottom: 11%;
}

.node-7 {
    left: 50%;
    top: 5%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #FFFFFF, #E0F7FE);
}

.node:hover {
    transform: translateY(-5px) scale(1.04);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.28), 0 0 0 2px rgba(0, 212, 255, 0.4);
    z-index: 3;
}

.node-7:hover {
    transform: translateX(-50%) translateY(-5px) scale(1.04);
}

.map-initializing .hub,
.map-initializing .node {
    opacity: 0;
}

.map-line {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 280px;
    height: 1px;
    background: linear-gradient(90deg, rgba(34, 211, 238, 0.0), rgba(34, 211, 238, 0.45), rgba(34, 211, 238, 0.0));
    transform-origin: left center;
    z-index: 1;
    transition: filter 0.25s;
}

.map-line::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--cyan);
    box-shadow: 0 0 6px 2px rgba(0, 212, 255, 0.7);
    animation: linePulse 2.5s linear infinite;
    opacity: 0;
}

.map-line.line-active {
    background: linear-gradient(90deg, rgba(34, 211, 238, 0), rgba(34, 211, 238, 0.85), rgba(34, 211, 238, 0));
    filter: brightness(1.6);
}

.line-1 {
    transform: rotate(222deg);
}

.line-1::after { animation-delay: 0s; }

.line-2 {
    transform: rotate(316deg);
}

.line-2::after { animation-delay: 0.35s; }

.line-3 {
    transform: rotate(178deg);
}

.line-3::after { animation-delay: 0.7s; }

.line-4 {
    transform: rotate(2deg);
}

.line-4::after { animation-delay: 1.05s; }

.line-5 {
    transform: rotate(130deg);
}

.line-5::after { animation-delay: 1.4s; }

.line-6 {
    transform: rotate(52deg);
}

.line-6::after { animation-delay: 1.75s; }

.line-7 {
    transform: rotate(270deg);
    width: 220px;
}

.line-7::after { animation-delay: 2.1s; }

.integration-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap
}

.integration-logo {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 14px 28px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.6);
    transition: transform 0.35s var(--ease-spring), border-color 0.3s, background 0.3s, color 0.3s, box-shadow 0.3s
}

.integration-logo:hover {
    transform: translateY(-5px) scale(1.06);
    border-color: rgba(0, 212, 255, 0.3);
    background: rgba(0, 212, 255, 0.08);
    color: #fff;
    box-shadow: 0 8px 30px rgba(0, 212, 255, 0.1)
}