/* ==========================================================================
   AEMZ Design System — From A To Z Solutions Brand Theme
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=Outfit:wght@400;500;600;700;800;900&display=swap');

:root {
    --font-heading: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    /* AEMZ Tech Brand Theme Tokens (Sampled from Logo) */
    --bg-base: #080d19; /* Deep Tech Obsidian Navy Canvas */
    --bg-surface: #0f172a; /* Tech Dark Surface */
    --bg-card: rgba(15, 23, 42, 0.85); /* AEMZ Translucent Glass Card */
    --bg-card-hover: rgba(20, 31, 56, 0.95);
    --bg-glass: rgba(11, 18, 33, 0.88);

    --border-subtle: rgba(255, 255, 255, 0.08);
    --border-highlight: rgba(5, 198, 208, 0.45);
    --border-glow: rgba(5, 198, 208, 0.5);

    /* AEMZ Logo Signature Colors */
    --accent-primary: #05c6d0; /* AEMZ Electric Cyan (Left wireframe & node) */
    --accent-teal: #05a2ba; /* AEMZ Ocean Teal (Center wireframe node) */
    --accent-cyan: #05c6d0;
    --accent-blue: #035990; /* AEMZ Royal Tech Blue (Right wireframe) */
    --accent-navy: #032873; /* AEMZ Deep Tech Navy (Bottom-right node) */
    --accent-secondary: #035990;

    /* The Iconic AEMZ Brand Gradient: Electric Cyan -> Ocean Teal -> Royal Blue -> Tech Navy */
    --accent-gradient: linear-gradient(135deg, #05c6d0 0%, #05a2ba 35%, #035990 70%, #032873 100%);
    --aemz-gradient: linear-gradient(135deg, #05c6d0 0%, #035990 100%);
    --gemini-gradient: linear-gradient(90deg, #05c6d0 0%, #05a2ba 35%, #035990 70%, #032873 100%);
    --accent-cyan-gradient: linear-gradient(135deg, #05c6d0 0%, #035990 100%);

    --text-primary: #f8fafc;
    --text-secondary: #babac2; /* AEMZ Logo Tagline Metallic Slate */
    --text-muted: #64748b;
    --text-accent: #05c6d0;

    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-xl: 32px;
    --radius-full: 9999px;

    --shadow-subtle: 0 4px 20px rgba(0, 0, 0, 0.6);
    --shadow-glow: 0 10px 30px -5px rgba(5, 198, 208, 0.45);
    --shadow-card: 0 12px 35px -5px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(255, 255, 255, 0.07);
    --shadow-hover: 0 20px 45px -10px rgba(5, 198, 208, 0.35), 0 0 0 1px rgba(5, 198, 208, 0.5);
}

/* --------------------------------------------------------------------------
   Global Resets & Base Styles
   -------------------------------------------------------------------------- */
html, body {
    background-color: var(--bg-base) !important;
    background-image: 
        radial-gradient(circle at 50% 0%, rgba(5, 198, 208, 0.15) 0%, transparent 60%),
        radial-gradient(circle at 85% 25%, rgba(3, 89, 144, 0.16) 0%, transparent 50%),
        radial-gradient(circle at 15% 65%, rgba(5, 162, 186, 0.10) 0%, transparent 50%),
        radial-gradient(rgba(5, 198, 208, 0.08) 1px, transparent 1px) !important;
    background-size: 100% 100%, 100% 100%, 100% 100%, 36px 36px !important;
    color: var(--text-secondary) !important;
    font-family: var(--font-body) !important;
    overflow-x: hidden;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
}

body::before {
    content: '';
    position: fixed;
    top: -10%;
    left: 15%;
    width: 750px;
    height: 750px;
    background: radial-gradient(circle, rgba(5, 198, 208, 0.16) 0%, rgba(5, 162, 186, 0.10) 45%, rgba(3, 89, 144, 0.06) 70%, transparent 85%);
    filter: blur(110px);
    pointer-events: none;
    z-index: 0;
    animation: auroraPulse 10s ease-in-out infinite alternate;
}

body::after {
    content: '';
    position: fixed;
    bottom: 5%;
    right: 10%;
    width: 700px;
    height: 700px;
    background: radial-gradient(circle, rgba(3, 89, 144, 0.15) 0%, rgba(5, 198, 208, 0.08) 50%, rgba(3, 40, 115, 0.05) 75%, transparent 85%);
    filter: blur(110px);
    pointer-events: none;
    z-index: 0;
    animation: auroraPulse 12s ease-in-out infinite alternate-reverse;
}

@keyframes auroraPulse {
    0% { transform: scale(1) translate(0, 0); opacity: 0.85; }
    50% { transform: scale(1.15) translate(30px, -20px); opacity: 1; }
    100% { transform: scale(0.95) translate(-20px, 30px); opacity: 0.75; }
}

.page-wrapper {
    position: relative;
    z-index: 1;
    background: transparent !important;
}

/* Typography Overrides */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--font-heading) !important;
    color: var(--text-primary) !important;
    font-weight: 700;
    letter-spacing: -0.02em;
}

p {
    color: var(--text-secondary);
    line-height: 1.7;
    font-size: 1.05rem;
}

a {
    color: var(--accent-primary);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

a:hover {
    color: var(--accent-secondary);
}

/* Gradient Text Utility */
.gradient-text {
    background: var(--accent-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

/* Section Common Styling */
section {
    position: relative;
    padding: 100px 0;
    background: transparent !important;
}

.section-title {
    margin-bottom: 60px;
}

.section-title h2 {
    font-size: 2.75rem;
    font-weight: 800;
    margin-bottom: 16px;
    line-height: 1.2;
}

.section-title p {
    font-size: 1.15rem;
    max-width: 650px;
    margin: 0 auto;
}

/* Badge Pill Utility */
.badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 18px;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #05c6d0;
    background: rgba(5, 198, 208, 0.1);
    border: 1px solid rgba(5, 198, 208, 0.25);
    border-radius: var(--radius-full);
    margin-bottom: 20px;
    backdrop-filter: blur(8px);
}

.badge-pill .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--accent-cyan);
    box-shadow: 0 0 10px var(--accent-cyan);
    animation: pulseGlow 2s infinite;
}

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

/* --------------------------------------------------------------------------
   Floating Glassmorphic Navbar (Header)
   -------------------------------------------------------------------------- */
header.header {
    background: transparent !important;
    padding: 24px 0 !important;
    transition: all 0.4s ease;
}

header.header.sticky-header,
header.header.nav-fixed {
    padding: 14px 0 !important;
}

#nav-menu-wrap {
    background: transparent !important;
}

