:root {
    /* Color Palette */
    --bg-color: #0B0B0B;
    --navy-dark: #000000;
    --accent-purple: #7C4DFF;
    --accent-lavender: #9D64FF;
    --accent-green: #00FF88;
    --text-primary: #FFFFFF;
    --text-secondary: #AAAAAA;
    --glass-bg: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(255, 255, 255, 0.1);
    --_global-padding---padding-global-side: 40px;

    /* Project Card Colors */
    --card-lavender: #C6CFFF;
    --card-lavender-btn: #9AABFF;
    --card-peach: #FFB5A7;
    --card-peach-btn: #F9A49B;
    --card-mint: #B9FBC0;
    --card-mint-btn: #80ED99;
    --card-yellow: #F9E4A1;
    --card-yellow-btn: #E9C46A;
    --card-cyan: #A2EAF2;
    --card-cyan-btn: #7CDDE8;
    --card-tan: #E9D5C3;
    --card-orange: #FF8A5B;

    /* Typography */
    --sans-font: 'Inter', sans-serif;
    --serif-font: 'Playfair Display', serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    cursor: none;
    /* Custom cursor used later */
}

html {
    scroll-behavior: smooth;
    background-color: var(--bg-color);
}

body {
    font-family: var(--sans-font);
    background-color: var(--bg-color);
    color: var(--text-primary);
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

.container {
    max-width: 1400px;
    margin: 0 auto;
    z-index: 1;
    padding-right: var(--_global-padding---padding-global-side);
    padding-left: var(--_global-padding---padding-global-side);
}

.container-1252px {
    width: 100%;
    max-width: 78.25rem;
    margin-left: auto;
    margin-right: auto;
}

/* Custom Cursor */
#cursor {
    width: 20px;
    height: 20px;
    background-color: var(--text-primary);
    border-radius: 50%;
    position: fixed;
    z-index: 10000;
    pointer-events: none;
    transition: transform 0.1s ease;
    mix-blend-mode: difference;
}

#cursor-blur {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(124, 77, 255, 0.15), transparent 70%);
    position: fixed;
    z-index: -1;
    pointer-events: none;
    transform: translate(-50%, -50%);
    filter: blur(40px);
}

/* Premium Nav (Replaces Island Nav) */

