/* ============================================
   EXPRESS AUTOMATION SOLUTIONS
   Brand Colors: Black, White, Orange
   ============================================ */

/* === CSS VARIABLES === */
:root {
    /* Primary Brand Colors */
    --primary-orange: #FF6B00;
    --primary-orange-light: #FF8534;
    --primary-orange-dark: #E55A00;
    --primary-orange-glow: rgba(255, 107, 0, 0.4);

    /* Neutral Colors */
    --black: #000000;
    --black-soft: #0a0a0a;
    --black-light: #1a1a1a;
    --dark-gray: #2a2a2a;
    --gray: #4a4a4a;
    --gray-light: #6a6a6a;
    --gray-lighter: #9a9a9a;
    --white: #ffffff;
    --white-soft: #f5f5f5;
    --white-dark: #e5e5e5;

    /* Gradients */
    --gradient-orange: linear-gradient(135deg, #FF6B00 0%, #FF8534 50%, #FFa050 100%);
    --gradient-dark: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #2a2a2a 100%);
    --gradient-hero: linear-gradient(135deg, #000000 0%, #1a1a1a 50%, #0a0a0a 100%);
    --gradient-orange-dark: linear-gradient(135deg, #FF6B00 0%, #E55A00 100%);
    --gradient-shine: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);

    /* Shadows */
    --shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 20px rgba(0, 0, 0, 0.15);
    --shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.2);
    --shadow-orange: 0 4px 30px rgba(255, 107, 0, 0.3);
    --shadow-orange-lg: 0 8px 50px rgba(255, 107, 0, 0.4);
    --shadow-glow: 0 0 30px rgba(255, 107, 0, 0.5);

    /* Transitions */
    --transition-fast: all 0.2s ease;
    --transition-smooth: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-bounce: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* === RESET & BASE === */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Poppins', Arial, sans-serif;
    line-height: 1.6;
    color: var(--black);
    background: var(--white);
    overflow-x: hidden;
}

/* === FLOATING ANCHOR NAVIGATION === */
.floating-nav {
    position: fixed;
    right: 80px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.floating-nav.hidden {
    opacity: 0;
    visibility: hidden;
}

.floating-nav-track {
    width: 3px;
    height: 200px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    position: relative;
    overflow: hidden;
}

.floating-nav-progress {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background: var(--gradient-orange);
    border-radius: 3px;
    transition: height 0.3s ease;
    box-shadow: 0 0 10px var(--primary-orange-glow);
}

.floating-nav-items {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.floating-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    background: rgba(20, 20, 20, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
    backdrop-filter: blur(10px);
}

.floating-nav-item:hover {
    background: rgba(255, 107, 0, 0.15);
    border-color: rgba(255, 107, 0, 0.4);
    transform: translateX(-5px);
}

.floating-nav-item.active {
    background: rgba(255, 107, 0, 0.25);
    border-color: var(--primary-orange);
    box-shadow: 0 0 15px rgba(255, 107, 0, 0.3);
}

.floating-nav-item .nav-dot {
    width: 12px;
    height: 12px;
    background: rgba(255, 255, 255, 0.2);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.floating-nav-item:hover .nav-dot {
    background: rgba(255, 107, 0, 0.5);
    border-color: var(--primary-orange);
}

.floating-nav-item.active .nav-dot {
    background: var(--primary-orange);
    border-color: var(--primary-orange);
    box-shadow: 0 0 12px var(--primary-orange-glow), 0 0 20px rgba(255, 107, 0, 0.4);
}

.floating-nav-item .nav-label {
    color: rgba(255, 255, 255, 0.6);
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
    transition: all 0.3s ease;
}

.floating-nav-item:hover .nav-label {
    color: #fff;
}

.floating-nav-item.active .nav-label {
    color: var(--primary-orange);
    font-weight: 700;
    text-shadow: 0 0 10px rgba(255, 107, 0, 0.5);
}

/* Modal Floating Nav - Moved to body by JS for true fixed positioning */
.modal-floating-nav {
    position: fixed;
    right: 80px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100001;
    opacity: 1;
    visibility: visible;
    /* display controlled by JavaScript - starts hidden */
    display: none;
}

.modal-floating-nav .floating-nav-items {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Hide main floating nav when modal is open */
body:has(.page-modal-overlay.active) #floatingNav {
    display: none !important;
}

/* Hide toggle button on desktop (before media queries so mobile can override) */
.floating-nav-toggle {
    display: none;
}

/* Floating Nav Responsive */
@media (max-width: 1200px) {
    .floating-nav {
        right: 50px;
    }
    .modal-floating-nav {
        right: 50px;
    }
}

@media (max-width: 768px) {
    .floating-nav {
        right: 12px;
        bottom: 90px;
        top: auto;
        transform: none;
        gap: 0;
        flex-direction: column;
        align-items: flex-end;
    }

    .floating-nav-track {
        display: none;
    }

    /* Collapsible toggle button */
    .floating-nav-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50px;
        height: 50px;
        background: linear-gradient(135deg, var(--primary-orange), #ff8533);
        border: none;
        border-radius: 50%;
        cursor: pointer;
        box-shadow: 0 4px 20px rgba(255, 107, 0, 0.4);
        transition: all 0.3s ease;
        z-index: 10;
    }

    .floating-nav-toggle:active {
        transform: scale(0.95);
    }

    .floating-nav-toggle svg {
        width: 24px;
        height: 24px;
        stroke: white;
        stroke-width: 2;
        transition: transform 0.3s ease;
    }

    .floating-nav.expanded .floating-nav-toggle svg {
        transform: rotate(45deg);
    }

    /* Hidden nav items by default on mobile */
    .floating-nav-items {
        position: absolute;
        bottom: 60px;
        right: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(20px) scale(0.9);
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        pointer-events: none;
    }

    .floating-nav.expanded .floating-nav-items {
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1);
        pointer-events: auto;
    }

    .floating-nav-item {
        padding: 10px 16px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        background: rgba(20, 20, 20, 0.95);
        border: 1px solid rgba(255, 107, 0, 0.3);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
        transform: translateX(10px);
        opacity: 0;
        transition: all 0.3s ease;
    }

    .floating-nav.expanded .floating-nav-item {
        transform: translateX(0);
        opacity: 1;
    }

    /* Staggered animation for items */
    .floating-nav.expanded .floating-nav-item:nth-child(1) { transition-delay: 0.05s; }
    .floating-nav.expanded .floating-nav-item:nth-child(2) { transition-delay: 0.1s; }
    .floating-nav.expanded .floating-nav-item:nth-child(3) { transition-delay: 0.15s; }
    .floating-nav.expanded .floating-nav-item:nth-child(4) { transition-delay: 0.2s; }
    .floating-nav.expanded .floating-nav-item:nth-child(5) { transition-delay: 0.25s; }
    .floating-nav.expanded .floating-nav-item:nth-child(6) { transition-delay: 0.3s; }
    .floating-nav.expanded .floating-nav-item:nth-child(7) { transition-delay: 0.35s; }
    .floating-nav.expanded .floating-nav-item:nth-child(8) { transition-delay: 0.4s; }
    .floating-nav.expanded .floating-nav-item:nth-child(9) { transition-delay: 0.45s; }

    .floating-nav-item .nav-dot {
        width: 8px;
        height: 8px;
    }

    .floating-nav-item .nav-label {
        font-size: 12px;
        white-space: nowrap;
    }

    .floating-nav-item.active {
        background: rgba(255, 107, 0, 0.3);
        border-color: var(--primary-orange);
    }
}

/* === GLOBAL POINTER EVENTS FIX === */
/* Ensure all decorative pseudo-elements don't block interactions */
*::before,
*::after {
    pointer-events: none;
}

/* Ensure interactive elements can receive pointer events */
a, button, input, select, textarea,
[role="button"], [onclick], [tabindex],
.btn, .nav-link, .service-showcase-card, .service-island, .hex-card,
.pricing-card, .contact-card, .app-card,
.testimonial-card, .stat-card, .bento-card,
.trust-testimonial-card, .trust-testimonial-featured,
.trust-logo-item, .zoho-featured-app, .zoho-app-card,
.zoho-more-apps, .zoho-less-apps,
.timeline-card, .feature-card, .cert-card,
.value-card, .faq-item, .action-card,
.compact-stat, .app-item, .app-icon,
.partner-tag-btn, .social-link, .modal-close,
.page-modal-close, .page-modal-home, .nav-toggle, .cube-click-zone,
.floating-nav, .floating-nav-item, .modal-floating-nav {
    pointer-events: auto !important;
}

/* All background effect containers must not intercept clicks */
.floating-icons,
.services-bg-effects,
.services-gradient-orb,
.services-grid-lines,
.services-floating-dots,
.hero-particles,
.loader-particles,
.loader-grid,
.bento-glow,
.card-glow,
.card-shine,
.icon-bg-pulse,
.showcase-particles,
.showcase-streams,
.modal-decoration,
.divider-hero-portal,
.section-divider,
.wave-divider,
.loading-screen,
.trust-bg-pattern,
.trust-bg-glow,
.featured-glow,
.featured-app-glow,
.zoho-bg-grid,
.service-modal-overlay:not(.active),
.page-modal-overlay:not(.active) {
    pointer-events: none !important;
}

/* Ensure sections and containers can receive pointer events */
section,
.section,
.container,
.hero,
.hero-content,
.services-showcase-grid {
    pointer-events: auto;
}

/* ============================================
   LOADING SCREEN - LOGO ASSEMBLY EFFECT
   ============================================ */
.loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #000000 0%, #0a0a0a 50%, #111111 100%);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.8s ease, visibility 0.8s ease;
}

.loading-screen.loaded {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Background grid */
.loader-grid {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        linear-gradient(rgba(255, 107, 0, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 107, 0, 0.03) 1px, transparent 1px);
    background-size: 50px 50px;
    animation: gridPulse 4s ease-in-out infinite;
}

@keyframes gridPulse {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 0.6; }
}

/* Background particles */
.loader-particles {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.loader-particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: var(--primary-orange);
    border-radius: 50%;
    opacity: 0;
    animation: floatParticle 3s ease-in-out infinite;
}

.loader-particle:nth-child(1) { left: 10%; top: 20%; animation-delay: 0s; }
.loader-particle:nth-child(2) { left: 20%; top: 80%; animation-delay: 0.3s; }
.loader-particle:nth-child(3) { left: 30%; top: 40%; animation-delay: 0.6s; }
.loader-particle:nth-child(4) { left: 40%; top: 60%; animation-delay: 0.9s; }
.loader-particle:nth-child(5) { left: 50%; top: 30%; animation-delay: 1.2s; }
.loader-particle:nth-child(6) { left: 60%; top: 70%; animation-delay: 1.5s; }
.loader-particle:nth-child(7) { left: 70%; top: 25%; animation-delay: 1.8s; }
.loader-particle:nth-child(8) { left: 80%; top: 85%; animation-delay: 2.1s; }
.loader-particle:nth-child(9) { left: 85%; top: 45%; animation-delay: 2.4s; }
.loader-particle:nth-child(10) { left: 15%; top: 55%; animation-delay: 2.7s; }
.loader-particle:nth-child(11) { left: 90%; top: 15%; animation-delay: 0.15s; }
.loader-particle:nth-child(12) { left: 5%; top: 90%; animation-delay: 0.45s; }

@keyframes floatParticle {
    0% {
        opacity: 0;
        transform: translateY(20px) scale(0);
    }
    50% {
        opacity: 0.8;
        transform: translateY(-30px) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateY(-60px) scale(0);
    }
}

/* Main container */
.loader-container {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    z-index: 2;
}

/* Orbiting particles around logo */
.loader-orbit {
    position: absolute;
    width: 280px;
    height: 280px;
    animation: orbitSpin 8s linear infinite;
}

.orbit-particle {
    position: absolute;
    width: 8px;
    height: 8px;
    background: var(--primary-orange);
    border-radius: 50%;
    box-shadow: 0 0 15px var(--primary-orange), 0 0 30px var(--primary-orange);
}

.orbit-particle:nth-child(1) { top: 0; left: 50%; transform: translateX(-50%); }
.orbit-particle:nth-child(2) { top: 25%; right: 0; }
.orbit-particle:nth-child(3) { bottom: 25%; right: 0; }
.orbit-particle:nth-child(4) { bottom: 0; left: 50%; transform: translateX(-50%); }
.orbit-particle:nth-child(5) { bottom: 25%; left: 0; }
.orbit-particle:nth-child(6) { top: 25%; left: 0; }

@keyframes orbitSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Data streams converging to center */
.loader-streams {
    position: absolute;
    width: 400px;
    height: 400px;
    pointer-events: none;
}

.data-stream {
    position: absolute;
    width: 2px;
    height: 60px;
    background: linear-gradient(to bottom, transparent, var(--primary-orange), transparent);
    opacity: 0;
    animation: streamConverge 2s ease-in-out infinite;
}

.data-stream:nth-child(1) { top: -30px; left: 50%; transform-origin: bottom center; animation-delay: 0s; }
.data-stream:nth-child(2) { top: 15%; right: -30px; transform: rotate(45deg); transform-origin: bottom center; animation-delay: 0.25s; }
.data-stream:nth-child(3) { top: 50%; right: -30px; transform: rotate(90deg); transform-origin: bottom center; animation-delay: 0.5s; }
.data-stream:nth-child(4) { bottom: 15%; right: -30px; transform: rotate(135deg); transform-origin: bottom center; animation-delay: 0.75s; }
.data-stream:nth-child(5) { bottom: -30px; left: 50%; transform: rotate(180deg); transform-origin: bottom center; animation-delay: 1s; }
.data-stream:nth-child(6) { bottom: 15%; left: -30px; transform: rotate(225deg); transform-origin: bottom center; animation-delay: 1.25s; }
.data-stream:nth-child(7) { top: 50%; left: -30px; transform: rotate(270deg); transform-origin: bottom center; animation-delay: 1.5s; }
.data-stream:nth-child(8) { top: 15%; left: -30px; transform: rotate(315deg); transform-origin: bottom center; animation-delay: 1.75s; }

@keyframes streamConverge {
    0% {
        opacity: 0;
        height: 60px;
    }
    50% {
        opacity: 1;
        height: 100px;
    }
    100% {
        opacity: 0;
        height: 60px;
    }
}

/* Logo wrapper */
.loader-logo-wrap {
    position: relative;
    width: 220px;
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Glow behind logo */
.loader-glow {
    position: absolute;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.4) 0%, transparent 70%);
    border-radius: 50%;
    animation: glowPulse 2s ease-in-out infinite;
}

@keyframes glowPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0.6;
    }
    50% {
        transform: scale(1.3);
        opacity: 1;
    }
}

/* Animated rings */
.loader-ring {
    position: absolute;
    width: 200px;
    height: 200px;
    border: 2px solid transparent;
    border-top-color: var(--primary-orange);
    border-right-color: var(--primary-orange);
    border-radius: 50%;
    animation: ringSpin 1.5s linear infinite;
}

.loader-ring.delay-1 {
    width: 230px;
    height: 230px;
    border-width: 1px;
    opacity: 0.6;
    animation: ringSpin 2s linear infinite reverse;
}

.loader-ring.delay-2 {
    width: 260px;
    height: 260px;
    border-width: 1px;
    opacity: 0.3;
    animation: ringSpin 2.5s linear infinite;
}

@keyframes ringSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* The logo itself */
.loader-logo {
    position: relative;
    max-width: 160px;
    height: auto;
    opacity: 0;
    filter: brightness(0) invert(1);
    animation: logoAssemble 2.5s ease-out forwards;
    animation-delay: 0.5s;
}

@keyframes logoAssemble {
    0% {
        opacity: 0;
        transform: scale(0.5) rotate(-10deg);
        filter: brightness(0) invert(1) blur(10px);
    }
    30% {
        opacity: 0.5;
        transform: scale(0.8) rotate(5deg);
        filter: brightness(0) invert(1) blur(5px);
    }
    60% {
        opacity: 0.8;
        transform: scale(1.1) rotate(-2deg);
        filter: brightness(0) invert(1) blur(2px);
    }
    80% {
        opacity: 1;
        transform: scale(0.95) rotate(1deg);
        filter: brightness(0) invert(1) blur(0);
    }
    100% {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        filter: brightness(0) invert(1) blur(0);
    }
}

/* Scan line effect */
.loader-scan-line {
    position: absolute;
    width: 180px;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--primary-orange), rgba(255, 200, 150, 1), var(--primary-orange), transparent);
    box-shadow: 0 0 20px var(--primary-orange), 0 0 40px var(--primary-orange);
    animation: scanLine 2s ease-in-out infinite;
}

@keyframes scanLine {
    0%, 100% {
        top: 20%;
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    80% {
        opacity: 1;
    }
    50% {
        top: 80%;
    }
}

/* Loading text */
.loader-text {
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.7);
    letter-spacing: 3px;
    text-transform: uppercase;
}

.loader-word {
    animation: textGlow 2s ease-in-out infinite;
}

@keyframes textGlow {
    0%, 100% { color: rgba(255, 255, 255, 0.7); }
    50% { color: var(--primary-orange); text-shadow: 0 0 10px var(--primary-orange); }
}

.loader-dots span {
    animation: dotBounce 1.4s ease-in-out infinite;
    display: inline-block;
}

.loader-dots span:nth-child(1) { animation-delay: 0s; }
.loader-dots span:nth-child(2) { animation-delay: 0.2s; }
.loader-dots span:nth-child(3) { animation-delay: 0.4s; }

@keyframes dotBounce {
    0%, 80%, 100% {
        transform: translateY(0);
        opacity: 0.5;
    }
    40% {
        transform: translateY(-5px);
        opacity: 1;
        color: var(--primary-orange);
    }
}

/* Progress bar */
.loader-progress {
    position: relative;
    width: 200px;
    height: 3px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    overflow: hidden;
}

.loader-progress-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--primary-orange), #ff9500);
    border-radius: 3px;
    transition: width 0.1s ease-out;
}

.loader-progress-glow {
    position: absolute;
    top: -2px;
    left: 0;
    width: 30px;
    height: 7px;
    background: var(--primary-orange);
    border-radius: 3px;
    filter: blur(8px);
    opacity: 0.8;
    animation: progressGlow 1.5s ease-in-out infinite;
}

@keyframes progressGlow {
    0% { left: -30px; }
    100% { left: 100%; }
}

/* Loaded state - extra effects */
.loading-screen.complete .loader-logo {
    animation: logoComplete 0.6s ease-out forwards;
}

@keyframes logoComplete {
    0% { transform: scale(1); }
    50% { transform: scale(1.15); filter: brightness(1.5) drop-shadow(0 0 30px var(--primary-orange)); }
    100% { transform: scale(1.1); }
}

.loading-screen.complete .loader-ring,
.loading-screen.complete .loader-orbit {
    animation: ringExpand 0.6s ease-out forwards;
}

@keyframes ringExpand {
    to {
        transform: scale(1.5);
        opacity: 0;
    }
}

/* ============================================
   REUSABLE ANIMATED LOGO COMPONENT
   ============================================ */
.animated-logo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.animated-logo .logo-glow {
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.3) 0%, transparent 70%);
    border-radius: 50%;
    animation: logoGlowPulse 3s ease-in-out infinite;
    pointer-events: none;
}

@keyframes logoGlowPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0.5;
    }
    50% {
        transform: scale(1.2);
        opacity: 0.8;
    }
}

.animated-logo .logo-ring {
    position: absolute;
    width: 120%;
    height: 120%;
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-top-color: var(--primary-orange);
    border-right-color: var(--primary-orange);
    border-radius: 50%;
    animation: logoRingSpin 4s linear infinite;
    pointer-events: none;
}

.animated-logo .logo-ring.ring-2 {
    width: 140%;
    height: 140%;
    border-width: 1px;
    opacity: 0.4;
    animation: logoRingSpin 6s linear infinite reverse;
}

@keyframes logoRingSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.animated-logo .logo-img {
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
}

.animated-logo .logo-shine {
    display: none; /* Disabled glossy animation */
}

@keyframes logoShine {
    0%, 100% {
        left: -100%;
        opacity: 0;
    }
    50% {
        left: 150%;
        opacity: 1;
    }
}

/* Hover effects */
.animated-logo:hover .logo-glow {
    animation: logoGlowHover 0.5s ease forwards;
}

@keyframes logoGlowHover {
    to {
        transform: scale(1.4);
        opacity: 1;
    }
}

.animated-logo:hover .logo-ring {
    border-color: var(--primary-orange);
    animation-duration: 2s;
}

.animated-logo:hover .logo-img {
    transform: scale(1.05);
    filter: drop-shadow(0 0 10px rgba(255, 107, 0, 0.5));
}

/* === NAVBAR ANIMATED LOGO === */
.nav-animated-logo {
    width: auto;
    height: 40px;
    overflow: visible;
    justify-content: flex-start;
}

/* Hide the ring decorations for navbar - too distracting */
.nav-animated-logo .logo-ring,
.nav-animated-logo .logo-ring.ring-2 {
    display: none;
}

.nav-animated-logo .logo-img {
    height: 36px;
    width: auto;
    max-width: 150px;
    object-fit: contain;
    position: relative;
    z-index: 10;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.nav-animated-logo .logo-glow {
    width: 40px;
    height: 40px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.3;
    z-index: 1;
}

.nav-animated-logo .logo-shine {
    z-index: 11;
    height: 100%;
    width: 30%;
}

/* Hover effect on navbar logo */
.nav-animated-logo:hover .logo-img {
    filter: drop-shadow(0 0 8px rgba(255, 107, 0, 0.6));
}

.nav-animated-logo:hover .logo-glow {
    opacity: 0.6;
    transform: translateY(-50%) scale(1.3);
}

/* Scrolled navbar - subtler glow */
.navbar.scrolled .nav-animated-logo .logo-glow {
    opacity: 0.15;
}

/* === FOOTER ANIMATED LOGO === */
.footer-animated-logo {
    width: 200px;
    height: 60px;
    margin-bottom: 20px;
    justify-content: center;
}

/* Hide the ring decorations for footer - cleaner look */
.footer-animated-logo .logo-ring,
.footer-animated-logo .logo-ring.ring-2 {
    display: none;
}

.footer-animated-logo .logo-img {
    max-height: 50px;
    width: auto;
    position: relative;
    z-index: 10;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    filter: brightness(0) invert(1);
}

.footer-animated-logo .logo-glow {
    width: 80px;
    height: 80px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.25;
    z-index: 1;
}

.footer-animated-logo .logo-shine {
    z-index: 11;
}

.footer-animated-logo:hover .logo-img {
    filter: brightness(0) invert(1) drop-shadow(0 0 15px rgba(255, 107, 0, 0.6));
}

.footer-animated-logo:hover .logo-glow {
    opacity: 0.5;
    transform: translate(-50%, -50%) scale(1.3);
}

/* === KEYFRAME ANIMATIONS === */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(50px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-50px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInLeft {
    from { opacity: 0; transform: translateX(-50px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes fadeInRight {
    from { opacity: 0; transform: translateX(50px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes scaleIn {
    from { opacity: 0; transform: scale(0.8); }
    to { opacity: 1; transform: scale(1); }
}

@keyframes slideInUp {
    from { transform: translateY(100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(2deg); }
}

@keyframes floatReverse {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(20px) rotate(-2deg); }
}

@keyframes pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 var(--primary-orange-glow); }
    50% { transform: scale(1.02); box-shadow: 0 0 0 20px transparent; }
}

@keyframes pulseGlow {
    0%, 100% { box-shadow: 0 0 20px var(--primary-orange-glow); }
    50% { box-shadow: 0 0 40px var(--primary-orange-glow), 0 0 60px var(--primary-orange-glow); }
}

@keyframes glow {
    0%, 100% { text-shadow: 0 0 10px var(--primary-orange-glow), 0 0 20px var(--primary-orange-glow); }
    50% { text-shadow: 0 0 20px var(--primary-orange-glow), 0 0 40px var(--primary-orange-glow), 0 0 60px var(--primary-orange-glow); }
}

@keyframes shimmer {
    0% { background-position: -200% center; }
    100% { background-position: 200% center; }
}

@keyframes rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-20px); }
    60% { transform: translateY(-10px); }
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px) rotate(-1deg); }
    75% { transform: translateX(5px) rotate(1deg); }
}

@keyframes morphBg {
    0%, 100% { border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; }
    50% { border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%; }
}

@keyframes gradientFlow {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes typewriter {
    from { width: 0; }
    to { width: 100%; }
}

@keyframes blink {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0; }
}

@keyframes ripple {
    to { transform: scale(4); opacity: 0; }
}

@keyframes slideUp {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes heartbeat {
    0%, 100% { transform: scale(1); }
    14% { transform: scale(1.1); }
    28% { transform: scale(1); }
    42% { transform: scale(1.1); }
    70% { transform: scale(1); }
}

/* === FLOATING ICONS ANIMATIONS === */
@keyframes floatIcon1 {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    25% { transform: translate(15px, -20px) rotate(10deg); }
    50% { transform: translate(-10px, -35px) rotate(-5deg); }
    75% { transform: translate(-20px, -15px) rotate(5deg); }
}

@keyframes floatIcon2 {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    25% { transform: translate(-20px, -15px) rotate(-10deg); }
    50% { transform: translate(15px, -30px) rotate(8deg); }
    75% { transform: translate(10px, -10px) rotate(-3deg); }
}

@keyframes floatIcon3 {
    0%, 100% { transform: translate(0, 0) rotate(0deg) scale(1); }
    33% { transform: translate(20px, -25px) rotate(15deg) scale(1.1); }
    66% { transform: translate(-15px, -20px) rotate(-10deg) scale(0.9); }
}

@keyframes floatIcon4 {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-40px) rotate(180deg); }
}

@keyframes floatIcon5 {
    0% { transform: translate(0, 0) rotate(0deg); opacity: 0.15; }
    25% { transform: translate(25px, -15px) rotate(90deg); opacity: 0.25; }
    50% { transform: translate(0, -40px) rotate(180deg); opacity: 0.15; }
    75% { transform: translate(-25px, -20px) rotate(270deg); opacity: 0.25; }
    100% { transform: translate(0, 0) rotate(360deg); opacity: 0.15; }
}

@keyframes floatIconSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes floatIconPulse {
    0%, 100% { transform: scale(1); opacity: 0.15; }
    50% { transform: scale(1.3); opacity: 0.35; }
}

/* === FLOATING ICONS CONTAINER === */
.floating-icons {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.floating-icon {
    position: absolute;
    width: 40px;
    height: 40px;
    opacity: 0.15;
    pointer-events: none;
    will-change: transform, opacity;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.floating-icon.anim-1 { animation: floatIcon1 8s ease-in-out infinite; }
.floating-icon.anim-2 { animation: floatIcon2 10s ease-in-out infinite; }
.floating-icon.anim-3 { animation: floatIcon3 12s ease-in-out infinite; }
.floating-icon.anim-4 { animation: floatIcon4 15s ease-in-out infinite; }
.floating-icon.anim-5 { animation: floatIcon5 20s linear infinite; }
.floating-icon.anim-spin { animation: floatIconSpin 25s linear infinite; }
.floating-icon.anim-pulse { animation: floatIconPulse 4s ease-in-out infinite; }

.floating-icon.size-sm { width: 30px; height: 30px; opacity: 0.1; }
.floating-icon.size-md { width: 45px; height: 45px; opacity: 0.15; }
.floating-icon.size-lg { width: 60px; height: 60px; opacity: 0.18; }
.floating-icon.size-xl { width: 80px; height: 80px; opacity: 0.12; }

/* Dark sections - white icons */
.hero .floating-icon,
.section-dark .floating-icon,
.page-header .floating-icon,
.cta .floating-icon {
    filter: brightness(0) invert(1);
    opacity: 0.08;
}

/* Light sections - orange tinted icons */
.section-light .floating-icon,
.stats-section .floating-icon {
    filter: sepia(100%) saturate(300%) hue-rotate(-10deg);
    opacity: 0.12;
}

/* === WOW.js ANIMATION CLASSES === */
.wow { visibility: hidden; }
.animated { animation-duration: 0.8s; animation-fill-mode: both; }
.animate-fadeInUp { animation-name: fadeInUp; }
.animate-fadeInDown { animation-name: fadeInDown; }
.animate-fadeInLeft { animation-name: fadeInLeft; }
.animate-fadeInRight { animation-name: fadeInRight; }
.animate-scaleIn { animation-name: scaleIn; }
.animate-slideInUp { animation-name: slideInUp; }
.animate-zoomIn { animation-name: zoomIn; }

@keyframes zoomIn {
    from { opacity: 0; transform: scale(0.5); }
    to { opacity: 1; transform: scale(1); }
}
.delay-1 { animation-delay: 0.1s; }
.delay-2 { animation-delay: 0.2s; }
.delay-3 { animation-delay: 0.3s; }
.delay-4 { animation-delay: 0.4s; }
.delay-5 { animation-delay: 0.5s; }
.delay-6 { animation-delay: 0.6s; }

/* === NAVIGATION === */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 10px 0;
    z-index: 1000;
    box-shadow: 0 2px 30px rgba(0, 0, 0, 0.5);
    transition: var(--transition-smooth);
}

.navbar.scrolled {
    padding: 8px 0;
    background: rgba(0, 0, 0, 0.98);
}

.nav-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.nav-logo img {
    height: 45px;
    transition: var(--transition-smooth);
}

.nav-logo:hover img {
    transform: scale(1.05);
    filter: drop-shadow(0 0 10px var(--primary-orange-glow));
}

.nav-logo {
    display: flex;
    align-items: center;
    gap: 4px;
    text-decoration: none;
    flex-shrink: 0;
}

.nav-company-name {
    font-size: 16px;
    font-weight: 700;
    color: var(--white);
    letter-spacing: 0.3px;
    white-space: nowrap;
    background: linear-gradient(135deg, var(--white) 0%, rgba(255, 255, 255, 0.9) 50%, var(--primary-orange) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.nav-menu {
    display: flex;
    gap: 4px;
    list-style: none;
    flex: 1;
    justify-content: center;
}

.nav-link {
    padding: 10px 16px;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    border-radius: 8px;
    cursor: pointer;
    transition: var(--transition-smooth);
    font-size: 13px;
    font-weight: 500;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
}

.nav-link::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 3px;
    background: var(--gradient-orange);
    transition: var(--transition-smooth);
    transform: translateX(-50%);
    border-radius: 3px;
}

.nav-link:hover,
.nav-link.active {
    color: var(--white);
    background: rgba(255, 107, 0, 0.15);
}

.nav-link:hover::before,
.nav-link.active::before {
    width: 60%;
}

/* Portfolio Nav Link with Badge */
.nav-menu li {
    display: flex;
    align-items: center;
}

.nav-link-portfolio {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    position: relative;
}

.nav-demo-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 6px;
    background: linear-gradient(135deg, #FF6B00, #ff8c00);
    color: white;
    font-size: 0.55rem;
    font-weight: 700;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    box-shadow: 0 1px 4px rgba(255, 107, 0, 0.4);
    animation: navBadgePulse 2s ease-in-out infinite;
    white-space: nowrap;
    line-height: 1;
    vertical-align: middle;
}

@keyframes navBadgePulse {
    0%, 100% {
        box-shadow: 0 1px 4px rgba(255, 107, 0, 0.4);
    }
    50% {
        box-shadow: 0 2px 8px rgba(255, 107, 0, 0.6);
    }
}

.nav-toggle {
    display: none;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
    padding: 5px;
    z-index: 1001;
}

.nav-toggle span {
    width: 28px;
    height: 3px;
    background: var(--white);
    transition: var(--transition-smooth);
    border-radius: 3px;
}

.nav-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
    background: var(--primary-orange);
}

.nav-toggle.active span:nth-child(2) {
    opacity: 0;
}

.nav-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
    background: var(--primary-orange);
}

/* Navbar Contact Section */
.nav-contact-section {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-left: 15px;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.nav-contact-info {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-right: 12px;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.nav-contact-item {
    display: flex;
    align-items: center;
    gap: 5px;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 12px;
    padding: 6px 10px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 6px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.nav-contact-item:hover {
    color: var(--primary-orange);
    background: rgba(255, 107, 0, 0.1);
}

.nav-contact-item svg {
    stroke: currentColor;
    flex-shrink: 0;
}

.nav-contact-buttons {
    display: flex;
    gap: 6px;
}

.nav-btn-contact,
.nav-btn-book {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    white-space: nowrap;
}

.nav-btn-contact {
    background: transparent;
    border: 1.5px solid var(--primary-orange);
    color: var(--primary-orange);
}

.nav-btn-contact:hover {
    background: rgba(255, 107, 0, 0.15);
}

.nav-btn-book {
    background: var(--gradient-orange);
    color: #000;
    border: none;
}

.nav-btn-book:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(255, 107, 0, 0.4);
}

.nav-btn-contact svg,
.nav-btn-book svg {
    flex-shrink: 0;
}

/* Modal Navbar Contact Section */
.modal-nav-contact {
    position: absolute;
    left: 80px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Hide phone/email in modal navbars - only show buttons */
.modal-nav-contact .nav-contact-info {
    display: none;
}

.modal-nav-contact .nav-contact-buttons {
    display: flex;
    gap: 8px;
}

.modal-nav-contact .nav-btn-contact,
.modal-nav-contact .nav-btn-book {
    padding: 8px 14px;
    font-size: 12px;
    border-radius: 6px;
}

/* === PAGES === */
.page {
    display: none;
    padding-top: 0;
}

.page.active {
    display: block;
}

/* === HERO SECTION === */
.hero {
    background: var(--gradient-hero);
    padding: 140px 20px 80px;
    text-align: center;
    min-height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    overflow: visible;
    z-index: 2;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(circle at 20% 80%, rgba(255, 107, 0, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255, 107, 0, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(255, 107, 0, 0.05) 0%, transparent 70%);
    pointer-events: none;
}

/* Animated background shapes */
.hero::after {
    content: '';
    position: absolute;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.1) 0%, transparent 70%);
    border-radius: 50%;
    top: -100px;
    right: -100px;
    animation: morphBg 15s ease-in-out infinite, float 8s ease-in-out infinite;
    pointer-events: none;
}

.hero-content {
    position: relative;
    max-width: 950px;
    z-index: 1;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 107, 0, 0.15);
    border: 1px solid rgba(255, 107, 0, 0.3);
    padding: 12px 28px;
    border-radius: 50px;
    color: var(--primary-orange);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 30px;
    backdrop-filter: blur(10px);
    animation: pulse 3s ease-in-out infinite;
}

.hero-badge span {
    animation: heartbeat 2s ease-in-out infinite;
}

.hero h1 {
    font-size: clamp(38px, 5.5vw, 65px);
    color: var(--white);
    margin-bottom: 25px;
    line-height: 1.2;
    font-weight: 700;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
    text-align: center;
}

.hero h1 span {
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: glow 3s ease-in-out infinite;
    display: inline-block;
}

/* Typewriter Effect */
.typewriter-container {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    position: relative;
    vertical-align: middle;
    white-space: nowrap;
}

.typewriter-icon {
    width: 60px;
    height: 60px;
    object-fit: contain;
    transition: opacity 0.3s ease, transform 0.3s ease;
    filter: drop-shadow(0 4px 20px rgba(255, 107, 0, 0.5));
    vertical-align: middle;
}

.typewriter-text {
    font-family: 'Chakra Petch', sans-serif;
    font-weight: 700;
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: 1px;
}

.typewriter-cursor {
    display: inline-block;
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: blink 0.7s infinite;
    margin-left: 2px;
    font-weight: 400;
}

@keyframes blink {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0; }
}

.hero-typewriter-desc {
    min-height: 50px;
}

.typewriter-description {
    transition: opacity 0.3s ease;
    display: inline-block;
}

@media (max-width: 768px) {
    .typewriter-icon {
        width: 45px;
        height: 45px;
    }

    .typewriter-container {
        gap: 8px;
    }
}

@media (max-width: 480px) {
    .typewriter-icon {
        width: 35px;
        height: 35px;
    }

    .typewriter-container {
        gap: 6px;
    }
}

.hero-subtitle {
    font-size: 22px;
    color: var(--primary-orange);
    font-weight: 600;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 3px;
}

.hero p {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 40px;
    line-height: 1.8;
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
}

.hero-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 50px;
}

/* === CREATIVE PARTNER BADGE === */
.partner-badge-creative {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-bottom: 30px;
}

.badge-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.4) 0%, transparent 70%);
    border-radius: 50%;
    animation: badgePulse 3s ease-in-out infinite;
    pointer-events: none;
}

.badge-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 140px;
    height: 140px;
    border: 2px solid rgba(255, 107, 0, 0.3);
    border-radius: 50%;
    animation: badgeRotate 15s linear infinite;
}

.badge-ring::before,
.badge-ring::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    background: var(--primary-orange);
    border-radius: 50%;
    box-shadow: 0 0 20px var(--primary-orange);
}

.badge-ring::before {
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
}

.badge-ring::after {
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
}

.badge-inner {
    position: relative;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 30px 15px 20px;
    background: linear-gradient(135deg, #1a1a1a 0%, #0d0d0d 100%);
    border: 2px solid var(--primary-orange);
    border-radius: 60px;
    z-index: 1;
    box-shadow: 0 10px 40px rgba(255, 107, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.badge-inner img {
    width: 45px;
    height: 45px;
    animation: badgeIconFloat 3s ease-in-out infinite;
}

.badge-text {
    display: flex;
    flex-direction: column;
}

.badge-label {
    font-size: 10px;
    color: var(--primary-orange);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 600;
}

.badge-title {
    font-size: 18px;
    color: var(--white);
    font-weight: 700;
    letter-spacing: 0.5px;
}

@keyframes badgePulse {
    0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.1); }
}

@keyframes badgeRotate {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes badgeIconFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-3px) rotate(5deg); }
}

/* === HERO COMPACT STATS ROW === */
.hero-stats-compact {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-top: 40px;
    flex-wrap: wrap;
}

.compact-stat {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 107, 0, 0.25);
    border-radius: 50px;
    padding: 10px 18px 10px 10px;
    transition: all 0.3s ease;
}

.compact-stat:hover {
    background: rgba(255, 107, 0, 0.15);
    border-color: rgba(255, 107, 0, 0.5);
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(255, 107, 0, 0.2);
}

.compact-stat-icon {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.2) 0%, rgba(255, 107, 0, 0.05) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.compact-stat-icon svg {
    width: 20px;
    height: 20px;
    color: var(--primary-orange);
    stroke: var(--primary-orange);
}

.compact-stat-info {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.compact-stat-number {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-orange);
}

.compact-stat-label {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* === BUTTONS === */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 40px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 50px;
    text-decoration: none;
    cursor: pointer;
    transition: var(--transition-smooth);
    border: none;
    position: relative;
    overflow: hidden;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.btn-primary {
    background: var(--gradient-orange);
    color: var(--white);
    box-shadow: var(--shadow-orange);
}

.btn-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: var(--gradient-shine);
    transition: left 0.5s;
}

.btn-primary:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: var(--shadow-orange-lg);
}

.btn-primary:hover::before {
    left: 100%;
}

.btn-outline {
    background: transparent;
    color: var(--white);
    border: 2px solid var(--white);
    backdrop-filter: blur(10px);
}

.btn-outline:hover {
    background: var(--white);
    color: var(--black);
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(255, 255, 255, 0.2);
}

.btn-dark {
    background: var(--black);
    color: var(--white);
    border: 2px solid var(--black);
}

.btn-dark:hover {
    background: var(--primary-orange);
    border-color: var(--primary-orange);
    transform: translateY(-4px);
    box-shadow: var(--shadow-orange);
}

/* === SECTION DIVIDERS - ANIMATED TRANSITIONS === */

/* ========== HERO PORTAL - THE SPECTACULAR ONE ========== */
.divider-hero-portal {
    position: relative;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    height: 180px;
    overflow: visible;
    z-index: 100;
    pointer-events: none;
    margin: 40px 0;
}

/* Main horizon glow line */
.divider-hero-portal::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg,
        rgba(255, 107, 0, 0.15) 0%,
        rgba(255, 107, 0, 0.4) 10%,
        rgba(255, 107, 0, 0.8) 30%,
        rgba(255, 200, 100, 1) 50%,
        rgba(255, 107, 0, 0.8) 70%,
        rgba(255, 107, 0, 0.4) 90%,
        rgba(255, 107, 0, 0.15) 100%);
    box-shadow:
        0 0 30px rgba(255, 107, 0, 0.8),
        0 0 60px rgba(255, 107, 0, 0.6),
        0 0 100px rgba(255, 107, 0, 0.4),
        0 0 150px rgba(255, 107, 0, 0.2);
    animation: heroLineGlow 3s ease-in-out infinite;
}

/* Gradient below the line */
.divider-hero-portal::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 90px;
    background: linear-gradient(to bottom,
        rgba(255, 107, 0, 0.03) 0%,
        rgba(0, 0, 0, 0.5) 50%,
        var(--black) 100%);
}

@keyframes heroLineGlow {
    0%, 100% { opacity: 0.8; filter: brightness(1); }
    50% { opacity: 1; filter: brightness(1.3); }
}

/* Particle container */
.hero-particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* Rising particles */
.hero-particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: var(--primary-orange);
    border-radius: 50%;
    top: 50%;
    animation: particleRise 4s ease-out infinite;
    box-shadow: 0 0 10px var(--primary-orange), 0 0 20px rgba(255, 107, 0, 0.5);
}

.hero-particle:nth-child(1) { left: 10%; animation-delay: 0s; animation-duration: 3.5s; }
.hero-particle:nth-child(2) { left: 20%; animation-delay: 0.5s; animation-duration: 4s; }
.hero-particle:nth-child(3) { left: 30%; animation-delay: 1s; animation-duration: 3.8s; }
.hero-particle:nth-child(4) { left: 40%; animation-delay: 0.3s; animation-duration: 4.2s; }
.hero-particle:nth-child(5) { left: 50%; animation-delay: 0.8s; animation-duration: 3.6s; }
.hero-particle:nth-child(6) { left: 60%; animation-delay: 0.2s; animation-duration: 4.1s; }
.hero-particle:nth-child(7) { left: 70%; animation-delay: 0.6s; animation-duration: 3.9s; }
.hero-particle:nth-child(8) { left: 80%; animation-delay: 1.2s; animation-duration: 3.7s; }
.hero-particle:nth-child(9) { left: 90%; animation-delay: 0.4s; animation-duration: 4.3s; }
.hero-particle:nth-child(10) { left: 15%; animation-delay: 1.5s; animation-duration: 3.4s; }
.hero-particle:nth-child(11) { left: 25%; animation-delay: 0.7s; animation-duration: 4.4s; }
.hero-particle:nth-child(12) { left: 35%; animation-delay: 1.1s; animation-duration: 3.3s; }
.hero-particle:nth-child(13) { left: 45%; animation-delay: 0.9s; animation-duration: 4.5s; }
.hero-particle:nth-child(14) { left: 55%; animation-delay: 1.3s; animation-duration: 3.2s; }
.hero-particle:nth-child(15) { left: 65%; animation-delay: 0.1s; animation-duration: 4.6s; }
.hero-particle:nth-child(16) { left: 75%; animation-delay: 1.4s; animation-duration: 3.1s; }
.hero-particle:nth-child(17) { left: 85%; animation-delay: 0.35s; animation-duration: 4.7s; }
.hero-particle:nth-child(18) { left: 95%; animation-delay: 1.6s; animation-duration: 3s; }
.hero-particle:nth-child(19) { left: 5%; animation-delay: 0.85s; animation-duration: 4.8s; }
.hero-particle:nth-child(20) { left: 48%; animation-delay: 1.8s; animation-duration: 2.9s; }

@keyframes particleRise {
    0% { transform: translateY(0) scale(1); opacity: 1; }
    100% { transform: translateY(-160px) scale(0); opacity: 0; }
}

/* Energy beams shooting from center */
.hero-beam {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 6px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255, 107, 0, 0.8) 30%,
        rgba(255, 200, 100, 1) 50%,
        rgba(255, 107, 0, 0.8) 70%,
        transparent 100%);
    filter: blur(2px);
    animation: beamShoot 2s ease-out infinite;
    transform-origin: center;
}

.hero-beam:nth-child(1) { left: 50%; width: 0; animation-delay: 0s; }
.hero-beam:nth-child(2) { left: 50%; width: 0; animation-delay: 0.5s; }
.hero-beam:nth-child(3) { left: 50%; width: 0; animation-delay: 1s; }
.hero-beam:nth-child(4) { left: 50%; width: 0; animation-delay: 1.5s; }

@keyframes beamShoot {
    0% { width: 0; left: 50%; opacity: 1; transform: translateX(-50%); }
    50% { width: 80%; left: 50%; opacity: 0.8; transform: translateX(-50%); }
    100% { width: 100%; left: 50%; opacity: 0; transform: translateX(-50%); }
}

/* Scanning light effect */
.hero-scanner {
    position: absolute;
    top: 50%;
    left: -100%;
    width: 200px;
    height: 90px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255, 107, 0, 0.05) 20%,
        rgba(255, 107, 0, 0.15) 50%,
        rgba(255, 107, 0, 0.05) 80%,
        transparent 100%);
    animation: heroScan 6s linear infinite;
}

@keyframes heroScan {
    0% { left: -200px; }
    100% { left: 100%; }
}

/* Pulsing center orb */
.hero-orb {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    background: radial-gradient(circle,
        rgba(255, 255, 255, 1) 0%,
        rgba(255, 200, 100, 1) 30%,
        rgba(255, 107, 0, 0.8) 60%,
        transparent 100%);
    border-radius: 50%;
    animation: orbPulseHero 2s ease-in-out infinite;
    box-shadow:
        0 0 20px rgba(255, 107, 0, 1),
        0 0 40px rgba(255, 107, 0, 0.8),
        0 0 60px rgba(255, 107, 0, 0.6),
        0 0 80px rgba(255, 107, 0, 0.4);
}

.hero-orb::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    border: 2px solid rgba(255, 107, 0, 0.4);
    border-radius: 50%;
    animation: orbRing 2s ease-out infinite;
}

.hero-orb::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 50%;
    animation: orbRing 2s ease-out infinite;
    animation-delay: 0.5s;
}

@keyframes orbPulseHero {
    0%, 100% {
        transform: translateX(-50%) scale(1);
        box-shadow:
            0 0 20px rgba(255, 107, 0, 1),
            0 0 40px rgba(255, 107, 0, 0.8),
            0 0 60px rgba(255, 107, 0, 0.6);
    }
    50% {
        transform: translateX(-50%) scale(1.3);
        box-shadow:
            0 0 30px rgba(255, 107, 0, 1),
            0 0 60px rgba(255, 107, 0, 0.8),
            0 0 100px rgba(255, 107, 0, 0.6);
    }
}

@keyframes orbRing {
    0% { transform: translate(-50%, -50%) scale(0.5); opacity: 1; }
    100% { transform: translate(-50%, -50%) scale(2.5); opacity: 0; }
}

/* Floating sparks */
.hero-spark {
    position: absolute;
    width: 3px;
    height: 3px;
    background: #fff;
    border-radius: 50%;
    bottom: 60px;
    animation: sparkFloat 3s ease-in-out infinite;
    box-shadow: 0 0 8px #fff, 0 0 16px rgba(255, 107, 0, 0.8);
}

.hero-spark:nth-child(1) { left: 48%; animation-delay: 0s; --spark-drift: -30px; }
.hero-spark:nth-child(2) { left: 52%; animation-delay: 0.3s; --spark-drift: 25px; }
.hero-spark:nth-child(3) { left: 46%; animation-delay: 0.6s; --spark-drift: -45px; }
.hero-spark:nth-child(4) { left: 54%; animation-delay: 0.9s; --spark-drift: 40px; }
.hero-spark:nth-child(5) { left: 44%; animation-delay: 1.2s; --spark-drift: -55px; }
.hero-spark:nth-child(6) { left: 56%; animation-delay: 1.5s; --spark-drift: 50px; }
.hero-spark:nth-child(7) { left: 42%; animation-delay: 1.8s; --spark-drift: -65px; }
.hero-spark:nth-child(8) { left: 58%; animation-delay: 2.1s; --spark-drift: 60px; }

@keyframes sparkFloat {
    0%, 100% { transform: translateY(0) translateX(0); opacity: 0; }
    10% { opacity: 1; }
    50% { transform: translateY(-80px) translateX(var(--spark-drift, 20px)); opacity: 1; }
    90% { opacity: 0.5; }
    100% { transform: translateY(-140px) translateX(calc(var(--spark-drift, 20px) * 1.5)); opacity: 0; }
}

/* Electric arc waves */
.hero-arc {
    position: absolute;
    bottom: 55px;
    left: 50%;
    width: 400px;
    height: 30px;
    transform: translateX(-50%);
    overflow: hidden;
}

.hero-arc::before,
.hero-arc::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255, 107, 0, 0.3) 20%,
        rgba(255, 200, 100, 0.6) 50%,
        rgba(255, 107, 0, 0.3) 80%,
        transparent 100%);
    animation: arcWave 1.5s ease-in-out infinite;
}

.hero-arc::before { top: 0; animation-delay: 0s; }
.hero-arc::after { bottom: 0; animation-delay: 0.75s; }

@keyframes arcWave {
    0%, 100% { transform: scaleX(0.3); opacity: 0; }
    50% { transform: scaleX(1); opacity: 1; }
}

/* Side light beams */
.hero-side-beam {
    position: absolute;
    bottom: 0;
    width: 2px;
    height: 100%;
    background: linear-gradient(to top,
        transparent 0%,
        rgba(255, 107, 0, 0.1) 30%,
        rgba(255, 107, 0, 0.4) 50%,
        rgba(255, 107, 0, 0.1) 70%,
        transparent 100%);
    animation: sideBeamPulse 4s ease-in-out infinite;
}

.hero-side-beam:nth-child(1) { left: 20%; animation-delay: 0s; }
.hero-side-beam:nth-child(2) { left: 35%; animation-delay: 0.5s; }
.hero-side-beam:nth-child(3) { left: 65%; animation-delay: 1s; }
.hero-side-beam:nth-child(4) { left: 80%; animation-delay: 1.5s; }

@keyframes sideBeamPulse {
    0%, 100% { opacity: 0.3; height: 60%; }
    50% { opacity: 0.7; height: 100%; }
}

/* Base Divider Styles */
.section-divider {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 150px;
    overflow: hidden;
    z-index: 5;
    pointer-events: none;
}

.section-divider-top {
    bottom: auto;
    top: 0;
    transform: rotate(180deg);
}

/* ========== TYPE 1: ANIMATED WAVE ========== */
.divider-wave {
    height: 120px;
}

.divider-wave svg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 200%;
    height: 100%;
    animation: waveFlow 8s linear infinite;
}

.divider-wave svg:nth-child(2) {
    opacity: 0.5;
    animation: waveFlow 12s linear infinite reverse;
    animation-delay: -2s;
}

.divider-wave svg:nth-child(3) {
    opacity: 0.3;
    animation: waveFlow 10s linear infinite;
    animation-delay: -4s;
}

.divider-wave .shape-fill {
    fill: var(--black);
}

.divider-wave.to-light .shape-fill {
    fill: var(--white-soft);
}

.divider-wave.to-dark .shape-fill {
    fill: var(--black);
}

@keyframes waveFlow {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ========== TYPE 2: PARTICLE STREAM ========== */
.divider-particles {
    height: 180px;
    background: linear-gradient(to bottom, transparent 0%, var(--black) 100%);
}

.divider-particles::before,
.divider-particles::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-image:
        radial-gradient(2px 2px at 10% 20%, rgba(255, 107, 0, 0.8) 50%, transparent 50%),
        radial-gradient(3px 3px at 25% 40%, rgba(255, 107, 0, 0.6) 50%, transparent 50%),
        radial-gradient(2px 2px at 40% 30%, rgba(255, 255, 255, 0.5) 50%, transparent 50%),
        radial-gradient(4px 4px at 55% 50%, rgba(255, 107, 0, 0.7) 50%, transparent 50%),
        radial-gradient(2px 2px at 70% 25%, rgba(255, 255, 255, 0.4) 50%, transparent 50%),
        radial-gradient(3px 3px at 85% 45%, rgba(255, 107, 0, 0.5) 50%, transparent 50%),
        radial-gradient(2px 2px at 15% 60%, rgba(255, 107, 0, 0.6) 50%, transparent 50%),
        radial-gradient(3px 3px at 30% 70%, rgba(255, 255, 255, 0.3) 50%, transparent 50%),
        radial-gradient(2px 2px at 50% 80%, rgba(255, 107, 0, 0.5) 50%, transparent 50%),
        radial-gradient(4px 4px at 75% 65%, rgba(255, 107, 0, 0.4) 50%, transparent 50%),
        radial-gradient(2px 2px at 90% 75%, rgba(255, 255, 255, 0.5) 50%, transparent 50%);
    background-size: 200% 100%;
    animation: particleStream 15s linear infinite;
}

.divider-particles::after {
    animation: particleStream 20s linear infinite reverse;
    animation-delay: -5s;
    opacity: 0.7;
}

@keyframes particleStream {
    0% { background-position: 0% 0%; }
    100% { background-position: 200% 0%; }
}

/* ========== TYPE 3: SMOOTH CURVE TRANSITION ========== */
.divider-geometric {
    height: 80px;
    background: transparent;
    overflow: visible;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin-top: -80px;
    z-index: 10;
}

/* Curved top edge that rises into the light section */
.divider-geometric::before {
    content: '';
    position: absolute;
    top: 0;
    left: -5%;
    width: 110%;
    height: 100%;
    background: var(--black);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}

/* Glowing edge along the curve */
.divider-geometric::after {
    content: '';
    position: absolute;
    top: 0;
    left: -5%;
    width: 110%;
    height: 100%;
    background: transparent;
    border-top: 3px solid var(--primary-orange);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    box-shadow:
        0 -5px 30px rgba(255, 107, 0, 0.5),
        0 -10px 60px rgba(255, 107, 0, 0.3),
        0 -2px 10px rgba(255, 107, 0, 0.8);
    animation: curveGlow 3s ease-in-out infinite;
}

/* Light sweep effect */
.divider-geometric .diagonal-spark {
    position: absolute;
    top: 10px;
    width: 150px;
    height: 70px;
    background: radial-gradient(ellipse at center bottom,
        rgba(255, 255, 255, 0.6) 0%,
        rgba(255, 140, 0, 0.4) 30%,
        transparent 60%);
    filter: blur(8px);
    animation: sweepCurve 5s ease-in-out infinite;
    pointer-events: none;
    z-index: 10;
}

.divider-geometric .diagonal-spark:nth-child(2) {
    animation-delay: 2.5s;
    width: 100px;
    opacity: 0.8;
}

@keyframes curveGlow {
    0%, 100% {
        box-shadow:
            0 -5px 30px rgba(255, 107, 0, 0.4),
            0 -10px 60px rgba(255, 107, 0, 0.2),
            0 -2px 10px rgba(255, 107, 0, 0.6);
    }
    50% {
        box-shadow:
            0 -8px 50px rgba(255, 107, 0, 0.7),
            0 -15px 80px rgba(255, 107, 0, 0.4),
            0 -3px 20px rgba(255, 107, 0, 1);
    }
}

@keyframes sweepCurve {
    0% {
        left: -150px;
        opacity: 0;
    }
    15% {
        opacity: 1;
    }
    85% {
        opacity: 1;
    }
    100% {
        left: calc(100% + 150px);
        opacity: 0;
    }
}

/* ========== TYPE 4: GLOWING LINE ========== */
.divider-glow-line {
    height: 80px;
    background: linear-gradient(to bottom, transparent 0%, var(--black) 100%);
}

.divider-glow-line::before {
    content: '';
    position: absolute;
    bottom: 40px;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg,
        transparent 0%,
        var(--primary-orange) 20%,
        rgba(255, 140, 0, 0.8) 50%,
        var(--primary-orange) 80%,
        transparent 100%);
    box-shadow:
        0 0 20px var(--primary-orange),
        0 0 40px var(--primary-orange),
        0 0 60px rgba(255, 107, 0, 0.5);
    animation: glowPulse 3s ease-in-out infinite, glowScan 8s linear infinite;
}

.divider-glow-line::after {
    content: '';
    position: absolute;
    bottom: 38px;
    left: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255, 107, 0, 0.1) 30%,
        rgba(255, 107, 0, 0.3) 50%,
        rgba(255, 107, 0, 0.1) 70%,
        transparent 100%);
    filter: blur(4px);
    animation: glowPulse 3s ease-in-out infinite;
    animation-delay: 0.5s;
}

@keyframes glowPulse {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
}

@keyframes glowScan {
    0% { background-position: -100% 0; }
    100% { background-position: 200% 0; }
}

/* ========== TYPE 5: DIGITAL GRID DISSOLVE ========== */
.divider-digital {
    height: 120px;
    background: linear-gradient(to bottom, transparent 0%, var(--black) 100%);
}

.divider-digital::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        linear-gradient(90deg, rgba(255, 107, 0, 0.1) 1px, transparent 1px),
        linear-gradient(rgba(255, 107, 0, 0.1) 1px, transparent 1px);
    background-size: 30px 30px;
    mask-image: linear-gradient(to bottom, transparent 0%, black 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 100%);
    animation: digitalFlicker 0.5s steps(2) infinite;
}

.divider-digital::after {
    content: '';
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
    height: 60px;
    background: repeating-linear-gradient(
        90deg,
        transparent 0px,
        transparent 28px,
        rgba(255, 107, 0, 0.4) 28px,
        rgba(255, 107, 0, 0.4) 30px
    );
    mask-image: linear-gradient(90deg, transparent, black 20%, black 80%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, black 20%, black 80%, transparent);
    animation: digitalScan 4s linear infinite;
}

@keyframes digitalFlicker {
    0%, 100% { opacity: 0.8; }
    50% { opacity: 1; }
}

@keyframes digitalScan {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

/* ========== TYPE 6: LIQUID MORPH ========== */
.divider-liquid {
    height: 150px;
}

.divider-liquid svg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.divider-liquid .liquid-blob {
    fill: var(--black);
    animation: liquidMorph 10s ease-in-out infinite;
}

.divider-liquid .liquid-blob-glow {
    fill: none;
    stroke: var(--primary-orange);
    stroke-width: 2;
    filter: drop-shadow(0 0 10px var(--primary-orange));
    animation: liquidMorph 10s ease-in-out infinite;
    animation-delay: -0.5s;
    opacity: 0.5;
}

@keyframes liquidMorph {
    0%, 100% {
        d: path("M0,100 C150,80 350,120 500,100 C650,80 850,120 1000,100 C1150,80 1200,100 1200,100 L1200,200 L0,200 Z");
    }
    25% {
        d: path("M0,100 C100,120 300,80 500,110 C700,140 900,70 1000,90 C1100,110 1200,100 1200,100 L1200,200 L0,200 Z");
    }
    50% {
        d: path("M0,110 C200,70 400,130 600,90 C800,50 950,130 1050,100 C1150,70 1200,110 1200,110 L1200,200 L0,200 Z");
    }
    75% {
        d: path("M0,90 C100,130 350,60 550,100 C750,140 900,80 1050,110 C1150,130 1200,90 1200,90 L1200,200 L0,200 Z");
    }
}

/* ========== TYPE 7: DATA STREAM ========== */
.divider-circuit {
    height: 120px;
    background: linear-gradient(to bottom,
        var(--black) 0%,
        rgba(10, 10, 10, 0.95) 30%,
        rgba(20, 20, 20, 0.8) 50%,
        rgba(245, 245, 245, 0.6) 70%,
        var(--white-soft) 100%);
    overflow: hidden;
}

/* Subtle horizontal glow line */
.divider-circuit::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255, 107, 0, 0.3) 20%,
        rgba(255, 107, 0, 0.6) 50%,
        rgba(255, 107, 0, 0.3) 80%,
        transparent 100%);
    box-shadow:
        0 0 20px rgba(255, 107, 0, 0.4),
        0 0 40px rgba(255, 107, 0, 0.2);
    animation: dataLineGlow 3s ease-in-out infinite;
}

/* Traveling light pulse */
.divider-circuit::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100px;
    height: 6px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.8) 40%,
        rgba(255, 140, 0, 1) 50%,
        rgba(255, 255, 255, 0.8) 60%,
        transparent 100%);
    filter: blur(2px);
    animation: dataPulseTravel 4s ease-in-out infinite;
}

@keyframes dataLineGlow {
    0%, 100% {
        opacity: 0.5;
        box-shadow:
            0 0 15px rgba(255, 107, 0, 0.3),
            0 0 30px rgba(255, 107, 0, 0.15);
    }
    50% {
        opacity: 1;
        box-shadow:
            0 0 25px rgba(255, 107, 0, 0.5),
            0 0 50px rgba(255, 107, 0, 0.3);
    }
}

@keyframes dataPulseTravel {
    0% {
        left: -100px;
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        left: calc(100% + 100px);
        opacity: 0;
    }
}

/* ========== TYPE 8: ENERGY PULSE ========== */
.divider-energy {
    height: 120px;
    background: linear-gradient(to bottom, transparent 0%, var(--black) 100%);
}

.divider-energy::before {
    content: '';
    position: absolute;
    bottom: 30px;
    left: -100%;
    width: 300%;
    height: 4px;
    background: linear-gradient(90deg,
        transparent 0%,
        transparent 30%,
        var(--primary-orange) 45%,
        rgba(255, 255, 255, 0.9) 50%,
        var(--primary-orange) 55%,
        transparent 70%,
        transparent 100%);
    animation: energyPulse 3s ease-in-out infinite;
}

.divider-energy::after {
    content: '';
    position: absolute;
    bottom: 28px;
    left: -100%;
    width: 300%;
    height: 8px;
    background: linear-gradient(90deg,
        transparent 0%,
        transparent 35%,
        rgba(255, 107, 0, 0.3) 45%,
        rgba(255, 107, 0, 0.6) 50%,
        rgba(255, 107, 0, 0.3) 55%,
        transparent 65%,
        transparent 100%);
    filter: blur(8px);
    animation: energyPulse 3s ease-in-out infinite;
}

@keyframes energyPulse {
    0% { transform: translateX(0); }
    100% { transform: translateX(33.33%); }
}

/* ========== TYPE 9: SMOKE/MIST ========== */
.divider-smoke {
    height: 200px;
}

.divider-smoke::before,
.divider-smoke::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:
        radial-gradient(ellipse 80% 50% at 20% 100%, rgba(0, 0, 0, 0.9) 0%, transparent 70%),
        radial-gradient(ellipse 60% 40% at 50% 100%, rgba(0, 0, 0, 0.95) 0%, transparent 60%),
        radial-gradient(ellipse 70% 45% at 80% 100%, rgba(0, 0, 0, 0.9) 0%, transparent 70%);
    animation: smokeRise 8s ease-in-out infinite;
}

.divider-smoke::after {
    background:
        radial-gradient(ellipse 50% 35% at 30% 100%, rgba(255, 107, 0, 0.1) 0%, transparent 60%),
        radial-gradient(ellipse 40% 30% at 60% 100%, rgba(255, 107, 0, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse 60% 40% at 85% 100%, rgba(255, 107, 0, 0.12) 0%, transparent 65%);
    animation: smokeRise 10s ease-in-out infinite reverse;
    animation-delay: -3s;
}

@keyframes smokeRise {
    0%, 100% {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
    50% {
        transform: translateY(-10px) scale(1.05);
        opacity: 0.9;
    }
}

/* ========== TYPE 10: AURORA/NORTHERN LIGHTS ========== */
.divider-aurora {
    height: 150px;
    background: linear-gradient(to bottom, transparent 0%, var(--black) 100%);
    overflow: hidden;
}

.divider-aurora::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: -50%;
    width: 200%;
    height: 100%;
    background:
        linear-gradient(90deg,
            transparent 0%,
            rgba(255, 107, 0, 0.2) 20%,
            rgba(255, 140, 0, 0.4) 35%,
            rgba(255, 107, 0, 0.2) 50%,
            transparent 65%,
            rgba(255, 80, 0, 0.3) 80%,
            transparent 100%);
    filter: blur(30px);
    animation: auroraWave 12s ease-in-out infinite;
}

.divider-aurora::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: -30%;
    width: 160%;
    height: 80%;
    background:
        linear-gradient(90deg,
            transparent 0%,
            rgba(255, 200, 100, 0.1) 30%,
            rgba(255, 150, 50, 0.2) 50%,
            rgba(255, 200, 100, 0.1) 70%,
            transparent 100%);
    filter: blur(20px);
    animation: auroraWave 8s ease-in-out infinite reverse;
    animation-delay: -2s;
}

@keyframes auroraWave {
    0%, 100% { transform: translateX(0) skewX(0deg); }
    25% { transform: translateX(10%) skewX(-2deg); }
    50% { transform: translateX(-5%) skewX(2deg); }
    75% { transform: translateX(5%) skewX(-1deg); }
}

/* ========== LIGHT BACKGROUND VARIANTS ========== */
.divider-particles.to-light {
    background: linear-gradient(to bottom, transparent 0%, var(--white-soft) 100%);
}

.divider-circuit.to-light {
    background: linear-gradient(to bottom,
        var(--black) 0%,
        rgba(10, 10, 10, 0.95) 20%,
        rgba(30, 30, 30, 0.7) 40%,
        rgba(200, 200, 200, 0.5) 60%,
        rgba(245, 245, 245, 0.8) 80%,
        var(--white-soft) 100%);
}

.divider-digital.to-light {
    background: linear-gradient(to bottom, transparent 0%, var(--white-soft) 100%);
}

.divider-glow-line.to-light {
    background: linear-gradient(to bottom, transparent 0%, var(--white-soft) 100%);
}

.divider-energy.to-light {
    background: linear-gradient(to bottom, transparent 0%, var(--white-soft) 100%);
}

.divider-aurora.to-light {
    background: linear-gradient(to bottom, transparent 0%, var(--white-soft) 100%);
}

.divider-geometric.to-light::before {
    background:
        linear-gradient(135deg, var(--white-soft) 25%, transparent 25%),
        linear-gradient(225deg, var(--white-soft) 25%, transparent 25%);
    background-size: 80px 100%;
}

/* Legacy Wave Divider Support */
.wave-divider {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.wave-divider svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 120px;
}

.wave-divider .shape-fill {
    fill: var(--black);
}

.wave-divider-dark .shape-fill {
    fill: var(--black);
}

.wave-divider-light .shape-fill {
    fill: var(--white-soft);
}

.wave-divider-orange .shape-fill {
    fill: var(--primary-orange);
}

/* === SECTIONS === */
.section {
    padding: 120px 20px;
    position: relative;
    overflow: hidden;
}

.section-light {
    background: var(--white-soft);
    overflow: visible;
}

.section-dark {
    background: var(--gradient-dark);
    color: var(--white);
    position: relative;
}

.section-orange {
    background: var(--gradient-orange);
    color: var(--white);
}

/* ============================================
   ENHANCED SERVICES SHOWCASE SECTION
   ============================================ */
.section-services-showcase {
    background: linear-gradient(180deg, #ebebeb 0%, #e3e3e3 50%, #ebebeb 100%);
    padding: 100px 20px;
    position: relative;
    overflow: visible;
}

/* Background Effects */
.services-bg-effects {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 0;
}

/* Ensure container is above background effects */
.section-services-showcase .container {
    position: relative;
    z-index: 1;
}

.services-gradient-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.4;
}

.services-gradient-orb.orb-1 {
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.3) 0%, transparent 70%);
    top: -100px;
    right: -100px;
    animation: orbFloat1 15s ease-in-out infinite;
}

.services-gradient-orb.orb-2 {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.25) 0%, transparent 70%);
    bottom: -50px;
    left: -50px;
    animation: orbFloat2 18s ease-in-out infinite;
}

@keyframes orbFloat1 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(-50px, 50px) scale(1.1); }
}

@keyframes orbFloat2 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(30px, -30px) scale(1.15); }
}

.services-grid-lines {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 107, 0, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 107, 0, 0.03) 1px, transparent 1px);
    background-size: 60px 60px;
    animation: gridPulse 8s ease-in-out infinite;
}

@keyframes gridPulse {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

.services-floating-dots {
    position: absolute;
    inset: 0;
}

.services-floating-dots span {
    position: absolute;
    width: 6px;
    height: 6px;
    background: var(--primary-orange);
    border-radius: 50%;
    opacity: 0.3;
    animation: floatDot 10s ease-in-out infinite;
}

.services-floating-dots span:nth-child(1) { top: 10%; left: 10%; animation-delay: 0s; }
.services-floating-dots span:nth-child(2) { top: 20%; left: 80%; animation-delay: 1s; }
.services-floating-dots span:nth-child(3) { top: 60%; left: 15%; animation-delay: 2s; }
.services-floating-dots span:nth-child(4) { top: 70%; left: 70%; animation-delay: 3s; }
.services-floating-dots span:nth-child(5) { top: 40%; left: 90%; animation-delay: 4s; }
.services-floating-dots span:nth-child(6) { top: 85%; left: 40%; animation-delay: 5s; }
.services-floating-dots span:nth-child(7) { top: 15%; left: 50%; animation-delay: 6s; }
.services-floating-dots span:nth-child(8) { top: 50%; left: 5%; animation-delay: 7s; }
.services-floating-dots span:nth-child(9) { top: 30%; left: 30%; animation-delay: 8s; }
.services-floating-dots span:nth-child(10) { top: 80%; left: 85%; animation-delay: 9s; }

@keyframes floatDot {
    0%, 100% { transform: translateY(0) scale(1); opacity: 0.3; }
    50% { transform: translateY(-20px) scale(1.5); opacity: 0.6; }
}

/* ==================== FLOATING ISLANDS SERVICES ==================== */
.services-islands-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    max-width: 1400px;
    margin: 50px auto 0;
    perspective: 1000px;
}

.service-island {
    position: relative;
    padding: 35px 25px;
    background: linear-gradient(180deg, #0a0a0a 0%, #141414 50%, #0a0a0a 100%);
    border-radius: 24px;
    text-align: center;
    transform-style: preserve-3d;
    transform: translateZ(0) rotateX(5deg);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    cursor: pointer;
    box-shadow:
        0 40px 60px -20px rgba(0, 0, 0, 0.7),
        0 25px 35px -25px rgba(255, 107, 0, 0.15),
        inset 0 1px 0 rgba(255, 107, 0, 0.03);
    animation: floatIsland 6s ease-in-out infinite;
    border: 1px solid rgba(255, 107, 0, 0.12);
    overflow: hidden;
}

/* Subtle orange gradient overlay on islands */
.service-island .island-gradient-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at top right, rgba(255, 107, 0, 0.06) 0%, transparent 50%),
                radial-gradient(ellipse at bottom left, rgba(255, 80, 0, 0.04) 0%, transparent 40%);
    pointer-events: none;
    z-index: 0;
    border-radius: 24px;
}

/* Particle canvas for islands */
.service-island .island-particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.35;
    transition: opacity 0.4s ease;
    z-index: 0;
    border-radius: 24px;
}

.service-island:hover .island-particles {
    opacity: 0.6;
}

.service-island:nth-child(1) { animation-delay: 0s; }
.service-island:nth-child(2) { animation-delay: -0.8s; }
.service-island:nth-child(3) { animation-delay: -1.6s; }
.service-island:nth-child(4) { animation-delay: -2.4s; }
.service-island:nth-child(5) { animation-delay: -0.4s; }
.service-island:nth-child(6) { animation-delay: -1.2s; }
.service-island:nth-child(7) { animation-delay: -2s; }
.service-island:nth-child(8) { animation-delay: -2.8s; }
.service-island:nth-child(9) { animation-delay: -0.6s; }
.service-island:nth-child(10) { animation-delay: -1.4s; }
.service-island:nth-child(11) { animation-delay: -2.2s; }
.service-island:nth-child(12) { animation-delay: -3s; }

@keyframes floatIsland {
    0%, 100% { transform: translateY(0) rotateX(5deg); }
    50% { transform: translateY(-15px) rotateX(7deg); }
}

/* Island Expertise Badge */
.island-expertise-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 5px 10px;
    background: linear-gradient(135deg, var(--primary-orange), #ff8c00);
    border-radius: 20px;
    text-decoration: none;
    z-index: 10;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(255, 107, 0, 0.3);
}

.island-expertise-badge svg {
    width: 12px;
    height: 12px;
    stroke: white;
    fill: rgba(255, 255, 255, 0.3);
}

.island-expertise-badge span {
    font-size: 0.65rem;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.island-expertise-badge:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(255, 107, 0, 0.5);
}

.service-island .island-glow {
    position: absolute;
    inset: -30px;
    background: radial-gradient(circle at center, rgba(255, 107, 0, 0.15) 0%, transparent 70%);
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: -1;
    filter: blur(20px);
}

.service-island:hover {
    transform: translateY(-25px) rotateX(0deg) scale(1.05);
    animation-play-state: paused;
    box-shadow:
        0 60px 80px -20px rgba(0, 0, 0, 0.8),
        0 0 60px -10px rgba(255, 107, 0, 0.35),
        inset 0 1px 0 rgba(255, 107, 0, 0.1);
    border-color: rgba(255, 107, 0, 0.35);
    background: linear-gradient(180deg, #151515 0%, #1a1a1a 50%, #0f0f0f 100%);
    z-index: 10;
}

.service-island:hover .island-glow {
    opacity: 1;
}

/* Island shadow (fake 3D depth) */
.service-island::before {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 15%;
    right: 15%;
    height: 15px;
    background: rgba(0, 0, 0, 0.25);
    border-radius: 50%;
    filter: blur(10px);
    transition: all 0.5s ease;
    z-index: -2;
}

.service-island:hover::before {
    bottom: -30px;
    left: 10%;
    right: 10%;
    filter: blur(15px);
    opacity: 0.6;
}

.service-island .island-inner {
    position: relative;
    z-index: 1;
}

.service-island .island-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    filter: drop-shadow(0 8px 15px rgba(255, 107, 0, 0.3));
    transition: transform 0.4s ease, filter 0.4s ease;
}

.service-island:hover .island-icon {
    transform: scale(1.15) translateY(-5px);
    filter: drop-shadow(0 15px 25px rgba(255, 107, 0, 0.5));
}

.service-island .island-icon img,
.service-island .island-icon svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.service-island h4 {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
    transition: color 0.3s ease;
}

.service-island:hover h4 {
    color: var(--primary-orange);
}

.service-island p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 15px;
}

.service-island .island-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.service-island .island-tags span {
    padding: 5px 12px;
    background: rgba(255, 107, 0, 0.15);
    border: 1px solid rgba(255, 107, 0, 0.25);
    border-radius: 20px;
    font-size: 11px;
    color: var(--primary-orange);
    font-weight: 500;
    transition: all 0.3s ease;
}

.service-island:hover .island-tags span {
    background: rgba(255, 107, 0, 0.25);
    border-color: rgba(255, 107, 0, 0.4);
}

/* Responsive Floating Islands */
@media (max-width: 1200px) {
    .services-islands-container {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
}

@media (max-width: 900px) {
    .services-islands-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .service-island {
        padding: 30px 20px;
    }
}

@media (max-width: 600px) {
    .services-islands-container {
        grid-template-columns: 1fr;
        gap: 20px;
        max-width: 400px;
    }

    .service-island {
        transform: translateZ(0) rotateX(0deg);
        animation: floatIslandMobile 4s ease-in-out infinite;
    }

    @keyframes floatIslandMobile {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-10px); }
    }

    .service-island:hover {
        transform: translateY(-15px) scale(1.02);
    }
}

/* ==================== OLD SERVICES GRID (LEGACY) ==================== */
/* Services Grid */
.services-showcase-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 40px;
    perspective: 1000px;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    /* Note: Do NOT use isolation or transform-style here - they break 3D transforms on children */
}

/* Individual Service Card */
.service-showcase-card {
    position: relative;
    border-radius: 20px;
    transition: transform 0.15s ease-out, box-shadow 0.3s ease;
    transform-style: preserve-3d;
    will-change: transform;
    cursor: pointer;
    transform: perspective(1000px) rotateX(0) rotateY(0) translateY(0); /* Base 3D transform - animated by JS on hover */
    pointer-events: auto !important;
    overflow: visible;
}

/* Ensure cards are always visible and clickable, even during entrance animation */
.service-showcase-card.wow {
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1;
}

/* When animation is complete, enable full hover effects */
.service-showcase-card.animation-complete {
    pointer-events: auto;
    visibility: visible !important;
}

/* Z-index stacking for grid rows - bottom rows need higher z-index */
/* Row 1 (cards 1-4) */
.service-showcase-card:nth-child(1),
.service-showcase-card:nth-child(2),
.service-showcase-card:nth-child(3),
.service-showcase-card:nth-child(4) {
    z-index: 1;
}

/* Row 2 (cards 5-8) */
.service-showcase-card:nth-child(5),
.service-showcase-card:nth-child(6),
.service-showcase-card:nth-child(7),
.service-showcase-card:nth-child(8) {
    z-index: 2;
}

/* Row 3 (cards 9-12) */
.service-showcase-card:nth-child(9),
.service-showcase-card:nth-child(10),
.service-showcase-card:nth-child(11),
.service-showcase-card:nth-child(12) {
    z-index: 3;
}

/* When hovering, elevate z-index to ensure card is on top */
.service-showcase-card:hover {
    z-index: 10 !important;
}

.service-showcase-card .card-glow {
    position: absolute;
    inset: -2px;
    background: linear-gradient(135deg,
        rgba(255, 180, 120, 0.12) 0%,
        rgba(255, 220, 200, 0.06) 50%,
        rgba(255, 180, 120, 0.12) 100%);
    border-radius: 22px;
    opacity: 0;
    transition: opacity 0.9s ease-out;
    filter: blur(20px);
    z-index: -1;
}

.service-showcase-card .card-border-glow {
    position: absolute;
    inset: 0;
    border-radius: 20px;
    padding: 2px;
    background: linear-gradient(135deg,
        rgba(255, 180, 140, 0.15) 0%,
        rgba(255, 255, 255, 0.05) 50%,
        rgba(255, 180, 140, 0.15) 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.9s ease-out;
}

/* ============================================
   SERVICE CARD SNAKE BORDER ANIMATION
   ============================================ */

/* Snake border wrapper for service cards */
.service-showcase-card .snake-border {
    position: absolute;
    inset: -2px;
    border-radius: 22px;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
    transform-style: flat;
    transition: transform 0.15s ease-out;
    transform: translateZ(0);
}

/* The traveling snake light - rotating gradient (only on hover) */
.service-showcase-card .snake-border::before {
    content: none;
    position: absolute;
    width: 200%;
    height: 200%;
    top: -50%;
    left: -50%;
    background: conic-gradient(
        transparent 0deg,
        transparent 340deg,
        #FF6B00 345deg,
        #FF8C3A 350deg,
        #FFB366 355deg,
        #FF6B00 358deg,
        transparent 360deg
    );
}

/* Inner mask to show only the border - hidden by default */
.service-showcase-card .snake-border::after {
    content: none;
    position: absolute;
    inset: 3px;
    background: transparent;
    border-radius: 18px;
}

/* Snake glow trail for service cards */
.service-showcase-card .snake-glow {
    position: absolute;
    inset: -5px;
    border-radius: 25px;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
    transform-style: flat;
    transition: transform 0.15s ease-out;
    transform: translateZ(0);
}

.service-showcase-card .snake-glow::before {
    content: none;
    position: absolute;
    width: 200%;
    height: 200%;
    top: -50%;
    left: -50%;
    background: conic-gradient(
        transparent 0deg,
        transparent 320deg,
        rgba(255, 107, 0, 0.5) 340deg,
        rgba(255, 140, 58, 0.8) 350deg,
        rgba(255, 107, 0, 0.5) 360deg
    );
    filter: blur(12px);
}

/* Snake hidden by default - only show on hover */
.service-showcase-card .snake-border,
.service-showcase-card .snake-glow {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Hide pseudo-elements by default */
.service-showcase-card .snake-border::before,
.service-showcase-card .snake-border::after,
.service-showcase-card .snake-glow::before {
    content: none !important;
    display: none !important;
}

/* Hover effects for service card snake */
.service-showcase-card:hover .snake-border,
.service-showcase-card:hover .snake-glow {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    animation: snakeFadeIn 0.3s ease forwards;
}

/* Show pseudo-elements on hover */
.service-showcase-card:hover .snake-border::before,
.service-showcase-card:hover .snake-glow::before {
    content: '' !important;
    display: block !important;
    animation: snakeRotate 1.5s linear infinite;
}

.service-showcase-card:hover .snake-border::after {
    content: '' !important;
    display: block !important;
    background: rgba(255, 255, 255, 0.95) !important;
}

@keyframes snakeFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Z-index fix for card-inner to stay above snake */
.service-showcase-card .card-inner {
    background: #ffffff;
    backdrop-filter: blur(20px);
    border-radius: 16px;
    padding: 20px 18px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: visible;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow:
        0 4px 6px rgba(0, 0, 0, 0.04),
        0 10px 30px rgba(0, 0, 0, 0.08),
        0 1px 3px rgba(0, 0, 0, 0.06);
    transition: transform 0.15s ease-out, box-shadow 0.3s ease, border-color 0.3s ease;
    z-index: 2;
    transform-style: preserve-3d;
    transform: translateZ(0);
}

.service-showcase-card .card-shine {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
        transparent,
        rgba(255, 255, 255, 0.4),
        transparent);
    transform: skewX(-20deg);
    transition: left 0.8s ease;
    pointer-events: none;
    border-radius: 20px;
    z-index: 10;
}

/* Icon Styling */
.service-showcase-card .card-icon-wrap {
    position: relative;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    transition: transform 0.15s ease-out;
    transform: translateZ(0) scale(1);
}

.service-showcase-card .icon-bg-pulse {
    position: absolute;
    inset: -10px;
    background: radial-gradient(circle, rgba(255, 200, 160, 0.08) 0%, transparent 70%);
    border-radius: 50%;
    animation: iconPulse 4s ease-in-out infinite;
    opacity: 0;
    transition: opacity 0.9s ease-out;
}

@keyframes iconPulse {
    0%, 100% { transform: scale(1); opacity: 0.5; }
    50% { transform: scale(1.3); opacity: 0.8; }
}

.service-showcase-card .icon-ring {
    position: absolute;
    inset: -5px;
    border: 2px solid transparent;
    border-top-color: var(--primary-orange);
    border-radius: 50%;
    opacity: 0;
    animation: iconRingSpin 3s linear infinite paused;
    transition: opacity 0.4s ease;
}

@keyframes iconRingSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.service-showcase-card .service-icon {
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, #fff5ed 0%, #ffe8d6 100%);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        0 6px 20px rgba(255, 107, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    position: relative;
    z-index: 2;
    animation: iconFloat 4s ease-in-out infinite;
}

@keyframes iconFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}

.service-showcase-card .service-icon img {
    width: 34px;
    height: 34px;
    transition: transform 0.4s ease;
}

/* API Icon SVG Styling */
.service-showcase-card .service-icon.api-icon svg {
    width: 34px;
    height: 34px;
    transition: transform 0.4s ease;
}

.service-showcase-card:hover .service-icon.api-icon svg {
    transform: scale(1.1);
}

/* Dual Icon Styling (for combined services like Support & Finance) */
.service-showcase-card .service-icon.dual-icon {
    width: 72px;
    padding: 6px 10px;
    gap: 4px;
}

.service-showcase-card .service-icon.dual-icon img {
    width: 26px;
    height: 26px;
}

.service-showcase-card .service-icon.dual-icon .icon-left {
    transform: translateX(2px);
}

.service-showcase-card .service-icon.dual-icon .icon-right {
    transform: translateX(-2px);
}

.service-showcase-card:hover .service-icon.dual-icon {
    transform: scale(1.08);
}

.service-showcase-card:hover .service-icon.dual-icon .icon-left {
    transform: translateX(-2px) scale(1.05);
}

.service-showcase-card:hover .service-icon.dual-icon .icon-right {
    transform: translateX(2px) scale(1.05);
}

/* Card Content */
.service-showcase-card .card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.service-showcase-card .card-content h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--black);
    margin-bottom: 6px;
    transition: color 0.3s ease, transform 0.15s ease-out;
    transform: translateZ(0);
}

.service-showcase-card .card-content p {
    font-size: 12px;
    color: var(--gray);
    line-height: 1.5;
    margin-bottom: 10px;
}

/* Feature Tags */
.service-showcase-card .card-features {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 8px;
}

.service-showcase-card .card-features span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.08) 0%, rgba(255, 107, 0, 0.04) 100%);
    border: 1px solid rgba(255, 107, 0, 0.15);
    border-radius: 12px;
    font-size: 10px;
    font-weight: 500;
    color: var(--primary-orange);
    transition: all 0.3s ease, transform 0.2s ease;
}

.service-showcase-card:hover .card-features span {
    animation: tagPop 0.4s ease forwards;
}

.service-showcase-card:hover .card-features span:nth-child(1) { animation-delay: 0s; }
.service-showcase-card:hover .card-features span:nth-child(2) { animation-delay: 0.05s; }
.service-showcase-card:hover .card-features span:nth-child(3) { animation-delay: 0.1s; }

@keyframes tagPop {
    0% { transform: scale(1); }
    50% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

.service-showcase-card .card-features span svg {
    width: 10px;
    height: 10px;
    stroke: var(--primary-orange);
}

/* Click Indicator - appears on hover */
.service-showcase-card .card-content::after {
    content: 'Click to learn more →';
    display: block;
    margin-top: auto;
    padding-top: 10px;
    font-size: 11px;
    font-weight: 600;
    color: var(--primary-orange);
    opacity: 0;
    transform: translateY(8px);
    transition: all 0.3s ease;
}

.service-showcase-card:hover .card-content::after {
    opacity: 1;
    transform: translateY(0);
    animation: arrowBounce 1s ease-in-out infinite;
}

@keyframes arrowBounce {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(4px); }
}

/* Hover Effects - Transform controlled by JS for 3D tilt */
.service-showcase-card:hover {
    box-shadow:
        0 20px 40px rgba(255, 107, 0, 0.2),
        0 10px 20px rgba(0, 0, 0, 0.12);
}

.service-showcase-card:hover .card-glow {
    opacity: 1;
}

.service-showcase-card:hover .card-border-glow {
    opacity: 1;
}

.service-showcase-card:hover .card-inner {
    border-color: rgba(255, 180, 140, 0.15);
    box-shadow:
        0 15px 40px rgba(255, 180, 140, 0.06),
        0 8px 20px rgba(0, 0, 0, 0.1);
}

.service-showcase-card:hover .card-shine {
    left: 150%;
}

.service-showcase-card:hover .icon-bg-pulse {
    opacity: 1;
}

.service-showcase-card:hover .icon-ring {
    opacity: 1;
    animation-play-state: running;
}

.service-showcase-card:hover .service-icon {
    animation: none;
    transform: scale(1.12) rotate(8deg);
    box-shadow:
        0 12px 30px rgba(255, 180, 140, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.service-showcase-card:hover .service-icon img {
    transform: scale(1.08);
    animation: iconWiggle 0.5s ease;
}

@keyframes iconWiggle {
    0%, 100% { transform: scale(1.08) rotate(0deg); }
    25% { transform: scale(1.08) rotate(-3deg); }
    75% { transform: scale(1.08) rotate(3deg); }
}

.service-showcase-card:hover .card-content h4 {
    color: var(--primary-orange);
    transform: scale(1.02);
}

.service-showcase-card:hover .card-features span {
    background: linear-gradient(135deg, rgba(255, 180, 140, 0.08) 0%, rgba(255, 180, 140, 0.04) 100%);
    border-color: rgba(255, 180, 140, 0.15);
}

/* Subtle border glow animation on hover */
.service-showcase-card:hover .card-inner::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: 17px;
    background: linear-gradient(45deg, transparent 30%, rgba(255, 107, 0, 0.3) 50%, transparent 70%);
    background-size: 200% 200%;
    animation: shimmerBorder 2s linear infinite;
    z-index: -1;
}

@keyframes shimmerBorder {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}


/* 3D Tilt transforms now controlled by JavaScript */

/* Large Tablet Responsive - 3 columns */
@media (max-width: 1300px) {
    .services-showcase-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }
}

/* Tablet Responsive - 2 columns */
@media (max-width: 1000px) {
    .services-showcase-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

/* Mobile Responsive - 1 column */
@media (max-width: 700px) {
    .services-showcase-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .service-showcase-card .card-inner {
        padding: 24px 20px;
    }

    .service-showcase-card .card-icon-wrap {
        width: 60px;
        height: 60px;
    }

    .service-showcase-card .service-icon {
        width: 60px;
        height: 60px;
        border-radius: 14px;
    }

    .service-showcase-card .service-icon img {
        width: 36px;
        height: 36px;
    }

    .service-showcase-card .card-content h4 {
        font-size: 18px;
    }
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.section-header {
    text-align: center;
    margin-bottom: 70px;
    position: relative;
    z-index: 1;
}

.section-label {
    display: inline-block;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.15) 0%, rgba(255, 140, 50, 0.1) 100%);
    color: var(--primary-orange);
    padding: 12px 30px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 25px;
    border: 1px solid rgba(255, 107, 0, 0.3);
    position: relative;
    overflow: hidden;
    box-shadow:
        0 4px 15px rgba(255, 107, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    animation: labelPulse 3s ease-in-out infinite;
}

.section-label::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
        transparent,
        rgba(255, 255, 255, 0.3),
        transparent);
    animation: labelShine 4s ease-in-out infinite;
}

@keyframes labelPulse {
    0%, 100% {
        box-shadow:
            0 4px 15px rgba(255, 107, 0, 0.2),
            inset 0 1px 0 rgba(255, 255, 255, 0.1);
    }
    50% {
        box-shadow:
            0 6px 25px rgba(255, 107, 0, 0.35),
            inset 0 1px 0 rgba(255, 255, 255, 0.15);
    }
}

@keyframes labelShine {
    0% { left: -100%; }
    50%, 100% { left: 100%; }
}

.section-dark .section-label {
    background: rgba(255, 107, 0, 0.2);
    border-color: rgba(255, 107, 0, 0.3);
}

.section-header h2 {
    font-size: clamp(32px, 4.5vw, 50px);
    margin-bottom: 20px;
    color: var(--black);
    font-weight: 700;
    line-height: 1.2;
}

.section-dark .section-header h2 {
    color: var(--white);
}

.section-header h2 span {
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.section-header p {
    color: var(--gray);
    font-size: 18px;
    max-width: 650px;
    margin: 0 auto;
    line-height: 1.8;
}

.section-dark .section-header p {
    color: rgba(255, 255, 255, 0.7);
}

/* Quiz Hint - Short-term thinking reminder */
.quiz-hint {
    background: rgba(0, 206, 209, 0.15);
    border: 1px solid rgba(0, 206, 209, 0.3);
    border-radius: 12px;
    padding: 12px 20px;
    margin-top: 15px;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.9);
    display: inline-block;
}

.quiz-hint strong {
    color: #00ced1;
}

.quiz-hint em {
    color: #00ced1;
    font-style: normal;
    font-weight: 600;
}

/* Services Intro - Enhanced styling for services section */
.services-intro {
    font-size: 19px !important;
    max-width: 720px !important;
    color: #555 !important;
}

.services-intro strong {
    color: var(--primary-orange);
    font-weight: 600;
}

/* === STATS SECTION - DARK THEME WITH GLASS MORPHISM === */
.stats-section {
    background: linear-gradient(180deg, transparent 0%, var(--black) 15%, #0a0a0a 50%, var(--black) 100%);
    padding: 160px 20px 120px;
    margin-top: -120px;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

/* Animated background grid effect */
.stats-section::before {
    content: '';
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        linear-gradient(rgba(255, 107, 0, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 107, 0, 0.03) 1px, transparent 1px);
    background-size: 50px 50px;
    animation: gridPulse 4s ease-in-out infinite;
    mask-image: linear-gradient(to bottom, transparent 0%, black 20%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 20%);
}

/* Floating orbs in background */
.stats-section::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.08) 0%, transparent 70%);
    transform: translate(-50%, -50%);
    animation: orbPulse 6s ease-in-out infinite;
    pointer-events: none;
}

@keyframes gridPulse {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

@keyframes orbPulse {
    0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; }
    50% { transform: translate(-50%, -50%) scale(1.2); opacity: 0.8; }
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.stat-card {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 50px 30px;
    border-radius: 24px;
    text-align: center;
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 107, 0, 0.15);
}

/* Animated border gradient */
.stat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 24px;
    padding: 2px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.5), transparent 40%, transparent 60%, rgba(255, 107, 0, 0.3));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.5s ease;
}

/* Glowing corner accent */
.stat-card::after {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.15) 0%, transparent 70%);
    opacity: 0;
    transition: all 0.5s ease;
    pointer-events: none;
}

.stat-card:hover {
    transform: translateY(-20px) scale(1.02);
    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.4),
        0 0 40px rgba(255, 107, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 107, 0, 0.4);
    background: rgba(255, 255, 255, 0.05);
}

.stat-card:hover::before {
    opacity: 1;
}

.stat-card:hover::after {
    opacity: 1;
    top: -50px;
    right: -50px;
}

.stat-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.2) 0%, rgba(255, 107, 0, 0.05) 100%);
    border: 2px solid rgba(255, 107, 0, 0.3);
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px;
    font-size: 36px;
    box-shadow:
        0 0 30px rgba(255, 107, 0, 0.2),
        inset 0 0 20px rgba(255, 107, 0, 0.1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    position: relative;
}

.stat-icon::before {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 26px;
    background: var(--gradient-orange);
    opacity: 0;
    z-index: -1;
    transition: opacity 0.5s ease;
    filter: blur(10px);
}

.stat-card:hover .stat-icon {
    transform: scale(1.15) rotate(5deg);
    background: var(--gradient-orange);
    border-color: var(--primary-orange);
    box-shadow:
        0 0 50px rgba(255, 107, 0, 0.5),
        0 10px 30px rgba(255, 107, 0, 0.3);
}

.stat-card:hover .stat-icon::before {
    opacity: 0.5;
}

.stat-icon img {
    width: 40px;
    height: 40px;
    filter: brightness(0) invert(1);
    opacity: 0.9;
    transition: all 0.5s ease;
}

.stat-card:hover .stat-icon img {
    opacity: 1;
    filter: brightness(0) invert(1);
}

.stat-number {
    font-size: 56px;
    font-weight: 800;
    margin-bottom: 12px;
    line-height: 1;
    background: linear-gradient(135deg, #fff 0%, #FF6B00 50%, #FF8C00 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 40px rgba(255, 107, 0, 0.3);
    position: relative;
    display: inline-block;
}

.stat-card:hover .stat-number {
    background: linear-gradient(135deg, #FF6B00 0%, #FF8C00 50%, #fff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    animation: numberGlow 2s ease-in-out infinite;
}

@keyframes numberGlow {
    0%, 100% { filter: drop-shadow(0 0 10px rgba(255, 107, 0, 0.5)); }
    50% { filter: drop-shadow(0 0 25px rgba(255, 107, 0, 0.8)); }
}

.stat-label {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 3px;
    font-weight: 600;
    transition: all 0.4s ease;
}

.stat-card:hover .stat-label {
    color: rgba(255, 255, 255, 0.9);
    letter-spacing: 4px;
}

/* === SERVICES === */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 350px), 1fr));
    gap: 35px;
}

.service-card {
    background: var(--white);
    border-radius: 24px;
    padding: 45px 35px;
    box-shadow: var(--shadow-md);
    border: 1px solid var(--white-dark);
    transition: var(--transition-smooth);
    position: relative;
    overflow: hidden;
}

.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: var(--gradient-orange);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}

.service-card::after {
    content: '';
    position: absolute;
    top: -100%;
    right: -100%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.03) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.service-card:hover {
    transform: translateY(-12px);
    box-shadow: var(--shadow-lg), 0 0 0 1px var(--primary-orange);
}

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

.service-card:hover::after {
    opacity: 1;
}

.service-icon {
    width: 80px;
    height: 80px;
    background: var(--gradient-orange);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    font-size: 36px;
    box-shadow: var(--shadow-orange);
    transition: var(--transition-bounce);
}

.service-card:hover .service-icon {
    transform: scale(1.15) rotate(10deg);
    box-shadow: var(--shadow-orange-lg);
}

.service-card h4 {
    font-size: 22px;
    margin-bottom: 15px;
    color: var(--black);
    font-weight: 700;
}

.service-card p {
    font-size: 15px;
    color: var(--gray);
    line-height: 1.8;
}

.service-card .learn-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    color: var(--primary-orange);
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: var(--transition-smooth);
}

.service-card .learn-more:hover {
    gap: 15px;
}

/* === FEATURES GRID === */
.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
}

.feature-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 35px 30px;
    transition: var(--transition-smooth);
    backdrop-filter: blur(10px);
}

.feature-card:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-8px);
    border-color: var(--primary-orange);
    box-shadow: var(--shadow-orange);
}

.feature-icon {
    width: 60px;
    height: 60px;
    background: var(--gradient-orange);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    font-size: 28px;
    box-shadow: var(--shadow-orange);
}

.feature-card h4 {
    font-size: 18px;
    color: var(--white);
    margin-bottom: 10px;
    font-weight: 600;
}

.feature-card p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
}

/* === EAS ADVANTAGE BENTO GRID === */
.section-advantage {
    overflow: hidden;
    background: linear-gradient(180deg, #0d0d0d 0%, #0a0a0a 20%, #1a1a1a 100%);
}

.advantage-bento {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto auto auto;
    gap: 20px;
    margin-top: 50px;
}

/* Bento Card Base Styles */
.bento-card {
    position: relative;
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.9) 0%, rgba(15, 15, 15, 0.95) 100%);
    border: 1px solid rgba(255, 107, 0, 0.15);
    border-radius: 24px;
    padding: 30px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.bento-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.05) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.bento-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 107, 0, 0.4);
    box-shadow:
        0 20px 40px rgba(0, 0, 0, 0.3),
        0 0 40px rgba(255, 107, 0, 0.1);
}

.bento-card:hover::before {
    opacity: 1;
}

/* Bento Glow Effect */
.bento-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.15) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.bento-card:hover .bento-glow {
    opacity: 1;
    animation: bentoGlowPulse 2s ease-in-out infinite;
}

@keyframes bentoGlowPulse {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(5%, 5%); }
}

/* Bento Icon */
.bento-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #FF6B00 0%, #FF8C3A 100%);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    box-shadow: 0 10px 30px rgba(255, 107, 0, 0.3);
    transition: all 0.4s ease;
    position: relative;
    z-index: 1;
}

.bento-icon svg {
    width: 28px;
    height: 28px;
    stroke: white;
}

.bento-card:hover .bento-icon {
    transform: scale(1.1) rotate(-5deg);
    box-shadow: 0 15px 40px rgba(255, 107, 0, 0.4);
}

/* Bento Card Sizes */
.bento-large {
    grid-column: span 2;
    grid-row: span 2;
    padding: 40px;
}

.bento-medium {
    grid-column: span 1;
    grid-row: span 1;
}

.bento-small {
    grid-column: span 1;
    grid-row: span 1;
    padding: 25px;
    text-align: center;
}

.bento-small .bento-icon {
    width: 50px;
    height: 50px;
    margin: 0 auto 15px;
}

.bento-small .bento-icon svg {
    width: 24px;
    height: 24px;
}

.bento-small h4 {
    font-size: 16px;
    margin-bottom: 8px;
}

.bento-small p {
    font-size: 13px;
    opacity: 0.7;
}

.bento-wide {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 35px 40px;
}

.bento-wide .bento-icon {
    flex-shrink: 0;
    margin-bottom: 0;
}

.bento-wide .bento-content {
    flex: 1;
}

/* Bento Typography */
.bento-card h3 {
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 15px;
    line-height: 1.3;
}

.bento-card h3 span,
.bento-card h4 span {
    color: #FF6B00;
}

.bento-card h4 {
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 12px;
}

.bento-card p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
}

/* Bento Stats */
.bento-stats {
    display: flex;
    gap: 40px;
    margin-top: 25px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 107, 0, 0.2);
}

.bento-stat {
    text-align: left;
}

.bento-stat .stat-num {
    font-size: 36px;
    font-weight: 700;
    color: #FF6B00;
    line-height: 1;
    display: inline;
}

.bento-stat .stat-suffix {
    font-size: 24px;
    font-weight: 700;
    color: #FF6B00;
}

.bento-stat .stat-label {
    display: block;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 5px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Certification Badges in Bento */
.certification-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 107, 0, 0.2);
    justify-content: center;
}

.cert-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    padding: 20px 25px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.1), rgba(255, 107, 0, 0.05));
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 16px;
    transition: all 0.3s ease;
    flex: 1;
    min-width: 150px;
    max-width: 200px;
}

.cert-badge:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 107, 0, 0.6);
    box-shadow: 0 15px 40px rgba(255, 107, 0, 0.25);
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.15), rgba(255, 107, 0, 0.08));
}

.cert-badge img {
    width: 140px;
    height: 140px;
    object-fit: contain;
    filter: drop-shadow(0 6px 20px rgba(255, 107, 0, 0.3));
    transition: transform 0.3s ease;
}

.cert-badge:hover img {
    transform: scale(1.08);
}

.cert-badge span {
    font-size: 13px;
    font-weight: 700;
    color: #FF6B00;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    line-height: 1.3;
}

/* Partner Badge - Special highlight */
.cert-badge-partner {
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.15), rgba(255, 107, 0, 0.08));
    border: 2px solid rgba(255, 107, 0, 0.5);
    position: relative;
}

.cert-badge-partner::before {
    content: 'OFFICIAL';
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: #FF6B00;
    color: #000;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 10px;
    letter-spacing: 1px;
}

.cert-badge-partner:hover {
    border-color: #FF6B00;
    box-shadow: 0 15px 50px rgba(255, 107, 0, 0.35);
}

/* Bento Badge */
.bento-badge {
    display: inline-block;
    margin-top: 15px;
    padding: 6px 14px;
    background: rgba(255, 107, 0, 0.15);
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    color: #FF6B00;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Bento Metrics */
.bento-metrics {
    display: flex;
    gap: 30px;
    margin-left: auto;
}

.bento-metrics .metric {
    text-align: center;
    padding: 15px 20px;
    background: rgba(255, 107, 0, 0.1);
    border-radius: 16px;
    border: 1px solid rgba(255, 107, 0, 0.2);
    transition: all 0.3s ease;
}

.bento-metrics .metric:hover {
    background: rgba(255, 107, 0, 0.2);
    transform: translateY(-3px);
}

.bento-metrics .metric-value {
    display: block;
    font-size: 24px;
    font-weight: 700;
    color: #FF6B00;
    line-height: 1;
}

.bento-metrics .metric-label {
    display: block;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Bento Pattern Background */
.bento-pattern {
    position: absolute;
    bottom: -20px;
    right: -20px;
    width: 200px;
    height: 200px;
    background-image:
        radial-gradient(circle at 2px 2px, rgba(255, 107, 0, 0.15) 1px, transparent 1px);
    background-size: 20px 20px;
    opacity: 0.5;
    pointer-events: none;
}

/* Bento Responsive */
@media (max-width: 1024px) {
    .advantage-bento {
        grid-template-columns: repeat(2, 1fr);
    }

    .bento-large {
        grid-column: span 2;
        grid-row: span 1;
    }

    .bento-wide {
        flex-direction: column;
        text-align: center;
    }

    .bento-wide .bento-icon {
        margin: 0 auto 20px;
    }

    .bento-metrics {
        margin: 20px 0 0 0;
        justify-content: center;
    }
}

@media (max-width: 640px) {
    .advantage-bento {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .bento-large,
    .bento-wide {
        grid-column: span 1;
    }

    .bento-card {
        padding: 25px;
    }

    .bento-stats {
        flex-direction: column;
        gap: 20px;
    }

    .certification-badges {
        gap: 15px;
    }

    .cert-badge {
        padding: 15px 20px;
        min-width: 120px;
    }

    .cert-badge img {
        width: 100px;
        height: 100px;
    }

    .cert-badge span {
        font-size: 11px;
    }

    .bento-metrics {
        flex-wrap: wrap;
    }

    .bento-metrics .metric {
        flex: 1;
        min-width: 80px;
    }
}

/* === APPS GRID === */
.apps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 25px;
}

.app-card {
    background: var(--white);
    padding: 35px 20px;
    border-radius: 20px;
    text-align: center;
    box-shadow: var(--shadow-md);
    transition: var(--transition-bounce);
    text-decoration: none;
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
}

.app-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--gradient-orange);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.app-card:hover {
    transform: translateY(-10px) scale(1.05);
    box-shadow: var(--shadow-lg), var(--shadow-orange);
    border-color: var(--primary-orange);
}

.app-card:hover::before {
    opacity: 0.05;
}

.app-card img {
    width: 55px;
    height: 55px;
    margin-bottom: 15px;
    object-fit: contain;
    transition: var(--transition-smooth);
    position: relative;
    z-index: 1;
}

.app-card:hover img {
    transform: scale(1.2) rotate(5deg);
}

.app-card span {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--black);
    position: relative;
    z-index: 1;
}

/* === ADDITIONAL SERVICES COMPACT === */
.additional-services-compact {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
    max-width: 1100px;
    margin: 0 auto;
}

.additional-service-item {
    background: var(--white);
    padding: 25px 15px;
    border-radius: 16px;
    text-align: center;
    box-shadow: var(--shadow-md);
    transition: var(--transition-bounce);
    border: 2px solid transparent;
}

.additional-service-item:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg), var(--shadow-orange);
    border-color: var(--primary-orange);
}

.additional-service-item img {
    width: 45px;
    height: 45px;
    margin-bottom: 12px;
    object-fit: contain;
    transition: var(--transition-smooth);
}

.additional-service-item:hover img {
    transform: scale(1.15);
}

.additional-service-item h5 {
    font-size: 14px;
    font-weight: 700;
    color: var(--black);
    margin-bottom: 6px;
}

.additional-service-item p {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.4;
    margin: 0;
}

/* === APPS GRID COMPACT === */
.apps-grid-compact {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    max-width: 900px;
    margin: 0 auto;
}

.app-item {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    padding: 10px 18px;
    border-radius: 50px;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: var(--transition-smooth);
}

.app-item:hover {
    background: rgba(255, 107, 0, 0.2);
    border-color: var(--primary-orange);
    transform: translateY(-3px);
}

.app-item img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.app-item span {
    font-size: 13px;
    font-weight: 600;
    color: var(--white);
}

/* Responsive for compact sections */
@media (max-width: 1000px) {
    .additional-services-compact {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .additional-services-compact {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .additional-service-item {
        padding: 20px 12px;
    }

    .apps-grid-compact {
        gap: 10px;
    }

    .app-item {
        padding: 8px 14px;
    }

    .app-item img {
        width: 24px;
        height: 24px;
    }

    .app-item span {
        font-size: 12px;
    }
}

/* === CLIENT MARQUEE === */
.marquee-section {
    padding: 80px 0;
    background: var(--white-soft);
    overflow: hidden;
    position: relative;
}

.marquee-container {
    display: flex;
    overflow: hidden;
    position: relative;
}

.marquee-container::before,
.marquee-container::after {
    content: '';
    position: absolute;
    top: 0;
    width: 200px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.marquee-container::before {
    left: 0;
    background: linear-gradient(to right, var(--white-soft), transparent);
}

.marquee-container::after {
    right: 0;
    background: linear-gradient(to left, var(--white-soft), transparent);
}

.marquee-track {
    display: flex;
    gap: 80px;
    animation: marquee 25s linear infinite;
    align-items: center;
}

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

.marquee-item {
    flex-shrink: 0;
    height: 60px;
    opacity: 0.5;
    filter: grayscale(100%);
    transition: var(--transition-smooth);
}

.marquee-item:hover {
    opacity: 1;
    filter: grayscale(0%);
    transform: scale(1.2);
}

/* ============================================
   CLIENT TRUST & TESTIMONIALS COMBINED SECTION
   ============================================ */
.client-trust-section {
    position: relative;
    overflow: hidden;
    padding: 100px 0;
    background: linear-gradient(180deg, #0a0a0a 0%, #0d0d0d 100%);
}

/* Trust Logos */
.trust-logos-wrapper {
    margin-bottom: 60px;
    overflow: hidden;
    position: relative;
    padding: 20px 0;
}

.trust-logos-wrapper::before,
.trust-logos-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    width: 150px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.trust-logos-wrapper::before {
    left: 0;
    background: linear-gradient(to right, #0a0a0a, transparent);
}

.trust-logos-wrapper::after {
    right: 0;
    background: linear-gradient(to left, #0a0a0a, transparent);
}

.trust-logos-track {
    display: flex;
    gap: 60px;
    animation: logoScroll 20s linear infinite;
    align-items: center;
    justify-content: center;
}

.trust-logos-track:hover {
    animation-play-state: paused;
}

@keyframes logoScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.trust-logo-item {
    flex-shrink: 0;
    padding: 15px 25px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    transition: all 0.4s ease;
}

.trust-logo-item:hover {
    background: rgba(255, 107, 0, 0.08);
    border-color: rgba(255, 107, 0, 0.3);
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 10px 30px rgba(255, 107, 0, 0.15);
}

.trust-logo-item img {
    height: 45px;
    filter: brightness(0) invert(1);
    opacity: 0.6;
    transition: all 0.4s ease;
}

.trust-logo-item:hover img {
    opacity: 1;
    filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(255, 107, 0, 0.4));
}

/* ==================== ORBITAL SYSTEM - Client Logos ==================== */
.orbital-system-wrapper {
    margin-bottom: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 0;
}

.orbital-system {
    position: relative;
    width: 500px;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Center Hub */
.orbital-center {
    position: absolute;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    box-shadow: 0 0 40px rgba(255, 107, 0, 0.5), 0 0 80px rgba(255, 107, 0, 0.3);
}

.orbital-center-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.orbital-center-text {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
}

.orbital-center-highlight {
    font-size: 18px;
    color: #fff;
    font-weight: 800;
}

.orbital-center-pulse {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 2px solid rgba(255, 107, 0, 0.6);
    animation: orbitalPulse 2s ease-out infinite;
}

.orbital-center-pulse.delay-1 {
    animation-delay: 1s;
}

@keyframes orbitalPulse {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }
    100% {
        transform: scale(2);
        opacity: 0;
    }
}

/* Orbit Paths */
.orbit {
    position: absolute;
    border-radius: 50%;
    border: 1px dashed rgba(255, 107, 0, 0.2);
    overflow: visible;
}

/* Inner orbits have higher z-index so they can be hovered */
.orbit-inner { z-index: 8; }
.orbit-middle { z-index: 7; }
.orbit-outer { z-index: 6; }

.orbit-path {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid rgba(255, 107, 0, 0.1);
}

.orbit-inner {
    width: 240px;
    height: 240px;
    animation: orbitRotate 30s linear infinite;
}

.orbit-middle {
    width: 360px;
    height: 360px;
    animation: orbitRotate 45s linear infinite reverse;
}

.orbit-outer {
    width: 480px;
    height: 480px;
    animation: orbitRotate 60s linear infinite;
}

@keyframes orbitRotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Orbit Items */
.orbit-item {
    position: absolute;
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
    /* Position calculation - center the item */
    top: 50%;
    left: 50%;
    margin-left: -30px;
    margin-top: -30px;
    transform: rotate(calc(360deg / var(--total) * var(--i)))
               translateY(-90px)
               rotate(calc(-360deg / var(--total) * var(--i)));
}

.orbit-inner .orbit-item {
    transform: rotate(calc(360deg / var(--total) * var(--i)))
               translateY(-90px)
               rotate(calc(-360deg / var(--total) * var(--i)));
}

.orbit-middle .orbit-item {
    transform: rotate(calc(360deg / var(--total) * var(--i)))
               translateY(-150px)
               rotate(calc(-360deg / var(--total) * var(--i)));
}

.orbit-outer .orbit-item {
    transform: rotate(calc(360deg / var(--total) * var(--i)))
               translateY(-210px)
               rotate(calc(-360deg / var(--total) * var(--i)));
}

.orbit-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    /* Counter-rotate to keep images upright */
    animation: counterRotate 30s linear infinite;
}

.orbit-inner .orbit-item img {
    animation: counterRotate 30s linear infinite;
}

.orbit-middle .orbit-item img {
    animation: clockwiseRotate 45s linear infinite;
}

.orbit-outer .orbit-item img {
    animation: counterRotate 60s linear infinite;
}

@keyframes counterRotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(-360deg); }
}

/* Clockwise rotation for reverse-rotating orbits (middle orbit) */
@keyframes clockwiseRotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Hover effects disabled for cleaner look */

/* Orbital Caption */
.orbital-caption {
    margin-top: 30px;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.6);
    text-align: center;
    font-style: italic;
}

/* ==================== STACKED LAYOUT (Orbital + Polaroids) ==================== */
.trust-grid-layout {
    display: flex;
    flex-direction: column;
    gap: 60px;
    align-items: center;
    margin-bottom: 60px;
    width: 100%;
    max-width: 100%;
    padding: 0;
}

.orbital-section {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
    padding: 40px 20px;
    width: 100%;
}

/* Larger Orbital System */
.orbital-system-wrapper-large {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
}

.orbital-system-large {
    position: relative;
    width: 620px;
    height: 620px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.orbital-system-large .orbital-center {
    width: 130px;
    height: 130px;
}

.orbital-system-large .orbit-inner {
    width: 300px;
    height: 300px;
}

.orbital-system-large .orbit-middle {
    width: 450px;
    height: 450px;
}

.orbital-system-large .orbit-outer {
    width: 600px;
    height: 600px;
}

.orbital-system-large .orbit-item {
    width: 65px;
    height: 65px;
    padding: 10px;
    pointer-events: none;
}

.orbital-system-large .orbit-item {
    margin-left: -32.5px;
    margin-top: -32.5px;
}

.orbital-system-large .orbit-inner .orbit-item {
    transform: rotate(calc(360deg / var(--total) * var(--i)))
               translateY(-120px)
               rotate(calc(-360deg / var(--total) * var(--i)));
}

.orbital-system-large .orbit-middle .orbit-item {
    transform: rotate(calc(360deg / var(--total) * var(--i)))
               translateY(-195px)
               rotate(calc(-360deg / var(--total) * var(--i)));
}

.orbital-system-large .orbit-outer .orbit-item {
    transform: rotate(calc(360deg / var(--total) * var(--i)))
               translateY(-270px)
               rotate(calc(-360deg / var(--total) * var(--i)));
}

/* ==================== MEGA ORBITAL SYSTEM (2X SIZE) ==================== */
.orbital-system-wrapper-mega {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 0;
    width: 100%;
}

.orbital-system-mega {
    position: relative;
    width: 1500px;
    height: 1500px;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 95vw;
}

/* Company Logo Center with Animations */
.orbital-center-mega {
    position: absolute;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle at 30% 30%, #1a1a1a 0%, #0d0d0d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        0 0 100px rgba(255, 107, 0, 0.5),
        0 0 200px rgba(255, 107, 0, 0.3),
        0 0 300px rgba(255, 107, 0, 0.1),
        inset 0 0 60px rgba(255, 107, 0, 0.15);
    z-index: 2;
    border: 4px solid rgba(255, 107, 0, 0.4);
    animation: centerPulse 4s ease-in-out infinite;
}

@keyframes centerPulse {
    0%, 100% {
        box-shadow:
            0 0 80px rgba(255, 107, 0, 0.5),
            0 0 150px rgba(255, 107, 0, 0.3),
            0 0 200px rgba(255, 107, 0, 0.1),
            inset 0 0 40px rgba(255, 107, 0, 0.15);
        transform: scale(1);
    }
    50% {
        box-shadow:
            0 0 100px rgba(255, 107, 0, 0.6),
            0 0 180px rgba(255, 107, 0, 0.4),
            0 0 250px rgba(255, 107, 0, 0.2),
            inset 0 0 50px rgba(255, 107, 0, 0.2);
        transform: scale(1.02);
    }
}

.orbital-logo-container {
    position: relative;
    width: 240px;
    height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: logoFloat 4s ease-in-out infinite;
}

.orbital-logo {
    width: 210px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 0 30px rgba(255, 107, 0, 0.6));
    animation: logoPulse 3s ease-in-out infinite;
}

.orbital-logo-glow {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.3) 0%, transparent 70%);
    animation: glowPulse 2s ease-in-out infinite;
}

/* Expanding rings around logo */
.orbital-center-ring {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 2px solid rgba(255, 107, 0, 0.5);
    animation: ringExpand 3s ease-out infinite;
    pointer-events: none;
}

.orbital-center-ring.delay-1 {
    animation-delay: 1s;
}

.orbital-center-ring.delay-2 {
    animation-delay: 2s;
}

.orbital-center-ring.delay-3 {
    animation-delay: 0.5s;
    border-width: 1px;
}

/* Scan line effect on logo */
.orbital-logo-scan {
    position: absolute;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, transparent, rgba(255, 107, 0, 0.8), transparent);
    top: 0;
    left: 0;
    animation: logoScan 3s ease-in-out infinite;
}

@keyframes logoScan {
    0%, 100% {
        top: 0%;
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    95%, 5% {
        opacity: 0;
    }
    50% {
        top: 100%;
    }
}

/* Energy field around center */
.orbital-energy-field {
    position: absolute;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background: radial-gradient(circle, transparent 40%, rgba(255, 107, 0, 0.05) 60%, transparent 70%);
    animation: energyPulse 3s ease-in-out infinite;
    pointer-events: none;
}

@keyframes energyPulse {
    0%, 100% {
        transform: scale(1) rotate(0deg);
        opacity: 0.5;
    }
    50% {
        transform: scale(1.2) rotate(180deg);
        opacity: 1;
    }
}

/* Floating particles */
.orbital-particles {
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.orbital-particles .particle {
    position: absolute;
    width: 6px;
    height: 6px;
    background: #FF6B00;
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(255, 107, 0, 0.8);
}

.orbital-particles .particle:nth-child(1) {
    top: 10%;
    left: 50%;
    animation: particleOrbit 8s linear infinite;
}

.orbital-particles .particle:nth-child(2) {
    top: 50%;
    right: 5%;
    animation: particleOrbit 10s linear infinite reverse;
    animation-delay: -2s;
}

.orbital-particles .particle:nth-child(3) {
    bottom: 15%;
    left: 20%;
    animation: particleOrbit 7s linear infinite;
    animation-delay: -4s;
}

.orbital-particles .particle:nth-child(4) {
    top: 30%;
    left: 10%;
    animation: particleOrbit 9s linear infinite reverse;
    animation-delay: -1s;
}

.orbital-particles .particle:nth-child(5) {
    bottom: 30%;
    right: 15%;
    animation: particleOrbit 11s linear infinite;
    animation-delay: -3s;
}

.orbital-particles .particle:nth-child(6) {
    top: 70%;
    right: 30%;
    animation: particleOrbit 6s linear infinite reverse;
    animation-delay: -5s;
}

.orbital-particles .particle:nth-child(7) {
    top: 40%;
    left: 5%;
    animation: particleOrbit 11s linear infinite;
    animation-delay: -3s;
}

.orbital-particles .particle:nth-child(8) {
    bottom: 10%;
    right: 40%;
    animation: particleOrbit 8s linear infinite reverse;
    animation-delay: -6s;
}

@keyframes logoFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-8px) scale(1.02); }
}

@keyframes logoPulse {
    0%, 100% { filter: drop-shadow(0 0 20px rgba(255, 107, 0, 0.5)); }
    50% { filter: drop-shadow(0 0 40px rgba(255, 107, 0, 0.8)); }
}

@keyframes glowPulse {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.1); }
}

@keyframes ringExpand {
    0% { transform: scale(1); opacity: 0.8; }
    100% { transform: scale(2.5); opacity: 0; }
}

@keyframes particleOrbit {
    0% { transform: rotate(0deg) translateX(120px) rotate(0deg); }
    100% { transform: rotate(360deg) translateX(120px) rotate(-360deg); }
}

/* Mega Orbit Sizes - Full width centered (50% larger) */
.orbital-system-mega .orbit-inner {
    width: 570px;
    height: 570px;
    animation: orbitRotate 35s linear infinite, orbitGlow 4s ease-in-out infinite;
}

.orbital-system-mega .orbit-middle {
    width: 930px;
    height: 930px;
    animation: orbitRotate 50s linear infinite reverse, orbitGlow 5s ease-in-out infinite 1s;
}

.orbital-system-mega .orbit-outer {
    width: 1380px;
    height: 1380px;
    animation: orbitRotate 70s linear infinite, orbitGlow 6s ease-in-out infinite 2s;
}

@keyframes orbitGlow {
    0%, 100% {
        border-color: rgba(255, 107, 0, 0.15);
        box-shadow: 0 0 20px rgba(255, 107, 0, 0.05);
    }
    50% {
        border-color: rgba(255, 107, 0, 0.4);
        box-shadow: 0 0 40px rgba(255, 107, 0, 0.15);
    }
}

/* Mega Orbit Items (50% larger) */
.orbital-system-mega .orbit-item {
    width: 120px;
    height: 120px;
    padding: 18px;
    pointer-events: auto;
    margin-left: -60px;
    margin-top: -60px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.orbital-system-mega .orbit-item:hover {
    transform: rotate(calc(360deg / var(--total) * var(--i)))
               translateY(var(--translate-distance))
               rotate(calc(-360deg / var(--total) * var(--i)))
               scale(1.4) !important;
    z-index: 100;
    box-shadow:
        0 0 40px rgba(255, 107, 0, 0.6),
        0 0 80px rgba(255, 107, 0, 0.3),
        0 20px 50px rgba(0, 0, 0, 0.4);
    background: #fff;
    border: 4px solid rgba(255, 107, 0, 0.8);
}

.orbital-system-mega .orbit-item:hover img {
    animation-play-state: paused;
    transform: scale(1.15);
}

.orbital-system-mega .orbit-inner .orbit-item {
    --translate-distance: -255px;
    transform: rotate(calc(360deg / var(--total) * var(--i)))
               translateY(-255px)
               rotate(calc(-360deg / var(--total) * var(--i)));
}

.orbital-system-mega .orbit-middle .orbit-item {
    --translate-distance: -435px;
    transform: rotate(calc(360deg / var(--total) * var(--i)))
               translateY(-435px)
               rotate(calc(-360deg / var(--total) * var(--i)));
}

.orbital-system-mega .orbit-outer .orbit-item {
    --translate-distance: -660px;
    transform: rotate(calc(360deg / var(--total) * var(--i)))
               translateY(-660px)
               rotate(calc(-360deg / var(--total) * var(--i)));
}

/* Keep logos upright - counter-rotate to match orbit speed */
.orbital-system-mega .orbit-inner .orbit-item img {
    animation: counterRotate 35s linear infinite;
}

.orbital-system-mega .orbit-middle .orbit-item img {
    animation: clockwiseRotate 50s linear infinite;
}

.orbital-system-mega .orbit-outer .orbit-item img {
    animation: counterRotate 70s linear infinite;
}

/* Orbit Item Tooltip - Fixed position popup (Much larger on hover) */
.orbit-tooltip {
    position: fixed;
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    background: linear-gradient(135deg, rgba(20, 20, 20, 0.98), rgba(10, 10, 10, 0.98));
    color: #fff;
    padding: 40px 50px;
    border-radius: 24px;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    z-index: 10000;
    border: 3px solid rgba(255, 107, 0, 0.6);
    box-shadow:
        0 25px 80px rgba(0, 0, 0, 0.7),
        0 0 60px rgba(255, 107, 0, 0.3);
    text-transform: capitalize;
    min-width: 320px;
    backdrop-filter: blur(15px);
}

.orbit-tooltip.visible {
    display: flex;
}

.orbit-tooltip-logo {
    width: 200px;
    height: 200px;
    object-fit: contain;
    background: #fff;
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

.orbit-tooltip-name {
    color: #FF6B00;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 0.5px;
    max-width: 300px;
    line-height: 1.3;
}

/* ==================== POLAROID GRID TESTIMONIALS ==================== */
.testimonials-polaroid-section {
    width: 100%;
    max-width: 1400px;
    overflow: visible;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 50px 30px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 20px;
    margin: 0 auto;
}

/* Testimonials Header */
.testimonials-header {
    text-align: center;
    margin-bottom: 40px;
    width: 100%;
}

.testimonials-badge {
    display: inline-block;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.2), rgba(255, 107, 0, 0.1));
    border: 1px solid rgba(255, 107, 0, 0.4);
    color: #FF6B00;
    padding: 8px 20px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.testimonials-title {
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    margin: 0;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

/* Smooth Section Transition */
.section-transition-smooth {
    height: 0;
    display: none;
}

.polaroid-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    width: 100%;
    padding: 20px;
}

.polaroid-card {
    background: #fff;
    border-radius: 4px;
    padding: 15px 15px 20px 15px;
    box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.3),
        0 3px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    cursor: pointer;
    transform: rotate(var(--rotate, 0deg));
    position: relative;
    display: flex;
    flex-direction: column;
}

.polaroid-card:hover {
    z-index: 100;
    transform: scale(1.05) rotate(0deg) translateY(-5px) !important;
    box-shadow:
        0 25px 50px rgba(255, 107, 0, 0.3),
        0 15px 30px rgba(0, 0, 0, 0.4);
    border: 2px solid rgba(255, 107, 0, 0.5);
}

/* Tape effect */
.polaroid-tape {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%) rotate(-2deg);
    width: 50px;
    height: 20px;
    background: rgba(255, 220, 150, 0.75);
    opacity: 0.9;
}

.polaroid-tape.tape-right {
    left: auto;
    right: 15px;
    transform: rotate(12deg);
}

.polaroid-tape.tape-center {
    transform: translateX(-50%) rotate(3deg);
}

/* Polaroid content */
.polaroid-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.polaroid-quote {
    font-size: 36px;
    font-weight: 700;
    color: #FF6B00;
    line-height: 0.6;
    opacity: 0.4;
    font-family: Georgia, serif;
    margin-bottom: 5px;
}

.polaroid-text {
    font-size: 11px;
    color: #333;
    line-height: 1.4;
    flex: 1;
    margin-bottom: 10px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.polaroid-author {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 8px;
    border-top: 1px solid #eee;
}

.polaroid-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    flex-shrink: 0;
}

.polaroid-info {
    flex: 1;
    min-width: 0;
}

.polaroid-info strong {
    display: block;
    font-size: 10px;
    color: #222;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.polaroid-info span {
    font-size: 9px;
    color: #666;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

.polaroid-stars {
    color: #FF6B00;
    font-size: 10px;
    letter-spacing: 1px;
    margin-top: 6px;
}

/* ==================== POLAROID SCATTER TESTIMONIALS ==================== */
.testimonials-section {
    position: relative;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.polaroid-scatter {
    position: relative;
    width: 100%;
    height: 550px;
}

.polaroid {
    position: absolute;
    width: 240px;
    background: #fff;
    border-radius: 4px;
    padding: 15px 15px 25px 15px;
    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.3),
        0 5px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: default;
}

.polaroid:hover {
    z-index: 10;
    transform: scale(1.05) rotate(0deg) !important;
    box-shadow:
        0 25px 50px rgba(0, 0, 0, 0.4),
        0 10px 25px rgba(0, 0, 0, 0.3);
}

/* Polaroid positions - scattered effect */
.polaroid-1 {
    top: 0;
    left: 10%;
    transform: rotate(-8deg);
    z-index: 4;
}

.polaroid-2 {
    top: 120px;
    right: 0;
    transform: rotate(6deg);
    z-index: 3;
}

.polaroid-3 {
    top: 280px;
    left: 5%;
    transform: rotate(4deg);
    z-index: 2;
}

.polaroid-4 {
    bottom: 0;
    right: 10%;
    transform: rotate(-5deg);
    z-index: 1;
}

/* Polaroid tape effect */
.polaroid-tape {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%) rotate(-2deg);
    width: 60px;
    height: 25px;
    background: rgba(255, 220, 150, 0.7);
    opacity: 0.9;
}

.polaroid-tape.tape-right {
    left: auto;
    right: 20px;
    transform: rotate(15deg);
}

.polaroid-tape.tape-center {
    transform: translateX(-50%) rotate(3deg);
}

.polaroid-inner {
    position: relative;
}

.polaroid-quote {
    position: absolute;
    top: -5px;
    left: 0;
    font-size: 48px;
    font-weight: 700;
    color: #FF6B00;
    line-height: 1;
    opacity: 0.3;
}

.polaroid-text {
    font-size: 13px;
    color: #333;
    line-height: 1.5;
    margin-bottom: 15px;
    padding-top: 20px;
    min-height: 70px;
}

.polaroid-author {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid #eee;
}

.polaroid-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
}

.polaroid-info strong {
    display: block;
    font-size: 12px;
    color: #222;
}

.polaroid-info span {
    font-size: 10px;
    color: #666;
}

.polaroid-rating {
    margin-top: 10px;
    color: #FF6B00;
    font-size: 14px;
    letter-spacing: 2px;
}

/* ==================== RESPONSIVE ORBITAL (scaled 50% larger) ==================== */
@media (max-width: 1800px) {
    .orbital-system-mega {
        width: 1350px;
        height: 1350px;
    }

    .orbital-center-mega {
        width: 270px;
        height: 270px;
    }

    .orbital-logo { width: 180px; }
    .orbital-logo-container { width: 220px; height: 220px; }

    .orbital-system-mega .orbit-inner { width: 510px; height: 510px; }
    .orbital-system-mega .orbit-middle { width: 840px; height: 840px; }
    .orbital-system-mega .orbit-outer { width: 1260px; height: 1260px; }

    .orbital-system-mega .orbit-item { width: 110px; height: 110px; margin-left: -55px; margin-top: -55px; }
    .orbital-system-mega .orbit-inner .orbit-item { --translate-distance: -225px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-225px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-mega .orbit-middle .orbit-item { --translate-distance: -390px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-390px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-mega .orbit-outer .orbit-item { --translate-distance: -600px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-600px) rotate(calc(-360deg / var(--total) * var(--i))); }
}

@media (max-width: 1600px) {
    .orbital-system-mega {
        width: 1200px;
        height: 1200px;
    }

    .orbital-center-mega {
        width: 240px;
        height: 240px;
    }

    .orbital-logo { width: 160px; }
    .orbital-logo-container { width: 195px; height: 195px; }

    .orbital-system-mega .orbit-inner { width: 450px; height: 450px; }
    .orbital-system-mega .orbit-middle { width: 750px; height: 750px; }
    .orbital-system-mega .orbit-outer { width: 1125px; height: 1125px; }

    .orbital-system-mega .orbit-item { width: 100px; height: 100px; margin-left: -50px; margin-top: -50px; }
    .orbital-system-mega .orbit-inner .orbit-item { --translate-distance: -195px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-195px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-mega .orbit-middle .orbit-item { --translate-distance: -345px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-345px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-mega .orbit-outer .orbit-item { --translate-distance: -535px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-535px) rotate(calc(-360deg / var(--total) * var(--i))); }
}

@media (max-width: 1400px) {
    .orbital-system-mega {
        width: 1000px;
        height: 1000px;
    }

    .orbital-center-mega {
        width: 200px;
        height: 200px;
    }

    .orbital-logo { width: 140px; }
    .orbital-logo-container { width: 165px; height: 165px; }

    .orbital-system-mega .orbit-inner { width: 380px; height: 380px; }
    .orbital-system-mega .orbit-middle { width: 620px; height: 620px; }
    .orbital-system-mega .orbit-outer { width: 940px; height: 940px; }

    .orbital-system-mega .orbit-item { width: 90px; height: 90px; margin-left: -45px; margin-top: -45px; }
    .orbital-system-mega .orbit-inner .orbit-item { --translate-distance: -165px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-165px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-mega .orbit-middle .orbit-item { --translate-distance: -285px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-285px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-mega .orbit-outer .orbit-item { --translate-distance: -445px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-445px) rotate(calc(-360deg / var(--total) * var(--i))); }
}

@media (max-width: 1200px) {
    .orbital-system-mega {
        width: 850px;
        height: 850px;
    }

    .orbital-center-mega {
        width: 170px;
        height: 170px;
    }

    .orbital-logo { width: 115px; }
    .orbital-logo-container { width: 140px; height: 140px; }

    .orbital-system-mega .orbit-inner { width: 320px; height: 320px; }
    .orbital-system-mega .orbit-middle { width: 530px; height: 530px; }
    .orbital-system-mega .orbit-outer { width: 800px; height: 800px; }

    .orbital-system-mega .orbit-item { width: 80px; height: 80px; padding: 14px; margin-left: -40px; margin-top: -40px; }
    .orbital-system-mega .orbit-inner .orbit-item { --translate-distance: -135px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-135px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-mega .orbit-middle .orbit-item { --translate-distance: -240px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-240px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-mega .orbit-outer .orbit-item { --translate-distance: -375px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-375px) rotate(calc(-360deg / var(--total) * var(--i))); }

    .orbital-system-large {
        width: 520px;
        height: 520px;
    }

    .orbital-system-large .orbit-inner { width: 250px; height: 250px; }
    .orbital-system-large .orbit-middle { width: 380px; height: 380px; }
    .orbital-system-large .orbit-outer { width: 500px; height: 500px; }

    .orbital-system-large .orbit-inner .orbit-item { transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-100px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-large .orbit-middle .orbit-item { transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-165px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-large .orbit-outer .orbit-item { transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-225px) rotate(calc(-360deg / var(--total) * var(--i))); }

    .polaroid { width: 200px; }
}

@media (max-width: 992px) {
    .trust-grid-layout {
        gap: 40px;
    }

    .polaroid-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .polaroid-card:nth-child(n+7) {
        display: flex;
    }

    /* Mega orbital for tablets - centered (50% larger) */
    .orbital-system-mega {
        width: 700px;
        height: 700px;
    }

    .orbital-center-mega {
        width: 145px;
        height: 145px;
    }

    .orbital-logo { width: 95px; }
    .orbital-logo-container { width: 120px; height: 120px; }

    .orbital-system-mega .orbit-inner { width: 275px; height: 275px; }
    .orbital-system-mega .orbit-middle { width: 455px; height: 455px; }
    .orbital-system-mega .orbit-outer { width: 670px; height: 670px; }

    .orbital-system-mega .orbit-item { width: 70px; height: 70px; padding: 12px; margin-left: -35px; margin-top: -35px; }
    .orbital-system-mega .orbit-inner .orbit-item { --translate-distance: -115px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-115px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-mega .orbit-middle .orbit-item { --translate-distance: -205px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-205px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-mega .orbit-outer .orbit-item { --translate-distance: -310px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-310px) rotate(calc(-360deg / var(--total) * var(--i))); }

    .testimonials-section {
        order: 2;
        min-height: auto;
    }

    .orbital-system-large {
        width: 450px;
        height: 450px;
    }

    .orbital-system-large .orbit-inner { width: 220px; height: 220px; }
    .orbital-system-large .orbit-middle { width: 330px; height: 330px; }
    .orbital-system-large .orbit-outer { width: 430px; height: 430px; }

    .orbital-system-large .orbit-item { width: 55px; height: 55px; margin-left: -27.5px; margin-top: -27.5px; }
    .orbital-system-large .orbit-inner .orbit-item { transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-85px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-large .orbit-middle .orbit-item { transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-140px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-large .orbit-outer .orbit-item { transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-190px) rotate(calc(-360deg / var(--total) * var(--i))); }

    /* Testimonial carousel adjustments - deprecated */
    .testimonials-stack {
        min-height: 350px;
    }

    .testimonial-card {
        padding: 25px;
    }

    .testimonial-text {
        font-size: 15px;
        min-height: 80px;
    }

    .polaroid-scatter {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        height: auto;
        padding: 20px;
    }

    .polaroid {
        position: relative;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: rotate(0deg) !important;
        width: 100%;
    }

    .polaroid:hover {
        transform: scale(1.02) !important;
    }
}

@media (max-width: 576px) {
    /* Mega orbital for mobile (50% larger) */
    .orbital-system-mega {
        width: 450px;
        height: 450px;
    }

    .orbital-center-mega {
        width: 95px;
        height: 95px;
    }

    .orbital-logo { width: 65px; }
    .orbital-logo-container { width: 80px; height: 80px; }

    .orbital-system-mega .orbit-inner { width: 180px; height: 180px; }
    .orbital-system-mega .orbit-middle { width: 300px; height: 300px; }
    .orbital-system-mega .orbit-outer { width: 430px; height: 430px; }

    .orbital-system-mega .orbit-item { width: 52px; height: 52px; padding: 7px; margin-left: -26px; margin-top: -26px; }
    .orbital-system-mega .orbit-inner .orbit-item { --translate-distance: -70px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-70px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-mega .orbit-middle .orbit-item { --translate-distance: -125px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-125px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-mega .orbit-outer .orbit-item { --translate-distance: -195px; transform: rotate(calc(360deg / var(--total) * var(--i))) translateY(-195px) rotate(calc(-360deg / var(--total) * var(--i))); }

    /* Polaroid grid for mobile */
    .polaroid-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .polaroid-card {
        padding: 8px 8px 15px 8px;
    }

    .polaroid-card:nth-child(n+7) {
        display: none;
    }

    .polaroid-quote {
        font-size: 24px;
    }

    .polaroid-text {
        font-size: 11px;
        -webkit-line-clamp: 3;
    }

    .polaroid-avatar {
        width: 22px;
        height: 22px;
        font-size: 10px;
    }

    .polaroid-info strong {
        font-size: 11px;
    }

    .polaroid-info span {
        font-size: 10px;
    }

    .polaroid-stars {
        font-size: 10px;
    }

    .polaroid-tape {
        width: 35px;
        height: 15px;
        top: -8px;
    }

    .orbital-system-large {
        width: 320px;
        height: 320px;
    }

    .orbital-system-large .orbital-center { width: 80px; height: 80px; }
    .orbital-system-large .orbit-inner { width: 160px; height: 160px; }
    .orbital-system-large .orbit-middle { width: 240px; height: 240px; }
    .orbital-system-large .orbit-outer { width: 310px; height: 310px; }

    .orbital-system-large .orbit-item { width: 42px; height: 42px; padding: 6px; }
    .orbital-system-large .orbit-inner .orbit-item { transform: rotate(calc(360deg / var(--total) * var(--i))) translate(60px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-large .orbit-middle .orbit-item { transform: rotate(calc(360deg / var(--total) * var(--i))) translate(100px) rotate(calc(-360deg / var(--total) * var(--i))); }
    .orbital-system-large .orbit-outer .orbit-item { transform: rotate(calc(360deg / var(--total) * var(--i))) translate(135px) rotate(calc(-360deg / var(--total) * var(--i))); }

    /* Testimonial carousel for mobile */
    .testimonials-stack {
        min-height: 380px;
    }

    .testimonial-card {
        padding: 20px;
    }

    .testimonial-quote-icon {
        font-size: 48px;
    }

    .testimonial-text {
        font-size: 14px;
        line-height: 1.6;
    }

    .testimonial-avatar {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }

    .testimonial-info strong {
        font-size: 13px;
    }

    .testimonial-info span {
        font-size: 11px;
    }

    .testimonial-dots {
        gap: 8px;
    }

    .testimonial-dot {
        width: 10px;
        height: 10px;
    }

    .polaroid-scatter {
        grid-template-columns: 1fr;
    }

    .polaroid {
        max-width: 280px;
        margin: 0 auto;
    }
}

/* Responsive Orbital */
@media (max-width: 768px) {
    .orbital-system {
        width: 350px;
        height: 350px;
    }

    .orbital-center {
        width: 80px;
        height: 80px;
    }

    .orbital-center-text {
        font-size: 11px;
    }

    .orbital-center-highlight {
        font-size: 14px;
    }

    .orbit-inner {
        width: 160px;
        height: 160px;
    }

    .orbit-middle {
        width: 240px;
        height: 240px;
    }

    .orbit-outer {
        width: 320px;
        height: 320px;
    }

    .orbit-item {
        width: 45px;
        height: 45px;
        padding: 6px;
    }

    .orbit-inner .orbit-item {
        transform: rotate(calc(360deg / var(--total) * var(--i)))
                   translate(60px)
                   rotate(calc(-360deg / var(--total) * var(--i)));
    }

    .orbit-middle .orbit-item {
        transform: rotate(calc(360deg / var(--total) * var(--i)))
                   translate(100px)
                   rotate(calc(-360deg / var(--total) * var(--i)));
    }

    .orbit-outer .orbit-item {
        transform: rotate(calc(360deg / var(--total) * var(--i)))
                   translate(140px)
                   rotate(calc(-360deg / var(--total) * var(--i)));
    }
}

/* Testimonials Container */
.trust-testimonials {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    margin-bottom: 60px;
}

/* Featured Testimonial */
.trust-testimonial-featured {
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.08) 0%, rgba(255, 107, 0, 0.02) 100%);
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 24px;
    padding: 50px;
    position: relative;
    overflow: hidden;
    transition: all 0.5s ease;
}

.trust-testimonial-featured:hover {
    border-color: rgba(255, 107, 0, 0.4);
    transform: translateY(-5px);
    box-shadow: 0 25px 60px rgba(255, 107, 0, 0.15);
}

.featured-quote-icon {
    position: absolute;
    top: 30px;
    right: 40px;
    width: 60px;
    height: 60px;
    color: var(--primary-orange);
    opacity: 0.3;
}

.featured-quote-icon svg {
    width: 100%;
    height: 100%;
}

.featured-content {
    position: relative;
    z-index: 2;
}

.featured-text {
    font-size: 24px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.95);
    margin-bottom: 35px;
    font-style: italic;
    font-weight: 300;
}

.featured-author {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.featured-avatar {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--primary-orange) 0%, var(--primary-orange-dark) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    color: white;
    box-shadow: 0 10px 30px rgba(255, 107, 0, 0.3);
}

.featured-info h4 {
    font-size: 20px;
    color: white;
    margin-bottom: 5px;
    font-weight: 600;
}

.featured-info > span {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
}

.featured-company {
    margin-top: 10px;
}

.featured-company img {
    height: 30px;
    filter: brightness(0) invert(1);
    opacity: 0.7;
}

.featured-rating {
    margin-left: auto;
    color: var(--primary-orange);
    font-size: 24px;
    letter-spacing: 4px;
}

.featured-glow {
    position: absolute;
    top: -50%;
    right: -20%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

/* Testimonial Grid */
.trust-testimonial-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.trust-testimonial-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 35px;
    position: relative;
    transition: all 0.4s ease;
    overflow: hidden;
}

.trust-testimonial-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.1) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.trust-testimonial-card:hover {
    border-color: rgba(255, 107, 0, 0.3);
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

.trust-testimonial-card:hover::before {
    opacity: 1;
}

.card-quote-mark {
    position: absolute;
    top: 15px;
    right: 25px;
    font-size: 80px;
    color: var(--primary-orange);
    opacity: 0.15;
    font-family: Georgia, serif;
    line-height: 1;
}

.trust-testimonial-card p {
    font-size: 15px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 25px;
    position: relative;
    z-index: 1;
}

.card-author {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
}

.card-avatar {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, var(--primary-orange) 0%, var(--primary-orange-dark) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    color: white;
}

.card-info h5 {
    font-size: 16px;
    color: white;
    margin-bottom: 3px;
    font-weight: 600;
}

.card-info span {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
}

.card-rating {
    color: var(--primary-orange);
    font-size: 16px;
    letter-spacing: 3px;
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
}

.card-logo {
    position: relative;
    z-index: 1;
}

.card-logo img {
    height: 25px;
    filter: brightness(0) invert(1);
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

.trust-testimonial-card:hover .card-logo img {
    opacity: 0.8;
}

/* Trust Stats */
.trust-stats {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
    padding: 50px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    flex-wrap: wrap;
}

.trust-stat {
    text-align: center;
}

.trust-stat-number {
    font-size: 48px;
    font-weight: 800;
    color: var(--primary-orange);
    display: inline;
}

.trust-stat-suffix {
    font-size: 36px;
    font-weight: 800;
    color: var(--primary-orange);
}

.trust-stat-label {
    display: block;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.trust-stat-divider {
    width: 1px;
    height: 60px;
    background: linear-gradient(to bottom, transparent, rgba(255, 107, 0, 0.3), transparent);
}

/* Background Effects */
.trust-bg-pattern {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255, 107, 0, 0.03) 1px, transparent 1px);
    background-size: 30px 30px;
    pointer-events: none;
}

.trust-bg-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.08) 0%, transparent 60%);
    pointer-events: none;
}

/* Mobile Responsive */
@media (max-width: 992px) {
    .trust-testimonial-grid {
        grid-template-columns: 1fr;
    }

    .featured-text {
        font-size: 20px;
    }

    .trust-stats {
        gap: 40px;
        padding: 40px 30px;
    }

    .trust-stat-number {
        font-size: 40px;
    }
}

@media (max-width: 768px) {
    .client-trust-section {
        padding: 70px 0;
    }

    .trust-testimonial-featured {
        padding: 35px 25px;
    }

    .featured-text {
        font-size: 18px;
    }

    .featured-author {
        flex-direction: column;
        align-items: flex-start;
    }

    .featured-rating {
        margin-left: 0;
        margin-top: 15px;
    }

    .trust-stats {
        flex-direction: column;
        gap: 30px;
    }

    .trust-stat-divider {
        width: 60px;
        height: 1px;
    }

    .trust-logo-item img {
        height: 35px;
    }
}

/* ============================================
   ZOHO ECOSYSTEM MASTERY SECTION
   ============================================ */
.zoho-ecosystem-section {
    position: relative;
    overflow: hidden;
    padding: 100px 0;
}

/* Featured Apps Row */
.zoho-featured-apps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 50px;
}

.zoho-featured-app {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 25px 30px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.1) 0%, rgba(255, 107, 0, 0.03) 100%);
    border: 1px solid rgba(255, 107, 0, 0.25);
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease;
    text-decoration: none;
}

.zoho-featured-app:hover {
    transform: translateY(-8px);
    border-color: rgba(255, 107, 0, 0.5);
    box-shadow: 0 20px 50px rgba(255, 107, 0, 0.2);
}

.featured-app-glow {
    position: absolute;
    top: -50%;
    right: -30%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.2) 0%, transparent 70%);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.zoho-featured-app:hover .featured-app-glow {
    opacity: 1;
}

.featured-app-icon {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.4s ease;
}

.featured-app-icon img {
    width: 40px;
    height: 40px;
    transition: transform 0.4s ease;
}

.zoho-featured-app:hover .featured-app-icon {
    background: rgba(255, 107, 0, 0.2);
    transform: scale(1.1);
}

.zoho-featured-app:hover .featured-app-icon img {
    transform: scale(1.1);
}

.featured-app-info {
    flex: 1;
}

.featured-app-info h4 {
    font-size: 18px;
    font-weight: 700;
    color: white;
    margin-bottom: 4px;
}

.featured-app-info span {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
}

.featured-app-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 5px 12px;
    background: var(--primary-orange);
    color: white;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 20px;
}

/* Apps Grid */
.zoho-apps-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 15px;
    margin-bottom: 50px;
}

.zoho-app-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px 15px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    transition: all 0.3s ease;
    text-decoration: none;
    cursor: pointer;
}

.zoho-app-card:hover {
    background: rgba(255, 107, 0, 0.1);
    border-color: rgba(255, 107, 0, 0.3);
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 15px 35px rgba(255, 107, 0, 0.15);
}

.zoho-app-card img {
    width: 36px;
    height: 36px;
    transition: transform 0.3s ease;
}

.zoho-app-card:hover img {
    transform: scale(1.15);
}

.zoho-app-card span {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 500;
    text-align: center;
    transition: color 0.3s ease;
}

.zoho-app-card:hover span {
    color: var(--primary-orange);
}

/* ==================== HEXAGON HONEYCOMB GRID ==================== */
.zoho-hexagon-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-bottom: 50px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px 0;
}

.hex-card {
    --hex-size: 100px;
    width: var(--hex-size);
    height: calc(var(--hex-size) * 1.1547);
    position: relative;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    margin: 5px;
}

.hex-card .hex-inner {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%);
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    transition: all 0.4s ease;
    border: none;
}

.hex-card .hex-inner::before {
    content: '';
    position: absolute;
    inset: 2px;
    background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%);
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    z-index: -1;
}

.hex-card .hex-inner::after {
    content: '';
    position: absolute;
    inset: -2px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.3), rgba(255, 107, 0, 0.1), rgba(255, 107, 0, 0.3));
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    z-index: -2;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.hex-card:hover .hex-inner::after {
    opacity: 1;
}

.hex-card:hover {
    transform: scale(1.15) translateY(-5px);
    z-index: 10;
}

.hex-card:hover .hex-inner {
    background: linear-gradient(180deg, #252525 0%, #1a1a1a 100%);
    box-shadow: 0 20px 40px rgba(255, 107, 0, 0.25);
}

.hex-card img {
    width: 36px;
    height: 36px;
    transition: all 0.4s ease;
    filter: drop-shadow(0 2px 8px rgba(255, 107, 0, 0.2));
}

.hex-card:hover img {
    transform: scale(1.2);
    filter: drop-shadow(0 4px 15px rgba(255, 107, 0, 0.4));
}

.hex-card span {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 500;
    margin-top: 6px;
    transition: color 0.3s ease;
    text-align: center;
    max-width: 80%;
}

.hex-card:hover span {
    color: var(--primary-orange);
}

/* Honeycomb offset - every other row shifts */
.hex-card:nth-child(8n+1),
.hex-card:nth-child(8n+2),
.hex-card:nth-child(8n+3),
.hex-card:nth-child(8n+4),
.hex-card:nth-child(8n+5),
.hex-card:nth-child(8n+6),
.hex-card:nth-child(8n+7),
.hex-card:nth-child(8n+8) {
    /* Allow natural flex wrapping */
}

/* Subtle animation on load */
.hex-card {
    animation: hexPulse 4s ease-in-out infinite;
}

.hex-card:nth-child(odd) { animation-delay: -2s; }
.hex-card:nth-child(3n) { animation-delay: -1s; }
.hex-card:nth-child(5n) { animation-delay: -3s; }

@keyframes hexPulse {
    0%, 100% {
        box-shadow: none;
    }
    50% {
        filter: brightness(1.05);
    }
}

/* Responsive hexagons */
@media (max-width: 1000px) {
    .hex-card {
        --hex-size: 90px;
    }
}

@media (max-width: 768px) {
    .hex-card {
        --hex-size: 80px;
    }

    .hex-card img {
        width: 30px;
        height: 30px;
    }

    .hex-card span {
        font-size: 9px;
    }
}

@media (max-width: 500px) {
    .hex-card {
        --hex-size: 70px;
    }

    .hex-card img {
        width: 26px;
        height: 26px;
    }

    .hex-card span {
        font-size: 10px;
    }
}

/* More Apps Card */
.zoho-more-apps {
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.15) 0%, rgba(255, 107, 0, 0.05) 100%);
    border-color: rgba(255, 107, 0, 0.2);
}

.more-apps-icon {
    font-size: 24px;
    font-weight: 800;
    color: var(--primary-orange);
}

.zoho-more-apps:hover,
.zoho-less-apps:hover {
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.25) 0%, rgba(255, 107, 0, 0.1) 100%);
}

/* Show Less Card */
.zoho-less-apps {
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.15) 0%, rgba(255, 107, 0, 0.05) 100%);
    border-color: rgba(255, 107, 0, 0.2);
}

.less-apps-icon {
    font-size: 28px;
    font-weight: 800;
    color: var(--primary-orange);
    line-height: 1;
}

/* Expanded Apps Grid */
.zoho-apps-expanded {
    display: none;
    grid-template-columns: repeat(8, 1fr);
    gap: 15px;
    margin-bottom: 50px;
    animation: expandApps 0.4s ease-out;
}

.zoho-apps-expanded.active {
    display: grid;
}

@keyframes expandApps {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Hide the more apps button when expanded */
.zoho-more-apps.hidden {
    display: none;
}

/* Expertise Stats */
.zoho-expertise-stats {
    display: flex;
    justify-content: center;
    gap: 60px;
    padding: 35px 50px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
}

.expertise-stat {
    display: flex;
    align-items: center;
    gap: 12px;
}

.expertise-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-orange);
}

.expertise-icon svg {
    width: 24px;
    height: 24px;
}

.expertise-label {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 500;
}

/* Background Grid */
.zoho-bg-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 107, 0, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 107, 0, 0.03) 1px, transparent 1px);
    background-size: 50px 50px;
    pointer-events: none;
}

/* Mobile Responsive */
@media (max-width: 992px) {
    .zoho-featured-apps {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .zoho-apps-grid {
        grid-template-columns: repeat(5, 1fr);
    }

    .zoho-expertise-stats {
        flex-wrap: wrap;
        gap: 30px;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .zoho-ecosystem-section {
        padding: 70px 0;
    }

    .zoho-apps-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }

    .zoho-app-card {
        padding: 15px 10px;
    }

    .zoho-app-card img {
        width: 30px;
        height: 30px;
    }

    .zoho-app-card span {
        font-size: 10px;
    }

    .zoho-expertise-stats {
        flex-direction: column;
        gap: 20px;
        padding: 25px;
    }

    .featured-app-badge {
        display: none;
    }

    .zoho-featured-app {
        padding: 20px;
    }

    .featured-app-icon {
        width: 50px;
        height: 50px;
    }

    .featured-app-icon img {
        width: 32px;
        height: 32px;
    }
}

/* === TESTIMONIALS (OLD - KEPT FOR REFERENCE) === */
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
    gap: 35px;
}

.testimonial-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    padding: 40px 35px;
    transition: var(--transition-smooth);
    position: relative;
    backdrop-filter: blur(10px);
}

.testimonial-card::before {
    content: '"';
    position: absolute;
    top: 20px;
    right: 35px;
    font-size: 100px;
    color: var(--primary-orange);
    opacity: 0.2;
    font-family: serif;
    line-height: 1;
}

.testimonial-card:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-10px);
    border-color: rgba(255, 107, 0, 0.3);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

.testimonial-stars {
    color: var(--primary-orange);
    font-size: 20px;
    margin-bottom: 20px;
    letter-spacing: 3px;
}

.testimonial-logo {
    height: 40px;
    margin-bottom: 25px;
    filter: brightness(0) invert(1);
    opacity: 0.7;
}

.testimonial-text {
    font-size: 17px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.9;
    margin-bottom: 30px;
    font-style: italic;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 18px;
}

.testimonial-avatar {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: var(--gradient-orange);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-weight: 700;
    font-size: 20px;
    box-shadow: var(--shadow-orange);
}

.testimonial-author-info h5 {
    color: var(--white);
    font-size: 17px;
    margin-bottom: 5px;
    font-weight: 700;
}

.testimonial-author-info span {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
}

/* === PROCESS STEPS === */
.process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    position: relative;
}

.process-grid::before {
    content: '';
    position: absolute;
    top: 50px;
    left: 10%;
    right: 10%;
    height: 3px;
    background: var(--gradient-orange);
    z-index: 0;
}

.process-step {
    text-align: center;
    position: relative;
    z-index: 1;
}

.process-number {
    width: 100px;
    height: 100px;
    background: var(--gradient-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    font-size: 36px;
    font-weight: 700;
    color: var(--white);
    box-shadow: var(--shadow-orange-lg);
    transition: var(--transition-bounce);
}

.process-step:hover .process-number {
    transform: scale(1.15) rotate(10deg);
}

.process-step h4 {
    font-size: 20px;
    color: var(--black);
    margin-bottom: 10px;
    font-weight: 700;
}

.process-step p {
    font-size: 14px;
    color: var(--gray);
    line-height: 1.7;
}

/* === PRICING === */
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
    gap: 40px;
    max-width: 900px;
    margin: 0 auto;
}

.pricing-card {
    background: var(--white);
    border-radius: 30px;
    padding: 50px 40px;
    box-shadow: var(--shadow-lg);
    border: 2px solid var(--white-dark);
    transition: var(--transition-smooth);
    position: relative;
    overflow: hidden;
}

.pricing-card.featured {
    border-color: var(--primary-orange);
    transform: scale(1.03);
}

.pricing-card.featured::before {
    content: 'MOST POPULAR';
    position: absolute;
    top: 25px;
    right: -40px;
    background: var(--gradient-orange);
    color: var(--white);
    padding: 10px 60px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    transform: rotate(45deg);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    letter-spacing: 1px;
}

.pricing-card:hover {
    transform: translateY(-15px);
    box-shadow: var(--shadow-lg), var(--shadow-orange);
}

.pricing-card.featured:hover {
    transform: scale(1.03) translateY(-15px);
}

.pricing-header {
    text-align: center;
    padding-bottom: 35px;
    margin-bottom: 35px;
    border-bottom: 2px solid var(--white-soft);
}

.pricing-header h3 {
    font-size: 26px;
    margin-bottom: 20px;
    color: var(--black);
    font-weight: 700;
}

.pricing-price {
    font-size: 60px;
    font-weight: 800;
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
}

.pricing-price span {
    font-size: 18px;
    color: var(--gray);
    font-weight: 400;
    -webkit-text-fill-color: var(--gray);
}

.pricing-features {
    list-style: none;
    margin-bottom: 40px;
}

.pricing-features li {
    padding: 15px 0;
    font-size: 15px;
    color: var(--gray);
    border-bottom: 1px solid var(--white-soft);
    display: flex;
    align-items: center;
    gap: 15px;
}

.pricing-features li::before {
    content: '✓';
    color: var(--white);
    font-weight: bold;
    font-size: 14px;
    width: 28px;
    height: 28px;
    background: var(--gradient-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: var(--shadow-orange);
}

.pricing-card .btn {
    width: 100%;
    justify-content: center;
}

/* === CONTACT === */
.contact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.contact-card {
    background: var(--white);
    border-radius: 24px;
    padding: 40px;
    text-align: center;
    box-shadow: var(--shadow-md);
    transition: var(--transition-smooth);
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
}

.contact-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--gradient-orange);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.contact-card:hover {
    transform: translateY(-12px);
    box-shadow: var(--shadow-lg), var(--shadow-orange);
    border-color: var(--primary-orange);
}

.contact-card:hover::before {
    opacity: 0.03;
}

.contact-icon {
    width: 80px;
    height: 80px;
    background: var(--gradient-orange);
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    font-size: 34px;
    box-shadow: var(--shadow-orange);
    transition: var(--transition-bounce);
    position: relative;
    z-index: 1;
}

.contact-card:hover .contact-icon {
    transform: scale(1.15) rotate(-10deg);
    box-shadow: var(--shadow-orange-lg);
}

.contact-card h4 {
    font-size: 20px;
    margin-bottom: 12px;
    color: var(--black);
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.contact-card p {
    font-size: 15px;
    color: var(--gray);
    position: relative;
    z-index: 1;
}

.contact-card a {
    color: var(--primary-orange);
    text-decoration: none;
    font-weight: 600;
    transition: var(--transition-smooth);
}

.contact-card a:hover {
    color: var(--primary-orange-dark);
}

/* === ABOUT === */
.about-content {
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 80px;
    align-items: center;
}

.about-image {
    position: relative;
}

.about-image::before {
    content: '';
    position: absolute;
    top: -25px;
    left: -25px;
    right: 25px;
    bottom: 25px;
    background: var(--gradient-orange);
    border-radius: 24px;
    z-index: -1;
    opacity: 0.3;
}

.about-image::after {
    content: '';
    position: absolute;
    bottom: -15px;
    right: -15px;
    width: 100px;
    height: 100px;
    background: var(--gradient-orange);
    border-radius: 20px;
    z-index: -1;
    animation: pulse 3s ease-in-out infinite;
}

.about-image img {
    width: 100%;
    border-radius: 24px;
    box-shadow: var(--shadow-lg);
}

.about-text h2 {
    font-size: clamp(28px, 4vw, 40px);
    margin-bottom: 15px;
    color: var(--black);
    font-weight: 700;
}

.about-text h2 span {
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.about-title {
    color: var(--primary-orange);
    font-weight: 700;
    margin-bottom: 30px;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.about-text p {
    color: var(--gray);
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.9;
}

.about-quote {
    border-left: 5px solid var(--primary-orange);
    padding: 25px 30px;
    margin: 35px 0;
    font-style: italic;
    color: var(--black);
    background: var(--white-soft);
    border-radius: 0 16px 16px 0;
    font-size: 18px;
    line-height: 1.8;
    position: relative;
}

.about-quote::before {
    content: '"';
    position: absolute;
    top: 10px;
    left: 15px;
    font-size: 50px;
    color: var(--primary-orange);
    opacity: 0.3;
    font-family: serif;
}

/* === TEAM SECTION === */
.team-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 60px;
}

.team-stat-card {
    background: var(--white);
    padding: 40px 30px;
    border-radius: 20px;
    text-align: center;
    box-shadow: var(--shadow-md);
    transition: var(--transition-bounce);
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
}

.team-stat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-orange), #ff8533);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.team-stat-card:hover::before {
    transform: scaleX(1);
}

.team-stat-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(255, 107, 0, 0.2);
}

.team-stat-card.featured {
    background: linear-gradient(135deg, var(--primary-orange), #ff8533);
    color: white;
}

.team-stat-card.featured::before {
    display: none;
}

.team-stat-card.featured .team-stat-icon {
    background: rgba(255, 255, 255, 0.2);
}

.team-stat-card.featured .team-stat-icon svg {
    stroke: white;
}

.team-stat-card.featured .team-stat-number,
.team-stat-card.featured .team-stat-label {
    color: white;
}

.team-stat-card.featured .team-stat-desc {
    color: rgba(255, 255, 255, 0.9);
}

.team-stat-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 20px;
    background: rgba(255, 107, 0, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.team-stat-icon svg {
    width: 32px;
    height: 32px;
    stroke: var(--primary-orange);
}

.team-stat-number {
    font-size: 48px;
    font-weight: 800;
    color: var(--black);
    line-height: 1;
    margin-bottom: 8px;
}

.team-stat-label {
    font-size: 18px;
    font-weight: 700;
    color: var(--black);
    margin-bottom: 10px;
}

.team-stat-desc {
    font-size: 14px;
    color: var(--gray);
    margin: 0;
}

.team-benefits {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 40px;
    margin-top: 50px;
    padding: 30px;
    background: rgba(255, 107, 0, 0.05);
    border-radius: 16px;
    border: 1px solid rgba(255, 107, 0, 0.1);
}

.team-benefit-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    color: var(--dark-gray);
}

.benefit-check {
    color: var(--primary-orange);
    font-weight: bold;
    font-size: 18px;
}

/* Team Section Responsive */
@media (max-width: 900px) {
    .team-stats-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }

    .team-stat-number {
        font-size: 40px;
    }

    .team-benefits {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .team-stat-card {
        padding: 30px 20px;
    }

    .team-stat-icon {
        width: 60px;
        height: 60px;
    }

    .team-stat-icon svg {
        width: 28px;
        height: 28px;
    }

    .team-stat-number {
        font-size: 36px;
    }

    .team-stat-label {
        font-size: 16px;
    }

    .team-benefit-item {
        font-size: 14px;
    }
}

.certs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    margin-top: 80px;
}

.cert-card {
    background: var(--white);
    padding: 35px;
    border-radius: 20px;
    text-align: center;
    box-shadow: var(--shadow-md);
    transition: var(--transition-bounce);
    border: 2px solid transparent;
}

.cert-card:hover {
    transform: translateY(-12px) scale(1.02);
    box-shadow: var(--shadow-lg), var(--shadow-orange);
    border-color: var(--primary-orange);
}

.cert-card img {
    height: 80px;
    margin-bottom: 20px;
    object-fit: contain;
    transition: var(--transition-smooth);
}

.cert-card:hover img {
    transform: scale(1.15);
}

.cert-card h5 {
    font-size: 15px;
    color: var(--black);
    font-weight: 700;
}

/* === CTA SECTION === */
.cta {
    background: var(--black);
    padding: 120px 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.cta::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.15) 0%, transparent 50%);
    animation: float 10s ease-in-out infinite;
}

.cta::after {
    content: '';
    position: absolute;
    bottom: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.1) 0%, transparent 50%);
    animation: floatReverse 12s ease-in-out infinite;
}

.cta h2 {
    color: var(--white);
    font-size: clamp(32px, 4.5vw, 48px);
    margin-bottom: 25px;
    position: relative;
    font-weight: 700;
}

.cta h2 span {
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.cta p {
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 40px;
    font-size: 20px;
    position: relative;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.cta .btn-primary {
    position: relative;
    animation: pulseGlow 3s ease-in-out infinite;
}

/* === PAGE HEADERS === */
.page-header {
    background: var(--gradient-hero);
    padding: 140px 20px 100px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.page-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 50% 50%, rgba(255, 107, 0, 0.15) 0%, transparent 70%);
}

.page-header h2 {
    color: var(--white);
    font-size: clamp(36px, 5.5vw, 55px);
    margin-bottom: 20px;
    position: relative;
    font-weight: 700;
}

.page-header h2 span {
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.page-header p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 20px;
    position: relative;
    max-width: 600px;
    margin: 0 auto;
}

/* === FOOTER === */
.footer {
    background: var(--black);
    color: rgba(255, 255, 255, 0.7);
    padding: 80px 20px 50px;
    text-align: center;
    position: relative;
}

.footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: var(--gradient-orange);
}

.footer-logo {
    height: 55px;
    filter: brightness(0) invert(1);
    margin-bottom: 25px;
}

.footer p {
    font-size: 16px;
    margin-bottom: 30px;
}

.footer-badges {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.footer-badges img {
    height: 70px;
    width: auto;
    object-fit: contain;
    opacity: 0.9;
    transition: var(--transition-smooth);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-badges img:hover {
    opacity: 1;
    transform: scale(1.15);
    box-shadow: 0 0 20px rgba(255, 107, 0, 0.4);
}

/* Footer Quick Action Buttons */
.footer-quick-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
    padding: 30px 0;
    margin-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-quick-actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 24px;
    font-weight: 600;
}

.footer-quick-actions .btn svg {
    flex-shrink: 0;
}

.footer-bottom {
    padding-top: 30px;
    border-top: none;
    font-size: 14px;
}

.footer-bottom span {
    color: var(--primary-orange);
}

/* Ensure content stays above floating icons */
.hero-content,
.section-header,
.container,
.stats-grid,
.services-grid,
.pricing-grid,
.contact-grid,
.testimonials-grid,
.about-content,
.certs-grid,
.apps-grid,
.features-grid,
.process-grid {
    position: relative;
    z-index: 1;
}

/* === RESPONSIVE === */
/* Use hamburger menu until screen is wide enough for full navbar (1350px+) */
@media (max-width: 1350px) {
    /* Tablet/Medium Navigation - Use hamburger menu like mobile */
    .nav-menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: var(--black);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 25px;
        padding: 20px;
        display: none;
        z-index: 999;
    }

    .nav-menu.active {
        display: flex;
    }

    .nav-link {
        font-size: 20px;
        padding: 18px 35px;
    }

    .nav-toggle {
        display: flex;
        position: fixed;
        top: 15px;
        right: 15px;
        z-index: 1001;
        background: rgba(0, 0, 0, 0.8);
        padding: 12px;
        border-radius: 8px;
        border: 1px solid rgba(255, 107, 0, 0.3);
    }

    /* Hide contact section on tablet */
    .nav-contact-section {
        display: none;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-content {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 50px;
    }

    .about-image {
        order: -1;
        max-width: 400px;
        margin: 0 auto;
    }

    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .process-grid::before {
        display: none;
    }

    /* Floating nav for tablet */
    .floating-nav {
        right: 12px;
        bottom: 90px;
        top: auto;
        transform: none;
        gap: 0;
        flex-direction: column;
        align-items: flex-end;
    }

    .floating-nav-track {
        display: none;
    }

    .floating-nav-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50px;
        height: 50px;
        background: linear-gradient(135deg, var(--primary-orange), #ff8533);
        border: none;
        border-radius: 50%;
        cursor: pointer;
        box-shadow: 0 4px 20px rgba(255, 107, 0, 0.4);
        transition: all 0.3s ease;
        z-index: 10;
    }

    .floating-nav-toggle:active {
        transform: scale(0.95);
    }

    .floating-nav-toggle svg {
        width: 24px;
        height: 24px;
        stroke: white;
        stroke-width: 2;
        transition: transform 0.3s ease;
    }

    .floating-nav.expanded .floating-nav-toggle svg {
        transform: rotate(45deg);
    }

    .floating-nav-items {
        position: absolute;
        bottom: 60px;
        right: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(20px) scale(0.9);
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        pointer-events: none;
    }

    .floating-nav.expanded .floating-nav-items {
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1);
        pointer-events: auto;
    }

    .floating-nav-item {
        padding: 10px 16px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        background: rgba(20, 20, 20, 0.95);
        border: 1px solid rgba(255, 107, 0, 0.3);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
        transform: translateX(10px);
        opacity: 0;
        transition: all 0.3s ease;
    }

    .floating-nav.expanded .floating-nav-item {
        transform: translateX(0);
        opacity: 1;
    }

    .floating-nav-item .nav-dot {
        width: 8px;
        height: 8px;
    }

    .floating-nav-item .nav-label {
        font-size: 12px;
        white-space: nowrap;
    }

    .floating-nav-item.active {
        background: rgba(255, 107, 0, 0.3);
        border-color: var(--primary-orange);
    }
}

@media (max-width: 768px) {
    /* Mobile-specific adjustments (nav already handled at 1350px) */

    /* Animated logo mobile adjustments */
    .nav-animated-logo {
        width: auto;
        height: 40px;
    }

    .nav-animated-logo .logo-img {
        height: 32px;
        max-width: 100px;
    }

    .nav-animated-logo .logo-glow {
        width: 40px;
        height: 40px;
        left: 0;
    }

    /* Company name responsive */
    .nav-company-name {
        font-size: 14px;
    }

    .footer-animated-logo {
        width: 160px;
        height: 50px;
    }

    .footer-animated-logo .logo-img {
        max-height: 42px;
    }

    .footer-animated-logo .logo-glow {
        width: 60px;
        height: 60px;
    }

    /* Loading screen mobile */
    .loader-container {
        gap: 30px;
    }

    .loader-logo-wrap {
        width: 180px;
        height: 180px;
    }

    .loader-logo {
        max-width: 130px;
    }

    .loader-orbit {
        width: 220px;
        height: 220px;
    }

    .loader-ring {
        width: 160px;
        height: 160px;
    }

    .loader-ring.delay-1 {
        width: 190px;
        height: 190px;
    }

    .loader-ring.delay-2 {
        width: 220px;
        height: 220px;
    }

    .hero {
        padding: 100px 20px 150px;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: center;
    }

    .btn-outline {
        margin-left: 0;
    }

    .hero-stats-compact {
        gap: 10px;
        margin-top: 30px;
    }

    .compact-stat {
        padding: 8px 14px 8px 8px;
        gap: 8px;
    }

    .compact-stat-icon {
        width: 30px;
        height: 30px;
    }

    .compact-stat-icon svg {
        width: 16px;
        height: 16px;
    }

    .compact-stat-number {
        font-size: 15px;
    }

    .compact-stat-label {
        font-size: 9px;
    }

    .divider-hero-portal {
        height: 120px;
        margin: 20px 0;
    }

    .stat-card {
        padding: 35px 20px;
    }

    .stat-icon {
        width: 65px;
        height: 65px;
        margin-bottom: 20px;
    }

    .stat-icon img {
        width: 32px;
        height: 32px;
    }

    .stat-number {
        font-size: 40px;
    }

    .stat-label {
        font-size: 11px;
        letter-spacing: 2px;
    }

    .services-grid,
    .testimonials-grid {
        grid-template-columns: 1fr;
    }

    .pricing-grid {
        grid-template-columns: 1fr;
    }

    .pricing-card.featured {
        transform: none;
    }

    .section {
        padding: 80px 20px;
    }

    .process-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

@media (max-width: 480px) {
    /* Company name: show abbreviated on very small screens */
    .nav-company-name {
        font-size: 12px;
    }

    .stats-section {
        padding: 80px 15px;
    }

    .stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: 15px;
    }

    .stat-card {
        padding: 25px 15px;
    }

    .stat-icon {
        width: 55px;
        height: 55px;
        margin-bottom: 15px;
        border-radius: 16px;
    }

    .stat-icon img {
        width: 28px;
        height: 28px;
    }

    .stat-number {
        font-size: 28px;
        margin-bottom: 8px;
    }

    .stat-label {
        font-size: 9px;
        letter-spacing: 1.5px;
    }

    .hero h1 {
        font-size: 30px;
    }

    .hero p {
        font-size: 16px;
    }

    .btn {
        padding: 16px 30px;
        font-size: 14px;
    }

    .apps-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ============================================
   ADDITIONAL CREATIVE SECTIONS
   ============================================ */

/* === PAGE HEADER ENHANCED === */
.page-header-content {
    max-width: 800px;
    margin: 0 auto;
}

.page-header h1 {
    font-size: 56px;
    font-weight: 800;
    margin-bottom: 20px;
    color: var(--white);
}

.page-header h1 span {
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.page-label {
    display: inline-block;
    background: var(--gradient-orange);
    color: var(--white);
    padding: 8px 24px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

/* === PROCESS GRID === */
.process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    position: relative;
}

.process-grid::before {
    content: '';
    position: absolute;
    top: 80px;
    left: 10%;
    right: 10%;
    height: 3px;
    background: var(--gradient-orange);
    z-index: 0;
    opacity: 0.3;
}

.process-step {
    text-align: center;
    position: relative;
    padding: 30px 20px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    border: 1px solid rgba(255, 107, 0, 0.1);
    transition: var(--transition-smooth);
}

.process-step:hover {
    transform: translateY(-10px);
    background: rgba(255, 107, 0, 0.1);
    border-color: var(--primary-orange);
    box-shadow: var(--shadow-orange);
}

.process-number {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--gradient-orange);
    color: var(--white);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    box-shadow: var(--shadow-orange);
}

.process-icon {
    margin: 20px 0;
}

.process-icon img {
    width: 60px;
    height: 60px;
    transition: var(--transition-smooth);
}

.process-step:hover .process-icon img {
    transform: scale(1.1);
    filter: drop-shadow(0 0 20px var(--primary-orange-glow));
}

.process-step h4 {
    color: var(--white);
    font-size: 18px;
    margin-bottom: 10px;
}

.process-step p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    line-height: 1.6;
}

/* === FEATURES GRID === */
.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.feature-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 30px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    border: 1px solid rgba(255, 107, 0, 0.1);
    transition: var(--transition-smooth);
}

.feature-item:hover {
    background: rgba(255, 107, 0, 0.1);
    border-color: var(--primary-orange);
    transform: translateX(10px);
}

.feature-icon {
    flex-shrink: 0;
}

.feature-icon img {
    width: 50px;
    height: 50px;
    transition: var(--transition-smooth);
}

.feature-item:hover .feature-icon img {
    transform: scale(1.1) rotate(5deg);
}

.feature-content h4 {
    color: var(--white);
    font-size: 18px;
    margin-bottom: 8px;
}

.feature-content p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
}

/* === APPS SHOWCASE === */
.apps-showcase {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px;
    padding: 20px 0;
}

.app-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    border: 1px solid rgba(255, 107, 0, 0.1);
    transition: var(--transition-smooth);
    min-width: 100px;
}

.app-icon:hover {
    background: rgba(255, 107, 0, 0.15);
    border-color: var(--primary-orange);
    transform: translateY(-10px) scale(1.05);
    box-shadow: var(--shadow-orange);
}

.app-icon img {
    width: 48px;
    height: 48px;
    transition: var(--transition-smooth);
}

.app-icon:hover img {
    transform: scale(1.1);
    filter: drop-shadow(0 0 15px var(--primary-orange-glow));
}

.app-icon span {
    color: rgba(255, 255, 255, 0.8);
    font-size: 12px;
    font-weight: 500;
}

/* === SERVICES LIST === */
.services-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.service-list-item {
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 30px 40px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    border: 1px solid rgba(255, 107, 0, 0.1);
    transition: var(--transition-smooth);
}

.service-list-item:hover {
    background: rgba(255, 107, 0, 0.1);
    border-color: var(--primary-orange);
    transform: translateX(15px);
    box-shadow: var(--shadow-orange);
}

.service-list-icon {
    flex-shrink: 0;
}

.service-list-icon img {
    width: 60px;
    height: 60px;
    transition: var(--transition-smooth);
}

.service-list-item:hover .service-list-icon img {
    transform: scale(1.15) rotate(5deg);
}

.service-list-content h4 {
    color: var(--white);
    font-size: 20px;
    margin-bottom: 8px;
}

.service-list-content p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 15px;
}

/* === SERVICE CARD ENHANCED === */
.services-grid-large {
    grid-template-columns: repeat(3, 1fr);
}

.service-card-featured {
    position: relative;
    border: 2px solid var(--primary-orange) !important;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.15) 0%, rgba(255, 107, 0, 0.05) 100%) !important;
}

.service-badge {
    position: absolute;
    top: -12px;
    right: 20px;
    background: var(--gradient-orange);
    color: var(--white);
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.service-features {
    list-style: none;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.service-features li {
    padding: 8px 0;
    padding-left: 25px;
    position: relative;
    font-size: 14px;
    color: var(--gray);
}

.service-features li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background: var(--gradient-orange);
    border-radius: 50%;
    opacity: 0.6;
}

.service-link {
    display: inline-block;
    margin-top: 15px;
    color: var(--primary-orange);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: var(--transition-smooth);
}

.service-link:hover {
    color: var(--primary-orange-dark);
    transform: translateX(5px);
}

/* === MISSION SECTION === */
.mission-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.mission-content .section-label {
    margin-bottom: 15px;
}

.mission-content h2 {
    font-size: 40px;
    margin-bottom: 25px;
    color: #FFFFFF;
}

.mission-content h2 span {
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.mission-content p {
    color: rgba(255, 255, 255, 0.85);
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 20px;
}

.mission-stats {
    display: flex;
    gap: 40px;
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.mission-stat {
    text-align: center;
}

.mission-stat .stat-value {
    display: block;
    font-size: 36px;
    font-weight: 800;
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.mission-stat .stat-label {
    font-size: 13px;
    color: var(--gray);
    margin-top: 5px;
}

.mission-image {
    position: relative;
}

.image-frame {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.image-frame::before {
    content: '';
    position: absolute;
    top: -20px;
    right: -20px;
    width: 100%;
    height: 100%;
    border: 3px solid var(--primary-orange);
    border-radius: 30px;
    z-index: -1;
}

.image-frame img {
    width: 100%;
    display: block;
}

/* === ANIMATED LOGO SHOWCASE (About Modal) === */
.animated-logo-showcase {
    position: relative;
    width: 100%;
    max-width: 450px;
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

/* Orbiting dots */
.showcase-orbit {
    position: absolute;
    width: 90%;
    height: 90%;
    animation: showcaseOrbitSpin 20s linear infinite;
}

.orbit-dot {
    position: absolute;
    width: 8px;
    height: 8px;
    background: var(--primary-orange);
    border-radius: 50%;
    box-shadow: 0 0 15px var(--primary-orange), 0 0 30px rgba(255, 107, 0, 0.5);
}

.orbit-dot:nth-child(1) { top: 0; left: 50%; transform: translateX(-50%); }
.orbit-dot:nth-child(2) { top: 25%; right: 3%; }
.orbit-dot:nth-child(3) { bottom: 25%; right: 3%; }
.orbit-dot:nth-child(4) { bottom: 0; left: 50%; transform: translateX(-50%); }
.orbit-dot:nth-child(5) { bottom: 25%; left: 3%; }
.orbit-dot:nth-child(6) { top: 25%; left: 3%; }

.orbit-dot::after {
    content: '';
    position: absolute;
    width: 30px;
    height: 2px;
    background: linear-gradient(90deg, var(--primary-orange), transparent);
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    opacity: 0.6;
}

@keyframes showcaseOrbitSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Data streams */
.showcase-streams {
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.stream-line {
    position: absolute;
    width: 2px;
    height: 60px;
    background: linear-gradient(180deg, transparent, var(--primary-orange), transparent);
    opacity: 0;
    animation: streamFlow 3s ease-in-out infinite;
}

.stream-line:nth-child(1) { top: 0; left: 20%; animation-delay: 0s; }
.stream-line:nth-child(2) { top: 0; left: 40%; animation-delay: 0.5s; }
.stream-line:nth-child(3) { top: 0; right: 40%; animation-delay: 1s; }
.stream-line:nth-child(4) { top: 0; right: 20%; animation-delay: 1.5s; }
.stream-line:nth-child(5) { bottom: 0; left: 30%; animation-delay: 0.3s; transform: rotate(180deg); }
.stream-line:nth-child(6) { bottom: 0; right: 30%; animation-delay: 0.8s; transform: rotate(180deg); }

@keyframes streamFlow {
    0%, 100% { opacity: 0; transform: translateY(0); }
    50% { opacity: 0.8; transform: translateY(80px); }
}

/* Logo container */
.showcase-logo-wrap {
    position: relative;
    width: 200px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.showcase-glow {
    position: absolute;
    width: 180%;
    height: 180%;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.3) 0%, transparent 70%);
    animation: showcaseGlowPulse 3s ease-in-out infinite;
}

@keyframes showcaseGlowPulse {
    0%, 100% { transform: scale(0.9); opacity: 0.5; }
    50% { transform: scale(1.1); opacity: 0.8; }
}

.showcase-ring {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 2px solid var(--primary-orange);
    border-radius: 50%;
    opacity: 0.3;
    animation: showcaseRingPulse 2.5s ease-out infinite;
}

.showcase-ring.ring-delay-1 {
    animation-delay: 0.8s;
}

.showcase-ring.ring-delay-2 {
    animation-delay: 1.6s;
}

@keyframes showcaseRingPulse {
    0% { transform: scale(1); opacity: 0.5; }
    100% { transform: scale(2); opacity: 0; }
}

.showcase-logo {
    position: relative;
    width: 140px;
    height: auto;
    z-index: 2;
    filter: drop-shadow(0 0 20px rgba(255, 107, 0, 0.5));
    animation: showcaseLogoFloat 4s ease-in-out infinite;
}

@keyframes showcaseLogoFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-8px) scale(1.03); }
}

.showcase-scan {
    position: absolute;
    width: 120%;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--primary-orange), transparent);
    top: 0;
    left: -10%;
    animation: showcaseScan 3s ease-in-out infinite;
    box-shadow: 0 0 20px var(--primary-orange);
}

@keyframes showcaseScan {
    0% { top: 0; opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { top: 100%; opacity: 0; }
}

/* Company text with effects */
.showcase-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    margin-top: 30px;
    position: relative;
    z-index: 3;
}

.showcase-word {
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 3px;
    position: relative;
    background: linear-gradient(90deg, #fff, var(--primary-orange), #fff);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: showcaseTextShine 3s linear infinite;
}

.showcase-word:nth-child(2) {
    animation-delay: 0.5s;
    font-size: 1.6rem;
    color: var(--primary-orange);
}

.showcase-word:nth-child(3) {
    animation-delay: 1s;
}

@keyframes showcaseTextShine {
    0% { background-position: 200% center; }
    100% { background-position: -200% center; }
}

.showcase-word::after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 107, 0, 0.8), transparent);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    opacity: 0;
    animation: showcaseTextGlow 2s ease-in-out infinite;
}

.showcase-word:nth-child(1)::after { animation-delay: 0s; }
.showcase-word:nth-child(2)::after { animation-delay: 0.7s; }
.showcase-word:nth-child(3)::after { animation-delay: 1.4s; }

@keyframes showcaseTextGlow {
    0%, 100% { opacity: 0; }
    50% { opacity: 1; }
}

/* Floating particles */
.showcase-particles {
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
}

.showcase-particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: var(--primary-orange);
    border-radius: 50%;
    opacity: 0;
    animation: showcaseParticleFloat 4s ease-in-out infinite;
}

.showcase-particle:nth-child(1) { left: 10%; top: 20%; animation-delay: 0s; }
.showcase-particle:nth-child(2) { left: 85%; top: 15%; animation-delay: 0.5s; }
.showcase-particle:nth-child(3) { left: 15%; top: 70%; animation-delay: 1s; }
.showcase-particle:nth-child(4) { left: 90%; top: 60%; animation-delay: 1.5s; }
.showcase-particle:nth-child(5) { left: 5%; top: 45%; animation-delay: 2s; }
.showcase-particle:nth-child(6) { left: 95%; top: 40%; animation-delay: 2.5s; }
.showcase-particle:nth-child(7) { left: 25%; top: 85%; animation-delay: 3s; }
.showcase-particle:nth-child(8) { left: 75%; top: 80%; animation-delay: 3.5s; }

@keyframes showcaseParticleFloat {
    0%, 100% {
        opacity: 0;
        transform: translateY(20px) scale(0.5);
    }
    50% {
        opacity: 0.8;
        transform: translateY(-20px) scale(1);
        box-shadow: 0 0 10px var(--primary-orange);
    }
}

/* Responsive adjustments */
@media (max-width: 992px) {
    .animated-logo-showcase {
        max-width: 350px;
    }

    .showcase-logo-wrap {
        width: 160px;
        height: 160px;
    }

    .showcase-logo {
        width: 110px;
    }

    .showcase-word {
        font-size: 1.2rem;
        letter-spacing: 2px;
    }

    .showcase-word:nth-child(2) {
        font-size: 1.4rem;
    }
}

@media (max-width: 768px) {
    .animated-logo-showcase {
        max-width: 300px;
    }

    .showcase-logo-wrap {
        width: 140px;
        height: 140px;
    }

    .showcase-logo {
        width: 100px;
    }

    .showcase-word {
        font-size: 1rem;
    }

    .showcase-word:nth-child(2) {
        font-size: 1.2rem;
    }

    .orbit-dot {
        width: 6px;
        height: 6px;
    }
}

/* === FOUNDER SECTION === */
.founder-section {
    display: grid;
    grid-template-columns: 475px 1fr;
    gap: 50px;
    align-items: center;
}

.founder-image {
    width: 100%;
}

.founder-frame {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    box-shadow:
        0 25px 80px rgba(255, 107, 0, 0.35),
        0 0 0 1px rgba(255, 107, 0, 0.2);
    animation: founderFloat 6s ease-in-out infinite;
}

@keyframes founderFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

.founder-frame::before {
    content: '';
    position: absolute;
    inset: 0;
    border: 3px solid var(--primary-orange);
    border-radius: 24px;
    z-index: 1;
    animation: founderBorderPulse 3s ease-in-out infinite;
}

@keyframes founderBorderPulse {
    0%, 100% { border-color: #FF6B00; box-shadow: inset 0 0 20px rgba(255, 107, 0, 0.1); }
    50% { border-color: #ff9500; box-shadow: inset 0 0 40px rgba(255, 107, 0, 0.2); }
}

.founder-frame::after {
    content: '';
    position: absolute;
    inset: -50%;
    background: linear-gradient(45deg, transparent 40%, rgba(255, 107, 0, 0.1) 50%, transparent 60%);
    animation: founderShine 4s ease-in-out infinite;
    pointer-events: none;
}

@keyframes founderShine {
    0% { transform: translateX(-100%) rotate(45deg); }
    50%, 100% { transform: translateX(100%) rotate(45deg); }
}

.founder-frame img {
    width: 100%;
    display: block;
    transition: transform 0.5s ease;
}

.founder-frame:hover img {
    transform: scale(1.03);
}

.founder-content {
    flex: 1;
}

.founder-header {
    margin-bottom: 20px;
}

.founder-content h2 {
    font-size: 42px;
    color: var(--white);
    margin-bottom: 8px;
}

.founder-content h2 span {
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.founder-title {
    color: var(--primary-orange);
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 15px;
}

.founder-intro {
    color: rgba(255, 255, 255, 0.85);
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 25px;
}

/* Founder Skills Grid */
.founder-skills {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}

.skill-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.08) 0%, rgba(255, 107, 0, 0.02) 100%);
    border-radius: 12px;
    border: 1px solid rgba(255, 107, 0, 0.12);
    transition: all 0.3s ease;
}

.skill-item:hover {
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.12) 0%, rgba(255, 107, 0, 0.05) 100%);
    border-color: rgba(255, 107, 0, 0.25);
    transform: translateY(-3px);
}

.skill-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 107, 0, 0.15);
    border-radius: 10px;
    color: #FF6B00;
}

.skill-icon svg {
    width: 18px;
    height: 18px;
}

.skill-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.skill-text strong {
    color: #FF6B00;
    font-size: 14px;
    font-weight: 700;
}

.skill-text span {
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    line-height: 1.4;
}

/* Founder Credentials Tags */
.founder-credentials {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 0;
}

.credential-tag {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    background: rgba(255, 107, 0, 0.1);
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    color: #FF6B00;
    transition: all 0.3s ease;
}

.credential-tag:hover {
    background: rgba(255, 107, 0, 0.2);
    transform: translateY(-2px);
}

.founder-quote {
    margin: 0;
    padding: 18px 22px;
    background: rgba(255, 107, 0, 0.08);
    border-left: 3px solid var(--primary-orange);
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: rgba(255, 255, 255, 0.85);
    font-size: 14px;
    line-height: 1.6;
}

.founder-actions {
    display: flex;
    gap: 15px;
    margin-top: 20px;
    flex-wrap: wrap;
}

/* === VALUES GRID === */
.values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.value-card {
    text-align: center;
    padding: 40px 25px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    border: 1px solid rgba(255, 107, 0, 0.1);
    transition: var(--transition-smooth);
}

.value-card:hover {
    background: rgba(255, 107, 0, 0.15);
    border-color: var(--primary-orange);
    transform: translateY(-10px);
    box-shadow: var(--shadow-orange);
}

.value-icon {
    margin-bottom: 20px;
}

.value-icon img {
    width: 60px;
    height: 60px;
    transition: var(--transition-smooth);
}

.value-card:hover .value-icon img {
    transform: scale(1.15) rotate(5deg);
}

.value-card h4 {
    color: var(--white);
    font-size: 20px;
    margin-bottom: 10px;
}

.value-card p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    line-height: 1.6;
}

/* ==================== VALUES 3D CUBE ==================== */
.values-subtitle {
    color: rgba(255, 255, 255, 0.6);
    font-size: 16px;
    margin-top: 10px;
}

.values-cube-container {
    perspective: 1500px;
    height: 380px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px 0 30px;
    position: relative;
}

.values-cube-wrapper {
    width: 320px;
    height: 320px;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
    cursor: grab;
}

.values-cube-wrapper:active {
    cursor: grabbing;
}

.values-cube-face {
    position: absolute;
    width: 320px;
    height: 320px;
    background: linear-gradient(135deg,
        #1a1a1a 0%,
        #252525 50%,
        #0f0f0f 100%);
    border: 1px solid rgba(255, 107, 0, 0.4);
    border-top-color: rgba(255, 255, 255, 0.2);
    border-left-color: rgba(255, 255, 255, 0.1);
    border-radius: 0; /* Sharp corners - real 3D cube */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 35px;
    text-align: center;
    backface-visibility: hidden;
    box-shadow:
        0 0 20px rgba(255, 107, 0, 0.1),
        inset 0 0 40px rgba(0, 0, 0, 0.3);
}

/* Glassy reflection overlay */
.values-cube-face::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 45%;
    background: linear-gradient(180deg,
        rgba(255, 255, 255, 0.08) 0%,
        rgba(255, 255, 255, 0.02) 50%,
        transparent 100%);
    pointer-events: none;
}

.values-cube-face.front { transform: translateZ(160px); }
.values-cube-face.back { transform: rotateY(180deg) translateZ(160px); }
.values-cube-face.right { transform: rotateY(90deg) translateZ(160px); }
.values-cube-face.left { transform: rotateY(-90deg) translateZ(160px); }
.values-cube-face.top { transform: rotateX(90deg) translateZ(160px); }
.values-cube-face.bottom { transform: rotateX(-90deg) translateZ(160px); }

.cube-face-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.2), rgba(255, 107, 0, 0.05));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    border: 1px solid rgba(255, 107, 0, 0.3);
}

.cube-face-icon svg {
    width: 36px;
    height: 36px;
    stroke: var(--primary-orange);
}

.values-cube-face h4 {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 15px;
    background: linear-gradient(135deg, #fff, var(--primary-orange));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.values-cube-face p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    line-height: 1.7;
    max-width: 260px;
}

/* Cube Click Zones */
.cube-click-zone {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    transition: all 0.3s ease;
    z-index: 10;
}

.cube-click-zone svg {
    width: 32px;
    height: 32px;
    stroke: var(--primary-orange);
    opacity: 0.5;
    transition: all 0.3s ease;
    filter: drop-shadow(0 0 8px rgba(255, 107, 0, 0.4));
}

.cube-click-zone:hover {
    opacity: 1;
}

.cube-click-zone:hover svg {
    opacity: 1;
    transform: scale(1.2);
    filter: drop-shadow(0 0 15px rgba(255, 107, 0, 0.6));
}

.cube-click-zone:active svg {
    transform: scale(0.9);
}

.cube-click-zone.zone-left {
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 80px;
    height: 150px;
    background: linear-gradient(to right, rgba(255, 107, 0, 0.08) 0%, transparent 100%);
    border-radius: 0 20px 20px 0;
}

.cube-click-zone.zone-right {
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 80px;
    height: 150px;
    background: linear-gradient(to left, rgba(255, 107, 0, 0.08) 0%, transparent 100%);
    border-radius: 20px 0 0 20px;
}

.cube-click-zone.zone-top {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 150px;
    height: 80px;
    background: linear-gradient(to bottom, rgba(255, 107, 0, 0.08) 0%, transparent 100%);
    border-radius: 0 0 20px 20px;
}

.cube-click-zone.zone-bottom {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 150px;
    height: 80px;
    background: linear-gradient(to top, rgba(255, 107, 0, 0.08) 0%, transparent 100%);
    border-radius: 20px 20px 0 0;
}

.cube-click-zone.active {
    opacity: 1;
}

.cube-click-zone.active svg {
    animation: pulseArrow 0.3s ease infinite;
}

@keyframes pulseArrow {
    0%, 100% { transform: scale(1.1); }
    50% { transform: scale(1.3); }
}

/* Show zones on container hover */
.values-cube-container:hover .cube-click-zone {
    opacity: 0.6;
}

.values-cube-hint {
    text-align: center;
    margin-top: 20px;
}

.values-cube-hint span {
    color: rgba(255, 255, 255, 0.4);
    font-size: 13px;
    font-style: italic;
}

/* Responsive Cube */
@media (max-width: 768px) {
    .values-cube-container {
        height: 320px;
    }

    .values-cube-wrapper {
        width: 260px;
        height: 260px;
    }

    .values-cube-face {
        width: 260px;
        height: 260px;
        padding: 25px;
    }

    .values-cube-face.front { transform: translateZ(130px); }
    .values-cube-face.back { transform: rotateY(180deg) translateZ(130px); }
    .values-cube-face.right { transform: rotateY(90deg) translateZ(130px); }
    .values-cube-face.left { transform: rotateY(-90deg) translateZ(130px); }
    .values-cube-face.top { transform: rotateX(90deg) translateZ(130px); }
    .values-cube-face.bottom { transform: rotateX(-90deg) translateZ(130px); }

    .cube-face-icon {
        width: 55px;
        height: 55px;
        margin-bottom: 20px;
    }

    .cube-face-icon svg {
        width: 28px;
        height: 28px;
    }

    .values-cube-face h4 {
        font-size: 20px;
    }

    .values-cube-face p {
        font-size: 13px;
    }

    .cube-click-zone.zone-left,
    .cube-click-zone.zone-right {
        width: 60px;
        height: 120px;
    }

    .cube-click-zone.zone-top,
    .cube-click-zone.zone-bottom {
        width: 120px;
        height: 60px;
    }

    .cube-click-zone svg {
        width: 26px;
        height: 26px;
    }
}

@media (max-width: 480px) {
    .values-cube-container {
        height: 280px;
    }

    .values-cube-wrapper {
        width: 220px;
        height: 220px;
    }

    .values-cube-face {
        width: 220px;
        height: 220px;
        padding: 20px;
    }

    .values-cube-face.front { transform: translateZ(110px); }
    .values-cube-face.back { transform: rotateY(180deg) translateZ(110px); }
    .values-cube-face.right { transform: rotateY(90deg) translateZ(110px); }
    .values-cube-face.left { transform: rotateY(-90deg) translateZ(110px); }
    .values-cube-face.top { transform: rotateX(90deg) translateZ(110px); }
    .values-cube-face.bottom { transform: rotateX(-90deg) translateZ(110px); }

    .cube-face-icon {
        width: 45px;
        height: 45px;
        margin-bottom: 15px;
    }

    .cube-face-icon svg {
        width: 22px;
        height: 22px;
    }

    .values-cube-face h4 {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .values-cube-face p {
        font-size: 12px;
        line-height: 1.5;
    }

    .cube-click-zone.zone-left,
    .cube-click-zone.zone-right {
        width: 50px;
        height: 100px;
    }

    .cube-click-zone.zone-top,
    .cube-click-zone.zone-bottom {
        width: 100px;
        height: 50px;
    }

    .cube-click-zone svg {
        width: 22px;
        height: 22px;
    }
}

/* === COMPARISON GRID === */
.comparison-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    max-width: 800px;
    margin: 0 auto;
}

.comparison-card {
    padding: 40px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    border: 1px solid rgba(255, 107, 0, 0.1);
}

.comparison-card.featured {
    border-color: var(--primary-orange);
    background: rgba(255, 107, 0, 0.1);
}

.comparison-card h4 {
    color: var(--white);
    font-size: 20px;
    margin-bottom: 25px;
    text-align: center;
}

.comparison-calc {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.calc-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: 15px;
}

.calc-row.savings {
    color: #00c853;
    font-weight: 600;
}

.calc-total {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
    border-top: 2px solid rgba(255, 255, 255, 0.2);
    margin-top: 10px;
    color: var(--white);
    font-size: 18px;
    font-weight: 700;
}

.comparison-note {
    text-align: center;
    margin-top: 40px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 16px;
}

.comparison-note strong {
    color: var(--primary-orange);
}

/* === FAQ GRID === */
.faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.faq-item {
    padding: 30px;
    background: var(--white);
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    transition: var(--transition-smooth);
}

.faq-item:hover {
    border-color: var(--primary-orange);
    box-shadow: var(--shadow-orange);
    transform: translateY(-5px);
}

.faq-item h4 {
    color: var(--black);
    font-size: 17px;
    margin-bottom: 12px;
}

.faq-item p {
    color: var(--gray);
    font-size: 14px;
    line-height: 1.7;
}

/* === ACTIONS GRID === */
.actions-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.action-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 50px 30px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    border: 1px solid rgba(255, 107, 0, 0.1);
    text-decoration: none;
    transition: var(--transition-smooth);
}

.action-card:hover {
    background: rgba(255, 107, 0, 0.15);
    border-color: var(--primary-orange);
    transform: translateY(-10px);
    box-shadow: var(--shadow-orange);
}

.action-icon {
    margin-bottom: 20px;
}

.action-icon img {
    width: 60px;
    height: 60px;
    transition: var(--transition-smooth);
}

.action-card:hover .action-icon img {
    transform: scale(1.15);
}

.action-card h4 {
    color: var(--white);
    font-size: 20px;
    margin-bottom: 10px;
}

.action-card p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    margin-bottom: 20px;
}

.action-link {
    color: var(--primary-orange);
    font-weight: 600;
    font-size: 14px;
}

/* === PARTNER SECTION === */
.partner-section {
    text-align: center;
    padding: 60px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.1) 0%, rgba(255, 107, 0, 0.05) 100%);
    border-radius: 30px;
    border: 2px solid rgba(255, 107, 0, 0.2);
}

.partner-content h3 {
    font-size: 28px;
    color: var(--black);
    margin-bottom: 10px;
}

.partner-content p {
    color: var(--gray);
    font-size: 16px;
    margin-bottom: 30px;
}

.partner-tag-btn {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    padding: 15px 35px;
    background: var(--gradient-orange);
    color: var(--white);
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 16px;
    transition: var(--transition-smooth);
    box-shadow: var(--shadow-orange);
}

.partner-tag-btn:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-orange-lg);
}

.partner-tag-btn img {
    height: 40px;
    filter: brightness(0) invert(1);
}

/* === SOCIAL SECTION === */
.social-section {
    text-align: center;
}

.social-section h3 {
    color: var(--white);
    font-size: 24px;
    margin-bottom: 30px;
}

.social-links {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.social-link {
    padding: 15px 35px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 50px;
    color: var(--white);
    text-decoration: none;
    font-weight: 500;
    transition: var(--transition-smooth);
}

.social-link:hover {
    background: var(--gradient-orange);
    border-color: var(--primary-orange);
    transform: translateY(-5px);
    box-shadow: var(--shadow-orange);
}

/* === CONTACT INTRO === */
.contact-intro {
    text-align: center;
    margin-bottom: 50px;
}

.contact-intro h2 {
    font-size: 36px;
    color: var(--black);
    margin-bottom: 10px;
}

.contact-intro h2 span {
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.contact-intro p {
    color: var(--gray);
    font-size: 18px;
}

.contact-note {
    display: block;
    font-size: 12px;
    color: var(--primary-orange);
    margin-top: 10px;
}

/* ============================================
   CONTACT MODAL - PROFESSIONAL REDESIGN
   ============================================ */

/* Contact Hero Section */
.contact-hero {
    position: relative;
    padding: 120px 0 100px;
    overflow: hidden;
    background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #0f0f0f 100%);
}

.contact-hero-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.contact-hero-gradient {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 50% at 20% 40%, rgba(255, 107, 0, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse 60% 40% at 80% 60%, rgba(255, 107, 0, 0.1) 0%, transparent 50%);
}

.contact-hero-pattern {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 107, 0, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 107, 0, 0.03) 1px, transparent 1px);
    background-size: 50px 50px;
}

.contact-hero-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.08) 0%, transparent 60%);
    animation: contactGlowPulse 8s ease-in-out infinite;
}

@keyframes contactGlowPulse {
    0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); }
}

/* Combined Hero Layout */
.contact-hero-combined {
    padding: 100px 0 80px;
}

.contact-hero-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px;
    position: relative;
    z-index: 2;
}

.contact-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background: rgba(255, 107, 0, 0.1);
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 50px;
    color: #FF6B00;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 24px;
}

.contact-hero-badge svg {
    stroke: #FF6B00;
}

.contact-hero-header h1 {
    font-size: 52px;
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 20px;
}

.contact-hero-header h1 span {
    background: linear-gradient(135deg, #FF6B00, #ff8533, #FF6B00);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.contact-hero-header > p {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
}

/* Main Content Grid - Chat + Form */
.contact-hero-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
    position: relative;
    z-index: 2;
    margin-bottom: 60px;
}

.contact-hero-form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contact-hero-form .form-cta-card {
    width: 100%;
    max-width: 420px;
}

/* Combined Contact Card */
.form-cta-card-combined {
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.95), rgba(20, 20, 20, 0.98));
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 20px;
    padding: 40px;
    text-align: center;
    position: relative;
    overflow: hidden;
    max-width: 500px;
    margin: 0 auto;
}

.form-cta-card-combined::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #FF6B00, #ff8533, #FF6B00);
}

.form-cta-card-combined .form-cta-icon {
    margin-bottom: 20px;
}

.form-cta-card-combined .form-cta-icon svg {
    stroke: #FF6B00;
}

.form-cta-card-combined h3 {
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px;
}

.form-cta-card-combined > p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
    margin-bottom: 24px;
}

.form-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.form-cta-buttons .form-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 28px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    width: 100%;
}

.form-cta-buttons .form-cta-btn:first-child {
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    color: #fff;
}

.form-cta-buttons .form-cta-btn:first-child:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 107, 0, 0.4);
}

.form-cta-buttons .form-cta-btn-secondary {
    background: transparent;
    border: 2px solid rgba(255, 107, 0, 0.5);
    color: #FF6B00;
}

.form-cta-buttons .form-cta-btn-secondary:hover {
    background: rgba(255, 107, 0, 0.1);
    border-color: #FF6B00;
}

.form-cta-buttons .form-cta-btn svg {
    flex-shrink: 0;
}

.chat-caption {
    text-align: center;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 16px;
    font-style: italic;
}

/* Benefits Inline */
.form-benefits-inline {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 24px;
}

.benefit-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
}

.benefit-item svg {
    stroke: #FF6B00;
    flex-shrink: 0;
}

/* Stats Row */
.contact-hero-stats {
    display: flex;
    justify-content: center;
    gap: 60px;
    position: relative;
    z-index: 2;
    padding-top: 40px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.contact-stat {
    text-align: center;
}

.contact-stat .stat-number {
    display: block;
    font-size: 32px;
    font-weight: 800;
    color: #FF6B00;
    margin-bottom: 4px;
}

.contact-stat .stat-label {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Legacy support */
.contact-hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    position: relative;
    z-index: 2;
}

.contact-hero-text {
    max-width: 600px;
}

.contact-hero-text h1 {
    font-size: 56px;
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 24px;
}

.contact-hero-text h1 span {
    background: linear-gradient(135deg, #FF6B00, #ff8533, #FF6B00);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.contact-hero-text > p {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
    margin-bottom: 40px;
}

/* Contact Visual Card - Chat */
.contact-hero-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

.contact-hero-visual::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

.contact-visual-card {
    width: 100%;
    max-width: 400px;
    background: linear-gradient(145deg, #1a1a1a, #252525);
    border: 2px solid rgba(255, 107, 0, 0.4);
    border-radius: 20px;
    overflow: hidden;
    box-shadow:
        0 30px 60px rgba(0, 0, 0, 0.5),
        0 0 40px rgba(255, 107, 0, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset;
    position: relative;
    z-index: 1;
}

.visual-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    background: linear-gradient(180deg, rgba(255, 107, 0, 0.1), rgba(0, 0, 0, 0.3));
    border-bottom: 1px solid rgba(255, 107, 0, 0.2);
}

.visual-card-dots {
    display: flex;
    gap: 6px;
}

.visual-card-dots span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.visual-card-dots span:nth-child(1) { background: #ff5f56; box-shadow: 0 0 6px rgba(255, 95, 86, 0.5); }
.visual-card-dots span:nth-child(2) { background: #ffbd2e; box-shadow: 0 0 6px rgba(255, 189, 46, 0.5); }
.visual-card-dots span:nth-child(3) { background: #27ca40; box-shadow: 0 0 6px rgba(39, 202, 64, 0.5); }

.visual-card-title {
    font-size: 12px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
    margin-left: auto;
}

.visual-card-content {
    padding: 24px;
    max-height: 400px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 107, 0, 0.4) transparent;
}

/* Compact Chat - No Scroll */
.visual-card-content.compact-chat {
    padding: 16px 18px;
    max-height: none;
    overflow-y: visible;
}

.visual-card-content::-webkit-scrollbar {
    width: 6px;
}

.visual-card-content::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.02);
    border-radius: 3px;
}

.visual-card-content::-webkit-scrollbar-thumb {
    background: rgba(255, 107, 0, 0.4);
    border-radius: 3px;
}

/* Chat Timestamps */
.chat-timestamp {
    text-align: center;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.4);
    margin: 12px 0 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 500;
}

.compact-chat .chat-timestamp {
    margin: 10px 0 6px;
    font-size: 10px;
}

.chat-timestamp:first-child {
    margin-top: 0;
}

.visual-message {
    padding: 10px 14px;
    border-radius: 16px;
    margin-bottom: 6px;
    max-width: 88%;
    animation: messageSlideIn 0.4s ease-out;
    position: relative;
    display: flex;
    align-items: flex-end;
    gap: 6px;
}

.compact-chat .visual-message {
    padding: 8px 12px;
    margin-bottom: 5px;
    border-radius: 14px;
}

/* Message Status Checkmarks */
.msg-status {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: rgba(255, 255, 255, 0.7);
    margin-left: auto;
}

.msg-status.read {
    color: #7dd3fc;
}

.msg-status svg {
    display: block;
}

@keyframes messageSlideIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.visual-message.incoming {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom-left-radius: 4px;
}

.visual-message.outgoing {
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    margin-left: auto;
    border-bottom-right-radius: 4px;
    box-shadow: 0 4px 20px rgba(255, 107, 0, 0.3);
}

.visual-message.typing-animation {
    animation: fadeInLast 2.5s ease-out;
}

@keyframes fadeInLast {
    0%, 60% { opacity: 0; transform: translateY(12px); }
    100% { opacity: 1; transform: translateY(0); }
}

.visual-message > span:first-child {
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.95);
}

.compact-chat .visual-message > span:first-child {
    font-size: 12px;
    line-height: 1.4;
}

.visual-typing {
    display: flex;
    gap: 5px;
    padding: 16px 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    border-bottom-left-radius: 4px;
    width: fit-content;
}

.visual-typing span {
    width: 10px;
    height: 10px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    animation: typingDot 1.4s infinite ease-in-out;
}

.visual-typing span:nth-child(2) { animation-delay: 0.2s; }
.visual-typing span:nth-child(3) { animation-delay: 0.4s; }

@keyframes typingDot {
    0%, 60%, 100% { transform: translateY(0); opacity: 0.5; }
    30% { transform: translateY(-8px); opacity: 1; }
}

/* Chat Carousel */
.chat-carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.chat-slide {
    display: none;
    opacity: 0;
    transform: translateX(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.chat-slide.active {
    display: block;
    opacity: 1;
    transform: translateX(0);
}

.chat-slide.slide-out-left {
    display: block;
    opacity: 0;
    transform: translateX(-20px);
}

.chat-slide.slide-in-right {
    display: block;
    opacity: 0;
    transform: translateX(20px);
}

/* Carousel Controls */
.chat-carousel-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 18px;
    background: rgba(0, 0, 0, 0.3);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.carousel-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    color: rgba(255, 255, 255, 0.6);
}

.carousel-btn:hover {
    background: rgba(255, 107, 0, 0.2);
    border-color: rgba(255, 107, 0, 0.4);
    color: #FF6B00;
}

.carousel-dots {
    display: flex;
    gap: 8px;
}

.carousel-dot {
    width: 8px;
    height: 8px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
}

.carousel-dot:hover {
    background: rgba(255, 107, 0, 0.5);
}

.carousel-dot.active {
    background: #FF6B00;
    box-shadow: 0 0 8px rgba(255, 107, 0, 0.5);
    transform: scale(1.2);
}

/* Carousel Progress Bar */
.visual-card-header {
    position: relative;
}

.carousel-progress-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(255, 255, 255, 0.1);
    overflow: hidden;
}

.carousel-progress-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #FF6B00, #FF8C00);
    box-shadow: 0 0 10px rgba(255, 107, 0, 0.5);
}

.carousel-progress-fill.animating {
    animation: progressFill 5s linear forwards;
}

.carousel-progress-fill.paused {
    animation-play-state: paused;
}

@keyframes progressFill {
    from { width: 0%; }
    to { width: 100%; }
}

/* Secondary Form CTA Card */
.form-cta-card-secondary {
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.95), rgba(20, 20, 20, 0.98)) !important;
    border: 2px solid rgba(255, 255, 255, 0.15) !important;
}

.form-cta-card-secondary::before {
    background: radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.08) 0%, transparent 60%) !important;
}

.form-cta-card-secondary:hover {
    border-color: rgba(255, 107, 0, 0.5) !important;
    transform: translateY(-5px);
}

.form-cta-card-secondary .form-cta-icon {
    background: rgba(255, 255, 255, 0.08);
}

.form-cta-card-secondary .form-cta-icon svg {
    stroke: rgba(255, 255, 255, 0.8);
}

.form-cta-card-secondary:hover .form-cta-icon svg {
    stroke: #FF6B00;
}

.form-cta-btn-secondary {
    background: transparent !important;
    border: 2px solid rgba(255, 107, 0, 0.6) !important;
    color: #FF6B00 !important;
}

.form-cta-card-secondary:hover .form-cta-btn-secondary {
    background: rgba(255, 107, 0, 0.1) !important;
    border-color: #FF6B00 !important;
}

/* Contact Form Section - Primary CTA */
.contact-form-section {
    padding: 100px 0;
    background: linear-gradient(135deg, #1a1a1a 0%, #0f0f0f 100%);
}

.contact-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.contact-form-info {
    max-width: 500px;
}

.form-section-badge {
    display: inline-block;
    padding: 8px 20px;
    background: rgba(255, 107, 0, 0.15);
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 50px;
    color: #FF6B00;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 24px;
}

.contact-form-info h2 {
    font-size: 42px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 16px;
    line-height: 1.2;
}

.contact-form-info h2 span {
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.contact-form-info > p {
    font-size: 17px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
    margin-bottom: 32px;
}

.form-benefits {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.form-benefit {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 15px;
}

.form-benefit svg {
    stroke: #FF6B00;
    flex-shrink: 0;
}

/* Form CTA Card */
.form-cta-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 60px 50px;
    background: linear-gradient(145deg, #252525, #1a1a1a);
    border: 2px solid rgba(255, 107, 0, 0.3);
    border-radius: 24px;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.form-cta-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.1), transparent);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.form-cta-card:hover {
    border-color: #FF6B00;
    transform: translateY(-8px);
    box-shadow: 0 30px 60px rgba(255, 107, 0, 0.2);
}

.form-cta-card:hover::before {
    opacity: 1;
}

.form-cta-icon {
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    border-radius: 24px;
    margin-bottom: 28px;
    position: relative;
    z-index: 1;
}

.form-cta-icon svg {
    stroke: #fff;
}

.form-cta-card h3 {
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
    position: relative;
    z-index: 1;
}

.form-cta-card > p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 28px;
    position: relative;
    z-index: 1;
}

.form-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    border-radius: 12px;
    position: relative;
    z-index: 1;
    transition: all 0.3s ease;
}

.form-cta-card:hover .form-cta-btn {
    transform: scale(1.05);
    box-shadow: 0 10px 30px rgba(255, 107, 0, 0.4);
}

.form-cta-btn svg {
    stroke: #fff;
    transition: transform 0.3s ease;
}

.form-cta-card:hover .form-cta-btn svg {
    transform: translateX(4px);
}

/* Quick Contact Header */
.quick-contact-header {
    text-align: center;
    margin-bottom: 40px;
}

.quick-contact-header h3 {
    font-size: 28px;
    font-weight: 700;
    color: #1a1a1a;
}

.quick-contact-header h3 span {
    color: #FF6B00;
}

/* Contact Methods Section */
.contact-methods-section {
    padding: 80px 0;
    background: linear-gradient(180deg, #f8f8f8 0%, #ffffff 100%);
}

.contact-methods-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* Contact Method Card - Particle Style with Company Branding */
.contact-method-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 40px 30px 35px;
    background: linear-gradient(145deg, #1a1a1a, #252525);
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 24px;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

/* Particle background effect */
.contact-method-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(4px 4px at 20% 30%, rgba(255, 107, 0, 0.8) 50%, transparent 50%),
        radial-gradient(3px 3px at 40% 70%, rgba(255, 107, 0, 0.7) 50%, transparent 50%),
        radial-gradient(4px 4px at 60% 20%, rgba(255, 107, 0, 0.9) 50%, transparent 50%),
        radial-gradient(3px 3px at 80% 50%, rgba(255, 107, 0, 0.7) 50%, transparent 50%),
        radial-gradient(5px 5px at 30% 80%, rgba(255, 107, 0, 0.8) 50%, transparent 50%),
        radial-gradient(3px 3px at 70% 90%, rgba(255, 107, 0, 0.6) 50%, transparent 50%),
        radial-gradient(4px 4px at 10% 60%, rgba(255, 107, 0, 0.8) 50%, transparent 50%),
        radial-gradient(3px 3px at 90% 15%, rgba(255, 107, 0, 0.7) 50%, transparent 50%),
        radial-gradient(5px 5px at 50% 50%, rgba(255, 107, 0, 0.5) 50%, transparent 50%),
        radial-gradient(3px 3px at 15% 15%, rgba(255, 107, 0, 0.6) 50%, transparent 50%),
        radial-gradient(4px 4px at 85% 85%, rgba(255, 107, 0, 0.7) 50%, transparent 50%),
        radial-gradient(3px 3px at 45% 35%, rgba(255, 107, 0, 0.5) 50%, transparent 50%);
    opacity: 1;
    animation: particleFloat 8s ease-in-out infinite;
    pointer-events: none;
}

/* Glow effect on hover */
.contact-method-card::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 150%;
    height: 150%;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.15) 0%, transparent 60%);
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.5s ease;
    pointer-events: none;
}

@keyframes particleFloat {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
        opacity: 0.5;
    }
    25% {
        transform: translateY(-5px) rotate(1deg);
        opacity: 0.7;
    }
    50% {
        transform: translateY(-10px) rotate(0deg);
        opacity: 0.6;
    }
    75% {
        transform: translateY(-5px) rotate(-1deg);
        opacity: 0.8;
    }
}

.contact-method-card:hover {
    transform: translateY(-12px);
    box-shadow:
        0 25px 50px rgba(0, 0, 0, 0.4),
        0 0 0 1px rgba(255, 107, 0, 0.5),
        0 0 30px rgba(255, 107, 0, 0.2);
    border-color: rgba(255, 107, 0, 0.5);
}

.contact-method-card:hover::before {
    opacity: 1;
}

.contact-method-card:hover::after {
    transform: translate(-50%, -50%) scale(1);
}

.contact-method-card:hover .method-icon {
    transform: scale(1.15) rotate(10deg);
    box-shadow: 0 15px 40px rgba(255, 107, 0, 0.5);
}

.method-icon-wrap {
    position: relative;
    margin-bottom: 24px;
}

.method-icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    border-radius: 20px;
    color: #fff;
    box-shadow: 0 10px 30px rgba(255, 107, 0, 0.3);
    transition: var(--transition-bounce);
    position: relative;
    z-index: 1;
}

.method-icon svg {
    stroke: #fff;
    width: 36px;
    height: 36px;
}

.method-whatsapp .method-icon svg {
    fill: #fff;
    stroke: none;
}

.contact-method-card h4 {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
    margin-top: 20px;
    position: relative;
    z-index: 1;
}

.method-value {
    display: block;
    font-size: 15px;
    color: #FF6B00;
    font-weight: 600;
    margin-bottom: 6px;
    word-break: break-word;
    position: relative;
    z-index: 1;
}

.method-note {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    position: relative;
    z-index: 1;
}

/* Method CTA Button */
.method-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding: 12px 24px;
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    border-radius: 12px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 8px 20px rgba(255, 107, 0, 0.3);
    position: relative;
    z-index: 1;
}

.method-cta svg {
    stroke: #fff;
    transition: transform 0.3s ease;
}

.contact-method-card:hover .method-cta {
    box-shadow: 0 12px 30px rgba(255, 107, 0, 0.5);
    transform: translateX(3px);
}

.contact-method-card:hover .method-cta svg {
    transform: translateX(4px);
}

/* Method Action Buttons */
.method-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 16px;
    position: relative;
    z-index: 1;
}

.method-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    background: rgba(255, 107, 0, 0.15);
    border: 2px solid rgba(255, 107, 0, 0.3);
    border-radius: 12px;
    color: #FF6B00;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.method-action-btn:hover {
    background: #FF6B00;
    border-color: #FF6B00;
    color: #fff;
    transform: scale(1.1);
}

.method-action-btn:hover svg {
    stroke: #fff;
}

.method-action-btn svg {
    stroke: #FF6B00;
    transition: stroke 0.3s ease;
}

.method-action-btn.copy-btn.copied {
    background: #27ca40;
    border-color: #27ca40;
    color: #fff;
}

.method-action-btn.copy-btn.copied svg {
    stroke: #fff;
}

/* Method Arrow for Meeting Card */
.method-arrow {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    border-radius: 14px;
    color: #fff;
    margin-top: auto;
    transition: all 0.3s ease;
}

.method-arrow svg {
    stroke: #fff;
}

.contact-method-card:hover .method-arrow {
    transform: scale(1.1);
    box-shadow: 0 8px 20px rgba(255, 107, 0, 0.4);
}

/* Responsive Contact Methods */
@media (max-width: 1024px) {
    .contact-methods-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact-method-card.method-calendar {
        grid-column: span 2;
        max-width: 400px;
        margin: 0 auto;
    }
}

@media (max-width: 640px) {
    .contact-methods-grid {
        grid-template-columns: 1fr;
    }

    .contact-method-card.method-calendar {
        grid-column: span 1;
        max-width: none;
    }
}

/* Contact Info Section */
.contact-info-section {
    padding: 100px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f5f5f5 100%);
}

.contact-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.info-header {
    margin-bottom: 40px;
}

.info-label {
    display: inline-block;
    padding: 8px 16px;
    background: rgba(255, 107, 0, 0.1);
    border-radius: 50px;
    color: #FF6B00;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 16px;
}

.info-header h2 {
    font-size: 42px;
    font-weight: 800;
    color: #1a1a1a;
    margin-bottom: 8px;
}

.info-header h2 span {
    color: #FF6B00;
}

.info-header > p {
    font-size: 16px;
    color: #666;
}

.info-details {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 40px;
}

.info-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.info-item-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.1), rgba(255, 107, 0, 0.05));
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 12px;
    color: #FF6B00;
    flex-shrink: 0;
}

.info-item-icon svg {
    stroke: #FF6B00;
}

.info-item-text strong {
    display: block;
    font-size: 16px;
    color: #1a1a1a;
    margin-bottom: 4px;
}

.info-item-text span {
    font-size: 14px;
    color: #666;
}

.info-founder {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    background: linear-gradient(135deg, #1a1a1a, #252525);
    border-radius: 16px;
}

.founder-avatar {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    border-radius: 14px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

.founder-info strong {
    display: block;
    color: #fff;
    font-size: 16px;
    margin-bottom: 4px;
}

.founder-info span {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
}

/* Location Visual */
.contact-info-visual {
    display: flex;
    justify-content: center;
}

/* ==================== US DEVELOPERS CARD ==================== */
.us-developers-card {
    position: relative;
    width: 100%;
    max-width: 440px;
    padding: 40px 35px;
    background: linear-gradient(145deg, #0a0a0a 0%, #151515 100%);
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 28px;
    overflow: hidden;
    box-shadow:
        0 30px 60px rgba(0, 0, 0, 0.4),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset;
}

.us-dev-bg-pattern {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 80%, rgba(255, 107, 0, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255, 107, 0, 0.06) 0%, transparent 40%);
    pointer-events: none;
}

.us-dev-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.us-flag-badge {
    position: relative;
    margin-bottom: 25px;
}

.us-flag-icon {
    width: 80px;
    height: 54px;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.flag-glow {
    position: absolute;
    inset: -20px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.3) 0%, transparent 70%);
    animation: flagGlow 3s ease-in-out infinite;
}

@keyframes flagGlow {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.1); }
}

.us-dev-headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 15px;
}

.us-dev-percent {
    font-size: 52px;
    font-weight: 800;
    color: #FF6B00;
    line-height: 1;
    text-shadow: 0 0 30px rgba(255, 107, 0, 0.5);
}

.us-dev-text {
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    margin-top: 5px;
}

.us-dev-description {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.6;
    margin-bottom: 30px;
    max-width: 320px;
}

.us-dev-stats {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 25px;
    padding: 20px 25px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.us-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.us-stat-circle {
    position: relative;
    width: 60px;
    height: 60px;
}

.us-stat-ring {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.us-stat-ring .ring-bg {
    fill: none;
    stroke: rgba(255, 255, 255, 0.1);
    stroke-width: 3;
}

.us-stat-ring .ring-fill {
    fill: none;
    stroke: #FF6B00;
    stroke-width: 3;
    stroke-linecap: round;
    animation: ringFill 2s ease-out forwards;
}

@keyframes ringFill {
    from { stroke-dasharray: 0, 100; }
    to { stroke-dasharray: 98, 100; }
}

.us-stat-value {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 16px;
    font-weight: 700;
    color: #FF6B00;
}

.us-stat-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FF6B00;
}

.us-stat-label {
    font-size: 13px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.7);
}

.us-stat-divider {
    width: 1px;
    height: 50px;
    background: rgba(255, 255, 255, 0.1);
}

.us-dev-tagline {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: rgba(255, 107, 0, 0.1);
    border-radius: 30px;
    border: 1px solid rgba(255, 107, 0, 0.2);
}

.us-dev-tagline svg {
    color: #FF6B00;
    flex-shrink: 0;
}

.us-dev-tagline span {
    font-size: 13px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.8);
}

/* ==================== TEAM SHOWCASE SECTION ==================== */
.team-showcase-section {
    padding: 80px 0;
    background: linear-gradient(180deg, #0a0a0a 0%, #111 100%);
}

.team-showcase-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    background: linear-gradient(145deg, rgba(20, 20, 20, 0.9), rgba(10, 10, 10, 0.95));
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 24px;
    overflow: hidden;
    box-shadow:
        0 30px 60px rgba(0, 0, 0, 0.4),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset;
}

.team-showcase-image {
    position: relative;
    height: 100%;
    min-height: 400px;
    overflow: hidden;
}

.team-showcase-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.team-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 60%, #0a0a0a 100%);
    pointer-events: none;
}

.team-showcase-content {
    padding: 50px 50px 50px 0;
}

.team-badge {
    display: inline-block;
    padding: 8px 18px;
    background: rgba(255, 107, 0, 0.15);
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 50px;
    color: #FF6B00;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
}

.team-showcase-content h3 {
    font-size: 36px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 16px;
    line-height: 1.2;
}

.team-showcase-content h3 span {
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.team-showcase-content > p {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
    margin-bottom: 30px;
}

.team-highlights {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.team-highlight {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 15px;
    font-weight: 500;
}

.team-highlight svg {
    color: #FF6B00;
    flex-shrink: 0;
}

@media (max-width: 992px) {
    .team-showcase-card {
        grid-template-columns: 1fr;
    }

    .team-showcase-image {
        min-height: 300px;
    }

    .team-image-overlay {
        background: linear-gradient(180deg, transparent 60%, #0a0a0a 100%);
    }

    .team-showcase-content {
        padding: 30px;
    }

    .team-showcase-content h3 {
        font-size: 28px;
    }
}

@media (max-width: 576px) {
    .team-showcase-section {
        padding: 50px 0;
    }

    .team-showcase-image {
        min-height: 220px;
    }

    .team-showcase-content h3 {
        font-size: 24px;
    }

    .team-showcase-content > p {
        font-size: 14px;
    }

    .team-highlight {
        font-size: 13px;
    }
}

.location-visual-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

/* USA Map Card Styles */
.usa-map-card {
    position: relative;
    width: 420px;
    height: 320px;
    background: linear-gradient(145deg, #0a0a0a, #151515);
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 28px;
    overflow: hidden;
    box-shadow:
        0 30px 60px rgba(0, 0, 0, 0.4),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset;
}

/* USA Map Background Image */
.usa-map-bg-img {
    position: absolute;
    inset: 15px;
    width: calc(100% - 30px);
    height: calc(100% - 60px);
    object-fit: contain;
    opacity: 0.06;
    filter: brightness(0) invert(1);
    pointer-events: none;
}

.usa-map-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.map-glow {
    position: absolute;
    top: 42%;
    left: 68%;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.3) 0%, transparent 70%);
    transform: translate(-50%, -50%);
    animation: mapGlowPulse 3s ease-in-out infinite;
}

@keyframes mapGlowPulse {
    0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: 1; transform: translate(-50%, -50%) scale(1.2); }
}

.usa-map-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* USA Map Outline Shape */
.usa-outline {
    opacity: 1;
}

.usa-map-shape {
    fill: rgba(255, 107, 0, 0.08);
    stroke: rgba(255, 107, 0, 0.4);
    stroke-width: 2;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 10px rgba(255, 107, 0, 0.3));
}

.map-grid line {
    stroke: #FF6B00;
    stroke-width: 0.5;
    opacity: 0.15;
}

/* Connection Lines - Animated curved paths from Louisville */
.connection-line {
    fill: none;
    stroke: #FF6B00;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-dasharray: 8 4;
    opacity: 0;
    filter: drop-shadow(0 0 4px rgba(255, 107, 0, 0.6));
}

/* Staggered animation - show 3-4 lines at a time, cycle through all */
.connection-line.line-1 { animation: flowLine 4s ease-in-out infinite; animation-delay: 0s; }
.connection-line.line-2 { animation: flowLine 4s ease-in-out infinite; animation-delay: 0.4s; }
.connection-line.line-3 { animation: flowLine 4s ease-in-out infinite; animation-delay: 0.8s; }
.connection-line.line-4 { animation: flowLine 4s ease-in-out infinite; animation-delay: 4s; }
.connection-line.line-5 { animation: flowLine 4s ease-in-out infinite; animation-delay: 4.4s; }
.connection-line.line-6 { animation: flowLine 4s ease-in-out infinite; animation-delay: 4.8s; }
.connection-line.line-7 { animation: flowLine 4s ease-in-out infinite; animation-delay: 8s; }
.connection-line.line-8 { animation: flowLine 4s ease-in-out infinite; animation-delay: 8.4s; }

@keyframes flowLine {
    0% {
        stroke-dashoffset: 100;
        opacity: 0;
    }
    15% {
        opacity: 0.9;
    }
    50% {
        stroke-dashoffset: -100;
        opacity: 0.9;
    }
    85% {
        opacity: 0.9;
    }
    100% {
        stroke-dashoffset: -200;
        opacity: 0;
    }
}

/* Client Pin Markers */
.client-pin {
    fill: #FF6B00;
    opacity: 0.6;
    filter: drop-shadow(0 0 3px rgba(255, 107, 0, 0.5));
}

/* HQ Marker - Louisville */
.hq-pin {
    fill: #fff;
    filter: drop-shadow(0 0 6px rgba(255, 107, 0, 1)) drop-shadow(0 0 12px rgba(255, 107, 0, 0.8));
}

.hq-pulse {
    fill: none;
    stroke: #FF6B00;
    stroke-width: 2;
    opacity: 0;
    animation: hqPulse 2.5s ease-out infinite;
}

.hq-pulse.delay-1 { animation-delay: 0.8s; }
.hq-pulse.delay-2 { animation-delay: 1.6s; }

@keyframes hqPulse {
    0% {
        r: 12;
        opacity: 0.9;
        stroke-width: 3;
    }
    100% {
        r: 45;
        opacity: 0;
        stroke-width: 1;
    }
}

/* Louisville Label */
.louisville-label {
    position: absolute;
    top: 38%;
    left: 68%;
    transform: translate(-50%, -100%);
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
    padding: 5px 12px;
    border-radius: 8px;
    border: 1px solid rgba(255, 107, 0, 0.5);
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    z-index: 3;
    letter-spacing: 0.5px;
}

.map-info-overlay {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    z-index: 2;
}

.map-stats {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(10px);
    padding: 10px 20px;
    border-radius: 14px;
    border: 1px solid rgba(255, 107, 0, 0.4);
}

.map-stats .stat-number {
    font-size: 24px;
    font-weight: 800;
    color: #FF6B00;
}

.map-stats .stat-label {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Legacy styles for backward compatibility */
.location-visual-card {
    display: none;
}

.serving-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 24px;
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    border-radius: 50px;
    box-shadow: 0 8px 24px rgba(255, 107, 0, 0.3);
}

.serving-badge svg {
    stroke: #fff;
}

.serving-badge span {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}

/* Partner CTA Section */
.contact-partner-section {
    padding: 80px 0;
    background: linear-gradient(180deg, #1a1a1a 0%, #0f0f0f 100%);
}

.partner-cta-card {
    position: relative;
    padding: 60px 80px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.1), rgba(255, 107, 0, 0.05));
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 24px;
    overflow: hidden;
}

.partner-cta-bg {
    position: absolute;
    top: -50%;
    right: -20%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.15) 0%, transparent 60%);
    pointer-events: none;
}

.partner-cta-content {
    display: flex;
    align-items: center;
    gap: 40px;
    position: relative;
    z-index: 2;
}

.partner-cta-icon {
    flex-shrink: 0;
}

.partner-cta-icon img {
    width: 100px;
    height: auto;
}

/* Partner badge - 3x larger size */
.partner-badge-large {
    width: 300px !important;
    height: auto;
}

/* Partner Tag Card (combined section) */
.partner-tag-card {
    display: flex;
    align-items: center;
    gap: 40px;
    padding: 40px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.1), rgba(255, 107, 0, 0.05));
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 20px;
    margin-top: 40px;
}

.partner-tag-image {
    flex-shrink: 0;
}

.partner-tag-content {
    flex: 1;
}

.partner-tag-content h3 {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px;
}

.partner-tag-content p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
    margin-bottom: 20px;
}

.partner-tag-section {
    padding: 60px 0;
}

.partner-cta-text {
    flex: 1;
}

.partner-cta-text h3 {
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px;
}

.partner-cta-text p {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
}

.partner-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 36px;
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 12px;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.partner-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(255, 107, 0, 0.4);
}

.partner-cta-btn svg {
    stroke: #fff;
    transition: transform 0.3s ease;
}

.partner-cta-btn:hover svg {
    transform: translateX(4px);
}

/* Zoho Form Modal */
.zoho-form-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(8px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.zoho-form-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.zoho-form-modal {
    width: 100%;
    max-width: 750px;
    max-height: 95vh;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.4);
    transform: scale(0.9) translateY(20px);
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
}

.zoho-form-modal-overlay.active .zoho-form-modal {
    transform: scale(1) translateY(0);
}

.zoho-form-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 28px;
    background: linear-gradient(135deg, #1a1a1a, #252525);
    border-bottom: 2px solid #FF6B00;
}

.zoho-form-modal-header h3 {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.zoho-form-close {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.zoho-form-close svg {
    stroke: rgba(255, 255, 255, 0.7);
    transition: stroke 0.3s ease;
}

.zoho-form-close:hover {
    background: #FF6B00;
}

.zoho-form-close:hover svg {
    stroke: #fff;
}

.zoho-form-modal-body {
    flex: 1;
    min-height: 700px;
    max-height: calc(95vh - 80px);
    overflow: hidden;
}

.zoho-form-modal-body iframe {
    width: 100%;
    height: 100%;
    min-height: 700px;
}

/* Form CTA Card as Button */
button.form-cta-card {
    cursor: pointer;
    border: 2px solid rgba(255, 107, 0, 0.3);
    width: 100%;
}

button.form-cta-card:focus {
    outline: none;
    border-color: #FF6B00;
}

/* Booking modal - even taller */
.zoho-booking-modal {
    max-width: 850px;
}

.zoho-booking-modal .zoho-form-modal-body {
    min-height: 800px;
}

.zoho-booking-modal .zoho-form-modal-body iframe {
    min-height: 800px;
}

@media (max-width: 640px) {
    .zoho-form-modal {
        max-height: 95vh;
        border-radius: 16px;
    }

    .zoho-form-modal-header {
        padding: 16px 20px;
    }

    .zoho-form-modal-header h3 {
        font-size: 18px;
    }

    .zoho-form-modal-body {
        min-height: 500px;
    }

    .zoho-booking-modal .zoho-form-modal-body {
        min-height: 600px;
    }
}

/* Social Connect Section */
.contact-social-section {
    padding: 80px 0;
    background: #fff;
}

.social-connect-grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}

.social-connect-text h3 {
    font-size: 32px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 8px;
}

.social-connect-text h3 span {
    color: #FF6B00;
}

.social-connect-text p {
    font-size: 16px;
    color: #666;
}

.social-connect-links {
    display: flex;
    gap: 16px;
}

.social-connect-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 28px;
    background: #f5f5f5;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #1a1a1a;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.social-connect-btn svg {
    width: 22px;
    height: 22px;
}

.social-connect-btn.linkedin:hover {
    background: #0077b5;
    color: #fff;
    border-color: #0077b5;
}

.social-connect-btn.linkedin:hover svg { fill: #fff; }

.social-connect-btn.facebook:hover {
    background: #1877f2;
    color: #fff;
    border-color: #1877f2;
}

.social-connect-btn.facebook:hover svg { fill: #fff; }

.social-connect-btn.twitter:hover {
    background: #1a1a1a;
    color: #fff;
    border-color: #1a1a1a;
}

.social-connect-btn.twitter:hover svg { fill: #fff; }

/* Contact Modal Responsive */
@media (max-width: 1024px) {
    .contact-hero-combined {
        padding: 80px 0 60px;
    }

    .contact-hero-header h1 {
        font-size: 40px;
    }

    .contact-hero-main {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .contact-hero-form .form-cta-card {
        max-width: 380px;
    }

    .contact-hero-stats {
        gap: 40px;
    }

    .form-benefits-inline {
        gap: 16px;
    }

    .contact-form-grid {
        grid-template-columns: 1fr;
        gap: 50px;
        text-align: center;
    }

    .contact-form-info {
        max-width: 100%;
    }

    .form-benefits {
        align-items: center;
    }

    .contact-hero-content {
        grid-template-columns: 1fr;
        gap: 60px;
        text-align: center;
    }

    .contact-hero-text {
        max-width: 100%;
    }

    .contact-hero-text h1 {
        font-size: 44px;
    }

    .contact-methods-grid {
        grid-template-columns: 1fr;
    }

    .contact-info-grid {
        grid-template-columns: 1fr;
        gap: 60px;
        text-align: center;
    }

    .info-details {
        align-items: center;
    }

    .info-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .info-founder {
        justify-content: center;
    }

    .partner-cta-content {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .contact-hero-combined {
        padding: 60px 0 50px;
    }

    .contact-hero-header {
        margin-bottom: 40px;
    }

    .contact-hero-header h1 {
        font-size: 32px;
    }

    .contact-hero-header > p {
        font-size: 16px;
    }

    .contact-hero-main {
        gap: 40px;
        margin-bottom: 40px;
    }

    .form-benefits-inline {
        flex-direction: column;
        gap: 12px;
    }

    .contact-hero-stats {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 30px;
        padding-top: 30px;
    }

    .contact-form-section {
        padding: 60px 0;
    }

    .contact-form-info h2 {
        font-size: 32px;
    }

    .form-cta-card {
        padding: 40px 30px;
    }

    .form-cta-icon {
        width: 80px;
        height: 80px;
    }

    .form-cta-card h3 {
        font-size: 22px;
    }

    .contact-hero {
        padding: 80px 0 60px;
    }

    .contact-hero-text h1 {
        font-size: 36px;
    }

    .contact-visual-card {
        width: 100%;
        max-width: 380px;
    }

    .visual-card-content {
        padding: 18px;
        max-height: 350px;
    }

    .contact-methods-section {
        padding: 60px 0;
    }

    .contact-method-card {
        padding: 32px 24px;
    }

    .method-icon {
        width: 70px;
        height: 70px;
    }

    .contact-info-section {
        padding: 60px 0;
    }

    .info-header h2 {
        font-size: 32px;
    }

    .location-visual-card {
        width: 100%;
        max-width: 340px;
        height: 300px;
    }

    .pin-inner {
        width: 60px;
        height: 60px;
    }

    .pin-inner svg {
        width: 24px;
        height: 24px;
    }

    .location-info-overlay h3 {
        font-size: 26px;
    }

    .contact-partner-section {
        padding: 60px 0;
    }

    .partner-cta-card {
        padding: 40px 24px;
    }

    .partner-cta-text h3 {
        font-size: 22px;
    }

    .partner-cta-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .contact-hero-text h1 {
        font-size: 28px;
    }

    .contact-hero-badge {
        font-size: 12px;
        padding: 8px 14px;
    }

    .contact-stat .stat-number {
        font-size: 26px;
    }

    .visual-message {
        max-width: 95%;
        padding: 12px 14px;
    }

    .visual-message span {
        font-size: 13px;
    }

    .method-icon {
        width: 60px;
        height: 60px;
    }

    .method-icon svg {
        width: 28px;
        height: 28px;
    }

    .method-content h4 {
        font-size: 17px;
    }

    .method-action-btn {
        width: 42px;
        height: 42px;
    }

    .location-visual-card {
        height: 280px;
    }

    .location-info-overlay h3 {
        font-size: 24px;
    }

    .serving-badge {
        padding: 12px 20px;
        font-size: 13px;
    }

    .info-header h2 {
        font-size: 26px;
    }

    .partner-cta-icon img {
        width: 70px;
    }

    .social-connect-btn span {
        display: none;
    }

    .social-connect-btn {
        padding: 14px;
    }
}

/* === FOOTER ENHANCED === */
.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 50px;
    text-align: left;
    margin-bottom: 50px;
}

.footer-brand p {
    font-size: 14px;
    line-height: 1.7;
    margin: 15px 0 20px;
}

.footer-links h5,
.footer-contact h5 {
    color: var(--white);
    font-size: 16px;
    margin-bottom: 20px;
}

.footer-links ul {
    list-style: none;
}

.footer-links li {
    margin-bottom: 10px;
}

.footer-links a,
.footer-contact a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 14px;
    transition: var(--transition-fast);
    cursor: pointer;
}

.footer-links a:hover,
.footer-contact a:hover {
    color: var(--primary-orange);
}

/* Footer Portfolio Link with Badge */
.footer-link-portfolio {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
}

.footer-demo-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 6px;
    background: linear-gradient(135deg, #FF6B00, #ff8c00);
    color: white;
    font-size: 0.6rem;
    font-weight: 700;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    box-shadow: 0 1px 4px rgba(255, 107, 0, 0.4);
    animation: navBadgePulse 2s ease-in-out infinite;
    white-space: nowrap;
    line-height: 1;
}

.footer-contact p {
    font-size: 14px;
    margin-bottom: 8px;
}

/* === CTA ENHANCED === */
.cta-content {
    max-width: 700px;
    margin: 0 auto;
}

.cta-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-top: 30px;
}

/* === PULSE DOT === */
.pulse-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    background: var(--primary-orange);
    border-radius: 50%;
    margin-right: 10px;
    animation: pulse 2s ease-in-out infinite;
}

/* === GLOW EFFECT === */
.glow-effect {
    animation: pulseGlow 2s ease-in-out infinite;
}

/* === TESTIMONIAL STARS === */
.testimonial-stars {
    margin-bottom: 15px;
}

.testimonial-stars span {
    color: #FFD700;
    font-size: 20px;
    margin: 0 2px;
}

/* === SECTION CTA === */
.section-cta {
    text-align: center;
    margin-top: 50px;
}

/* === PRICING ENHANCED === */
.pricing-description {
    color: var(--gray);
    font-size: 14px;
    margin: 10px 0 20px;
}

.pricing-icon {
    margin-bottom: 15px;
}

.pricing-icon img {
    width: 60px;
    height: 60px;
}

.pricing-card.dimmed {
    opacity: 0.6;
    transform: scale(0.95);
}

.pricing-card.highlighted {
    transform: scale(1.05) translateY(-15px);
    box-shadow: var(--shadow-orange-lg);
}

.pricing-card.featured.highlighted {
    transform: scale(1.12) translateY(-20px);
}

/* === ENHANCED PRICING PAGE STYLES === */

/* Philosophy Card */
.pricing-philosophy {
    margin-top: 40px;
}

.philosophy-card {
    display: flex;
    align-items: center;
    gap: 25px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 30px 40px;
    max-width: 700px;
    margin: 0 auto;
    backdrop-filter: blur(10px);
}

.philosophy-icon {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background: var(--gradient-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.philosophy-icon svg {
    width: 30px;
    height: 30px;
    stroke: var(--white);
}

.philosophy-text h4 {
    color: var(--white);
    font-size: 18px;
    margin-bottom: 8px;
}

.philosophy-text p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

/* Plan Finder Quiz */
.plan-finder-container {
    max-width: 800px;
    margin: 0 auto;
}

.finder-quiz {
    background: var(--white);
    border-radius: 30px;
    padding: 50px;
    box-shadow: var(--shadow-lg);
    position: relative;
}

.quiz-question {
    display: none;
}

.quiz-question.active {
    display: block;
    animation: fadeInUp 0.4s ease;
}

.question-number {
    color: var(--primary-orange);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.quiz-question h3 {
    color: var(--black);
    font-size: 24px;
    margin-bottom: 30px;
    line-height: 1.4;
}

.quiz-options {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.quiz-option {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 25px;
    background: var(--white-soft);
    border: 2px solid var(--white-dark);
    border-radius: 15px;
    cursor: pointer;
    transition: var(--transition-smooth);
    text-align: left;
}

.quiz-option:hover {
    border-color: var(--primary-orange);
    background: rgba(255, 102, 0, 0.05);
    transform: translateX(5px);
}

.quiz-option.selected {
    border-color: var(--primary-orange);
    background: rgba(255, 102, 0, 0.1);
}

.option-icon {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    background: var(--gradient-orange);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.option-icon svg {
    width: 24px;
    height: 24px;
    stroke: var(--white);
}

.option-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.option-text strong {
    color: var(--black);
    font-size: 16px;
}

.option-text small {
    color: var(--gray);
    font-size: 13px;
}

/* Quiz Progress */
.quiz-progress {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid var(--white-dark);
}

.progress-bar {
    height: 6px;
    background: var(--white-dark);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 20px;
}

.progress-fill {
    height: 100%;
    background: var(--gradient-orange);
    border-radius: 3px;
    width: 0%;
    transition: width 0.4s ease;
}

.progress-steps {
    display: flex;
    justify-content: space-between;
    max-width: 300px;
    margin: 0 auto;
}

.progress-steps .step {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--white-dark);
    color: var(--gray);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
    transition: var(--transition-smooth);
}

.progress-steps .step.active {
    background: var(--gradient-orange);
    color: var(--white);
}

.progress-steps .step.completed {
    background: var(--success);
    color: var(--white);
}

/* Quiz Results */
.quiz-results {
    display: none;
    text-align: center;
}

.quiz-results.active {
    display: block;
    animation: fadeInUp 0.4s ease;
}

.results-header {
    margin-bottom: 30px;
}

.results-icon {
    width: 80px;
    height: 80px;
    background: var(--gradient-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.results-icon svg {
    width: 40px;
    height: 40px;
    stroke: var(--white);
}

.results-header h3 {
    color: var(--black);
    font-size: 28px;
}

.result-recommendation {
    background: linear-gradient(145deg, #fff9f5 0%, #fff5ed 50%, #ffefe3 100%);
    border: 2px solid var(--primary-orange);
    border-radius: 24px;
    padding: 35px 30px;
    margin-bottom: 30px;
    box-shadow: 0 10px 40px rgba(255, 102, 0, 0.15);
    position: relative;
    overflow: hidden;
}

.result-recommendation::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-orange);
}

.result-recommendation h4 {
    color: var(--primary-orange);
    font-size: 26px;
    margin-bottom: 12px;
    font-weight: 700;
}

.result-recommendation > p {
    color: #555;
    font-size: 15px;
    margin: 0;
    line-height: 1.6;
}

/* Personalized Recommendation Summary */
.recommendation-summary {
    margin-top: 25px;
    padding-top: 22px;
    border-top: 2px dashed rgba(255, 102, 0, 0.25);
    text-align: left;
}

.recommendation-summary h5 {
    color: var(--primary-orange);
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.recommendation-summary h5::before {
    content: '💡';
    font-size: 1.1rem;
}

.recommendation-summary .summary-reasons {
    color: #444;
    font-size: 0.95rem;
    line-height: 1.7;
    margin-bottom: 20px;
    padding: 12px 15px;
    background: rgba(255, 102, 0, 0.08);
    border-radius: 10px;
    border-left: 3px solid var(--primary-orange);
}

.recommendation-summary .summary-benefits {
    background: linear-gradient(135deg, #f8f9fa 0%, #f1f3f4 100%);
    border-radius: 14px;
    padding: 18px 22px;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.recommendation-summary .summary-benefits h6 {
    color: #00a5a8;
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.recommendation-summary .summary-benefits h6::before {
    content: '✨';
    font-size: 1rem;
}

.recommendation-summary .summary-benefits ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}

.recommendation-summary .summary-benefits li {
    color: #333;
    font-size: 0.9rem;
    padding: 10px 12px 10px 38px;
    position: relative;
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.recommendation-summary .summary-benefits li:hover {
    transform: translateX(4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.recommendation-summary .summary-benefits li::before {
    content: '✓';
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-weight: bold;
    font-size: 0.75rem;
    width: 20px;
    height: 20px;
    background: linear-gradient(135deg, #27ae60, #2ecc71);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.result-breakdown {
    margin-bottom: 30px;
}

.result-breakdown h4 {
    color: var(--black);
    font-size: 16px;
    margin-bottom: 20px;
}

.score-bars {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 400px;
    margin: 0 auto;
}

.score-bar {
    display: grid;
    grid-template-columns: 120px 1fr 50px;
    align-items: center;
    gap: 15px;
}

.score-label {
    font-size: 13px;
    color: var(--gray);
    text-align: left;
}

.score-track {
    height: 10px;
    background: var(--white-dark);
    border-radius: 5px;
    overflow: hidden;
}

.score-fill {
    height: 100%;
    border-radius: 5px;
    transition: width 0.6s ease;
}

.score-fill.project-score {
    background: #4A90D9;
}

.score-fill.retainer-score {
    background: var(--gradient-orange);
}

.score-fill.vip-score {
    background: linear-gradient(90deg, #9B59B6, #8E44AD);
}

.score-value {
    font-size: 13px;
    font-weight: 600;
    color: var(--black);
}

.result-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 10px;
}

.result-actions .btn {
    min-width: 200px;
    padding: 14px 30px;
    font-size: 0.95rem;
    font-weight: 600;
}

.result-actions .btn-outline {
    background: transparent;
    color: var(--primary-orange);
    border: 2px solid var(--primary-orange);
}

.result-actions .btn-outline:hover {
    background: var(--primary-orange);
    color: white;
}

/* Pricing Plan Headers */
.pricing-plan-header {
    text-align: center;
    margin-bottom: 50px;
}

.plan-badge {
    display: inline-block;
    padding: 8px 20px;
    background: var(--gradient-orange);
    color: var(--white);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 30px;
    margin-bottom: 15px;
}

.plan-badge.popular {
    background: linear-gradient(135deg, #27ae60, #2ecc71);
}

.plan-badge.vip,
.plan-badge.premium {
    background: linear-gradient(135deg, #9B59B6, #8E44AD);
}

.pricing-plan-header h2 {
    font-size: 42px;
    margin-bottom: 15px;
    color: var(--white);
}

.pricing-plan-header p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 18px;
    max-width: 600px;
    margin: 0 auto;
}

/* Light section overrides */
.section:not(.section-dark) .pricing-plan-header h2,
.pricing-section-animated .pricing-plan-header h2 {
    color: var(--black);
}

.section:not(.section-dark) .pricing-plan-header p,
.pricing-section-animated .pricing-plan-header p {
    color: var(--gray);
}

.pricing-section-animated .section-label {
    color: var(--primary-orange);
}

/* Plan Showcase Layout */
.plan-showcase {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 40px;
    align-items: start;
}

.plan-card-large {
    background: var(--white);
    border-radius: 30px;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.plan-card-header {
    background: linear-gradient(135deg, var(--black), #1a1a1a);
    padding: 40px;
    text-align: center;
}

.plan-icon-large {
    width: 80px;
    height: 80px;
    background: var(--gradient-orange);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.plan-icon-large svg {
    width: 40px;
    height: 40px;
    stroke: var(--white);
}

.plan-card-header h3 {
    color: var(--white);
    font-size: 28px;
    margin-bottom: 20px;
}

.plan-price-display {
    color: var(--white);
}

.plan-price-display .price-label {
    font-size: 13px;
    opacity: 0.7;
    display: block;
    margin-bottom: 5px;
}

.plan-price-display .price-amount {
    font-size: 48px;
    font-weight: 800;
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.plan-price-display .price-note {
    font-size: 14px;
    opacity: 0.7;
    display: block;
    margin-top: 5px;
}

.plan-card-body {
    padding: 40px;
}

.plan-description {
    color: var(--gray);
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 30px;
}

.quote-factors h4 {
    color: var(--black);
    font-size: 18px;
    margin-bottom: 25px;
}

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

.factor-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.factor-icon {
    flex-shrink: 0;
    width: 45px;
    height: 45px;
    background: rgba(255, 102, 0, 0.1);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.factor-icon svg {
    width: 22px;
    height: 22px;
    stroke: var(--primary-orange);
}

.factor-content strong {
    display: block;
    color: var(--black);
    font-size: 14px;
    margin-bottom: 2px;
}

.factor-content span {
    color: var(--gray);
    font-size: 12px;
}

.plan-card-footer {
    padding: 0 40px 40px;
    text-align: center;
}

.plan-card-footer .btn {
    width: 100%;
}

/* Timeline Info Card - Full Width */
.timeline-info-card {
    background: var(--white);
    border-radius: 20px;
    padding: 30px 40px;
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 30px;
    box-shadow: var(--shadow-md);
    border: 1px solid rgba(255, 102, 0, 0.1);
}

.timeline-info-icon {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background: var(--gradient-orange);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.timeline-info-icon svg {
    width: 28px;
    height: 28px;
    stroke: var(--white);
}

.timeline-info-content {
    flex: 1;
}

.timeline-info-content h4 {
    color: var(--black);
    font-size: 18px;
    margin-bottom: 8px;
}

.timeline-info-content p {
    color: var(--gray);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.timeline-info-visual {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.timeline-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.step-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 102, 0, 0.2);
    border: 2px solid var(--primary-orange);
    transition: all 0.3s ease;
}

.step-dot.active {
    background: var(--primary-orange);
    box-shadow: 0 0 10px rgba(255, 102, 0, 0.5);
}

.step-label {
    font-size: 11px;
    color: var(--gray);
    font-weight: 500;
    white-space: nowrap;
}

.timeline-connector {
    width: 30px;
    height: 2px;
    background: linear-gradient(90deg, var(--primary-orange), rgba(255, 102, 0, 0.3));
    margin-bottom: 20px;
}

@media (max-width: 900px) {
    .timeline-info-card {
        flex-direction: column;
        text-align: center;
    }

    .timeline-info-visual {
        margin-top: 15px;
    }
}

/* Sidebar Cards */
.showcase-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sidebar-card {
    background: var(--white);
    border-radius: 20px;
    padding: 30px;
    box-shadow: var(--shadow-md);
}

.sidebar-card.highlight {
    border: 2px solid var(--primary-orange);
    background: linear-gradient(135deg, rgba(255, 102, 0, 0.05), rgba(255, 255, 255, 1));
}

.sidebar-card h4 {
    color: var(--black);
    font-size: 16px;
    margin-bottom: 15px;
}

.sidebar-card p {
    color: var(--gray);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.check-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.check-list li {
    padding: 10px 0;
    font-size: 14px;
    color: var(--gray);
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid var(--white-soft);
}

.check-list li:last-child {
    border-bottom: none;
}

.check-list li::before {
    content: '✓';
    color: var(--white);
    font-weight: bold;
    font-size: 11px;
    width: 22px;
    height: 22px;
    background: var(--gradient-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Examples Section */
.examples-section {
    margin-top: 60px;
    text-align: center;
    overflow: visible;
}

.examples-section h4 {
    color: var(--black);
    font-size: 22px;
    margin-bottom: 30px;
}

.examples-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    max-width: 900px;
    margin: 0 auto 25px;
    overflow: visible;
    padding-top: 45px;
    align-items: end;
}

.example-card {
    background: var(--white);
    border-radius: 20px;
    padding: 30px;
    box-shadow: var(--shadow-md);
    text-align: center;
    transition: var(--transition-smooth);
}

.example-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.example-tier {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--primary-orange);
    margin-bottom: 10px;
}

.example-price {
    font-size: 24px;
    font-weight: 800;
    color: var(--black);
    margin-bottom: 20px;
}

.example-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}

.example-card ul li {
    padding: 8px 0;
    font-size: 13px;
    color: var(--gray);
    padding-left: 20px;
    position: relative;
}

.example-card ul li::before {
    content: '•';
    color: var(--primary-orange);
    position: absolute;
    left: 0;
}

.examples-note {
    color: var(--gray);
    font-size: 14px;
    font-style: italic;
}

/* Retainer Overview */
.retainer-overview {
    margin-bottom: 50px;
}

.overview-highlight {
    display: flex;
    align-items: center;
    gap: 30px;
    background: linear-gradient(135deg, rgba(255, 102, 0, 0.1), rgba(255, 170, 51, 0.05));
    border: 2px solid rgba(255, 102, 0, 0.3);
    border-radius: 25px;
    padding: 40px 50px;
    max-width: 700px;
    margin: 0 auto;
}

.highlight-icon {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    background: var(--gradient-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.highlight-icon svg {
    width: 40px;
    height: 40px;
    stroke: var(--white);
}

.highlight-content h4 {
    color: var(--white);
    font-size: 16px;
    margin-bottom: 10px;
    opacity: 0.8;
}

.rate-range {
    font-size: 48px;
    font-weight: 800;
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.2;
}

.rate-range span {
    font-size: 20px;
    font-weight: 400;
}

.highlight-content p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    margin: 10px 0 0;
}

/* Retainer Packages */
.retainer-packages {
    margin-bottom: 50px;
}

.retainer-packages h4 {
    text-align: center;
    color: var(--white);
    font-size: 22px;
    margin-bottom: 30px;
}

.packages-slider {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.package-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    transition: var(--transition-smooth);
    position: relative;
}

.package-card:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-5px);
}

.package-card.featured {
    background: rgba(255, 102, 0, 0.15);
    border-color: var(--primary-orange);
    transform: scale(1.05);
}

.package-card.featured:hover {
    transform: scale(1.05) translateY(-5px);
}

.package-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--gradient-orange);
    color: var(--white);
    padding: 6px 16px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 20px;
    white-space: nowrap;
}

.package-hours {
    font-size: 36px;
    font-weight: 800;
    color: var(--white);
    margin-bottom: 5px;
}

.package-label {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-orange);
    margin-bottom: 10px;
}

.package-card p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    margin-bottom: 15px;
}

.package-rate {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
}

/* Features Grid Large */
.features-grid-large {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

.feature-block {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 35px;
    text-align: center;
    transition: var(--transition-smooth);
}

.feature-block:hover {
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-3px);
}

.feature-icon-large {
    width: 60px;
    height: 60px;
    background: var(--gradient-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.feature-icon-large svg {
    width: 28px;
    height: 28px;
    stroke: var(--white);
}

.feature-block h4 {
    color: var(--white);
    font-size: 18px;
    margin-bottom: 12px;
}

.feature-block p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

/* Rate Factors */
.rate-factors {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 25px;
    padding: 40px;
    margin-bottom: 40px;
}

.rate-factors h4 {
    text-align: center;
    color: var(--white);
    font-size: 20px;
    margin-bottom: 30px;
}

.factors-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    max-width: 800px;
    margin: 0 auto;
}

.factor-row {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 12px;
}

.factor-name {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--white);
    font-size: 14px;
    font-weight: 600;
    min-width: 180px;
}

.factor-name svg {
    width: 18px;
    height: 18px;
    stroke: var(--primary-orange);
    flex-shrink: 0;
}

.factor-desc {
    color: rgba(255, 255, 255, 0.6);
    font-size: 13px;
}

.factors-note {
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    margin-top: 25px;
    font-style: italic;
}

.retainer-cta {
    text-align: center;
}

/* VIP Section */
.vip-hero {
    margin-bottom: 40px;
}

.vip-hero-content {
    text-align: center;
    background: linear-gradient(135deg, rgba(155, 89, 182, 0.1), rgba(142, 68, 173, 0.05));
    border: 2px solid rgba(155, 89, 182, 0.3);
    border-radius: 30px;
    padding: 50px;
}

.vip-badge-large {
    width: 100px;
    height: 100px;
    background: linear-gradient(135deg, #9B59B6, #8E44AD);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    box-shadow: 0 10px 40px rgba(155, 89, 182, 0.4);
}

.vip-badge-large svg {
    width: 50px;
    height: 50px;
    stroke: var(--white);
}

.vip-pricing .price-label {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    display: block;
    margin-bottom: 5px;
}

.vip-pricing .price-range {
    font-size: 52px;
    font-weight: 800;
    background: linear-gradient(135deg, #9B59B6, #8E44AD);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.vip-pricing .price-average {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.7);
    display: block;
    margin-top: 5px;
}

.vip-tagline {
    color: rgba(255, 255, 255, 0.75);
    font-size: 16px;
    line-height: 1.7;
    max-width: 600px;
    margin: 20px auto 0;
}

/* VIP Honesty Card */
.vip-honesty {
    margin-bottom: 50px;
}

.honesty-card {
    display: flex;
    align-items: flex-start;
    gap: 25px;
    background: linear-gradient(135deg, #f8f9fa, #ffffff);
    border-left: 4px solid #9B59B6;
    border-radius: 15px;
    padding: 30px 35px;
    max-width: 900px;
    margin: 0 auto;
}

.honesty-icon {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #9B59B6, #8E44AD);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.honesty-icon svg {
    width: 24px;
    height: 24px;
    stroke: var(--white);
}

.honesty-content h4 {
    color: var(--black);
    font-size: 18px;
    margin-bottom: 10px;
}

.honesty-content p {
    color: var(--gray);
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

/* VIP Features Showcase Container */
.vip-features-showcase {
    position: relative;
    z-index: 1;
    margin-bottom: 50px;
}

/* VIP Features Grid */
.vip-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.vip-feature {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    transition: var(--transition-smooth);
    border: 2px solid rgba(155, 89, 182, 0.1);
}

.vip-feature:hover {
    border-color: rgba(155, 89, 182, 0.3);
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.vip-feature-icon {
    width: 60px;
    height: 60px;
    min-width: 60px;
    min-height: 60px;
    max-width: 60px;
    max-height: 60px;
    background: linear-gradient(135deg, #9B59B6, #8E44AD);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    overflow: hidden;
}

.vip-feature-icon svg {
    width: 28px;
    height: 28px;
    min-width: 28px;
    min-height: 28px;
    max-width: 28px;
    max-height: 28px;
    stroke: var(--white);
}

.vip-feature h4 {
    color: var(--black);
    font-size: 16px;
    margin-bottom: 10px;
}

.vip-feature p {
    color: var(--gray);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

/* VIP Pricing Factors */
.vip-pricing-factors {
    background: var(--white-soft);
    border-radius: 25px;
    padding: 40px;
    margin-bottom: 40px;
}

.vip-pricing-factors h4 {
    text-align: center;
    color: var(--black);
    font-size: 20px;
    margin-bottom: 30px;
}

.vip-factors-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.vip-factor {
    background: var(--white);
    border-radius: 15px;
    padding: 20px;
    text-align: center;
    border: 1px solid var(--white-dark);
}

.vip-factor strong {
    display: block;
    color: var(--black);
    font-size: 14px;
    margin-bottom: 5px;
}

.vip-factor span {
    color: var(--gray);
    font-size: 12px;
}

.vip-cta {
    text-align: center;
}

.btn-large {
    padding: 18px 50px;
    font-size: 16px;
}

.vip-cta-note {
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
    margin-top: 15px;
    font-style: italic;
}

/* ROI Section */
.roi-explanation {
    margin-bottom: 50px;
}

.roi-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 25px;
    overflow: hidden;
    max-width: 700px;
    margin: 0 auto;
}

.roi-header {
    background: var(--gradient-orange);
    padding: 20px 30px;
}

.roi-header h4 {
    color: var(--white);
    font-size: 20px;
    margin: 0;
}

.roi-content {
    padding: 30px;
}

.roi-content p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 25px;
}

.roi-formula {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 16px;
    color: var(--white);
    background: rgba(0, 0, 0, 0.2);
    padding: 20px;
    border-radius: 10px;
}

.formula-fraction {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.formula-fraction .numerator {
    padding-bottom: 8px;
    border-bottom: 2px solid var(--primary-orange);
    font-size: 14px;
}

.formula-fraction .denominator {
    padding-top: 8px;
    font-size: 14px;
}

/* ROI Benefits */
.roi-benefits {
    margin-bottom: 50px;
}

.roi-benefits h4 {
    text-align: center;
    color: var(--white);
    font-size: 22px;
    margin-bottom: 35px;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.benefit-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 30px;
    transition: var(--transition-smooth);
}

.benefit-card:hover {
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-3px);
}

.benefit-number {
    font-size: 40px;
    font-weight: 800;
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 15px;
    line-height: 1;
}

.benefit-card h5 {
    color: var(--white);
    font-size: 18px;
    margin-bottom: 12px;
}

.benefit-card p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 15px;
}

.benefit-example {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    padding: 12px 15px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8);
}

.benefit-example strong {
    color: var(--primary-orange);
}

/* ROI Benefits Hint */
.roi-benefits-hint {
    text-align: center;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9rem;
    margin-bottom: 25px;
    font-style: italic;
}

/* Clickable Benefit Cards */
.benefit-card.clickable {
    cursor: pointer;
    position: relative;
}

.benefit-card.clickable:hover {
    border-color: var(--primary-orange);
    background: rgba(255, 102, 0, 0.1);
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(255, 102, 0, 0.2);
}

.benefit-click-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--primary-orange);
    font-size: 0.85rem;
    font-weight: 600;
    opacity: 0;
    transform: translateY(5px);
    transition: all 0.3s ease;
}

.benefit-card.clickable:hover .benefit-click-hint {
    opacity: 1;
    transform: translateY(0);
}

.benefit-click-hint svg {
    transition: transform 0.3s ease;
}

.benefit-card.clickable:hover .benefit-click-hint svg {
    transform: translateX(4px);
}

/* ROI Use Case Modal Styles */
.roi-modal-icon {
    background: var(--gradient-orange) !important;
}

.roi-modal-icon.error-icon {
    background: linear-gradient(135deg, #27ae60, #2ecc71) !important;
}

.roi-modal-icon.sales-icon {
    background: linear-gradient(135deg, #3498db, #2980b9) !important;
}

.roi-modal-icon.insights-icon {
    background: linear-gradient(135deg, #9b59b6, #8e44ad) !important;
}

.roi-modal-icon.retention-icon {
    background: linear-gradient(135deg, #e74c3c, #c0392b) !important;
}

.roi-modal-icon.scale-icon {
    background: linear-gradient(135deg, #1abc9c, #16a085) !important;
}

/* ROI Use Cases Container */
.roi-use-cases {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin: 30px 0;
}

/* Individual Use Case Card */
.roi-use-case {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01));
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.roi-use-case:hover {
    border-color: rgba(255, 102, 0, 0.3);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.use-case-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px 25px;
    background: rgba(255, 102, 0, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.use-case-icon {
    width: 50px;
    height: 50px;
    min-width: 50px;
    background: var(--gradient-orange);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.use-case-icon svg {
    width: 24px;
    height: 24px;
    stroke: white;
}

.use-case-title h5 {
    color: white;
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 4px 0;
}

.use-case-industry {
    font-size: 0.8rem;
    color: var(--primary-orange);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.use-case-content {
    padding: 25px;
}

.use-case-content p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    line-height: 1.7;
    margin-bottom: 15px;
}

.use-case-content p strong {
    color: white;
}

.use-case-content p:last-of-type {
    margin-bottom: 20px;
}

/* Use Case Result Box */
.use-case-result {
    background: linear-gradient(135deg, rgba(39, 174, 96, 0.15), rgba(46, 204, 113, 0.1));
    border: 1px solid rgba(39, 174, 96, 0.3);
    border-radius: 12px;
    padding: 18px 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 20px;
}

.result-label {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

.result-value {
    font-size: 1.1rem;
    color: #2ecc71;
    font-weight: 700;
}

.result-annual {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.7);
    font-style: italic;
}

/* Responsive for ROI Use Cases */
@media (max-width: 600px) {
    .use-case-header {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }

    .use-case-result {
        flex-direction: column;
        text-align: center;
        gap: 8px;
    }
}

/* ROI Calculator */
.roi-calculator {
    max-width: 700px;
    margin: 0 auto;
}

.calculator-card {
    background: linear-gradient(135deg, rgba(255, 102, 0, 0.15), rgba(255, 170, 51, 0.1));
    border: 2px solid rgba(255, 102, 0, 0.3);
    border-radius: 25px;
    padding: 40px;
    text-align: center;
}

.calculator-card h4 {
    color: var(--white);
    font-size: 22px;
    margin-bottom: 10px;
}

.calculator-card > p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 16px;
    margin-bottom: 25px;
}

.roi-payback-list {
    list-style: none;
    padding: 0;
    margin: 0 0 25px;
    text-align: left;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.roi-payback-list li {
    padding: 12px 0;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-left: 30px;
    position: relative;
}

.roi-payback-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--primary-orange);
    font-weight: bold;
}

.roi-payback-list li:last-child {
    border-bottom: none;
}

.calculator-note {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    font-style: italic;
    margin: 0;
}

/* FAQ Expanded */
.faq-grid-expanded {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

/* CTA Reassurance */
.cta-reassurance {
    margin-top: 25px;
}

.cta-reassurance p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    font-style: italic;
    margin: 0;
}

/* Responsive for Pricing Page */
@media (max-width: 1024px) {
    .plan-showcase {
        grid-template-columns: 1fr;
    }

    .showcase-sidebar {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    .factors-grid {
        grid-template-columns: 1fr;
    }

    .packages-slider {
        grid-template-columns: repeat(2, 1fr);
    }

    .features-grid-large {
        grid-template-columns: 1fr;
    }

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

    .vip-features-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .vip-factors-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .benefits-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .examples-grid {
        grid-template-columns: 1fr;
    }

    .faq-grid-expanded {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .philosophy-card {
        flex-direction: column;
        text-align: center;
        padding: 25px;
    }

    .finder-quiz {
        padding: 30px 20px;
    }

    .quiz-question h3 {
        font-size: 20px;
    }

    .quiz-option {
        padding: 15px;
    }

    .option-icon {
        width: 40px;
        height: 40px;
    }

    .option-icon svg {
        width: 20px;
        height: 20px;
    }

    .showcase-sidebar {
        grid-template-columns: 1fr;
    }

    .overview-highlight {
        flex-direction: column;
        text-align: center;
        padding: 30px;
    }

    .rate-range {
        font-size: 36px;
    }

    .packages-slider {
        grid-template-columns: 1fr;
    }

    .package-card.featured {
        transform: none;
    }

    .vip-hero-content {
        padding: 30px 20px;
    }

    .vip-pricing .price-range {
        font-size: 38px;
    }

    .honesty-card {
        flex-direction: column;
        text-align: center;
    }

    .vip-features-grid {
        grid-template-columns: 1fr;
    }

    .vip-factors-grid {
        grid-template-columns: 1fr;
    }

    .benefits-grid {
        grid-template-columns: 1fr;
    }

    .roi-formula {
        flex-wrap: wrap;
        font-size: 14px;
    }

    .score-bar {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .score-label {
        text-align: center;
    }

    .score-value {
        text-align: center;
    }

    .result-actions {
        flex-direction: column;
    }

    .result-actions .btn {
        width: 100%;
    }
}

/* === PRICING HERO ANIMATED BACKGROUND === */
.pricing-hero {
    position: relative;
    overflow: hidden;
}

.pricing-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
}

.pricing-particles {
    position: absolute;
    width: 100%;
    height: 100%;
}

.pricing-particle {
    position: absolute;
    width: 6px;
    height: 6px;
    background: var(--primary-orange);
    border-radius: 50%;
    opacity: 0.3;
    animation: pricingFloat 15s infinite ease-in-out;
}

.pricing-particle:nth-child(1) { left: 10%; top: 20%; animation-delay: 0s; }
.pricing-particle:nth-child(2) { left: 20%; top: 80%; animation-delay: -2s; }
.pricing-particle:nth-child(3) { left: 35%; top: 40%; animation-delay: -4s; }
.pricing-particle:nth-child(4) { left: 50%; top: 70%; animation-delay: -6s; }
.pricing-particle:nth-child(5) { left: 65%; top: 25%; animation-delay: -8s; }
.pricing-particle:nth-child(6) { left: 75%; top: 60%; animation-delay: -10s; }
.pricing-particle:nth-child(7) { left: 85%; top: 35%; animation-delay: -12s; }
.pricing-particle:nth-child(8) { left: 92%; top: 75%; animation-delay: -14s; }

@keyframes pricingFloat {
    0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.3; }
    25% { transform: translate(20px, -30px) scale(1.2); opacity: 0.6; }
    50% { transform: translate(-10px, 20px) scale(0.8); opacity: 0.4; }
    75% { transform: translate(15px, 10px) scale(1.1); opacity: 0.5; }
}

.pricing-grid-lines {
    position: absolute;
    width: 100%;
    height: 100%;
    background-image:
        linear-gradient(rgba(255, 102, 0, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 102, 0, 0.03) 1px, transparent 1px);
    background-size: 60px 60px;
    animation: gridMove 20s linear infinite;
}

@keyframes gridMove {
    0% { transform: translate(0, 0); }
    100% { transform: translate(60px, 60px); }
}

.pricing-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    animation: glowPulse 8s ease-in-out infinite;
}

.pricing-glow-1 {
    width: 400px;
    height: 400px;
    background: rgba(255, 102, 0, 0.15);
    top: -100px;
    right: -100px;
    animation-delay: 0s;
}

.pricing-glow-2 {
    width: 300px;
    height: 300px;
    background: rgba(255, 170, 51, 0.1);
    bottom: 20%;
    left: -100px;
    animation-delay: -3s;
}

.pricing-glow-3 {
    width: 250px;
    height: 250px;
    background: rgba(155, 89, 182, 0.1);
    top: 50%;
    right: 20%;
    animation-delay: -5s;
}

@keyframes glowPulse {
    0%, 100% { transform: scale(1); opacity: 0.5; }
    50% { transform: scale(1.2); opacity: 0.8; }
}

/* Plans Overview Cards */
.plans-overview {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin: 50px 0 40px;
    position: relative;
    z-index: 1;
}

.plan-overview-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    position: relative;
    transition: var(--transition-smooth);
    backdrop-filter: blur(10px);
    cursor: pointer;
}

.plan-overview-card:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 102, 0, 0.3);
    transform: translateY(-5px);
}

/* Monthly Retainer - Green theme */
.plan-overview-card.featured {
    background: linear-gradient(135deg, rgba(39, 174, 96, 0.15), rgba(46, 204, 113, 0.1));
    border-color: rgba(39, 174, 96, 0.4);
    transform: scale(1.02);
}

.plan-overview-card.featured:hover {
    transform: scale(1.02) translateY(-5px);
    border-color: rgba(39, 174, 96, 0.6);
}

/* VIP Partnership - Purple theme */
.plan-overview-card.vip {
    background: linear-gradient(135deg, rgba(155, 89, 182, 0.15), rgba(142, 68, 173, 0.1));
    border-color: rgba(155, 89, 182, 0.3);
}

.plan-overview-card.vip:hover {
    border-color: rgba(155, 89, 182, 0.5);
}

.plan-overview-badge {
    position: absolute;
    top: -10px;
    right: 20px;
    background: linear-gradient(135deg, #27ae60, #2ecc71);
    color: var(--white);
    padding: 5px 15px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 20px;
}

.plan-overview-badge.vip,
.plan-overview-badge.premium {
    background: linear-gradient(135deg, #9B59B6, #8E44AD);
}

.plan-overview-icon {
    width: 50px;
    height: 50px;
    background: var(--gradient-orange);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Monthly Retainer icon - Green */
.plan-overview-card.featured .plan-overview-icon {
    background: linear-gradient(135deg, #27ae60, #2ecc71);
}

/* VIP icon - Purple */
.plan-overview-card.vip .plan-overview-icon {
    background: linear-gradient(135deg, #9B59B6, #8E44AD);
}

.plan-overview-icon svg {
    width: 26px;
    height: 26px;
    stroke: var(--white);
}

.plan-overview-content h4 {
    color: var(--white);
    font-size: 20px;
    margin-bottom: 5px;
}

.plan-overview-content p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

.plan-overview-price {
    font-size: 24px;
    font-weight: 800;
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-top: auto;
}

/* Monthly Retainer price - Green */
.plan-overview-card.featured .plan-overview-price {
    background: linear-gradient(135deg, #27ae60, #2ecc71);
    -webkit-background-clip: text;
    background-clip: text;
}

/* VIP price - Purple */
.plan-overview-card.vip .plan-overview-price {
    background: linear-gradient(135deg, #9B59B6, #8E44AD);
    -webkit-background-clip: text;
    background-clip: text;
}

.plan-overview-price span {
    font-size: 14px;
    font-weight: 400;
}

.plan-overview-link {
    position: absolute;
    bottom: 30px;
    right: 30px;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-smooth);
}

.plan-overview-link svg {
    width: 20px;
    height: 20px;
    stroke: var(--white);
    transition: var(--transition-smooth);
}

.plan-overview-card:hover .plan-overview-link {
    background: var(--primary-orange);
}

.plan-overview-card.featured:hover .plan-overview-link {
    background: #27ae60;
}

.plan-overview-card.vip:hover .plan-overview-link {
    background: #9B59B6;
}

.plan-overview-card:hover .plan-overview-link svg {
    transform: translateX(3px);
}

/* Section Animated Background */
.pricing-section-animated {
    position: relative;
    overflow: hidden;
    background: var(--white);
}

.section-bg-animation {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
}

.floating-shape {
    position: absolute;
    border-radius: 50%;
    opacity: 0.05;
    animation: floatShape 20s ease-in-out infinite;
}

.floating-shape.shape-1 {
    width: 400px;
    height: 400px;
    background: var(--primary-orange);
    top: -200px;
    left: -200px;
    animation-delay: 0s;
}

.floating-shape.shape-2 {
    width: 300px;
    height: 300px;
    background: var(--primary-orange-light);
    bottom: -150px;
    right: -150px;
    animation-delay: -7s;
}

.floating-shape.shape-3 {
    width: 200px;
    height: 200px;
    background: #9B59B6;
    top: 50%;
    left: 50%;
    animation-delay: -14s;
}

@keyframes floatShape {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    25% { transform: translate(50px, -50px) rotate(90deg); }
    50% { transform: translate(0, 50px) rotate(180deg); }
    75% { transform: translate(-50px, 0) rotate(270deg); }
}

/* Light Plan Card Header */
.plan-card-light {
    background: var(--white);
}

.plan-card-header-light {
    background: linear-gradient(135deg, #f8f9fa, #ffffff);
    padding: 40px;
    text-align: center;
    border-bottom: 1px solid var(--white-dark);
}

.plan-card-header-light .plan-icon-large {
    background: var(--gradient-orange);
}

.plan-card-header-light h3 {
    color: var(--black);
    font-size: 28px;
    margin-bottom: 20px;
}

.plan-price-display-light {
    color: var(--black);
}

.plan-price-display-light .price-label {
    font-size: 14px;
    color: var(--gray);
    display: block;
    margin-bottom: 8px;
}

.plan-price-display-light .price-amount {
    font-size: 42px;
    font-weight: 800;
    background: var(--gradient-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.plan-price-display-light .price-note {
    font-size: 14px;
    color: var(--gray);
    display: block;
    margin-top: 8px;
}

/* Enhanced Sidebar Cards */
.sidebar-card-enhanced {
    background: var(--white);
    border-radius: 20px;
    padding: 25px;
    box-shadow: var(--shadow-md);
    position: relative;
    overflow: hidden;
    transition: var(--transition-smooth);
    border: 2px solid transparent;
}

.sidebar-card-enhanced:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg);
}

.sidebar-card-enhanced.featured {
    border-color: var(--primary-orange);
    background: var(--white);
}

.sidebar-card-enhanced.featured::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-orange);
}

.sidebar-card-icon {
    width: 45px;
    height: 45px;
    background: var(--gradient-orange);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

.sidebar-card-icon svg {
    width: 22px;
    height: 22px;
    stroke: var(--white);
}

.sidebar-card-enhanced h4 {
    color: var(--black);
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px;
}

.sidebar-card-enhanced p {
    color: var(--gray);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

/* Enhanced Check List */
.check-list-enhanced {
    list-style: none;
    padding: 0;
    margin: 0;
}

.check-list-enhanced li {
    padding: 10px 0;
    font-size: 14px;
    color: var(--black);
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    transition: var(--transition-smooth);
}

.check-list-enhanced li:last-child {
    border-bottom: none;
}

.check-list-enhanced li:hover {
    padding-left: 5px;
    color: var(--black);
}

.check-list-enhanced li::before {
    content: '';
    width: 20px;
    height: 20px;
    background: var(--gradient-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 12px;
}

/* Enhanced Example Cards */
.examples-subtitle {
    text-align: center;
    color: var(--gray);
    font-size: 16px;
    margin-bottom: 30px;
}

.example-card-enhanced {
    background: var(--white);
    border-radius: 20px;
    padding: 30px;
    box-shadow: var(--shadow-md);
    transition: var(--transition-smooth);
    position: relative;
    overflow: hidden;
}

.example-card-enhanced:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.example-card-enhanced.popular {
    border: 2px solid var(--primary-orange);
    border-top: none;
    border-radius: 0 0 20px 20px;
    padding-top: 20px;
    margin-top: 0;
    overflow: visible;
    position: relative;
}

.example-card-enhanced.popular::before {
    content: '';
    position: absolute;
    top: -40px;
    left: -2px;
    right: -2px;
    height: 40px;
    background: var(--gradient-orange);
    border-radius: 20px 20px 0 0;
}

.example-badge {
    position: absolute;
    top: -28px;
    left: 50%;
    transform: translateX(-50%);
    background: transparent;
    color: var(--white);
    padding: 8px 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
    z-index: 10;
    letter-spacing: 0.5px;
}

.example-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.example-card-enhanced.popular .example-header {
    margin-top: 10px;
}

.example-card-enhanced .example-tier {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--primary-orange);
    margin: 0;
}

.example-hours {
    font-size: 12px;
    color: var(--gray);
    background: var(--white-soft);
    padding: 4px 10px;
    border-radius: 15px;
}

.example-card-enhanced .example-price {
    font-size: 26px;
    font-weight: 800;
    color: var(--black);
    margin-bottom: 20px;
}

.example-card-enhanced ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.example-card-enhanced ul li {
    padding: 8px 0;
    font-size: 13px;
    color: var(--gray);
    padding-left: 20px;
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.example-card-enhanced ul li:last-child {
    border-bottom: none;
}

.example-card-enhanced ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background: var(--primary-orange);
    border-radius: 50%;
}

/* FAQ Accordion */
.faq-accordion {
    max-width: 900px;
    margin: 0 auto;
}

.faq-accordion-item {
    background: var(--white);
    border-radius: 15px;
    margin-bottom: 15px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: var(--transition-smooth);
}

.faq-accordion-item:hover {
    box-shadow: var(--shadow-md);
}

.faq-accordion-item.active {
    box-shadow: var(--shadow-lg);
}

.faq-accordion-header {
    width: 100%;
    padding: 25px 30px;
    background: none;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    text-align: left;
    transition: var(--transition-smooth);
}

.faq-accordion-header:hover {
    background: var(--white-soft);
}

.faq-question {
    font-size: 16px;
    font-weight: 600;
    color: var(--black);
    flex: 1;
    padding-right: 20px;
}

.faq-icon {
    width: 30px;
    height: 30px;
    background: var(--gradient-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: var(--transition-smooth);
}

.faq-icon svg {
    width: 14px;
    height: 14px;
    stroke: var(--white);
    transition: var(--transition-smooth);
}

.faq-accordion-item.active .faq-icon {
    transform: rotate(45deg);
}

.faq-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
}

.faq-accordion-item.active .faq-accordion-content {
    max-height: 300px;
}

.faq-accordion-content p {
    padding: 0 30px 25px;
    margin: 0;
    color: var(--gray);
    font-size: 15px;
    line-height: 1.7;
}

/* === FAQ SPLIT LAYOUT === */
.faq-split-container {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    min-height: 500px;
}

.faq-questions-column {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.faq-split-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 20px;
    background: var(--white);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.faq-split-item:hover {
    border-color: rgba(255, 107, 0, 0.3);
    transform: translateX(5px);
    box-shadow: 0 4px 20px rgba(255, 107, 0, 0.1);
}

.faq-split-item.active {
    border-color: var(--primary-orange);
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.05), rgba(255, 107, 0, 0.02));
    box-shadow: 0 4px 20px rgba(255, 107, 0, 0.15);
}

.faq-number {
    font-size: 14px;
    font-weight: 700;
    color: var(--primary-orange);
    min-width: 28px;
}

.faq-question-text {
    flex: 1;
    font-size: 15px;
    font-weight: 500;
    color: var(--black);
    line-height: 1.4;
}

.faq-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    opacity: 0;
    transition: all 0.3s ease;
}

.faq-arrow svg {
    width: 18px;
    height: 18px;
    stroke: var(--primary-orange);
    stroke-width: 2;
}

.faq-split-item:hover .faq-arrow,
.faq-split-item.active .faq-arrow {
    opacity: 1;
}

.faq-split-item.active .faq-arrow {
    transform: translateX(3px);
}

/* FAQ Answers Column */
.faq-answers-column {
    position: relative;
    min-height: 400px;
}

.faq-answer-panel {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.4s ease;
}

.faq-answer-panel.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.faq-answer-inner {
    background: var(--white);
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(255, 107, 0, 0.1);
}

.faq-answer-inner h4 {
    font-size: 22px;
    font-weight: 700;
    color: var(--black);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.faq-answer-inner h4::before {
    content: '';
    width: 4px;
    height: 24px;
    background: var(--gradient-orange);
    border-radius: 2px;
}

.faq-answer-inner p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--gray);
    margin: 0;
}

/* FAQ Split Responsive */
@media (max-width: 900px) {
    .faq-split-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .faq-answers-column {
        position: relative;
        min-height: auto;
    }

    .faq-answer-panel {
        position: relative;
        display: none;
    }

    .faq-answer-panel.active {
        display: block;
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .faq-answer-inner {
        padding: 25px;
    }

    .faq-answer-inner h4 {
        font-size: 18px;
    }

    .faq-answer-inner p {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .faq-split-item {
        padding: 14px 16px;
        gap: 10px;
    }

    .faq-number {
        font-size: 12px;
        min-width: 24px;
    }

    .faq-question-text {
        font-size: 14px;
    }

    .faq-arrow {
        width: 24px;
        height: 24px;
    }

    .faq-arrow svg {
        width: 16px;
        height: 16px;
    }
}

/* Responsive for new styles */
@media (max-width: 1024px) {
    .plans-overview {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .plan-overview-card.featured {
        transform: none;
    }
}

@media (max-width: 768px) {
    .pricing-glow-1,
    .pricing-glow-2,
    .pricing-glow-3 {
        display: none;
    }

    .plan-overview-card {
        padding: 25px;
    }

    .plan-overview-link {
        position: static;
        margin-top: 15px;
    }

    .example-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .faq-accordion-header {
        padding: 20px;
    }

    .faq-question {
        font-size: 14px;
    }

    .faq-accordion-content p {
        padding: 0 20px 20px;
        font-size: 14px;
    }
}

/* === SECTION ANIMATED BACKGROUNDS === */
.section-animated {
    position: relative;
    overflow: hidden;
}

.section-animated .container {
    position: relative;
    z-index: 1;
}

.section-animated-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

/* Generic animated shapes */
.animated-shapes {
    position: absolute;
    width: 100%;
    height: 100%;
}

.animated-shape {
    position: absolute;
    border-radius: 50%;
}

.animated-shape.shape-circle {
    width: 300px;
    height: 300px;
    border: 2px solid rgba(255, 102, 0, 0.1);
    top: -50px;
    right: -50px;
    animation: shapeRotate 25s linear infinite;
}

.animated-shape.shape-ring {
    width: 200px;
    height: 200px;
    border: 1px solid rgba(255, 102, 0, 0.08);
    bottom: 10%;
    left: -50px;
    animation: shapeRotate 20s linear infinite reverse;
}

.animated-shape.shape-dot {
    width: 8px;
    height: 8px;
    background: var(--primary-orange);
    opacity: 0.3;
    animation: shapePulse 4s ease-in-out infinite;
}

.animated-shape.shape-dot:nth-child(3) { top: 20%; left: 15%; }
.animated-shape.shape-dot:nth-child(4) { top: 60%; right: 20%; animation-delay: -1.5s; }
.animated-shape.shape-dot:nth-child(5) { bottom: 25%; left: 40%; animation-delay: -3s; }

@keyframes shapeRotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes shapePulse {
    0%, 100% { transform: scale(1); opacity: 0.3; }
    50% { transform: scale(1.5); opacity: 0.6; }
}

/* Generic gradient orbs */
.animated-gradient-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    animation: orbFloat 10s ease-in-out infinite;
}

.animated-gradient-orb.orb-1 {
    width: 350px;
    height: 350px;
    background: rgba(255, 102, 0, 0.12);
    top: -100px;
    right: 10%;
    animation-delay: 0s;
}

.animated-gradient-orb.orb-2 {
    width: 250px;
    height: 250px;
    background: rgba(255, 170, 51, 0.08);
    bottom: 5%;
    left: 5%;
    animation-delay: -5s;
}

@keyframes orbFloat {
    0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.5; }
    33% { transform: translate(30px, -20px) scale(1.1); opacity: 0.7; }
    66% { transform: translate(-20px, 15px) scale(0.9); opacity: 0.6; }
}

/* === VIP SECTION SPECIAL BACKGROUNDS === */
.vip-section {
    background: linear-gradient(135deg, #0d0d0d 0%, #1a1510 50%, #0d0d0d 100%);
    position: relative;
    overflow: hidden;
}

.vip-section > .container {
    position: relative;
    z-index: 2;
}

/* VIP Section Text Colors - Force light text on dark background */
.vip-section .pricing-plan-header h2 {
    color: var(--white) !important;
}

.vip-section .pricing-plan-header h2 span {
    background: linear-gradient(135deg, #9B59B6, #E8B4F8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.vip-section .pricing-plan-header p {
    color: rgba(255, 255, 255, 0.8) !important;
}

.vip-section .section-label {
    color: #9B59B6 !important;
    border-color: rgba(155, 89, 182, 0.3) !important;
}

.vip-particles {
    position: absolute;
    width: 100%;
    height: 100%;
}

.vip-star {
    position: absolute;
    width: 4px;
    height: 4px;
    background: #9B59B6;
    border-radius: 50%;
    box-shadow: 0 0 10px #9B59B6, 0 0 20px #9B59B6;
    animation: starTwinkle 3s ease-in-out infinite;
}

.vip-star:nth-child(1) { top: 15%; left: 10%; }
.vip-star:nth-child(2) { top: 25%; right: 15%; animation-delay: -0.5s; }
.vip-star:nth-child(3) { top: 50%; left: 20%; animation-delay: -1s; }
.vip-star:nth-child(4) { top: 70%; right: 25%; animation-delay: -1.5s; }
.vip-star:nth-child(5) { bottom: 20%; left: 35%; animation-delay: -2s; }

@keyframes starTwinkle {
    0%, 100% { opacity: 0.3; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.5); }
}

.animated-gradient-orb.orb-gold-1 {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(155, 89, 182, 0.2) 0%, transparent 70%);
    top: -100px;
    right: -50px;
}

.animated-gradient-orb.orb-gold-2 {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(142, 68, 173, 0.15) 0%, transparent 70%);
    bottom: 10%;
    left: -50px;
}

.vip-shimmer {
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(155, 89, 182, 0.05), transparent);
    animation: vipShimmer 8s ease-in-out infinite;
}

@keyframes vipShimmer {
    0%, 100% { left: -100%; }
    50% { left: 150%; }
}

/* === ROI SECTION BACKGROUNDS === */
#pricing-roi {
    background: linear-gradient(135deg, #0a0a0a 0%, #0a0f0a 50%, #0a0a0a 100%) !important;
}

.roi-bg {
    background: transparent;
}

/* Hide the old graph lines - replace with better effects */
.roi-graph-lines {
    display: none;
}

.graph-line {
    display: none;
}

/* ROI Section Orbs - Orange themed */
.animated-gradient-orb.orb-green-1 {
    width: 450px;
    height: 450px;
    background: radial-gradient(circle, rgba(255, 102, 0, 0.15) 0%, transparent 70%);
    top: -100px;
    right: -50px;
    animation: orbFloat 10s ease-in-out infinite;
}

.animated-gradient-orb.orb-green-2 {
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(255, 150, 50, 0.1) 0%, transparent 70%);
    bottom: -50px;
    left: -100px;
    animation: orbFloat 12s ease-in-out infinite reverse;
}

/* ROI floating dollar signs */
.roi-floating-icons {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.roi-icon {
    position: absolute;
    font-size: 50px;
    font-weight: 900;
    color: rgba(255, 102, 0, 0.1);
    text-shadow: 0 0 20px rgba(255, 102, 0, 0.3);
    animation: roiIconFloat 15s ease-in-out infinite;
}

.roi-icon:nth-child(1) { top: 10%; left: 5%; font-size: 60px; }
.roi-icon:nth-child(2) { top: 40%; left: 8%; font-size: 40px; animation-delay: -3s; }
.roi-icon:nth-child(3) { top: 70%; left: 3%; font-size: 55px; animation-delay: -6s; }
.roi-icon:nth-child(4) { top: 15%; right: 5%; font-size: 45px; animation-delay: -9s; }
.roi-icon:nth-child(5) { top: 55%; right: 8%; font-size: 65px; animation-delay: -12s; }
.roi-icon:nth-child(6) { bottom: 10%; right: 3%; font-size: 50px; animation-delay: -4s; }

@keyframes roiIconFloat {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
        opacity: 0.08;
    }
    25% {
        transform: translateY(-25px) rotate(10deg);
        opacity: 0.15;
    }
    50% {
        transform: translateY(10px) rotate(-5deg);
        opacity: 0.1;
    }
    75% {
        transform: translateY(-15px) rotate(5deg);
        opacity: 0.15;
    }
}

/* ROI Particles - Orange */
.roi-particles .particle {
    background: #FF6B00;
    box-shadow: 0 0 12px rgba(255, 107, 0, 0.8);
    width: 8px;
    height: 8px;
}

/* ROI Moving lines - Orange */
.roi-lines .moving-line {
    background: linear-gradient(90deg, transparent, rgba(255, 107, 0, 0.4), transparent);
    height: 2px;
}

.roi-lines .moving-line.line-v {
    background: linear-gradient(180deg, transparent, rgba(255, 107, 0, 0.4), transparent);
    width: 2px;
}

.data-points {
    position: absolute;
    width: 100%;
    height: 100%;
}

.data-point {
    position: absolute;
    width: 10px;
    height: 10px;
    background: rgba(0, 200, 83, 0.5);
    border-radius: 50%;
    animation: dataPointPulse 2s ease-in-out infinite;
}

.data-point:nth-child(1) { top: 25%; right: 30%; }
.data-point:nth-child(2) { top: 45%; right: 22%; animation-delay: -0.5s; }
.data-point:nth-child(3) { top: 65%; right: 35%; animation-delay: -1s; }
.data-point:nth-child(4) { top: 80%; right: 28%; animation-delay: -1.5s; }

@keyframes dataPointPulse {
    0%, 100% { transform: scale(1); opacity: 0.5; box-shadow: 0 0 0 0 rgba(0, 200, 83, 0.4); }
    50% { transform: scale(1.2); opacity: 1; box-shadow: 0 0 15px 5px rgba(0, 200, 83, 0.2); }
}

/* === FAQ SECTION BACKGROUNDS === */
#pricing-faq {
    background: linear-gradient(180deg, #fafafa 0%, #fff5f0 50%, #fafafa 100%) !important;
    position: relative;
    overflow: hidden;
}

.faq-bg {
    background: transparent;
}

.faq-bubbles {
    position: absolute;
    width: 100%;
    height: 100%;
}

.faq-bubble {
    position: absolute;
    border-radius: 50%;
    border: 2px solid rgba(255, 102, 0, 0.2);
    background: rgba(255, 102, 0, 0.03);
    animation: bubbleFloat 8s ease-in-out infinite;
}

.faq-bubble:nth-child(1) {
    width: 100px;
    height: 100px;
    top: 15%;
    left: 5%;
}

.faq-bubble:nth-child(2) {
    width: 70px;
    height: 70px;
    top: 35%;
    right: 8%;
    animation-delay: -2s;
}

.faq-bubble:nth-child(3) {
    width: 120px;
    height: 120px;
    bottom: 25%;
    left: 10%;
    animation-delay: -4s;
}

.faq-bubble:nth-child(4) {
    width: 80px;
    height: 80px;
    bottom: 10%;
    right: 15%;
    animation-delay: -6s;
}

@keyframes bubbleFloat {
    0%, 100% { transform: translateY(0) scale(1); opacity: 0.5; }
    50% { transform: translateY(-20px) scale(1.1); opacity: 0.6; }
}

/* FAQ Section Orbs - Orange themed for light background */
.animated-gradient-orb.orb-blue-1 {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(255, 102, 0, 0.1) 0%, transparent 70%);
    top: -100px;
    right: -50px;
    animation: orbFloat 12s ease-in-out infinite;
}

.animated-gradient-orb.orb-blue-2 {
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(255, 150, 50, 0.08) 0%, transparent 70%);
    bottom: -50px;
    left: -50px;
    animation: orbFloat 15s ease-in-out infinite reverse;
}

/* FAQ Particles - Orange for light background */
.faq-particles .particle {
    background: #FF6B00;
    box-shadow: 0 0 8px rgba(255, 107, 0, 0.6);
    width: 6px;
    height: 6px;
}

/* FAQ Lines - Orange for light background */
.faq-lines .moving-line {
    background: linear-gradient(90deg, transparent, rgba(255, 107, 0, 0.15), transparent);
    height: 1px;
}

/* Animation delay classes */
.delay-1 { animation-delay: -1s !important; }
.delay-2 { animation-delay: -2s !important; }
.delay-3 { animation-delay: -3s !important; }
.delay-4 { animation-delay: -4s !important; }

/* === FLOATING PARTICLES ANIMATION === */
.floating-particles {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.floating-particles .particle {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    opacity: 0;
    animation: particleFloat 15s infinite;
}

/* Particle positions - scattered across the section */
.floating-particles .particle:nth-child(1) { left: 5%; animation-delay: 0s; }
.floating-particles .particle:nth-child(2) { left: 15%; animation-delay: -2s; }
.floating-particles .particle:nth-child(3) { left: 25%; animation-delay: -4s; }
.floating-particles .particle:nth-child(4) { left: 40%; animation-delay: -6s; }
.floating-particles .particle:nth-child(5) { left: 55%; animation-delay: -8s; }
.floating-particles .particle:nth-child(6) { left: 70%; animation-delay: -10s; }
.floating-particles .particle:nth-child(7) { left: 80%; animation-delay: -12s; }
.floating-particles .particle:nth-child(8) { left: 90%; animation-delay: -14s; }
.floating-particles .particle:nth-child(9) { left: 35%; animation-delay: -3s; }
.floating-particles .particle:nth-child(10) { left: 65%; animation-delay: -7s; }

@keyframes particleFloat {
    0% {
        transform: translateY(100vh) scale(0);
        opacity: 0;
    }
    10% {
        opacity: 0.8;
        transform: translateY(80vh) scale(1);
    }
    50% {
        opacity: 0.6;
    }
    90% {
        opacity: 0.8;
        transform: translateY(-10vh) scale(1);
    }
    100% {
        transform: translateY(-20vh) scale(0);
        opacity: 0;
    }
}

/* Green particles for Retainer section */
.green-particles .particle {
    background: #27ae60;
    box-shadow: 0 0 10px #27ae60, 0 0 20px rgba(39, 174, 96, 0.5);
}

/* Purple particles for VIP section */
.purple-particles .particle {
    background: #9B59B6;
    box-shadow: 0 0 10px #9B59B6, 0 0 20px rgba(155, 89, 182, 0.5);
}

/* Orange particles for Project section */
.orange-particles .particle {
    background: #FF6B00;
    box-shadow: 0 0 10px #FF6B00, 0 0 20px rgba(255, 107, 0, 0.5);
}

/* === MOVING LINES ANIMATION === */
.moving-lines {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.moving-line {
    position: absolute;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    opacity: 0;
}

.moving-line.line-h {
    width: 200px;
    height: 1px;
    animation: lineMovingH 8s infinite;
}

.moving-line.line-h:nth-child(1) { top: 30%; }
.moving-line.line-h:nth-child(2) { top: 70%; }

.moving-line.line-v {
    width: 1px;
    height: 200px;
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    animation: lineMovingV 10s infinite;
}

.moving-line.line-v:nth-child(3) { left: 20%; }
.moving-line.line-v:nth-child(4) { left: 80%; }

.moving-line.line-diagonal {
    width: 300px;
    height: 1px;
    transform: rotate(45deg);
    animation: lineDiagonal 12s infinite;
}

@keyframes lineMovingH {
    0% {
        left: -200px;
        opacity: 0;
    }
    10% {
        opacity: 0.5;
    }
    90% {
        opacity: 0.5;
    }
    100% {
        left: 100%;
        opacity: 0;
    }
}

@keyframes lineMovingV {
    0% {
        top: -200px;
        opacity: 0;
    }
    10% {
        opacity: 0.5;
    }
    90% {
        opacity: 0.5;
    }
    100% {
        top: 100%;
        opacity: 0;
    }
}

@keyframes lineDiagonal {
    0% {
        left: -300px;
        top: 100%;
        opacity: 0;
    }
    10% {
        opacity: 0.3;
    }
    90% {
        opacity: 0.3;
    }
    100% {
        left: 100%;
        top: -20%;
        opacity: 0;
    }
}

/* Green lines for Retainer */
.retainer-bg .moving-line {
    background: linear-gradient(90deg, transparent, rgba(39, 174, 96, 0.3), transparent);
}

.retainer-bg .moving-line.line-v {
    background: linear-gradient(180deg, transparent, rgba(39, 174, 96, 0.3), transparent);
}

/* Purple lines for VIP */
.purple-lines .moving-line {
    background: linear-gradient(90deg, transparent, rgba(155, 89, 182, 0.3), transparent);
}

.purple-lines .moving-line.line-v {
    background: linear-gradient(180deg, transparent, rgba(155, 89, 182, 0.3), transparent);
}

/* === RETAINER SECTION SPECIFIC === */
.retainer-section {
    background: linear-gradient(135deg, #0a0a0a 0%, #0d1a10 50%, #0a0a0a 100%);
}

.animated-gradient-orb.orb-green-retainer-1 {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(39, 174, 96, 0.15) 0%, transparent 70%);
    top: -100px;
    right: 10%;
}

.animated-gradient-orb.orb-green-retainer-2 {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(46, 204, 113, 0.1) 0%, transparent 70%);
    bottom: 10%;
    left: -50px;
}

/* Orange lines for Project section */
.orange-lines .moving-line {
    background: linear-gradient(90deg, transparent, rgba(255, 107, 0, 0.2), transparent);
}

/* === FINDER/QUIZ SECTION - Cyan/Blue Theme === */
.finder-section {
    background: linear-gradient(135deg, #0a0a0a 0%, #051520 50%, #0a0a0a 100%) !important;
}

.finder-bg {
    background: transparent;
}

/* Cyan particles for Finder section */
.finder-particles .particle {
    background: #00bcd4;
    box-shadow: 0 0 15px #00bcd4, 0 0 30px rgba(0, 188, 212, 0.8);
    width: 8px;
    height: 8px;
}

/* Cyan lines for Finder */
.finder-lines .moving-line {
    background: linear-gradient(90deg, transparent, rgba(0, 188, 212, 0.5), transparent);
    height: 2px;
}

.finder-lines .moving-line.line-v {
    background: linear-gradient(180deg, transparent, rgba(0, 188, 212, 0.5), transparent);
    width: 2px;
}

/* Gradient orbs for Finder */
.animated-gradient-orb.orb-cyan-1 {
    width: 450px;
    height: 450px;
    background: radial-gradient(circle, rgba(0, 188, 212, 0.25) 0%, transparent 70%);
    top: -100px;
    right: 5%;
    animation: orbFloat 10s ease-in-out infinite;
}

.animated-gradient-orb.orb-cyan-2 {
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(3, 169, 244, 0.2) 0%, transparent 70%);
    bottom: -50px;
    left: -80px;
    animation: orbFloat 12s ease-in-out infinite reverse;
}

/* Floating question mark icons */
.floating-icons {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.floating-icon {
    position: absolute;
    font-size: 60px;
    font-weight: 900;
    color: #00bcd4;
    opacity: 0.12;
    text-shadow: 0 0 30px rgba(0, 188, 212, 0.5);
    animation: floatIcon 10s ease-in-out infinite;
}

.floating-icon:nth-child(1) {
    top: 10%;
    left: 5%;
    font-size: 80px;
    animation-delay: 0s;
}

.floating-icon:nth-child(2) {
    top: 50%;
    left: 12%;
    font-size: 50px;
    animation-delay: -2.5s;
}

.floating-icon:nth-child(3) {
    top: 20%;
    right: 8%;
    font-size: 70px;
    animation-delay: -5s;
}

.floating-icon:nth-child(4) {
    bottom: 15%;
    right: 5%;
    font-size: 55px;
    animation-delay: -7.5s;
}

@keyframes floatIcon {
    0%, 100% {
        transform: translateY(0) rotate(-5deg) scale(1);
        opacity: 0.08;
    }
    25% {
        transform: translateY(-30px) rotate(5deg) scale(1.1);
        opacity: 0.15;
    }
    50% {
        transform: translateY(15px) rotate(-3deg) scale(0.95);
        opacity: 0.1;
    }
    75% {
        transform: translateY(-20px) rotate(8deg) scale(1.05);
        opacity: 0.15;
    }
}

.section-bg-animation {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.section-bg-animation .floating-particles,
.section-bg-animation .moving-lines {
    z-index: 1;
}

/* === CERT CARD ENHANCED === */
.cert-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100px;
    height: 100px;
    background: var(--primary-orange-glow);
    border-radius: 50%;
    filter: blur(40px);
    opacity: 0;
    transition: var(--transition-smooth);
}

.cert-card:hover .cert-glow {
    opacity: 1;
}

.cert-card p {
    color: var(--gray);
    font-size: 12px;
    margin-top: 5px;
}

/* === ADDITIONAL RESPONSIVE === */
@media (max-width: 1024px) {
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .values-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .services-grid-large {
        grid-template-columns: repeat(2, 1fr);
    }

    .mission-grid {
        grid-template-columns: 1fr;
        gap: 50px;
        text-align: center;
    }

    .mission-stats {
        justify-content: center;
    }

    .mission-image {
        order: -1;
        max-width: 400px;
        margin: 0 auto;
    }

    .image-frame::before {
        display: none;
    }
}

@media (max-width: 1100px) {
    .founder-section {
        grid-template-columns: 400px 1fr;
        gap: 40px;
    }

    .founder-skills {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .founder-section {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .founder-image {
        max-width: 375px;
        margin: 0 auto 30px;
    }

    .founder-skills {
        grid-template-columns: repeat(2, 1fr);
    }

    .founder-credentials {
        justify-content: center;
    }

    .skill-item {
        text-align: left;
    }

    .founder-quote {
        text-align: left;
    }
}

@media (max-width: 768px) {
    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .features-grid {
        grid-template-columns: 1fr;
    }

    .values-grid {
        grid-template-columns: 1fr 1fr;
    }

    .comparison-grid {
        grid-template-columns: 1fr;
    }

    .faq-grid {
        grid-template-columns: 1fr;
    }

    .actions-grid {
        grid-template-columns: 1fr;
    }

    .services-grid-large {
        grid-template-columns: 1fr;
    }

    .service-list-item {
        flex-direction: column;
        text-align: center;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer-badges {
        justify-content: center;
    }

    .founder-skills {
        grid-template-columns: 1fr;
    }

    .founder-actions {
        justify-content: center;
    }

    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }

    .social-links {
        flex-direction: column;
        align-items: center;
    }

    .apps-showcase {
        gap: 15px;
    }

    .app-icon {
        min-width: 80px;
        padding: 15px;
    }

    .page-header h1 {
        font-size: 36px;
    }

    .partner-badge-creative {
        margin-bottom: 20px;
    }

    .badge-glow {
        width: 150px;
        height: 150px;
    }

    .badge-ring {
        width: 100px;
        height: 100px;
    }

    .badge-inner {
        padding: 12px 20px 12px 15px;
        gap: 10px;
    }

    .badge-inner img {
        width: 35px;
        height: 35px;
    }

    .badge-title {
        font-size: 15px;
    }

    .hero-stats-compact {
        flex-direction: column;
        gap: 8px;
    }

    .compact-stat {
        width: 100%;
        max-width: 200px;
    }
}

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

    .values-grid {
        grid-template-columns: 1fr;
    }

    .mission-stats {
        flex-direction: column;
        gap: 25px;
    }

    .founder-image {
        max-width: 280px;
    }

    .partner-section {
        padding: 40px 20px;
    }

    .partner-tag-btn {
        flex-direction: column;
        padding: 20px 30px;
    }
}

/* ============================================
   PROCESS SECTION V2 - VERTICAL TIMELINE
   ============================================ */

.section-process-v2 {
    background: linear-gradient(180deg, #0a0a0a 0%, #0f0f0f 50%, #0a0a0a 100%);
    padding: 120px 20px;
    position: relative;
    overflow: hidden;
}

/* Process section header - light text on dark bg */
.section-process-v2 .section-header h2 {
    color: white;
}

.section-process-v2 .section-header p {
    color: rgba(255, 255, 255, 0.7);
}

/* Vertical Timeline Container */
.vertical-timeline {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 0;
}

/* Central Timeline Line */
.timeline-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 3px;
    background: rgba(255, 107, 0, 0.15);
    transform: translateX(-50%);
    border-radius: 3px;
}

.timeline-line-progress {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background: linear-gradient(180deg, var(--primary-orange) 0%, rgba(255, 107, 0, 0.3) 100%);
    border-radius: 3px;
    animation: lineGrow 2s ease-out forwards;
    box-shadow: 0 0 15px rgba(255, 107, 0, 0.5);
}

@keyframes lineGrow {
    to { height: 100%; }
}

/* Timeline Item */
.timeline-item {
    position: relative;
    width: 50%;
    padding: 8px 30px;
    box-sizing: border-box;
}

.timeline-item.left {
    left: 0;
    padding-right: 40px;
    text-align: right;
}

.timeline-item.right {
    left: 50%;
    padding-left: 40px;
    text-align: left;
}

/* Timeline Dot */
.timeline-dot {
    position: absolute;
    top: 28px;
    width: 14px;
    height: 14px;
    background: var(--primary-orange);
    border-radius: 50%;
    z-index: 3;
    box-shadow:
        0 0 0 3px #0a0a0a,
        0 0 0 4px var(--primary-orange),
        0 0 15px rgba(255, 107, 0, 0.5);
}

.timeline-item.left .timeline-dot {
    right: -7px;
}

.timeline-item.right .timeline-dot {
    left: -7px;
}

.dot-pulse {
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--primary-orange);
    border-radius: 50%;
    animation: dotPulse 2s ease-out infinite;
}

@keyframes dotPulse {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }
    100% {
        transform: scale(3);
        opacity: 0;
    }
}

/* Timeline Content */
.timeline-content {
    display: flex;
    align-items: center;
    gap: 12px;
}

.timeline-item.left .timeline-content {
    flex-direction: row-reverse;
}

/* Big Number */
.timeline-number {
    position: relative;
    flex-shrink: 0;
}

.timeline-number span {
    font-size: 48px;
    font-weight: 900;
    color: transparent;
    -webkit-text-stroke: 2px rgba(255, 107, 0, 0.3);
    line-height: 1;
    display: block;
    transition: all 0.4s ease;
}

.timeline-item:hover .timeline-number span {
    -webkit-text-stroke: 2px var(--primary-orange);
    text-shadow: 0 0 40px rgba(255, 107, 0, 0.3);
}

.number-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80px;
    height: 80px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.2) 0%, transparent 70%);
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.timeline-item:hover .number-glow {
    opacity: 1;
}

/* Timeline Card */
.timeline-card {
    background: #161616;
    border: 1px solid rgba(255, 107, 0, 0.15);
    border-radius: 12px;
    padding: 16px 18px;
    flex: 1;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    position: relative;
    overflow: visible;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

/* ============================================
   SNAKE BORDER ANIMATION
   ============================================ */

/* Snake border wrapper */
.snake-border {
    position: absolute;
    inset: -2px;
    border-radius: 14px;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
}

/* The traveling snake light - rotating gradient */
.snake-border::before {
    content: '';
    position: absolute;
    width: 200%;
    height: 200%;
    top: -50%;
    left: -50%;
    background: conic-gradient(
        transparent 0deg,
        transparent 340deg,
        #FF6B00 345deg,
        #FF8C3A 350deg,
        #FFB366 355deg,
        #FF6B00 358deg,
        transparent 360deg
    );
    animation: snakeRotate 1.8s linear infinite;
}

/* Inner mask to show only the border */
.snake-border::after {
    content: '';
    position: absolute;
    inset: 3px;
    background: #161616;
    border-radius: 10px;
}

/* Snake glow trail */
.snake-glow {
    position: absolute;
    inset: -5px;
    border-radius: 17px;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
    opacity: 0;
}

.snake-glow::before {
    content: '';
    position: absolute;
    width: 200%;
    height: 200%;
    top: -50%;
    left: -50%;
    background: conic-gradient(
        transparent 0deg,
        transparent 320deg,
        rgba(255, 107, 0, 0.5) 340deg,
        rgba(255, 140, 58, 0.8) 350deg,
        rgba(255, 107, 0, 0.5) 360deg
    );
    animation: snakeRotate 1.8s linear infinite;
    filter: blur(12px);
}

@keyframes snakeRotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Hover effects */
.timeline-item:hover .timeline-card {
    background: rgba(255, 107, 0, 0.05);
    border-color: rgba(255, 107, 0, 0.4);
    transform: translateY(-3px);
    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.3),
        0 0 25px rgba(255, 107, 0, 0.15);
}

/* Card Icon */
.timeline-card .card-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    background: rgba(255, 107, 0, 0.1);
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease;
    position: relative;
    z-index: 2;
}

/* Card Body z-index */
.timeline-card .card-body {
    position: relative;
    z-index: 2;
}

.timeline-item.left .timeline-card {
    flex-direction: row-reverse;
}

.timeline-card .card-icon svg {
    width: 22px;
    height: 22px;
    color: var(--primary-orange);
    transition: all 0.4s ease;
}

.timeline-item:hover .timeline-card .card-icon {
    background: rgba(255, 107, 0, 0.2);
    border-color: var(--primary-orange);
    transform: scale(1.1);
}

.timeline-item:hover .timeline-card .card-icon svg {
    filter: drop-shadow(0 0 8px rgba(255, 107, 0, 0.6));
}

/* Card Body */
.timeline-card .card-body {
    flex: 1;
}

.timeline-card .card-body h3 {
    font-size: 16px;
    font-weight: 700;
    color: white;
    margin-bottom: 4px;
}

.timeline-card .card-body p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.5;
    margin-bottom: 10px;
}

.timeline-item.left .timeline-card .card-body {
    text-align: right;
}

/* Card Tags */
.timeline-card .card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.timeline-item.left .timeline-card .card-tags {
    justify-content: flex-end;
}

.timeline-card .card-tags span {
    background: rgba(255, 107, 0, 0.1);
    color: var(--primary-orange);
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 600;
    border: 1px solid rgba(255, 107, 0, 0.2);
    transition: all 0.3s ease;
}

.timeline-item:hover .timeline-card .card-tags span {
    background: rgba(255, 107, 0, 0.15);
    border-color: rgba(255, 107, 0, 0.4);
}

/* Card Click Hint */
.card-click-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 12px;
    padding: 6px 12px;
    font-size: 10px;
    font-weight: 500;
    color: rgba(255, 107, 0, 0.6);
    letter-spacing: 0.5px;
    opacity: 0;
    transform: translateY(-5px);
    transition: all 0.3s ease;
}

.card-click-hint::before {
    content: '';
    width: 16px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 107, 0, 0.4));
}

.card-click-hint::after {
    content: '';
    width: 16px;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 107, 0, 0.4), transparent);
}

.timeline-card:hover .card-click-hint {
    opacity: 1;
    transform: translateY(0);
    color: rgba(255, 107, 0, 0.8);
}

/* Make timeline cards clickable */
.timeline-card[data-modal] {
    cursor: pointer;
}

.timeline-card[data-modal]:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(255, 107, 0, 0.2);
}

/* Mobile Responsive */
@media (max-width: 900px) {
    .timeline-line {
        left: 25px;
    }

    .timeline-item {
        width: 100%;
        padding: 8px 15px 8px 55px;
        text-align: left;
    }

    .timeline-item.left,
    .timeline-item.right {
        left: 0;
        padding-left: 55px;
        padding-right: 15px;
        text-align: left;
    }

    .timeline-item.left .timeline-content,
    .timeline-item.right .timeline-content {
        flex-direction: row;
    }

    .timeline-item.left .timeline-dot,
    .timeline-item.right .timeline-dot {
        left: 17px;
        right: auto;
    }

    .timeline-item.left .timeline-card {
        flex-direction: row;
    }

    .timeline-item.left .timeline-card .card-body {
        text-align: left;
    }

    .timeline-item.left .timeline-card .card-tags {
        justify-content: flex-start;
    }

    .timeline-number span {
        font-size: 36px;
    }
}

@media (max-width: 600px) {
    .section-process-v2 {
        padding: 50px 15px;
    }

    .timeline-line {
        left: 18px;
    }

    .timeline-item.left,
    .timeline-item.right {
        padding-left: 45px;
        padding-right: 10px;
    }

    .timeline-item.left .timeline-dot,
    .timeline-item.right .timeline-dot {
        left: 10px;
    }

    .timeline-content {
        flex-direction: column !important;
        gap: 8px;
    }

    .timeline-number span {
        font-size: 28px;
    }

    .timeline-card {
        padding: 14px;
        flex-direction: row !important;
    }

    .timeline-card .card-body h3 {
        font-size: 14px;
    }

    .timeline-card .card-body p {
        font-size: 12px;
    }

    .timeline-card .card-icon {
        width: 36px;
        height: 36px;
        min-width: 36px;
    }

    .timeline-card .card-icon svg {
        width: 18px;
        height: 18px;
    }
}

/* ============================================
   PAGE MODAL STYLES (Full-page modals for Pricing, About, Contact)
   ============================================ */

.page-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(15px);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    overflow-y: auto;
    overflow-x: hidden;
}

.page-modal-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Ensure all content inside active modals is visible */
.page-modal-overlay.active .wow,
.page-modal-overlay.active .animated,
.page-modal-overlay.active .pricing-card,
.page-modal-overlay.active .contact-card,
.page-modal-overlay.active .cert-card,
.page-modal-overlay.active .value-card,
.page-modal-overlay.active .timeline-card,
.page-modal-overlay.active .team-card,
.page-modal-overlay.active .mission-content,
.page-modal-overlay.active .mission-visual,
.page-modal-overlay.active .section-header,
.page-modal-overlay.active .page-header-content {
    visibility: visible !important;
    opacity: 1 !important;
}

.page-modal {
    position: relative;
    min-height: 100vh;
    width: 100%;
    background: #0a0a0a;
    transform: translateY(30px);
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.page-modal-overlay.active .page-modal {
    transform: translateY(0);
    opacity: 1;
}

.page-modal-content {
    max-width: 100%;
    margin: 0 auto;
}

/* Sticky Modal Navigation Bar */
.page-modal-nav {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10001;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 20px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.85) 60%, transparent 100%);
    backdrop-filter: blur(10px);
    transform: translateY(-100%);
    opacity: 0;
    animation: navSlideDown 0.5s 0.2s ease-out forwards;
}

@keyframes navSlideDown {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.page-modal-overlay:not(.active) .page-modal-nav {
    animation: none;
    transform: translateY(-100%);
    opacity: 0;
}

.page-modal-overlay.closing .page-modal-nav {
    animation: navSlideUp 0.25s ease-in forwards;
}

@keyframes navSlideUp {
    0% {
        transform: translateY(0);
        opacity: 1;
    }
    100% {
        transform: translateY(-100%);
        opacity: 0;
    }
}

/* Home Logo Button */
.page-modal-home {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 8px 25px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 107, 0, 0.3);
}

.page-modal-home:hover {
    background: rgba(255, 107, 0, 0.15);
    border-color: #FF6B00;
    transform: scale(1.05);
    box-shadow: 0 0 25px rgba(255, 107, 0, 0.3);
}

.page-modal-home img {
    height: 35px;
    width: auto;
    filter: drop-shadow(0 0 8px rgba(255, 107, 0, 0.3));
    transition: all 0.3s ease;
}

.page-modal-home:hover img {
    filter: drop-shadow(0 0 15px rgba(255, 107, 0, 0.5));
}

/* Modal Page Indicator */
.modal-page-indicator {
    position: absolute;
    right: 80px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 13px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.7);
    text-transform: none;
    letter-spacing: 0.5px;
    padding: 10px 18px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 25px;
    white-space: nowrap;
    backdrop-filter: blur(10px);
}

.modal-page-indicator strong {
    color: #FF6B00;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

@media (max-width: 768px) {
    .modal-page-indicator {
        font-size: 11px;
        padding: 8px 14px;
        right: 70px;
    }
}

@media (max-width: 500px) {
    .modal-page-indicator {
        display: none;
    }
}

/* Portfolio Live Demos Nav Button */
.portfolio-nav-demo-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: linear-gradient(135deg, #FF6B00, #ff8c00);
    color: white;
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 25px;
    text-decoration: none;
    margin-left: 15px;
    box-shadow: 0 4px 15px rgba(255, 107, 0, 0.4);
    transition: all 0.3s ease;
    overflow: visible;
    animation: demoButtonGlow 2s ease-in-out infinite;
}

@keyframes demoButtonGlow {
    0%, 100% { box-shadow: 0 4px 15px rgba(255, 107, 0, 0.4); }
    50% { box-shadow: 0 4px 25px rgba(255, 107, 0, 0.6), 0 0 15px rgba(255, 107, 0, 0.3); }
}

.portfolio-nav-demo-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(255, 107, 0, 0.5);
}

.portfolio-nav-demo-btn svg {
    fill: white;
    stroke: none;
    flex-shrink: 0;
}

.portfolio-nav-demo-btn .demo-btn-pulse {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 25px;
    background: transparent;
    border: 2px solid rgba(255, 107, 0, 0.5);
    animation: demoPulse 2s ease-out infinite;
    pointer-events: none;
}

@keyframes demoPulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.8;
    }
    100% {
        transform: translate(-50%, -50%) scale(1.4);
        opacity: 0;
    }
}

.portfolio-nav-demo-btn .demo-btn-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    padding: 3px 7px;
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: white;
    font-size: 0.6rem;
    font-weight: 700;
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(34, 197, 94, 0.5);
    animation: badgeShake 3s ease-in-out infinite;
}

@keyframes badgeShake {
    0%, 90%, 100% { transform: rotate(0deg); }
    92%, 96% { transform: rotate(-5deg); }
    94%, 98% { transform: rotate(5deg); }
}

@media (max-width: 768px) {
    .portfolio-nav-demo-btn {
        padding: 8px 14px;
        font-size: 0.75rem;
        margin-left: 10px;
    }

    .portfolio-nav-demo-btn svg {
        width: 14px;
        height: 14px;
    }

    .portfolio-nav-demo-btn .demo-btn-badge {
        padding: 2px 5px;
        font-size: 0.5rem;
        top: -6px;
        right: -6px;
    }
}

@media (max-width: 500px) {
    .portfolio-nav-demo-btn span:not(.demo-btn-pulse):not(.demo-btn-badge) {
        display: none;
    }

    .portfolio-nav-demo-btn {
        padding: 10px;
        border-radius: 50%;
    }
}

/* Close Button in Nav */
.page-modal-close {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) scale(0) rotate(-180deg);
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.8);
    border: 2px solid #FF6B00;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4), 0 0 10px rgba(255, 107, 0, 0.2);
    animation: closeButtonAppear 0.4s 0.4s ease-out forwards;
}

@keyframes closeButtonAppear {
    0% {
        transform: translateY(-50%) scale(0) rotate(-180deg);
        opacity: 0;
    }
    50% {
        transform: translateY(-50%) scale(1.15) rotate(0deg);
    }
    100% {
        transform: translateY(-50%) scale(1) rotate(0deg);
        opacity: 1;
    }
}

.page-modal-overlay:not(.active) .page-modal-close {
    animation: none;
    transform: translateY(-50%) scale(0);
}

.page-modal-close:hover {
    background: #FF6B00;
    border-color: #FF6B00;
    transform: translateY(-50%) scale(1.1) rotate(90deg);
    box-shadow: 0 0 25px rgba(255, 107, 0, 0.5), 0 0 50px rgba(255, 107, 0, 0.25);
}

.page-modal-overlay.closing .page-modal-close {
    animation: closeButtonDisappear 0.2s ease-in forwards;
}

@keyframes closeButtonDisappear {
    0% {
        transform: translateY(-50%) scale(1) rotate(0deg);
        opacity: 1;
    }
    100% {
        transform: translateY(-50%) scale(0) rotate(180deg);
        opacity: 0;
    }
}

.page-modal-close svg {
    width: 20px;
    height: 20px;
    filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.5));
}

/* Prevent body scroll when page modal is open */
body.page-modal-open,
html.page-modal-open,
html:has(.page-modal-overlay.active) {
    overflow: hidden !important;
    padding-right: 0 !important;
    height: 100% !important;
    position: relative !important;
}

/* Hide body and html scrollbar completely when modal is open */
body.page-modal-open::-webkit-scrollbar,
html.page-modal-open::-webkit-scrollbar,
html:has(.page-modal-overlay.active)::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    background: transparent !important;
}

body.page-modal-open,
html.page-modal-open,
html:has(.page-modal-overlay.active) {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}

/* Style modal scrollbar to be subtle */
.page-modal-overlay::-webkit-scrollbar {
    width: 8px;
}

.page-modal-overlay::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.3);
}

.page-modal-overlay::-webkit-scrollbar-thumb {
    background: rgba(255, 107, 0, 0.4);
    border-radius: 4px;
}

.page-modal-overlay::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 107, 0, 0.6);
}

/* Modal Header for Page Modals - extra top padding */
.page-header-modal {
    padding-top: 20px;
}

/* Page Modal Opening Animation */
.page-modal-overlay {
    animation: none;
}

.page-modal-overlay.active {
    animation: modalOverlayIn 0.4s ease-out forwards;
}

@keyframes modalOverlayIn {
    0% {
        opacity: 0;
        backdrop-filter: blur(0px);
    }
    100% {
        opacity: 1;
        backdrop-filter: blur(15px);
    }
}

.page-modal-overlay.active .page-modal {
    animation: modalSlideIn 0.5s cubic-bezier(0.23, 1, 0.32, 1) forwards;
}

@keyframes modalSlideIn {
    0% {
        opacity: 0;
        transform: translateY(50px) scale(0.95);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Closing animation class */
.page-modal-overlay.closing {
    animation: modalOverlayOut 0.3s ease-in forwards;
}

.page-modal-overlay.closing .page-modal {
    animation: modalSlideOut 0.3s ease-in forwards;
}

@keyframes modalOverlayOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

@keyframes modalSlideOut {
    0% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateY(30px) scale(0.95);
    }
}

/* ============================================
   SERVICE MODAL STYLES
   ============================================ */

.service-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(10px);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.service-modal-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Ensure all content inside active service modals is visible */
.service-modal-overlay.active .wow,
.service-modal-overlay.active .animated,
.service-modal-overlay.active .modal-header,
.service-modal-overlay.active .modal-body,
.service-modal-overlay.active .service-modal {
    visibility: visible !important;
}

.service-modal {
    background: linear-gradient(135deg, #1a1a1a 0%, #0d0d0d 100%);
    border-radius: 24px;
    max-width: 800px;
    width: 100%;
    max-height: 90vh;
    overflow: hidden;
    position: relative;
    transform: scale(0.8) translateY(50px);
    opacity: 0;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    box-shadow:
        0 25px 80px rgba(0, 0, 0, 0.5),
        0 0 100px rgba(255, 107, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 107, 0, 0.2);
}

.service-modal-overlay.active .service-modal {
    transform: scale(1) translateY(0);
    opacity: 1;
}

/* Modal animated border */
.service-modal::before {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: 26px;
    background: linear-gradient(
        135deg,
        rgba(255, 107, 0, 0.5) 0%,
        transparent 30%,
        transparent 70%,
        rgba(255, 107, 0, 0.5) 100%
    );
    z-index: -1;
    animation: modalBorderGlow 3s ease-in-out infinite;
}

@keyframes modalBorderGlow {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

/* Modal Header - Enhanced Visibility */
.modal-header {
    position: relative;
    padding: 35px 40px 25px;
    background: linear-gradient(180deg, #252525 0%, #1a1a1a 100%);
    border-bottom: 2px solid #FF6B00;
}

.modal-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg,
        #FF6B00,
        #FF8C3A,
        #FFB366,
        #FF8C3A,
        #FF6B00
    );
}

/* Close button - More Visible */
.modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    background: rgba(255, 107, 0, 0.15);
    border: 2px solid rgba(255, 107, 0, 0.4);
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: #FF6B00;
}

.modal-close:hover {
    background: #FF6B00;
    border-color: #FF6B00;
    color: white;
    transform: rotate(90deg) scale(1.1);
}

.modal-close svg {
    width: 22px;
    height: 22px;
    stroke-width: 2.5;
}

/* Modal Icon - Brighter */
.modal-icon {
    width: 72px;
    height: 72px;
    background: linear-gradient(135deg, #FF6B00 0%, #FF8C3A 100%);
    border: none;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    position: relative;
    box-shadow: 0 8px 30px rgba(255, 107, 0, 0.4);
}

.modal-icon::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 24px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.3) 0%, transparent 70%);
    animation: modalIconPulse 2s ease-in-out infinite;
}

@keyframes modalIconPulse {
    0%, 100% { transform: scale(1); opacity: 0.6; }
    50% { transform: scale(1.15); opacity: 1; }
}

.modal-icon img {
    width: 40px;
    height: 40px;
    filter: brightness(0) invert(1);
}

/* Dual Modal Icon (for combined services) */
.modal-icon.dual-modal-icon {
    width: 110px;
    gap: 8px;
}

.modal-icon.dual-modal-icon img {
    width: 35px;
    height: 35px;
}

.modal-icon.dual-modal-icon .icon-left {
    transform: translateX(3px);
}

.modal-icon.dual-modal-icon .icon-right {
    transform: translateX(-3px);
}

.modal-icon svg {
    width: 40px;
    height: 40px;
    color: white;
}

.modal-title {
    font-size: 30px;
    font-weight: 700;
    color: white;
    margin-bottom: 6px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.modal-title span {
    color: #FF8C3A;
}

.modal-subtitle {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 400;
}

/* Modal Body - Better Readability */
.modal-body {
    padding: 28px 40px 45px;
    overflow-y: auto;
    max-height: calc(90vh - 160px);
    background: #161616;
    scrollbar-width: thin;
    scrollbar-color: #FF6B00 #2a2a2a;
}

.modal-body::-webkit-scrollbar {
    width: 8px;
}

.modal-body::-webkit-scrollbar-track {
    background: #2a2a2a;
    border-radius: 4px;
}

.modal-body::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #FF6B00, #FF8C3A);
    border-radius: 4px;
}

.modal-body::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #FF8C3A, #FFa04a);
}

.modal-intro {
    font-size: 16px;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 107, 0, 0.2);
}

/* Benefits Grid - Improved Contrast */
.modal-benefits {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 25px;
}

.modal-benefit {
    background: #1e1e1e;
    border: 1px solid rgba(255, 107, 0, 0.15);
    border-radius: 14px;
    padding: 18px;
    transition: all 0.3s ease;
}

.modal-benefit:hover {
    background: #252525;
    border-color: rgba(255, 107, 0, 0.4);
    transform: translateY(-2px);
}

.modal-benefit-icon {
    width: 42px;
    height: 42px;
    background: linear-gradient(135deg, #FF6B00 0%, #FF8C3A 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.modal-benefit-icon svg {
    width: 20px;
    height: 20px;
    color: white;
}

.modal-benefit h5 {
    font-size: 15px;
    font-weight: 600;
    color: white;
    margin-bottom: 6px;
}

.modal-benefit p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.55;
}

/* Stats Row - Enhanced */
.modal-stats {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
    padding: 22px;
    background: linear-gradient(135deg, #252525 0%, #1a1a1a 100%);
    border-radius: 14px;
    border: 2px solid rgba(255, 107, 0, 0.25);
}

.modal-stat {
    flex: 1;
    text-align: center;
    position: relative;
}

.modal-stat:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 40px;
    width: 1px;
    background: rgba(255, 107, 0, 0.2);
}

.modal-stat-value {
    font-size: 32px;
    font-weight: 700;
    color: #FF6B00;
    display: block;
    margin-bottom: 4px;
}

.modal-stat-label {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Process Steps */
.modal-process {
    margin-bottom: 30px;
}

.modal-process-title {
    font-size: 18px;
    font-weight: 600;
    color: white;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.modal-process-title svg {
    width: 20px;
    height: 20px;
    color: #FF6B00;
}

.modal-steps {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.modal-step {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 14px 18px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.3s ease;
}

.modal-step:hover {
    background: rgba(255, 107, 0, 0.05);
    border-color: rgba(255, 107, 0, 0.15);
}

.modal-step-number {
    width: 28px;
    height: 28px;
    background: linear-gradient(135deg, #FF6B00 0%, #FF8C3A 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    color: white;
    flex-shrink: 0;
}

.modal-step span {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
}

/* CTA Section - Prominent Buttons */
.modal-cta {
    display: flex;
    gap: 15px;
    padding-top: 25px;
    padding-bottom: 35px;
    margin-top: 10px;
    margin-bottom: 15px;
    border-top: 2px solid rgba(255, 107, 0, 0.2);
}

.modal-cta .btn {
    flex: 1;
    padding: 16px 28px;
    font-size: 15px;
    font-weight: 700;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.modal-cta .btn-primary {
    background: linear-gradient(135deg, #FF6B00 0%, #FF8C3A 100%);
    color: white;
    border: none;
    box-shadow: 0 6px 25px rgba(255, 107, 0, 0.4);
}

.modal-cta .btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 35px rgba(255, 107, 0, 0.5);
    background: linear-gradient(135deg, #FF7A1A 0%, #FFA04A 100%);
}

.modal-cta .btn-outline {
    background: rgba(255, 107, 0, 0.1);
    color: #FF8C3A;
    border: 2px solid rgba(255, 107, 0, 0.4);
}

.modal-cta .btn-outline:hover {
    background: rgba(255, 107, 0, 0.2);
    border-color: #FF6B00;
    color: white;
}

/* Decorative elements */
.modal-decoration {
    position: absolute;
    pointer-events: none;
}

.modal-decoration.top-right {
    top: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.15) 0%, transparent 70%);
    border-radius: 50%;
}

.modal-decoration.bottom-left {
    bottom: -30px;
    left: -30px;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.1) 0%, transparent 70%);
    border-radius: 50%;
}

/* Responsive */
@media (max-width: 768px) {
    .service-modal {
        max-width: 100%;
        max-height: 95vh;
        border-radius: 20px 20px 0 0;
        margin-top: auto;
    }

    .service-modal-overlay {
        align-items: flex-end;
        padding: 0;
    }

    .modal-header {
        padding: 30px 25px 20px;
    }

    .modal-body {
        padding: 20px 25px 30px;
    }

    .modal-title {
        font-size: 24px;
    }

    .modal-benefits {
        grid-template-columns: 1fr;
    }

    .modal-stats {
        flex-wrap: wrap;
    }

    .modal-stat {
        flex: 1 1 45%;
    }

    .modal-stat:not(:last-child)::after {
        display: none;
    }

    .modal-cta {
        flex-direction: column;
    }

    .modal-icon {
        width: 64px;
        height: 64px;
    }

    .modal-icon img,
    .modal-icon svg {
        width: 35px;
        height: 35px;
    }
}

/* ============================================
   PROCESS MODAL ENHANCEMENTS
   ============================================ */

/* Process Modal Structure - Sticky CTA */
.process-modal {
    display: flex;
    flex-direction: column;
    max-height: 90vh;
}

.process-modal .modal-header {
    flex-shrink: 0;
}

.process-modal .modal-body {
    flex: 1;
    overflow-y: auto;
    padding-bottom: 20px;
}

/* Step Badge */
.modal-step-badge {
    position: absolute;
    top: 20px;
    left: 40px;
    background: linear-gradient(135deg, #FF6B00 0%, #FF8C3A 100%);
    color: white;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    box-shadow: 0 4px 15px rgba(255, 107, 0, 0.4);
    animation: badgePulse 2s ease-in-out infinite;
}

@keyframes badgePulse {
    0%, 100% {
        box-shadow: 0 4px 15px rgba(255, 107, 0, 0.4);
    }
    50% {
        box-shadow: 0 4px 25px rgba(255, 107, 0, 0.6);
    }
}

/* Process Modal Icon Enhancement */
.process-modal .modal-icon {
    background: linear-gradient(135deg, #1a1a1a 0%, #252525 100%);
    border: 2px solid #FF6B00;
    box-shadow:
        0 8px 30px rgba(255, 107, 0, 0.3),
        inset 0 0 20px rgba(255, 107, 0, 0.1);
}

.process-modal .modal-icon svg {
    color: #FF6B00;
    stroke: #FF6B00;
    width: 36px;
    height: 36px;
}

/* Process Modal Header Enhancement */
.process-modal .modal-header {
    padding-top: 55px;
}

/* Process Modal Title Enhancement */
.process-modal .modal-title span {
    background: linear-gradient(135deg, #FF6B00 0%, #FFB366 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Process Modal Intro Text */
.process-modal .modal-intro {
    font-size: 16px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.85);
    border-left: 3px solid #FF6B00;
    padding-left: 20px;
    margin-bottom: 35px;
}

/* Process Modal Benefits Grid Enhancement */
.process-modal .modal-benefits {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 35px;
}

.process-modal .modal-benefit {
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.08) 0%, rgba(255, 107, 0, 0.02) 100%);
    border: 1px solid rgba(255, 107, 0, 0.15);
    border-radius: 16px;
    padding: 24px;
    transition: all 0.3s ease;
}

.process-modal .modal-benefit:hover {
    border-color: rgba(255, 107, 0, 0.4);
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(255, 107, 0, 0.15);
}

.process-modal .modal-benefit-icon {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #FF6B00 0%, #FF8C3A 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    box-shadow: 0 4px 15px rgba(255, 107, 0, 0.3);
}

.process-modal .modal-benefit-icon svg {
    width: 24px;
    height: 24px;
    color: white;
    stroke: white;
}

.process-modal .modal-benefit h5 {
    font-size: 16px;
    font-weight: 700;
    color: white;
    margin-bottom: 8px;
}

.process-modal .modal-benefit p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
    margin: 0;
}

/* Process Modal Stats Enhancement */
.process-modal .modal-stats {
    display: flex;
    justify-content: center;
    gap: 40px;
    padding: 30px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.1) 0%, rgba(255, 107, 0, 0.03) 100%);
    border-radius: 16px;
    border: 1px solid rgba(255, 107, 0, 0.2);
    margin-bottom: 35px;
}

.process-modal .modal-stat {
    text-align: center;
    position: relative;
}

.process-modal .modal-stat:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 40px;
    background: rgba(255, 107, 0, 0.3);
}

.process-modal .modal-stat-value {
    display: block;
    font-size: 32px;
    font-weight: 800;
    color: #FF6B00;
    line-height: 1;
    margin-bottom: 8px;
}

.process-modal .modal-stat-label {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Process Modal Steps Enhancement */
.process-modal .modal-process {
    background: linear-gradient(135deg, rgba(26, 26, 26, 0.8) 0%, rgba(13, 13, 13, 0.8) 100%);
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 16px;
    padding: 25px 30px;
    margin-bottom: 30px;
}

.process-modal .modal-process-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    font-weight: 700;
    color: white;
    margin-bottom: 20px;
}

.process-modal .modal-process-title svg {
    width: 22px;
    height: 22px;
    color: #FF6B00;
    stroke: #FF6B00;
}

.process-modal .modal-steps {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.process-modal .modal-step {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 12px 15px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 10px;
    transition: all 0.3s ease;
}

.process-modal .modal-step:hover {
    background: rgba(255, 107, 0, 0.08);
}

.process-modal .modal-step-number {
    min-width: 28px;
    height: 28px;
    background: linear-gradient(135deg, #FF6B00 0%, #FF8C3A 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    color: white;
    flex-shrink: 0;
}

.process-modal .modal-step span {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
    padding-top: 4px;
}

/* Process Modal CTA - Fixed at Bottom */
.process-modal .modal-cta {
    flex-shrink: 0;
    text-align: center;
    padding: 20px 40px 30px;
    background: linear-gradient(180deg, rgba(13, 13, 13, 0) 0%, #0d0d0d 15%, #0d0d0d 100%);
    border-top: 1px solid rgba(255, 107, 0, 0.2);
}

.process-modal .modal-cta .btn {
    padding: 16px 60px;
    font-size: 16px;
    font-weight: 600;
    box-shadow: 0 8px 30px rgba(255, 107, 0, 0.4);
}

/* Process Modal Responsive */
@media (max-width: 768px) {
    .modal-step-badge {
        left: 25px;
        font-size: 10px;
        padding: 5px 12px;
    }

    .process-modal .modal-header {
        padding-top: 50px;
    }

    .process-modal .modal-benefits {
        grid-template-columns: 1fr;
    }

    .process-modal .modal-stats {
        flex-wrap: wrap;
        gap: 20px;
        padding: 20px;
    }

    .process-modal .modal-stat:not(:last-child)::after {
        display: none;
    }

    .process-modal .modal-stat-value {
        font-size: 26px;
    }

    .process-modal .modal-intro {
        font-size: 14px;
        padding-left: 15px;
    }
}

/* ============================================
   CERTIFICATIONS CLOCK ANIMATION - ENHANCED
   ============================================ */

.certs-clock-section,
.certs-cube-section {
    overflow: hidden;
    background: linear-gradient(180deg, #f5f5f5 0%, #e8e8e8 100%);
    padding: 80px 0 120px;
}

/* Split Layout for Certs + Cube */
.certs-cube-split {
    display: flex;
    gap: 300px; /* Large gap to prevent overlap */
    align-items: center;
    margin-top: 40px;
    justify-content: space-between;
}

.certs-cube-split .split-left {
    flex: 0 0 48%;
    max-width: 48%;
    margin-left: -60px; /* Push clock more to the left */
}

.certs-cube-split .split-right {
    flex: 0 0 40%;
    max-width: 40%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 60px 80px;
    margin-right: 20px;
}

.certs-cube-split .certs-clock-container {
    max-width: 100%;
    height: auto;
    aspect-ratio: 1;
    margin: 0;
    margin-right: auto; /* Push clock container to the left */
    /* Add padding to contain the cert cards within bounds */
    padding: 120px;
    box-sizing: content-box;
}

/* Cube section header in split */
.cube-section-header {
    text-align: center;
    margin-bottom: 50px;
}

.cube-section-header h3 {
    font-size: 28px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 8px;
}

.cube-section-header h3 span {
    background: linear-gradient(135deg, var(--primary-orange), #ff8533);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.cube-section-header p {
    color: #666;
    font-size: 14px;
}

/* Cube logo styling */
.cube-logo {
    width: 80px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 0 10px rgba(255, 107, 0, 0.3));
}

.values-cube-face .cube-face-icon img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

/* Remove background when using logo image */
.values-cube-face .cube-face-icon:has(.cube-logo) {
    background: transparent;
    border: none;
}

/* Adjust cube size in split layout */
.certs-cube-split .values-cube-container {
    height: 320px;
    margin: 20px 0;
}

.certs-cube-split .values-cube-wrapper {
    width: 280px;
    height: 280px;
}

.certs-cube-split .values-cube-face {
    width: 280px;
    height: 280px;
    padding: 25px;
}

.certs-cube-split .values-cube-face.front { transform: translateZ(140px); }
.certs-cube-split .values-cube-face.back { transform: rotateY(180deg) translateZ(140px); }
.certs-cube-split .values-cube-face.right { transform: rotateY(90deg) translateZ(140px); }
.certs-cube-split .values-cube-face.left { transform: rotateY(-90deg) translateZ(140px); }
.certs-cube-split .values-cube-face.top { transform: rotateX(90deg) translateZ(140px); }
.certs-cube-split .values-cube-face.bottom { transform: rotateX(-90deg) translateZ(140px); }

.certs-cube-split .values-cube-face h4 {
    font-size: 20px;
    margin-bottom: 12px;
}

.certs-cube-split .values-cube-face p {
    font-size: 13px;
    line-height: 1.6;
}

.certs-cube-split .cube-face-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 18px;
}

.certs-cube-split .cube-face-icon svg {
    width: 30px;
    height: 30px;
}

/* Responsive Split Layout */
@media (max-width: 1200px) {
    .certs-cube-split {
        gap: 200px;
    }

    .certs-cube-split .split-left {
        flex: 0 0 50%;
        max-width: 50%;
        margin-left: -40px;
    }

    .certs-cube-split .split-right {
        flex: 0 0 38%;
        max-width: 38%;
        padding: 40px 40px;
        margin-right: 10px;
    }

    .certs-cube-split .values-cube-wrapper {
        width: 240px;
        height: 240px;
    }

    .certs-cube-split .values-cube-face {
        width: 240px;
        height: 240px;
        padding: 20px;
    }

    .certs-cube-split .values-cube-face.front { transform: translateZ(120px); }
    .certs-cube-split .values-cube-face.back { transform: rotateY(180deg) translateZ(120px); }
    .certs-cube-split .values-cube-face.right { transform: rotateY(90deg) translateZ(120px); }
    .certs-cube-split .values-cube-face.left { transform: rotateY(-90deg) translateZ(120px); }
    .certs-cube-split .values-cube-face.top { transform: rotateX(90deg) translateZ(120px); }
    .certs-cube-split .values-cube-face.bottom { transform: rotateX(-90deg) translateZ(120px); }

    .certs-cube-split .values-cube-container {
        height: 280px;
    }

    .certs-cube-split .values-cube-face h4 {
        font-size: 18px;
    }

    .certs-cube-split .values-cube-face p {
        font-size: 12px;
    }
}

@media (max-width: 992px) {
    .certs-cube-split {
        flex-direction: column;
        gap: 80px;
    }

    .certs-cube-split .split-left,
    .certs-cube-split .split-right {
        flex: 0 0 100%;
        max-width: 100%;
        margin-left: 0;
        padding: 20px;
    }

    .certs-cube-split .certs-clock-container {
        max-width: 600px;
        margin: 0 auto;
        padding: 100px;
    }

    .certs-cube-split .values-cube-wrapper {
        width: 300px;
        height: 300px;
    }

    .certs-cube-split .values-cube-face {
        width: 300px;
        height: 300px;
        padding: 30px;
    }

    .certs-cube-split .values-cube-face.front { transform: translateZ(150px); }
    .certs-cube-split .values-cube-face.back { transform: rotateY(180deg) translateZ(150px); }
    .certs-cube-split .values-cube-face.right { transform: rotateY(90deg) translateZ(150px); }
    .certs-cube-split .values-cube-face.left { transform: rotateY(-90deg) translateZ(150px); }
    .certs-cube-split .values-cube-face.top { transform: rotateX(90deg) translateZ(150px); }
    .certs-cube-split .values-cube-face.bottom { transform: rotateX(-90deg) translateZ(150px); }

    .certs-cube-split .values-cube-container {
        height: 350px;
    }

    .cube-section-header h3 {
        font-size: 32px;
    }
}

@media (max-width: 600px) {
    /* Mobile: Convert clock layout to simple grid */
    .certs-cube-section {
        padding: 50px 15px 60px !important;
    }

    .certs-cube-split {
        gap: 40px;
    }

    .certs-cube-split .split-left {
        padding: 0 !important;
    }

    .certs-cube-split .certs-clock-container {
        max-width: 100% !important;
        padding: 0 !important;
        height: auto !important;
        aspect-ratio: unset !important;
        display: block !important;
        position: static !important;
    }

    /* Hide all decorative clock elements */
    .certs-cube-split .certs-clock-ring,
    .certs-cube-split .certs-clock-ring.ring-2,
    .certs-cube-split .certs-clock-ring.ring-3,
    .certs-cube-split .cert-connections,
    .certs-cube-split .certs-clock-center,
    .certs-cube-split .cert-particles,
    .certs-cube-split .clock-ticks,
    .certs-cube-split .cert-click-hint,
    .certs-cube-split .clock-center-glow,
    .certs-cube-split .clock-center-rings,
    .certs-cube-split .center-logo,
    .certs-cube-split .orbit-dots {
        display: none !important;
        visibility: hidden !important;
    }

    /* Make orbit container a grid instead of absolute positioning */
    .certs-cube-split .certs-clock-orbit {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        animation: none !important;
        transform: none !important;
    }

    /* Reset cert card positioning for grid */
    .certs-cube-split .cert-card-clock,
    .certs-cube-split .cert-card-clock[data-position="0"],
    .certs-cube-split .cert-card-clock[data-position="1"],
    .certs-cube-split .cert-card-clock[data-position="2"],
    .certs-cube-split .cert-card-clock[data-position="3"] {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        padding: 20px 15px !important;
        border-radius: 16px !important;
        margin: 0 !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        animation: none !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        background: linear-gradient(145deg, #ffffff 0%, #f5f5f5 100%) !important;
        border: 2px solid rgba(255, 107, 0, 0.2) !important;
    }

    .certs-cube-split .cert-card-clock .cert-icon {
        width: 100px !important;
        height: 100px !important;
        margin: 0 auto 15px !important;
        position: relative !important;
        background: rgba(255, 107, 0, 0.08) !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .certs-cube-split .cert-card-clock .cert-icon img {
        width: 70px !important;
        height: 70px !important;
        object-fit: contain !important;
    }

    .certs-cube-split .cert-card-clock h5 {
        font-size: 14px !important;
        margin-bottom: 6px !important;
        color: #1a1a1a !important;
        font-weight: 700 !important;
    }

    .certs-cube-split .cert-card-clock > p {
        font-size: 12px !important;
        display: block !important;
        color: rgba(0, 0, 0, 0.6) !important;
    }

    .certs-cube-split .cert-card-glow,
    .certs-cube-split .cert-card-clock .icon-ring {
        display: none !important;
    }

    /* Tooltip as modal */
    .certs-cube-split .cert-tooltip {
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) scale(0.95) !important;
        width: calc(100vw - 40px) !important;
        max-width: 320px !important;
        z-index: 9999 !important;
    }

    .certs-cube-split .cert-card-clock.tooltip-active .cert-tooltip {
        transform: translate(-50%, -50%) scale(1) !important;
    }

    .certs-cube-split .tooltip-arrow {
        display: none !important;
    }

    /* Cube adjustments */
    .certs-cube-split .values-cube-wrapper {
        width: 220px;
        height: 220px;
    }

    .certs-cube-split .values-cube-face {
        width: 220px;
        height: 220px;
        padding: 20px;
    }

    .certs-cube-split .values-cube-face.front { transform: translateZ(110px); }
    .certs-cube-split .values-cube-face.back { transform: rotateY(180deg) translateZ(110px); }
    .certs-cube-split .values-cube-face.right { transform: rotateY(90deg) translateZ(110px); }
    .certs-cube-split .values-cube-face.left { transform: rotateY(-90deg) translateZ(110px); }
    .certs-cube-split .values-cube-face.top { transform: rotateX(90deg) translateZ(110px); }
    .certs-cube-split .values-cube-face.bottom { transform: rotateX(-90deg) translateZ(110px); }

    .certs-cube-split .values-cube-container {
        height: 260px;
    }

    .cube-section-header h3 {
        font-size: 24px;
    }
}

/* Very small screens - 480px and below */
@media (max-width: 480px) {
    .certs-cube-split {
        gap: 30px;
    }

    .certs-cube-split .cert-card-clock {
        padding: 15px 12px;
    }

    .certs-cube-split .cert-card-clock .cert-icon {
        width: 50px;
        height: 50px;
    }

    .certs-cube-split .cert-card-clock .cert-icon img {
        width: 30px;
        height: 30px;
    }

    .certs-cube-split .cert-card-clock h5 {
        font-size: 11px;
    }

    .certs-cube-split .cert-card-clock > p {
        font-size: 9px;
    }

    .certs-cube-split .values-cube-wrapper {
        width: 200px;
        height: 200px;
    }

    .certs-cube-split .values-cube-face {
        width: 200px;
        height: 200px;
        padding: 15px;
    }

    .certs-cube-split .values-cube-face.front { transform: translateZ(100px); }
    .certs-cube-split .values-cube-face.back { transform: rotateY(180deg) translateZ(100px); }
    .certs-cube-split .values-cube-face.right { transform: rotateY(90deg) translateZ(100px); }
    .certs-cube-split .values-cube-face.left { transform: rotateY(-90deg) translateZ(100px); }
    .certs-cube-split .values-cube-face.top { transform: rotateX(90deg) translateZ(100px); }
    .certs-cube-split .values-cube-face.bottom { transform: rotateX(-90deg) translateZ(100px); }

    .certs-cube-split .values-cube-container {
        height: 240px;
    }

    .certs-cube-split .values-cube-face h4 {
        font-size: 16px;
        margin-bottom: 8px;
    }

    .certs-cube-split .values-cube-face p {
        font-size: 11px;
        line-height: 1.4;
    }

    .certs-cube-split .cube-face-icon {
        width: 45px;
        height: 45px;
        margin-bottom: 12px;
    }

    .cube-section-header h3 {
        font-size: 22px;
    }

    .cube-section-header p {
        font-size: 12px;
    }
}

/* Extra small screens - 400px and below */
@media (max-width: 400px) {
    .certs-cube-split .certs-clock-container {
        gap: 10px;
    }

    .certs-cube-split .cert-card-clock {
        padding: 12px 10px;
        border-radius: 12px;
    }

    .certs-cube-split .cert-card-clock .cert-icon {
        width: 45px;
        height: 45px;
        margin-bottom: 8px;
    }

    .certs-cube-split .cert-card-clock h5 {
        font-size: 10px;
    }

    .certs-cube-split .values-cube-wrapper {
        width: 180px;
        height: 180px;
    }

    .certs-cube-split .values-cube-face {
        width: 180px;
        height: 180px;
        padding: 12px;
    }

    .certs-cube-split .values-cube-face.front { transform: translateZ(90px); }
    .certs-cube-split .values-cube-face.back { transform: rotateY(180deg) translateZ(90px); }
    .certs-cube-split .values-cube-face.right { transform: rotateY(90deg) translateZ(90px); }
    .certs-cube-split .values-cube-face.left { transform: rotateY(-90deg) translateZ(90px); }
    .certs-cube-split .values-cube-face.top { transform: rotateX(90deg) translateZ(90px); }
    .certs-cube-split .values-cube-face.bottom { transform: rotateX(-90deg) translateZ(90px); }

    .certs-cube-split .values-cube-container {
        height: 220px;
    }
}

.certs-clock-container {
    position: relative;
    width: 100%;
    max-width: 950px;
    height: 950px;
    margin: 60px auto 0;
}

/* Animated Particles */
.cert-particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.cert-particles .particle {
    position: absolute;
    width: 6px;
    height: 6px;
    background: #FF6B00;
    border-radius: 50%;
    opacity: 0;
    animation: particleFloat 8s ease-in-out infinite;
}

.cert-particles .particle:nth-child(1) { top: 10%; left: 20%; animation-delay: 0s; }
.cert-particles .particle:nth-child(2) { top: 20%; right: 15%; animation-delay: 1s; }
.cert-particles .particle:nth-child(3) { top: 60%; left: 10%; animation-delay: 2s; }
.cert-particles .particle:nth-child(4) { top: 80%; right: 20%; animation-delay: 3s; }
.cert-particles .particle:nth-child(5) { top: 30%; left: 85%; animation-delay: 4s; }
.cert-particles .particle:nth-child(6) { top: 70%; left: 85%; animation-delay: 5s; }
.cert-particles .particle:nth-child(7) { top: 15%; left: 50%; animation-delay: 6s; }
.cert-particles .particle:nth-child(8) { top: 85%; left: 50%; animation-delay: 7s; }

@keyframes particleFloat {
    0%, 100% { opacity: 0; transform: translateY(0) scale(0); }
    10% { opacity: 0.8; transform: translateY(-10px) scale(1); }
    50% { opacity: 0.4; transform: translateY(-30px) scale(0.8); }
    90% { opacity: 0.8; transform: translateY(-50px) scale(1); }
    100% { opacity: 0; transform: translateY(-60px) scale(0); }
}

/* Clock rings - Enhanced */
.certs-clock-ring {
    position: absolute;
    width: 680px;
    height: 680px;
    border: 3px solid rgba(255, 107, 0, 0.3);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: ringPulse 4s ease-in-out infinite;
    z-index: 1;
    pointer-events: none;
}

.certs-clock-ring.ring-2 {
    width: 560px;
    height: 560px;
    border-width: 2px;
    border-color: rgba(255, 107, 0, 0.2);
    border-style: dashed;
    animation: ringRotateSlow 60s linear infinite;
}

.certs-clock-ring.ring-3 {
    width: 440px;
    height: 440px;
    border-width: 1px;
    border-color: rgba(255, 107, 0, 0.15);
    border-style: dotted;
    animation: ringRotateSlow 45s linear infinite reverse;
}

@keyframes ringPulse {
    0%, 100% { opacity: 0.6; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: 1; transform: translate(-50%, -50%) scale(1.02); }
}

@keyframes ringRotateSlow {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* SVG Connections */
.cert-connections {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 1;
}

.cert-connections .connection-orbit {
    fill: none;
    stroke: rgba(255, 107, 0, 0.15);
    stroke-width: 2;
    stroke-dasharray: 10 5;
    animation: dashRotate 30s linear infinite;
}

@keyframes dashRotate {
    0% { stroke-dashoffset: 0; }
    100% { stroke-dashoffset: 1000; }
}

.cert-connections .energy-path {
    fill: none;
    stroke: url(#lineGradient);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-dasharray: 150;
    stroke-dashoffset: 150;
    opacity: 0;
    animation: energyPulse 6s ease-in-out infinite;
}

.cert-connections .path-1 { animation-delay: 0s; }
.cert-connections .path-2 { animation-delay: 1.5s; }
.cert-connections .path-3 { animation-delay: 3s; }
.cert-connections .path-4 { animation-delay: 4.5s; }

@keyframes energyPulse {
    0% { stroke-dashoffset: 150; opacity: 0; }
    20% { opacity: 1; }
    50% { stroke-dashoffset: 0; opacity: 1; }
    80% { opacity: 1; }
    100% { stroke-dashoffset: -150; opacity: 0; }
}

/* Clock center with logo - Enhanced */
.certs-clock-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 160px;
    height: 160px;
    background: linear-gradient(135deg, #1a1a1a 0%, #0d0d0d 100%);
    border: 4px solid #FF6B00;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    box-shadow:
        0 0 0 8px rgba(255, 107, 0, 0.1),
        0 0 0 16px rgba(255, 107, 0, 0.05),
        0 20px 60px rgba(0, 0, 0, 0.4);
}

.certs-clock-center .center-logo {
    width: 100px;
    height: auto;
    object-fit: contain;
    z-index: 2;
    animation: logoFloat 4s ease-in-out infinite;
}

@keyframes logoFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

/* Center rings animation */
.clock-center-rings {
    position: absolute;
    inset: -30px;
    pointer-events: none;
}

.clock-center-rings span {
    position: absolute;
    inset: 0;
    border: 2px solid transparent;
    border-top-color: #FF6B00;
    border-radius: 50%;
    animation: centerRingSpin 3s linear infinite;
}

.clock-center-rings span:nth-child(2) {
    inset: 10px;
    animation-duration: 2.5s;
    animation-direction: reverse;
    border-top-color: transparent;
    border-right-color: #FF6B00;
}

.clock-center-rings span:nth-child(3) {
    inset: 20px;
    animation-duration: 2s;
    border-top-color: transparent;
    border-bottom-color: #FF6B00;
}

@keyframes centerRingSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.certs-clock-section .clock-center-glow {
    position: absolute;
    inset: -40px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.4) 0%, transparent 70%);
    border-radius: 50%;
    animation: clockCenterPulse 3s ease-in-out infinite;
    z-index: 1;
}

@keyframes clockCenterPulse {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.15); }
}

/* Clock tick marks - Enhanced */
.certs-clock-section .clock-ticks {
    position: absolute;
    width: 720px;
    height: 720px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    pointer-events: none;
}

.certs-clock-section .clock-ticks .tick {
    position: absolute;
    width: 6px;
    height: 30px;
    background: linear-gradient(180deg, #FF6B00 0%, rgba(255, 107, 0, 0.3) 100%);
    border-radius: 3px;
    box-shadow: 0 0 15px rgba(255, 107, 0, 0.6);
    animation: tickGlow 2s ease-in-out infinite;
}

.certs-clock-section .tick-12 { top: 0; left: 50%; transform: translateX(-50%); animation-delay: 0s; }
.certs-clock-section .tick-3 { top: 50%; right: 0; transform: translateY(-50%) rotate(90deg); animation-delay: 0.5s; }
.certs-clock-section .tick-6 { bottom: 0; left: 50%; transform: translateX(-50%); animation-delay: 1s; }
.certs-clock-section .tick-9 { top: 50%; left: 0; transform: translateY(-50%) rotate(90deg); animation-delay: 1.5s; }

@keyframes tickGlow {
    0%, 100% { box-shadow: 0 0 15px rgba(255, 107, 0, 0.6); }
    50% { box-shadow: 0 0 30px rgba(255, 107, 0, 1), 0 0 50px rgba(255, 107, 0, 0.5); }
}

/* Orbit container - rotates the whole thing */
.certs-clock-orbit {
    position: absolute;
    width: 680px;
    height: 680px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: certsClockRotate 30s linear infinite;
    z-index: 20;
}

@keyframes certsClockRotate {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Floating orbit dots */
.orbit-dots {
    position: absolute;
    width: 630px;
    height: 630px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: certsClockRotate 20s linear infinite reverse;
    z-index: 1;
    pointer-events: none;
}

.orbit-dot {
    position: absolute;
    width: 10px;
    height: 10px;
    background: #FF6B00;
    border-radius: 50%;
    box-shadow: 0 0 20px rgba(255, 107, 0, 0.8);
    animation: dotPulse 2s ease-in-out infinite;
    animation-delay: var(--delay);
}

.orbit-dot:nth-child(1) { top: 0; left: 50%; transform: translateX(-50%); }
.orbit-dot:nth-child(2) { top: 50%; right: 0; transform: translateY(-50%); }
.orbit-dot:nth-child(3) { bottom: 0; left: 50%; transform: translateX(-50%); }
.orbit-dot:nth-child(4) { top: 50%; left: 0; transform: translateY(-50%); }

@keyframes dotPulse {
    0%, 100% { transform: translateX(-50%) scale(1); opacity: 0.6; }
    50% { transform: translateX(-50%) scale(1.5); opacity: 1; }
}

.orbit-dot:nth-child(2), .orbit-dot:nth-child(4) {
    animation-name: dotPulseY;
}

@keyframes dotPulseY {
    0%, 100% { transform: translateY(-50%) scale(1); opacity: 0.6; }
    50% { transform: translateY(-50%) scale(1.5); opacity: 1; }
}

/* Individual cert cards - Enhanced and Larger */
.cert-card-clock {
    position: absolute;
    width: 220px;
    background: linear-gradient(145deg, #ffffff 0%, #f5f5f5 100%);
    border: 3px solid rgba(255, 107, 0, 0.3);
    border-radius: 24px;
    padding: 30px 20px;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow:
        0 15px 50px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    animation: certsCounterRotate 30s linear infinite;
    cursor: pointer;
    overflow: visible;
    z-index: 25;
}

.cert-card-clock::before {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: 22px;
    background: rgba(255, 107, 0, 0.15);
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.cert-card-clock:hover::before,
.cert-card-clock.tooltip-active::before {
    opacity: 0; /* Keep white, no orange glow */
}

.cert-card-clock:hover,
.cert-card-clock.tooltip-active {
    transform: rotate(var(--counter-rotation, 0deg)) scale(1.12);
    background: #ffffff;
    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.2),
        0 0 0 2px rgba(255, 107, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 1);
}

/* Card glow effect - subtle */
.cert-card-glow {
    position: absolute;
    inset: -15px;
    background: radial-gradient(circle, rgba(0, 0, 0, 0.05) 0%, transparent 70%);
    border-radius: 30px;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.cert-card-clock:hover .cert-card-glow,
.cert-card-clock.tooltip-active .cert-card-glow {
    opacity: 1;
    animation: none;
}

@keyframes cardGlowPulse {
    0%, 100% { transform: scale(1); opacity: 0.5; }
    50% { transform: scale(1.1); opacity: 1; }
}

@keyframes certsCounterRotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(-360deg); }
}

/* Position cards at clock positions - Larger offset */
.cert-card-clock[data-position="0"] {
    top: -110px;
    left: 50%;
    margin-left: -110px;
}

.cert-card-clock[data-position="1"] {
    top: 50%;
    right: -110px;
    margin-top: -120px;
    left: auto;
}

.cert-card-clock[data-position="2"] {
    bottom: -110px;
    left: 50%;
    margin-left: -110px;
    top: auto;
}

.cert-card-clock[data-position="3"] {
    top: 50%;
    left: -110px;
    margin-top: -120px;
}

/* Card icon with ring */
.cert-card-clock .cert-icon {
    width: 120px;
    height: 120px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.cert-card-clock .cert-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
}

.cert-card-clock:hover .cert-icon img {
    transform: none; /* No image scaling on hover */
}

.cert-card-clock .icon-ring {
    position: absolute;
    inset: -10px;
    border: 2px solid rgba(255, 107, 0, 0.3);
    border-radius: 50%;
    animation: iconRingSpin 8s linear infinite;
}

.cert-card-clock:hover .icon-ring {
    border-color: #FF6B00;
    animation-duration: 3s;
}

@keyframes iconRingSpin {
    0% { transform: rotate(0deg); border-color: rgba(255, 107, 0, 0.3); }
    50% { border-color: rgba(255, 107, 0, 0.6); }
    100% { transform: rotate(360deg); border-color: rgba(255, 107, 0, 0.3); }
}

.cert-card-clock h5 {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 10px;
    transition: color 0.3s ease;
}

.cert-card-clock:hover h5 {
    color: #FF6B00;
}

.cert-card-clock > p {
    font-size: 13px;
    color: rgba(0, 0, 0, 0.6);
    line-height: 1.5;
    margin: 0;
}

/* Tooltip Styles */
.cert-tooltip {
    position: absolute;
    width: 280px;
    background: linear-gradient(145deg, #1a1a1a 0%, #0d0d0d 100%);
    border: 2px solid #FF6B00;
    border-radius: 16px;
    padding: 24px;
    text-align: left;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px) scale(0.95);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 100;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.4),
        0 0 30px rgba(255, 107, 0, 0.2);
    pointer-events: none;
}

/* Tooltip positioning based on card position */
.cert-card-clock[data-position="0"] .cert-tooltip {
    top: calc(100% + 15px);
    left: 50%;
    transform: translateX(-50%) translateY(10px) scale(0.95);
}

.cert-card-clock[data-position="0"].tooltip-active .cert-tooltip {
    transform: translateX(-50%) translateY(0) scale(1);
}

.cert-card-clock[data-position="1"] .cert-tooltip {
    top: 50%;
    right: calc(100% + 15px);
    left: auto;
    transform: translateY(-50%) translateX(10px) scale(0.95);
}

.cert-card-clock[data-position="1"].tooltip-active .cert-tooltip {
    transform: translateY(-50%) translateX(0) scale(1);
}

.cert-card-clock[data-position="2"] .cert-tooltip {
    bottom: calc(100% + 15px);
    top: auto;
    left: 50%;
    transform: translateX(-50%) translateY(-10px) scale(0.95);
}

.cert-card-clock[data-position="2"].tooltip-active .cert-tooltip {
    transform: translateX(-50%) translateY(0) scale(1);
}

.cert-card-clock[data-position="3"] .cert-tooltip {
    top: 50%;
    left: calc(100% + 15px);
    transform: translateY(-50%) translateX(-10px) scale(0.95);
}

.cert-card-clock[data-position="3"].tooltip-active .cert-tooltip {
    transform: translateY(-50%) translateX(0) scale(1);
}

.cert-card-clock.tooltip-active .cert-tooltip {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.tooltip-arrow {
    position: absolute;
    width: 16px;
    height: 16px;
    background: #1a1a1a;
    border: 2px solid #FF6B00;
    transform: rotate(45deg);
}

.cert-card-clock[data-position="0"] .tooltip-arrow {
    top: -10px;
    left: 50%;
    margin-left: -8px;
    border-right: none;
    border-bottom: none;
}

.cert-card-clock[data-position="1"] .tooltip-arrow {
    right: -10px;
    top: 50%;
    margin-top: -8px;
    border-left: none;
    border-bottom: none;
}

.cert-card-clock[data-position="2"] .tooltip-arrow {
    bottom: -10px;
    left: 50%;
    margin-left: -8px;
    border-left: none;
    border-top: none;
}

.cert-card-clock[data-position="3"] .tooltip-arrow {
    left: -10px;
    top: 50%;
    margin-top: -8px;
    border-right: none;
    border-top: none;
}

.cert-tooltip h6 {
    font-size: 16px;
    font-weight: 700;
    color: #FF6B00;
    margin-bottom: 12px;
}

.cert-tooltip > p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
    margin-bottom: 16px;
}

.cert-tooltip ul {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}

.cert-tooltip ul li {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
    padding: 6px 0 6px 20px;
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.cert-tooltip ul li:last-child {
    border-bottom: none;
}

.cert-tooltip ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background: #FF6B00;
    border-radius: 50%;
}

.tooltip-badge {
    display: inline-block;
    background: linear-gradient(135deg, #FF6B00 0%, #ff9500 100%);
    color: white;
    font-size: 11px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Click Hint */
.cert-click-hint {
    position: absolute;
    bottom: -50px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: rgba(0, 0, 0, 0.5);
    animation: hintPulse 2s ease-in-out infinite;
    z-index: 30;
}

.cert-click-hint .hint-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cert-click-hint .hint-icon svg {
    width: 100%;
    height: 100%;
    stroke: #FF6B00;
}

@keyframes hintPulse {
    0%, 100% { opacity: 0.5; transform: translateX(-50%) translateY(0); }
    50% { opacity: 1; transform: translateX(-50%) translateY(-3px); }
}

/* Responsive */
@media (max-width: 900px) {
    .certs-clock-container {
        height: 700px;
        max-width: 700px;
    }

    .certs-clock-ring {
        width: 480px;
        height: 480px;
    }

    .certs-clock-ring.ring-2 {
        width: 400px;
        height: 400px;
    }

    .certs-clock-ring.ring-3 {
        width: 320px;
        height: 320px;
    }

    .certs-clock-orbit {
        width: 480px;
        height: 480px;
    }

    .orbit-dots {
        width: 440px;
        height: 440px;
    }

    .certs-clock-section .clock-ticks {
        width: 520px;
        height: 520px;
    }

    .cert-card-clock {
        width: 180px;
        padding: 22px 16px;
    }

    .cert-card-clock[data-position="0"] {
        top: -90px;
        margin-left: -90px;
    }

    .cert-card-clock[data-position="1"] {
        right: -90px;
        margin-top: -100px;
    }

    .cert-card-clock[data-position="2"] {
        bottom: -90px;
        margin-left: -90px;
    }

    .cert-card-clock[data-position="3"] {
        left: -90px;
        margin-top: -100px;
    }

    .cert-card-clock .cert-icon {
        width: 100px;
        height: 100px;
    }

    .cert-card-clock h5 {
        font-size: 16px;
    }

    .cert-card-clock > p {
        font-size: 12px;
    }

    .certs-clock-center {
        width: 130px;
        height: 130px;
    }

    .certs-clock-center .center-logo {
        width: 80px;
    }

    .cert-tooltip {
        width: 240px;
        padding: 18px;
    }
}

@media (max-width: 600px) {
    /* Mobile: Switch to simple grid layout for credentials */
    .certs-clock-section {
        padding: 60px 20px 80px;
        overflow: visible;
    }

    .certs-clock-container {
        height: auto;
        max-width: 100%;
        margin: 40px auto 0;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        position: static;
    }

    /* Hide all the decorative clock elements on mobile */
    .certs-clock-ring,
    .certs-clock-orbit,
    .orbit-dots,
    .certs-clock-section .clock-ticks,
    .cert-particles,
    .certs-clock-center,
    .cert-click-hint {
        display: none !important;
    }

    /* Reset card positioning for grid layout */
    .cert-card-clock {
        position: static !important;
        width: 100% !important;
        padding: 20px 15px;
        border-radius: 16px;
        margin: 0 !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        animation: none !important;
    }

    .cert-card-clock[data-position="0"],
    .cert-card-clock[data-position="1"],
    .cert-card-clock[data-position="2"],
    .cert-card-clock[data-position="3"] {
        position: static !important;
        margin: 0 !important;
    }

    .cert-card-clock .cert-icon {
        width: 60px;
        height: 60px;
        margin: 0 auto 12px;
    }

    .cert-card-clock .cert-icon img {
        width: 40px;
        height: 40px;
    }

    .cert-card-clock .icon-ring {
        inset: -5px;
    }

    .cert-card-clock h5 {
        font-size: 13px;
        margin-bottom: 4px;
    }

    .cert-card-clock > p {
        font-size: 11px;
        display: block;
        color: rgba(0, 0, 0, 0.6);
    }

    /* Tooltip as fixed modal on mobile */
    .cert-tooltip {
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        bottom: auto !important;
        transform: translate(-50%, -50%) scale(0.95) !important;
        width: calc(100vw - 40px);
        max-width: 320px;
        z-index: 1000;
    }

    .cert-card-clock.tooltip-active .cert-tooltip {
        transform: translate(-50%, -50%) scale(1) !important;
    }

    .tooltip-arrow {
        display: none;
    }

    .cert-card-glow {
        display: none;
    }
}

/* Values Section - Combined with Certifications */
.certs-clock-section .values-header {
    margin-top: 80px;
    padding-top: 60px;
    border-top: 1px solid rgba(255, 107, 0, 0.2);
}

.certs-clock-section .values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-top: 40px;
}

.certs-clock-section .value-card {
    background: linear-gradient(145deg, #ffffff 0%, #f8f8f8 100%);
    border: 2px solid rgba(255, 107, 0, 0.2);
    border-radius: 20px;
    padding: 35px 25px;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}

.certs-clock-section .value-card:hover {
    transform: translateY(-8px) scale(1.05);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
}

.certs-clock-section .value-card .value-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 20px;
    background: linear-gradient(135deg, #1a1a1a 0%, #0d0d0d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(255, 107, 0, 0.3);
    transition: all 0.3s ease;
}

.certs-clock-section .value-card:hover .value-icon {
    border-color: #FF6B00;
    box-shadow: 0 0 20px rgba(255, 107, 0, 0.3);
}

.certs-clock-section .value-card .value-icon img {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.certs-clock-section .value-card .value-icon svg {
    width: 36px;
    height: 36px;
    stroke: #FF6B00;
    transition: all 0.3s ease;
}

.certs-clock-section .value-card:hover .value-icon svg {
    stroke: #ff9500;
    transform: scale(1.1);
}

.certs-clock-section .value-card h4 {
    font-size: 20px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 12px;
    transition: color 0.3s ease;
}

.certs-clock-section .value-card:hover h4 {
    color: #FF6B00;
}

.certs-clock-section .value-card p {
    font-size: 14px;
    color: rgba(0, 0, 0, 0.6);
    line-height: 1.6;
    margin: 0;
}

/* Values Responsive */
@media (max-width: 1024px) {
    .certs-clock-section .values-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .certs-clock-section .values-header {
        margin-top: 60px;
        padding-top: 40px;
    }

    .certs-clock-section .values-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .certs-clock-section .value-card {
        padding: 25px 20px;
    }

    .certs-clock-section .value-card .value-icon {
        width: 60px;
        height: 60px;
    }

    .certs-clock-section .value-card .value-icon img,
    .certs-clock-section .value-card .value-icon svg {
        width: 30px;
        height: 30px;
    }

    .certs-clock-section .value-card h4 {
        font-size: 18px;
    }

    .certs-clock-section .value-card p {
        font-size: 13px;
    }
}

/* ============================================
   COMPREHENSIVE MOBILE FIXES
   Ensuring 100% mobile-friendly experience
   ============================================ */

/* === GLOBAL MOBILE CONTAINER PADDING === */
@media (max-width: 768px) {
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .section {
        padding: 60px 0;
    }

    .section-header {
        margin-bottom: 40px;
    }

    .section-header h2 {
        font-size: 28px;
        line-height: 1.3;
    }

    .section-label {
        font-size: 12px;
        padding: 10px 20px;
        letter-spacing: 2px;
    }
}

@media (max-width: 480px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .section {
        padding: 50px 0;
    }

    .section-header h2 {
        font-size: 24px;
    }

    .section-label {
        font-size: 11px;
        padding: 8px 16px;
    }
}

/* === VERY SMALL SCREENS (320px-400px) === */
@media (max-width: 400px) {
    .container {
        padding-left: 12px;
        padding-right: 12px;
    }

    /* Hero adjustments */
    .hero h1 {
        font-size: 26px;
        line-height: 1.3;
    }

    .hero p {
        font-size: 14px;
    }

    .hero-subtitle {
        font-size: 14px;
        letter-spacing: 1px;
    }

    .hero-buttons {
        flex-direction: column;
        gap: 12px;
    }

    .hero-buttons .btn {
        width: 100%;
        text-align: center;
    }

    /* Buttons */
    .btn {
        padding: 14px 24px;
        font-size: 13px;
    }

    .btn-primary {
        min-width: auto;
        width: 100%;
    }

    /* Section headers */
    .section-header h2 {
        font-size: 22px;
    }

    .section-label {
        font-size: 10px;
        padding: 6px 14px;
        letter-spacing: 1.5px;
    }

    /* Services Islands */
    .services-islands-container {
        max-width: 100%;
        padding: 0 5px;
    }

    .service-island {
        padding: 25px 15px;
    }

    .service-island h4 {
        font-size: 16px;
    }

    .service-island p {
        font-size: 12px;
    }

    .island-icon img {
        width: 40px;
        height: 40px;
    }

    .island-tags span {
        font-size: 9px;
        padding: 4px 8px;
    }

    /* Hexagon Grid */
    .hex-card {
        --hex-size: 60px;
        margin: 3px;
    }

    .hex-card img {
        width: 22px;
        height: 22px;
    }

    .hex-card span {
        font-size: 7px;
    }

    .zoho-hexagon-grid {
        gap: 8px;
    }

    /* 3D Cube - Very Small Screens */
    .certs-cube-split .values-cube-wrapper {
        width: 200px;
        height: 200px;
    }

    .certs-cube-split .values-cube-face {
        width: 200px;
        height: 200px;
        padding: 15px;
    }

    .certs-cube-split .values-cube-face.front { transform: translateZ(100px); }
    .certs-cube-split .values-cube-face.back { transform: rotateY(180deg) translateZ(100px); }
    .certs-cube-split .values-cube-face.right { transform: rotateY(90deg) translateZ(100px); }
    .certs-cube-split .values-cube-face.left { transform: rotateY(-90deg) translateZ(100px); }
    .certs-cube-split .values-cube-face.top { transform: rotateX(90deg) translateZ(100px); }
    .certs-cube-split .values-cube-face.bottom { transform: rotateX(-90deg) translateZ(100px); }

    .certs-cube-split .values-cube-container {
        height: 240px;
    }

    .certs-cube-split .values-cube-face h4 {
        font-size: 16px;
        margin-bottom: 8px;
    }

    .certs-cube-split .values-cube-face p {
        font-size: 11px;
        line-height: 1.4;
    }

    .certs-cube-split .cube-face-icon {
        width: 45px;
        height: 45px;
        margin-bottom: 12px;
    }

    .certs-cube-split .cube-face-icon svg {
        width: 22px;
        height: 22px;
    }

    .cube-logo {
        width: 50px;
    }

    .cube-section-header h3 {
        font-size: 22px;
    }

    .cube-section-header p {
        font-size: 12px;
    }

    /* Cube Click Zones - Smaller on mobile */
    .cube-click-zone.zone-left,
    .cube-click-zone.zone-right {
        width: 40px;
        height: 80px;
    }

    .cube-click-zone.zone-top,
    .cube-click-zone.zone-bottom {
        width: 80px;
        height: 40px;
    }

    .cube-click-zone svg {
        width: 18px;
        height: 18px;
    }

    /* Certifications Clock */
    .certs-clock-container {
        height: 350px;
        max-width: 350px;
    }

    .certs-clock-ring {
        width: 230px;
        height: 230px;
    }

    .certs-clock-ring.ring-2 {
        width: 190px;
        height: 190px;
    }

    .certs-clock-ring.ring-3 {
        width: 150px;
        height: 150px;
    }

    .certs-clock-orbit {
        width: 230px;
        height: 230px;
    }

    .cert-card-clock {
        width: 90px;
        padding: 10px 8px;
        border-radius: 12px;
    }

    .cert-card-clock[data-position="0"] {
        top: -45px;
        margin-left: -45px;
    }

    .cert-card-clock[data-position="1"] {
        right: -45px;
        margin-top: -55px;
    }

    .cert-card-clock[data-position="2"] {
        bottom: -45px;
        margin-left: -45px;
    }

    .cert-card-clock[data-position="3"] {
        left: -45px;
        margin-top: -55px;
    }

    .cert-card-clock .cert-icon {
        width: 40px;
        height: 40px;
        margin-bottom: 8px;
    }

    .cert-card-clock h5 {
        font-size: 9px;
        margin-bottom: 2px;
    }

    .cert-card-clock > p {
        display: none;
    }

    .certs-clock-center {
        width: 80px;
        height: 80px;
    }

    .certs-clock-center .center-logo {
        width: 50px;
    }

    .clock-center-rings span:nth-child(1) { width: 90px; height: 90px; }
    .clock-center-rings span:nth-child(2) { width: 100px; height: 100px; }
    .clock-center-rings span:nth-child(3) { width: 110px; height: 110px; }

    .orbit-dots {
        width: 200px;
        height: 200px;
    }

    .orbit-dot {
        width: 5px;
        height: 5px;
    }

    .cert-click-hint {
        font-size: 10px;
        bottom: -30px;
    }

    /* Certs cube split adjustments */
    .certs-cube-split {
        gap: 40px;
    }

    .certs-cube-section,
    .certs-clock-section {
        padding: 50px 0 80px;
    }

    /* Page headers */
    .page-header h1 {
        font-size: 32px;
    }

    .page-label {
        font-size: 11px;
        padding: 6px 16px;
    }

    /* Modal nav */
    .page-modal-nav {
        padding: 12px 15px;
    }

    .page-modal-home img {
        height: 28px;
    }

    .page-modal-close {
        width: 36px;
        height: 36px;
        right: 15px;
    }

    /* Hide modal contact buttons on small screens */
    .modal-nav-contact {
        display: none;
    }

    /* Stats */
    .stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .stat-card {
        padding: 20px 12px;
    }

    .stat-number {
        font-size: 24px;
    }

    .stat-label {
        font-size: 10px;
    }

    /* Founder section */
    .founder-section {
        padding: 40px 15px;
    }

    .founder-info h3 {
        font-size: 22px;
    }

    .founder-quote {
        font-size: 14px;
        padding: 20px;
    }

    /* Footer */
    .footer {
        padding: 40px 15px 20px;
    }

    .footer-grid {
        gap: 30px;
    }

    .footer-brand p {
        font-size: 13px;
    }

    /* CTA section */
    .cta h2 {
        font-size: 24px;
    }

    .cta p {
        font-size: 14px;
    }

    .cta-buttons {
        flex-direction: column;
        gap: 12px;
    }

    .cta-buttons .btn {
        width: 100%;
    }
}

/* === TOUCH TARGET MINIMUM SIZE (44px) === */
@media (max-width: 768px) {
    .btn,
    .nav-link,
    .nav-toggle,
    .page-modal-close,
    .page-modal-home,
    .cube-click-zone,
    .cert-card-clock,
    .hex-card,
    .service-island,
    .social-link {
        min-height: 44px;
        min-width: 44px;
    }

    /* Ensure nav links are tappable */
    .nav-link {
        padding: 16px 30px;
    }

    /* Social links */
    .social-link {
        width: 44px;
        height: 44px;
    }

    /* Hide navbar contact section on mobile */
    .nav-contact-section {
        display: none;
    }

    /* Hide modal nav contact on mobile */
    .modal-nav-contact {
        display: none;
    }
}

/* Large screens - hide phone/email when tight */
@media (max-width: 1400px) and (min-width: 1201px) {
    .nav-contact-info {
        display: none;
    }

    .nav-contact-section {
        padding-left: 12px;
        gap: 8px;
    }
}

/* Medium-large screens - compact navbar */
@media (max-width: 1200px) and (min-width: 1025px) {
    .nav-contact-info {
        display: none;
    }

    .nav-link {
        padding: 8px 12px;
        font-size: 12px;
    }

    .nav-company-name {
        font-size: 14px;
    }

    .nav-contact-section {
        padding-left: 10px;
        gap: 6px;
    }

    .nav-btn-contact,
    .nav-btn-book {
        padding: 6px 10px;
        font-size: 11px;
    }
}

/* Tablet - Show only buttons, hide info */
@media (max-width: 1024px) and (min-width: 769px) {
    .nav-contact-info {
        display: none;
    }

    .modal-nav-contact .nav-contact-info {
        display: none;
    }
}

/* === PREVENT HORIZONTAL OVERFLOW === */
html, body {
    overflow-x: hidden;
    max-width: 100vw;
}

.page-modal-overlay,
.page-modal,
.page-modal-content {
    max-width: 100vw;
    overflow-x: hidden;
}

/* === IMPROVE TEXT READABILITY ON MOBILE === */
@media (max-width: 480px) {
    body {
        font-size: 15px;
        line-height: 1.7;
    }

    p {
        font-size: 14px;
        line-height: 1.7;
    }

    /* Ensure text doesn't get too small */
    .service-island p,
    .cert-tooltip p,
    .values-cube-face p,
    .stat-label,
    .footer p {
        min-font-size: 12px;
    }
}

/* === IMPROVED SCROLLING FOR MODALS === */
@media (max-width: 768px) {
    .page-modal-content {
        padding-bottom: 80px;
    }
}

/* === LANDSCAPE MOBILE FIXES === */
@media (max-height: 500px) and (orientation: landscape) {
    .hero {
        min-height: auto;
        padding: 100px 0 60px;
    }

    .hero h1 {
        font-size: 28px;
    }

    .nav-menu {
        padding-top: 80px;
        gap: 15px;
    }

    .nav-link {
        font-size: 16px;
        padding: 12px 25px;
    }
}

/* === SAFE AREA INSETS FOR NOTCHED DEVICES === */
@supports (padding: max(0px)) {
    .navbar {
        padding-left: max(20px, env(safe-area-inset-left));
        padding-right: max(20px, env(safe-area-inset-right));
    }

    .page-modal-nav {
        padding-left: max(20px, env(safe-area-inset-left));
        padding-right: max(20px, env(safe-area-inset-right));
    }

    .footer {
        padding-bottom: max(20px, env(safe-area-inset-bottom));
    }

    @media (max-width: 768px) {
        .container {
            padding-left: max(15px, env(safe-area-inset-left));
            padding-right: max(15px, env(safe-area-inset-right));
        }
    }
}

/* ============================================
   ZOHO CREATOR SHOWCASE STYLES
   ============================================ */

/* Live Proof Banner in Website Modal */
.creator-showcase-banner {
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.15), rgba(255, 107, 0, 0.05));
    border: 2px solid rgba(255, 107, 0, 0.4);
    border-radius: 16px;
    padding: 20px 25px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 20px;
    position: relative;
    overflow: hidden;
}

.showcase-pulse {
    position: absolute;
    top: 50%;
    left: -50px;
    width: 100px;
    height: 100px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.3) 0%, transparent 70%);
    transform: translateY(-50%);
    animation: pulseBanner 3s ease-in-out infinite;
}

@keyframes pulseBanner {
    0%, 100% { opacity: 0.5; transform: translateY(-50%) scale(1); }
    50% { opacity: 1; transform: translateY(-50%) scale(1.2); }
}

.showcase-content {
    flex: 1;
    position: relative;
    z-index: 1;
}

.showcase-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--primary-orange);
    color: #000;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.showcase-badge svg {
    stroke: #000;
}

.showcase-content p {
    color: #fff;
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
}

.showcase-content p strong {
    color: var(--primary-orange);
}

/* Website Tiers Comparison */
.website-tiers {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    margin: 30px 0;
}

.website-tier {
    background: rgba(30, 30, 30, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    padding: 30px;
    position: relative;
    transition: all 0.3s ease;
}

.website-tier:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 255, 255, 0.2);
}

.tier-sites:hover {
    box-shadow: 0 10px 40px rgba(100, 100, 100, 0.2);
}

.tier-creator {
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.1), rgba(255, 107, 0, 0.03));
    border-color: rgba(255, 107, 0, 0.3);
}

.tier-creator:hover {
    border-color: rgba(255, 107, 0, 0.5);
    box-shadow: 0 10px 40px rgba(255, 107, 0, 0.2);
}

.tier-recommended {
    position: absolute;
    top: -12px;
    right: 20px;
    background: var(--primary-orange);
    color: #000;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 1px;
}

.tier-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 15px;
}

.tier-icon {
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tier-icon svg {
    width: 28px;
    height: 28px;
    stroke: var(--primary-orange);
}

.tier-header h4 {
    font-size: 1.4rem;
    color: #fff;
    margin: 0;
}

.tier-tag {
    display: inline-block;
    background: rgba(255, 255, 255, 0.1);
    color: #aaa;
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 0.75rem;
    font-weight: 600;
}

.tier-tag-pro {
    background: rgba(255, 107, 0, 0.2);
    color: var(--primary-orange);
}

.tier-description {
    color: #999;
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 20px;
}

.tier-features {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.tier-features li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #ccc;
    font-size: 0.85rem;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.tier-features li:last-child {
    border-bottom: none;
}

.tier-features li svg {
    width: 16px;
    height: 16px;
    stroke: #4CAF50;
    flex-shrink: 0;
}

.tier-best-for {
    background: rgba(0, 0, 0, 0.3);
    padding: 12px 15px;
    border-radius: 10px;
    font-size: 0.8rem;
    color: #888;
}

.tier-best-for strong {
    color: #fff;
}

.tier-this-site {
    margin-top: 15px;
    padding: 12px 15px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.2), rgba(255, 107, 0, 0.1));
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--primary-orange);
    font-size: 0.85rem;
    font-weight: 600;
}

.tier-this-site svg {
    width: 20px;
    height: 20px;
    stroke: var(--primary-orange);
}

@media (max-width: 900px) {
    .website-tiers {
        grid-template-columns: 1fr;
    }

    .tier-recommended {
        top: -10px;
        right: 15px;
    }
}

/* Footer Built with Zoho Creator Badge */
.footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.built-with-creator {
    display: flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.15), rgba(255, 107, 0, 0.05));
    border: 1px solid rgba(255, 107, 0, 0.3);
    padding: 10px 20px;
    border-radius: 30px;
    font-size: 0.8rem;
    color: #aaa;
    transition: all 0.3s ease;
}

.built-with-creator:hover {
    border-color: rgba(255, 107, 0, 0.5);
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.2), rgba(255, 107, 0, 0.1));
}

.built-with-creator svg {
    stroke: var(--primary-orange);
}

.built-with-creator strong {
    color: var(--primary-orange);
}

.creator-learn-more {
    background: var(--primary-orange);
    color: #000;
    border: none;
    padding: 5px 12px;
    border-radius: 15px;
    font-size: 0.7rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.creator-learn-more:hover {
    background: var(--primary-orange-light);
    transform: scale(1.05);
}

/* Floating "Did You Know?" Popup */
.did-you-know-popup {
    position: fixed;
    bottom: 100px;
    right: 30px;
    background: linear-gradient(135deg, #1a1a1a, #0d0d0d);
    border: 1px solid rgba(255, 107, 0, 0.4);
    border-radius: 16px;
    padding: 20px;
    width: 300px;
    display: flex;
    gap: 15px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5), 0 0 30px rgba(255, 107, 0, 0.2);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px) scale(0.95);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.did-you-know-popup.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.did-you-know-popup.hiding {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
}

.dyk-close {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.dyk-close:hover {
    background: rgba(255, 107, 0, 0.3);
}

.dyk-close svg {
    stroke: #888;
}

.dyk-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.2), rgba(255, 107, 0, 0.1));
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dyk-icon svg {
    stroke: var(--primary-orange);
}

.dyk-content {
    flex: 1;
}

.dyk-label {
    display: block;
    color: var(--primary-orange);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.dyk-message {
    color: #fff;
    font-size: 0.9rem;
    line-height: 1.4;
    margin: 0 0 12px 0;
}

.dyk-action {
    background: transparent;
    border: 1px solid var(--primary-orange);
    color: var(--primary-orange);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.dyk-action:hover {
    background: var(--primary-orange);
    color: #000;
}

@media (max-width: 768px) {
    .did-you-know-popup {
        right: 15px;
        left: 15px;
        width: auto;
        bottom: 80px;
    }

    .built-with-creator {
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
    }
}

/* ============================================
   PROOF OF EXPERTISE SECTION (About Modal)
   ============================================ */
.proof-showcase {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
    margin-top: 40px;
}

.proof-visual {
    position: relative;
}

.proof-browser {
    background: #1a1a1a;
    border-radius: 12px 12px 0 0;
    padding: 12px 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: none;
}

.browser-dots {
    display: flex;
    gap: 6px;
}

.browser-dots span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.browser-dots span:nth-child(1) { background: #ff5f57; }
.browser-dots span:nth-child(2) { background: #ffbd2e; }
.browser-dots span:nth-child(3) { background: #28c940; }

.browser-url {
    flex: 1;
    background: rgba(255, 255, 255, 0.05);
    padding: 6px 15px;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #888;
    font-family: monospace;
}

.proof-screen {
    background: linear-gradient(135deg, #0d0d0d, #1a1a1a);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-top: none;
    border-radius: 0 0 12px 12px;
    padding: 60px 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    min-height: 250px;
}

.proof-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.3) 0%, transparent 70%);
    transform: translate(-50%, -50%);
    animation: proofPulse 3s ease-in-out infinite;
}

@keyframes proofPulse {
    0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; }
    50% { transform: translate(-50%, -50%) scale(1.3); opacity: 1; }
}

.proof-badge-large {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    position: relative;
    z-index: 1;
}

.proof-badge-large svg {
    width: 80px;
    height: 80px;
    stroke: var(--primary-orange);
}

.proof-badge-large span {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--primary-orange);
    text-transform: uppercase;
    letter-spacing: 2px;
}

.proof-content h3 {
    font-size: 1.8rem;
    color: #fff;
    margin-bottom: 15px;
}

.proof-intro {
    font-size: 1rem;
    color: #aaa;
    line-height: 1.7;
    margin-bottom: 25px;
}

.proof-intro strong {
    color: var(--primary-orange);
}

.proof-integrations {
    display: flex;
    gap: 20px;
    margin-bottom: 25px;
}

.proof-integration {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.05);
    padding: 10px 15px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

.proof-integration:hover {
    border-color: rgba(255, 107, 0, 0.3);
    background: rgba(255, 107, 0, 0.05);
}

.proof-integration img {
    width: 28px;
    height: 28px;
}

.proof-integration span {
    font-size: 0.85rem;
    color: #ccc;
    font-weight: 500;
}

.proof-features {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.proof-features li {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #ccc;
    font-size: 0.95rem;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.proof-features li:last-child {
    border-bottom: none;
}

.proof-features li svg {
    width: 18px;
    height: 18px;
    stroke: #4CAF50;
    flex-shrink: 0;
}

.proof-content .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

@media (max-width: 900px) {
    .proof-showcase {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .proof-integrations {
        flex-wrap: wrap;
    }

    .proof-screen {
        min-height: 200px;
        padding: 40px 30px;
    }

    .proof-badge-large svg {
        width: 60px;
        height: 60px;
    }

    .proof-badge-large span {
        font-size: 1.1rem;
    }
}

/* ============================================
   COMBINED BENEFITS & STATS (Contact Section)
   ============================================ */
.form-benefits-combined {
    margin-top: 20px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
}

.benefits-row {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.benefits-row .benefit-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #ccc;
    font-size: 0.85rem;
}

.benefits-row .benefit-item svg {
    stroke: #4CAF50;
    flex-shrink: 0;
}

.stats-row {
    display: flex;
    justify-content: center;
    gap: 30px;
}

.mini-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.mini-stat-number {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--primary-orange);
    font-family: 'Chakra Petch', sans-serif;
}

.mini-stat-label {
    font-size: 0.7rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

@media (max-width: 600px) {
    .benefits-row {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .stats-row {
        gap: 20px;
    }

    .mini-stat-number {
        font-size: 1.1rem;
    }
}

/* === RATE COMPARISON SECTION === */
.rate-comparison-section {
    margin: 60px 0;
    padding: 50px 40px;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 20px;
    border: 1px solid rgba(0, 188, 212, 0.2);
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(10px);
}

.rate-comparison-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #00bcd4, #03a9f4, #00bcd4);
}

.rate-comparison-section h4 {
    text-align: center;
    font-size: 1.8rem;
    color: #ffffff;
    margin-bottom: 10px;
    font-weight: 700;
}

.comparison-subtitle {
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1rem;
    margin-bottom: 40px;
}

.rate-comparison-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    max-width: 1000px;
    margin: 0 auto;
}

.rate-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 30px 25px;
    border: 2px solid #e0e0e0;
    transition: all 0.3s ease;
    position: relative;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.rate-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.rate-card.current {
    border-color: #FF6B00;
    background: #fffaf7;
}

.rate-card.savings {
    border-color: #27ae60;
    background: #f0fdf4;
}

.rate-card.best-value {
    border-color: #9B59B6;
    background: #faf5ff;
    transform: scale(1.02);
}

.rate-card.best-value::before {
    content: '★ BEST VALUE';
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #9B59B6, #8E44AD);
    color: white;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 5px 15px;
    border-radius: 20px;
    letter-spacing: 1px;
}

.rate-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e0e0e0;
}

.rate-plan-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1a1a1a;
}

.rate-tag {
    font-size: 0.7rem;
    padding: 4px 10px;
    border-radius: 20px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rate-card.current .rate-tag {
    background: #FF6B00;
    color: #ffffff;
}

.rate-card.savings .rate-tag {
    background: #27ae60;
    color: #ffffff;
}

.rate-card.best-value .rate-tag {
    background: #9B59B6;
    color: #ffffff;
}

.rate-example {
    text-align: center;
    margin-bottom: 15px;
}

.rate-per-hour {
    font-size: 2.5rem;
    font-weight: 800;
    color: #FF6B00;
    font-family: 'Chakra Petch', sans-serif;
}

.rate-card.savings .rate-per-hour {
    color: #27ae60;
}

.rate-card.best-value .rate-per-hour {
    color: #9B59B6;
}

.rate-label {
    font-size: 1rem;
    color: #666;
}

.rate-total {
    text-align: center;
    padding: 15px;
    background: #f5f5f5;
    border-radius: 10px;
    margin-bottom: 15px;
}

.rate-card.current .rate-total {
    background: #fff5ee;
}

.rate-card.savings .rate-total {
    background: #ecfdf5;
}

.rate-card.best-value .rate-total {
    background: #f3e8ff;
}

.rate-total span {
    display: block;
    font-size: 0.85rem;
    color: #666;
    margin-bottom: 5px;
}

.rate-total strong {
    font-size: 1.4rem;
    color: #1a1a1a;
    font-weight: 700;
}

.rate-card.savings .rate-total strong {
    color: #27ae60;
}

.rate-card.best-value .rate-total strong {
    color: #9B59B6;
}

.rate-savings-highlight {
    text-align: center;
    margin-top: 10px;
    font-size: 0.95rem;
    font-weight: 600;
}

.rate-savings-highlight strong {
    color: #27ae60;
}

.rate-card.best-value .rate-savings-highlight strong {
    color: #9B59B6;
}

.rate-savings {
    text-align: center;
    font-size: 0.95rem;
    font-weight: 600;
    color: #27ae60;
    margin-top: 10px;
}

.rate-savings strong {
    color: #27ae60;
}

.rate-savings.purple,
.rate-savings.purple strong {
    color: #9B59B6;
}

/* Most Popular Badge for Rate Card */
.rate-card.most-popular {
    transform: scale(1.02);
}

.rate-card.most-popular::before {
    content: '★ MOST POPULAR';
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #27ae60, #2ecc71);
    color: white;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 5px 15px;
    border-radius: 20px;
    letter-spacing: 1px;
    z-index: 5;
}

.rate-note {
    font-size: 0.85rem;
    color: #777;
    text-align: center;
    line-height: 1.5;
    margin: 10px 0 0 0;
}

.comparison-note {
    text-align: center;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.85rem;
    margin-top: 25px;
    font-style: italic;
}

/* === NO CONTRACT SECTION === */
.no-contract-section {
    margin: 50px 0 0 0;
    padding: 40px;
    background: rgba(39, 174, 96, 0.1);
    border-radius: 20px;
    border: 1px solid rgba(39, 174, 96, 0.3);
    position: relative;
    backdrop-filter: blur(10px);
}

.no-contract-section::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(135deg, rgba(39, 174, 96, 0.3), transparent, rgba(39, 174, 96, 0.3));
    border-radius: 22px;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.no-contract-section:hover::before {
    opacity: 1;
}

.no-contract-card {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    text-align: left;
    max-width: 800px;
    margin: 0 auto;
}

.no-contract-icon {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    background: #27ae60;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.no-contract-icon svg {
    width: 40px;
    height: 40px;
    stroke: #ffffff;
}

.no-contract-content {
    flex: 1;
}

.no-contract-content h4 {
    font-size: 1.5rem;
    color: #ffffff;
    margin-bottom: 15px;
    font-weight: 700;
}

.no-contract-content > p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 20px;
}

.no-contract-content > p strong {
    color: #2ecc71;
}

.billing-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.billing-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.billing-item svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    stroke: #2ecc71;
}

.billing-item span {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
}

.billing-item span strong {
    color: #ffffff;
}

.no-contract-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #27ae60;
    padding: 10px 25px;
    border-radius: 30px;
    margin-bottom: 20px;
    border: none;
}

.no-contract-badge i {
    font-size: 1.5rem;
    color: #ffffff;
}

.no-contract-badge span {
    font-size: 1rem;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.no-contract-section h4 {
    font-size: 1.6rem;
    color: #ffffff;
    margin-bottom: 15px;
    font-weight: 700;
}

.no-contract-section > p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.05rem;
    max-width: 600px;
    margin: 0 auto 25px;
    line-height: 1.7;
}

.trust-points {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}

.trust-point {
    display: flex;
    align-items: center;
    gap: 10px;
}

.trust-point i {
    color: #2ecc71;
    font-size: 1.1rem;
}

.trust-point span {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    font-weight: 500;
}

@media (max-width: 600px) {
    .no-contract-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .no-contract-content h4 {
        text-align: center;
    }

    .no-contract-content > p {
        text-align: center;
    }

    .billing-info {
        align-items: center;
    }

    .billing-item {
        flex-direction: column;
        text-align: center;
    }
}

/* === PLAN FLEXIBILITY SECTION === */
.plan-flexibility-section {
    margin: 30px 0 0 0;
    padding: 35px 40px;
    background: rgba(0, 188, 212, 0.08);
    border-radius: 20px;
    border: 1px solid rgba(0, 188, 212, 0.25);
    display: flex;
    align-items: flex-start;
    gap: 25px;
    backdrop-filter: blur(10px);
}

.flexibility-icon {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #00bcd4, #03a9f4);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.flexibility-icon svg {
    width: 30px;
    height: 30px;
    stroke: #ffffff;
}

.flexibility-content {
    flex: 1;
}

.flexibility-content h4 {
    font-size: 1.3rem;
    color: #ffffff;
    margin-bottom: 10px;
    font-weight: 700;
}

.flexibility-content > p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 20px;
}

.flexibility-content > p strong {
    color: #00bcd4;
}

.flexibility-points {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.flexibility-point {
    display: flex;
    align-items: center;
    gap: 10px;
}

.flexibility-point svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    stroke: #00bcd4;
}

.flexibility-point span {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9rem;
}

@media (max-width: 600px) {
    .plan-flexibility-section {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 30px 20px;
    }

    .flexibility-content h4 {
        text-align: center;
    }

    .flexibility-content > p {
        text-align: center;
    }

    .flexibility-points {
        align-items: center;
    }

    .flexibility-point {
        flex-direction: column;
        text-align: center;
    }
}

/* === RETAINER BILLING INFO SECTION === */
.retainer-billing-info {
    margin: 50px 0;
    padding: 40px;
    background: linear-gradient(135deg, #f0fdf4 0%, #f8fdf9 100%);
    border-radius: 20px;
    border: 1px solid rgba(39, 174, 96, 0.3);
}

.retainer-billing-info h4 {
    text-align: center;
    font-size: 1.5rem;
    color: #1a1a1a;
    margin-bottom: 30px;
    font-weight: 700;
}

.billing-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    max-width: 900px;
    margin: 0 auto;
}

.billing-info-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 30px 25px;
    text-align: center;
    border: 1px solid #e0e0e0;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.billing-info-card:hover {
    transform: translateY(-3px);
    border-color: #27ae60;
    box-shadow: 0 10px 30px rgba(39, 174, 96, 0.15);
}

.billing-info-card .billing-icon {
    width: 60px;
    height: 60px;
    background: #ecfdf5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    border: 2px solid #27ae60;
}

.billing-info-card .billing-icon i {
    font-size: 1.5rem;
    color: #27ae60;
}

.billing-info-card h5 {
    font-size: 1.1rem;
    color: #1a1a1a;
    margin-bottom: 10px;
    font-weight: 600;
}

.billing-info-card p {
    color: #666;
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0;
}

/* === RESPONSIVE FOR NEW SECTIONS === */
@media (max-width: 900px) {
    .rate-comparison-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
    }

    .rate-card.best-value {
        transform: none;
        order: -1;
    }

    .billing-info-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
    }

    .trust-points {
        flex-direction: column;
        gap: 15px;
        align-items: center;
    }
}

@media (max-width: 600px) {
    .rate-comparison-section {
        padding: 30px 20px;
        margin: 40px 0;
    }

    .rate-comparison-section h4 {
        font-size: 1.4rem;
    }

    .no-contract-section {
        padding: 30px 20px;
    }

    .no-contract-section h4 {
        font-size: 1.3rem;
    }

    .retainer-billing-info {
        padding: 30px 20px;
    }

    .retainer-billing-info h4 {
        font-size: 1.3rem;
    }
}

/* === BILLING GRID (Alternative class names) === */
.billing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    max-width: 900px;
    margin: 0 auto;
}

.billing-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 25px 20px;
    text-align: center;
    border: 1px solid #e0e0e0;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.billing-card:hover {
    transform: translateY(-3px);
    border-color: #27ae60;
    box-shadow: 0 10px 30px rgba(39, 174, 96, 0.15);
}

.billing-card-icon {
    width: 50px;
    height: 50px;
    background: #ecfdf5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    border: 2px solid #27ae60;
}

.billing-card-icon svg {
    width: 24px;
    height: 24px;
    stroke: #27ae60;
}

.billing-card-icon.green {
    background: #ecfdf5;
    border-color: #27ae60;
}

.billing-card-icon.green svg {
    stroke: #27ae60;
}

.billing-card h5 {
    color: #1a1a1a;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.billing-card p {
    color: #555;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
}

.billing-card p strong {
    color: #27ae60;
}

@media (max-width: 768px) {
    .billing-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
    }
}

/* === CLIENT PORTAL SECTION === */
.portal-section {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 120px 0 80px;
    background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 50%, #0a0a0a 100%);
}

.portal-cards-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    max-width: 900px;
    margin: 0 auto;
}

.portal-card {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.4s ease;
}

.portal-card:hover {
    transform: translateY(-10px);
    border-color: rgba(255, 107, 0, 0.4);
    box-shadow: 0 25px 60px rgba(255, 107, 0, 0.15);
}

.portal-card-image {
    position: relative;
    height: 180px;
    overflow: hidden;
}

.portal-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.portal-card:hover .portal-card-image img {
    transform: scale(1.05);
}

.portal-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.7) 100%);
}

.portal-card-content {
    padding: 30px;
    text-align: center;
}

.portal-card-icon {
    width: 60px;
    height: 60px;
    background: var(--gradient-orange);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: -50px auto 20px;
    position: relative;
    z-index: 2;
    box-shadow: 0 10px 30px rgba(255, 107, 0, 0.3);
}

.portal-card-icon svg {
    width: 28px;
    height: 28px;
    stroke: white;
}

.portal-card h3 {
    font-size: 1.4rem;
    color: var(--white);
    margin-bottom: 12px;
    font-weight: 700;
}

.portal-card p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 25px;
}

.portal-card .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    font-size: 0.95rem;
}

.portal-card .btn svg {
    transition: transform 0.3s ease;
}

.portal-card .btn:hover svg {
    transform: translate(3px, -3px);
}

.portal-help-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 50px;
    padding: 20px 30px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.portal-help-note svg {
    flex-shrink: 0;
    stroke: var(--primary-orange);
}

.portal-help-note p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
    margin: 0;
}

.portal-help-note a {
    color: var(--primary-orange);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.portal-help-note a:hover {
    color: var(--primary-orange-light);
    text-decoration: underline;
}

/* Portal Section Responsive */
@media (max-width: 768px) {
    .portal-cards-container {
        grid-template-columns: 1fr;
        max-width: 400px;
        gap: 30px;
    }

    .portal-card-image {
        height: 150px;
    }

    .portal-card-content {
        padding: 25px 20px;
    }

    .portal-help-note {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
}

/* ==================== INDUSTRIES MORPHING GRID ==================== */
.industries-section {
    padding: 80px 0;
    background: linear-gradient(180deg, #0a0a0a 0%, #111 100%);
    position: relative;
    overflow: hidden;
}

.industries-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 107, 0, 0.3), transparent);
}

/* Morphing Grid Layout */
.industry-morph-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 50px;
}

/* Industry Card Base */
.industry-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.4s ease, z-index 0s;
    min-height: 180px;
    will-change: transform;
}

.industry-card-inner {
    position: relative;
    height: 100%;
    padding: 25px;
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.9), rgba(20, 20, 20, 0.95));
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    will-change: background, box-shadow;
}

.industry-card-inner::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 20px;
    padding: 1px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0), rgba(255, 107, 0, 0));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    transition: all 0.5s ease;
    opacity: 0;
}

/* Industry Icon */
.industry-icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.15), rgba(255, 107, 0, 0.05));
    border: 1px solid rgba(255, 107, 0, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    transition: all 0.4s ease;
}

.industry-icon svg {
    width: 26px;
    height: 26px;
    stroke: var(--primary-orange);
    transition: all 0.4s ease;
}

/* Industry Card Text */
.industry-card h4 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 8px;
    transition: all 0.3s ease;
}

.industry-tagline {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.5;
    transition: all 0.3s ease;
}

/* Expanded Content - Hidden by default */
.industry-expanded {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out, opacity 0.3s ease, margin-top 0.3s ease, padding-top 0.3s ease;
    margin-top: 0;
    will-change: max-height, opacity;
}

.industry-challenges,
.industry-solutions {
    margin-bottom: 15px;
}

.industry-expanded h5 {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.industry-challenges h5 {
    color: #e74c3c;
}

.industry-challenges h5::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e74c3c;
}

.industry-solutions h5 {
    color: #2ecc71;
}

.industry-solutions h5::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2ecc71;
}

.industry-expanded ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.industry-expanded li {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.75);
    padding: 6px 0;
    padding-left: 18px;
    position: relative;
    line-height: 1.5;
}

.industry-challenges li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: rgba(231, 76, 60, 0.6);
    font-size: 1.2em;
}

.industry-solutions li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: rgba(46, 204, 113, 0.6);
}

.industry-expanded li strong {
    color: var(--primary-orange);
    font-weight: 600;
}

/* Industry Result Badge */
.industry-result {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: linear-gradient(135deg, rgba(46, 204, 113, 0.15), rgba(46, 204, 113, 0.05));
    border: 1px solid rgba(46, 204, 113, 0.25);
    border-radius: 12px;
    margin-top: 10px;
}

.result-stat {
    font-size: 1.5rem;
    font-weight: 800;
    color: #2ecc71;
    line-height: 1;
}

.result-text {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.4;
}

/* ===== HOVER STATE - Card Expansion ===== */
.industry-card:hover {
    z-index: 20;
    grid-row: span 2;
}

.industry-card:hover .industry-card-inner {
    background: linear-gradient(145deg, rgba(40, 35, 30, 0.98), rgba(25, 22, 20, 0.98));
    border-color: rgba(255, 107, 0, 0.3);
    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.5),
        0 0 40px rgba(255, 107, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.industry-card:hover .industry-card-inner::before {
    opacity: 1;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.5), rgba(255, 170, 51, 0.3));
}

.industry-card:hover .industry-icon {
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.3), rgba(255, 107, 0, 0.15));
    border-color: rgba(255, 107, 0, 0.4);
    transform: scale(1.1) rotate(-5deg);
    box-shadow: 0 10px 30px rgba(255, 107, 0, 0.25);
}

.industry-card:hover .industry-icon svg {
    stroke: #fff;
    filter: drop-shadow(0 0 8px rgba(255, 107, 0, 0.5));
}

.industry-card:hover h4 {
    color: var(--primary-orange);
}

.industry-card:hover .industry-tagline {
    color: rgba(255, 255, 255, 0.85);
}

.industry-card:hover .industry-expanded {
    max-height: 800px;
    opacity: 1;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Hover hint indicator */
.industry-card::after {
    content: 'Hover for details';
    position: absolute;
    bottom: 12px;
    right: 15px;
    font-size: 0.65rem;
    color: rgba(255, 107, 0, 0.5);
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0;
    transform: translateY(5px);
    transition: all 0.3s ease;
}

.industry-card:not(:hover)::after {
    opacity: 1;
    transform: translateY(0);
}

/* Industry CTA */
.industry-cta {
    text-align: center;
    margin-top: 50px;
    padding-top: 40px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.industry-cta p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 1rem;
    margin-bottom: 20px;
}

.industry-cta strong {
    color: var(--primary-orange);
}

.industry-cta .btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border: 2px solid var(--primary-orange);
    color: var(--primary-orange);
    border-radius: 50px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.industry-cta .btn-outline:hover {
    background: var(--primary-orange);
    color: #fff;
    box-shadow: 0 10px 30px rgba(255, 107, 0, 0.3);
    transform: translateY(-3px);
}

.industry-cta .btn-outline svg {
    width: 18px;
    height: 18px;
    transition: transform 0.3s ease;
}

.industry-cta .btn-outline:hover svg {
    transform: translateX(5px);
}

/* ===== RESPONSIVE INDUSTRY GRID ===== */
@media (max-width: 1200px) {
    .industry-morph-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 900px) {
    .industry-morph-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .industry-card {
        min-height: 160px;
    }

    .industry-card-inner {
        padding: 20px;
    }

    .industry-icon {
        width: 45px;
        height: 45px;
    }

    .industry-icon svg {
        width: 22px;
        height: 22px;
    }

    .industry-card h4 {
        font-size: 1rem;
    }
}

@media (max-width: 600px) {
    .industries-section {
        padding: 60px 0;
    }

    .industry-morph-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .industry-card {
        min-height: auto;
    }

    /* On mobile, disable hover grid-row expansion */
    .industry-card:hover {
        grid-row: span 1;
    }

    .industry-card::after {
        content: 'Tap to expand';
    }

    .industry-card-inner {
        padding: 20px;
    }

    .industry-expanded li {
        font-size: 0.85rem;
    }

    .result-stat {
        font-size: 1.3rem;
    }

    .result-text {
        font-size: 0.85rem;
    }

    /* Mobile tap-to-expand via .expanded class (JS controlled) */
    .industry-card.expanded .industry-expanded {
        max-height: 800px;
        opacity: 1;
        margin-top: 20px;
        padding-top: 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .industry-card.expanded .industry-card-inner {
        background: linear-gradient(145deg, rgba(40, 35, 30, 0.98), rgba(25, 22, 20, 0.98));
        border-color: rgba(255, 107, 0, 0.3);
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(255, 107, 0, 0.1);
    }

    .industry-card.expanded .industry-icon {
        background: linear-gradient(135deg, rgba(255, 107, 0, 0.3), rgba(255, 107, 0, 0.15));
        border-color: rgba(255, 107, 0, 0.4);
    }

    .industry-card.expanded h4 {
        color: var(--primary-orange);
    }

    .industry-card.expanded::after {
        content: 'Tap to collapse';
    }
}

/* Touch device support - active states for better feedback */
@media (hover: none) and (pointer: coarse) {
    .industry-card:active .industry-card-inner {
        transform: scale(0.98);
    }

    /* Hide hover hint on touch devices when not expanded */
    .industry-card:not(.expanded)::after {
        opacity: 1;
    }
}

/* ==================== GLOBAL MOBILE ENHANCEMENTS ==================== */

/* Ensure all images are responsive by default */
img {
    max-width: 100%;
    height: auto;
}

/* Better touch feedback for all interactive elements */
@media (hover: none) and (pointer: coarse) {
    /* Add active states for touch feedback */
    .btn:active,
    .btn-primary:active,
    .btn-outline:active,
    .nav-link:active,
    .service-card:active,
    .app-card:active,
    .contact-method-card:active {
        transform: scale(0.98);
        opacity: 0.9;
    }

    /* Ensure minimum touch target size */
    .btn,
    .btn-primary,
    .btn-outline,
    a[data-modal],
    button {
        min-height: 44px;
        min-width: 44px;
    }
}

/* Extra small devices (320px) */
@media (max-width: 375px) {
    /* Company name: abbreviate to EAS on very small screens */
    .nav-company-name {
        font-size: 11px;
        letter-spacing: 0;
    }

    /* Container padding */
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    /* Section headers */
    .section-header h2 {
        font-size: 1.5rem;
    }

    .section-header p {
        font-size: 0.9rem;
    }

    /* Hero adjustments */
    .hero h1 {
        font-size: 1.75rem;
    }

    /* Button sizing */
    .btn,
    .btn-primary {
        padding: 14px 24px;
        font-size: 14px;
    }

    /* Card padding */
    .service-card,
    .pricing-card,
    .contact-card {
        padding: 20px;
    }

    /* Additional services grid - single column */
    .additional-services-compact {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Zoho apps grid - smaller on tiny screens */
    .zoho-app-card {
        padding: 8px;
    }

    .zoho-app-card img {
        width: 32px;
        height: 32px;
    }
}

/* Prevent horizontal scroll on any device */
html, body {
    overflow-x: hidden;
}

/* Safe area insets for notched devices */
@supports (padding: max(0px)) {
    .navbar {
        padding-left: max(20px, env(safe-area-inset-left));
        padding-right: max(20px, env(safe-area-inset-right));
    }

    .floating-nav {
        right: max(10px, env(safe-area-inset-right));
    }

    footer {
        padding-bottom: max(40px, env(safe-area-inset-bottom));
    }
}

/* Improve scroll behavior on iOS */
.page-modal-overlay,
.service-modal-overlay,
.page-modal-scroll {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

/* Reduce motion for users who prefer it */
@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;
    }
}

/* ============================================
   PORTFOLIO SECTION STYLES
   ============================================ */

/* Portfolio Hero */
.portfolio-hero {
    position: relative;
    padding: 120px 0 80px;
    overflow: hidden;
}

.portfolio-hero-content {
    text-align: center;
    position: relative;
    z-index: 2;
}

.portfolio-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.15), rgba(255, 107, 0, 0.05));
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 30px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--primary-orange);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
}

.portfolio-badge .badge-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.portfolio-badge .badge-icon svg {
    stroke: var(--primary-orange);
    fill: rgba(255, 107, 0, 0.2);
}

.portfolio-title {
    font-size: clamp(2.5rem, 6vw, 4rem);
    font-weight: 800;
    color: var(--white);
    margin-bottom: 20px;
    line-height: 1.1;
}

.portfolio-title span {
    color: var(--primary-orange);
}

.portfolio-subtitle {
    font-size: 1.15rem;
    color: rgba(255, 255, 255, 0.7);
    max-width: 700px;
    margin: 0 auto 40px;
    line-height: 1.7;
}

.portfolio-subtitle strong {
    color: var(--primary-orange);
}

.portfolio-stats {
    display: flex;
    justify-content: center;
    gap: 50px;
    flex-wrap: wrap;
}

.portfolio-stat {
    text-align: center;
}

.portfolio-stat .stat-number {
    display: block;
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--primary-orange);
    line-height: 1;
    margin-bottom: 5px;
}

.portfolio-stat .stat-text {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Portfolio CTA Button */
.portfolio-cta {
    margin-top: 35px;
    text-align: center;
}

.portfolio-demo-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 32px;
    background: linear-gradient(135deg, var(--primary-orange), #ff8c00);
    color: white;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 6px 25px rgba(255, 107, 0, 0.4);
    position: relative;
    overflow: hidden;
}

.portfolio-demo-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.portfolio-demo-btn:hover::before {
    left: 100%;
}

.portfolio-demo-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 35px rgba(255, 107, 0, 0.5);
}

.portfolio-demo-btn svg {
    stroke: white;
    fill: none;
    flex-shrink: 0;
}

.portfolio-demo-btn svg:first-child {
    fill: white;
    stroke: none;
}

.portfolio-demo-btn .arrow-down {
    animation: bounceDown 1.5s ease-in-out infinite;
}

@keyframes bounceDown {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(4px); }
}

.portfolio-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at center top, rgba(255, 107, 0, 0.1) 0%, transparent 60%);
    pointer-events: none;
}

/* Portfolio Hero Animated Background */
.portfolio-hero-animated-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
}

/* Floating Particles */
.portfolio-particle {
    position: absolute;
    width: 6px;
    height: 6px;
    background: var(--primary-orange);
    border-radius: 50%;
    opacity: 0.4;
    animation: portfolioParticleFloat 8s ease-in-out infinite;
}

.portfolio-particle.p1 { top: 15%; left: 10%; animation-delay: 0s; animation-duration: 7s; }
.portfolio-particle.p2 { top: 25%; right: 15%; animation-delay: -1s; animation-duration: 9s; }
.portfolio-particle.p3 { top: 60%; left: 5%; animation-delay: -2s; animation-duration: 6s; }
.portfolio-particle.p4 { top: 70%; right: 8%; animation-delay: -3s; animation-duration: 8s; }
.portfolio-particle.p5 { top: 40%; left: 20%; animation-delay: -4s; animation-duration: 10s; width: 4px; height: 4px; }
.portfolio-particle.p6 { top: 80%; right: 25%; animation-delay: -2.5s; animation-duration: 7s; width: 8px; height: 8px; }

@keyframes portfolioParticleFloat {
    0%, 100% {
        transform: translateY(0) translateX(0) scale(1);
        opacity: 0.4;
    }
    25% {
        transform: translateY(-20px) translateX(10px) scale(1.2);
        opacity: 0.6;
    }
    50% {
        transform: translateY(-40px) translateX(-5px) scale(1);
        opacity: 0.3;
    }
    75% {
        transform: translateY(-20px) translateX(-10px) scale(1.1);
        opacity: 0.5;
    }
}

/* Gradient Orbs */
.portfolio-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.15;
    animation: portfolioOrbPulse 6s ease-in-out infinite;
}

.portfolio-orb.orb1 {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, var(--primary-orange), transparent 70%);
    top: -100px;
    left: -100px;
    animation-delay: 0s;
}

.portfolio-orb.orb2 {
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, #ff8c00, transparent 70%);
    top: 50%;
    right: -80px;
    animation-delay: -2s;
    animation-duration: 8s;
}

.portfolio-orb.orb3 {
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, var(--primary-orange), transparent 70%);
    bottom: -50px;
    left: 30%;
    animation-delay: -4s;
    animation-duration: 7s;
}

@keyframes portfolioOrbPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0.15;
    }
    50% {
        transform: scale(1.2);
        opacity: 0.25;
    }
}

/* Animated Lines */
.portfolio-line {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 107, 0, 0.3), transparent);
    animation: portfolioLineSweep 4s ease-in-out infinite;
}

.portfolio-line.line1 {
    width: 200px;
    top: 30%;
    left: -200px;
    animation-delay: 0s;
}

.portfolio-line.line2 {
    width: 150px;
    top: 70%;
    right: -150px;
    animation-delay: -2s;
    animation-direction: reverse;
}

@keyframes portfolioLineSweep {
    0% {
        transform: translateX(0);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: translateX(calc(100vw + 200px));
        opacity: 0;
    }
}

/* Enhanced Portfolio Badge Animation */
.portfolio-badge {
    animation: portfolioBadgeGlow 3s ease-in-out infinite;
}

@keyframes portfolioBadgeGlow {
    0%, 100% {
        box-shadow: 0 0 20px rgba(255, 107, 0, 0.2);
    }
    50% {
        box-shadow: 0 0 30px rgba(255, 107, 0, 0.4), 0 0 60px rgba(255, 107, 0, 0.2);
    }
}

/* Animated Stats Numbers */
.portfolio-stat .stat-number {
    animation: portfolioStatPulse 2s ease-in-out infinite;
}

.portfolio-stat:nth-child(1) .stat-number { animation-delay: 0s; }
.portfolio-stat:nth-child(2) .stat-number { animation-delay: 0.3s; }
.portfolio-stat:nth-child(3) .stat-number { animation-delay: 0.6s; }

@keyframes portfolioStatPulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

/* Portfolio Grid Section */
.portfolio-grid-section {
    padding: 60px 0;
}

.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 30px;
}

/* Portfolio Card */
.portfolio-card {
    position: relative;
}

.portfolio-card-inner {
    position: relative;
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.9), rgba(20, 20, 20, 0.95));
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.portfolio-card:hover .portfolio-card-inner {
    transform: translateY(-8px);
    border-color: rgba(255, 107, 0, 0.3);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4), 0 0 40px rgba(255, 107, 0, 0.1);
}

.portfolio-card-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 10;
}

.portfolio-card-badge.live {
    background: linear-gradient(135deg, #10b981, #059669);
    color: #fff;
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
}

.portfolio-card-badge.coming-soon {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.05));
    color: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.portfolio-card-image {
    height: 140px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.1), rgba(255, 107, 0, 0.02));
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.portfolio-card-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 50% 120%, rgba(255, 107, 0, 0.15), transparent 70%);
}

.portfolio-card-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.2), rgba(255, 107, 0, 0.1));
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    transition: all 0.3s ease;
}

.portfolio-card:hover .portfolio-card-icon {
    transform: scale(1.1);
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.3), rgba(255, 107, 0, 0.15));
    box-shadow: 0 0 30px rgba(255, 107, 0, 0.3);
}

.portfolio-card-icon svg {
    width: 32px;
    height: 32px;
    stroke: var(--primary-orange);
}

.portfolio-card-content {
    padding: 25px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.portfolio-card-category {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--primary-orange);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.portfolio-card-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 12px;
    line-height: 1.3;
}

.portfolio-card-description {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.6;
    margin-bottom: 15px;
    flex: 1;
}

.portfolio-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 15px;
}

.portfolio-card-tags .tag {
    padding: 5px 12px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 500;
}

.portfolio-card-client {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.portfolio-card-client .client-label {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.4);
}

.portfolio-card-client .client-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--white);
}

.portfolio-card-footer {
    padding: 0 25px 25px;
}

.btn-portfolio-demo {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    border-radius: 12px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-portfolio-demo.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Portfolio More Note */
.portfolio-more-note {
    margin-top: 60px;
}

.more-note-content {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 25px 30px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.1), rgba(255, 107, 0, 0.02));
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 16px;
}

.more-note-icon {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.2), rgba(255, 107, 0, 0.1));
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.more-note-icon svg {
    stroke: var(--primary-orange);
}

.more-note-text {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
}

.more-note-text strong {
    color: var(--white);
}

.more-note-text a {
    color: var(--primary-orange);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(255, 107, 0, 0.3);
    transition: all 0.3s ease;
}

.more-note-text a:hover {
    text-decoration-color: var(--primary-orange);
}

/* Portfolio Demo Section */
.portfolio-demo-section {
    padding: 80px 0 100px;
    background: linear-gradient(180deg, #0a0a0a 0%, #0d0d0d 100%);
}

.portfolio-demo-container {
    background: linear-gradient(145deg, rgba(25, 25, 25, 0.9), rgba(15, 15, 15, 0.95));
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    height: calc(100vh - 80px);
    min-height: 900px;
    max-height: 1080px;
}

/* Demo Notice Banner - Compact */
.demo-notice-banner {
    padding: 6px 20px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.08), rgba(255, 107, 0, 0.02));
    border-bottom: 1px solid rgba(255, 107, 0, 0.15);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}

.demo-notice-banner .notice-primary {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.9);
}

.demo-notice-banner .notice-primary svg {
    stroke: var(--primary-orange);
    flex-shrink: 0;
    width: 14px;
    height: 14px;
}

.demo-notice-banner .notice-primary strong {
    color: var(--primary-orange);
}

.demo-notice-banner .notice-secondary {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.5);
    padding-left: 0;
}

.demo-notice-banner .notice-secondary svg {
    stroke: rgba(255, 255, 255, 0.4);
    flex-shrink: 0;
}

.demo-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    background: linear-gradient(180deg, rgba(255, 107, 0, 0.1), rgba(255, 107, 0, 0.02));
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    flex-shrink: 0;
}

/* Demo Header CTA Buttons */
.demo-header-cta {
    display: flex;
    gap: 8px;
}

.demo-header-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
}

.demo-header-btn:hover {
    background: rgba(255, 107, 0, 0.15);
    border-color: rgba(255, 107, 0, 0.3);
    color: var(--primary-orange);
}

.demo-header-btn svg {
    stroke: currentColor;
    flex-shrink: 0;
}

.demo-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.demo-project-name {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--white);
}

.demo-client {
    font-size: 0.75rem;
    color: var(--primary-orange);
    font-weight: 500;
}

.demo-controls {
    display: flex;
    gap: 8px;
}

.demo-control-btn {
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: rgba(255, 255, 255, 0.6);
}

.demo-control-btn:hover {
    background: rgba(255, 107, 0, 0.15);
    border-color: rgba(255, 107, 0, 0.3);
    color: var(--primary-orange);
}

.demo-control-btn svg {
    stroke: currentColor;
}

/* Fullscreen/Expand Button - Highly Visible with Orange Pulse */
#demo-fullscreen {
    width: 42px;
    height: 42px;
    background: linear-gradient(135deg, #ff6b00, #e65a00);
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-radius: 12px;
    color: white;
    box-shadow: 0 4px 15px rgba(255, 107, 0, 0.5),
                0 0 25px rgba(255, 107, 0, 0.3),
                inset 0 1px 0 rgba(255, 255, 255, 0.2);
    animation: expandBtnPulse 2s ease-in-out infinite;
    position: relative;
}

#demo-fullscreen::before {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff6b00, #ff8533, #ff6b00);
    z-index: -1;
    opacity: 0.5;
    animation: expandBtnGlow 2s ease-in-out infinite;
}

#demo-fullscreen svg {
    stroke: white;
    stroke-width: 2.5;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
}

#demo-fullscreen:hover {
    background: linear-gradient(135deg, #ff8020, #ff6b00);
    transform: scale(1.1);
    box-shadow: 0 6px 25px rgba(255, 107, 0, 0.7),
                0 0 40px rgba(255, 107, 0, 0.5),
                inset 0 1px 0 rgba(255, 255, 255, 0.3);
    animation: none;
    border-color: rgba(255, 255, 255, 0.6);
}

#demo-fullscreen:hover::before {
    animation: none;
    opacity: 0.7;
}

#demo-fullscreen:active {
    transform: scale(0.95);
}

/* Pulse Animation for Expand Button */
@keyframes expandBtnPulse {
    0%, 100% {
        box-shadow: 0 4px 15px rgba(255, 107, 0, 0.5),
                    0 0 25px rgba(255, 107, 0, 0.3),
                    inset 0 1px 0 rgba(255, 255, 255, 0.2);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 6px 30px rgba(255, 107, 0, 0.7),
                    0 0 40px rgba(255, 107, 0, 0.5),
                    0 0 0 6px rgba(255, 107, 0, 0.15),
                    inset 0 1px 0 rgba(255, 255, 255, 0.2);
        transform: scale(1.05);
    }
}

@keyframes expandBtnGlow {
    0%, 100% {
        opacity: 0.4;
    }
    50% {
        opacity: 0.7;
    }
}

.demo-frame-wrapper {
    position: relative;
    width: 100%;
    flex: 1;
    min-height: 0;
    background: #0a0a0a;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--primary-orange) rgba(255, 255, 255, 0.05);
}

.demo-frame-wrapper::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.demo-frame-wrapper::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 5px;
}

.demo-frame-wrapper::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--primary-orange), #ff8533);
    border-radius: 5px;
    border: 2px solid rgba(0, 0, 0, 0.3);
}

.demo-frame-wrapper::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #ff8533, var(--primary-orange));
}

.demo-frame-wrapper::-webkit-scrollbar-corner {
    background: rgba(255, 255, 255, 0.05);
}

.demo-loading {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #0a0a0a;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.demo-loading.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.demo-loader {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.demo-loader .loader-spinner {
    width: 50px;
    height: 50px;
    border: 3px solid rgba(255, 107, 0, 0.1);
    border-top-color: var(--primary-orange);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.demo-loader span {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9rem;
}

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

.demo-iframe {
    width: 100%;
    height: 100%;
    border: none;
    background: #fff;
}

/* Demo Credentials Banner (Top) - Compact */
.demo-credentials-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 15px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.15), rgba(255, 107, 0, 0.05));
    border: 1px solid rgba(255, 107, 0, 0.25);
    border-radius: 6px;
    margin: 0;
    flex-shrink: 0;
}

.credentials-content {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.8rem;
}

.credentials-content svg {
    stroke: var(--primary-orange);
    flex-shrink: 0;
}

.credentials-text {
    color: rgba(255, 255, 255, 0.9);
}

.credentials-text strong {
    color: var(--primary-orange);
    margin-right: 6px;
}

.credentials-info {
    color: rgba(255, 255, 255, 0.7);
}

.credentials-info code {
    background: rgba(255, 107, 0, 0.2);
    color: var(--primary-orange);
    padding: 2px 8px;
    border-radius: 4px;
    font-family: 'Monaco', 'Consolas', monospace;
    font-size: 0.85rem;
    font-weight: 600;
}

/* Legacy - can be removed */
.demo-footer {
    display: none;
}

.demo-credentials svg {
    stroke: var(--primary-orange);
    flex-shrink: 0;
}

.demo-credentials code {
    background: rgba(255, 107, 0, 0.15);
    color: var(--primary-orange);
    padding: 3px 8px;
    border-radius: 4px;
    font-family: 'Monaco', 'Consolas', monospace;
    font-size: 0.8rem;
}

/* Portfolio Card Logo */
.portfolio-card-logo {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.portfolio-card-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* APEX Logo Placeholder */
.apex-logo-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.apex-text {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--primary-orange);
    letter-spacing: 4px;
    text-shadow: 0 2px 10px rgba(255, 107, 0, 0.3);
}

.apex-subtext {
    font-size: 0.85rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-top: 5px;
}

/* Full Width Container for Demo */
.container-full {
    width: 96%;
    max-width: 2600px;
    margin: 0 auto;
    padding: 0 10px;
}

/* Two-Column Demo Showcase Layout (Preview + Combined Info Panel) */
.demo-showcase-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 15px;
    align-items: stretch;
    /* Match the height of demo-frame-wrapper - viewport responsive */
    grid-template-rows: calc(100vh - 100px);
}

/* Hide left panel - content merged into right panel */
.demo-panel-left {
    display: none !important;
}

/* Demo Info Panels */
.demo-info-panel {
    background: linear-gradient(145deg, rgba(25, 25, 25, 0.95), rgba(15, 15, 15, 0.98));
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: calc(100vh - 80px);
    min-height: 900px;
    max-height: 1080px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 107, 0, 0.3) transparent;
}

.demo-info-panel::-webkit-scrollbar {
    width: 6px;
}

.demo-info-panel::-webkit-scrollbar-track {
    background: transparent;
}

.demo-info-panel::-webkit-scrollbar-thumb {
    background: rgba(255, 107, 0, 0.3);
    border-radius: 3px;
}

/* Right panel specific fixes */
.demo-panel-right {
    height: 100%;
}

.demo-panel-right .demo-tech-details {
    padding-bottom: 20px;
}

.info-panel-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 22px;
    background: linear-gradient(180deg, rgba(255, 107, 0, 0.12), rgba(255, 107, 0, 0.03));
    border-bottom: 1px solid rgba(255, 107, 0, 0.15);
}

.info-panel-header .panel-icon {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, var(--primary-orange), #ff8c00);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(255, 107, 0, 0.3);
}

.info-panel-header .panel-icon svg {
    stroke: white;
}

.info-panel-header h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--white);
    margin: 0;
}

.info-panel-content {
    padding: 20px;
    flex: 1;
    overflow-y: auto;
    max-height: none;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 107, 0, 0.3) transparent;
    display: flex;
    flex-direction: column;
}

/* Left panel specific - ensure CTA always visible */
.demo-panel-left {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.demo-panel-left .info-panel-content {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.demo-panel-left .panel-cta-compact {
    flex-shrink: 0;
    margin: 0;
    border-radius: 0 0 16px 16px;
    border-top: 1px solid rgba(255, 107, 0, 0.15);
}

.info-panel-content::-webkit-scrollbar {
    width: 6px;
}

.info-panel-content::-webkit-scrollbar-track {
    background: transparent;
}

.info-panel-content::-webkit-scrollbar-thumb {
    background: rgba(255, 107, 0, 0.3);
    border-radius: 3px;
}

.info-panel-content::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 107, 0, 0.5);
}

/* Feature Groups */
.feature-group {
    margin-bottom: 22px;
}

.feature-group:last-child {
    margin-bottom: 0;
}

.feature-group h4 {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--white);
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.feature-group h4 svg {
    stroke: var(--primary-orange);
    flex-shrink: 0;
}

.feature-group ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.feature-group ul li {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.7);
    padding: 5px 0 5px 20px;
    position: relative;
    line-height: 1.4;
}

.feature-group ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    width: 6px;
    height: 6px;
    background: var(--primary-orange);
    border-radius: 50%;
}

/* Compact CTA for Left Panel */
.panel-cta-compact {
    margin-top: auto;
    padding: 16px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.08), rgba(255, 107, 0, 0.02));
    border: 1px solid rgba(255, 107, 0, 0.15);
    border-radius: 12px;
    text-align: center;
}

.cta-compact-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 8px;
}

.cta-compact-header svg {
    stroke: var(--primary-orange);
    fill: none;
}

.cta-compact-header span {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--white);
}

.cta-compact-text {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.6);
    margin: 0 0 12px 0;
    line-height: 1.4;
}

.cta-compact-buttons {
    display: flex;
    gap: 8px;
}

.cta-compact-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cta-compact-btn.primary {
    background: linear-gradient(135deg, var(--primary-orange), #ff8c00);
    color: white;
    border: none;
    box-shadow: 0 4px 12px rgba(255, 107, 0, 0.3);
}

.cta-compact-btn.primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(255, 107, 0, 0.4);
}

.cta-compact-btn.secondary {
    background: transparent;
    color: var(--primary-orange);
    border: 1px solid rgba(255, 107, 0, 0.4);
}

.cta-compact-btn.secondary:hover {
    background: rgba(255, 107, 0, 0.1);
    border-color: var(--primary-orange);
}

.cta-compact-btn svg {
    stroke: currentColor;
    flex-shrink: 0;
}

.cta-compact-btn.full-width {
    width: 100%;
    justify-content: center;
    padding: 12px 16px;
    font-size: 0.9rem;
}

/* ============================================
   WIDGET DYNAMIC CONTENT (Left Panel)
   ============================================ */
.widget-description {
    margin-bottom: 20px;
}

.widget-desc-content {
    padding: 0;
}

.widget-desc-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--primary-orange);
    margin: 0 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.widget-desc-title svg {
    stroke: var(--primary-orange);
    flex-shrink: 0;
}

.widget-desc-content p {
    font-size: 0.85rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
}

/* Widget Features Section */
.widget-features-section {
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.widget-features-section .section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--primary-orange);
    margin: 0 0 14px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.widget-features-section .section-title svg {
    stroke: var(--primary-orange);
    flex-shrink: 0;
}

.widget-feature-item {
    display: flex;
    gap: 12px;
    margin-bottom: 14px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.3s ease;
}

.widget-feature-item:last-child {
    margin-bottom: 0;
}

.widget-feature-item:hover {
    background: rgba(255, 107, 0, 0.08);
    border-color: rgba(255, 107, 0, 0.15);
}

.widget-feature-item .feature-icon {
    width: 36px;
    height: 36px;
    background: rgba(255, 107, 0, 0.15);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.widget-feature-item .feature-icon svg {
    stroke: var(--primary-orange);
}

.widget-feature-item .feature-content {
    flex: 1;
    min-width: 0;
}

.widget-feature-item .feature-content strong {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 4px;
}

.widget-feature-item .feature-content p {
    font-size: 0.8rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
}

/* Widget Integrations Section */
.widget-integrations-section {
    margin-bottom: 10px;
}

.widget-integrations-section .section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--primary-orange);
    margin: 0 0 14px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.widget-integrations-section .section-title svg {
    stroke: var(--primary-orange);
    flex-shrink: 0;
}

.widget-integration-item {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    border-left: 3px solid var(--primary-orange);
    margin-bottom: 10px;
}

.widget-integration-item:last-child {
    margin-bottom: 0;
}

.widget-integration-item strong {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--white);
}

.widget-integration-item span {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.6);
}

/* Zoho Integrations Section */
.zoho-integrations-section {
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.zoho-integrations-section h4 {
    font-size: 0.8rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    margin: 0 0 12px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.integration-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.integration-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: rgba(255, 107, 0, 0.08);
    border: 1px solid rgba(255, 107, 0, 0.15);
    border-radius: 10px;
    transition: all 0.3s ease;
}

.integration-item:hover {
    background: rgba(255, 107, 0, 0.12);
    border-color: rgba(255, 107, 0, 0.25);
    transform: translateX(3px);
}

.integration-icon {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex-shrink: 0;
}

.integration-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.integration-info strong {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--white);
}

.integration-info span {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.6);
}

/* Integration Benefits Section (Left Panel) */
.integration-benefits-section {
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.integration-benefits-section .section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--primary-orange);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px 0;
}

.integration-benefits-section .section-title svg {
    stroke: var(--primary-orange);
}

.integration-benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px;
    background: rgba(255, 107, 0, 0.06);
    border: 1px solid rgba(255, 107, 0, 0.12);
    border-radius: 10px;
    margin-bottom: 8px;
    transition: all 0.3s ease;
}

.integration-benefit-item:last-child {
    margin-bottom: 0;
}

.integration-benefit-item:hover {
    background: rgba(255, 107, 0, 0.1);
    border-color: rgba(255, 107, 0, 0.2);
}

.benefit-icon {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex-shrink: 0;
}

.benefit-content {
    flex: 1;
}

.benefit-content strong {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 3px;
}

.benefit-content p {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.4;
    margin: 0;
}

/* Tech Stack Section */
.tech-stack-section {
    margin-bottom: 20px;
}

.tech-stack-section h4,
.expertise-section h4,
.build-time-section h4,
.zoho-integrations-section h4 {
    font-size: 0.8rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    margin: 0 0 12px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tech-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tech-badge {
    display: inline-flex;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.8);
    transition: all 0.3s ease;
}

.tech-badge.zoho {
    background: rgba(220, 38, 38, 0.15);
    border-color: rgba(220, 38, 38, 0.3);
    color: #ef4444;
}

.tech-badge.js {
    background: rgba(234, 179, 8, 0.15);
    border-color: rgba(234, 179, 8, 0.3);
    color: #eab308;
}

.tech-badge.css {
    background: rgba(59, 130, 246, 0.15);
    border-color: rgba(59, 130, 246, 0.3);
    color: #3b82f6;
}

.tech-badge.api {
    background: rgba(34, 197, 94, 0.15);
    border-color: rgba(34, 197, 94, 0.3);
    color: #22c55e;
}

.tech-badge.charts {
    background: rgba(168, 85, 247, 0.15);
    border-color: rgba(168, 85, 247, 0.3);
    color: #a855f7;
}

.tech-badge.i18n {
    background: rgba(236, 72, 153, 0.15);
    border-color: rgba(236, 72, 153, 0.3);
    color: #ec4899;
}

/* Expertise Section */
.expertise-section {
    margin-bottom: 24px;
}

.expertise-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.expertise-item:last-child {
    border-bottom: none;
}

.expertise-icon {
    width: 36px;
    height: 36px;
    background: rgba(255, 107, 0, 0.1);
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.expertise-icon svg {
    stroke: var(--primary-orange);
}

.expertise-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.expertise-text strong {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--white);
}

.expertise-text span {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.5);
}

/* Build Time / Scope Section */
.build-time-section {
    background: rgba(255, 107, 0, 0.05);
    border: 1px solid rgba(255, 107, 0, 0.1);
    border-radius: 12px;
    padding: 18px;
}

.scope-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.scope-stat {
    text-align: center;
}

.scope-stat .scope-number {
    display: block;
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--primary-orange);
    line-height: 1.2;
}

.scope-stat .scope-label {
    display: block;
    font-size: 0.68rem;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-top: 4px;
}

/* =====================================================
   EXPERTISE RECOGNITION SECTION
   ===================================================== */

.expertise-recognition {
    margin-top: 40px;
    max-width: 100%;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
}

.expertise-recognition-content {
    background: linear-gradient(145deg, rgba(255, 107, 0, 0.08), rgba(255, 107, 0, 0.02));
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 16px;
    padding: 20px 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.recognition-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: linear-gradient(135deg, var(--primary-orange), #ff8c00);
    border-radius: 30px;
    flex-shrink: 0;
}

.recognition-badge svg {
    stroke: white;
    width: 18px;
    height: 18px;
}

.recognition-badge span {
    font-size: 0.75rem;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.recognition-text {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.5;
    margin: 0;
    flex: 1;
    min-width: 300px;
    text-align: center;
}

.recognition-text strong {
    color: #ffb347;
    text-shadow: 0 0 10px rgba(255, 179, 71, 0.5);
}

.recognition-highlights {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
}

.highlight-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 30px;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.9);
    white-space: nowrap;
    transition: all 0.3s ease;
}

.highlight-item:hover {
    background: rgba(255, 107, 0, 0.1);
    border-color: rgba(255, 107, 0, 0.3);
    transform: translateY(-2px);
}

.highlight-icon {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, var(--primary-orange), #ff8c00);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    box-shadow: 0 4px 15px rgba(255, 107, 0, 0.4);
    animation: iconPulseGlow 2s ease-in-out infinite;
}

.highlight-icon::before {
    content: '';
    position: absolute;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: -3px;
    background: linear-gradient(135deg, var(--primary-orange), #ff8c00);
    border-radius: 50%;
    z-index: -1;
    opacity: 0.3;
    animation: iconRingPulse 2s ease-in-out infinite;
}

@keyframes iconPulseGlow {
    0%, 100% {
        box-shadow: 0 4px 15px rgba(255, 107, 0, 0.4);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 6px 25px rgba(255, 107, 0, 0.6);
        transform: scale(1.05);
    }
}

@keyframes iconRingPulse {
    0%, 100% {
        opacity: 0.3;
        transform: scale(1);
    }
    50% {
        opacity: 0.5;
        transform: scale(1.15);
    }
}

.highlight-item:nth-child(1) .highlight-icon {
    animation-delay: 0s;
}

.highlight-item:nth-child(2) .highlight-icon {
    animation-delay: 0.3s;
}

.highlight-item:nth-child(3) .highlight-icon {
    animation-delay: 0.6s;
}

.highlight-item:nth-child(1) .highlight-icon::before {
    animation-delay: 0s;
}

.highlight-item:nth-child(2) .highlight-icon::before {
    animation-delay: 0.3s;
}

.highlight-item:nth-child(3) .highlight-icon::before {
    animation-delay: 0.6s;
}

.highlight-icon svg {
    stroke: white;
    width: 20px;
    height: 20px;
}

.recognition-note {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
    font-style: italic;
    width: 100%;
    text-align: center;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 5px;
}

.recognition-note em {
    color: rgba(255, 255, 255, 0.8);
    font-style: normal;
    font-weight: 600;
}

/* Expertise Badge (compact version for other pages) */
.expertise-badge-inline {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 12px 22px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.15), rgba(255, 107, 0, 0.05));
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 50px;
    margin: 20px 0;
}

.expertise-badge-inline .badge-icon {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, var(--primary-orange), #ff8c00);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.expertise-badge-inline .badge-icon svg {
    width: 16px;
    height: 16px;
    stroke: white;
}

.expertise-badge-inline .badge-text {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.9);
}

.expertise-badge-inline .badge-text strong {
    color: var(--primary-orange);
}

.expertise-badge-inline .badge-text a {
    color: var(--primary-orange);
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.expertise-badge-inline .badge-text a:hover {
    color: #ff8c00;
    text-decoration: underline;
}

/* Expertise Floating Banner */
.expertise-floating-banner {
    position: relative;
    background: linear-gradient(90deg, rgba(255, 107, 0, 0.1), rgba(255, 107, 0, 0.05), rgba(255, 107, 0, 0.1));
    border-top: 1px solid rgba(255, 107, 0, 0.2);
    border-bottom: 1px solid rgba(255, 107, 0, 0.2);
    padding: 15px 30px;
    text-align: center;
    overflow: hidden;
    margin-top: 30px;
}

.expertise-floating-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 107, 0, 0.1), transparent);
    animation: bannerShine 3s linear infinite;
}

@keyframes bannerShine {
    0% { left: -100%; }
    100% { left: 100%; }
}

.expertise-floating-banner p {
    margin: 0 auto;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8);
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 900px;
}

.expertise-floating-banner strong {
    color: var(--primary-orange);
}

.expertise-floating-banner a {
    color: var(--primary-orange);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Modal Expertise Banner (for service modals) */
.modal-expertise-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 20px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.1), rgba(255, 107, 0, 0.05));
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 12px;
    margin-bottom: 20px;
}

.modal-expertise-banner .expertise-icon {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, var(--primary-orange), #ff8c00);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.modal-expertise-banner .expertise-icon svg {
    width: 18px;
    height: 18px;
    stroke: white;
    fill: rgba(255, 255, 255, 0.3);
}

.modal-expertise-banner p {
    margin: 0;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.85);
}

.modal-expertise-banner strong {
    color: var(--primary-orange);
}

.modal-expertise-banner a {
    color: var(--primary-orange);
    text-decoration: none;
    font-weight: 600;
}

.modal-expertise-banner a:hover {
    text-decoration: underline;
}

/* =====================================================
   DEMO LAUNCHER STATE - Metro Tiles
   ===================================================== */

.demo-launcher-state {
    padding: 40px 0;
}

.demo-launcher-content {
    text-align: center;
    margin-bottom: 50px;
}

/* Animated Logo Container */
.launcher-logo-container {
    position: relative;
    width: 180px;
    height: 180px;
    margin: 0 auto 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.launcher-logo {
    width: 120px;
    height: auto;
    position: relative;
    z-index: 2;
    filter: drop-shadow(0 0 20px rgba(255, 107, 0, 0.3));
}

.launcher-logo.animated-logo {
    animation: logoFloat 3s ease-in-out infinite;
}

@keyframes logoFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-10px) scale(1.05); }
}

.launcher-pulse-ring {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 2px solid rgba(255, 107, 0, 0.3);
    border-radius: 50%;
    animation: pulseRing 2s ease-out infinite;
}

.launcher-pulse-ring.delay-1 {
    animation-delay: 0.5s;
}

.launcher-pulse-ring.delay-2 {
    animation-delay: 1s;
}

@keyframes pulseRing {
    0% {
        transform: scale(0.8);
        opacity: 1;
    }
    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

.launcher-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--white);
    margin: 0 0 10px 0;
}

.launcher-subtitle {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
}

/* Metro Tiles Grid */
.metro-tiles-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 15px;
    max-width: 900px;
    margin: 0 auto;
}

.metro-tile {
    background: linear-gradient(145deg, rgba(30, 35, 45, 0.95), rgba(20, 25, 35, 0.98));
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 25px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
}

.metro-tile::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, rgba(255, 107, 0, 0.5), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.metro-tile:hover::before {
    opacity: 1;
}

.metro-tile:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 107, 0, 0.3);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(255, 107, 0, 0.1);
}

/* Large tile - spans 2 rows */
.metro-tile.tile-large {
    grid-row: span 2;
    background: linear-gradient(145deg, var(--primary-orange), #ff8c00);
    border-color: rgba(255, 140, 0, 0.5);
}

.metro-tile.tile-large:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 25px 50px rgba(255, 107, 0, 0.3);
}

.metro-tile.tile-large .metro-tile-icon {
    width: 80px;
    height: 80px;
    margin-bottom: 20px;
}

.metro-tile.tile-large .metro-tile-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.metro-tile.tile-large .metro-tile-content h4 {
    font-size: 1.5rem;
    color: white;
    margin: 0 0 10px 0;
}

.metro-tile.tile-large .metro-tile-content p {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.5;
    margin: 0;
}

.metro-tile.tile-large .metro-tile-badge {
    background: rgba(255, 255, 255, 0.2);
    color: white;
}

/* Medium tiles */
.metro-tile.tile-medium {
    min-height: 140px;
}

/* Small tiles */
.metro-tile.tile-small {
    min-height: 100px;
    padding: 20px;
}

.metro-tile-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 15px;
}

.metro-tile-icon svg {
    width: 100%;
    height: 100%;
    stroke: var(--primary-orange);
}

.metro-tile-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.metro-tile h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--white);
    margin: 0;
}

.metro-tile-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.metro-tile-badge.live {
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: white;
    animation: livePulse 2s ease-in-out infinite;
}

@keyframes livePulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.4); }
    50% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
}

.metro-tile-badge.coming {
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Disabled tiles */
.metro-tile[data-project]:not([data-project="access-pros"]) {
    opacity: 0.6;
    cursor: not-allowed;
}

.metro-tile[data-project]:not([data-project="access-pros"]):hover {
    transform: none;
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
}

/* =====================================================
   DEMO ACTIVE STATE
   ===================================================== */

.demo-active-state.hidden {
    display: none;
}

/* Quick Switcher */
.demo-quick-switcher {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    padding: 15px 20px;
    background: rgba(20, 20, 25, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
}

.switcher-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.switcher-thumbnails {
    display: flex;
    gap: 8px;
}

.switcher-thumb {
    min-width: 70px;
    padding: 10px 12px 8px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.switcher-thumb .thumb-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    padding: 5px;
}

.switcher-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.switcher-thumb svg {
    width: 20px;
    height: 20px;
    stroke: rgba(255, 255, 255, 0.5);
}

.switcher-thumb .thumb-label {
    font-size: 9px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
    transition: color 0.3s ease;
}

.switcher-thumb:hover:not(.disabled) {
    background: rgba(255, 107, 0, 0.15);
    border-color: rgba(255, 107, 0, 0.3);
}

.switcher-thumb:hover:not(.disabled) .thumb-label {
    color: rgba(255, 255, 255, 0.8);
}

.switcher-thumb:hover:not(.disabled) svg {
    stroke: var(--primary-orange);
}

.switcher-thumb.active {
    background: rgba(255, 107, 0, 0.2);
    border-color: var(--primary-orange);
}

.switcher-thumb.active .thumb-icon {
    background: rgba(255, 107, 0, 0.25);
}

.switcher-thumb.active svg {
    stroke: var(--primary-orange);
}

.switcher-thumb.active .thumb-label {
    color: var(--primary-orange);
    font-weight: 600;
}

.switcher-thumb.active img {
    filter: none;
}

.switcher-thumb.disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Demo Transition Overlay */
.demo-transition-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(145deg, #0a0a0a, #0d0d0d);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.demo-transition-overlay.active {
    opacity: 1;
    visibility: visible;
}

.transition-content {
    text-align: center;
}

.transition-logo {
    width: 100px;
    height: auto;
    margin-bottom: 20px;
}

/* Random transition logo animations */
.transition-logo.anim-pulse {
    animation: transitionPulse 1.5s ease-in-out infinite;
}

.transition-logo.anim-spin {
    animation: transitionSpin 2s linear infinite;
}

.transition-logo.anim-fade {
    animation: transitionFade 1.5s ease-in-out infinite;
}

@keyframes transitionPulse {
    0%, 100% { transform: scale(1); opacity: 0.8; }
    50% { transform: scale(1.15); opacity: 1; }
}

@keyframes transitionSpin {
    0% { transform: rotate(0deg) scale(1); }
    50% { transform: rotate(180deg) scale(1.1); }
    100% { transform: rotate(360deg) scale(1); }
}

@keyframes transitionFade {
    0%, 100% { opacity: 0.5; transform: scale(0.95); }
    50% { opacity: 1; transform: scale(1.05); }
}

.transition-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(255, 107, 0, 0.15);
    border-top-color: var(--primary-orange);
    border-radius: 50%;
    margin: 0 auto 15px;
    animation: spin 1s linear infinite;
}

.transition-text {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9rem;
}

/* =====================================================
   IN-PREVIEW LAUNCHER STATE - MODERN CARD GALLERY
   ===================================================== */

/* Launcher State Container */
.demo-launcher-state.in-preview {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #0a0a0f 0%, #12121a 50%, #0a0a0f 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    z-index: 5;
    animation: fadeIn 0.4s ease-out;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--primary-orange) rgba(255, 255, 255, 0.05);
}

.demo-launcher-state.in-preview::-webkit-scrollbar {
    width: 8px;
}

.demo-launcher-state.in-preview::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 4px;
}

.demo-launcher-state.in-preview::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--primary-orange), #ff8533);
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.2);
}

.demo-launcher-state.in-preview::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #ff8533, #ffaa00);
}

/* Subtle animated background pattern */
.demo-launcher-state.in-preview::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(circle at 15% 25%, rgba(255, 107, 0, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 85% 75%, rgba(255, 140, 50, 0.02) 0%, transparent 50%);
    pointer-events: none;
}

.demo-launcher-state.in-preview.hidden {
    display: none;
}

.demo-launcher-state.in-preview.fade-out {
    animation: fadeOut 0.4s ease-out forwards;
}

/* Network Container - Modern Grid Layout */
.network-container {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
    flex-shrink: 0;
}

/* SVG Connection Lines - Hidden in new layout */
.network-lines {
    display: none;
}

.network-line,
.network-line-secondary {
    display: none;
}

/* Gallery Header - Replaces Central Hub */
.network-hub {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 12px 16px 15px;
    background: linear-gradient(180deg, rgba(255, 107, 0, 0.05) 0%, transparent 100%);
    border-radius: 12px;
    border: 1px solid rgba(255, 107, 0, 0.1);
    z-index: 15;
}

.hub-pulse {
    display: none;
}

.hub-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.hub-idle {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.hub-idle svg {
    stroke: var(--primary-orange);
    opacity: 0.8;
    width: 36px;
    height: 36px;
}

.hub-idle span {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.hub-idle .hub-subtitle {
    color: var(--primary-orange);
    font-size: 0.85rem;
    font-weight: 500;
    opacity: 0.9;
}

.hub-ready {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;
    justify-content: center;
}

.hub-ready.hidden {
    display: none;
}

.hub-project-name {
    color: var(--white);
    font-size: 1.15rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.3;
}

.hub-launch-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--primary-orange), #ff8c00);
    border: none;
    color: white;
    padding: 12px 28px;
    border-radius: 25px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(255, 107, 0, 0.4);
    animation: launchBtnBounce 1.5s ease-in-out infinite;
}

@keyframes launchBtnBounce {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 4px 20px rgba(255, 107, 0, 0.4);
    }
    50% {
        transform: scale(1.08);
        box-shadow: 0 6px 30px rgba(255, 107, 0, 0.6);
    }
}

.hub-launch-btn:hover {
    animation: none;
    transform: scale(1.1);
    box-shadow: 0 8px 35px rgba(255, 107, 0, 0.6);
}

.hub-launch-btn svg {
    width: 16px;
    height: 16px;
    stroke: white;
    fill: white;
}

/* Cards Grid Container - 5x2 Layout */
.network-cards-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    width: 100%;
    padding: 10px;
}

/* Network Nodes - Modern Grid Cards */
.network-node {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 200px;
    cursor: pointer;
    z-index: 20;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Subtle hover lift effect */
.network-node:hover {
    transform: translateY(-6px);
}

/* Node Position Classes - No longer needed for positioning, keep for compatibility */
.node-pos-1,
.node-pos-2,
.node-pos-3,
.node-pos-4,
.node-pos-5,
.node-pos-6,
.node-pos-7,
.node-pos-8,
.node-pos-9,
.node-pos-10 {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
    animation: none;
}

/* Node Glow Effect - Subtle for grid layout */
.node-glow {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at center, rgba(255, 107, 0, 0.08) 0%, transparent 70%);
    border-radius: 16px;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.network-node.available .node-glow {
    opacity: 1;
}

/* Node Content Wrapper - Card design */
.node-content {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 180px;
    background: linear-gradient(165deg, #16181f 0%, #0c0d12 100%);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px 16px 20px;
    gap: 12px;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

/* Subtle gradient overlay */
.node-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, transparent 100%);
    pointer-events: none;
    border-radius: 16px 16px 0 0;
}

/* Side accent line */
.node-content::after {
    content: '';
    position: absolute;
    top: 20%;
    left: 0;
    width: 3px;
    height: 60%;
    background: linear-gradient(180deg, transparent, rgba(255, 107, 0, 0.4), transparent);
    border-radius: 0 3px 3px 0;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.network-node:hover .node-content {
    border-color: rgba(255, 107, 0, 0.4);
    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.5),
        0 0 0 1px rgba(255, 107, 0, 0.1) inset;
    background: linear-gradient(165deg, #1c1f28 0%, #101218 100%);
}

.network-node:hover .node-content::after {
    opacity: 1;
}

.network-node.selected .node-content {
    border-color: var(--primary-orange);
    background: linear-gradient(165deg, #241a12 0%, #14110d 100%);
    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.5),
        0 0 25px rgba(255, 107, 0, 0.15),
        0 0 0 1px rgba(255, 107, 0, 0.2) inset;
}

.network-node.selected .node-content::after {
    opacity: 1;
    background: linear-gradient(180deg, transparent, var(--primary-orange), transparent);
}

.network-node.available .node-content {
    border-color: rgba(255, 107, 0, 0.15);
}

.network-node.disabled .node-content {
    opacity: 0.5;
}

.network-node.disabled:hover .node-content {
    border-color: rgba(255, 255, 255, 0.06);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

/* Icon container - Circular design */
.node-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.3s ease, background 0.3s ease;
    background: linear-gradient(145deg, rgba(255, 107, 0, 0.12), rgba(255, 107, 0, 0.04));
    border-radius: 14px;
    border: 1px solid rgba(255, 107, 0, 0.15);
    position: relative;
    z-index: 2;
}

.network-node.available .node-icon {
    background: linear-gradient(145deg, rgba(255, 107, 0, 0.18), rgba(255, 107, 0, 0.06));
    border-color: rgba(255, 107, 0, 0.25);
}

.network-node.disabled .node-icon {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02));
    border-color: rgba(255, 255, 255, 0.08);
}

/* Node Info Section */
.node-info {
    text-align: center;
    line-height: 1.4;
    width: 100%;
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.node-info h4 {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--white);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.node-category {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.45);
    font-weight: 500;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.network-node.available .node-info h4 {
    color: var(--white);
}

.network-node.selected .node-info h4 {
    color: var(--white);
}

.network-node.disabled {
    cursor: default;
}

/* Select Button - Compact with Pulse Animation */
.node-select-btn {
    width: 100%;
    padding: 10px 14px;
    background: linear-gradient(135deg, #ff6b00, #e65a00);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    color: white;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    position: relative;
    z-index: 2;
    margin-top: 6px;
    box-shadow: 0 4px 15px rgba(255, 107, 0, 0.5),
                0 0 20px rgba(255, 107, 0, 0.3),
                inset 0 1px 0 rgba(255, 255, 255, 0.2);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.node-select-btn:hover {
    background: linear-gradient(135deg, #ff8020, #ff6b00);
    box-shadow: 0 6px 25px rgba(255, 107, 0, 0.7),
                0 0 40px rgba(255, 107, 0, 0.5),
                inset 0 1px 0 rgba(255, 255, 255, 0.3);
    transform: scale(1.03);
    animation: none;
}

.node-select-btn:active {
    transform: scale(0.98);
}

.network-node.disabled .node-select-btn {
    background: linear-gradient(135deg, rgba(100, 100, 100, 0.4), rgba(80, 80, 80, 0.4));
    cursor: default;
    pointer-events: none;
    animation: none;
    box-shadow: none;
    border-color: rgba(255, 255, 255, 0.1);
}

.network-node.disabled .node-select-btn:hover {
    box-shadow: none;
    transform: none;
}

.node-icon svg {
    width: 28px;
    height: 28px;
    stroke: var(--primary-orange);
    transition: transform 0.3s ease, stroke 0.3s ease;
}

.network-node:hover .node-icon svg {
    transform: scale(1.1);
}

.network-node.disabled .node-icon svg {
    stroke: rgba(255, 255, 255, 0.45);
}

/* Node Badge - Positioned at top-right */
.node-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    z-index: 10;
    transition: transform 0.3s ease;
}

.network-node:hover .node-badge {
    transform: scale(1.05);
}

.node-badge.live {
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: white;
    box-shadow: 0 3px 12px rgba(34, 197, 94, 0.5);
    animation: badgePulse 2s ease-in-out infinite;
}

@keyframes badgePulse {
    0%, 100% { box-shadow: 0 3px 12px rgba(34, 197, 94, 0.5); }
    50% { box-shadow: 0 3px 20px rgba(34, 197, 94, 0.7); }
}

.node-badge.coming {
    background: rgba(60, 60, 70, 0.9);
    color: rgba(255, 255, 255, 0.6);
}

/* Complexity Level Badges */
.node-badge.advanced {
    background: linear-gradient(135deg, #8b5cf6, #7c3aed);
    color: white;
    box-shadow: 0 3px 12px rgba(139, 92, 246, 0.5);
    animation: badgePulseAdvanced 2s ease-in-out infinite;
}

@keyframes badgePulseAdvanced {
    0%, 100% { box-shadow: 0 3px 12px rgba(139, 92, 246, 0.5); }
    50% { box-shadow: 0 3px 20px rgba(139, 92, 246, 0.7); }
}

.node-badge.professional {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: white;
    box-shadow: 0 3px 12px rgba(59, 130, 246, 0.5);
    animation: badgePulsePro 2s ease-in-out infinite;
}

@keyframes badgePulsePro {
    0%, 100% { box-shadow: 0 3px 12px rgba(59, 130, 246, 0.5); }
    50% { box-shadow: 0 3px 20px rgba(59, 130, 246, 0.7); }
}

.node-badge.essential {
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
    box-shadow: 0 3px 12px rgba(16, 185, 129, 0.5);
    animation: badgePulseEssential 2s ease-in-out infinite;
}

@keyframes badgePulseEssential {
    0%, 100% { box-shadow: 0 3px 12px rgba(16, 185, 129, 0.5); }
    50% { box-shadow: 0 3px 20px rgba(16, 185, 129, 0.7); }
}

.node-badge.enterprise {
    background: linear-gradient(135deg, #7c3aed, #5b21b6);
    color: white;
    box-shadow: 0 3px 12px rgba(124, 58, 237, 0.5);
    animation: badgePulseEnterprise 2s ease-in-out infinite;
}

@keyframes badgePulseEnterprise {
    0%, 100% { box-shadow: 0 3px 12px rgba(124, 58, 237, 0.5); }
    50% { box-shadow: 0 3px 20px rgba(124, 58, 237, 0.7); }
}

.node-badge.devtool {
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
    box-shadow: 0 3px 12px rgba(16, 185, 129, 0.5);
    animation: badgePulseDevtool 2s ease-in-out infinite;
}

@keyframes badgePulseDevtool {
    0%, 100% { box-shadow: 0 3px 12px rgba(16, 185, 129, 0.5); }
    50% { box-shadow: 0 3px 20px rgba(16, 185, 129, 0.7); }
}

/* =====================================================
   DEMO INTRO MODAL STYLES
   ===================================================== */
.demo-intro-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.demo-intro-modal.visible {
    opacity: 1;
    visibility: visible;
}

.demo-intro-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(8px);
}

.demo-intro-content {
    position: relative;
    background: linear-gradient(145deg, #1a1a2e 0%, #16213e 100%);
    border-radius: 20px;
    max-width: 680px;
    width: 95%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.1);
    transform: scale(0.9) translateY(20px);
    transition: transform 0.3s ease;
}

.demo-intro-modal.visible .demo-intro-content {
    transform: scale(1) translateY(0);
}

.demo-intro-header {
    padding: 28px 32px 20px;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(255, 107, 0, 0.08) 0%, transparent 100%);
}

.demo-intro-badge {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
}

.demo-intro-badge.enterprise {
    background: linear-gradient(135deg, #7c3aed, #5b21b6);
    color: white;
}

.demo-intro-badge.advanced {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: white;
}

.demo-intro-badge.professional {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: white;
}

.demo-intro-badge.essential {
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
}

.demo-intro-badge.devtool {
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
}

.demo-intro-header h2 {
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 6px 0;
}

.demo-intro-client {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.9rem;
    margin: 0;
}

.demo-intro-body {
    padding: 24px 32px;
}

.demo-intro-description {
    margin-bottom: 20px;
}

.demo-intro-description p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
}

.demo-intro-features,
.demo-intro-integrations {
    margin-bottom: 20px;
}

.demo-intro-features h4,
.demo-intro-integrations h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0 0 12px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.demo-intro-features h4 svg,
.demo-intro-integrations h4 svg {
    color: #FF6B00;
}

.demo-intro-feature-list,
.demo-intro-integration-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.feature-tag,
.integration-tag {
    display: inline-block;
    padding: 6px 12px;
    background: rgba(255, 107, 0, 0.15);
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 6px;
    color: #FF6B00;
    font-size: 0.8rem;
    font-weight: 500;
}

.integration-tag {
    background: rgba(59, 130, 246, 0.15);
    border-color: rgba(59, 130, 246, 0.3);
    color: #60a5fa;
}

.demo-intro-disclaimer {
    display: flex;
    gap: 16px;
    padding: 20px;
    background: rgba(251, 191, 36, 0.08);
    border: 1px solid rgba(251, 191, 36, 0.2);
    border-radius: 12px;
    margin-top: 20px;
}

.disclaimer-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(251, 191, 36, 0.2);
    border-radius: 10px;
}

.disclaimer-icon svg {
    color: #fbbf24;
}

.disclaimer-content h4 {
    color: #fbbf24;
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0 0 8px 0;
}

.disclaimer-content p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
    line-height: 1.5;
    margin: 0 0 10px 0;
}

.disclaimer-content ul {
    margin: 0 0 12px 0;
    padding-left: 16px;
}

.disclaimer-content li {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.82rem;
    line-height: 1.6;
    margin-bottom: 6px;
}

.disclaimer-content li strong {
    color: rgba(255, 255, 255, 0.9);
}

.disclaimer-cta {
    color: rgba(255, 255, 255, 0.8) !important;
    font-style: italic;
}

.disclaimer-cta strong {
    color: #FF6B00 !important;
}

/* Live Tool Modal Styles (for JSON Parser Pro, etc.) */
.live-tool-modal .demo-intro-header {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(6, 182, 212, 0.1) 100%);
    border-bottom: 1px solid rgba(16, 185, 129, 0.2);
}

.live-tool-modal .demo-intro-icon {
    background: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);
    box-shadow: 0 8px 32px rgba(16, 185, 129, 0.4);
}

.live-tool-modal .demo-intro-title {
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.demo-intro-live-notice {
    display: flex;
    gap: 16px;
    padding: 20px;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.12) 0%, rgba(6, 182, 212, 0.08) 100%);
    border: 1px solid rgba(16, 185, 129, 0.3);
    border-radius: 12px;
    margin-bottom: 20px;
}

.live-notice-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.3) 0%, rgba(6, 182, 212, 0.2) 100%);
    border-radius: 12px;
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.live-notice-icon svg {
    color: #10b981;
}

.live-notice-content h4 {
    color: #10b981;
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 8px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.live-notice-content h4 span {
    background: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);
    color: white;
    font-size: 0.65rem;
    padding: 2px 8px;
    border-radius: 20px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.live-notice-content p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0;
}

.live-notice-content ul {
    margin: 12px 0;
    padding-left: 18px;
}

.live-notice-content li {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.85rem;
    line-height: 1.6;
    margin-bottom: 6px;
}

.live-notice-content li strong {
    color: #34d399;
}

.live-notice-cta {
    margin-top: 12px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    font-style: italic;
}

.live-notice-cta strong {
    color: #10b981 !important;
}

/* Live tool modal feature grid (green theme) */
.live-tool-modal .demo-intro-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.live-tool-modal .demo-intro-feature-item {
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.15);
}

.live-tool-modal .demo-intro-feature-item:hover {
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.25);
}

.live-tool-modal .demo-intro-feature-item strong {
    color: #10b981;
}

.live-tool-modal .demo-intro-features h4 {
    color: #34d399;
}

.live-tool-modal .demo-intro-features h4 svg {
    color: #10b981;
}

.live-tool-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}

.live-tool-feature {
    padding: 14px;
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.15);
    border-radius: 10px;
    transition: all 0.2s ease;
}

.live-tool-feature:hover {
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.25);
    transform: translateY(-2px);
}

.live-tool-feature strong {
    display: block;
    color: #10b981;
    font-size: 0.85rem;
    margin-bottom: 4px;
}

.live-tool-feature span {
    display: block;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.75rem;
    line-height: 1.4;
}

.live-tool-btn {
    width: 100%;
    padding: 16px 24px;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    border: none;
    border-radius: 12px;
    color: white;
    font-size: 1.05rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 4px 20px rgba(16, 185, 129, 0.4);
}

.live-tool-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(16, 185, 129, 0.5);
    background: linear-gradient(135deg, #34d399 0%, #10b981 100%);
}

.live-tool-btn svg {
    width: 20px;
    height: 20px;
}

.live-tool-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.8rem;
}

.live-tool-info svg {
    width: 16px;
    height: 16px;
    color: #10b981;
}

.demo-intro-footer {
    padding: 20px 32px 28px;
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.2);
}

/* Rich Feature Grid for Demo Intro */
.demo-intro-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.demo-intro-feature-item {
    padding: 12px;
    background: rgba(255, 107, 0, 0.08);
    border: 1px solid rgba(255, 107, 0, 0.15);
    border-radius: 8px;
    transition: all 0.2s ease;
}

.demo-intro-feature-item:hover {
    background: rgba(255, 107, 0, 0.12);
    border-color: rgba(255, 107, 0, 0.25);
}

.demo-intro-feature-item strong {
    display: block;
    color: #FF6B00;
    font-size: 0.85rem;
    margin-bottom: 4px;
}

.demo-intro-feature-item span {
    display: block;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.75rem;
    line-height: 1.4;
}

/* Skip Checkbox */
.demo-intro-skip-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    cursor: pointer;
    user-select: none;
}

.demo-intro-skip-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #FF6B00;
    cursor: pointer;
}

.demo-intro-skip-checkbox span {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.82rem;
    transition: color 0.2s ease;
}

.demo-intro-skip-checkbox:hover span {
    color: rgba(255, 255, 255, 0.7);
}

/* Accept Button with Pulse Animation */
.demo-intro-accept {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 32px;
    background: linear-gradient(135deg, #FF6B00, #ff8533);
    border: none;
    border-radius: 10px;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 107, 0, 0.4);
}

.demo-intro-accept.pulse-animation {
    animation: acceptButtonPulse 2s ease-in-out infinite;
}

@keyframes acceptButtonPulse {
    0%, 100% {
        box-shadow: 0 4px 15px rgba(255, 107, 0, 0.4);
    }
    50% {
        box-shadow: 0 4px 30px rgba(255, 107, 0, 0.7), 0 0 0 4px rgba(255, 107, 0, 0.2);
    }
}

.demo-intro-accept:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(255, 107, 0, 0.5);
    animation: none;
}

.demo-intro-accept:focus {
    outline: none;
    box-shadow: 0 4px 15px rgba(255, 107, 0, 0.4), 0 0 0 3px rgba(255, 107, 0, 0.3);
}

.demo-intro-accept:active {
    transform: translateY(0);
}

.demo-intro-credentials {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.82rem;
}

.demo-intro-credentials svg {
    color: rgba(255, 255, 255, 0.4);
}

.demo-intro-credentials strong {
    color: rgba(255, 255, 255, 0.8);
    font-family: 'SF Mono', Consolas, monospace;
    background: rgba(255, 255, 255, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
}

/* Mobile Responsive for Demo Intro Modal */
@media (max-width: 640px) {
    .demo-intro-content {
        max-width: 100%;
        margin: 10px;
        border-radius: 16px;
    }

    .demo-intro-header {
        padding: 20px 20px 16px;
    }

    .demo-intro-header h2 {
        font-size: 1.4rem;
    }

    .demo-intro-body {
        padding: 16px 20px;
    }

    .demo-intro-feature-grid {
        grid-template-columns: 1fr;
    }

    .demo-intro-disclaimer {
        flex-direction: column;
        padding: 16px;
    }

    .disclaimer-icon {
        width: 32px;
        height: 32px;
    }

    .demo-intro-footer {
        padding: 16px 20px 24px;
    }

    .demo-intro-accept {
        width: 100%;
        justify-content: center;
    }
}

/* =====================================================
   FLOATING EXIT BUTTON (Fullscreen Mode)
   ===================================================== */
.floating-exit-btn {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 999999;
    display: flex;
    align-items: center;
    gap: 0;
    background: linear-gradient(135deg, #1a1a1a, #0d0d0d);
    border: 2px solid rgba(255, 107, 0, 0.5);
    border-radius: 50px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5),
                0 0 30px rgba(255, 107, 0, 0.3),
                inset 0 1px 0 rgba(255, 255, 255, 0.1);
    overflow: hidden;
    animation: floatingExitPulse 3s ease-in-out infinite;
    user-select: none;
}

.floating-exit-handle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 44px;
    background: rgba(255, 255, 255, 0.05);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    cursor: grab;
    color: rgba(255, 255, 255, 0.5);
    transition: all 0.2s ease;
}

.floating-exit-handle:hover {
    background: rgba(255, 107, 0, 0.15);
    color: var(--primary-orange);
}

.floating-exit-handle:active {
    cursor: grabbing;
}

.floating-exit-action {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px 12px 14px;
    background: transparent;
    border: none;
    color: white;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.floating-exit-action svg {
    color: #ff6b00;
    transition: transform 0.2s ease;
}

.floating-exit-action:hover {
    background: rgba(255, 107, 0, 0.2);
}

.floating-exit-action:hover svg {
    transform: rotate(90deg);
}

.floating-exit-action span {
    background: linear-gradient(135deg, #ff6b00, #ff8533);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

@keyframes floatingExitPulse {
    0%, 100% {
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5),
                    0 0 30px rgba(255, 107, 0, 0.3),
                    inset 0 1px 0 rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 107, 0, 0.5);
    }
    50% {
        box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6),
                    0 0 50px rgba(255, 107, 0, 0.5),
                    0 0 0 4px rgba(255, 107, 0, 0.1),
                    inset 0 1px 0 rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 107, 0, 0.8);
    }
}

/* Minimize when dragging */
.floating-exit-btn.dragging {
    opacity: 0.8;
    transform: scale(0.95);
}

/* Right Panel Widget Info Styles */
.widget-info-panel {
    transition: all 0.3s ease;
}

.widget-info-default {
    text-align: center;
    padding: 15px;
}

.widget-info-prompt {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px 20px;
    text-align: center;
}

.widget-info-prompt .prompt-icon {
    margin-bottom: 20px;
    opacity: 0.3;
}

.widget-info-prompt .prompt-icon svg {
    stroke: var(--primary-orange);
}

.widget-info-prompt p {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.6);
    margin: 0 0 10px 0;
    line-height: 1.5;
}

.widget-info-prompt .prompt-hint {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.4);
}

.widget-info-content {
    padding: 20px 15px;
}

.widget-info-content.hidden {
    display: none;
}

.widget-info-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.widget-info-icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 107, 0, 0.12);
    border-radius: 12px;
    overflow: hidden;
}

.widget-info-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 10px;
}

.widget-info-icon svg {
    width: 26px;
    height: 26px;
    stroke: var(--primary-orange);
}

.widget-info-title {
    flex: 1;
}

.widget-info-title h3 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--white);
    margin: 0 0 4px 0;
}

.widget-info-client {
    font-size: 0.8rem;
    color: var(--primary-orange);
    font-weight: 500;
}

.widget-info-badge {
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.widget-info-badge.live {
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: white;
    box-shadow: 0 2px 8px rgba(34, 197, 94, 0.3);
}

.widget-info-badge.coming {
    background: rgba(60, 60, 70, 0.9);
    color: rgba(255, 255, 255, 0.6);
}

.widget-info-desc {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.6;
    margin: 0 0 18px 0;
}

.widget-info-section {
    margin-bottom: 18px;
}

.widget-info-section h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    margin: 0 0 12px 0;
}

.widget-info-section h4 svg {
    stroke: var(--primary-orange);
}

.widget-info-features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.widget-info-features span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.06);
    padding: 6px 12px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.widget-info-features span svg {
    width: 12px;
    height: 12px;
    stroke: var(--primary-orange);
    flex-shrink: 0;
}

.widget-info-integrations {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.widget-info-integrations span {
    font-size: 0.75rem;
    padding: 5px 10px;
    background: rgba(255, 107, 0, 0.12);
    color: var(--primary-orange);
    border-radius: 6px;
    font-weight: 500;
    border: 1px solid rgba(255, 107, 0, 0.2);
}

.widget-info-action {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    text-align: center;
}

.widget-info-action .action-text {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.5);
}

.widget-info-action.live .action-text {
    color: var(--primary-orange);
}

/* Active widget highlight in right panel */
.widget-info-panel.has-content .widget-info-default {
    display: none;
}

.widget-info-panel.has-content .widget-info-content {
    display: block;
}

/* Demo Tech Details in Right Panel (shown when demo is active) */
.demo-tech-details {
    padding: 20px 15px;
}

.demo-tech-details.hidden {
    display: none;
}

.demo-tech-details .info-panel-header {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.demo-tech-details .tech-stack-section,
.demo-tech-details .expertise-section,
.demo-tech-details .build-time-section {
    margin-bottom: 20px;
}

.demo-tech-details h4 {
    font-size: 0.85rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    margin: 0 0 12px 0;
}

.demo-tech-details .tech-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.demo-tech-details .tech-badge {
    font-size: 0.7rem;
    padding: 5px 10px;
    border-radius: 6px;
    font-weight: 500;
}

.demo-tech-details .tech-badge.zoho {
    background: rgba(255, 107, 0, 0.15);
    color: var(--primary-orange);
}

.demo-tech-details .tech-badge.js {
    background: rgba(247, 223, 30, 0.15);
    color: #f7df1e;
}

.demo-tech-details .tech-badge.css {
    background: rgba(38, 77, 228, 0.15);
    color: #264de4;
}

.demo-tech-details .tech-badge.api {
    background: rgba(66, 133, 244, 0.15);
    color: #4285f4;
}

.demo-tech-details .tech-badge.charts {
    background: rgba(0, 143, 251, 0.15);
    color: #008ffb;
}

.demo-tech-details .tech-badge.i18n {
    background: rgba(16, 185, 129, 0.15);
    color: #10b981;
}

.demo-tech-details .expertise-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.demo-tech-details .expertise-item:last-child {
    border-bottom: none;
}

.demo-tech-details .expertise-icon {
    width: 36px;
    height: 36px;
    background: rgba(255, 107, 0, 0.1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.demo-tech-details .expertise-icon svg {
    stroke: var(--primary-orange);
}

.demo-tech-details .expertise-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.demo-tech-details .expertise-text strong {
    font-size: 0.85rem;
    color: var(--white);
}

.demo-tech-details .expertise-text span {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.5);
}

.demo-tech-details .scope-stats {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.demo-tech-details .scope-stat {
    flex: 1;
    min-width: 70px;
    text-align: center;
    padding: 10px 6px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.demo-tech-details .scope-number {
    display: block;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--primary-orange);
    white-space: nowrap;
}

.demo-tech-details .scope-label {
    display: block;
    font-size: 0.6rem;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 4px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Network Footer */
.network-footer {
    position: relative;
    text-align: center;
    padding-top: 10px;
    z-index: 10;
}

.network-footer p {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.72rem;
    margin: 0;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 20px;
}

.network-footer svg {
    stroke: var(--primary-orange);
    opacity: 0.7;
}

/* =====================================================
   WIDGET CARDS GRID - RESPONSIVE STYLES
   ===================================================== */

/* Large screens - 5 columns (default) */
@media (max-width: 1400px) {
    .network-cards-grid {
        grid-template-columns: repeat(5, 1fr);
        gap: 16px;
    }
}

/* Medium screens - 4 columns */
@media (max-width: 1200px) {
    .network-cards-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
    }
}

/* Smaller screens - 3 columns */
@media (max-width: 992px) {
    .network-cards-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }
}

/* Tablet - 2 columns */
@media (max-width: 768px) {
    .network-cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .network-hub {
        padding: 12px 15px 15px;
    }

    .hub-idle span {
        font-size: 1rem;
    }

    .hub-ready {
        flex-direction: column;
        gap: 12px;
    }

    .node-content {
        min-height: 150px;
        padding: 16px 10px 14px;
    }

    .node-icon {
        width: 46px;
        height: 46px;
    }

    .node-icon svg {
        width: 24px;
        height: 24px;
    }

    .node-info h4 {
        font-size: 0.85rem;
    }

    .node-select-btn {
        padding: 7px 12px;
        font-size: 0.68rem;
    }
}

/* Mobile - 2 columns smaller */
@media (max-width: 576px) {
    .demo-launcher-state.in-preview {
        padding: 15px 10px;
    }

    .network-container {
        gap: 15px;
    }

    .network-cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .network-hub {
        padding: 10px 12px 12px;
    }

    .hub-idle svg {
        width: 28px;
        height: 28px;
    }

    .hub-idle span {
        font-size: 0.9rem;
    }

    .hub-project-name {
        font-size: 1rem;
    }

    .hub-launch-btn {
        padding: 10px 20px;
        font-size: 0.85rem;
    }

    .node-content {
        min-height: 130px;
        padding: 14px 8px 12px;
        gap: 8px;
    }

    .node-icon {
        width: 40px;
        height: 40px;
        border-radius: 10px;
    }

    .node-icon svg {
        width: 20px;
        height: 20px;
    }

    .node-info h4 {
        font-size: 0.75rem;
    }

    .node-category {
        font-size: 0.62rem;
    }

    .node-select-btn {
        padding: 6px 10px;
        font-size: 0.62rem;
    }

    .node-badge {
        padding: 2px 6px;
        font-size: 0.52rem;
        top: 6px;
        right: 6px;
    }

    .network-footer p {
        font-size: 0.65rem;
        padding: 6px 12px;
    }
}

/* =====================================================
   DEMO INITIALIZING OVERLAY
   ===================================================== */

.demo-initializing-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(145deg, #0a0a0a, #0d0d0d);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 15;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.demo-initializing-overlay.active {
    opacity: 1;
    visibility: visible;
}

.initializing-content {
    text-align: center;
}

.initializing-logo {
    width: 80px;
    height: 80px;
    margin: 0 auto 25px;
    animation: initLogoFloat 1.5s ease-in-out infinite;
}

.initializing-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 16px;
}

@keyframes initLogoFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-8px) scale(1.03); }
}

.initializing-progress {
    width: 200px;
    height: 4px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    margin: 0 auto 20px;
    overflow: hidden;
}

.initializing-progress .progress-bar {
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, var(--primary-orange), #ff8c00);
    border-radius: 4px;
    animation: progressFill 2.5s ease-out forwards;
}

@keyframes progressFill {
    0% { width: 0%; }
    20% { width: 25%; }
    50% { width: 60%; }
    80% { width: 85%; }
    100% { width: 100%; }
}

.initializing-text {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.95rem;
    display: block;
}

.initializing-project-name {
    color: var(--primary-orange);
    font-weight: 600;
    margin-top: 8px;
    display: block;
    font-size: 1.1rem;
}

/* =====================================================
   DEMO ACTIVE STATE
   ===================================================== */

.demo-active-state {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    animation: fadeIn 0.4s ease-out;
}

.demo-active-state.hidden {
    display: none;
}

.demo-active-state.fade-in {
    animation: fadeIn 0.4s ease-out;
}

/* Exit Demo Button - Creative Floating Style */
.demo-exit-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, rgba(30, 30, 35, 0.95), rgba(20, 20, 25, 0.98));
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    padding: 12px 20px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 4px 20px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.demo-exit-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(239, 68, 68, 0), rgba(239, 68, 68, 0.1));
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: 50px;
}

.demo-exit-btn:hover::before {
    opacity: 1;
}

.demo-exit-btn:hover {
    border-color: rgba(239, 68, 68, 0.5);
    transform: translateY(-2px);
    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.4),
        0 0 20px rgba(239, 68, 68, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.demo-exit-btn .exit-icon {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, #ef4444, #dc2626);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(239, 68, 68, 0.4);
}

.demo-exit-btn:hover .exit-icon {
    transform: scale(1.1);
    box-shadow: 0 4px 15px rgba(239, 68, 68, 0.5);
}

.demo-exit-btn .exit-icon svg {
    width: 16px;
    height: 16px;
    stroke: white;
    stroke-width: 2.5;
}

.demo-exit-btn .exit-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.2;
}

.demo-exit-btn .exit-label {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 500;
}

.demo-exit-btn .exit-action {
    font-size: 0.9rem;
    color: #fff;
    font-weight: 600;
}

.demo-exit-btn.hidden {
    display: none;
}

/* Demo Controls Container */
.demo-controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

.demo-controls.hidden .demo-exit-btn {
    display: none;
}

/* =====================================================
   FADE ANIMATIONS
   ===================================================== */

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: scale(0.98);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
        transform: scale(1);
    }
    to {
        opacity: 0;
        transform: scale(0.98);
    }
}

/* Side Panel States */
.demo-panel-instructions {
    display: block;
}

.demo-panel-instructions.hidden {
    display: none;
}

.demo-panel-details {
    display: none;
}

.demo-panel-details.active {
    display: block;
}

/* Portfolio Responsive */
@media (max-width: 1400px) {
    .demo-showcase-layout {
        grid-template-columns: 1fr 300px;
        gap: 15px;
        grid-template-rows: calc(100vh - 110px);
    }

    .demo-info-panel {
        height: calc(100vh - 100px);
        min-height: 900px;
        max-height: 1020px;
    }

    .info-panel-content {
        padding: 18px;
    }

    .feature-group {
        margin-bottom: 18px;
    }

    .demo-frame-wrapper {
        height: calc(100vh - 80px);
        min-height: 660px;
        max-height: 1200px;
    }
}

@media (max-width: 1200px) {
    .demo-showcase-layout {
        grid-template-columns: 1fr 280px;
        grid-template-rows: calc(100vh - 80px);
        gap: 15px;
    }

    .demo-info-panel {
        height: calc(100vh - 100px);
        min-height: 900px;
        max-height: 1020px;
    }

    .info-panel-content {
        padding: 16px;
    }

    .demo-frame-wrapper {
        flex: 1;
        min-height: 0;
    }

    .portfolio-demo-container {
        order: 0;
        height: calc(100vh - 100px);
        min-height: 900px;
        max-height: 1020px;
    }
}

@media (max-width: 992px) {
    .demo-showcase-layout {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 20px;
    }

    /* Show right panel below preview on mobile */
    .demo-panel-right {
        display: flex !important;
        height: auto;
        max-height: none;
    }

    .portfolio-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 25px;
    }

    .demo-frame-wrapper {
        flex: 1;
        min-height: 0;
    }

    .portfolio-demo-container {
        height: calc(100vh - 160px);
        min-height: 600px;
        max-height: 750px;
    }

    .demo-info-panel {
        height: calc(100vh - 160px);
        min-height: 600px;
        max-height: 750px;
    }

    .portfolio-stats {
        gap: 30px;
    }

    .container-full {
        padding: 0 20px;
    }

    /* Metro tiles responsive */
    .metro-tiles-grid {
        grid-template-columns: 1fr 1fr;
        max-width: 600px;
    }

    .metro-tile.tile-large {
        grid-row: span 1;
        grid-column: span 2;
    }

    .demo-quick-switcher {
        flex-wrap: wrap;
        justify-content: center;
    }

    .switcher-thumbnails {
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .portfolio-hero {
        padding: 100px 0 60px;
    }

    .portfolio-grid {
        grid-template-columns: 1fr;
    }

    .portfolio-stats {
        gap: 25px;
    }

    .portfolio-stat .stat-number {
        font-size: 2rem;
    }

    .demo-frame-wrapper {
        flex: 1;
        min-height: 0;
    }

    .portfolio-demo-container {
        height: calc(100vh - 180px);
        min-height: 550px;
        max-height: 650px;
    }

    .demo-info-panel {
        height: calc(100vh - 180px);
        min-height: 550px;
        max-height: 650px;
    }

    .demo-header {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .demo-header-cta {
        order: -1;
        width: 100%;
        justify-content: center;
    }

    .demo-header-btn {
        padding: 4px 8px;
        font-size: 0.7rem;
    }

    .widget-feature-item {
        flex-direction: column;
        gap: 10px;
    }

    .widget-feature-item .feature-icon {
        width: 32px;
        height: 32px;
    }

    .demo-credentials {
        flex-direction: column;
        text-align: center;
        gap: 6px;
    }

    .demo-notice-banner {
        padding: 4px 15px;
        flex-direction: column;
        gap: 4px;
    }

    .demo-notice-banner .notice-primary {
        font-size: 0.65rem;
    }

    .demo-notice-banner .notice-secondary {
        display: none;
    }

    .demo-credentials-banner {
        padding: 4px 10px;
        margin-bottom: 6px;
    }

    .credentials-content {
        font-size: 0.7rem;
        gap: 6px;
    }

    .more-note-content {
        flex-direction: column;
        text-align: center;
    }

    /* Metro tiles mobile */
    .metro-tiles-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
    }

    .metro-tile.tile-large {
        grid-column: span 1;
    }

    .launcher-logo-container {
        width: 140px;
        height: 140px;
    }

    .launcher-logo {
        width: 90px;
    }

    .launcher-title {
        font-size: 1.4rem;
    }

    .switcher-thumb {
        min-width: 60px;
        padding: 8px 10px 6px;
    }

    .switcher-thumb .thumb-icon {
        width: 28px;
        height: 28px;
    }

    .switcher-thumb .thumb-label {
        font-size: 8px;
    }
}

@media (max-width: 480px) {
    .portfolio-title {
        font-size: 2rem;
    }

    .portfolio-subtitle {
        font-size: 1rem;
    }

    .demo-frame-wrapper {
        flex: 1;
        min-height: 0;
    }

    .portfolio-demo-container {
        height: calc(100vh - 200px);
        min-height: 400px;
        max-height: 550px;
    }

    .demo-info-panel {
        height: calc(100vh - 200px);
        min-height: 400px;
        max-height: 550px;
    }

    .portfolio-card-inner {
        border-radius: 16px;
    }

    .portfolio-card-content {
        padding: 20px;
    }

    .portfolio-card-footer {
        padding: 0 20px 20px;
    }
}

/* =====================================================
   PORTAL PROMO SECTION - Custom Portal Promotion
   ===================================================== */

.portal-promo-section {
    margin: 30px 0 40px;
}

.portal-promo-container {
    position: relative;
    background: linear-gradient(135deg, rgba(30, 35, 50, 0.95), rgba(20, 25, 40, 0.98));
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 20px;
    padding: 35px 40px;
    overflow: hidden;
}

/* Animated Background */
.portal-promo-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden;
}

.promo-particle {
    position: absolute;
    width: 6px;
    height: 6px;
    background: var(--primary-orange);
    border-radius: 50%;
    opacity: 0.3;
}

.promo-particle-1 {
    top: 20%;
    left: 10%;
    animation: promoFloat 4s ease-in-out infinite;
}

.promo-particle-2 {
    top: 60%;
    right: 15%;
    animation: promoFloat 5s ease-in-out infinite 1s;
}

.promo-particle-3 {
    bottom: 20%;
    left: 30%;
    animation: promoFloat 6s ease-in-out infinite 2s;
}

@keyframes promoFloat {
    0%, 100% { transform: translateY(0) scale(1); opacity: 0.3; }
    50% { transform: translateY(-20px) scale(1.5); opacity: 0.6; }
}

.promo-glow {
    position: absolute;
    top: -50%;
    right: -20%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.15) 0%, transparent 70%);
    animation: promoGlowPulse 4s ease-in-out infinite;
}

@keyframes promoGlowPulse {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.1); }
}

/* Client Notice */
.portal-client-notice {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 30px;
    margin-bottom: 25px;
    position: relative;
    z-index: 1;
}

.portal-client-notice .notice-icon {
    width: 28px;
    height: 28px;
    background: linear-gradient(135deg, rgba(74, 144, 226, 0.3), rgba(74, 144, 226, 0.1));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.portal-client-notice .notice-icon svg {
    stroke: #4a90e2;
    width: 14px;
    height: 14px;
}

.portal-client-notice span {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
}

.portal-client-notice strong {
    color: #4a90e2;
}

/* Promo Content */
.portal-promo-content {
    position: relative;
    z-index: 1;
    text-align: center;
}

/* Promo Badge Row */
.promo-badge-row {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.promo-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: rgba(255, 107, 0, 0.1);
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 25px;
    transition: all 0.3s ease;
}

.promo-badge svg {
    stroke: var(--primary-orange);
    width: 16px;
    height: 16px;
}

.promo-badge span {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--primary-orange);
}

.promo-badge:hover {
    transform: translateY(-2px);
    background: rgba(255, 107, 0, 0.15);
    border-color: rgba(255, 107, 0, 0.4);
}

.promo-badge.pulse-badge {
    animation: badgePulse 2s ease-in-out infinite;
}

@keyframes badgePulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 107, 0, 0.4); }
    50% { box-shadow: 0 0 0 8px rgba(255, 107, 0, 0); }
}

/* Promo Title */
.promo-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--white);
    margin: 0 0 10px 0;
}

.promo-title span {
    background: linear-gradient(135deg, var(--primary-orange), #ff8c00);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.promo-subtitle {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 30px 0;
}

/* Integration Showcase */
.integration-showcase {
    margin-bottom: 25px;
}

.integration-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 15px;
}

.integration-badges {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.int-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    transition: all 0.3s ease;
    min-width: 70px;
}

.int-badge:hover {
    transform: translateY(-4px);
    background: rgba(255, 107, 0, 0.1);
    border-color: rgba(255, 107, 0, 0.3);
}

.int-badge img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.3));
}

.int-badge span {
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
}

.int-badge:hover span {
    color: var(--primary-orange);
}

.int-badge.plus-badge {
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.15), rgba(255, 107, 0, 0.05));
    border-color: rgba(255, 107, 0, 0.2);
}

.plus-icon {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-orange);
    line-height: 1;
}

/* Portal Expertise Banner */
.portal-expertise-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 24px;
    background: linear-gradient(90deg, rgba(255, 107, 0, 0.08), rgba(255, 107, 0, 0.15), rgba(255, 107, 0, 0.08));
    border-radius: 12px;
    margin-bottom: 25px;
    position: relative;
    overflow: hidden;
}

.portal-expertise-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    animation: portalExpertiseShine 3s linear infinite;
}

@keyframes portalExpertiseShine {
    0% { left: -100%; }
    100% { left: 100%; }
}

.expertise-star-icon {
    width: 34px;
    height: 34px;
    background: linear-gradient(135deg, var(--primary-orange), #ff8c00);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    animation: starPulse 2s ease-in-out infinite;
}

@keyframes starPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

.expertise-star-icon svg {
    stroke: white;
    fill: rgba(255, 255, 255, 0.3);
}

.portal-expertise-banner p {
    margin: 0;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.85);
    position: relative;
    z-index: 1;
}

.portal-expertise-banner strong {
    color: var(--primary-orange);
}

/* Promo CTA Row */
.promo-cta-row {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.promo-btn {
    padding: 12px 24px;
    font-size: 0.9rem;
}

/* Portal Promo Responsive */
@media (max-width: 768px) {
    .portal-promo-container {
        padding: 25px 20px;
    }

    .promo-title {
        font-size: 1.4rem;
    }

    .promo-badge-row {
        gap: 10px;
    }

    .promo-badge {
        padding: 6px 12px;
    }

    .promo-badge span {
        font-size: 0.75rem;
    }

    .integration-badges {
        gap: 8px;
    }

    .int-badge {
        padding: 10px 12px;
        min-width: 60px;
    }

    .int-badge img {
        width: 28px;
        height: 28px;
    }

    .portal-expertise-banner {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

    .promo-cta-row {
        flex-direction: column;
        gap: 10px;
    }

    .promo-btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .portal-client-notice {
        flex-direction: column;
        text-align: center;
        gap: 8px;
        padding: 12px 16px;
    }

    .promo-title {
        font-size: 1.2rem;
    }

    .promo-subtitle {
        font-size: 0.9rem;
    }
}

/* =====================================================
   JSON PARSER PRO - Featured Showcase Banner
   ===================================================== */

.json-parser-showcase {
    padding: 40px 0;
    background: linear-gradient(180deg, #0a0a0a 0%, #0f0f0f 100%);
}

.json-parser-banner {
    position: relative;
    background: linear-gradient(135deg, rgba(30, 35, 50, 0.95), rgba(20, 25, 40, 0.98));
    border: 2px solid rgba(255, 107, 0, 0.3);
    border-radius: 20px;
    padding: 35px 40px;
    overflow: hidden;
}

.json-banner-glow {
    position: absolute;
    top: -50%;
    right: -20%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(255, 107, 0, 0.15) 0%, transparent 70%);
    pointer-events: none;
    animation: bannerGlowPulse 4s ease-in-out infinite;
}

@keyframes bannerGlowPulse {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.1); }
}

.json-banner-content {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.json-banner-left {
    flex: 1;
}

.json-banner-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.2), rgba(255, 107, 0, 0.1));
    border: 1px solid rgba(255, 107, 0, 0.4);
    color: #FF6B00;
    padding: 8px 16px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.json-banner-badge svg {
    fill: #FF6B00;
}

.json-banner-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 28px;
    font-weight: 700;
    color: white;
    margin-bottom: 12px;
}

.json-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.2), rgba(255, 107, 0, 0.1));
    border: 1px solid rgba(255, 107, 0, 0.3);
    border-radius: 12px;
}

.json-icon svg {
    stroke: #FF6B00;
}

.json-banner-desc {
    color: rgba(255, 255, 255, 0.8);
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 20px;
    max-width: 600px;
}

.json-banner-desc strong {
    color: #FF6B00;
}

.json-banner-features {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.json-feature {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.9);
}

.json-feature svg {
    stroke: #4CAF50;
}

.json-banner-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.json-banner-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #FF6B00, #FF8C40);
    color: white;
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(255, 107, 0, 0.3);
}

.json-banner-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(255, 107, 0, 0.5);
    background: linear-gradient(135deg, #FF8C40, #FF6B00);
}

.json-banner-note {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
}

.json-banner-built-with {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.json-banner-built-with img {
    height: 24px;
    opacity: 0.8;
}

.json-banner-built-with span {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
}

/* JSON Parser Node Special Styling in Portfolio Grid */
.json-parser-node {
    border-color: rgba(255, 107, 0, 0.4) !important;
    background: linear-gradient(145deg, rgba(40, 35, 30, 0.95), rgba(25, 22, 18, 0.98)) !important;
}

.json-parser-node .node-glow {
    background: radial-gradient(circle at center, rgba(255, 107, 0, 0.3), transparent 70%) !important;
}

.node-external-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

/* JSON Parser Responsive */
@media (max-width: 768px) {
    .json-parser-banner {
        padding: 25px 20px;
    }

    .json-banner-content {
        flex-direction: column;
        text-align: center;
    }

    .json-banner-left {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .json-banner-title {
        flex-direction: column;
        font-size: 24px;
    }

    .json-banner-desc {
        text-align: center;
    }

    .json-banner-features {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .json-parser-showcase {
        padding: 30px 0;
    }

    .json-parser-banner {
        padding: 20px 15px;
    }

    .json-banner-title {
        font-size: 20px;
    }

    .json-banner-desc {
        font-size: 14px;
    }

    .json-banner-cta {
        padding: 14px 24px;
        font-size: 14px;
    }

    .json-feature {
        font-size: 11px;
        padding: 5px 10px;
    }
}

/* =====================================================
   CONTACT PAGE - Certifications & Expertise (Light BG)
   ===================================================== */

.contact-certifications {
    margin: 25px 0;
    padding: 25px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.08), rgba(255, 107, 0, 0.03));
    border: 1px solid rgba(255, 107, 0, 0.2);
    border-radius: 16px;
}

.cert-badges-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
}

.cert-badge-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 15px 20px;
    background: white;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.cert-badge-item:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 107, 0, 0.3);
    box-shadow: 0 8px 20px rgba(255, 107, 0, 0.15);
}

.cert-badge-icon {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.cert-badge-item span {
    font-size: 0.8rem;
    font-weight: 600;
    color: #333;
    text-align: center;
    white-space: nowrap;
}

/* Contact Expertise Banner (Light BG) */
.contact-expertise-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 18px 25px;
    background: linear-gradient(135deg, rgba(255, 107, 0, 0.12), rgba(255, 107, 0, 0.06));
    border: 1px solid rgba(255, 107, 0, 0.25);
    border-radius: 12px;
    margin-top: 20px;
    position: relative;
    overflow: hidden;
}

.contact-expertise-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 107, 0, 0.15), transparent);
    animation: expertiseShine 3s linear infinite;
}

@keyframes expertiseShine {
    0% { left: -100%; }
    100% { left: 100%; }
}

.expertise-banner-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, var(--primary-orange), #ff8c00);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.expertise-banner-icon svg {
    width: 20px;
    height: 20px;
    stroke: white;
    fill: rgba(255, 255, 255, 0.3);
}

.contact-expertise-banner p {
    margin: 0;
    font-size: 0.9rem;
    color: #333;
    line-height: 1.5;
    position: relative;
    z-index: 1;
}

.contact-expertise-banner strong {
    color: var(--primary-orange);
}

.contact-expertise-banner a {
    color: var(--primary-orange);
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.contact-expertise-banner a:hover {
    text-decoration: underline;
    color: #e06000;
}

/* Contact Certifications Responsive */
@media (max-width: 600px) {
    .cert-badges-row {
        gap: 15px;
    }

    .cert-badge-item {
        padding: 12px 15px;
    }

    .cert-badge-icon {
        width: 40px;
        height: 40px;
    }

    .contact-expertise-banner {
        flex-direction: column;
        text-align: center;
        gap: 12px;
        padding: 15px 20px;
    }

    .contact-expertise-banner p {
        font-size: 0.85rem;
    }
}