#nav-menu-wrap .container {
    max-width: 1240px;
}

header .navbar {
    background: var(--bg-glass) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-full) !important;
    padding: 10px 28px !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    box-shadow: var(--shadow-subtle) !important;
    transition: all 0.3s ease;
}

header .navbar:hover {
    border-color: rgba(255, 255, 255, 0.14) !important;
}

header .navbar-brand img {
    max-height: 40px;
    width: auto;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.5));
}

header .navbar-nav {
    align-items: center;
    gap: 4px;
}

header .nav-link {
    color: var(--text-secondary) !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    padding: 8px 18px !important;
    border-radius: var(--radius-full) !important;
    transition: all 0.25s ease !important;
}

header .nav-link:hover,
header .nav-item.active .nav-link {
    color: var(--text-primary) !important;
    background: rgba(255, 255, 255, 0.08) !important;
}

header .dropdown-menu {
    background: var(--bg-surface) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-card) !important;
    padding: 10px !important;
    backdrop-filter: blur(16px) !important;
}

header .dropdown-item {
    color: var(--text-secondary) !important;
    font-size: 0.9rem !important;
    padding: 10px 16px !important;
    border-radius: var(--radius-sm) !important;
    transition: all 0.2s ease !important;
}

header .dropdown-item:hover {
    color: var(--text-primary) !important;
    background: rgba(5, 198, 208, 0.12) !important;
    transform: translateX(4px);
}

/* Mobile Nav Toggle */
header .navbar-toggler {
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-full) !important;
    padding: 8px 12px !important;
    background: rgba(255, 255, 255, 0.05) !important;
}

header .navbar-toggler .line-1,
header .navbar-toggler .line-2,
header .navbar-toggler .line-3 {
    background-color: var(--text-primary) !important;
}

/* --------------------------------------------------------------------------
   Modern Action Buttons — Cyber Mint / Electric Cyan Luminous Sheen
   -------------------------------------------------------------------------- */
.modern-btn-primary,
.white-btn,
.custom-btn,
.primary-btn,
.btn-theme {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    background: var(--accent-gradient) !important;
    color: #040711 !important;
    font-weight: 700 !important;
    font-size: 0.96rem !important;
    letter-spacing: 0.02em !important;
    padding: 13px 30px !important;
    border-radius: var(--radius-full) !important;
    border: 1px solid rgba(255, 255, 255, 0.45) !important;
    box-shadow: 0 0 25px rgba(5, 198, 208, 0.45), 0 8px 20px rgba(0, 210, 255, 0.3) !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    text-decoration: none !important;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.modern-btn-primary::before,
.white-btn::before,
.custom-btn::before,
.primary-btn::before,
.btn-theme::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -70%;
    width: 45%;
    height: 200%;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.5), transparent);
    transform: rotate(30deg);
    transition: all 0.75s ease;
    pointer-events: none;
}

.modern-btn-primary:hover::before,
.white-btn:hover::before,
.custom-btn:hover::before,
.primary-btn:hover::before,
.btn-theme:hover::before {
    left: 135%;
}

.modern-btn-primary:hover,
.white-btn:hover,
.custom-btn:hover,
.primary-btn:hover,
.btn-theme:hover {
    transform: translateY(-3px) scale(1.03) !important;
    box-shadow: 0 0 35px rgba(5, 198, 208, 0.65), 0 12px 28px rgba(0, 210, 255, 0.45) !important;
    color: #040711 !important;
}

.modern-btn-primary:active,
.white-btn:active,
.custom-btn:active,
.primary-btn:active,
.btn-theme:active {
    transform: translateY(1px) scale(0.98) !important;
}

.modern-btn-primary .icon,
.white-btn .icon,
.custom-btn .icon,
.primary-btn .icon,
.btn-theme .icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    border: 2px solid #ffffff !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    font-size: 13px !important;
    margin-left: 8px;
    box-shadow: none !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.modern-btn-primary:hover .icon,
.white-btn:hover .icon,
.custom-btn:hover .icon,
.primary-btn:hover .icon,
.btn-theme:hover .icon {
    transform: translateX(4px) scale(1.08) !important;
    border: 2px solid #ffffff !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
}

.modern-btn-secondary,
.secondary-btn,
.btn-outline-theme {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    background: rgba(5, 198, 208, 0.06) !important;
    color: #05c6d0 !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    padding: 13px 28px !important;
    border-radius: var(--radius-full) !important;
    border: 1px solid rgba(5, 198, 208, 0.38) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    text-decoration: none !important;
}

.modern-btn-secondary:hover,
.secondary-btn:hover,
.btn-outline-theme:hover {
    background: rgba(5, 198, 208, 0.16) !important;
    border-color: #05c6d0 !important;
    box-shadow: 0 0 25px rgba(5, 198, 208, 0.38) !important;
    transform: translateY(-3px) scale(1.02) !important;
    color: #ffffff !important;
}

.modern-btn-secondary:active,
.secondary-btn:active,
.btn-outline-theme:active {
    transform: translateY(1px) scale(0.98) !important;
}

.modern-btn-secondary .icon,
.secondary-btn .icon,
.btn-outline-theme .icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: rgba(5, 198, 208, 0.14) !important;
    color: #05c6d0 !important;
    font-size: 13px !important;
    transition: all 0.3s ease !important;
}

.modern-btn-secondary:hover .icon,
.secondary-btn:hover .icon,
.btn-outline-theme:hover .icon {
    transform: translateX(4px) !important;
    background: #05c6d0 !important;
    color: #040711 !important;
}

/* --------------------------------------------------------------------------
   Hero Banner Section Redesign
   -------------------------------------------------------------------------- */
.hero-banner {
    padding-top: 180px !important;
    padding-bottom: 120px !important;
    position: relative;
    overflow: hidden;
}

.hero-banner .hero-inner h1 {
    font-size: 3.8rem !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    margin-bottom: 24px !important;
    letter-spacing: -0.03em !important;
}

.hero-banner .hero-inner h2 {
    font-size: 1.25rem !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
    color: var(--text-secondary) !important;
    margin-bottom: 36px !important;
}

.hero-banner .hero-img {
    position: relative;
}

.hero-banner .hero-img::before {
    content: '';
    position: absolute;
    inset: -15px;
    background: var(--accent-gradient);
    border-radius: var(--radius-xl);
    filter: blur(35px);
    opacity: 0.35;
    z-index: -1;
    transition: opacity 0.5s ease;
}