.nav-logo {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.logo-img {
    height: 18px;
    width: auto;
    filter: brightness(0) invert(1);
    /* Ensure it's white if it's a dark logo */
}

.nav-links {
    display: flex;
    gap: 25px;
}

.nav-links a {
    text-decoration: none;
    color: var(--text-secondary);
    font-size: 14px;
    font-weight: 500;
    transition: color 0.3s;
}

.nav-links a:hover {
    color: var(--text-primary);
}

.nav-cta {
    background: linear-gradient(45deg, var(--accent-purple), var(--accent-lavender));
    color: white;
    padding: 12px 25px;
    border-radius: 100px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

/* Typography Utilities */
.italic-serif {
    font-family: var(--serif-font);
    font-style: italic;
    font-weight: 400;
}

.gradient-text {
    background: linear-gradient(90deg, #FFFFFF, var(--accent-lavender));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

h1 {
    font-size: clamp(3rem, 8vw, 6rem);
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 30px;
}

h2,
.heading-h2,
.section-title {
    font-size: clamp(2.5rem, 8vw, 3.6rem);
    font-weight: 700;
    line-height: 120%;
    margin-bottom: 2rem;
}

/* Hero Section */
.hero {
    position: relative;
    height: 100vh;
    min-height: 700px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    overflow: hidden;
}

.hero .container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 800px;
    padding-top: 120px;
    padding-bottom: 80px;
}

.hero h1 {
    margin-bottom: 24px;
}

.hero-subtext {
    margin-bottom: 40px;
}

/* AI Section Styling */
.ai-section {
    padding: 120px 0;
    background-color: #000;
    color: #fff;
    overflow: hidden;
    position: relative;
}

/* AI Custom Header (Distinct from Testimonials) */
.ai-custom-header {
    text-align: center;
    margin-bottom: 100px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ai-custom-badge {
    border: 1px solid #10b981;
    color: #10b981;
    padding: 6px 18px;
    border-radius: 50px;
    font-size: 0.75rem;
    display: inline-block;
    margin-bottom: 20px;
    background: rgba(16, 185, 129, 0.1);
}

.ai-custom-title {
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1.2;
    color: #fff;
    text-align: center;
    /* Enforced Centering */
}

.ai-custom-desc {
    color: rgba(255, 255, 255, 0.6);
    max-width: 650px;
    margin: 0 auto;
    font-size: 1rem;
    line-height: 1.6;
    text-align: center;
    /* Enforced Centering */
}

/* Hub and Spoke Layout */
.ai-hub-wrapper {
    position: relative;
    max-width: 1200px;
    margin: 40px auto;
    height: 900px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.central-hub {
    width: 120px;
    height: 120px;
    background: linear-gradient(135deg, #a855f7, #6366f1);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 50px rgba(168, 85, 247, 0.5);
    z-index: 10;
    position: relative;
}

.central-hub::after {
    content: '';
    position: absolute;
    width: 150%;
    height: 150%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(168, 85, 247, 0.2), transparent 70%);
    animation: hub-pulse 3s infinite;
}

@keyframes hub-pulse {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }

    50% {
        transform: scale(1.1);
        opacity: 0.4;
    }

    100% {
        transform: scale(1);
        opacity: 0.8;
    }
}

.ai-hub-icon {
    width: 60px !important;
    height: 60px !important;
    filter: invert(1);
}

/* Feature Cards Positioning */
.ai-card {
    position: absolute;
    width: 340px;
    height: 380px;
    /* Standardize height for better balance */
    background: #0f0f12;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 36px;
    padding: 30px;
    z-index: 5;
    overflow: visible;
    /* To allow bottom glow to show */
    display: flex;
    flex-direction: column;
    transition: all 0.4s ease;
}

/* Signature Bottom Violet Glow for ALL cards */
.ai-card::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 85%;
    height: 10px;
    background: #a855f7;
    filter: blur(25px);
    opacity: 0.6;
    border-radius: 50%;
    z-index: -1;
}

.ai-card:hover {
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-5px);
    border-color: rgba(168, 85, 247, 0.4);
}

.card-top-left {
    top: 0;
    left: 5%;
}

.card-top-center {
    top: 50px;
    left: 37%;
    transform: translateX(-50%);
}

.card-top-right {
    top: 55px;
    right: 0%;
}

.card-bottom-left {
    bottom: 0;
    left: 5%;
}

.card-bottom-center {
    bottom: 20px;
    left: 37%;
    transform: translateX(-50%);
}

.card-bottom-right {
    bottom: 60px;
    right: 0;
}

.ai-card h3 {
    font-size: 1.4rem;
    margin-bottom: 15px;
    color: #fff;
}

.ai-card p {
    font-size: 0.95rem;
    color: var(--text-secondary);
    line-height: 1.5;
    margin-bottom: 20px;
}

/* Mini UI Layouts within cards */
.ai-card-preview {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 12px;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.tool-icon {
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
}

/* Connecting Lines (SVG) */
.ai-lines {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.ai-line {
    stroke: rgba(168, 85, 247, 0.2);
    stroke-width: 2;
    fill: none;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
}

/* Mobile Responsive */
@media (max-width: 992px) {
    .ai-hub-wrapper {
        height: auto;
        display: flex;
        flex-direction: column;
        gap: 30px;
        padding: 0 20px;
    }

    .central-hub,
    .ai-lines {
        display: none;
    }

    .ai-card {
        position: relative;
        width: 100%;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
    }
}

/* Scroll Animation Styles */
[data-reveal] {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

[data-reveal].active {
    opacity: 1;
    transform: translateY(0);
}

/* Why Us Section Styling (Corrected) */
.why-us-section {
    padding: 120px 0 160px;
    background: #000;
    /* Dark Background */
    color: #fff;
    text-align: center;
    overflow: hidden;
}

.why-us-header {
    margin-bottom: 100px;
    max-width: 850px;
    margin: 0 auto;
}

.why-us-title {
    font-size: clamp(2.5rem, 6vw, 4rem);
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 25px;
}

.why-us-desc {
    font-size: 1.15rem;
    color: rgba(255, 255, 255, 0.7);
    max-width: 650px;
    margin: 0 auto;
}

.hero-badge {
    display: inline-block;
    padding: 8px 16px;
    border: 1px solid var(--accent-green);
    color: var(--accent-green);
    border-radius: 100px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 30px;
    font-weight: 600;
}

.hero-subtext {
    font-size: clamp(1rem, 2vw, 1.25rem);
    color: var(--text-secondary);
    max-width: 600px;
    margin: 0 auto 40px;
}

.hero-visuals {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
}

.floating-element {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
}

.element-1 {
    width: 400px;
    height: 400px;
    background: rgba(124, 77, 255, 0.2);
    top: 10%;
    right: 10%;
}

.element-2 {
    width: 300px;
    height: 300px;
    background: rgba(0, 255, 136, 0.1);
    bottom: 20%;
    left: 10%;
}

.central-hub {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 110px;
    height: 110px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 20;
    box-shadow: 0 0 100px rgba(168, 85, 247, 0.8), 0 0 40px rgba(168, 85, 247, 0.4);
}

.hero-mockup {
    position: absolute;
    top: 50%;
    left: 80%;
    transform: translateY(-50%);
    width: 500px;
    height: auto;
    opacity: 0.8;
}

.hero-actions {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.btn {
    padding: 16px 32px;
    border-radius: 100px;
    text-decoration: none;
    font-weight: 600;
    transition: transform 0.3s, background-color 0.3s;
}

.btn-primary {
    background-color: var(--text-primary);
    color: var(--bg-color);
}

.btn-secondary {
    border: 1px solid var(--glass-border);
    color: var(--text-primary);
}

.btn:hover {
    transform: scale(1.05);
}

.btn-purple {
    background-color: #7C4DFF;
    color: white;
    font-size: 1.1rem;
    padding: 18px 40px;
}

.stack-footer {
    display: flex;
    justify-content: center;
    margin-top: 60px;
}

/* Marquee Section */
.marquee-section {
    padding: 0px 0;
    border-top: 1px solid var(--glass-border);
    border-bottom: 1px solid var(--glass-border);
    overflow: hidden;
}

.marquee {
    display: flex;
    overflow: hidden;
    white-space: nowrap;
}

.marquee-content {
    display: flex;
    animation: marquee 20s linear infinite;
}

.marquee-content span {
    font-size: 5rem;
    font-weight: 800;
    color: transparent;
    -webkit-text-stroke: 1px var(--glass-border);
    margin-right: 80px;
    padding: 10px;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* Project Stacking */
.work-section {
    padding: 120px 0;
}

.work-section .container {
    max-width: 1700px;
}

.project-stack {
    grid-column-gap: 5rem;
    grid-row-gap: 5rem;
    flex-flow: column;
    display: flex;
    position: relative;
    margin-top: 80px;
}

.project-card {
    grid-column-gap: 8.75rem;
    grid-row-gap: 8.75rem;
    background-color: #c6cfff;
    border-radius: 1rem;
    justify-content: flex-start;
    align-items: center;
    padding: 0.5rem 1.25rem 0.5rem 2.5rem;
    text-decoration: none;
    display: flex;
    position: sticky;
    top: 6.25rem;
    overflow: visible;
    color: #1a1a1a;
    width: 100%;
}

.card-lavender {
    background-color: var(--card-lavender);
    --btn-bg: var(--card-lavender-btn);
}

.card-peach {
    background-color: var(--card-peach);
    --btn-bg: var(--card-peach-btn);
}

.card-mint {
    background-color: var(--card-mint);
    --btn-bg: var(--card-mint-btn);
}

.card-yellow {
    background-color: var(--card-yellow);
    --btn-bg: var(--card-yellow-btn);
}

.card-cyan {
    background-color: var(--card-cyan);
    --btn-bg: var(--card-cyan-btn);
}

.project-info,
.cs_card-text-block {
    flex: 1;
    width: 100%;
    max-width: 50%;
    position: relative;
}

.project-category {
    display: inline-block;
    padding: 6px 12px;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 100px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 25px;
}

.project-category.italic-serif {
    background: transparent;
    padding: 0;
    font-size: 1.5rem;
    color: #1a1a1a;
    margin-bottom: 15px;
}

.project-info h3 {
    font-size: 2.75rem;
    line-height: 1.1;
    margin-bottom: 15px;
}

.project-info p {
    font-size: 1rem;
    max-width: 420px;
    margin-bottom: 30px;
    opacity: 0.8;
}

.project-link {
    text-decoration: none;
    color: #1a1a1a;
    font-weight: 700;
    border-bottom: 2px solid #1a1a1a;
    padding-bottom: 5px;
}

.project-image {
    flex: 1.2;
    width: 100%;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.mockup-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
    transition: transform 0.5s cubic-bezier(0.17, 0.67, 0.83, 0.67);
}

.project-card:hover .mockup-img {
    transform: translateY(-20px) scale(1.05) rotate(-2deg);
}

/* Services */
.services-section {
    padding: 150px 0;
    background-color: var(--navy-dark);
}

.tag {
    color: var(--accent-green);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 14px;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 40px;
    margin-top: 80px;
}

.service-item {
    border-top: 1px solid var(--glass-border);
    padding-top: 40px;
}

.service-icon {
    font-size: 2rem;
    color: var(--accent-purple);
    margin-bottom: 20px;
}

.service-item h3 {
    margin-bottom: 15px;
}

.service-item p {
    color: var(--text-secondary);
}

/* Footer CTA */
.footer-cta {
    padding: 200px 0;
    text-align: center;
}

.btn-large {
    font-size: 1.5rem;
    padding: 24px 60px;
    margin-top: 40px;
    display: inline-block;
}

.main-footer {
    padding: 60px 0;
    border-top: 1px solid var(--glass-border);
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    color: var(--text-secondary);
}

.social-links {
    display: flex;
    gap: 20px;
}

.social-links a {
    color: var(--text-secondary);
    text-decoration: none;
}

/* Testimonials Section */
.testimonials-section {
    padding: 100px 0;
    background-color: #fff;
    overflow: hidden;
}

.testimonials-container {
    display: flex;
    gap: 20px;
    margin-top: 40px;
    padding-bottom: 40px;
    will-change: transform;
}

.testimonials-container::-webkit-scrollbar {
    display: none;
    /* Hide scrollbar Chrome/Safari */
}

.testimonial-card {
    position: relative;
    flex: 0 0 450px;
    height: 680px;
    border-radius: 24px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.4s ease;
    scroll-snap-align: start;
}

.testimonial-card:hover {
    transform: translateY(-10px);
}

.client-photo,
.video-testimonial-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.testimonial-card:hover .client-photo {
    transform: scale(1.05);
}

.play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(5px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.2rem;
    z-index: 2;
    transition: background 0.3s ease;
}

.testimonial-card:hover .play-btn {
    background: rgba(255, 255, 255, 0.6);
}

.testimonial-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 25px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85), transparent);
    color: #fff;
    z-index: 3;
}

.brand-logo {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 10px;
    opacity: 0.9;
}

.testimonial-content p {
    font-size: 0.95rem;
    line-height: 1.4;
    margin-bottom: 20px;
    opacity: 0.8;
}

.author-info {
    display: flex;
    flex-direction: column;
}

.author-name {
    font-size: 1.1rem;
    font-weight: 700;
}

.author-title {
    font-size: 0.8rem;
    opacity: 0.7;
    margin-top: 4px;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
    transition: transform 0.5s cubic-bezier(0.17, 0.67, 0.83, 0.67);
}

.project-card:hover .mockup-img {
    transform: translateY(-20px) scale(1.05) rotate(-2deg);
}

/* Services */
.services-section {
    padding: 150px 0;
    background-color: var(--navy-dark);
}

.tag {
    color: var(--accent-green);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 14px;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 40px;
    margin-top: 80px;
}

.service-item {
    border-top: 1px solid var(--glass-border);
    padding-top: 40px;
}

.service-icon {
    font-size: 2rem;
    color: var(--accent-purple);
    margin-bottom: 20px;
}

.service-item h3 {
    margin-bottom: 15px;
}

.service-item p {
    color: var(--text-secondary);
}

/* Footer CTA */
.footer-cta {
    padding: 200px 0;
    text-align: center;
}

.btn-large {
    font-size: 1.5rem;
    padding: 24px 60px;
    margin-top: 40px;
    display: inline-block;
}

.main-footer {
    padding: 60px 0;
    border-top: 1px solid var(--glass-border);
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    color: var(--text-secondary);
}

.social-links {
    display: flex;
    gap: 20px;
}

.social-links a {
    color: var(--text-secondary);
    text-decoration: none;
}

/* Testimonials Section */
.testimonials-section {
    padding: 100px 0;
    background-color: #fff;
    overflow: hidden;
}

.testimonials-container {
    display: flex;
    gap: 20px;
    margin-top: 40px;
    padding-bottom: 40px;
    will-change: transform;
}

.testimonials-container::-webkit-scrollbar {
    display: none;
    /* Hide scrollbar Chrome/Safari */
}

.testimonial-card {
    position: relative;
    flex: 0 0 450px;
    height: 680px;
    border-radius: 24px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.4s ease;
    scroll-snap-align: start;
}

.testimonial-card:hover {
    transform: translateY(-10px);
}

.client-photo,
.video-testimonial-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.testimonial-card:hover .client-photo {
    transform: scale(1.05);
}

.play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(5px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.2rem;
    z-index: 2;
    transition: background 0.3s ease;
}

.testimonial-card:hover .play-btn {
    background: rgba(255, 255, 255, 0.6);
}

.testimonial-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 25px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85), transparent);
    color: #fff;
    z-index: 3;
}

.brand-logo {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 10px;
    opacity: 0.9;
}

.testimonial-content p {
    font-size: 0.95rem;
    line-height: 1.4;
    margin-bottom: 20px;
    opacity: 0.8;
}

.author-info {
    display: flex;
    flex-direction: column;
}

.author-name {
    font-size: 1.1rem;
    font-weight: 700;
}

.author-title {
    font-size: 0.8rem;
    opacity: 0.7;
    margin-top: 4px;
}

.card-tan {
    background-color: var(--card-tan);
}

.card-orange {
    background-color: var(--card-orange);
}

/* ==========================================================================
   GLOBAL RESPONSIVENESS (Laptop, Tablet, Mobile)
   ========================================================================== */

/* Laptop & Desktop (Large Screens) */
@media (min-width: 1400px) {
    .container {
        max-width: 1400px;
    }
}

/* Tablet & Smaller Laptops (under 1024px) */
@media (max-width: 1024px) {
    :root {
        --_global-padding---padding-global-side: 30px;
    }

    h1 {
        font-size: clamp(2.5rem, 7vw, 4.5rem);
    }

    .project-card {
        padding: 40px;
        grid-column-gap: 4rem;
    }

    .project-info h3 {
        font-size: 2rem;
    }
}

/* ================================================================
   COMPREHENSIVE RESPONSIVE SYSTEM
   Desktop â†’ Laptop â†’ Tablet â†’ Mobile
   ================================================================ */

/* --- TABLET (max 991px) --- */
@media (max-width: 991px) {

    /* Hero */
    .hero {
        height: auto !important;
        min-height: 100svh;
        justify-content: center;
        text-align: center;
        padding: 0;
    }

    .hero .container {
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 140px;
        padding-bottom: 80px;
    }

    .hero-badge {
        margin-left: auto;
        margin-right: auto;
    }

    .hero h1 {
        font-size: clamp(2.4rem, 7vw, 4rem);
        line-height: 1.15;
    }

    .hero-subtext {
        max-width: 550px;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-actions {
        justify-content: center;
    }

    .hero-mockup {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        width: 90%;
        max-width: 480px;
        margin-top: 50px;
        opacity: 1;
    }

    /* Project Stack Cards (Definitely No Overlap) */
    .project-stack {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
        grid-row-gap: 40px !important;
        flex-direction: column !important;
        height: auto !important;
    }

    .project-card {
        position: relative !important;
        flex-direction: column;
        height: auto !important;
        top: 0px !important;
        padding: 20px !important;
        grid-column-gap: 0px;
        grid-row-gap: 0px !important;
        /* User Requested */
        margin-bottom: 20px !important;
    }

    .project-info {
        max-width: 100%;
        flex: none;
        width: 100%;
        padding-bottom: 30px;
    }

    .project-category.italic-serif {
        font-size: 2.5rem;
        margin-bottom: 12px;
    }

    .project-info h3 {
        font-size: 5.3rem;
        margin-bottom: 15px;
    }

    .project-info p {
        font-size: 1.5rem;
        max-width: 100%;
        margin-bottom: 25px;
    }

.project-image {
        min-height: 280px !important;
        /* User Requested */
        margin-top: 0px !important;
        /* User Requested */
        padding: 0px !important;
        margin-bottom: 20px !important;
        /* User Requested */
    }

    .promise-section [data-reveal],
    .promise-card {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    .mockup-img {
        border-radius: 12px;
        margin-bottom: -40px;
        /* Slight overflow look if needed but image shows it inside */
    }

    .stack-footer {
        margin-top: 0px !important;
        margin-bottom: 0px !important;
    }

    .testimonials-section {
        margin-top: 50px !important;
        padding: 0px 0 !important;
    }

    .ai-custom-header {
        margin-bottom: 0px;
    }

    div.pin-spacer {
        margin: 0px !important;
    }

    .why-us-section {
        padding: 0px !important;
    }

    .why-us-header {
        margin-bottom: 0px;
    }

    .portfolio-section {
        padding: 1px !important;
    }

    .comparison-section {
        padding: 0px !important;
    }

    .faq-section {
        padding: 0px !important;
    }

    .portfolio-footer-cta {
        margin: 80px auto 0px !important;
    }

    div.pricing-grid {
        padding: 0px;
        row-gap: 80px !important;
    }

    .contact-section {
        padding: 100px 0 0px 0px;
    }

    .work-section {
        padding: 120px 0 0px 0px;
    }

}

/* --- MOBILE (max 768px) --- */
@media (max-width: 768px) {

    /* Global container padding */
    .container {
        padding-left: 24px;
        padding-right: 24px;
    }

    /* Typography */
    h1,
    .hero h1 {
        font-size: clamp(1.9rem, 9vw, 2.6rem) !important;
        line-height: 1.2 !important;
        margin-bottom: 20px;
    }

    h2,
    .section-title,
    .heading-h2 {
        font-size: clamp(1.6rem, 7vw, 2.2rem);
        line-height: 1.2;
    }

    /* Hero specifically */
    .hero .container {
        padding-top: 120px;
        padding-bottom: 60px;
    }

    .section-title {
        font-size: 2.2rem;
        margin-bottom: 40px !important;
    }

    .project-info h3 {
        font-size: 1.8rem;
    }

.hero-badge {
        font-size: 10px;
        padding: 6px 14px;
    }

    .hero-subtext {
        font-size: 1rem;
        margin-bottom: 30px;
    }

    .hero-actions {
        flex-direction: column;
        align-items: center;
        gap: 12px;
        width: 100%;
    }

    .hero-actions .btn {
        width: 100%;
        max-width: 300px;
        text-align: center;
    }

    .hero-mockup {
        width: 95%;
        max-width: 360px;
    }

    /* Marquee */
    .marquee-content span {
        font-size: 2.5rem;
        margin-right: 40px;
    }

    /* Why Us */
    .why-us-header {
        margin-bottom: 50px;
        padding: 0 20px;
    }

    .why-us-title {
        font-size: clamp(1.8rem, 7vw, 2.5rem);
    }

    .video-container-wrapper {
        height: 90vh;
    }

    .video-container-main {
        width: 94% !important;
        height: 38vh !important;
        border-radius: 20px !important;
    }

    /* Testimonials */
    .testimonial-card {
        flex: 0 0 290px;
        height: 460px;
    }

    /* Section paddings */
    .why-us-section {
        padding: 80px 0 100px;
    }

    .ai-section {
        padding: 80px 0;
    }

    .pricing-section {
        padding: 80px 0;
    }

    /* Portfolio pinned section - disable sticky on mobile */
    .portfolio-left-pinned {
        position: relative !important;
        height: auto !important;
        top: 0 !important;
    }

    .portfolio-main-container {
        flex-direction: column;
        gap: 40px;
    }

    .portfolio-left-pinned,
    .portfolio-right-scroll {
        width: 100% !important;
    }

    .service-cards-row {
        grid-template-columns: 1fr !important;
        min-height: auto;
        gap: 20px;
        margin-bottom: 40px;
    }

    .portfolio-card {
        height: 300px !important;
    }

    .portfolio-card:nth-child(2) {
        margin-top: 0 !important;
    }

    .pixel-bold-title {
        font-size: 2rem !important;
    }

    /* Contact form two-col â†’ one-col */
    .form-row {
        flex-direction: column !important;
        gap: 0;
    }

    .form-row>* {
        width: 100% !important;
    }
}

/* --- SMALL MOBILE (max 480px) --- */
@media (max-width: 480px) {
    :root {
        --_global-padding---padding-global-side: 18px;
    }

    h1,
    .hero h1 {
        font-size: clamp(1.7rem, 8vw, 2.2rem) !important;
        line-height: 1.2 !important;
    }

    .hero .container {
        padding-top: 110px;
    }

    .hero-badge {
        display: none;
        /* clean look on very small screens */
    }

    .btn {
        padding: 14px 24px;
        font-size: 0.9rem;
    }
    .stack-footer {
        margin-top: 0px !important;
        margin-bottom: 0px !important;
    }

/* Footer */
    .footer-bottom {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }

    .social-links {
        justify-content: center;
    }

    .project-info h3 {
        font-size: 1.6rem;
    }

    /* Pricing amounts */
    .price-box .amount {
        font-size: 2.2rem;
    }

    .section-title {
        font-size: 1.8rem;
    }

    .project-info h3 {
        font-size: 1.5rem;
    }

/* Comparison table horizontal scroll */
    .comparison-table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* --- Touch Device: Hide custom cursor --- */
@media (hover: none) {

    #cursor,
    #cursor-blur,
    #cursor-hover-circle {
        display: none !important;
    }

    * {
        cursor: auto !important;
    }
}/* --- Premium Agency Navbar - Universal Responsive Sync --- */

.premium-nav {

    position: fixed;

    top: 30px;

    left: 50%;

    transform: translateX(-50%);

    width: 95%;

    max-width: 1150px;

    z-index: 10000;

}

.glass-nav {

    background: rgba(11, 11, 11, 0.85);

    backdrop-filter: blur(25px);

    -webkit-backdrop-filter: blur(25px);

    border: 1px solid rgba(255, 255, 255, 0.18);

    border-radius: 100px;

    padding: 12px 35px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);

}

.nav-brand {

    display: flex;

    align-items: center;

    gap: 12px;

    font-weight: 900;

    letter-spacing: 0.15em;

    cursor: pointer;

    flex-shrink: 0;

}

.brand-text {

    font-size: 1.1rem;

    color: #fff !important;

    font-family: 'Inter', sans-serif;

}

.brand-dot {

    width: 8px;

    height: 8px;

    background: #00FF88;

    border-radius: 50%;

    box-shadow: 0 0 15px #00FF88;

}

/* --- DESKTOP MENU: Visible on large screens --- */

.nav-menu {

    list-style: none;

    display: flex;

    /* Default: Shown on Desktop */

    align-items: center;

    gap: 40px;

    margin: 0;

    padding: 0;

}

.nav-menu li {

    position: relative;

}

.nav-menu a {

    color: #ffffff !important;

    text-decoration: none;

    font-size: 0.95rem;

    font-weight: 600;

    transition: all 0.3s ease;

    opacity: 0.8;

}

.nav-menu a:hover {

    opacity: 1;

    color: #00FF88 !important;

}

.nav-action {

    display: flex;

    align-items: center;

}

.nav-btn-neon {

    background: rgba(168, 85, 247, 0.12);

    border: 1px solid rgba(168, 85, 247, 0.5);

    color: #fff !important;

    padding: 10px 24px;

    border-radius: 100px;

    font-size: 0.85rem;

    font-weight: 800;

    text-decoration: none;

    transition: all 0.4s ease;

    white-space: nowrap;

}

.nav-btn-neon:hover {

    background: #a855f7;

    box-shadow: 0 0 20px rgba(168, 85, 247, 0.3);

}

.mobile-only-cta { display: none; }

/* HAMBURGER TRIGGER: Hidden on Desktop by default */

.mobile-menu-trigger {

    display: none;

    flex-direction: column;

    gap: 6px;

    cursor: pointer;

    z-index: 10002;

    padding: 5px;

}

.mobile-menu-trigger .bar {

    width: 25px;

    height: 2px;

    background: #fff;

    border-radius: 2px;

    transition: all 0.3s ease;

}

/* --- RESPONSIVE MEDIA QUERIES --- */

/* Below 1100px: Switch to Mobile/Tablet Mode */

@media (max-width: 1100px) {

    .nav-menu {

        display: none;

        /* Hide standard links from top bar */

        position: fixed;

        top: 0;

        left: 0;

        width: 100%;

        height: 60vh;

        background: rgba(8, 8, 8, 0.99);

        backdrop-filter: blur(30px);

        flex-direction: column;

        justify-content: center;

        align-items: center;

        gap: 35px;

        z-index: 10001;

        pointer-events: none;

        opacity: 0;

        transition: all 0.5s ease;

    }

.nav-action { display: none; }

    .mobile-only-cta { display: block; margin-top: 20px; }

    .nav-menu.active {

        display: flex !important;

        opacity: 1 !important;

        pointer-events: auto !important;

    }

.nav-menu a {

        font-size: 2rem;

        font-weight: 900;

        opacity: 1;

    }

.mobile-menu-trigger {

        display: flex;

        /* Show Hamburger only on Tablet/Mobile */

    }

/* Transforming Hamburger to X sign */

    .mobile-menu-trigger.active .bar:nth-child(1) {

        transform: rotate(45deg) translate(5px, 6px);

        background: #00FF88;

    }

.mobile-menu-trigger.active .bar:nth-child(2) {

        transform: rotate(-45deg) translate(0px, 0px);

        background: #00FF88;

    }

}

@media (max-width: 480px) {

    .nav-action {

        display: none;

    }

/* Extra clean phone view */

    .premium-nav {

        width: 92%;

    }

}

/* --- 3D Agency Preloader --- */
.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #000;
    z-index: 100000;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    perspective: 1000px;
}

.preloader-content-3d {
    position: relative;
    width: 600px;
    height: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
    transform-style: preserve-3d;
}

.circular-text-wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transform: rotateX(65deg) rotateY(0deg);
}

