@import url('../css/services.css');
@import url('../css/products.css');
@import url('../css/providers.css');
@import url('../css/about.css');
@import url('../css/contact.css');
@import url('../css/careers.css');
@import url('../css/compliance.css');
@import url('../css/events.css');
@import url('../css/igaming.css');
/* Add Archivo font import */
@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&family=Bebas+Neue&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Exo+2:ital,wght@0,100..900;1,100..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Orbitron:wght@400..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Press+Start+2P&family=Roboto:ital,wght@0,100..900;1,100..900&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');

/* ========================================
  Font Face Declarations
  ======================================== */
@font-face {
    font-family: 'Clash Display';
    src: url('../assets/font/ClashDisplay-Extralight.otf') format('opentype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Clash Display';
    src: url('../assets/font/ClashDisplay-Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Clash Display';
    src: url('../assets/font/ClashDisplay-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Clash Display';
    src: url('../assets/font/ClashDisplay-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Clash Display';
    src: url('../assets/font/ClashDisplay-Semibold.otf') format('opentype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Clash Display';
    src: url('../assets/font/ClashDisplay-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Satoshi';
    src: url('../assets/font/Satoshi-Regular.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Clash Display';
    src: url('../assets/font/ClashDisplay-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Satoshi';
    src: url('../assets/font/Satoshi-Medium.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* ========================================
      CSS Custom Properties (Design Tokens)
      ======================================== */
:root {
    /* Colors from Figma */
    --color-white: #FFFFFF;
    --color-black: #0D0D12;
    --color-core-black: #333940;
    --color-rich-black: #0D0D12;
    --color-blue-gray: #666D80;
    --color-muted: #DFE1E7;
    --color-primary: #2970FF;
    --color-electric-fern: #79EFB3;
    --color-hyper-cobalt: #2970FF;
    /* Background Colors */
    --bg-primary: #FFFFFF;
    --bg-dark: #0E1320;
    --bg-darker: #16181D;
    --bg-light: #F2F5F8;
    --bg-section: linear-gradient(135deg, rgba(192, 255, 235, 0.15) 0%, rgba(195, 242, 218, 0.4) 20%, rgba(41, 112, 255, 0.05) 100%);
    /* Gradients */
    --gradient-main: linear-gradient(90deg, rgba(121, 239, 179, 1) 0%, rgba(6, 77, 250, 1) 100%);
    --gradient-awards: linear-gradient(90deg, rgba(29, 179, 103, 1) 0%, rgba(121, 239, 179, 1) 100%);
    --gradient-cta: linear-gradient(90deg, rgba(42, 42, 46, 1) 0%, rgba(13, 13, 18, 1) 100%);
    /* Typography */
    --font-primary: 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-heading: 'Clash Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    /* Font Weights */
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    /* Font Sizes */
    --font-size-xs: 14px;
    --font-size-sm: 16px;
    --font-size-base: 18px;
    --font-size-lg: 20px;
    --font-size-xl: 21px;
    --font-size-2xl: 22px;
    --font-size-3xl: 25px;
    --font-size-4xl: 26px;
    --font-size-5xl: 32px;
    --font-size-6xl: 47px;
    --font-size-7xl: 60px;
    --font-size-8xl: 63px;
    --font-size-9xl: 90px;
    --font-size-hero: 101px;
    /* Line Heights */
    --line-height-tight: 0.8em;
    --line-height-snug: 1.2em;
    --line-height-normal: 1.4em;
    --line-height-relaxed: 1.5em;
    --line-height-loose: 1.6em;
    /* Spacing */
    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 16px;
    --space-lg: 24px;
    --space-xl: 32px;
    --space-2xl: 40px;
    --space-3xl: 48px;
    --space-4xl: 60px;
    --space-5xl: 80px;
    --space-6xl: 120px;
    /* Border Radius */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 10px;
    --radius-xl: 16px;
    --radius-2xl: 20px;
    --radius-3xl: 24px;
    --radius-full: 50px;
    /* Shadows */
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.12);
    --shadow-lg: 0 8px 28px rgba(0, 0, 0, 0.15);
    --shadow-xl: 0 12px 40px rgba(0, 0, 0, 0.2);
    --shadow-funfact: 5px 5px 32px 0px rgba(121, 239, 179, 1), -1px -2px 8px 0px rgba(6, 77, 250, 0.7), inset 0px 0px 32px 8px rgba(255, 255, 255, 1);
    /* Container */
    --container-max-width: 1320px;
    --container-padding: 16px;
    /* Breakpoints */
    --breakpoint-sm: 480px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    /* Transitions */
    --transition-fast: 0.15s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.55s ease;
    /* Z-index */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal: 1040;
    --z-popover: 1050;
    --z-tooltip: 1060;
}

/* ========================================
      Reset & Base Styles
      ======================================== */
*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
    line-height: var(--line-height-normal);
    color: var(--color-black);
    background-color: var(--bg-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding-top: 66px;
    font-family: DM Sans, sans-serif;
    /* Account for fixed header */
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
    height: auto;
}

input,
button,
textarea,
select {
    font: inherit;
}

button {
    cursor: pointer;
    border: none;
    background: none;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover{
    text-decoration: none !important;
}

ul,
ol {
    list-style: none;
}

/* ========================================
      Utility Classes
      ======================================== */
.container {
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ========================================
      Reveal Animations
      ======================================== */
.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity var(--transition-slow), transform var(--transition-slow);
}

    .reveal[data-reveal="fade-up"] {
        transform: translateY(20px);
    }

    .reveal[data-reveal="fade-left"] {
        transform: translateX(-20px);
    }

    .reveal[data-reveal="fade-right"] {
        transform: translateX(20px);
    }

    .reveal[data-reveal="fade-in"] {
        transform: none;
    }

    .reveal.is-visible {
        opacity: 1;
        transform: none;
    }

    /* Staggered delays (shared) */
    .reveal[data-delay="0"] {
        transition-delay: 0ms;
    }

    .reveal[data-delay="100"] {
        transition-delay: 100ms;
    }

    .reveal[data-delay="150"] {
        transition-delay: 150ms;
    }

    .reveal[data-delay="200"] {
        transition-delay: 200ms;
    }

    .reveal[data-delay="250"] {
        transition-delay: 250ms;
    }

    .reveal[data-delay="300"] {
        transition-delay: 300ms;
    }

    .reveal[data-delay="400"] {
        transition-delay: 400ms;
    }

    .reveal[data-delay="450"] {
        transition-delay: 450ms;
    }

    .reveal[data-delay="500"] {
        transition-delay: 500ms;
    }

    .reveal[data-delay="600"] {
        transition-delay: 600ms;
    }

    .reveal[data-delay="700"] {
        transition-delay: 700ms;
    }

    .reveal[data-delay="750"] {
        transition-delay: 750ms;
    }

    .reveal[data-delay="800"] {
        transition-delay: 800ms;
    }

    .reveal[data-delay="900"] {
        transition-delay: 900ms;
    }

    .reveal[data-delay="1000"] {
        transition-delay: 1000ms;
    }

    .reveal[data-delay="1050"] {
        transition-delay: 1050ms;
    }

    .reveal[data-delay="1200"] {
        transition-delay: 1200ms;
    }

    .reveal[data-delay="1400"] {
        transition-delay: 1400ms;
    }

/* Component-specific reveal helpers (centralized) */
.events-hero-content.reveal {
    transform: translateY(20px) scale(0.98);
}

    .events-hero-content.reveal.is-visible {
        transform: translateY(0) scale(1);
    }

.events-slider.reveal {
    transform: translateY(20px);
}

    .events-slider.reveal.is-visible {
        transform: translateY(0);
    }

.career-history__item.reveal {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

    .career-history__item.reveal.is-visible {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

.career-history__mobile-item.reveal {
    opacity: 0;
    transform: translateX(-20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

    .career-history__mobile-item.reveal.is-visible {
        opacity: 1;
        transform: translateX(0);
    }

.services-hero__heading.reveal {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1s ease, transform 1s ease;
}

    .services-hero__heading.reveal.is-visible {
        opacity: 1;
        transform: translateY(0);
    }

.services-cta.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

    .services-cta.reveal.is-visible {
        opacity: 1;
        transform: translateY(0);
    }

.service-item-wrapper.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

    .service-item-wrapper.reveal.is-visible {
        opacity: 1;
        transform: translateY(0);
    }

/* Firefox reduced-motion & reveal reset */
@media (prefers-reduced-motion: reduce) {
    .reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* Provider Card Animation Keyframes */
@keyframes providerCardReveal {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.8);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


/* ========================================
      Header
      ======================================== */
.header {
    background-color: #16181D;
    padding: 10px 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 90;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.is-admin .header {
    top: 36px;
}

.header__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    max-width: 1350px;
    margin: 0 auto;
}

.btn-contact {
    background: none;
    border: 1px solid var(--color-electric-fern);
    color: var(--color-electric-fern);
    border-radius: 4px;
    padding: 10px 17px;
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 17px;
    line-height: 1.088;
    transition: all 0.3s ease;
    cursor: pointer;
}

    .btn-contact:hover {
        background: var(--color-electric-fern);
        color: #000;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 255, 0, 0.3);
    }

/* Logo */
.header__logo {
    flex-shrink: 0;
}

    .header__logo img {
        width: 260px;
        height: 45px;
        object-fit: contain;
    }

/* Navigation */
.header__nav {
    flex: 1;
    display: flex;
    justify-content: center;
    /* padding: 0 141px; */
}

.nav__list {
    display: flex;
    align-items: center;
    gap: 5px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav__item {
    position: relative;
}

.nav__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 3px 16px 4px;
    color: #FFFFFF;
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 18px;
    line-height: 1.2;
    text-decoration: none;
    transition: color var(--transition-fast);
    border-radius: 4px;
}

    .nav__link:hover {
        color: var(--color-electric-fern);
    }

/* Bootstrap dropdown arrow styling */
.dropdown-toggle::after {
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    content: '\f078';
    border: none;
    font-size: 13px;
    margin: 0;
    line-height: 1.66;
    transition: transform var(--transition-fast);
    vertical-align: middle;
}

.dropdown-toggle[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

/* Bootstrap Dropdown Menu Overrides */
.dropdown-menu {
    background-color: rgba(9, 9, 9, 0.9) !important;
    border: 1px solid #333940 !important;
    border-radius: 10px !important;
    box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(8px);
    padding: 15px !important;
    min-width: 200px !important;
    margin-top: 30px !important;
    transform: translateX(-50%) !important;
    left: 50% !important;
    right: auto !important;
}

    .dropdown-menu.show {
        transform: translateX(-50%) !important;
    }

.dropdown-item {
    display: flex !important;
    align-items: center !important;
    padding: 10px;
    color: #FFFFFF !important;
    font-family: 'Archivo', sans-serif !important;
    font-weight: 400 !important;
    font-size: 17px !important;
    line-height: 1.27 !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    transition: all var(--transition-fast) !important;
    margin-bottom: 6px !important;
    width: 100% !important;
    background-color: transparent !important;
}

    .dropdown-item:last-child {
        margin-bottom: 0 !important;
    }

    .dropdown-item:hover,
    .dropdown-item:focus {
        background-color: rgba(121, 239, 179, 0.1) !important;
        color: var(--color-electric-fern) !important;
    }


/* Specific dropdown widths based on Figma design */
.dropdown:nth-child(2) .dropdown-menu {
    /* Services */
    min-width: 200px !important;
}

.dropdown:nth-child(3) .dropdown-menu {
    /* Partners */
    min-width: 200px !important;
}

.dropdown:nth-child(4) .dropdown-menu {
    /* Products */
    min-width: 200px !important;
}

.dropdown:nth-child(5) .dropdown-menu {
    /* Company */
    min-width: 230px !important;
}

.dropdown:nth-child(6) .dropdown-menu {
    /* Blog */
    min-width: 200px !important;
}

/* Keyboard navigation support */

.dropdown-item:focus {
    outline: 2px solid var(--color-electric-fern) !important;
    outline-offset: 2px !important;
}


/* Language Dropdown */
.header__language {
    flex-shrink: 0;
    margin-right: 20px;
}

.language-dropdown {
    position: relative;
}

.language-dropdown__toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 4px;
    padding: 8px 12px;
    color: #FFFFFF;
    font-family: DM Sans, sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.088;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 86px;
    height: 38px;
}

    .language-dropdown__toggle:hover {
        background: rgba(255, 255, 255, 0.15);
        border-color: rgba(121, 239, 179, 0.5);
    }

.language-dropdown__flag {
    width: 25px;
    height: 17px;
    object-fit: cover;
    border-radius: 2px;
}

.language-dropdown__text {
    font-size: 18px;
    line-height: 1.088;
    color: #FFFFFF;
}

.language-dropdown__arrow {
    font-size: 12px;
    transition: transform 0.3s ease;
    margin-left: auto;
}

.language-dropdown__toggle[aria-expanded="true"] .language-dropdown__arrow {
    transform: rotate(180deg);
}

/* Language Dropdown Menu */
.language-dropdown__menu {
    background-color: rgba(9, 9, 9, 0.95) !important;
    border: 1px solid #333940 !important;
    border-radius: 10px !important;
    box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(8px);
    padding: 15px !important;
    min-width: 280px !important;
    margin-top: 40px !important;
    max-height: 400px;
    overflow-y: auto;
}

.language-dropdown__menu {
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: var(--color-electric-fern) rgba(255, 255, 255, 0.06); /* Firefox */
}

    .language-dropdown__menu::-webkit-scrollbar {
        width: 6px;
        height: 6px;
    }

    .language-dropdown__menu::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, 0.06);
        border-radius: 8px;
    }

    .language-dropdown__menu::-webkit-scrollbar-thumb {
        background-color: var(--color-electric-fern);
        border-radius: 8px;
    }

        .language-dropdown__menu::-webkit-scrollbar-thumb:hover {
            background-color: rgba(121, 239, 179, 0.9);
        }

.language-dropdown__item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 15px !important;
    color: #FFFFFF !important;
    font-family: 'Archivo', sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1.27 !important;
    text-decoration: none !important;
    border-radius: 6px !important;
    transition: all 0.3s ease !important;
    margin-bottom: 4px !important;
    width: 100% !important;
    background-color: transparent !important;
}

    .language-dropdown__item:last-child {
        margin-bottom: 0 !important;
    }

    .language-dropdown__item:hover,
    .language-dropdown__item:focus {
        background-color: rgba(121, 239, 179, 0.1) !important;
        color: var(--color-electric-fern) !important;
    }

.language-dropdown__item-flag {
    width: 24px;
    height: 16px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
}

/* CTA Button */
.header__cta {
    flex-shrink: 0;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 17px;
    border-radius: 4px;
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 17px;
    line-height: 1.088;
    text-decoration: none;
    transition: all var(--transition-fast);
    cursor: pointer;
    border: 1px solid transparent;
}

.btn--primary {
    background-color: #0D0D12;
    color: #79EFB3;
    border-color: #79EFB3;
    /* width: 119px; */
    /* height: 38px; */
}

    .btn--primary:hover {
        background-color: #79EFB3;
        color: #0D0D12;
        transform: translateY(-1px);
    }

/* Mobile Menu Toggle */
.header__toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    background: #94e7c2;
    border-radius: 5px;
}

.hamburger {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.hamburger__line {
    width: 24px;
    height: 2px;
    background-color: #FFFFFF;
    transition: all var(--transition-fast);
}

.header__toggle[aria-expanded="true"] .hamburger__line:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.header__toggle[aria-expanded="true"] .hamburger__line:nth-child(2) {
    opacity: 0;
}

.header__toggle[aria-expanded="true"] .hamburger__line:nth-child(3) {
    transform: rotate(-45deg) translate(3px, -4px);
}

/* Mobile Navigation */
.mobile-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: #16181D;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    transform: translateX(-100%);
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-normal);
    z-index: 1000;
}

    .mobile-nav:not([hidden]) {
        transform: translateX(0);
        opacity: 1;
        visibility: visible;
    }

    .mobile-nav[hidden] {
        display: none;
    }

.mobile-nav__content {
    padding: 24px 0;
}

.mobile-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-nav__item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

    .mobile-nav__item:last-child {
        border-bottom: none;
    }

.mobile-nav__link {
    display: block;
    padding: 16px 24px;
    color: #FFFFFF;
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 18px;
    text-decoration: none;
    transition: color var(--transition-fast);
}

    .mobile-nav__link:hover {
        color: var(--color-electric-fern);
    }

.mobile-nav__link--cta {
    background-color: #0D0D12;
    color: #79EFB3;
    border: 1px solid #79EFB3;
    margin: 16px 24px;
    border-radius: 4px;
    text-align: center;
}

    .mobile-nav__link--cta:hover {
        background-color: #79EFB3;
        color: #0D0D12;
    }

/* Mobile Navigation Dropdowns */
.mobile-nav__item--dropdown {
    position: relative;
}

.mobile-nav__arrow {
    font-size: 13px;
    font-weight: 900;
    line-height: 1.66;
    transition: transform var(--transition-fast);
    margin-left: auto;
}

.mobile-nav__item--dropdown.is-open .mobile-nav__arrow {
    transform: rotate(180deg);
}

.mobile-nav__submenu {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--transition-normal);
    background-color: rgba(0, 0, 0, 0.2);
}

.mobile-nav__item--dropdown.is-open .mobile-nav__submenu {
    max-height: 500px;
    /* Adjust based on content */
}

.mobile-nav__sublink {
    display: block;
    padding: 12px 24px 12px 48px;
    color: rgba(255, 255, 255, 0.8);
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 16px;
    text-decoration: none;
    transition: color var(--transition-fast);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

    .mobile-nav__sublink:hover {
        color: var(--color-electric-fern);
    }

    .mobile-nav__sublink:last-child {
        border-bottom: none;
    }

/* ========================================
   About Section
   ======================================== */
.about {
    position: relative;
    background: #F2F5F8;
    padding: 100px 0;
    overflow: hidden;
}

.about__content {
    display: flex;
    align-items: center;
    gap: 60px;
    position: relative;
    z-index: 2;
}

.about__visual {
    flex: 0 0 620px;
    position: relative;
}

.about__video-container {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    width: 100%;
    height: 349px;
    background: #000;
}

/* Video Container - Direct Click */
.about__video-container {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    width: 100%;
    height: 349px;
    background: #000;
    cursor: pointer;
}

.about__video {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 8px;
    display: block;
}

.about__text {
    flex: 1;
    max-width: 550px;
    padding-left: 10px;
}

.about__title {
    font-family: 'Clash Display', sans-serif;
    font-weight: 300;
    font-size: 60px;
    font-style: normal;
    line-height: 0.73;
    color: #2970FF;
    text-transform: capitalize;
    margin: 0 0 35px 0;
    letter-spacing: -0.02em;
}

.about__description {
    font-family: DM Sans, sans-serif;
    font-optical-sizing: auto;
    font-size: 16px;
    font-weight: 300;
    font-style: normal;
    line-height: 1.6;
    color: #666D80;
    margin: 0 0 35px 0;
}

.about__cta {
    margin-top: 35px;
}

.btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    border-radius: 4px;
    text-decoration: none;
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    /* font-size: 20px; */
    line-height: 1;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.btn--primary {
    background: #2970FF;
    color: #FFFFFF;
}

    .btn--primary:hover {
        background: linear-gradient(90deg, rgba(121, 239, 179, 1) 0%, rgba(6, 77, 250, 1) 100%);
        transform: translateY(-2px);
        color: #fff;
    }

.btn__icon {
    font-size: 17px;
    transform: rotate(330deg);
    transition: transform 0.3s ease;
}

.btn--primary:hover .btn__icon {
    transform: translateX(4px);
}

/* Decorative Elements using pseudo-elements */
.about__visual::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -5%;
    width: 301px;
    height: 141px;
    background: url('../assets/sec-left-blue-s.png') no-repeat center;
    background-size: contain;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    transform: translateX(-80px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.about__visual::after {
    content: '';
    position: absolute;
    bottom: -11%;
    right: -5%;
    width: 301px;
    height: 141px;
    background: url('../assets/sec-right-blue-s.png') no-repeat center;
    background-size: contain;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    transform: translateX(80px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

/* Visible states for about decorative elements */
.about__visual.is-visible::before {
    opacity: 1;
    transform: translateX(0);
}

.about__visual.is-visible::after {
    opacity: 1;
    transform: translateX(0);
}

/* ========================================
    Services Section
    ======================================== */
.services {
    position: relative;
    min-height: 1100px;
    background: linear-gradient(135deg, rgba(192, 255, 235, 0.15) 0%, rgba(195, 242, 218, 0.4) 20%, rgba(41, 112, 255, 0.05) 100%);
    overflow: hidden;
}

.services__background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.services__image {
    position: absolute;
    top: 0;
    left: 2px;
    right: 0;
    height: 1279px;
    background: url('../assets/services.jpg') center center no-repeat;
    background-size: cover;
    /* opacity: 0.1; */
}

.services__content {
    position: relative;
    z-index: 2;
    padding: 70px 0;
}

.services__header {
    text-align: center;
    margin-bottom: 70px;
}

.services__tag {
    margin-bottom: 27px;
}

.services__tag-text {
    display: inline-block;
    padding: 1px 15px;
    border: 1px solid #2970FF;
    border-radius: 50px;
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 2.0625;
    color: #2970FF;
    text-transform: uppercase;
    text-align: center;
}

.services__title {
    font-family: 'Clash Display', sans-serif;
    font-weight: 300;
    font-size: 3vw;
    line-height: 1.23;
    background: linear-gradient(90deg, rgba(121, 239, 179, 1) 0%, rgba(6, 77, 250, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-align: center;
    margin: 0;
}

/* Services Swiper Container */
.services__swiper-container {
    max-width: 1500px;
    margin: 0 auto;
    /* padding: 0 20px; */
}

.services__swiper {
    padding: 15px;
}

    .services__swiper .swiper-slide {
        height: auto;
        display: flex;
        justify-content: center;
    }

    /* Service Card Styling to match Figma design */
    .services__swiper .service-card {
        background: #FFFFFF;
        border-radius: 10px;
        padding: 35px 40px 30px;
        box-shadow: 0px 0px 3px 0px rgba(22, 24, 29, 0.1);
        display: flex;
        flex-direction: column;
        gap: 20px;
        height: auto;
        min-height: 347px;
        width: 100%;
    }

    .services__swiper .service-card__header {
        display: flex;
        align-items: center;
        gap: 18px;
    }

    .services__swiper .service-card__icon {
        width: 70px;
        height: 70px;
        background: linear-gradient(90deg, rgba(121, 239, 179, 1) 0%, rgba(6, 77, 250, 1) 100%);
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .services__swiper .service-card__icon-img {
        width: 50px;
        height: 50px;
    }

    .services__swiper .service-card__title {
        font-family: DM Sans, sans-serif;
        font-weight: 300;
        font-size: 32px;
        line-height: 1.25;
        color: #0D0D12;
        margin: 0;
    }

    .services__swiper .service-card__content {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .services__swiper .service-card__description {
        font-family: DM Sans, sans-serif;
        font-weight: 300;
        font-size: 18px;
        line-height: 1.56;
        color: #666D80;
        margin: 0;
    }

    .services__swiper .service-card__cta {
        margin-top: auto;
    }

    .services__swiper .service-card__link {
        display: inline-flex;
        align-items: center;
        gap: 2px;
        padding: 3px 0;
        color: #2970FF;
        text-decoration: none;
        font-family: DM Sans, sans-serif;
        font-weight: 300;
        font-size: 20px;
        line-height: 1.15;
        transition: color 0.3s ease;
    }

        .services__swiper .service-card__link:hover {
            color: #1a5bcc;
        }

    .services__swiper .service-card__arrow {
        font-size: 17px;
        line-height: 0.68;
    }

/* Services Swiper Pagination */
.services-swiper-pagination {
    position: relative !important;
    margin-top: 30px;
    text-align: center;
}

    .services-swiper-pagination .swiper-pagination-bullet {
        width: 12px;
        height: 12px;
        background-color: #E5E7EB;
        opacity: 1;
        margin: 0 6px;
        transition: background-color 0.3s ease;
    }

    .services-swiper-pagination .swiper-pagination-bullet-active {
        background-color: #2970FF;
    }

.services__slider {
    position: relative;
    max-width: 1500px;
    margin: 0 auto;
}

.services__container {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    width: 100%;
}

.services__track {
    display: flex;
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    width: 200%;
    /* 2 slides */
    will-change: transform;
}

.services__slide {
    width: 50%;
    /* Each slide takes half the track width */
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 0 90px;
    flex-shrink: 0;
}

.service-card {
    background: #FFFFFF;
    border-radius: 10px;
    padding: 35px 40px 30px;
    box-shadow: 2px 2px 10px 0px rgba(22, 24, 29, 0.1);
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
}

    .service-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(121, 239, 179, 0.1), transparent);
        transition: left 0.6s ease;
    }

    .service-card:hover {
        transform: translateY(-8px) scale(1.02);
        box-shadow: 0 0px 5px rgba(22, 24, 29, 0.15);
    }

        .service-card:hover::before {
            left: 100%;
        }

.service-card__header {
    display: flex;
    align-items: center;
    gap: 18px;
}

.service-card__icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(90deg, rgba(121, 239, 179, 1) 0%, rgba(6, 77, 250, 1) 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.service-card__icon-img {
    width: 50px;
    height: 50px;
    object-fit: contain;
}

.service-card__title {
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 32px;
    line-height: 1.25;
    color: #0D0D12;
    margin: 0;
}

.service-card__content {
    flex: 1;
}

.service-card__description {
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 18px;
    line-height: 1.56;
    color: #666D80;
    margin: 0;
    text-align: justify;
}

.service-card__cta {
    margin-top: auto;
}

.service-card__link {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 3px 0;
    color: #2970FF;
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 20px;
    line-height: 1.15;
    text-decoration: none;
    transition: all var(--transition-fast);
}

    .service-card__link:hover {
        color: #1E5CE6;
    }

.service-card__arrow {
    font-size: 17px;
    transform: rotate(330deg);
    transition: transform var(--transition-fast);
}

.service-card__link:hover .service-card__arrow {
    transform: translateX(4px);
}

/* Slider Navigation */
.services__navigation {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    z-index: 3;
}

.services__nav {
    width: 48px;
    height: 48px;
    border: 1px solid #79EFB3;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    pointer-events: auto;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

    .services__nav:hover {
        background: #79EFB3;
        border-color: #79EFB3;
        transform: scale(1.1);
        box-shadow: 0 6px 20px rgba(121, 239, 179, 0.3);
    }

    .services__nav:active {
        transform: scale(0.95);
    }

    .services__nav i {
        font-size: 17px;
        color: #0D0D12;
        font-weight: 900;
    }

.services__nav--prev {
    left: 0;
}

.services__nav--next {
    right: 0;
}

/* Slider Indicators */
.services__indicators {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 40px;
}

.services__indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: none;
    background: rgba(121, 239, 179, 0.3);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
}

    .services__indicator::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 0;
        height: 0;
        background: #79EFB3;
        border-radius: 50%;
        transform: translate(-50%, -50%);
        transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }

.services__indicator--active {
    background: #79EFB3;
    transform: scale(1.2);
}

    .services__indicator--active::before {
        width: 20px;
        height: 20px;
        opacity: 0.3;
    }

.services__indicator:hover {
    background: #79EFB3;
    transform: scale(1.1);
}

/* ========================================
    Providers Section
    ======================================== */
.providers {
    position: relative;
    background: #F2F5F8;
    padding: 100px 0;
    overflow: hidden;
}

.providers__content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.providers__header {
    margin-bottom: 70px;
}

.providers__tag {
    margin-bottom: 30px;
}

.providers__tag-text {
    display: inline-block;
    padding: 1px 18px;
    border: 1px solid #2970FF;
    border-radius: 50px;
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 2.0625;
    color: #2970FF;
    text-transform: uppercase;
    text-align: center;
}

.providers__title {
    font-family: 'Clash Display', sans-serif;
    font-weight: 300;
    font-size: 60px;
    line-height: 1.2;
    color: #666D80;
    text-align: center;
    margin: 0;
    /* max-width: 800px; */
    margin-left: auto;
    margin-right: auto;
}

.providers__title--gradient {
    background: linear-gradient(90deg, #064DFA 0%, #79EFB3 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

.providers__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    max-width: 1320px;
    margin: 0 auto 50px;
    position: relative;
}

.provider-card {
    background: #FFFFFF;
    border-radius: 5px;
    height: 102px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
    opacity: 0;
    transform: translateY(30px) scale(0.8);
    animation-fill-mode: forwards;
}

    .provider-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(121, 239, 179, 0.2), transparent);
        transition: left 0.6s ease;
        z-index: 1;
    }

    .provider-card::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(135deg, rgba(41, 112, 255, 0.05) 0%, rgba(121, 239, 179, 0.05) 100%);
        opacity: 0;
        transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        border-radius: 5px;
        z-index: 1;
    }

    .provider-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(121, 239, 179, 0.1), transparent);
        transition: left 0.6s ease;
    }

    .provider-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 25px rgba(121, 239, 179, 0.2);
        border-color: #2970FF;
    }

        .provider-card:hover::before {
            left: 100%;
        }

.provider-card__logo {
    max-width: 100%;
    max-height: 60px;
    object-fit: contain;
    /* filter: grayscale(100%) opacity(0.7); */
    transition: all 0.3s ease;
}

.provider-card:hover .provider-card__logo {
    filter: grayscale(0%) opacity(1);
}

/* Provider Card Reveal Animation */
.provider-card.is-visible {
    animation: providerCardReveal 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* Add keyboard navigation support */
.provider-card[tabindex]:focus-visible {
    outline: 2px solid #2970FF;
    outline-offset: 2px;
}

/* Staggered animation delays for provider cards */
.provider-card:nth-child(1) {
    animation-delay: 0.1s;
}

.provider-card:nth-child(2) {
    animation-delay: 0.2s;
}

.provider-card:nth-child(3) {
    animation-delay: 0.3s;
}

.provider-card:nth-child(4) {
    animation-delay: 0.4s;
}

.provider-card:nth-child(5) {
    animation-delay: 0.5s;
}

.provider-card:nth-child(6) {
    animation-delay: 0.6s;
}

.provider-card:nth-child(7) {
    animation-delay: 0.7s;
}

.provider-card:nth-child(8) {
    animation-delay: 0.8s;
}

.provider-card:nth-child(9) {
    animation-delay: 0.9s;
}

.provider-card:nth-child(10) {
    animation-delay: 1.0s;
}

.provider-card:nth-child(11) {
    animation-delay: 1.1s;
}

.provider-card:nth-child(12) {
    animation-delay: 1.2s;
}

.provider-card:nth-child(13) {
    animation-delay: 1.3s;
}

.provider-card:nth-child(14) {
    animation-delay: 1.4s;
}

.provider-card:nth-child(15) {
    animation-delay: 1.5s;
}

.provider-card:nth-child(16) {
    animation-delay: 1.6s;
}

.provider-card:nth-child(17) {
    animation-delay: 1.7s;
}

.provider-card:nth-child(18) {
    animation-delay: 1.8s;
}

.provider-card:nth-child(19) {
    animation-delay: 1.9s;
}

.provider-card:nth-child(20) {
    animation-delay: 2.0s;
}

.providers__cta {
    margin-top: 50px;
    text-align: justify;
}

.providers__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 3px 0;
    color: #2970FF;
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 20px;
    line-height: 1.55;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
}

    .providers__link::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 2px;
        background: #2970FF;
        transition: width 0.3s ease;
    }

    .providers__link:hover {
        color: #1E5CE6;
    }

        .providers__link:hover::after {
            width: 100%;
        }

.providers__arrow {
    font-size: 17px;
    transition: transform 0.3s ease;
    transform: rotate(330deg);
}

.providers__link:hover .providers__arrow {
    transform: translateX(4px);
}

/* Decorative Elements */
.providers__grid::before {
    content: '';
    position: absolute;
    top: -49%;
    left: -18%;
    width: 490px;
    height: 399px;
    background: url('../assets/sec-left-green-l.png') no-repeat center;
    background-size: contain;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    transform: translateX(-100px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.providers__grid::after {
    content: '';
    position: absolute;
    bottom: -49%;
    right: -18%;
    width: 490px;
    height: 399px;
    background: url(../assets/sec-right-green-l.png) no-repeat center;
    background-size: contain;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    transform: translateX(100px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

/* Visible states for providers decorative elements */
.providers__grid.is-visible::before {
    opacity: 1;
    transform: translateX(0);
}

.providers__grid.is-visible::after {
    opacity: 1;
    transform: translateX(0);
}

/* ========================================
    Awards Section
    ======================================== */
.awards {
    position: relative;
    min-height: 584px;
    overflow: hidden;
}

.awards__background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.awards__gradient {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.awards__image {
    position: absolute;
    top: -136px;
    left: 0;
    right: 0;
    height: 500px;
    background: url('../assets/award-bg.jpg') center center no-repeat;
    background-size: cover;
    opacity: 0.8;
}

.awards__content {
    position: relative;
    z-index: 2;
    padding: 50px 0 100px;
    text-align: center;
}

.awards__tag {
    margin-bottom: 59px;
}

.awards__tag-text {
    display: inline-block;
    padding: 1px 15px;
    border: 1px solid #FFFFFF;
    border-radius: 50px;
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 2.0625;
    color: #FFFFFF;
    text-transform: uppercase;
    text-align: center;
}

.awards__heading {
    margin-bottom: 36px;
    padding: 0 72.58px;
}

.awards__title {
    font-family: 'Clash Display', sans-serif;
    font-weight: 300;
    font-size: 60px;
    line-height: 1.2;
    color: #FFFFFF;
    text-align: center;
    margin: 0;
}

/* Awards Swiper Container */
.awards__swiper-container {
    max-width: 1320px;
    margin: 0 auto;
    /* padding: 0 20px; */
}

.awards__swiper {
    padding: 20px 0;
}

    .awards__swiper .swiper-slide {
        height: auto;
        display: flex;
        justify-content: center;
    }

.awards__cards {
    display: flex;
    justify-content: center;
    gap: 21px;
    max-width: 1320px;
    margin: 0 auto;
}

/* Award card wrapper with gradient border */
.award-card-wrapper {
    width: 426px;
    height: 270px;
    background: linear-gradient(90deg, rgba(121, 239, 179, 1) 0%, rgba(6, 77, 250, 1) 100%);
    border-radius: 10px;
    padding: 1px;
    transition: transform var(--transition-normal);
}

.award-card {
    width: 100%;
    height: 100%;
    background: #F2F5F8;
    border-radius: 9px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding: 10px 0;
}

.award-card-wrapper:hover {
    transform: translateY(-5px);
}

.award-card__image {
    position: absolute;
    top: 28px;
    left: 50%;
    transform: translateX(-50%);
    width: 137px;
    height: 143px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.award-card__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.award-card__content {
    text-align: center;
    margin-top: auto;
}

.award-card__title {
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 22px;
    line-height: 1.5;
    color: #333940;
    text-align: center;
    margin: 0;
    width: 400px;
}

/* ========================================
    Hero Section
    ======================================== */
.hero {
    position: relative;
    background: linear-gradient(180deg, transparent 80%, rgba(255, 255, 255, 1) 100%), url(../assets/hero/hero.png) center bottom no-repeat;
    overflow: hidden;
    background-size: 100%;
}

.hero__background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.hero__gradient {
    position: absolute;
    width: 800px;
    height: 800px;
    border-radius: 655.68px;
    opacity: 0.7;
    background: radial-gradient(50% 50%, rgba(192, 255, 235, 0.7) 0%, rgba(192, 255, 235, 0%) 100%);
}

.hero__gradient--left {
    top: -96px;
    left: -170px;
    filter: blur(130px);
}

.hero__gradient--right {
    top: -96px;
    right: -170px;
    filter: blur(130px);
}

.hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 60px;
    margin: 0 auto;
}

.hero__text {
    text-align: center;
    max-width: 1180px;
    margin: 0 auto;
    margin-top: 10%;
}

.hero__title {
    font-family: 'Clash Display', sans-serif;
    font-weight: 300;
    font-size: 5vw;
    line-height: 1.21;
    color: #0D0D12;
    margin-bottom: 10px;
    text-align: center;
}

.hero__title-highlight {
    background: linear-gradient(90deg, rgba(121, 239, 179, 1) 0%, rgba(6, 77, 250, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero__description {
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 21px;
    line-height: 1.57;
    color: #333940;
    text-align: center;
    max-width: 1050px;
    margin: 0 auto;
}

.hero__visual {
    position: relative;
    height: 767px;
}

.hero__image-container {
    position: absolute;
    z-index: 1;
}

.hero__image {
    top: 82px;
    left: 0;
    width: 100%;
    height: 900px;
    object-fit: cover;
    border-radius: 0;
}

.hero_mobile_img {
    display: none;
    text-align: center;
}

.hero__overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 250px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 18%, rgba(255, 255, 255, 0.7) 60%, rgba(255, 255, 255, 1) 100%);
    z-index: 2;
}

.hero__stats {
    margin-top: 9%;
    left: 20%;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 65%;
}

/* Stat Card Wrapper with Gradient Border */
.stat-card-wrapper {
    position: relative;
    width: 100%;
    height: 140px;
    background: linear-gradient(180deg, rgba(41, 112, 255, 0.7) 0%, rgba(192, 255, 235, 1) 100%);
    border-radius: 8px;
    padding: 1px;
    box-shadow: 5px 5px 32px 0px rgba(121, 239, 179, 1), -1px -2px 8px 0px rgba(6, 77, 250, 0.7);
}

    /* Hover effect - only apply when visible */
    .stat-card-wrapper.is-visible:hover {
        transform: translateY(-5px);
        transition: transform var(--transition-normal);
    }

.stat-card {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 7px;
    box-shadow: inset 0px 0px 32px 8px rgba(255, 255, 255, 1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.stat-card__number {
    font-family: 'Clash Display', sans-serif;
    font-weight: 300;
    font-size: 40px;
    line-height: 1.28;
    color: #0D0D12;
    text-align: center;
    margin-bottom: 4px;
}

.stat-card__label {
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 20px;
    line-height: 1.4;
    color: #0D0D12;
    text-align: center;
}

.stat-card-flex {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    flex: 1;
    align-items: center;
}

/* Stats positioning with flexbox */
.stat-card-wrapper {
    flex: 0 0 auto;
    /* width: 225px; */
}

/* ========================================
 Products Section - Basic Layout
 ======================================== */
.swiper-products {
    position: relative;
    background: url(../assets/grid_fade.png) center;
    background-size: 100%;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    display: none;
}

.swiper-button-next,
.swiper-button-prev {
    border: 1px solid #2970FF;
    border-radius: 50%;
    width: 36px !important;
    color: #fff !important;
    height: 36px !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .swiper-button-next:hover,
    .swiper-button-prev:hover {
        background: #2970FF;
        color: white;
    }

.products {
    background: linear-gradient(to bottom, #0E1320, #163163);
    /* Figma exact color */
    padding: 60px 0;
    position: relative;
    overflow: hidden;
}

.products__tag {
    text-align: center;
    margin-bottom: 40px;
}

    .products__tag span {
        display: inline-block;
        padding: 1px 18px;
        border: 1px solid var(--color-blue-gray);
        border-radius: 50px;
        color: var(--color-white);
        font-family: DM Sans, sans-serif;
        font-size: 16px;
        font-weight: 300;
        line-height: 2.0625;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

.products__header {
    text-align: center;
    margin-bottom: 60px;
    position: relative;
}

.products__title {
    font-family: 'Clash Display', sans-serif;
    font-size: 60px;
    font-weight: 300;
    line-height: 0.8;
    color: var(--color-white);
    margin: 0;
    position: relative;
}

    .products__title::before {
        content: '';
        position: absolute;
        bottom: -6vw;
        left: 0vw;
        width: 431px;
        height: 399px;
        background: url(../assets/sec-left-blue-l.png) no-repeat center;
        background-size: contain;
        z-index: 1;
        pointer-events: none;
        opacity: 0;
        transform: translateX(-100px);
        transition: opacity 0.8s ease, transform 0.8s ease;
    }

    .products__title::after {
        content: '';
        position: absolute;
        bottom: -12vw;
        right: 0;
        width: 431px;
        height: 399px;
        background: url(../assets/sec-right-blue-l.png) no-repeat center;
        background-size: contain;
        z-index: 1;
        pointer-events: none;
        opacity: 0;
        transform: translateX(100px);
        transition: opacity 0.8s ease, transform 0.8s ease;
    }

    /* Visible states for decorative elements */
    .products__title.is-visible::before {
        opacity: 1;
        transform: translateX(0);
    }

    .products__title.is-visible::after {
        opacity: 1;
        transform: translateX(0);
    }

/* Products Container */
.products__container {
    position: relative;
    max-width: 1320px;
    margin: 0 auto;
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.products__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    width: 100%;
    padding: 20px 0 60px;
}

.products__slide {
    width: 350px !important;
    /* Fixed width for consistent slide sizing - override Swiper CSS */
    height: auto;
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Additional specificity to override Swiper bundle CSS */
.products__swiper .swiper-slide.products__slide {
    width: 350px !important;
    max-width: 350px !important;
    min-width: 350px !important;
}

.products__swiper .swiper-wrapper .swiper-slide.products__slide {
    width: 350px !important;
    flex-shrink: 0 !important;
}

/* Ensure proper centering of the swiper */
.products__swiper {
    width: 100%;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

    .products__swiper .swiper-wrapper {
        display: flex;
        align-items: center;
    }

.products__slide .products__image {
    width: 100%;
    height: auto;
    overflow: hidden;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(102, 109, 128, 0.5);
}

    .products__slide .products__image img {
        width: 100%;
        height: auto;
        object-fit: contain;
        transition: transform 0.3s ease;
        border-radius: 20px;
        max-width: 100%;
        display: block;
    }

.products__slide:hover .products__image img {
    transform: scale(1.05);
}

.products__description {
    text-align: center;
    margin-top: 40px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.products__product-title {
    font-family: 'Clash Display', sans-serif;
    font-size: 32px;
    font-weight: 300;
    line-height: 1.25;
    color: var(--color-white);
    margin: 0 0 10px 0;
}

.products__product-desc {
    font-family: DM Sans, sans-serif;
    font-size: 18px;
    font-weight: 300;
    line-height: 1.56;
    color: var(--color-white);
    margin: 0 0 20px 0;
}

.products__read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color-primary);
    font-family: DM Sans, sans-serif;
    font-size: 20px;
    font-weight: 300;
    text-decoration: none;
    transition: all 0.3s ease;
}

    .products__read-more:hover {
        color: var(--color-white);
        transform: translateX(5px);
    }

    .products__read-more i {
        font-size: 17px;
        font-weight: 900;
    }

.products__cta {
    text-align: center;
    margin-top: 60px;
}

.products__link {
    display: inline-block;
    padding: 9.5px 17px;
    background: var(--color-primary);
    color: var(--color-white);
    font-family: DM Sans, sans-serif;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.4;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
}

    .products__link:hover {
        background: linear-gradient(90deg, #79EFB3 0%, #2970FF 100%);
        color: var(--color-white);
    }

/* News Section */
.news {
    padding: 80px 0;
    background: #ffffff;
    position: relative;
}

.news__header {
    text-align: center;
    margin-bottom: 50px;
}

.news__tag {
    display: inline-block;
    border: 1px solid #666D80;
    border-radius: 50px;
    padding: 1px 18px;
    margin-bottom: 24px;
}

    .news__tag span {
        font-family: DM Sans, sans-serif;
        font-weight: 300;
        font-size: 16px;
        line-height: 2.0625;
        color: #666D80;
        text-transform: uppercase;
    }

.news__title {
    font-family: 'Clash Display', sans-serif;
    font-weight: 300;
    font-size: 60px;
    line-height: 1.2;
    background: linear-gradient(90deg, rgba(121, 239, 179, 1) 0%, rgba(6, 77, 250, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0;
}

.news__slider {
    position: relative;
}

.news-swiper {
    overflow: hidden;
    padding: 20px 0;
}

    .news-swiper .swiper-slide {
        opacity: 0;
        transform: translateY(40px) scale(0.95);
        animation: revealSlide 0.8s ease-out forwards;
    }

        .news-swiper .swiper-slide:nth-child(1) {
            animation-delay: 0.2s;
        }

        .news-swiper .swiper-slide:nth-child(2) {
            animation-delay: 0.4s;
        }

        .news-swiper .swiper-slide:nth-child(3) {
            animation-delay: 0.6s;
        }

        .news-swiper .swiper-slide:nth-child(4) {
            animation-delay: 0.8s;
        }

        .news-swiper .swiper-slide:nth-child(5) {
            animation-delay: 1s;
        }

/* Reveal Slide Animation */
@keyframes revealSlide {
    0% {
        opacity: 0;
        transform: translateY(40px) scale(0.95);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.news__card {
    background: #ffffff;
    border: 1px solid #DFE1E7;
    border-radius: 20px;
    overflow: hidden;
    height: 470px;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}

    .news__card:hover {
        box-shadow: 0 0px 5px rgb(0 0 0 / 30%);
    }

.news__image {
    width: 100%;
    overflow: hidden;
}

    .news__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.3s ease;
    }

.news__card:hover .news__image img {
    transform: scale(1.05);
}

.news__content {
    padding: 15px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.news__meta {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 10px 0;
    margin-bottom: 7px;
}

.news__category,
.news__author,
.news__date {
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 14px;
    line-height: 1.088;
    color: #666D80;
}



.news__headline {
    margin: 0 0 16px 0;
    flex: 1;
}

    .news__headline a {
        font-family: DM Sans, sans-serif;
        font-weight: 300;
        font-size: 21px;
        line-height: 1.429;
        color: #0D0D12;
        text-decoration: none;
        transition: color 0.3s ease;
    }

        .news__headline a:hover {
            color: #2970FF;
        }

.news__read-more {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #2970FF;
    color: #ffffff;
    padding: 8px 14px;
    border-radius: 4px;
    text-decoration: none;
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 17px;
    line-height: 1.23;
    width: fit-content;
    transition: all 0.3s ease;
}

    .news__read-more:hover {
        background: linear-gradient(90deg, #79EFB3 0%, #2970FF 100%);
        transform: translateX(5px);
    }

    .news__read-more i {
        font-size: 15px;
        transition: transform 0.3s ease;
    }

    .news__read-more:hover i {
        transform: translateX(3px);
    }

/* Footer CTA Section */
.footer__top {
    background: linear-gradient(90deg, rgba(42, 42, 46, 1) 0%, rgba(13, 13, 18, 1) 100%);
    padding: 3rem 0;
    position: relative;
}

.footer__cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1350px;
    margin: 0 auto;
    padding: 0 15px;
}

.footer__cta-content {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
}

.footer__cta-title {
    font-family: 'Clash Display', sans-serif;
    font-weight: 300;
    font-size: 63px;
    line-height: 1.333;
    color: #ffffff;
    text-transform: uppercase;
    margin: 0;
    flex-shrink: 0;
    min-width: 37%;
}

.footer__cta-description {
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 20px;
    line-height: 1.5;
    color: #DFE1E7;
    margin: 0;
    max-width: 650px;
    flex: 1;
}

.footer__cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #79EFB3;
    color: #0D0D12;
    border: 1px solid #79EFB3;
    border-radius: 4px;
    padding: 12px 23px;
    text-decoration: none;
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 19px;
    line-height: 1.23;
    transition: all 0.3s ease;
    flex-shrink: 0;
    cursor: pointer;
}

    .footer__cta-button:hover {
        background: #6dd4a0;
        border-color: #6dd4a0;
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(121, 239, 179, 0.3);
    }

    .footer__cta-button:active {
        transform: translateY(0);
    }

/* Footer Bottom Section */
.footer__bottom {
    background: #16181D;
    position: relative;
    min-height: 606px;
    overflow: hidden;
}

.footer__hand {
    position: absolute;
    top: -183px;
    left: 0;
    width: 1093px;
    height: 789px;
    z-index: 1;
    pointer-events: none;
}

.footer__hand-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.footer__content {
    position: relative;
    z-index: 2;
    max-width: 1350px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 30px;
    min-height: 606px;
    justify-content: center;
}

.footer__upper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 76px;
    padding: 50px 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.footer__about {
    flex-shrink: 0;
}

.footer__logo {
    width: 376px;
    height: 65px;
}

.footer__logo-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.footer__links {
    display: flex;
    justify-content: flex-end;
    gap: 114px;
    flex: 1;
}

.footer__column {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 15px;
}




    .footer__column:last-child {
        gap: 20px;
    }

.footer__heading {
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 20px;
    line-height: 1.4;
    color: #ffffff;
    margin: 0;
    text-align: left;
}

.footer__link-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: initial;
}

.footer__link {
    font-family: DM Sans, sans-serif;
    font-weight: 300;
    font-size: 15px;
    line-height: 1.765;
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
}

    .footer__link:hover {
        color: var(--color-hyper-cobalt);
    }

.footer__partners {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer__social {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.footer__social-links {
    display: flex;
    align-items: center;
    gap: 18px;
    height: 35px;
}

.footer__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    font-family: 'Font Awesome 6 Brands', sans-serif;
    font-weight: 300;
    font-size: 34px;
    line-height: 1;
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
}

    .footer__social-link:hover {
        color: var(--color-hyper-cobalt);
    }

/* Hide accordion icons on desktop */
.footer__accordion-icon {
    display: none;
}

.footer__copyright {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 30px;
}

    .footer__copyright p {
        font-family: DM Sans, sans-serif;
        font-weight: 300;
        font-size: 15px;
        line-height: 1.579;
        color: #ffffff;
        text-align: center;
        margin: 0;
    }

/* ========================================
  Floating News Window (Figma Design)
  ======================================== */
.floating-news {
    position: fixed;
    top: 60%;
    right: -187px;
    /* Hidden by default */
    transform: translateY(-50%);
    height: 700px;
    z-index: 1000;
    transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: visible;
}

    .floating-news.is-visible {
        right: 0;
    }

.floating-news__tag {
    position: absolute;
    left: -40px;
    cursor: pointer;
    top: 0;
    width: 40px;
    height: 155px;
    background: var(--color-primary);
    border-radius: 10px 0px 0px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    writing-mode: sideways-lr;
    text-orientation: mixed;
}

    .floating-news__tag span {
        font-family: DM Sans, sans-serif;
        font-size: 17px;
        font-weight: 300;
        line-height: 1.23;
        color: var(--color-white);
        text-align: center;
    }

.floating-news__container {
    /* width: 225px; */
    background: var(--color-white);
    border: 1px solid var(--color-primary);
    border-radius: 0px 0px 0px 10px;
    box-shadow: -3px 3px 8px 0px rgba(13, 13, 18, 0.2);
    padding: 0;
    box-sizing: border-box;
}

.floating-news__images {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px;
    justify-content: center;
    height: 100%;
    align-items: anchor-center;
}

.floating-news__image {
    /* width: 200px; */
    height: 165px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

    .floating-news__image img {
        width: 100%;
        height: 100%;
        /* object-fit: cover; */
    }

.mobile-floating-news {
    display: none;
}

.footer-news {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 15px !important;
}

.mobile-floating-news__container {
    position: relative;
    width: 93%;
    margin: 0 15px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(192, 255, 235, 1) 100%);
    border: 1px solid #C0FFEB;
    border-radius: 0px 0px 0px 10px;
    box-shadow: 0px 2px 8px 0px rgba(13, 13, 18, 0.3);
    padding: 0;
    box-sizing: border-box;
    overflow: hidden;
    transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1), border 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    height: 0;
    border: none;
    box-shadow: none;
    display: flex;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
}

/* When expanded, show border and box-shadow */
.mobile-floating-news.is-expanded .mobile-floating-news__container {
    border: 1px solid #C0FFEB;
    box-shadow: 0px 2px 8px 0px rgba(13, 13, 18, 0.3);
    overflow: visible;
}

.mobile-floating-news__container img {
    height: 0;
    transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-floating-news__swiper {
    flex: 1;
    width: 100%;
    padding: 15px 54px;
    overflow: hidden;
}

    .mobile-floating-news__swiper .swiper-slide {
        width: 100%;
        border-radius: 8px;
        overflow: hidden;
        /* margin-bottom: 10px; */
    }

        .mobile-floating-news__swiper .swiper-slide img {
            width: 100%;
            height: auto;
            display: block;
            object-fit: cover;
        }

/* Navigation buttons */
.mobile-floating-news__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border: 1px solid #2970FF;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

/* Show navigation buttons when expanded */
.mobile-floating-news.is-expanded .mobile-floating-news__nav {
    display: flex;
}

.mobile-floating-news__nav:hover {
    background: #C0FFEB;
    border-color: #2970FF;
    transform: translateY(-50%) scale(1.1);
}

.mobile-floating-news__nav:active {
    transform: translateY(-50%) scale(0.95);
}

.mobile-floating-news__nav i {
    color: #2970FF;
    font-size: 16px;
    font-weight: 900;
}

.mobile-floating-news__nav:hover i {
    color: #2970FF;
}

.mobile-floating-news__nav--prev {
    left: 8px;
}

.mobile-floating-news__nav--next {
    right: 8px;
}

.mobile-floating-news__toggle {
    position: relative;
    border-radius: 0 0 5px 5px;
    background: linear-gradient(180deg, #82ABFF 0%, #2970FF 100%);
    box-shadow: 0 0 5px 0 #2970FF inset, 1px 1px 3px 0 rgba(0, 0, 0, 0.40);
    width: 45px;
    height: 45px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: transform 0.2s ease, margin-top 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 10;
    margin-left: auto;
    margin-right: 15px;
}

    .mobile-floating-news__toggle:active {
        transform: scale(0.95);
    }

    .mobile-floating-news__toggle i {
        color: #fff;
        font-size: 20px;
        transition: all 0.3s ease;
    }

.mobile-floating-news__icon-image {
    width: 20px;
    height: 20px;
    object-fit: contain;
    display: block;
    transition: all 0.3s ease;
}

.mobile-floating-news__icon-close {
    display: none;
    color: #fff;
    font-size: 20px;
    transition: all 0.3s ease;
}
/* ========================================
  Mobile Floating News Window
  ======================================== */
@media (max-width: 767px) {
    .mobile-floating-news {
        display: block;
        position: fixed;
        top: 61px;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 1000;
        text-align: center;
    }

    .is-admin .mobile-floating-news {
        top: 97px;
    }
}