.hero-banner .hero-img:hover::before {
    opacity: 0.55;
}

.hero-banner .border-line-outer {
    border: 1px solid var(--border-subtle) !important;
    background: var(--bg-card) !important;
    padding: 12px !important;
    border-radius: var(--radius-xl) !important;
    backdrop-filter: blur(16px) !important;
    box-shadow: var(--shadow-card) !important;
}

.hero-banner .border-line-inner {
    border: none !important;
    border-radius: calc(var(--radius-xl) - 8px) !important;
    overflow: hidden;
}

.hero-banner .border-line-inner img {
    border-radius: calc(var(--radius-xl) - 8px) !important;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    width: 100%;
}

.hero-banner:hover .border-line-inner img {
    transform: scale(1.03);
}

/* --------------------------------------------------------------------------
   Bento Grid & Service Cards Redesign
   -------------------------------------------------------------------------- */
.services-section,
.features-section,
.why-choose-section {
    position: relative;
}

.service-box,
.feature-box,
.card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg) !important;
    padding: 36px 30px !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    box-shadow: var(--shadow-card) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative;
    overflow: hidden;
}

.service-box::after,
.feature-box::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--accent-gradient);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.service-box:hover,
.feature-box:hover {
    transform: translateY(-8px) !important;
    border-color: var(--border-highlight) !important;
    box-shadow: var(--shadow-hover) !important;
    background: var(--bg-card-hover) !important;
}

.service-box:hover::after,
.feature-box:hover::after {
    opacity: 1;
}

.service-box .icon,
.feature-box .icon {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-md);
    background: rgba(5, 198, 208, 0.1) !important;
    border: 1px solid rgba(5, 198, 208, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    color: var(--accent-primary) !important;
    font-size: 26px;
    transition: all 0.3s ease;
}

.service-box:hover .icon,
.feature-box:hover .icon {
    background: var(--accent-gradient) !important;
    color: #040711 !important;
    border-color: transparent;
    transform: scale(1.08) rotate(3deg);
    box-shadow: 0 8px 20px rgba(5, 198, 208, 0.4);
}

.service-box h3,
.service-box h4,
.feature-box h3 {
    font-size: 1.35rem !important;
    margin-bottom: 14px !important;
    font-weight: 700;
}

.service-box p,
.feature-box p {
    font-size: 0.95rem;
    color: var(--text-secondary);
    margin-bottom: 20px;
    line-height: 1.65;
}

/* --------------------------------------------------------------------------
   Counters / Stats Section
   -------------------------------------------------------------------------- */
#counters,
.counters-section {
    background: linear-gradient(180deg, rgba(13, 18, 31, 0.8) 0%, rgba(7, 9, 14, 0.95) 100%) !important;
    border-top: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
    padding: 80px 0 !important;
}

.counter-item {
    text-align: center;
    padding: 24px 16px;
}

.counter-item .counter-number {
    font-family: var(--font-heading);
    font-size: 3.2rem;
    font-weight: 800;
    color: var(--text-primary);
    background: var(--accent-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    margin-bottom: 8px;
}

.counter-item h6 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* --------------------------------------------------------------------------
   Portfolio & Works Showcase
   -------------------------------------------------------------------------- */
.portfolio-item {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.portfolio-item:hover {
    transform: translateY(-6px);
    border-color: var(--border-highlight);
    box-shadow: var(--shadow-hover);
}

.portfolio-item .portfolio-img {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 11;
}

.portfolio-item .portfolio-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.portfolio-item:hover .portfolio-img img {
    transform: scale(1.08);
}

.portfolio-item .portfolio-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(7, 9, 14, 0.95) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px;
    opacity: 0.9;
    transition: opacity 0.3s ease;
}

.portfolio-item:hover .portfolio-overlay {
    opacity: 1;
}

.portfolio-item .portfolio-overlay h4 {
    font-size: 1.35rem;
    color: #ffffff;
    margin-bottom: 6px;
}

.portfolio-item .portfolio-overlay p {
    color: #05c6d0;
    font-size: 0.88rem;
    margin-bottom: 0;
    font-weight: 500;
}

/* Portfolio Filter Buttons */
.portfolio-filter {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 48px;
}

.portfolio-filter button,
.portfolio-filter a {
    background: rgba(255, 255, 255, 0.05) !important;
    color: var(--text-secondary) !important;
    border: 1px solid var(--border-subtle) !important;
    padding: 8px 24px !important;
    border-radius: var(--radius-full) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    transition: all 0.25s ease !important;
}

.portfolio-filter button.active,
.portfolio-filter button:hover,
.portfolio-filter a.active,
.portfolio-filter a:hover {
    background: var(--accent-gradient) !important;
    color: #040711 !important;
    border-color: transparent !important;
    box-shadow: 0 4px 16px rgba(5, 198, 208, 0.45) !important;
}

/* --------------------------------------------------------------------------
   Testimonials & Reviews Redesign
   -------------------------------------------------------------------------- */
.testimonial-card,
.testimonial-item {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg) !important;
    padding: 36px 32px !important;
    backdrop-filter: blur(16px) !important;
    box-shadow: var(--shadow-card) !important;
    transition: all 0.3s ease;
}

.testimonial-card:hover,
.testimonial-item:hover {
    border-color: var(--border-highlight);
    transform: translateY(-4px);
}

.testimonial-card .client-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 2px solid var(--accent-primary);
    box-shadow: 0 0 15px rgba(5, 198, 208, 0.35);
    object-fit: cover;
}

/* --------------------------------------------------------------------------
   Accordion / FAQ Redesign
   -------------------------------------------------------------------------- */
.accordion-item,
.faq-box {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-md) !important;
    margin-bottom: 16px !important;
    backdrop-filter: blur(14px) !important;
    overflow: hidden;
    transition: border-color 0.3s ease;
}

.accordion-item:hover,
.faq-box:hover {
    border-color: var(--border-highlight) !important;
}

.accordion-header button,
.faq-box .title {
    background: transparent !important;
    color: var(--text-primary) !important;
    font-family: var(--font-heading) !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    padding: 22px 26px !important;
    box-shadow: none !important;
}

.accordion-body,
.faq-box .content {
    background: transparent !important;
    color: var(--text-secondary) !important;
    padding: 0 26px 24px 26px !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
}

/* --------------------------------------------------------------------------
   Footer Redesign
   -------------------------------------------------------------------------- */