.circular-text {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transform-style: preserve-3d;
}

.circular-text span {
    position: absolute;
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-size: 32px;
    color: rgba(255, 255, 255, 0.15);
    text-transform: uppercase;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    white-space: nowrap;
}

.central-founder-container {
    position: absolute;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    transform: translateZ(30px);
}

.founder-card-3d {
    width: 220px;
    height: 300px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.9), 
                inset 0 0 30px rgba(168, 85, 247, 0.2);
    transform: translateY(0);
    opacity: 0;
}

.founder-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(0.5) contrast(1.1);
}

.loading-status-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: 240px;
    opacity: 0;
}

.loading-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 5px;
    color: #a855f7;
    text-transform: uppercase;
    opacity: 0.8;
}

.loader-track-3d {
    width: 100%;
    height: 3px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 4px;
    overflow: hidden;
}

.loader-bar-3d {
    width: 0%;
    height: 100%;
    background: linear-gradient(90deg, #a855f7, #00FF88);
    box-shadow: 0 0 20px rgba(168, 85, 247, 0.6);
}

.loader-percentage-3d {
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    font-family: 'Space Grotesk', sans-serif;
    letter-spacing: 1px;
}

.reveal-curtain-top, .reveal-curtain-bottom {
    position: absolute;
    left: 0;
    width: 100%;
    height: 50.5%;
    background: #000;
    z-index: 100;
}

.reveal-curtain-top { top: 0; }
.reveal-curtain-bottom { bottom: 0; }

.logo-dot {

    width: 12px;

    height: 12px;

    background: #00FF88;

    border-radius: 50%;

    box-shadow: 0 0 30px rgba(0, 255, 136, 0.6);

    opacity: 0;

    transform: scale(0);

}

.loader-track {

    width: 240px;

    height: 2px;

    background: rgba(255, 255, 255, 0.05);

    border-radius: 2px;

    margin: 0 auto 20px;

    overflow: hidden;

    position: relative;

}

.loader-bar {
}

/* --- FAQ Styles --- */

.faq-section {

    padding: 120px 0;

    background-color: #0b0b0b;

    position: relative;

}

.faq-header {

    text-align: center;

    margin-bottom: 80px;

    color: #ffffff !important;

}

.faq-badge {

    background: rgba(168, 85, 247, 0.1);

    color: #a855f7;

    padding: 8px 16px;

    border-radius: 100px;

    font-size: 0.9rem;

    font-weight: 600;

    margin-bottom: 20px;

    display: inline-block;

    border: 1px solid rgba(168, 85, 247, 0.2);

}

.faq-header h2 {

    font-size: 3.5rem;

    color: #ffffff !important;

    line-height: 1.2;

    margin-bottom: 30px;

}

.faq-container {

    max-width: 900px;

    margin: 0 auto;

}

.faq-item {

    border-top: 1px solid rgba(255, 255, 255, 0.1);

    transition: all 0.3s ease;

}

.faq-item:last-child {

    border-bottom: 1px solid rgba(255, 255, 255, 0.1);

}

.faq-question {

    width: 100%;

    padding: 35px 0;

    display: flex;

    justify-content: space-between;

    align-items: center;

    background: none;

    border: none;

    cursor: pointer;

    text-align: left;

    transition: all 0.3s ease;

}

.faq-question h3 {

    font-size: 1.25rem;

    color: #ffffff;

    font-weight: 500;

    transition: all 0.3s ease;

    opacity: 0.8; /* Subtle dimming by default */

}

.faq-icon-box {

    width: 44px;

    height: 44px;

    border-radius: 50%;

    border: 1px solid rgba(168, 85, 247, 0.3);

    display: flex;

    justify-content: center;

    align-items: center;

    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);

    color: #a855f7;

    flex-shrink: 0;

    background: rgba(168, 85, 247, 0.05);

}