footer,
.footer {
    background: #05070a !important;
    border-top: 1px solid var(--border-subtle) !important;
    padding-top: 90px !important;
    padding-bottom: 30px !important;
    position: relative;
}

footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 30%;
    right: 30%;
    height: 1px;
    background: var(--accent-gradient);
    opacity: 0.6;
}

footer .footer-title,
footer h5 {
    color: var(--text-primary) !important;
    font-family: var(--font-heading) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    margin-bottom: 24px !important;
}

footer a {
    color: var(--text-secondary) !important;
    font-size: 0.95rem;
    transition: all 0.2s ease;
}

footer a:hover {
    color: var(--accent-primary) !important;
    padding-left: 4px;
}

footer .social-icons a,
.footer-social-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid var(--border-subtle) !important;
    color: var(--text-secondary) !important;
    transition: all 0.3s ease !important;
    margin-right: 8px !important;
}

footer .social-icons a:hover,
.footer-social-link:hover {
    background: var(--accent-gradient) !important;
    color: #040711 !important;
    border-color: transparent !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 18px rgba(5, 198, 208, 0.45) !important;
}

.copyright-text {
    border-top: 1px solid var(--border-subtle);
    padding-top: 30px;
    margin-top: 60px;
    font-size: 0.9rem;
    color: var(--text-muted);
}

/* --------------------------------------------------------------------------
   Scroll to Top Button
   -------------------------------------------------------------------------- */
.scroll-top-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--accent-gradient) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    color: #040711 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-glow);
    z-index: 999;
    opacity: 0.92;
    transition: all 0.3s ease;
}

.scroll-top-btn:hover {
    opacity: 1;
    transform: translateY(-4px) scale(1.08);
    box-shadow: 0 12px 28px rgba(5, 198, 208, 0.55);
    color: #040711 !important;
}

/* --------------------------------------------------------------------------
   RTL Mode Support (Arabic)
   -------------------------------------------------------------------------- */
.rtl-mode,
[dir="rtl"] {
    direction: rtl;
    text-align: right;
}

.rtl-mode header .navbar-nav {
    flex-direction: row-reverse;
}

.rtl-mode .scroll-top-btn {
    right: auto;
    left: 30px;
}

.rtl-mode footer a:hover {
    padding-left: 0;
    padding-right: 4px;
}

.rtl-mode .badge-pill .dot {
    margin-left: 6px;
    margin-right: 0;
}

/* --------------------------------------------------------------------------
   Template Direct Overrides: Services, Headings, Blog, Team, Resume, Contact
   -------------------------------------------------------------------------- */
.section .section-heading,
.section-heading,
.section-heading-left {
    text-align: center;
    margin-bottom: 50px;
}

.section .section-heading span,
.section-heading span,
.section-heading-left span {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border-radius: var(--radius-full) !important;
    color: #05c6d0 !important;
    padding: 6px 18px !important;
    margin-bottom: 16px !important;
    display: inline-block !important;
    background: rgba(5, 198, 208, 0.1) !important;
    border: 1px solid rgba(5, 198, 208, 0.25) !important;
    backdrop-filter: blur(8px) !important;
}

.section .section-heading h2,
.section-heading h2,
.section-heading-left h2 {
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    color: var(--text-primary) !important;
    letter-spacing: -0.02em !important;
    line-height: 1.25 !important;
    position: relative;
    padding-bottom: 0 !important;
}

.section .section-heading h2:after,
.section-heading-left h2:before,
.section-heading-left h2:after {
    display: none !important;
}

/* Service Item Bento Card */
.services-item {
    position: relative;
    text-align: left;
    margin-bottom: 30px;
    border-radius: var(--radius-lg) !important;
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    box-shadow: var(--shadow-card) !important;
    padding: 36px 30px !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    overflow: hidden;
}

.services-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--accent-gradient);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.services-item:hover {
    transform: translateY(-8px) !important;
    border-color: var(--border-highlight) !important;
    box-shadow: var(--shadow-hover) !important;
    background: var(--bg-card-hover) !important;
}

.services-item:hover::before {
    opacity: 1;
}

.services-item .body h4 {
    font-family: var(--font-heading) !important;
    font-size: 2rem !important;
    font-weight: 800 !important;
    margin-bottom: 12px !important;
    background: var(--accent-gradient) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.services-item .body h5 {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: var(--text-primary) !important;
    margin-bottom: 12px !important;
}

.services-item .body p {
    color: var(--text-secondary) !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    margin-bottom: 20px !important;
}

.services-item .body a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--accent-primary) !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
}

.services-item:hover .body a {
    color: var(--accent-secondary) !important;
    transform: translateX(4px);
}

.services-item .icon {
    width: 60px;
    height: 60px;
    border-radius: var(--radius-md) !important;
    background: rgba(5, 198, 208, 0.1) !important;
    border: 1px solid rgba(5, 198, 208, 0.25) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--accent-primary) !important;
    font-size: 24px !important;
    margin-top: 20px !important;
    transition: all 0.3s ease;
}

.services-item:hover .icon {
    background: var(--accent-gradient) !important;
    color: #040711 !important;
    border-color: transparent !important;
    transform: scale(1.08);
}

/* Blog Item Redesign */
.blog-item {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg) !important;
    backdrop-filter: blur(16px) !important;
    box-shadow: var(--shadow-card) !important;
    overflow: hidden;
    margin-bottom: 30px !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.blog-item:hover {
    transform: translateY(-6px) !important;
    border-color: var(--border-highlight) !important;
    box-shadow: var(--shadow-hover) !important;
}

.blog-item .blog-img {
    border-radius: 0 !important;
    overflow: hidden;
    aspect-ratio: 16 / 10;
}

.blog-item .blog-img img {
    border-radius: 0 !important;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.blog-item:hover .blog-img img {
    transform: scale(1.06);
}

.blog-item .blog-body {
    padding: 28px !important;
}

.blog-item .blog-body .blog-meta a {
    color: #05c6d0 !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    margin-right: 14px;
}

.blog-item .blog-body h5 a {
    color: var(--text-primary) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    transition: color 0.2s ease;
}

.blog-item .blog-body h5 a:hover {
    color: var(--accent-primary) !important;
}

.blog-item .blog-body .blog-link {
    color: var(--accent-primary) !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
}

/* Team Card Redesign */
.team-card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg) !important;
    backdrop-filter: blur(16px) !important;
    box-shadow: var(--shadow-card) !important;
    padding: 30px !important;
    text-align: center;
    margin-bottom: 30px;
    transition: all 0.35s ease !important;
}