.faq-icon-box svg {

    width: 20px;

    height: 20px;

    transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);

}

.faq-answer {

    max-height: 0;

    overflow: hidden;

    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);

    opacity: 0;

}

.answer-inner {

    padding-bottom: 35px;

    color: rgba(255, 255, 255, 0.7);

    line-height: 1.8;

    font-size: 1.1rem;

    max-width: 850px;

}

/* Active & Hover States */

.faq-item:hover {

    background: rgba(255, 255, 255, 0.03);

}

.faq-item:hover .faq-question h3 {

    opacity: 1;

}

.faq-item.active {

    background: rgba(168, 85, 247, 0.04);

    padding: 0 30px;

    margin: 0 -30px;

    border-radius: 24px;

    border-top-color: transparent;

}

.faq-item.active + .faq-item {

    border-top-color: transparent;

}

.faq-item.active .faq-question h3 {

    color: #a855f7;

    opacity: 1;

}

.faq-item.active .faq-icon-box {

    background: #a855f7;

    border-color: #a855f7;

    color: #fff;

    transform: rotate(180deg);

}

.faq-item.active .faq-answer {

    max-height: 500px;

    opacity: 1;

}

/* Hover Effects */

.faq-item:not(.active):hover .faq-question {

    padding-left: 10px;

}

@media (max-width: 768px) {

    .faq-header h2 {

        font-size: 2.5rem;

    }

.faq-question h3 {

        font-size: 1.1rem;

    }

}

/* --- Testimonials Styles --- */

.review-hub-section {

    padding: 120px 0;

    background-color: #0b0b0b;

    overflow: hidden;

    position: relative;

}

.review-hub-header {

    text-align: center;

    margin-bottom: 80px;

}

.review-badge {

    background: rgba(168, 85, 247, 0.1);

    color: #a855f7;

    padding: 8px 16px;

    border-radius: 100px;

    font-size: 0.9rem;

    font-weight: 600;

    margin-bottom: 20px;

    display: inline-block;

    border: 1px solid rgba(168, 85, 247, 0.2);

}

/* Marquee Container */

.review-marquee-container {

    display: flex;

    flex-direction: column;

    gap: 40px;

    width: 100%;

}

.review-marquee-row {

    display: flex;

    width: fit-content;

    gap: 30px;

}

/* Animations */

.review-marquee-row.move-left {

    animation: review-marquee-left 40s linear infinite;

}

.review-marquee-row.move-right {

    animation: review-marquee-right 40s linear infinite;

}

@keyframes review-marquee-left {

    from { transform: translateX(0); }

    to { transform: translateX(-50%); }

}

@keyframes review-marquee-right {

    from { transform: translateX(-50%); }

    to { transform: translateX(0); }

}

.review-card-item {

    width: 320px;

    height: 400px; /* Increased height as requested (400px) */

    background: rgba(255, 255, 255, 0.02);

    border: 1px solid rgba(255, 255, 255, 0.05);

    border-radius: 32px;

    padding: 40px;

    backdrop-filter: blur(15px);

    display: flex;

    flex-direction: column;

    justify-content: space-between; /* Ensures content is spaced out in the taller card */

    flex-shrink: 0;

    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);

    position: relative;

    overflow: hidden;

}

.review-card-item::before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    background: linear-gradient(135deg, rgba(168, 85, 247, 0.1), transparent);

    opacity: 0;

    transition: opacity 0.3s ease;

}