.team-card:hover {
    transform: translateY(-6px) !important;
    border-color: var(--border-highlight) !important;
    box-shadow: var(--shadow-hover) !important;
}

.team-card .img img {
    width: 140px !important;
    height: 140px !important;
    border-radius: 50% !important;
    border: 3px solid var(--accent-primary) !important;
    box-shadow: 0 0 20px rgba(5, 198, 208, 0.35) !important;
    object-fit: cover;
    margin-bottom: 20px;
}

.team-card .body h5 {
    color: var(--text-primary) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    margin-bottom: 6px !important;
}

.team-card .body p {
    color: #05c6d0 !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    margin-bottom: 16px !important;
}

.team-card .social ul {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.team-card .social a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--border-subtle) !important;
    color: var(--text-secondary) !important;
    transition: all 0.25s ease !important;
}

.team-card .social a:hover {
    background: var(--accent-gradient) !important;
    color: #040711 !important;
    border-color: transparent !important;
    transform: translateY(-2px);
}

/* Resume / Feature Item Redesign */
.resume-item {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-md) !important;
    backdrop-filter: blur(14px) !important;
    padding: 24px 28px !important;
    margin-bottom: 20px !important;
    transition: all 0.3s ease !important;
}

.resume-item:hover {
    border-color: var(--border-highlight) !important;
    transform: translateX(6px) !important;
    background: var(--bg-card-hover) !important;
}

.resume-item .text h6 {
    color: #05c6d0 !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
}

.resume-item .text h5 {
    color: var(--text-primary) !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    margin-bottom: 8px;
}

.resume-item .text span {
    color: var(--text-secondary) !important;
    font-size: 0.92rem !important;
    line-height: 1.6;
}

/* Skills Image & About Video */
.about-img,
.skills-img {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    box-shadow: var(--shadow-card);
}

.about-img img,
.skills-img img {
    border-radius: var(--radius-lg);
    width: 100%;
}

.about-video-btn,
.about-video-btn-2 {
    width: 70px !important;
    height: 70px !important;
    border-radius: 50% !important;
    background: var(--accent-gradient) !important;
    color: #040711 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 0 30px rgba(5, 198, 208, 0.6) !important;
    transition: transform 0.3s ease;
}

.about-video-btn:hover,
.about-video-btn-2:hover {
    transform: translate(-50%, -50%) scale(1.12) !important;
}

/* Form Inputs Redesign (Contact / Subscribe) */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
textarea {
    background: rgba(17, 24, 39, 0.8) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-md) !important;
    color: var(--text-primary) !important;
    padding: 14px 20px !important;
    font-size: 0.95rem !important;
    transition: all 0.25s ease !important;
}

.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
    border-color: var(--accent-primary) !important;
    box-shadow: 0 0 0 3px rgba(5, 198, 208, 0.25) !important;
    outline: none !important;
    background: rgba(30, 41, 59, 0.9) !important;
}

/* Newsletter / Subscribe Section */
.subscribe-section,
#subscribe {
    background: linear-gradient(180deg, rgba(13, 18, 31, 0.9) 0%, rgba(7, 9, 14, 0.98) 100%) !important;
    border-top: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
    padding: 80px 0 !important;
}

/* ==========================================================================
   Unique Futuristic Features: Marquee, Cyber Badges, Holographic Chips
   ========================================================================== */

/* Infinite Scrolling Marquee Ticker */
.unique-marquee-container {
    width: 100%;
    overflow: hidden;
    padding: 22px 0;
    background: rgba(11, 16, 28, 0.7);
    border-top: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    white-space: nowrap;
    position: relative;
    z-index: 2;
}

.unique-marquee-content {
    display: inline-flex;
    align-items: center;
    gap: 48px;
    animation: marqueeScroll 32s linear infinite;
}

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

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

.marquee-tag {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: var(--font-heading);
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #e2e8f0;
}

.marquee-tag .star {
    color: var(--accent-cyan);
    font-size: 1.25rem;
    text-shadow: 0 0 12px var(--accent-cyan);
    animation: starTwinkle 3s ease-in-out infinite alternate;
}

@keyframes starTwinkle {
    0% { transform: scale(1) rotate(0deg); opacity: 0.8; }
    100% { transform: scale(1.2) rotate(45deg); opacity: 1; }
}

/* Cyber Mono Tag */
.cyber-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--accent-cyan);
    background: rgba(6, 182, 212, 0.08);
    border: 1px solid rgba(6, 182, 212, 0.28);
    padding: 4px 12px;
    border-radius: 6px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    box-shadow: 0 0 12px rgba(6, 182, 212, 0.12);
}

/* Floating Holographic Stat Chips */
.floating-stat-chip {
    position: absolute;
    background: rgba(13, 18, 32, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: var(--radius-md);
    padding: 12px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6), 0 0 25px rgba(5, 198, 208, 0.25);
    z-index: 10;
    transition: transform 0.3s ease;
}

.floating-stat-chip.chip-top {
    top: -20px;
    right: -15px;
    animation: floatChipOne 5s ease-in-out infinite alternate;
}

.floating-stat-chip.chip-bottom {
    bottom: -20px;
    left: -20px;
    animation: floatChipTwo 6s ease-in-out infinite alternate;
}

@keyframes floatChipOne {
    0% { transform: translateY(0px) rotate(0deg); }
    100% { transform: translateY(-12px) rotate(1.5deg); }
}

@keyframes floatChipTwo {
    0% { transform: translateY(0px) rotate(0deg); }
    100% { transform: translateY(10px) rotate(-1.5deg); }
}

.floating-stat-chip .chip-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: var(--accent-gradient);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #040711;
    font-size: 16px;
    box-shadow: 0 4px 14px rgba(5, 198, 208, 0.4);
}

.floating-stat-chip .chip-text strong {
    display: block;
    font-size: 0.92rem;
    color: #ffffff;
    font-weight: 700;
    line-height: 1.2;
}

.floating-stat-chip .chip-text small {
    font-size: 0.76rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Live Status Radar Badge */
.live-radar-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: var(--radius-full);
    background: rgba(5, 198, 208, 0.1);
    border: 1px solid rgba(5, 198, 208, 0.25);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #34d399;
    text-transform: uppercase;
}

.live-radar-dot {
    position: relative;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #05c6d0;
}

.live-radar-dot::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 1.5px solid #05c6d0;
    animation: radarRipple 2s ease-out infinite;
}