.review-card-item:hover {

    background: rgba(255, 255, 255, 0.05);

    transform: translateY(-10px) scale(1.02);

    border-color: rgba(168, 85, 247, 0.5);

    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);

}

.review-card-item:hover::before {

    opacity: 1;

}

.review-text-content {

    font-size: 1.1rem;

    color: rgba(255, 255, 255, 0.85);

    line-height: 1.7;

    position: relative;

    z-index: 1;

}

.review-user-profile {

    display: flex;

    align-items: center;

    gap: 16px;

    position: relative;

    z-index: 1;

}

.profile-avatar-box {

    width: 50px;

    height: 50px;

    border-radius: 50%;

    overflow: hidden;

    border: 2px solid rgba(168, 85, 247, 0.3);

}

.profile-avatar-box img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.profile-name-info h4 {

    font-size: 1.1rem;

    color: #fff;

    margin-bottom: 2px;

}

.profile-name-info p {

    font-size: 0.85rem;

    color: rgba(255, 255, 255, 0.5);

}

@media (max-width: 768px) {

    .review-card-item {

        width: 280px;

        height: 350px;

        padding: 30px;

    }

}

/* --- AI Section Styles --- */

h1 {

    font-size: clamp(3rem, 8vw, 6rem);

    font-weight: 700;

    line-height: 1.1;

    margin-bottom: 30px;

    text-align: center;

}

.hero .container {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    height: 100vh;

    text-align: center;

}

/* AI Section Styling */

.ai-section {

    padding: 120px 0;

    background-color: #000;

    color: #fff;

    overflow: hidden;

    position: relative;

}

.ai-header {

    text-align: center;

    margin-bottom: 80px;

}

.ai-badge {

    border: 1px solid var(--accent-green);

    color: var(--accent-green);

    padding: 5px 20px;

    border-radius: 50px;

    font-size: 0.85rem;

    display: inline-block;

    margin-bottom: 20px;

}

.ai-title {

    font-size: clamp(2.5rem, 6vw, 3.5rem);

    margin-bottom: 20px;

}

.ai-desc {

    color: var(--text-secondary);

    max-width: 600px;

    margin: 0 auto;

    font-size: 1.1rem;

    line-height: 1.6;

}

/* Hub and Spoke Layout */

.ai-hub-wrapper {

    position: relative;

    max-width: 1200px;

    margin: 0 auto;

    height: 900px;

    display: flex;

    justify-content: center;

    align-items: center;

}

.central-hub {

    width: 120px;

    height: 120px;

    background: linear-gradient(135deg, #a855f7, #6366f1);

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    box-shadow: 0 0 50px rgba(168, 85, 247, 0.5);

    z-index: 10;

    /* position: relative; */

}

.central-hub::after {

    content: '';

    position: absolute;

    width: 150%;

    height: 150%;

    border-radius: 50%;

    background: radial-gradient(circle, rgba(168, 85, 247, 0.2), transparent 70%);

    animation: hub-pulse 3s infinite;

}

@keyframes hub-pulse {

    0% {

        transform: scale(1);

        opacity: 0.8;

    }

50% {

        transform: scale(1.1);

        opacity: 0.4;

    }

100% {

        transform: scale(1);

        opacity: 0.8;

    }

}

/* Processing Hub Styles */

.processing-hub-wrapper {

    position: relative;

    width: 140px;

    height: 140px;

    display: flex;

    justify-content: center;

    align-items: center;

}

.hub-center-core {

    width: 60px;

    height: 60px;

    background: rgba(124, 77, 255, 0.1);

    border: 1px solid rgba(168, 85, 247, 0.4);

    border-radius: 16px;

    display: flex;

    justify-content: center;

    align-items: center;

    z-index: 10;

    box-shadow: 0 0 30px rgba(124, 77, 255, 0.3),

        inset 0 0 15px rgba(124, 77, 255, 0.2);

    animation: hub-breathe 3s ease-in-out infinite;

}

.processing-ring-outer {

    position: absolute;

    width: 110px;

    height: 110px;

    border: 2px dashed rgba(0, 255, 136, 0.4);

    border-radius: 50%;

    animation: orb-rotate-cw 12s linear infinite;

}

.processing-ring-inner {

    position: absolute;

    width: 85px;

    height: 85px;

    border: 1.5px solid transparent;

    border-top-color: #7c4dff;

    border-radius: 50%;

    animation: orb-rotate-cw 1.5s linear infinite;

    /* Fast rotation for processing feel */

}

/* Data Particles Animation */

.particle {

    position: absolute;

    width: 6px;

    height: 6px;

    background: #00ff88;

    border-radius: 50%;

    box-shadow: 0 0 10px #00ff88;

}

.p1 {

    animation: particle-orbit 4s linear infinite;

}

.p2 {

    animation: particle-orbit 4s linear infinite 1.3s;

}

.p3 {

    animation: particle-orbit 4s linear infinite 2.6s;

}

@keyframes particle-orbit {

    from {

        transform: rotate(0deg) translateX(55px) rotate(0deg);

    }

to {

        transform: rotate(360deg) translateX(55px) rotate(-360deg);

    }

}

@keyframes hub-breathe {

0%,

    100% {

        transform: scale(1);

        opacity: 0.9;

    }

50% {

        transform: scale(1.05);

        opacity: 1;

        border-color: rgba(168, 85, 247, 0.8);

    }

}

.hub-ambient-glow {

    position: absolute;

    width: 150%;

    height: 150%;

    background: radial-gradient(circle, rgba(124, 77, 255, 0.15), transparent 70%);

    border-radius: 50%;

    animation: glow-pulse 4s ease-in-out infinite;

}

@keyframes orb-rotate-cw {

    from {

        transform: rotate(0deg);

    }

to {

        transform: rotate(360deg);

    }

}

@keyframes glow-pulse {

0%,

    100% {

        opacity: 0.3;

        transform: scale(1);

    }

50% {

        opacity: 0.6;

        transform: scale(1.1);

    }

}

/* Feature Cards Positioning */

.ai-card {

    position: absolute;

    width: 320px;

    background: rgba(255, 255, 255, 0.03);

    border: 1px solid rgba(255, 255, 255, 0.1);

    backdrop-filter: blur(10px);

    border-radius: 24px;

    padding: 25px;

    transition: all 0.4s ease;

    z-index: 5;

}

.ai-card:hover {

    background: rgba(255, 255, 255, 0.08);

    transform: translateY(-5px);

    border-color: rgba(168, 85, 247, 0.4);

}

.card-top-left {

    top: 0;

    left: 0;

}

.card-top-center {

    top: -50px;

    left: 50%;

    transform: translateX(-50%);

}

.card-top-right {

    top: 0;

    right: 0;

}

.card-bottom-left {

    bottom: 0;

    left: 0;

}

.card-bottom-center {

    bottom: -50px;

    left: 50%;

    transform: translateX(-50%);

}

.card-bottom-right {

    bottom: 0;

    right: 0;

}

.ai-card h3 {

    font-size: 1.4rem;

    margin-bottom: 15px;

}

.ai-card h3 .italic-serif {

    font-weight: 400;

}

.ai-card p {

    font-size: 0.95rem;

    color: var(--text-secondary);

    line-height: 1.5;

    margin-bottom: 20px;

}

/* Mini UI Layouts within cards */

.ai-card-preview {

    background: rgba(0, 0, 0, 0.2);

    border-radius: 12px;

    padding: 15px;

    margin-top: 15px;

    border: 1px solid rgba(255, 255, 255, 0.05);

}

.tool-icons {

    display: flex;

    gap: 10px;

    margin-bottom: 15px;

}

.tool-icon {

    width: 32px;

    height: 32px;

    background: rgba(255, 255, 255, 0.1);

    border-radius: 8px;

    display: flex;

    justify-content: center;

    align-items: center;

    font-size: 14px;

}

/* Connecting Lines (SVG) */

.ai-lines {

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    pointer-events: none;

    z-index: 1;

}

.ai-line {

    display: none;

    /* Removed static base lines for a cleaner, modern 'energy' look */

}

.ai-line-pulse {

    fill: none;

    stroke: #a855f7;

    stroke-width: 2.5;

    stroke-dasharray: 20 200;

    filter: drop-shadow(0 0 10px rgba(168, 85, 247, 0.7));

}

/* Sequential Neural Processing Loop (Request -> Response) */

.flow-in {

    animation: flow-pulse-single 4s linear infinite;

}

.flow-out.delayed {

    animation: flow-pulse-single 4s linear infinite 2s;

}

/* Fired after Inbound arrives */

@keyframes flow-pulse-single {

    0% {

        stroke-dashoffset: 220;

        opacity: 0;

    }

5%,

    45% {

        opacity: 0.9;

    }

50%,

    100% {

        stroke-dashoffset: 0;

        opacity: 0;

    }

}

@keyframes energy-bloom {

0%,

    100% {

        opacity: 0.1;

        stroke-width: 1.5;

    }

50% {

        opacity: 0.8;

        stroke-width: 3.5;

    }

}

/* Mobile Responsive */

@media (max-width: 992px) {

    .ai-hub-wrapper {

        height: auto;

        display: flex;

        flex-direction: column;

        gap: 30px;

    }

.central-hub,

    .ai-lines {

        display: none;

    }

.ai-card {

        position: relative;

        width: 100%;

        top: auto !important;

        left: auto !important;

        right: auto !important;

        bottom: auto !important;

        transform: none !important;

    }

}

/* Promise of Trust Section Styles */

.promise-section {

    padding: 120px 0;

    background-color: #000;

    background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);

    background-size: 40px 40px;

    position: relative;

    overflow: hidden;

}

.promise-section::before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    background: radial-gradient(circle at 50% 50%, rgba(124, 77, 255, 0.05), transparent 70%);

    pointer-events: none;

}

.section-header.centered {

    text-align: center;

    margin-bottom: 80px;

}

.promise-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 30px;

    max-width: 1200px;

    margin: 0 auto;

}

.promise-card {

    background: rgba(255, 255, 255, 0.02);

    border: 1px solid rgba(255, 255, 255, 0.05);

    backdrop-filter: blur(15px);

    border-radius: 32px;

    padding: 40px;

    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background 0.4s ease, border-color 0.4s ease;

    text-align: left;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

}

.promise-card:hover {

    transform: translateY(-15px);

    background: rgba(255, 255, 255, 0.06);

    border-color: rgba(0, 255, 136, 0.3);

}

.promise-icon-wrapper {

    width: 160px;

    height: 160px;

    margin-bottom: 30px;

    display: flex;

    justify-content: center;

    align-items: center;

    background: radial-gradient(circle, rgba(168, 85, 247, 0.1), transparent 70%);

    border-radius: 50%;

}

.promise-icon {

    width: 140px;

    height: 140px;

    object-fit: contain;

    filter: drop-shadow(0 15px 30px rgba(0, 0, 0, 0.5));

}

.promise-card h3 {

    font-size: 1.6rem;

    margin-bottom: 20px;

    color: #fff;

}

.promise-card p {

    font-size: 1rem;

    color: rgba(255, 255, 255, 0.6);

    line-height: 1.6;

}

@media (max-width: 991px) {

    .promise-grid {

        grid-template-columns: 1fr;

        gap: 20px;

    }

}

/* Typography Helpers - Core Aesthetic */

.italic-serif {

    font-family: 'Playfair Display', serif !important;

    font-style: italic !important;

    font-weight: 500 !important;

}

/* CUSTOM SPACING OVERRIDES */

.work-section {

    padding-bottom: 200px !important;

    position: relative;

    z-index: 1;

}

.stack-footer {

    margin-top: 120px !important;

    margin-bottom: 120px !important;

    display: flex;

    justify-content: center;

}

.testimonials-section {

    margin-top: 100px !important;

    padding: 150px 0 !important;

    position: relative;

    z-index: 10;

    background: #fff;

}

/* Video Section High-Fidelity Refinements */

.video-container-wrapper {

    margin-top: 150px;

    width: 100vw !important;

    height: 100vh;

    display: flex;

    justify-content: center;

    align-items: center;

    overflow: hidden;

    background: #000;

    margin-left: calc(50% - 50vw);

}

.video-container-main {

    width: 1600px;

    max-width: 90%;

    height: 600px;

    margin: 0 auto;

    border-radius: 40px !important;

    box-shadow: 0 60px 120px rgba(0, 0, 0, 0.4) !important;

    overflow: hidden;

    position: relative;

    display: flex;

    justify-content: center;

    align-items: center;

    transition: none !important;

}

.video-scroll-trigger {

    width: 100%;

    height: 100%;

    display: flex;

    justify-content: center;

    align-items: center;

}

.mission-video {

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.play-button-center {

    position: absolute !important;

    top: 50% !important;

    left: 50% !important;

    transform: translate(-50%, -50%) !important;

    z-index: 10;

    text-align: center;

    pointer-events: none;

}

.video-overlay-glow {

    background: radial-gradient(circle at center, transparent 30%, rgba(0, 0, 0, 0.4) 100%) !important;

}

/* Portfolio / What We Do Styles (Pinned Redesign) */

.portfolio-section {

    padding: 150px 0;

    background: #000;

    color: #fff;

    position: relative;

}

.portfolio-section-header {

    padding-top: 30px;

    margin-bottom: 50px;

}

.portfolio-main-container {

    display: flex;

    gap: 80px;

    align-items: flex-start;

}

.portfolio-left-pinned {

    width: 45%;

    height: 60vh;

    position: sticky;

    top: 0;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 0;

    z-index: 10;

}

.service-content-wrapper {

    position: relative;

    width: 100%;

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

}

.service-info {

    position: absolute;

    width: 100%;

    opacity: 0;

    visibility: hidden;

    transform: translateY(20px);

    pointer-events: none;

    transition: opacity 0s, transform 0s;

    /* Controlled by GSAP */

}

.service-info.active {

    opacity: 1;

    visibility: visible;

    transform: translateY(0);

    pointer-events: all;

}

.portfolio-main-title {

    font-size: clamp(2.5rem, 5vw, 4rem);

    line-height: 1.1;

    margin-top: 0px;

    margin-bottom: 40px;

    overflow: hidden;

    font-weight: 700;

    text-align: left;

}

.pill-badge-green {

    display: inline-block;

    padding: 8px 18px;

    border: 1px solid rgba(0, 255, 136, 0.4);

    color: #00ff88;

    border-radius: 30px;

    font-size: 0.75rem;

    font-weight: 500;

    margin-bottom: 25px;

    text-transform: uppercase;

    letter-spacing: 1px;

}

.portfolio-right-scroll {

    width: 55%;

}

.service-cards-row {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 25px;

    margin-bottom: 60px;

    /* Space between service blocks for clear triggers */

    min-height: 600px;

    align-items: center;

}

.service-cards-row:last-child {

    margin-bottom: 0;

}

.portfolio-card {

    border-radius: 28px;

    overflow: hidden;

    height: 480px;

    background: #111;

    width: 100%;

    transition: transform 0.4s ease;

}

.portfolio-card:nth-child(2) {

    margin-top: 100px;

    /* Maintain masonry look within row */

}

.pixel-bold-title {

    font-family: 'Playfair Display', serif !important;

    font-style: italic !important;

    font-size: 3.2rem;

    margin-bottom: 20px;

    color: #fff;

    font-weight: 600;

    position: relative;

    display: inline-block;

}

.pixel-bold-title::after {

    content: '';

    position: absolute;

    bottom: -3px;

    left: 0;

    width: 100%;

    height: 1px;

    background: var(--accent-purple);

    opacity: 0.5;

}

.portfolio-text-desc {

    color: rgba(255, 255, 255, 0.5);

    font-size: 1.15rem;

    line-height: 1.6;

    margin-bottom: 30px;

    max-width: 400px;

}

.see-more-link {

    color: var(--accent-purple);

    font-weight: 600;

    font-size: 1rem;

    text-decoration: none;

    display: flex;

    align-items: center;

    gap: 8px;

}

.portfolio-card img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.6s cubic-bezier(0.2, 1, 0.3, 1);

}

.portfolio-card:hover img {

    transform: scale(1.05);

}

/* Card Backgrounds */

.card-blue {

    background: #3b82f6;

}

.card-orange {

    background: #f97316;

}

.card-green-dark {

    background: #15803d;

}

.card-green-light {

    background: #a3e635;

}

.card-purple {

    background: #7c3aed;

}

.card-yellow {

    background: #facc15;

}

.noise-overlay {

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    pointer-events: none;

    z-index: 9999;

    opacity: 0.05;

    background: url('https://grainy-gradients.vercel.app/noise.svg');

}

@media (max-width: 991px) {

    .portfolio-main-container {

        flex-direction: column;

    }

.portfolio-left-pinned {

        width: 100%;

        height: auto;

        position: relative;

        top: 0;

        margin-bottom: 50px;

    }

.portfolio-right-scroll {

        width: 100%;

    }

.service-cards-row {

        margin-bottom: 100px;

    }

}

.portfolio-footer-cta {

    margin: 100px auto 100px;

    display: flex;

    justify-content: center;

    width: 100%;

}

.btn-book-call {

    padding: 16px 45px;

    background: #7c3aed;

    color: #fff;

    border-radius: 50px;

    font-size: 1.1rem;

    font-weight: 600;

    text-decoration: none;

    border: 1px solid rgba(255, 255, 255, 0.1);

    box-shadow: 0 10px 30px rgba(124, 77, 255, 0.2);

    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);

    display: flex;

    align-items: center;

    justify-content: center;

    width: fit-content;

    gap: 10px;

}

.btn-book-call:hover {

    transform: scale(1.05) translateY(-5px);

    background: #fff;

    color: #7c3aed;

    box-shadow: 0 20px 40px rgba(255, 255, 255, 0.2);

    border-color: transparent;

}

/* Pricing Section Styles */

.pricing-section {

    padding: 120px 0;

    background-color: #000;

    position: relative;

    overflow: hidden;

}

.pricing-header {

    text-align: center;

    margin-bottom: 80px;

    display: flex;

    flex-direction: column;

    align-items: center;

}

.pricing-toggle-wrapper {

    display: flex;

    align-items: center;

    gap: 15px;

    background: rgba(255, 255, 255, 0.05);

    padding: 6px;

    border-radius: 50px;

    margin-top: 30px;

    border: 1px solid rgba(255, 255, 255, 0.1);

}

.toggle-btn {

    padding: 10px 25px;

    border-radius: 50px;

    font-size: 0.9rem;

    font-weight: 600;

    cursor: pointer;

    transition: all 0.3s ease;

    border: none;

    background: transparent;

    color: var(--text-secondary);

}

.toggle-btn.active {

    background: #6366f1;

    color: #fff;

    box-shadow: 0 5px 15px rgba(99, 102, 241, 0.4);

}

.save-badge {

    position: absolute;

    top: -25px;

    right: -20px;

    color: #00ff88;

    font-size: 0.7rem;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 1px;

}