@keyframes radarRipple {
    0% { transform: scale(0.6); opacity: 1; }
    100% { transform: scale(2.2); opacity: 0; }
}

/* Glowing Border Accent on Bento Cards */
.services-item,
.portfolio-item,
.team-card,
.blog-item {
    position: relative;
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.07) !important;
}

.services-item:hover,
.portfolio-item:hover,
.team-card:hover,
.blog-item:hover {
    box-shadow: 0 20px 45px -10px rgba(5, 198, 208, 0.35), 0 0 0 1px rgba(5, 198, 208, 0.5) !important;
}

/* --------------------------------------------------------------------------
   Pricing Plan Cards
   -------------------------------------------------------------------------- */
.pricing-card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg) !important;
    padding: 40px 32px !important;
    backdrop-filter: blur(16px) !important;
    box-shadow: var(--shadow-card) !important;
    position: relative;
    overflow: hidden;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    margin-bottom: 30px;
    text-align: center;
}

.pricing-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--accent-gradient);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.pricing-card:hover {
    transform: translateY(-8px) !important;
    border-color: var(--border-highlight) !important;
    box-shadow: var(--shadow-hover) !important;
    background: var(--bg-card-hover) !important;
}

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

.pricing-card .price-text h5 {
    font-family: var(--font-heading) !important;
    font-size: 2.8rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin-bottom: 16px;
    background: var(--accent-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.pricing-card .body .pricing-text h5 {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin-bottom: 8px;
}

.pricing-card .extra-text {
    display: inline-block;
    padding: 4px 14px;
    border-radius: var(--radius-full);
    background: rgba(5, 198, 208, 0.12);
    border: 1px solid rgba(5, 198, 208, 0.3);
    color: #05c6d0;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
}

.pricing-card .pricing-list {
    list-style: none;
    padding: 0;
    margin: 24px 0 32px 0;
}

.pricing-card .pricing-list li {
    padding: 10px 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.08);
    color: var(--text-secondary);
    font-size: 0.95rem;
}

.pricing-card .pricing-list li.text-decoration-line-through {
    color: #64748b;
    opacity: 0.6;
}

/* --------------------------------------------------------------------------
   Contact Info Items
   -------------------------------------------------------------------------- */
.contact-info-item {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg) !important;
    padding: 30px 28px !important;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
    backdrop-filter: blur(16px) !important;
    box-shadow: var(--shadow-card) !important;
    transition: all 0.3s ease;
}

.contact-info-item:hover {
    transform: translateY(-4px);
    border-color: var(--border-highlight) !important;
    box-shadow: var(--shadow-hover) !important;
}

.contact-info-item .icon {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-md);
    background: rgba(5, 198, 208, 0.12);
    border: 1px solid rgba(5, 198, 208, 0.28);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: var(--accent-primary);
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.contact-info-item:hover .icon {
    background: var(--accent-gradient);
    color: #040711;
    transform: scale(1.08) rotate(3deg);
}

.contact-info-item .body h5 {
    color: #ffffff;
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 6px;
}

.contact-info-item .body p {
    color: var(--text-secondary);
    margin-bottom: 0;
    font-size: 0.92rem;
}

/* --------------------------------------------------------------------------
   Blog Search Button
   -------------------------------------------------------------------------- */
.blog-search-btn {
    background: var(--accent-gradient) !important;
    color: #040711 !important;
    border: none !important;
    border-radius: var(--radius-sm) !important;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 15px rgba(5, 198, 208, 0.4);
    transition: all 0.3s ease;
    cursor: pointer;
}

.blog-search-btn:hover {
    transform: scale(1.06);
    box-shadow: 0 0 25px rgba(5, 198, 208, 0.65);
    color: #040711 !important;
}

/* ==========================================================================
   Google Gemini Design System — Dedicated Components & Effects
   ========================================================================== */

/* Gemini Tag with 4-Point Sparkle */
.gemini-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: var(--radius-full);
    background: rgba(5, 198, 208, 0.08);
    border: 1px solid rgba(5, 198, 208, 0.28);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #05c6d0;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 0 15px rgba(5, 198, 208, 0.15);
}

.gemini-sparkle {
    color: #00d2ff;
    font-size: 1rem;
    animation: starTwinkle 2.5s ease-in-out infinite alternate;
    display: inline-block;
}

.gemini-sparkle-icon {
    color: #05c6d0 !important;
    text-shadow: 0 0 10px rgba(5, 198, 208, 0.5);
}

/* Iconic Shimmering Multimodal Gemini Headline */
.gradient-headline {
    background: linear-gradient(135deg, #ffffff 0%, #a5f3fc 25%, #05c6d0 50%, #05a2ba 75%, #035990 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    animation: geminiShimmer 8s linear infinite !important;
    display: inline-block;
}

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

/* Gemini Hero Floating Social Pill Dock */
.hero-social-list {
    z-index: 100 !important;
}

.hero-social-list li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: var(--radius-full) !important;
    background: rgba(30, 31, 32, 0.75) !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.hero-social-list li a:hover {
    background: rgba(5, 198, 208, 0.18) !important;
    border-color: rgba(5, 198, 208, 0.5) !important;
    box-shadow: 0 0 20px rgba(5, 198, 208, 0.4) !important;
    transform: translateX(-5px) scale(1.1) !important;
}

.hero-social-list li a i {
    color: var(--text-secondary) !important;
    font-size: 16px !important;
    transition: color 0.3s ease !important;
}

.hero-social-list li a:hover i {
    color: var(--accent-primary) !important;
}

.hero-email-link {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace !important;
    color: var(--text-muted) !important;
    letter-spacing: 0.15em !important;
    font-size: 0.78rem !important;
    transition: all 0.3s ease !important;
    z-index: 100 !important;
}

.hero-email-link:hover {
    color: var(--accent-primary) !important;
    text-shadow: 0 0 12px rgba(5, 198, 208, 0.5) !important;
}

/* ==========================================================================
   Permanent Safety Overrides — Total Extermination of Residual Orange
   ========================================================================== */
.custom-color-orange,
.custom-color-orange i,
.custom-color-orange span,
i.custom-color-orange,
span.custom-color-orange,
.widget-info i.custom-color-orange {
    color: var(--accent-primary) !important;
}

[style*="#ff4500"],
[style*="#FF4500"],
[style*="255, 69, 0"],
[style*="255,69,0"],
[style*="#10b981"],
[style*="#10B981"] {
    color: var(--accent-primary) !important;
    border-color: var(--accent-primary) !important;
}

/* ==========================================================================
   TRANSPARENT ARROW BACKGROUNDS (WHITE STROKE & WHITE ICON)
   Leave the stroke outline intact in crisp white, remove background only
   ========================================================================== */

/* 1. Owl Carousel Navigation Arrows (White Stroke, White Icon, No Background) */
.owl-carousel .owl-nav,
.owl-theme .owl-nav,
#portfolioCarousel.owl-carousel .owl-nav,
#testimonialCarousel.owl-carousel .owl-nav,
#blogCarousel.owl-carousel .owl-nav,
#partners-carousel.owl-carousel .owl-nav {
    background: transparent !important;
    background-color: transparent !important;
}