.pricing-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 30px;

    max-width: 1200px;

    margin: 0 auto;

    align-items: center;

    perspective: 1200px;

    /* Added for 3D effect */

}

.pricing-card {

    background: rgba(255, 255, 255, 0.03);

    border: 1px solid rgba(255, 255, 255, 0.05);

    border-radius: 40px;

    padding: 40px;

    display: flex;

    flex-direction: column;

    position: relative;

    transition: transform 0.4s ease, background 0.4s ease;

}

.pricing-card:hover {

    background: rgba(255, 255, 255, 0.06);

    transform: translateY(-5px);

}

.pricing-card.featured {

    background: radial-gradient(circle at top left, rgba(168, 85, 247, 0.15), transparent),

        rgba(255, 255, 255, 0.03);

    border: 1px solid rgba(168, 85, 247, 0.3);

    transform: scale(1.05);

    z-index: 2;

}

.pricing-card.featured::after {

    content: '';

    position: absolute;

    bottom: -20px;

    left: 50%;

    transform: translateX(-50%);

    width: 80%;

    height: 10px;

    background: #7c3aed;

    filter: blur(30px);

    opacity: 0.5;

    z-index: -1;

}

.card-icon-box {

    width: 60px;

    height: 60px;

    background: rgba(255, 255, 255, 0.05);

    border-radius: 18px;

    display: flex;

    justify-content: center;

    align-items: center;

    margin-bottom: 30px;

    font-size: 24px;

}

.pricing-card h3 {

    font-size: 1.8rem;

    margin-bottom: 10px;

    font-weight: 700;

}

.pricing-card .plan-desc {

    color: var(--text-secondary);

    font-size: 0.95rem;

    margin-bottom: 30px;

}

.price-box {

    margin-bottom: 30px;

    display: flex;

    align-items: baseline;

    gap: 5px;

}

.price-box .currency {

    font-size: 1.5rem;

    font-weight: 700;

}

.price-box .amount {

    font-size: 3.5rem;

    font-weight: 700;

}

.price-box .period {

    color: var(--text-secondary);

    font-size: 1rem;

}

.features-list {

    list-style: none;

    margin-bottom: 40px;

    flex-grow: 1;

}

.features-list li {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 15px;

    font-size: 1rem;

    color: var(--text-primary);

}

.check-icon {

    width: 24px;

    height: 24px;

    background: #00ff88;

    color: #000;

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    font-size: 12px;

    flex-shrink: 0;

}

.pricing-btn {

    padding: 20px;

    border-radius: 20px;

    text-align: center;

    font-weight: 600;

    text-decoration: none;

    transition: all 0.3s ease;

}

.btn-starter {

    background: rgba(255, 255, 255, 0.05);

    color: #fff;

    border: 1px solid rgba(255, 255, 255, 0.1);

}

.btn-starter:hover {

    background: rgba(255, 255, 255, 0.1);

}

.btn-featured {

    background: linear-gradient(135deg, #6366f1, #a855f7);

    color: #fff;

    box-shadow: 0 10px 30px rgba(99, 102, 241, 0.3);

}

.btn-featured:hover {

    transform: scale(1.02);

    box-shadow: 0 15px 40px rgba(99, 102, 241, 0.5);

}

@media (max-width: 991px) {

    .pricing-grid {

        grid-template-columns: 1fr;

        padding: 0 20px;

    }

.pricing-card.featured {

        transform: none;

        order: -1;

    }

}

/* Comparison Section Styles */

.comparison-section {

    padding: 120px 0;

    background-color: #000;

    position: relative;

}

.comparison-header {

    text-align: center;

    margin-bottom: 80px;

}

.comparison-table-wrapper {

    max-width: 1200px;

    margin: 0 auto;

    overflow-x: auto;

    /* For mobile scroll */

}

.comparison-grid {

    display: flex;

    flex-direction: column;

    width: 100%;

    min-width: 900px;

    /* To prevent squishing */

}

/* Grid Header */

.comparison-row.header {

    display: grid;

    grid-template-columns: 2fr repeat(5, 1fr);

    padding: 20px 40px;

    border-bottom: 1px solid rgba(255, 255, 255, 0.1);

}

.comparison-row.header .col-title {

    color: rgba(255, 255, 255, 0.5);

    /* Soft white for labels */

    font-size: 0.95rem;

    font-weight: 500;

    text-align: center;

    letter-spacing: 0.5px;

}

.comparison-row.header .col-title:first-child {

    text-align: left;

}

/* Row Styling */

.comparison-row {

    display: grid;

    grid-template-columns: 2fr repeat(5, 1fr);

    padding: 30px 40px;

    align-items: center;

    border-bottom: 1px solid rgba(255, 255, 255, 0.05);

    transition: all 0.3s ease;

}

.comparison-row:last-child {

    border-bottom: none;

}

/* Design Monks Row Highlight */

.comparison-row.featured {

    background: linear-gradient(90deg, rgba(124, 77, 255, 0.15), rgba(99, 102, 241, 0.1));

    border-radius: 12px;

    /* User Requested - Less Round */

    border: 1px solid rgba(168, 85, 247, 0.3);

    margin: 10px 0;

    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);

}

.platform-cell {

    display: flex;

    align-items: center;

    gap: 20px;

}

.platform-icon-box {

    width: 48px;

    height: 48px;

    background: rgba(255, 255, 255, 0.05);

    border-radius: 12px;

    display: flex;

    justify-content: center;

    align-items: center;

    font-size: 20px;

}

.featured .platform-icon-box {

    background: #7c3aed;

    color: #fff;

    box-shadow: 0 0 20px rgba(124, 77, 255, 0.5);

}

.platform-info h4 {

    font-size: 1.15rem;

    color: #fff;

    margin-bottom: 5px;

}

.platform-info p {

    font-size: 0.85rem;

    color: var(--text-secondary);

    max-width: 300px;

    line-height: 1.4;

}

.status-cell {

    display: flex;

    justify-content: center;

    align-items: center;

    font-size: 1.2rem;

}

.status-check {

    color: #00ff88;

}

.status-cross {

    color: #ff4d4d;

    opacity: 0.5;

}

/* Featured specific overrides */

.featured .status-check {

    filter: drop-shadow(0 0 5px rgba(0, 255, 136, 0.5));

}

@media (max-width: 900px) {

    .comparison-grid {

        min-width: unset;

        /* Removed min-width to avoid scrollbar */

        width: 100%;

    }

.comparison-row.header,

    .comparison-row {

        grid-template-columns: 1.2fr repeat(5, 1fr);

        padding: 15px 5px;

        gap: 2px;

    }

.platform-info p {

        display: none;

        /* Hide description on mobile to save space */

    }

.platform-info h4 {

        font-size: 0.85rem;

    }

.platform-icon-box {

        width: 30px;

        height: 30px;

        font-size: 1rem;

    }

}

@media (max-width: 600px) {

    .pricing-header h2 {

        font-size: 2rem;

    }

.price-box .amount {

        font-size: 2.5rem;

    }

.comparison-grid {

        margin-bottom: 60px;

        min-width: unset;

        width: 100%;

        overflow: hidden;

    }

.comparison-row.header,

    .comparison-row {

        grid-template-columns: 1.2fr repeat(3, 1fr) 0.8fr 0.8fr;

        /* Showing Scalability/Affordability smaller */

        padding: 12px 5px;

        gap: 5px;

    }

.col-title {

        font-size: 0.75rem;

        font-weight: 700;

        letter-spacing: 0px;

        text-align: center;

    }

.platform-info h4 {

        font-size: 0.8rem;

        white-space: nowrap;

    }

/* Target very small screens to avoid header crowding */

    @media (max-width: 480px) {

.comparison-row.header,

        .comparison-row {

            grid-template-columns: 1.2fr repeat(3, 1fr);

            /* Hide last 2 cols */

        }

.comparison-row .col-title:nth-child(5),

        .comparison-row .col-title:nth-child(6),

        .comparison-row .status-cell:nth-child(5),

        .comparison-row .status-cell:nth-child(6) {

            display: none !important;

        }

.col-title {

            font-size: 0.8rem;

        }

    }

}

/* AI Hub Mobile Fixes */

@media (max-width: 992px) {

    .ai-hub-wrapper {

        height: auto;

        padding: 40px 20px;

        display: flex;

        flex-direction: column;

        gap: 30px;

    }

.central-hub,

    .ai-lines {

        display: none !important;

    }

.ai-card {

        position: relative !important;

        width: 100% !important;

        top: auto !important;

        left: auto !important;

        right: auto !important;

        bottom: auto !important;

        transform: none !important;

        height: auto !important;

        min-height: 300px;

    }

.ai-custom-title {

        font-size: 2rem;

    }

/* Video Section Mobile Optimization */

    .video-container-wrapper {

        margin-top: 60px !important;

        margin-bottom: 20px !important;

        height: auto !important;

        padding-top: 0 !important;

        background: transparent !important;

    }

.video-container-main {

        width: 100% !important;

        height: 280px !important;

        max-width: 100% !important;

        border-radius: 20px !important;

        margin: 0 auto !important;

    }

.why-us-section {

        padding-top: 40px !important;

        padding-bottom: 20px !important;

    }

.why-us-header {

        margin-bottom: 20px !important;

    }

}

/* --- Contact Section Styles --- */

.contact-section {

    padding: 100px 0;

    background-color: #0b0b0b;

    position: relative;

    overflow: hidden;

}