.owl-carousel .owl-nav button,
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.owl-theme .owl-nav [class*="owl-"],
.owl-theme .owl-nav .owl-prev,
.owl-theme .owl-nav .owl-next,
#portfolioCarousel.owl-carousel .owl-nav button,
#portfolioCarousel.owl-carousel .owl-nav button.owl-prev,
#portfolioCarousel.owl-carousel .owl-nav button.owl-next,
#testimonialCarousel.owl-carousel .owl-nav button,
#testimonialCarousel.owl-carousel .owl-nav button.owl-prev,
#testimonialCarousel.owl-carousel .owl-nav button.owl-next,
#blogCarousel.owl-carousel .owl-nav button,
#blogCarousel.owl-carousel .owl-nav button.owl-prev,
#blogCarousel.owl-carousel .owl-nav button.owl-next {
    background: transparent !important;
    background-color: transparent !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.owl-carousel .owl-nav button span,
.owl-theme .owl-nav [class*="owl-"] span,
#portfolioCarousel.owl-carousel .owl-nav button span,
#testimonialCarousel.owl-carousel .owl-nav button span,
#blogCarousel.owl-carousel .owl-nav button span {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    box-shadow: none !important;
    border: none !important;
}

.owl-carousel .owl-nav button:hover,
.owl-carousel .owl-nav button.owl-prev:hover,
.owl-carousel .owl-nav button.owl-next:hover,
.owl-theme .owl-nav [class*="owl-"]:hover,
.owl-theme .owl-nav .owl-prev:hover,
.owl-theme .owl-nav .owl-next:hover,
#portfolioCarousel.owl-carousel .owl-nav button:hover,
#testimonialCarousel.owl-carousel .owl-nav button:hover,
#blogCarousel.owl-carousel .owl-nav button:hover {
    background: transparent !important;
    background-color: transparent !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
    box-shadow: 0 0 16px rgba(255, 255, 255, 0.45) !important;
    transform: translateY(-2px) scale(1.05) !important;
}

.owl-carousel .owl-nav button:hover span,
.owl-theme .owl-nav [class*="owl-"]:hover span,
#portfolioCarousel.owl-carousel .owl-nav button:hover span,
#testimonialCarousel.owl-carousel .owl-nav button:hover span,
#blogCarousel.owl-carousel .owl-nav button:hover span {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

/* 2. Button Arrow Icons (White Stroke Ring, White Icon, Remove Background Only) */
.modern-btn-primary .icon,
.white-btn .icon,
.custom-btn .icon,
.primary-btn .icon,
.btn-theme .icon,
.modern-btn-secondary .icon,
.secondary-btn .icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    border: 2px solid #ffffff !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.modern-btn-primary .icon i,
.white-btn .icon i,
.custom-btn .icon i,
.primary-btn .icon i,
.btn-theme .icon i,
.modern-btn-secondary .icon i,
.secondary-btn .icon i {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
}

.modern-btn-primary:hover .icon,
.white-btn:hover .icon,
.custom-btn:hover .icon,
.primary-btn:hover .icon,
.btn-theme:hover .icon,
.modern-btn-secondary:hover .icon,
.secondary-btn:hover .icon {
    border: 2px solid #ffffff !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.3) !important;
}

.modern-btn-primary:hover .icon i,
.white-btn:hover .icon i,
.custom-btn:hover .icon i,
.primary-btn:hover .icon i,
.btn-theme:hover .icon i {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
}

/* 3. Global Icon Helpers & FontAwesome Arrows */
i[class*="fa-arrow"],
i[class*="fa-chevron"],
i[class*="fa-angle"],
span[class*="fa-arrow"],
span[class*="fa-chevron"],
span[class*="fa-angle"] {
    background: transparent !important;
    background-color: transparent !important;
}