.contact-card-wrapper {

    background: linear-gradient(145deg, rgba(255, 255, 255, 0.03), rgba(0, 0, 0, 0.9));

    border: 1px solid rgba(255, 255, 255, 0.08);

    border-radius: 40px;

    padding: 60px;

    position: relative;

    backdrop-filter: blur(20px);

    max-width: 1150px;

    margin: 0 auto;

    display: flex;

    flex-direction: column;

    gap: 60px;

}

.contact-main-grid {

    display: grid;

    grid-template-columns: 1fr 1.3fr;

    gap: 80px;

    align-items: start;

}

/* Left Column Styling */

.contact-left {

    display: flex;

    flex-direction: column;

    gap: 25px;

}

.consultation-badge {

    color: #00FF88;

    border: 1px solid rgba(0, 255, 136, 0.3);

    padding: 6px 14px;

    border-radius: 100px;

    font-size: 0.8rem;

    font-weight: 600;

    display: inline-block;

    width: fit-content;

    background: rgba(0, 255, 136, 0.05);

}

.contact-left h2 {

    font-size: 2.6rem !important;

    line-height: 1.15;

    margin-bottom: 25px;

    letter-spacing: -0.02em;

    font-weight: 700;

}

.benefit-list {

    list-style: none;

    display: flex;

    flex-direction: column;

    gap: 18px;

}

.benefit-item {

    display: flex;

    align-items: center;

    gap: 14px;

    color: rgba(255, 255, 255, 0.85);

    font-size: 0.95rem;

    font-weight: 500;

}

.check-icon {

    width: 24px;

    height: 24px;

    background: linear-gradient(135deg, #00FF88, #10b981);

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    color: #000;

    font-size: 0.9rem;

    font-weight: 900;

    box-shadow: 0 0 15px rgba(0, 255, 136, 0.2);

}

/* Right Column: Form Styling */

.contact-right {

    display: flex;

    flex-direction: column;

    gap: 30px;

}

.form-group-row {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 20px;

}

.form-field {

    display: flex;

    flex-direction: column;

    gap: 10px;

}

.form-field label {

    font-size: 0.9rem;

    font-weight: 600;

    color: rgba(255, 255, 255, 0.7);

    text-transform: uppercase;

    letter-spacing: 0.05em;

}

.input-style {

    background: rgba(255, 255, 255, 0.03);

    border: 1px solid rgba(255, 255, 255, 0.07);

    padding: 14px 18px;

    border-radius: 10px;

    color: #fff;

    font-family: inherit;

    font-size: 0.95rem;

    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);

}

.input-style:focus {

    outline: none;

    border-color: #a855f7;

    background: rgba(168, 85, 247, 0.05);

    box-shadow: 0 0 20px rgba(168, 85, 247, 0.1);

}

.budget-options {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

}

.budget-btn {

    padding: 10px 18px;

    border-radius: 10px;

    border: 1px solid rgba(255, 255, 255, 0.07);

    background: rgba(255, 255, 255, 0.02);

    color: rgba(255, 255, 255, 0.5);

    cursor: pointer;

    font-weight: 500;

    font-size: 0.85rem;

    transition: all 0.3s ease;

}

.budget-btn:hover, .budget-btn.active {

    border-color: #a855f7;

    color: #a855f7;

    background: rgba(168, 85, 247, 0.05);

    box-shadow: 0 5px 15px rgba(168, 85, 247, 0.15);

}

.connect-btn {

    background: linear-gradient(135deg, #a855f7, #6366f1);

    color: #fff;

    padding: 16px 40px;

    border-radius: 50px;

    border: none;

    font-weight: 700;

    font-size: 1rem;

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

    width: fit-content;

    box-shadow: 0 10px 30px rgba(168, 85, 247, 0.3);

    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);

    position: relative;

    overflow: hidden;

}

.connect-btn:hover {

    transform: translateY(-5px) scale(1.02);

    box-shadow: 0 15px 40px rgba(168, 85, 247, 0.5);

}

/* Profile Card Centered (Full Width Bottom) */

.profile-card-centered {

    width: 100%;

    display: flex;

    justify-content: center;

    border-top: 1px solid rgba(255, 255, 255, 0.05);

    padding-top: 50px;

}

.profile-card-inner {

    background: rgba(255, 255, 255, 0.03);

    border: 1px solid rgba(255, 255, 255, 0.08);

    border-radius: 24px;

    padding: 25px;

    display: flex;

    align-items: center;

    gap: 30px;

    max-width: 800px;

    width: 100%;

    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);

}

.profile-card-inner:hover {

    transform: translateY(-8px);

    background: rgba(255, 255, 255, 0.05);

    border-color: rgba(168, 85, 247, 0.3);

    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);

}

.profile-img-box {

    width: 120px;

    height: 120px;

    border-radius: 16px;

    overflow: hidden;

    flex-shrink: 0;

}

.profile-img-box img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.profile-info h4 {

    font-size: 1.2rem;

    margin-bottom: 5px;

    font-weight: 700;

}

.profile-info p {

    font-size: 0.85rem;

    color: rgba(255, 255, 255, 0.5);

    margin-bottom: 15px;

}

.profile-contact-links {

    display: flex;

    gap: 20px;

}

.profile-contact-links a {

    color: #fff;

    text-decoration: none;

    font-size: 0.85rem;

    display: flex;

    align-items: center;

    gap: 10px;

    transition: color 0.3s ease;

}

.profile-contact-links a:hover {

    color: #a855f7;

}

.book-call-link {

    color: #a855f7 !important;

    font-weight: 700;

}

/* Bottom Bar Styling (Refined Glassmorphic) */

.contact-bottom-bar {

    margin-top: 50px;

    background: rgba(255, 255, 255, 0.02);

    padding: 16px 0;

    border-radius: 100px;

    overflow: hidden;

    display: flex;

    align-items: center;

    border: 1px solid rgba(168, 85, 247, 0.1);

    max-width: 1150px;

    margin: 0 auto;

}

.contact-marquee {

    display: flex;

    white-space: nowrap;

    gap: 40px;

    animation: contact-marquee-animation 40s linear infinite;

}

.marquee-item {

    display: flex;

    align-items: center;

    gap: 15px;

    color: rgba(255, 255, 255, 0.7);

    font-weight: 500;

    font-size: 1rem;

}

.marquee-item span {

    font-weight: 400;

    color: #a855f7;

}

.marquee-avatars {

    display: flex;

    align-items: center;

}

.mini-avatar {

    width: 28px;

    height: 28px;

    border-radius: 50%;

    border: 2px solid #1a1a1a;

    margin-left: -10px;

}

.mini-avatar:first-child { margin-left: 0; }

@keyframes contact-marquee-animation {

    from { transform: translateX(0); }

    to { transform: translateX(-50%); }

}

@media (max-width: 1024px) {

    .contact-main-grid {

        grid-template-columns: 1fr;

        gap: 60px;

    }

    .profile-card-inner {

        flex-direction: column;

        text-align: center;

        padding: 40px 20px;

    }

    .profile-contact-links {

        justify-content: center;

    }

}

@media (max-width: 768px) {

    .contact-card-wrapper {

        padding: 40px 24px;

        border-radius: 28px;

        gap: 40px;

    }

.contact-left h2 {

        font-size: 1.9rem !important;

    }

/* Two-column form row â    single column */

    .form-group-row {

        grid-template-columns: 1fr;

        gap: 20px;

    }

.budget-btn {

        font-size: 0.8rem;

        padding: 8px 14px;

    }

.connect-btn {

        width: 100%;

        justify-content: center;

    }

.profile-img-box {

        width: 90px;

        height: 90px;

    }

.contact-bottom-bar {

        border-radius: 20px;

        padding: 16px;

    }

}

@media (max-width: 480px) {

    .contact-card-wrapper {

        padding: 30px 18px;

        border-radius: 20px;

    }

.consultation-badge {

        font-size: 0.7rem;

    }

.marquee-item {

        font-size: 0.85rem;

    }

}

/* --- Cursor Styles --- */

/* Agency Premium Kinetic Cursor Design System */

#cursor {

    width: 6px;

    height: 6px;

    background-color: #fff;

    border-radius: 50%;

    position: fixed;

    top: 0;

    left: 0;

    z-index: 10001;

    pointer-events: none;

    mix-blend-mode: difference;

    transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;

}

#cursor-hover-circle {

    width: 40px;

    height: 40px;

    background: transparent;

    border: 1px solid rgba(255, 255, 255, 0.3);

    border-radius: 50%;

    position: fixed;

    top: 0;

    left: 0;

    z-index: 10000;

    pointer-events: none;

    transition: width 0.5s cubic-bezier(0.23, 1, 0.32, 1), 

                height 0.5s cubic-bezier(0.23, 1, 0.32, 1), 

                background 0.5s ease;

}

#cursor-blur {

    width: 400px;

    height: 400px;

    background: radial-gradient(circle, rgba(168, 85, 247, 0.08), transparent 70%);

    position: fixed;

    z-index: -1;

    pointer-events: none;

    filter: blur(80px);

    transform: translate(-50%, -50%); /* Corrected centering for the trail */

}

/* Global Interaction States */

.cursor-active #cursor {

    width: 80px;

    height: 80px;

    opacity: 0.1;

    background-color: #a855f7;

    mix-blend-mode: normal;

}

.cursor-active #cursor-hover-circle {

    width: 90px;

    height: 90px;

    border-color: #a855f7;

    background: rgba(168, 85, 247, 0.1);

}

/* 4. Disable Kinetic Cursor on Mobile/Touch Devices */

@media (max-width: 991px) {

    #cursor, 

    #cursor-hover-circle, 

    #cursor-blur {

        display: none !important;

    }

}