/* 4. Scroll To Top Button Arrow (White Stroke, White Icon, Remove Background) */
.scroll-top-btn {
    background: transparent !important;
    background-color: transparent !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.scroll-top-btn i {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
}

.scroll-top-btn:hover {
    background: transparent !important;
    background-color: transparent !important;
    border-color: #ffffff !important;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.45) !important;
}

.scroll-top-btn:hover i {
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   5. Perfect Centering for About Us Video Button & Ripple Rings
   -------------------------------------------------------------------------- */
.about-img {
    position: relative !important;
}

.about-img .about-video-btn,
.about-img .about-video-btn-2,
.about-video-btn,
.about-video-btn-2 {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 10 !important;
}

.about-img .about-video-btn:hover,
.about-img .about-video-btn-2:hover,
.about-video-btn:hover,
.about-video-btn-2:hover {
    transform: translate(-50%, -50%) scale(1.12) !important;
}

.about-img .video-border-line {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: 70px !important;
    height: 70px !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 5 !important;
    pointer-events: none !important;
}

.about-img .video-border-line:before,
.about-img .video-border-line:after {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    border-radius: 50% !important;
}

.about-img .video-border-line:before {
    width: 110px !important;
    height: 110px !important;
}

.about-img .video-border-line:after {
    width: 90px !important;
    height: 90px !important;
}

body.rtl-mode .about-img .about-video-btn,
body.rtl-mode .about-img .about-video-btn-2,
body.rtl-mode .about-img .video-border-line,
body.rtl-mode .about-img .video-border-line:before,
body.rtl-mode .about-img .video-border-line:after {
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
}

/* --------------------------------------------------------------------------
   6. Perfect Centering for Services Item Icon, Border & Rings (::before / ::after)
   -------------------------------------------------------------------------- */
.services-item {
    position: relative !important;
    margin-bottom: 70px !important;
    overflow: visible !important;
}

.services-item::before {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
}

.services-item .services-bg-img {
    border-radius: var(--radius-lg) !important;
}

.services-item .icon {
    position: absolute !important;
    left: 50% !important;
    bottom: -30px !important;
    top: auto !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    z-index: 2 !important;
}

.services-item:hover .icon {
    transform: translateX(-50%) scale(1.08) !important;
}

.services-item .icon-border {
    position: absolute !important;
    left: 50% !important;
    bottom: -30px !important;
    top: auto !important;
    right: auto !important;
    width: 60px !important;
    height: 60px !important;
    margin: 0 !important;
    margin-left: 0 !important;
    transform: translateX(-50%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.services-item .icon-border:before,
.services-item .icon-border:after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    border-radius: 50% !important;
    transform: translate(-50%, -50%) !important;
    transition: all 0.5s ease !important;
    margin: 0 !important;
}

.services-item .icon-border:before {
    width: 100px !important;
    height: 100px !important;
    line-height: 100px !important;
    border: 2px solid var(--accent-primary, #05c6d0) !important;
}

.services-item .icon-border:after {
    width: 80px !important;
    height: 80px !important;
    line-height: 80px !important;
    border: 2px solid var(--accent-primary, #05c6d0) !important;
}

.services-item:hover .icon-border:before,
.services-item:hover .icon-border:after {
    border-color: var(--accent-secondary, #035990) !important;
}

body.rtl-mode .services-item .icon,
body.rtl-mode .services-item .icon-border {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin-left: 0 !important;
}

body.rtl-mode .services-item .icon-border:before,
body.rtl-mode .services-item .icon-border:after {
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
}

/* --------------------------------------------------------------------------
   7. Why Choose Us Section - Feature List Text Color White & Skills Items
   -------------------------------------------------------------------------- */
.skills-inner ul li,
.skills-inner .row ul li {
    color: #ffffff !important;
    font-weight: 500 !important;
    font-size: 1rem !important;
}

.skills-inner ul li:before,
.skills-inner .row ul li:before {
    color: var(--accent-primary, #05c6d0) !important;
}

/* Why Choose Us Skills Cards (Percentage & Progress Bar) */
.skills-inner .skills-item {
    background: var(--bg-card) !important;
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg, 24px) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    box-shadow: var(--shadow-card) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin-bottom: 24px !important;
}

.skills-inner .skills-item:hover {
    transform: translateY(-6px) !important;
    border-color: var(--border-highlight) !important;
    box-shadow: var(--shadow-hover) !important;
    background: var(--bg-card-hover) !important;
}

.skills-inner .skills-item .skills-item-text {
    padding: 16px 16px 0 16px !important;
}

.skills-inner .skills-item .skills-item-text h5 {
    background: var(--accent-gradient) !important;
    color: #040711 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    padding: 12px 20px !important;
    border-radius: 100px !important;
    margin: 0 !important;
    letter-spacing: 0.02em !important;
}

.skills-inner .skills-item .body {
    padding: 24px 20px 28px 20px !important;
    background: transparent !important;
    background-color: transparent !important;
}

.skills-inner .skills-item .body h2,
.skills-inner .skills-item .body h2.counter {
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-size: 2.2rem !important;
    font-weight: 800 !important;
    margin-bottom: 8px !important;
    display: inline-block !important;
}

.skills-inner .skills-item .body h2:after {
    content: "%" !important;
    color: var(--accent-primary, #05c6d0) !important;
    font-weight: 700 !important;
    font-size: 1.6rem !important;
    margin-left: 6px !important;
    display: inline-block !important;
}

.skills-inner .skills-item .skills-progress-bar {
    height: 8px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-radius: 10px !important;
    margin-top: 14px !important;
    overflow: hidden !important;
    position: relative !important;
}

.skills-inner .skills-item .skills-progress-bar .skills-progress-value {
    background: var(--accent-gradient) !important;
    border-radius: 10px !important;
}

/* --------------------------------------------------------------------------
   8. Our Works (Portfolio) - Dark Glass Cards, White Titles & Circular Arrow
   -------------------------------------------------------------------------- */
.portfolio-item {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    box-shadow: var(--shadow-card) !important;
    overflow: hidden !important;
}

.portfolio-item:hover {
    transform: translateY(-6px) !important;
    border-color: var(--border-highlight) !important;
    box-shadow: var(--shadow-hover) !important;
}

.portfolio-item .portfolio-item-inner {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-radius: var(--radius-lg) !important;
    border: none !important;
}

.portfolio-item .body {
    background: transparent !important;
    background-color: transparent !important;
    padding: 24px !important;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg) !important;
}

.portfolio-item .body .portfolio-details span {
    color: var(--accent-primary, #05c6d0) !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
}

.portfolio-item .body .portfolio-details h5,
.portfolio-item .body .portfolio-details h5 a {
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    margin-top: 4px !important;
    margin-bottom: 0 !important;
    text-decoration: none !important;
}

.portfolio-item .body .portfolio-details h5 a:hover {
    color: var(--accent-primary, #05c6d0) !important;
}

.portfolio-item .body .portfolio-link {
    border: 2px solid #ffffff !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
    padding: 6px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.portfolio-item .body .portfolio-link i {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.portfolio-item .body .portfolio-link:hover {
    border-color: #ffffff !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.45) !important;
}

.portfolio-item .body .portfolio-link:hover i {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   9. Our Team Section - Hide Background Color of Social Media Buttons
   -------------------------------------------------------------------------- */
.team-card .social a,
.team-card .social a i,
.team-card .body .social ul li a,
.team-card .body .social ul li a i {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
}

.team-card .social a i,
.team-card .body .social ul li a i {
    border: none !important;
}

.team-card .social a:hover,
.team-card .social a:hover i,
.team-card .body .social ul li a:hover,
.team-card .body .social ul li a:hover i {
    background: transparent !important;
    background-color: transparent !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.4) !important;
}

/* --------------------------------------------------------------------------
   10. FAQs Section - Questions Title White instead of Black
   -------------------------------------------------------------------------- */
.accordion-item .accordion-item-header a,
.accordion-item .accordion-item-header a span,
.accordion-item .accordion-item-header a i,
.accordion-header button,
.faq-box .title {
    color: #ffffff !important;
}

.accordion-item .accordion-item-header a i {
    color: var(--accent-primary, #05c6d0) !important;
}

.accordion-item .accordion-item-header a:after {
    color: var(--accent-primary, #05c6d0) !important;
}

.accordion-item .accordion-item-header a:hover,
.accordion-item .accordion-item-header a:hover span {
    color: #ffffff !important;
}

.accordion-item .accordion-body p {
    color: var(--text-secondary, #babac2) !important;
}





