/*
Theme Name: INSCOPE LABS Modern
Theme URI: https://www.semicaps.com
Author: SEMICAPS PTE LTD
Author URI: https://www.semicaps.com
Description: A professional WordPress theme for SEMICAPS - featuring semiconductor chip animations, circuit-inspired design, and advanced fault localization microscope showcases.
Version: 2.2.0
Requires at least: 5.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: inscope-labs-modern
Tags: semiconductor, analysis, laboratory, custom-menu, custom-logo, featured-images, full-width-template, one-column, custom-colors, translation-ready, portfolio, corporate, technology
*/

/* ==========================================================================
   COMPLETE COLOR OVERRIDE - PANGU BLUE & CORAL THEME
   Add this at the VERY TOP of your style.css file
   ========================================================================== */

/* FORCE CORRECT BRAND COLORS - HIGHEST PRIORITY */
html,
html body,
html body *,
:root {
    /* PRIMARY BRAND COLORS */
    --pangu-blue: #00799c !important;          /* Main brand blue */
    --coral-red: #ffb406 !important;           /* CTA coral red */
    --secondary-blue: #073D93 !important;    /* Dark blue for accents */
    --tertiary-blue: #2F5597 !important;     /* Medium blue for accents */
    --outline-color: #ACD9F9 !important;   /* Light blue for outlines */
    
    /* OVERRIDE ALL ORANGE VARIABLES WITH CORRECT COLORS */
    --orange-900: #664802 !important;          /* Very dark yellow */
    --orange-800: #996c04 !important;          /* Darker yellow */
    --orange-700: #cc9005 !important;          /* Dark yellow */
    --orange-600: #ffb406 !important;          /* Medium yellow */
    --orange-500: #ffc338 !important;          /* Base yellow */
    --orange-400: #ffd26a !important;          /* Light yellow */
    --orange-300: #ffe19b !important;          /* Lighter yellow */
    --orange-200: #fff0cd !important;          /* Very light yellow */
    --orange-100: #fff8e6 !important;          /* Pale yellow */
    --orange-50: #ffffff !important;           /* Nearly white yellow */
    
    /* OVERRIDE ALL BLUE VARIABLES WITH PANGU BLUE */
    --blue-900: #004d61 !important;       /* Darkest blue base */
    --blue-800: #195d70 !important;       /* 10% lighter */
    --blue-700: #326e80 !important;       /* 20% lighter */
    --blue-600: #4c7f8f !important;       /* 30% lighter */
    --blue-500: #65909f !important;       /* 40% lighter */
    --blue-400: #7ea1ae !important;       /* 50% lighter */
    --blue-300: #97b2be !important;       /* 60% lighter */
    --blue-200: #b1c3cd !important;       /* 70% lighter */
    --blue-100: #cad4dd !important;       /* 80% lighter */
    --blue-50: #e8f8fd !important;        /* Lightest blue base */
    --electric-blue: #00799c !important;       /* Pangu blue */
    --electric-blue-dark: #004d61 !important;  /* Dark pangu */
    --electric-blue-light: #4FC3F7 !important; /* Light blue (not pink!) */
    
    /* Teal Green Accent Colors */
    --teal-green-900: #3CD6A1 !important;
    --teal-green-800: #4FDAAD !important;
    --teal-green-700: #62DEB9 !important;
    --teal-green-600: #75E2C5 !important;
    --teal-green-500: #3CD6A1 !important;
    --teal-green-400: #9FECD7 !important;
    --teal-green-300: #B2F0E3 !important;
    --teal-green-200: #C5F4EF !important;
    --teal-green-100: #D8F8FB !important;
    --teal-green-50: #F9FBFC !important;
    
    /* STEEL COLORS - Keep as is */
    --steel-900: #0a0a0b !important;
    --steel-800: #1a1a1d !important;
    --steel-700: #2d2d32 !important;
    --steel-600: #404047 !important;
    --steel-500: #54545c !important;
    --steel-400: #6b6b75 !important;
    --steel-300: #85858f !important;
    --steel-200: #a3a3ad !important;
    --steel-100: #c4c4cc !important;
    --steel-50: #e8e8eb !important;
    
    /* CORRECTED GRADIENTS */
    --primary-gradient: linear-gradient(135deg, var(--steel-700) 0%, var(--pangu-blue) 100%) !important;
    --hero-gradient: linear-gradient(135deg,
            var(--pangu-blue) 0%,
            #005a73 30%,
            #004d61 70%,
            var(--pangu-blue) 100%) !important;
    --card-gradient: linear-gradient(145deg, #ffffff 0%, var(--steel-50) 100%) !important;
}

/* ==========================================================================
   FORCE SPECIFIC ELEMENT COLORS
   ========================================================================== */

/* HERO SECTION - Fix title and tagline colors */
.hero-content h1 {
    letter-spacing: 0.10em !important;
    background: linear-gradient(135deg, var(--steel-900) 0%, var(--steel-900) 50%, var(--steel-900) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    color: var(--steel-900) !important; /* Fallback */
    text-shadow: 
        0 0 40px rgba(255, 255, 255, 0.3),
        0 0 30px rgba(255, 255, 255, 0.2),
        0 0 20px rgba(0, 0, 0, 0.1),
        0 0 10px rgba(0, 0, 0, 0.05) !important;
}

.hero-tagline {
    background: linear-gradient(135deg, var(--teal-green-300) 0%, var(--teal-green-400) 50%, var(--teal-green-500) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

/* BUTTONS - Force correct colors */
.hero-btn-primary,
.btn-primary {
    background: var(--secondary-blue) !important;
    color: white !important;
    border-color: var(--outline-color) !important;
}

.hero-btn-primary:hover {
    background: var(--tertiary-blue) !important;
}

.hero-btn-secondary {
    background: rgba(255, 255, 255, 0.1) !important;
    color: white !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
}

/* CIRCUIT ELEMENTS - Force pangu blue */
.circuit-line,
.laser-beam,
.electric-blue,
.laser-beam.blue {
    color: var(--pangu-blue) !important;
    stroke: var(--pangu-blue) !important;
    background: var(--pangu-blue) !important;
}

.laser-beam.brand {
    background: linear-gradient(to bottom, transparent, var(--coral-red), transparent) !important;
    box-shadow: 0 0 10px var(--coral-red), 0 0 20px var(--coral-red) !important;
}

/* NAVIGATION */
.main-navigation a:hover {
    color: var(--pangu-blue) !important;
    background: rgba(0, 121, 156, 0.05) !important;
}

.main-navigation a::before {
    background: var(--pangu-blue) !important;
}

/* BADGES AND CATEGORIES */
.badge-text,
.service-category {
    color: var(--secondary-blue) !important;
}

/* HEADINGS */


h2 {
    color: var(--pangu-blue) !important;
}

h3 {
    color: var(--secondary-blue) !important;
}

/* SERVICE CARDS */
.service-name {
    color: var(--steel-900) !important;
}

.service-card:hover {
    border-color: rgba(0, 121, 156, 0.2) !important;
    box-shadow: 
        0 20px 40px rgba(45, 45, 50, 0.1),
        0 8px 16px rgba(0, 121, 156, 0.15) !important;
}

/* MOLECULAR STRUCTURE ICONS */
.molecular-structure .atom,
.sample-prep .layer,
.sample-prep .process-line {
    background: var(--pangu-blue) !important;
    color: var(--pangu-blue) !important;
}

/* DOTS AND PARTICLES */
.laser-dots .dot,
.particle {
    background: var(--coral-red) !important;
    box-shadow: 0 0 6px var(--coral-red) !important;
}

/* LOGO ANIMATIONS */
.precision-underline {
    background: linear-gradient(90deg, var(--steel-700), var(--pangu-blue), var(--steel-700)) !important;
}

/* QUALITY METRICS */
.cert-badge:hover {
    border-color: rgba(0, 121, 156, 0.3) !important;
}

.progress-fill {
    background: linear-gradient(90deg, var(--pangu-blue) 0%, #005a73 100%) !important;
}

/* FOOTER */
.contact-info a,
.footer-links a:hover {
    color: var(--coral-red) !important;
}

/* BACK TO TOP BUTTON */
#back-to-top {
    background: linear-gradient(135deg, var(--coral-red), var(--orange-900)) !important;
}

#back-to-top:hover {
    background: linear-gradient(135deg, var(--orange-900), var(--orange-500)) !important;
}

/* ==========================================================================
   REMOVE ANY CONFLICTING ORANGE/BLUE STYLING
   ========================================================================== */

/* Override any remaining orange elements */
.orange-500,
.orange-600,
.bg-orange-500,
.bg-orange-600 {
    background-color: var(--coral-red) !important;
    color: var(--coral-red) !important;
}

/* Override any remaining blue elements */
.blue-500,
.blue-600,
.bg-blue-500,
.bg-blue-600 {
    background-color: var(--pangu-blue) !important;
    color: var(--pangu-blue) !important;
}

/* Circuit patterns */
.analysis-grid {
    border: 1px solid rgba(0, 121, 156, 0.4) !important;
    background: 
        linear-gradient(to right, transparent 49%, rgba(0, 121, 156, 0.2) 50%, transparent 51%),
        linear-gradient(to bottom, transparent 49%, rgba(0, 121, 156, 0.2) 50%, transparent 51%) !important;
}

/* Chip elements */
.chip-core::after {
    background: var(--coral-red) !important;
}

/* ==========================================================================
   FALLBACK FOR ANY MISSED ELEMENTS
   ========================================================================== */

/* Catch-all for any elements still showing wrong colors */
[class*="orange"]:not(.steel):not(.gray) {
    color: var(--coral-red) !important;
}

[class*="blue"]:not(.steel):not(.gray) {
    color: var(--pangu-blue) !important;
}

/* ==========================================================================
CSS Custom Properties (Variables)
   ========================================================================== */


   :root {
    /* Industrial Steel Palette - Keep as is */
    --steel-900: #0a0a0b;
    --steel-800: #1a1a1d;
    --steel-700: #2d2d32;
    --steel-600: #404047;
    --steel-500: #54545c;
    --steel-400: #6b6b75;
    --steel-300: #85858f;
    --steel-200: #a3a3ad;
    --steel-100: #c4c4cc;
    --steel-50: #e8e8eb;

    /* OVERRIDE ALL ORANGE VARIABLES WITH CORRECT COLORS */
    --orange-900: #664802;          /* Very dark yellow */
    --orange-800: #996c04;          /* Darker yellow */
    --orange-700: #cc9005;          /* Dark yellow */
    --orange-600: #ffb406;          /* Medium yellow */
    --orange-500: #ffc338;          /* Base yellow */
    --orange-400: #ffd26a;          /* Light yellow */
    --orange-300: #ffe19b;          /* Lighter yellow */
    --orange-200: #fff0cd;          /* Very light yellow */
    --orange-100: #fff8e6;          /* Pale yellow */
    --orange-50: #ffffff;           /* Nearly white yellow */

    /* Blue System for Technical Elements */
    --blue-900: #004d61;           /* Very dark blue */
    --blue-800: #00626b;           /* Dark blue */
    --blue-700: #007080;           /* Medium blue */
    --blue-600: #00799c;           /* PRIMARY BRAND BLUE */
    --blue-500: #0099CC;           /* Lighter blue */
    --blue-400: #33B5E5;           /* Light blue */
    --blue-300: #87CEEB;           /* Sky blue */
    --blue-200: #B3E5FC;           /* Very light blue */
    --blue-100: #E1F5FE;           /* Pale blue */

    /* Electric Blue for Circuits (using blue system) */
    --electric-blue: var(--blue-600);        /* Primary brand blue */
    --electric-blue-dark: var(--blue-800);   /* Darker blue */
    --electric-blue-light: var(--blue-400);  /* Light blue */

    /* Updated Gradients */
    --primary-gradient: linear-gradient(135deg, var(--steel-700) 0%, var(--blue-600) 100%);
    --hero-gradient: linear-gradient(135deg,
            var(--pangu-blue) 0%,
            #005a73 30%,
            #004d61 70%,
            var(--pangu-blue) 100%);
    --card-gradient: linear-gradient(145deg, #ffffff 0%, var(--steel-50) 100%);

    /* Rest of variables remain the same... */
    --font-family-primary: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
    --font-family-mono: 'JetBrains Mono', 'Fira Code', Consolas, Monaco, monospace;


    /* Spacing */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 1.5rem;
    --spacing-lg: 2rem;
    --spacing-xl: 3rem;
    --spacing-2xl: 4rem;
    --spacing-3xl: 6rem;

    /* Border Radius */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;

    /* Shadows */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);

    /* Animation Timing */
    --duration-fast: 0.15s;
    --duration-normal: 0.3s;
    --duration-slow: 0.5s;
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
}

/* ==========================================================================
Base Styles
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    font-family: var(--font-family-primary);
    line-height: 1.6;
    color: var(--steel-800);
    background-color: #ffffff;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================================
   Typography
   ========================================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 0.5rem;
    color: var(--blue-50);
}

h1 {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 700;
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

h2 {
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: var(--pangu-blue);
}

h3 {
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: var(--secondary-blue);
}

h4 {
    font-size: 1.0rem;
    color: var(--pangu-blue);
    line-height: 1.5;
}

h5 {
    font-size: 0.875rem;
    color: var(--blue-50);
}

p {
    margin-bottom: var(--spacing-md);
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--steel-600);
}

.lead {
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--steel-700);
}

.mono {
    font-family: var(--font-family-mono);
    font-size: 0.9rem;
    background: var(--steel-100);
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-sm);
    color: var(--electric-blue-light);
}

/* ==========================================================================
   Layout Components
   ========================================================================== */

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0.1rem;
    width: 100%;
}

.section {
    padding: 4em 0;
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

/* Main Content Alignment */
.site-content {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    overflow-x: hidden;
}

.grid {
    display: grid;
    gap: var(--spacing-xl);
}

.grid-2 {
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

.grid-3 {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.flex {
    display: flex;
    gap: var(--spacing-lg);
}

.flex-center {
    align-items: center;
    justify-content: center;
}

.flex-between {
    align-items: center;
    justify-content: space-between;
}

/* ==========================================================================
   Header & Navigation
   ========================================================================== */

.site-header {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.98) 100%);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(0, 121, 156, 0.1);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    transition: all var(--duration-normal) var(--ease-out);
    box-shadow: 0 1px 3px rgba(0, 121, 156, 0.05);
    overflow: hidden;
}

.site-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(circle at 15% 50%, rgba(0, 121, 156, 0.06) 0%, transparent 40%),
        radial-gradient(circle at 85% 50%, rgba(255, 90, 95, 0.08) 0%, transparent 40%),
        linear-gradient(90deg, transparent 0%, rgba(0, 121, 156, 0.02) 50%, transparent 100%);
    animation: precision-header-flow 8s ease-in-out infinite;
    pointer-events: none;
    overflow: hidden;
}

.site-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: -100%;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 121, 156, 0.6), rgba(255, 187, 0, 0.8), rgba(0, 121, 156, 0.6), transparent);
    animation: precision-laser-sweep 10s linear infinite;
    pointer-events: none;
    overflow: visible;
}

.site-header.scrolled {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 1) 100%);
    box-shadow: 0 4px 20px rgba(0, 121, 156, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(0, 121, 156, 0.2);
}

.header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.2rem 0 0 0;
    min-height: 30px;
    gap: var(--spacing-lg);
    max-width: 100%;                 /* contain header elements */
    margin: 0 auto;                    /* center horizontally */
    padding-inline: var(--spacing-xs); /* ensure breathing room */
    width: 100%;                       /* prevent overflow */
    box-sizing: border-box; 
}

.site-logo {
    display: flex;
    align-items: left;
    text-decoration: none;
    margin-left: 0%;
    position: relative;
    padding: var(--spacing-sm);
    border-radius: var(--radius-lg);
    transition: all var(--duration-normal) var(--ease-out);
}

.logo-container {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.logo-image {
    height: auto;
    width: auto;
    max-width: 220px;
    max-height: 70px;
    display: block;
    position: relative;
    z-index: 2;
    transition: all var(--duration-normal) var(--ease-out);
    padding: 8px 4px;
    object-fit: contain;
}

.company-tagline {
    font-size: 12px;
    color: #666;
    margin-top: 2px;
    text-align: center;
    font-family: var(--font-primary, Arial), sans-serif;
    line-height: 1.2;
    position: relative;
    z-index: 2;
}

.site-logo:hover .logo-image {
    transform: scale(1.05);
}

.precision-sparks {
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    pointer-events: none;
    z-index: 1;
    background: radial-gradient(circle, transparent 70%, rgba(0, 121, 156, 0.1) 100%);
    border-radius: 8px;
    opacity: 0;
    transition: opacity 0.3s ease-out;
}



.precision-underline {
    height: 2px;
    width: 0;
    background: linear-gradient(90deg, var(--steel-700), #00799c, var(--steel-700));
    background-size: 200% 100%;
    transition: width 0.6s ease-out;
    border-radius: 1px;
    animation: welding-line 3s infinite linear;
}

.site-logo:hover .precision-underline {
    width: 100%;
}

.main-navigation ul {
    display: flex;
    list-style: none;
    gap: 0.75rem;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    margin:0;
}

.main-navigation {
    display: flex;
    align-items: center;
}

.main-navigation a {
    text-decoration: none;
    color: var(--steel-700);
    font-weight: 900;
    padding: 0.5rem 0.75rem;
    border-radius: var(--radius-lg);
    transition: all var(--duration-normal) var(--ease-out);
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    font-size: 1.0rem;
    letter-spacing: 0.10em;
}

.main-navigation .menu li:last-child a {
    color: var(--secondary-blue) !important;
    font-size: 1.0rem;
    font-weight: 900;
    letter-spacing: 0.10em;
}

.main-navigation a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--tertiary-blue);
    transition: width 0.3s ease-out;
}

.main-navigation a:hover {
    color: var(--tertiary-blue);
    background: rgba(0, 121, 156, 0.05);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 121, 156, 0.1);
}

.main-navigation a:hover::before {
    width: 100%;
}

/* ==========================================================================
   Enhanced Hero Section with Semiconductor Chip Background
   ========================================================================== */

.hero-section {
    background: radial-gradient(circle, var(--electric-blue-light) 0%, var(--electric-blue-light) 30%, var(--electric-blue-light) 70%, var(--electric-blue-light) 100%);
    color: white;
    min-height: 70vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding: 2% 0;
}

/* Semiconductor Chip Background */
.semiconductor-background {
    position: absolute;
    top: 50%;
    right: 15%;
    transform: translateY(-50%) rotate(-15deg);
    width: 600px;
    height: 400px;
    z-index: 1;
    opacity: 0.3;
    perspective: 1000px;
}

.chip-container {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    animation: chipFloat 8s ease-in-out infinite;
}

.chip-base {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #1a2332 0%, #2a3441 100%);
    border-radius: 12px;
    border: 2px solid rgba(0, 121, 156, 0.3);
    box-shadow: 
        0 0 30px rgba(0, 121, 156, 0.2),
        inset 0 0 20px rgba(0, 121, 156, 0.1);
    overflow: hidden;
}

/* Chip Image */
.chip-image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    height: 90%;
    object-fit: cover;
    opacity: 0.8;
    filter: brightness(1.1) contrast(1.2);
    border-radius: 8px;
    z-index: 1;
    transition: all 0.3s ease;
}

.chip-container:hover .chip-image {
    opacity: 0.9;
    filter: brightness(1.2) contrast(1.3) saturate(1.1);
    transform: translate(-50%, -50%) scale(1.02);
}

/* Circuit Patterns on Chip */
.circuit-pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: 
        repeating-linear-gradient(0deg, transparent, transparent 10px, rgba(0, 121, 156, 0.15) 10px, rgba(0, 121, 156, 0.15) 11px),
        repeating-linear-gradient(90deg, transparent, transparent 10px, rgba(0, 121, 156, 0.15) 10px, rgba(0, 121, 156, 0.15) 11px);
    border-radius: 12px;
    z-index: 2;
}

/* Analysis Laser Beams */
.laser-beam {
    position: absolute;
    width: 2px;
    background: linear-gradient(to bottom, transparent, var(--electric-blue), transparent);
    box-shadow: 0 0 10px var(--electric-blue), 0 0 20px var(--electric-blue);
    border-radius: 1px;
    animation: laserScan 4s ease-in-out infinite;
}

.laser-beam.blue {
    left: 30%;
    top: -50px;
    height: 200px;
    animation-delay: 0s;
}

.laser-beam.brand {
    background: linear-gradient(to bottom, transparent, var(--electric-blue-light), transparent);
    box-shadow: 0 0 10px var(--electric-blue-light), 0 0 20px var(--electric-blue-light);
    right: 25%;
    top: -50px;
    height: 200px;
    animation-delay: 2s;
}

/* Analysis Grid Overlay */
.analysis-grid {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    height: 80%;
    border: 1px solid rgba(0, 121, 156, 0.4);
    background: 
        linear-gradient(to right, transparent 49%, rgba(0, 121, 156, 0.2) 50%, transparent 51%),
        linear-gradient(to bottom, transparent 49%, rgba(0, 121, 156, 0.2) 50%, transparent 51%);
    background-size: 20px 20px;
    animation: gridPulse 3s ease-in-out infinite;
    z-index: 3;
}

/* Circuit Trace Animations */
.circuit-traces {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 12px;
    z-index: 2;
}

.trace {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--electric-blue-light), transparent);
    animation: traceFlow 3s linear infinite;
}

.trace:nth-child(1) {
    top: 25%;
    width: 60%;
    left: 20%;
    animation-delay: 0s;
}

.trace:nth-child(2) {
    top: 50%;
    width: 40%;
    right: 15%;
    animation-delay: 1s;
}

.trace:nth-child(3) {
    top: 75%;
    width: 55%;
    left: 25%;
    animation-delay: 2s;
}

/* Enhanced Circuit Background */
.circuit-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.2;
    z-index: 1;
}

.circuit-line {
    fill: none;
    stroke: var(--electric-blue);
    stroke-width: 1;
    stroke-dasharray: 5;
    stroke-dashoffset: 10;
    filter: drop-shadow(0 0 3px var(--electric-blue));
    animation: circuitFlow 4s ease-in-out infinite;
}

/* Floating Particles */
.particles-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.particle {
    position: absolute;
    width: 3px;
    height: 3px;
    background: var(--electric-blue-light);
    border-radius: 50%;
    opacity: 0;
    animation: particleFloat 6s linear infinite;
    box-shadow: 0 0 6px var(--electric-blue-light);
}

/* Hero Content */
.hero-content {
    position: relative;
    z-index: 5;
    max-width: 600px;
    animation: contentFadeIn 2s ease-out;
}

.hero-content h1 {
    font-size: 4rem;
    font-weight: bolder;
    letter-spacing: 0.1em;
    background: linear-gradient(135deg, var(--steel-900) 0%, var(--steel-900) 50%, var(--steel-900) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    color: var(--steel-900) !important; /* Fallback */
    margin-bottom: 0.5rem;
    text-shadow: 
        0 0 40px rgba(255, 255, 255, 0.3),
        0 0 30px rgba(255, 255, 255, 0.2),
        0 0 20px rgba(0, 0, 0, 0.1),
        0 0 10px var(--teal-green-500);
    animation: titleGlow 3s ease-in-out infinite alternate;
}

.hero-tagline {
    font-size: clamp(2.5rem, 5vw, 3rem);
    font-weight: 700;
    margin-bottom: var(--spacing-lg);
    background: radial-gradient(circle, var(--teal-green-300) 0%, var(--teal-green-400) 50%, var(--teal-green-300) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    color: var(--coral-red) !important; /* Fallback */
    text-shadow:
        0 3px 6px var(--steel-900) 10%,
        0 6px 12px rgba(201, 201, 203, 0.3),
        0 12px 30px rgba(146, 146, 149, 0.5);
    animation: taglineFlicker 4s ease-in-out infinite;
}

.hero-description {
    font-size: 1.3rem;
    line-height: 1.7;
    margin-bottom: var(--spacing-xl);
    color: rgba(255, 255, 255, 0.95);
    text-shadow:
        0 2px 4px rgba(0, 0, 0, 0.7),
        0 4px 8px rgba(0, 0, 0, 0.5);
    text-align: left;
}

.hero-description p {
    margin-bottom: 1rem;
    color: rgba(255, 255, 255, 0.95);
}

/* Hero bullet list styling */
.hero-bullet-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.hero-bullet-list li {
    font-size: 1.3rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.95);
    position: relative;
    padding-left: 1.5rem;
    text-align: left;
    text-shadow:
        0 2px 4px rgba(0, 0, 0, 0.7),
        0 4px 8px rgba(0, 0, 0, 0.5);
}

.hero-bullet-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    top: 0;
    width: 1rem;
    height: 1.7em;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 600;
    font-size: 1.2em;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    line-height: 1.7;
    text-shadow:
        0 2px 4px rgba(0, 0, 0, 0.7),
        0 4px 8px rgba(0, 0, 0, 0.5);
}

/* Milestone bullet list styling */
.milestone-bullet-list {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.milestone-bullet-list li {
    font-size: 0.875rem;
    line-height: 1.6;
    color: var(--steel-600);
    position: relative;
    padding-left: 1.25rem;
    text-align: left;
}

.milestone-bullet-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    top: 0;
    width: 0.875rem;
    height: 1.6em;
    color: var(--teal-green-500);
    font-weight: 600;
    font-size: 1em;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    line-height: 1.6;
}

.hero-actions {
    display: flex;
    gap: var(--spacing-lg);
    justify-content: flex-start;
    flex-wrap: wrap;
}

/* Enhanced Hero Buttons */
.hero-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1rem;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    overflow: hidden;
    cursor: pointer;
    backdrop-filter: blur(10px);
    border: 2px solid transparent;
}

.hero-btn-primary {
    background: var(--secondary-blue);
    color: white;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    box-shadow:
        0 8px 16px rgba(90, 228, 255, 0.3),
        0 4px 8px rgba(0, 0, 0, 0.2);
}

.hero-btn-secondary {
    background: rgba(255, 255, 255, 0.1);
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.3);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    box-shadow:
        0 8px 16px rgba(255, 255, 255, 0.1),
        0 4px 8px rgba(0, 0, 0, 0.2);
}

.btn-text {
    position: relative;
    z-index: 3;
    transition: transform 0.3s ease;
}

.btn-glow {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.2) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.btn-spark {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    background: var(--orange-300);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    opacity: 0;
    transition: all 0.3s ease;
    pointer-events: none;
    box-shadow:
        0 0 12px var(--outline-color),
        0 0 24px var(--outline-color);
}

.hero-btn:hover .btn-text {
    transform: scale(1.05);
}

.hero-btn:hover .btn-glow {
    opacity: 1;
}

.hero-btn:hover .btn-spark {
    opacity: 1;
    transform: translate(-50%, -50%) scale(3);
    animation: spark-pulse 0.6s ease-out;
}

.hero-btn:hover {
    transform: translateY(-3px);
}

.hero-btn-primary:hover {
    background: var(--secondary-blue);
    box-shadow:
        0 12px 24px rgba(90, 225, 255, 0.4),
        0 6px 12px rgba(0, 0, 0, 0.3);
}

.hero-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow:
        0 12px 24px rgba(255, 255, 255, 0.2),
        0 6px 12px rgba(0, 0, 0, 0.3);
}

/* ==========================================================================
   Metallic Section Divider
   ========================================================================== */

.section-divider {
    position: relative;
    z-index: 3;
}

.metallic-divider {
    background: linear-gradient(180deg, 
        #f1f3f4 0%, 
        #e8eaed 20%, 
        #dee1e6 50%, 
        #e8eaed 80%, 
        #fefefe 100%
    );
    padding: 3rem 0;
    position: relative;
    overflow: hidden;
}

.metallic-divider::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        #bdc1c6 20%, 
        #9aa0a6 50%, 
        #bdc1c6 80%, 
        transparent 100%
    );
}

.metallic-divider::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        #bdc1c6 20%, 
        #9aa0a6 50%, 
        #bdc1c6 80%, 
        transparent 100%
    );
}

.divider-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    position: relative;
    z-index: 2;
}

.metallic-line {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 800px;
    position: relative;
}

.line-segment {
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        #9aa0a6 10%, 
        #80868b 30%, 
        #5f6368 50%, 
        #80868b 70%, 
        #9aa0a6 90%, 
        transparent 100%
    );
    position: relative;
    overflow: hidden;
}

.line-segment::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(0, 121, 156, 0.8) 50%, 
        transparent 100%
    );
    animation: metallic-sweep 4s ease-in-out infinite;
}

.line-segment:nth-child(3)::after {
    animation-delay: 2s;
}

.divider-icon {
    margin: 0 2rem;
    position: relative;
    z-index: 3;
}

.metallic-chip {
    width: 60px;
    height: 60px;
    border-radius: 12px;
    background: linear-gradient(135deg, 
        #f8f9fa 0%, 
        #e8eaed 25%, 
        #bdc1c6 50%, 
        #9aa0a6 75%, 
        #80868b 100%
    );
    border: 2px solid #5f6368;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    box-shadow: 
        inset 0 2px 4px rgba(255, 255, 255, 0.3),
        inset 0 -2px 4px rgba(0, 0, 0, 0.2),
        0 4px 8px rgba(0, 0, 0, 0.1);
    animation: metallic-pulse 3s ease-in-out infinite;
}

.metallic-chip::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255, 255, 255, 0.4) 50%, 
        transparent 100%
    );
    animation: metallic-shine 3s ease-in-out infinite;
}

.chip-core {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    background: linear-gradient(135deg, 
        #5f6368 0%, 
        #3c4043 50%, 
        #202124 100%
    );
    border: 1px solid #80868b;
    position: relative;
    z-index: 2;
}

.chip-core::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 4px;
    height: 4px;
    background: var(--orange-500);
    border-radius: 50%;
    animation: core-pulse 2s ease-in-out infinite;
}

.chip-circuits {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.circuit-trace {
    position: absolute;
    background: linear-gradient(90deg, 
        #80868b 0%, 
        #9aa0a6 50%, 
        #80868b 100%
    );
    border-radius: 0.5px;
}

.circuit-trace:nth-child(1) {
    top: 15px;
    left: 10px;
    width: 15px;
    height: 1px;
}

.circuit-trace:nth-child(2) {
    top: 25px;
    right: 10px;
    width: 12px;
    height: 1px;
}

.circuit-trace:nth-child(3) {
    bottom: 20px;
    left: 8px;
    width: 18px;
    height: 1px;
}

.circuit-trace:nth-child(4) {
    top: 35px;
    left: 15px;
    width: 1px;
    height: 10px;
}

.divider-text {
    position: relative;
}

.divider-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #5f6368;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    background: linear-gradient(135deg, 
        #5f6368 0%, 
        #80868b 50%, 
        #5f6368 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
}

.divider-label::before,
.divider-label::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 40px;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        #9aa0a6 50%, 
        transparent 100%
    );
}

.divider-label::before {
    right: 100%;
    margin-right: 1rem;
}

.divider-label::after {
    left: 100%;
    margin-left: 1rem;
}

/* Metallic Animations */
@keyframes metallic-sweep {
    0%, 100% { left: -100%; }
    50% { left: 100%; }
}

@keyframes metallic-pulse {
    0%, 100% { transform: scale(1); box-shadow: 
        inset 0 2px 4px rgba(255, 255, 255, 0.3),
        inset 0 -2px 4px rgba(0, 0, 0, 0.2),
        0 4px 8px rgba(0, 0, 0, 0.1); }
    50% { transform: scale(1.05); box-shadow: 
        inset 0 2px 6px rgba(255, 255, 255, 0.4),
        inset 0 -2px 6px rgba(0, 0, 0, 0.3),
        0 6px 12px rgba(0, 0, 0, 0.15); }
}

@keyframes metallic-shine {
    0%, 100% { left: -100%; opacity: 0; }
    50% { left: 100%; opacity: 1; }
}

@keyframes core-pulse {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.2); }
}

/* ==========================================================================
   Services Section - Modern Card-Based Design
   ========================================================================== */

.services-section {
    background: linear-gradient(180deg, #fefefe 0%, #ffffff 40%, #f9fafb 100%);
    padding: 2% 0;
    padding-bottom: 0% 0 !important;
    position: relative;
    overflow: hidden;
}

.services-section .container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Modern Services Header */
.services-header {
    text-align: center;
    margin-bottom: 5rem;
    position: relative;
    z-index: 2;
}

.services-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: rgba(0, 121, 156, 0.05);
    border: 1px solid rgba(0, 121, 156, 0.15);
    border-radius: 50px;
    padding: 0.75rem 1.5rem;
    margin-bottom: 2rem;
    backdrop-filter: blur(10px);
}

.badge-icon {
    font-size: 1.25rem;
    filter: grayscale(1) brightness(0.5);
}

.badge-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--secondary-blue);
    letter-spacing: 0.05em;
}

.services-title {
    margin: 0;
}

.services-title .title-main {
    display: block;
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    font-weight: 700;
    color: var(--steel-900);
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
    background: var(--pangu-blue);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.services-title .title-tagline {
    display: block;
    font-size: 0.95rem;
    font-weight: 400;
    color: var(--steel-600);
    letter-spacing: 0.05em;
}

/* Services Grid */
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.services-cta {
    text-align: center;
    margin: calc(var(--spacing-xl) * 1.5) auto;
    padding: var(--spacing-xl) 0;
}


/* Large Desktop - Ensure cards don't get too wide */
@media (min-width: 1400px) {
    .services-grid {
        grid-template-columns: repeat(3, minmax(400px, 450px));
        justify-content: center;
    }
}

/* Desktop - Maintain 3 columns with flexible sizing */
@media (max-width: 1200px) {
    .services-grid {
        grid-template-columns: repeat(3, minmax(280px, 1fr));
        gap: 1.5rem;
    }
}

/* Tablet - 2 columns with centered third card */
@media (max-width: 992px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    
    /* Center the third card when it wraps */
    .service-card:nth-child(3) {
        grid-column: 1 / -1;
        max-width: 450px;
        margin: 0 auto;
    }
}

/* Small Tablet - Ensure cards still look good */
@media (max-width: 850px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    
    .service-card:nth-child(3) {
        max-width: 400px;
    }
}

/* Service Cards */
.service-card {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
    border-radius: 24px;
    padding: 2rem;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    transform: translateY(0);
}

.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-100) 30%, var(--teal-green-500) 70%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.service-card:hover {
    transform: translateY(-8px);
    border-color: rgba(0, 121, 156, 0.2);
    box-shadow: 
        0 20px 40px rgba(45, 45, 50, 0.1),
        0 8px 16px rgba(0, 121, 156, 0.15);
}

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

/* Card Glow Effect */
.card-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(0, 121, 156, 0.1) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
}

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

/* Card Header */
.card-header {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.service-icon {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.1) 0%, rgba(255, 138, 142, 0.1) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.icon-graphic {
    position: relative;
    z-index: 2;
}

/* Icon Graphics */
.laser-dots {
    display: flex;
    gap: 4px;
}

.laser-dots .dot {
    width: 6px;
    height: 6px;
    background: var(--teal-green-500);
    border-radius: 50%;
    animation: laser-pulse 2s ease-in-out infinite;
}

.laser-dots .dot:nth-child(2) {
    animation-delay: 0.3s;
}

.laser-dots .dot:nth-child(3) {
    animation-delay: 0.6s;
}

.molecular-structure {
    position: relative;
    width: 24px;
    height: 24px;
}

.molecular-structure .atom {
    position: absolute;
    width: 6px;
    height: 6px;
    background: var(--teal-green-500);
    border-radius: 50%;
    animation: atom-orbit 3s ease-in-out infinite;
}

.molecular-structure .atom:nth-child(1) {
    top: 0;
    left: 9px;
}

.molecular-structure .atom:nth-child(2) {
    bottom: 0;
    left: 0;
    animation-delay: 1s;
}

.molecular-structure .atom:nth-child(3) {
    bottom: 0;
    right: 0;
    animation-delay: 2s;
}

.molecular-structure .bond {
    position: absolute;
    width: 2px;
    height: 12px;
    background: var(--steel-400);
    transform-origin: center;
}

.molecular-structure .bond:nth-child(4) {
    top: 6px;
    left: 6px;
    transform: rotate(45deg);
}

.molecular-structure .bond:nth-child(5) {
    top: 6px;
    right: 6px;
    transform: rotate(-45deg);
}

.sample-prep {
    position: relative;
    width: 24px;
    height: 20px;
}

.sample-prep .layer {
    position: absolute;
    width: 100%;
    height: 2px;
    background: var(--teal-green-500);
    border-radius: 1px;
}

.sample-prep .layer:nth-child(1) {
    top: 0;
    opacity: 0.8;
}

.sample-prep .layer:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.6;
}

.sample-prep .layer:nth-child(3) {
    bottom: 0;
    opacity: 0.4;
}

.sample-prep .process-line {
    position: absolute;
    width: 1px;
    height: 100%;
    background: var(--teal-green-500);
    right: 4px;
    animation: process-scan 2s ease-in-out infinite;
}

/* Service Meta */
.service-meta {
    flex: 1;
}

.service-category {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--teal-green-500);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
    display: block;
}

.service-name {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--steel-900);
    margin: 0;
    line-height: 1.3;
    white-space: nowrap;
}

/* Card Content */
.card-content {
    margin-bottom: 1.5rem;
}

.service-description {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--steel-600);
    margin-bottom: 1.5rem;
}

.service-features {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.feature-group {
    flex: 1;
}

.feature-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--orange-600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

.feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.feature-list li {
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--steel-700);
    position: relative;
    padding-left: 1rem;
}

.feature-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 4px;
    height: 4px;
    background: var(--teal-green-500);
    border-radius: 50%;
    transform: translateY(-50%);
}

/* ==========================================================================
   Bullet List Styling - Consistent Alignment for All Bullet Points
   ========================================================================== */

/* Main bullet list styling for about-us page */
.bullet-list {
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.bullet-list li {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--steel-600);
    position: relative;
    padding-left: 1.5rem;
    text-align: left;
}

.bullet-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    top: 0;
    width: 1rem;
    height: 1.6em;
    color: var(--teal-green-500);
    font-weight: 600;
    font-size: 1.1em;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    line-height: 1.6;
}

/* General bullet point styling for any text with bullet symbols */
.content-description,
.story-detail,
.story-lead {
    text-align: left;
}

/* Responsive adjustments for bullet lists */
@media (max-width: 768px) {
    .bullet-list li {
        font-size: 0.9rem;
        padding-left: 1.25rem;
    }
    
    .bullet-list li::before {
        width: 0.875rem;
        font-size: 1rem;
    }
    
    .hero-bullet-list li {
        font-size: 1.1rem;
        padding-left: 1.25rem;
    }
    
    .hero-bullet-list li::before {
        width: 0.875rem;
        font-size: 1.1em;
    }
    
    .milestone-bullet-list li {
        font-size: 0.8rem;
        padding-left: 1rem;
    }
    
    .milestone-bullet-list li::before {
        width: 0.75rem;
        font-size: 0.9em;
    }
}

@media (max-width: 480px) {
    .bullet-list li {
        font-size: 0.85rem;
        padding-left: 1rem;
        gap: 0.5rem;
    }
    
    .bullet-list li::before {
        width: 0.75rem;
        font-size: 0.9rem;
    }
    
    .hero-bullet-list li {
        font-size: 1rem;
        padding-left: 1rem;
    }
    
    .hero-bullet-list li::before {
        width: 0.75rem;
        font-size: 1rem;
    }
    
    .milestone-bullet-list li {
        font-size: 0.75rem;
        padding-left: 0.875rem;
    }
    
    .milestone-bullet-list li::before {
        width: 0.625rem;
        font-size: 0.8em;
    }
}

/* Tech Specs */
.tech-specs {
    background: rgba(0, 121, 156, 0.03);
    border: 1px solid rgba(0, 121, 156, 0.1);
    border-radius: 12px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.spec-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.25rem 0;
}

.spec-label {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--steel-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.spec-value {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--steel-800);
}

/* Card Footer */
.card-footer {
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(45, 45, 50, 0.05);
    border-radius: 1px;
    overflow: hidden;
}

.service-pulse {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-500) 50%, transparent 100%);
    animation: service-pulse 3s ease-in-out infinite;
}

/* Services Ambiance */
.services-ambiance {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1;
}

.analysis-beam {
    position: absolute;
    top: 20%;
    left: 0;
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-500) 50%, transparent 100%);
    opacity: 0.3;
    animation: beam-scan 6s ease-in-out infinite;
}

.data-stream {
    position: absolute;
    top: 60%;
    right: 0;
    width: 150px;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-500) 50%, transparent 100%);
    opacity: 0.4;
    animation: data-flow 4s ease-in-out infinite;
}

.precision-grid {
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 100px;
    background: 
        linear-gradient(90deg, transparent 49%, rgba(0, 121, 156, 0.1) 50%, transparent 51%),
        linear-gradient(0deg, transparent 49%, rgba(0, 121, 156, 0.1) 50%, transparent 51%);
    background-size: 20px 20px;
    opacity: 0.3;
    animation: grid-pulse 5s ease-in-out infinite;
}

/* Animations */
@keyframes laser-pulse {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.2); }
}

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

@keyframes process-scan {
    0%, 100% { opacity: 0.3; transform: scaleY(1); }
    50% { opacity: 1; transform: scaleY(1.5); }
}

@keyframes service-pulse {
    0% { left: -100%; }
    50% { left: 100%; }
    100% { left: 100%; }
}

@keyframes beam-scan {
    0%, 100% { opacity: 0.3; transform: translateX(0); }
    50% { opacity: 0.6; transform: translateX(100px); }
}

@keyframes data-flow {
    0%, 100% { opacity: 0.4; transform: translateX(0); }
    50% { opacity: 0.7; transform: translateX(-100px); }
}

@keyframes grid-pulse {
    0%, 100% { opacity: 0.3; transform: translateX(-50%) scale(1); }
    50% { opacity: 0.5; transform: translateX(-50%) scale(1.1); }
}

/* ==========================================================================
   Products Category Grid - New 3-Box Layout
   ========================================================================== */

.products-category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

/* Category Box Containers */
.category-box {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    transform: translateY(0);
    min-height: 500px;
    display: flex;
    flex-direction: column;
}

.category-box:hover {
    transform: translateY(-12px);
    border-color: rgba(0, 121, 156, 0.2);
    box-shadow: 
        0 25px 50px rgba(45, 45, 50, 0.12),
        0 12px 20px rgba(0, 121, 156, 0.15);
}

.category-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-500) 30%, var(--teal-green-500) 70%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.category-box:hover::before {
    opacity: 1;
}

/* Category Link */
.category-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 2rem;
    position: relative;
}

.category-link:hover {
    color: inherit;
}

/* Category Header */
.category-header {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.category-icon {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.1) 0%, rgba(255, 138, 142, 0.1) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.category-box:hover .category-icon {
    transform: scale(1.05);
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.15) 0%, rgba(255, 138, 142, 0.15) 100%);
}

.icon-graphic {
    position: relative;
    z-index: 2;
    width: 60px;
    height: 60px;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
}

.category-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s ease;
    filter: brightness(1.1) contrast(1.1);
}

.category-box:hover .category-image {
    transform: scale(1.1);
    filter: brightness(1.2) contrast(1.2);
}

/* Event Placeholder Icons */
.event-image-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--pangu-blue), var(--teal-green-500));
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    object-fit: fill;
}

.placeholder-icon {
    font-size: 2.5rem;
    opacity: 0.9;
    transition: all 0.3s ease;
}

.category-box:hover .placeholder-icon {
    transform: scale(1.1);
    opacity: 1;
}

.icon-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 121, 156, 0.5));
    padding: 0.5rem;
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.category-box:hover .icon-overlay {
    transform: translateY(0);
}

.overlay-text {
    color: white;
    font-weight: 100;
    font-size: 0.5rem !important;
    letter-spacing: -1.5em;
    text-align: center;
}

/* Category Meta */
.category-meta {
    flex: 1;
}

.category-badge {
    display: inline-block;
    background: rgba(0, 122, 156, 0);
    color: var(--teal-green-500);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.0rem 0.0rem;
    border-radius: 12px;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.category-name {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--pangu-blue) !important;
    margin: 0 0 0.5rem 0;
    line-height: 1.2;
}

.category-subtitle {
    font-size: 0.875rem;
    color: var(--steel-600);
    margin: 0;
    line-height: 1.4;
}

/* Category Content */
.category-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.category-description {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--steel-600);
    margin: 0;
}

/* Category Highlights */
.category-highlights {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.highlight-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(45, 45, 50, 0.06);
}

.highlight-item:last-child {
    border-bottom: none;
}

.highlight-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--steel-800);
    min-width: 120px;
}

.highlight-value {
    font-size: 0.8rem;
    color: var(--steel-600);
    text-align: left;
}

/* Category Features */
.category-features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: auto;
}

.feature-tag {
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.1) 0%, rgba(0, 121, 156, 0.05) 100%);
    color: var(--electric-blue);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    border: 1px solid rgba(0, 121, 156, 0.2);
    transition: all 0.3s ease;
}

.category-box:hover .feature-tag {
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.15) 0%, rgba(0, 121, 156, 0.1) 100%);
    border-color: rgba(0, 121, 156, 0.3);
    transform: translateY(-1px);
}

/* Category Footer */
.category-footer {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(45, 45, 50, 0.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.category-cta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--teal-green-500);
    font-weight: 600;
    font-size: 0.875rem;
    transition: all 0.3s ease;
}

.category-box:hover .category-cta {
    color: var(--teal-green-500);
    transform: translateX(4px);
}

.cta-text {
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.cta-arrow {
    font-size: 1.25rem;
    transition: all 0.3s ease;
}

.category-box:hover .cta-arrow {
    transform: translateX(4px);
}

/* Category Pulse Animation */
.category-pulse {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: rgba(45, 45, 50, 0.05);
    overflow: hidden;
}

.category-pulse::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-500) 50%, transparent 100%);
    animation: category-pulse-flow 3s ease-in-out infinite;
}

/* Responsive Design for Category Grid */
@media (max-width: 1200px) {
    .products-category-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }
    
    .category-box {
        min-height: 480px;
    }
    
    .category-link {
        padding: 1.5rem;
    }
    
    .category-icon {
        width: 70px;
        height: 70px;
    }
    
    .icon-graphic {
        width: 50px;
        height: 50px;
    }
}

@media (max-width: 992px) {
    .products-category-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    
    /* Center the third box when it wraps */
    .category-box:nth-child(3) {
        grid-column: 1 / -1;
        max-width: 500px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .products-category-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 0 1rem;
    }
    
    /* Reset third box centering on mobile */
    .category-box:nth-child(3) {
        grid-column: auto;
        max-width: none;
        margin: 0;
    }
    
    .category-box {
        min-height: 450px;
    }
    
    .category-header {
        gap: 1rem;
    }
    
    .category-icon {
        width: 60px;
        height: 60px;
    }
    
    .icon-graphic {
        width: 40px;
        height: 40px;
    }
    
    .category-name {
        font-size: 1.25rem;
    }
    
    .category-highlights {
        gap: 0.5rem;
    }
    
    .highlight-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }
    
    .highlight-label {
        min-width: auto;
    }
    
    .highlight-value {
        text-align: left;
    }
}

@media (max-width: 480px) {
    .category-link {
        padding: 1.25rem;
    }
    
    .category-box {
        min-height: 420px;
    }
    
    .category-icon {
        width: 50px;
        height: 50px;
    }
    
    .icon-graphic {
        width: 35px;
        height: 35px;
    }
    
    .category-name {
        font-size: 1.125rem;
    }
    
    .category-description {
        font-size: 0.875rem;
    }
    
    .category-features {
        gap: 0.25rem;
    }
    
    .feature-tag {
        font-size: 0.7rem;
        padding: 0.2rem 0.5rem;
    }
}

/* Category Box Animations */
@keyframes category-pulse-flow {
    0% { left: -100%; }
    50% { left: 100%; }
    100% { left: 100%; }
}

/* Enhanced Glow Effects */
.category-box .card-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(0, 121, 156, 0.1) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
}

.category-box:hover .card-glow {
    opacity: 1;
}

/* ==========================================================================
   Company Section
   ========================================================================== */

/* ==========================================================================
   Company Section - Modern & Minimalist Design
   ========================================================================== */

.company-section {
    background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 30%, #f1f3f4 100%);
    padding: 2% 0;
    position: relative;
    overflow: hidden;
}

/* Modern Company Header */
.company-header {
    text-align: center;
    margin-bottom: 5rem;
    position: relative;
    z-index: 2;
}

.company-badge {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    background: rgba(0, 121, 156, 0.05);
    border: 1px solid rgba(0, 121, 156, 0.15);
    border-radius: 50px;
    padding: 0.75rem 1.5rem;
    margin-bottom: 2rem;
    backdrop-filter: blur(10px);
}

.badge-year {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--teal-green-500);
    letter-spacing: 0.05em;
}

.badge-location {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--steel-600);
    position: relative;
    padding-left: 1rem;
}

.badge-location::before {
    content: '';
    position: absolute;
    left: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 12px;
    background: var(--teal-green-500);
    border-radius: 1px;
}

.company-title {
    margin: 0;
}

.title-main {
    display: block;
    font-size: clamp(2rem, 4vw, 2.8rem); /* Reduced from clamp(2.5rem, 5vw, 3.5rem) */
    font-weight: 700;
    color: var(--steel-900);
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
    background: var(--pangu-blue);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.title-tagline {
    display: block;
    font-size: 0.95rem;
    font-weight: 400;
    color: var(--steel-600);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    position: relative;
}

.title-tagline::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--pangu-blue) 50%, transparent 100%);
    animation: tagline-glow 3s ease-in-out infinite;
}

/* Company Story Grid */
.company-story {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 4rem;
    max-width: 1200px;
    margin: 0 auto;
    align-items: start;
    position: relative;
    z-index: 2;
}

.story-content {
    max-width: 600px;
}

.story-highlight {
    margin-bottom: 1.5rem;
}

.highlight-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--teal-green-500);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    position: relative;
    padding-left: 1.5rem;
}

.highlight-text::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 1px;
    background: var(--teal-green-500);
}

.story-lead {
    font-size: 1.0rem;
    line-height: 1.7;
    color: var(--steel-600);
    margin-bottom: 1.5rem;
    text-align: justify;
}

.story-detail {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--steel-600);
    margin-bottom: 2rem;
    text-align: justify;
}

.expertise-line {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1.5rem 0;
    color: var(--pangu-blue);
    border-top: 1px solid var(--pangu-blue);
    border-bottom: 1px solid var(--pangu-blue);
}

.expertise-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--steel-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.expertise-value {
    font-size: 1rem;
    font-weight: 500;
    color: var(--pangu-blue);
    line-height: 1.6;
}

/* Achievement Metrics */
.achievement-metrics {
    display: flex;
    flex-direction: column;
    gap: 3.3rem;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
    border-radius: 20px;
    padding: 2.5rem 2rem;
    position: relative;
}

.achievement-metrics::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1.5px;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-500) 50%, transparent 100%);
}

.metric-item {
    text-align: center;
}

.metric-visual {
    margin-bottom: 0.5rem;
    position: relative;
}

.metric-number {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--steel-900);
    line-height: 1;
    margin-bottom: 0.5rem;
}

.metric-progress {
    width: 100%;
    height: 3px;
    background: var(--steel-200);
    border-radius: 1px;
    overflow: hidden;
    margin-top: 0.5rem;
}

.progress-line {
    height: 100%;
    background: linear-gradient(90deg, var(--teal-green-500) 0%, var(--teal-green-400) 100%);
    border-radius: 1px;
    transform: translateX(-100%);
    animation: progress-fill 2s ease-out forwards 1s;
}

.metric-item.certification .metric-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}

.metric-badge {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--teal-green-500);
    line-height: 1;
}

.metric-cert {
    font-size: 1rem;
    font-weight: 600;
    color: var(--steel-700);
    line-height: 1;
}

.metric-label {
    font-size: 1.2rem;
    font-weight: bold;
    color: var(--steel-600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Subtle Brand Elements */
.company-ambiance {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
}

.precision-dot {
    position: absolute;
    width: 4px;
    height: 4px;
    background: var(--teal-green-500);
    border-radius: 50%;
    opacity: 0.4;
}

.precision-dot:nth-child(1) {
    top: 20%;
    left: 10%;
    animation: precision-float 4s ease-in-out infinite;
}

.precision-dot:nth-child(2) {
    top: 60%;
    right: 15%;
    animation: precision-float 4s ease-in-out infinite 1.5s;
}

.precision-dot:nth-child(3) {
    bottom: 25%;
    left: 20%;
    animation: precision-float 4s ease-in-out infinite 3s;
}

.precision-line {
    position: absolute;
    top: 50%;
    right: 0;
    width: 100px;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-500) 50%, transparent 100%);
    opacity: 0.3;
    transform: translateY(-50%);
    animation: precision-pulse 3s ease-in-out infinite;
}

/* Animations */
@keyframes tagline-glow {
    0%, 100% { opacity: 0.5; transform: translateX(-50%) scale(1); }
    50% { opacity: 1; transform: translateX(-50%) scale(1.1); }
}

@keyframes progress-fill {
    to { transform: translateX(0); }
}

@keyframes precision-float {
    0%, 100% { transform: translateY(0) scale(1); opacity: 0.4; }
    50% { transform: translateY(-10px) scale(1.2); opacity: 0.8; }
}

@keyframes precision-pulse {
    0%, 100% { opacity: 0.3; transform: translateY(-50%) scaleX(1); }
    50% { opacity: 0.6; transform: translateY(-50%) scaleX(1.2); }
}

/* ==========================================================================
   Company Timeline Section
   ========================================================================== */

.timeline-section {
    background: linear-gradient(180deg, #ffffff 0%, #f9fafb 50%, #ffffff 100%);
    padding: 2% 0; /* Reduced from 6rem 0 8rem */
    position: relative;
    overflow: hidden;
}

/* Timeline Header */
.timeline-header {
    text-align: center;
    margin-bottom: 3rem; /* Reduced from 5rem */
    position: relative;
    z-index: 2;
}

.timeline-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: rgba(249, 115, 22, 0.05);
    border: 1px solid rgba(249, 115, 22, 0.15);
    border-radius: 50px;
    padding: 0.75rem 1.5rem;
    margin-bottom: 2rem;
    backdrop-filter: blur(10px);
}

.timeline-badge .badge-icon {
    font-size: 1.25rem;
    filter: grayscale(1) brightness(0.5);
}

.timeline-badge .badge-text {
    font-size: 0.75rem; /* Reduced from 0.875rem */
    font-weight: 600;
    color: var(--teal-green-500);
    letter-spacing: 0.05em;
}

.timeline-title {
    margin: 0;
}

.timeline-title .title-main {
    display: block;
    font-size: clamp(2rem, 4vw, 2.8rem); /* Reduced from clamp(2.5rem, 5vw, 3.5rem) */
    font-weight: 700;
    color: var(--steel-900);
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
    background: var(--pangu-blue);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.timeline-title .title-tagline {
    display: block;
    font-size: 0.95rem; /* Reduced from 1.125rem */
    font-weight: 400;
    color: var(--steel-600);
    letter-spacing: 0.05em;
}

/* Timeline Container */
.timeline-wrapper {
    position: relative;
    max-width: 1000px; /* Increased from 800px */
    margin: 0 auto;
    padding: 0 1rem;
}

.timeline-container {
    position: relative;
    padding: 1rem 0;
}

/* Central Timeline Line */
.timeline-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, transparent 0%, var(--steel-300) 20%, var(--steel-300) 80%, transparent 100%);
    transform: translateX(-50%);
    z-index: 0;
}

.line-progress {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 0%;
    background: linear-gradient(180deg, var(--pangu-blue) 0%, var(--teal-green-500) 100%);
    animation: timeline-progress 2s ease-out forwards;
    animation-delay: 2s;
    z-index: 0;
}

/* Milestone Items */
.milestone {
    position: relative;
    margin-bottom: 1.25rem; /* Reduced from 2rem */
    opacity: 0;
    transform: translateY(30px);
    animation: milestone-fade-in 0.8s ease-out forwards;
}

.milestone:nth-child(odd) {
    animation-delay: calc(var(--index, 0) * 0.1s + 0.2s);
}

.milestone:nth-child(even) {
    animation-delay: calc(var(--index, 0) * 0.1s + 0.3s);
}

/* Milestone Connector - Moved to Background */
.milestone-connector {
    position: absolute;
    top: 50%;
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, var(--electric-blue-dark) 0%, var(--electric-blue-light) 100%) !important;
    transform: translateY(-50%);
    z-index: -1 !important; /* Move to background, behind marker */
}

.milestone:nth-child(odd) .milestone-connector {
    left: 50%;
    margin-left: -1px;
}

.milestone:nth-child(even) .milestone-connector {
    right: 50%;
    margin-right: -1px;
}

/* Milestone Marker - Solid White and Visible */
.milestone-marker {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: #ffffff !important; /* Solid white background */
    border: 2px solid var(--pangu-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10; /* Higher z-index to ensure visibility over connector */
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    /* Ensure solid background to prevent line showing through */
    box-shadow: 0 0 0 4px #ffffff; /* Solid white shadow */
}

.milestone-marker:hover {
    transform: translate(-50%, -50%) scale(1.1);
    border-color: var(--electric-blue);
    box-shadow: 0 0 0 4px rgb(255, 255, 255), 0 8px 25px rgba(0, 212, 255, 0.3);
}

.marker-glow {
    position: absolute;
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    background: radial-gradient(circle, rgba(0, 212, 255, 0.3) 0%, transparent 70%);
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.milestone-marker:hover .marker-glow {
    opacity: 1;
}

.marker-pulse {
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    border: 2px solid var(--pangu-blue);
    border-radius: 50%;
    animation: marker-pulse 2s ease-in-out infinite;
    opacity: 0.6;
}

.marker-year {
    font-size: 0.85rem; /* Reduced from 1rem */
    font-weight: 700;
    color: var(--steel-900);
    font-family: var(--font-family-mono);
    text-shadow: none; /* Remove text shadow for better visibility */
    position: relative;
    z-index: 2; /* Ensure year text is above everything else */
}

/* Milestone Content */
.milestone-content {
    position: relative;
    width: 48%; /* Increased from 45% */
    max-width: 450px; /* Increased from 400px */
}

.milestone-content.content-left {
    right: 0%; /* Adjusted from -5% */
    text-align: left;
}

.milestone-content.content-right {
    left: 53%; /* Adjusted from 55% */
    text-align: left;
}

.content-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
    border-radius: 12px;
    padding: 1.5rem; /* Increased from 1rem */
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    text-align: left;
}

.content-card:hover {
    transform: translateY(-8px);
    border-color: rgba(249, 115, 22, 0.2);
    box-shadow: 
        0 20px 40px rgba(45, 45, 50, 0.1),
        0 8px 16px rgba(249, 115, 22, 0.15);
}

.content-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-500) 30%, var(--electric-blue) 70%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

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

.card-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(249, 115, 22, 0.08) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
}

.content-card:hover .card-glow {
    opacity: 1;
}

/* Content Header */
.content-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem; /* Increased from 0.75rem */
    text-align: left;
}

.content-category {
    font-size: 0.65rem; /* Reduced from 0.75rem */
    font-weight: 600;
    color: var(--teal-green-500);
    background: var(--teal-green-50) 30%;
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.content-year {
    /* Hidden - year is already shown in marker */
    display: none;
}

.content-description {
    font-size: 0.875rem; /* Reduced from 1rem */
    line-height: 1.6;
    color: var(--steel-600);
    margin: 0;
    text-align: left;
}

/* Content Footer */
.content-footer {
    margin-top: 1rem;
    display: flex;
    justify-content: flex-end;
}

.achievement-indicator {
    /* Removed blue pulsating dot */
    display: none;
}

.indicator-pulse {
    /* Removed blue pulsating effect */
    display: none;
}

/* Timeline Ambiance */
.timeline-ambiance {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1;
}

.innovation-beam {
    position: absolute;
    top: 15%;
    left: -10%;
    width: 120%;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--electric-blue) 30%, transparent 70%, var(--teal-green-500) 90%, transparent 100%);
    opacity: 0.3;
    animation: innovation-beam-scan 8s ease-in-out infinite;
}

.growth-particles {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(1px 1px at 20% 30%, var(--teal-green-500), transparent),
        radial-gradient(1px 1px at 40% 70%, var(--electric-blue), transparent),
        radial-gradient(1px 1px at 90% 40%, var(--teal-green-500), transparent),
        radial-gradient(1px 1px at 70% 80%, var(--electric-blue), transparent);
    background-size: 100px 100px, 80px 80px, 120px 120px, 90px 90px;
    animation: growth-particles-float 20s linear infinite;
    opacity: 0.4;
}

.excellence-grid {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        linear-gradient(rgba(249, 115, 22, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(249, 115, 22, 0.03) 1px, transparent 1px);
    background-size: 50px 50px;
    animation: excellence-grid-pulse 4s ease-in-out infinite;
}

/* Animations */
@keyframes timeline-progress {
    0% { height: 0%; }
    100% { height: 100%; }
}

@keyframes milestone-fade-in {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes marker-pulse {
    0%, 100% {
        opacity: 0.6;
        transform: scale(1);
    }
    50% {
        opacity: 1;
        transform: scale(1.1);
    }
}

@keyframes indicator-pulse {
    0%, 100% {
        opacity: 0.6;
        transform: scale(1);
    }
    50% {
        opacity: 1;
        transform: scale(1.2);
    }
}

@keyframes innovation-beam-scan {
    0%, 100% {
        transform: translateX(-100%);
        opacity: 0;
    }
    50% {
        transform: translateX(0%);
        opacity: 0.3;
    }
}

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

@keyframes excellence-grid-pulse {
    0%, 100% {
        opacity: 0.4;
    }
    50% {
        opacity: 0.6;
    }
}

/* Large Desktop Constraints */
@media (min-width: 1200px) {
    .timeline-wrapper {
        max-width: 1150px; /* Increased from 1100px */
        padding: 0 2rem;
    }
    
    .milestone-content {
        max-width: 500px; /* Increased from 450px */
    }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .timeline-wrapper {
        max-width: 850px; /* Increased from 800px */
        padding: 0 1rem;
    }
    
    .milestone-content {
        width: 45%; /* Increased from 42% */
        max-width: 380px; /* Increased from 350px */
    }
    
    .milestone-content.content-left {
        right: 0%; /* Adjusted from 46% */
    }
    
    .milestone-content.content-right {
        left: 0%; /* Adjusted from 46% */
    }
    
    .milestone-marker {
        width: 50px;
        height: 50px;
    }
    
    .marker-year {
        font-size: 0.75rem; /* Reduced from 0.85rem */
    }
}

@media (max-width: 768px) {
    .timeline-section {
        padding: 3rem 0 4rem; /* Reduced from 4rem 0 6rem */
    }
    
    .timeline-header {
        margin-bottom: 2rem; /* Reduced from 3rem */
    }
    
    .timeline-title .title-main {
        font-size: 1.75rem; /* Reduced from 2.5rem */
    }
    
    .timeline-container {
        padding: 1rem 0;
    }
    
    .timeline-line {
        left: 2rem;
    }
    
    .milestone {
        margin-bottom: 1.5rem; /* Reduced from 2rem */
        margin-left: 1rem;
    }
    
    /* .milestone-connector {
        display: none;
    } */
    
    .milestone-marker {
        left: 2rem;
        width: 60px;
        height: 60px;
    }
    
    .milestone-content {
        width: calc(100% - 5rem);
        left: 5rem !important;
        right: auto !important;
        text-align: left !important;
    }
    
    .content-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    
    .content-year {
        font-size: 1.1rem; /* Reduced from 1.25rem */
    }
    
    .innovation-beam {
        display: none;
    }
}

@media (max-width: 480px) {
    .timeline-badge {
        padding: 0.5rem 1rem;
        gap: 0.5rem;
    }
    
    .timeline-badge .badge-text {
        font-size: 0.65rem; /* Reduced from 0.75rem */
    }
    
    .timeline-title .title-main {
        font-size: 1.75rem; /* Reduced from 2rem */
    }
    
    .timeline-title .title-tagline {
        font-size: 0.95rem; /* Reduced from 1rem */
    }
    
    .milestone-marker {
        width: 50px;
        height: 50px;
        left: 1.5rem;
    }
    
    .marker-year {
        font-size: 0.7rem; /* Reduced from 0.8rem */
    }
    
    .milestone-content {
        left: 4rem !important;
        width: calc(100% - 4.5rem);
    }
    
    .content-card {
        padding: 1.25rem; /* Slightly increased from 1rem */
    }
    
    .content-category {
        font-size: 0.6rem; /* Reduced from 0.7rem */
        padding: 0.2rem 0.5rem;
    }
    
    .content-description {
        font-size: 0.8rem; /* Reduced from 0.95rem */
    }
}
/* ==========================================================================
   Quality Excellence Section - Modern Dashboard Design
   ========================================================================== */

.quality-section {
    background: linear-gradient(180deg, 
        #f8fafc 0%, 
        #f1f5f9 30%, 
        #e2e8f0 70%, 
        #f8fafc 100%
    );
    padding: 8rem 0 6rem;
    position: relative;
    overflow: hidden;
}

/* Quality Header */
.quality-header {
    text-align: center;
    margin-bottom: 4rem;
    position: relative;
    z-index: 2;
}

.quality-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: rgba(16, 185, 129, 0.05);
    border: 1px solid rgba(16, 185, 129, 0.15);
    border-radius: 50px;
    padding: 0.75rem 1.5rem;
    margin-bottom: 2rem;
    backdrop-filter: blur(10px);
}

.quality-badge .badge-icon {
    font-size: 1.25rem;
    filter: grayscale(1) brightness(0.5);
}

.quality-badge .badge-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: #10b981;
    letter-spacing: 0.05em;
}

.quality-title {
    margin: 0;
}

.quality-title .title-main {
    display: block;
    font-size: clamp(2rem, 4vw, 2.8rem); /* Reduced from clamp(2.5rem, 5vw, 3.5rem) */
    font-weight: 700;
    color: var(--steel-900);
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
    background: var(--pangu-blue);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.quality-title .title-tagline {
    display: block;
    font-size: 0.95rem; /* Reduced from 1.125rem */
    font-weight: 400;
    color: var(--steel-600);
    letter-spacing: 0.05em;
}

/* Quality Dashboard */
.quality-dashboard {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    align-items: start;
}

/* Certification Showcase */
.certification-showcase {
    position: relative;
}

.cert-container {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid var(--pangu-blue);
    border-radius: 24px;
    padding: 2rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 32px var(--electric-blue-light);
}

.cert-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        var(--pangu-blue) 30%, 
        var(--pangu-blue) 70%, 
        transparent 100%
    );
}

/* Primary Certification Display */
.primary-certification {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2rem;
}

.cert-emblem {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 140px;
    margin: 0 auto;
}

.emblem-frame {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 16px;
    padding: 1rem;
    position: relative;
    box-shadow: 
        0 8px 32px var(--electric-blue-light),
        0 4px 16px var(--electric-blue-dark);
    border: 2px solid var(--pangu-blue);
    transition: all 0.3s ease;
    animation: cert-pulse 4s ease-in-out infinite;
}

.cert-main-image {
    width: 100%;
    height: auto;
    max-width: 160px;
    object-fit: contain;
    filter: contrast(1.1) brightness(1.05);
    transition: all 0.3s ease;
}

.cert-glow {
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(45deg, 
        var(--electric-blue-light) 0%,
        var(--pangu-blue) 50%,
        var(--electric-blue-light) 100%
    );
    border-radius: 18px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.emblem-frame:hover {
    transform: translateY(-4px);
    box-shadow: 
        0 12px 40px var(--electric-blue-light) 20%,
        0 8px 24px var(--electric-blue-dark) 20%;
}

.emblem-frame:hover .cert-glow {
    opacity: 0.1;
}

.emblem-frame:hover .cert-main-image {
        filter: contrast(1.15) brightness(1.1) drop-shadow(0 4px 12px var(--electric-blue-light) 30%);
    }

/* Certification Rays */
.cert-rays {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
}

.ray {
    position: absolute;
    width: 3px;
    height: 25px;
    background: linear-gradient(0deg, transparent 0%, var(--pangu-blue) 50%, transparent 100%);
    opacity: 0.4;
    animation: ray-rotate 10s linear infinite;
}

.ray:nth-child(1) { transform: rotate(0deg) translateX(-100px); }
.ray:nth-child(2) { transform: rotate(60deg) translateX(-100px); animation-delay: -1.7s; }
.ray:nth-child(3) { transform: rotate(120deg) translateX(-100px); animation-delay: -3.3s; }
.ray:nth-child(4) { transform: rotate(180deg) translateX(-100px); animation-delay: -5s; }
.ray:nth-child(5) { transform: rotate(240deg) translateX(-100px); animation-delay: -6.7s; }
.ray:nth-child(6) { transform: rotate(300deg) translateX(-100px); animation-delay: -8.3s; }

/* Individual Certification Badges */
.cert-badges {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin: 1.5rem 0;
    flex-wrap: wrap;
}

.cert-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid var(--coral-red);
    border-radius: 12px;
    padding: 0.75rem;
    min-width: 80px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.cert-badge::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, var(--coral-red) 50%, transparent);
    transition: left 0.5s ease;
}

.cert-badge:hover::before {
    left: 100%;
}

.cert-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px var(--electric-blue-light) 20%;
    border-color: var(--coral-red);
}

.badge-image {
    width: 32px;
    height: auto;
    max-height: 32px;
    object-fit: contain;
    filter: brightness(1.05);
    transition: all 0.3s ease;
}

.cert-badge:hover .badge-image {
    filter: brightness(1.1) contrast(1.1);
    transform: scale(1.05);
}

.ukas {
    background: linear-gradient(135deg, var(--electric-blue-light) 0%, var(--pangu-blue) 100%);
}

.ukas-crown {
    font-size: 24px;
    filter: hue-rotate(200deg) brightness(0.8);
    transition: all 0.3s ease;
}

.cert-badge:hover .ukas-crown {
    transform: scale(1.1);
    filter: hue-rotate(200deg) brightness(1);
}

.badge-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--steel-700);
    text-align: center;
    line-height: 1.2;
    transition: color 0.3s ease;
}

.cert-badge:hover .badge-label {
    color: var(--steel-900);
}

/* Enhanced Certification Meta */
.cert-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.cert-date,
.cert-scope,
.cert-number {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--steel-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: center;
    flex: 1;
    min-width: 100px;
}

.cert-details {
    text-align: center;
}

.cert-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--teal-green-500) !important;
    margin-bottom: 0.75rem;
}

.cert-description {
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--steel-600);
    margin-bottom: 1rem;
}

.cert-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.cert-date,
.cert-scope {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--steel-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Individual Certification Badges */
.individual-badges {
    margin-top: 2rem;
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.cert-badge {
    position: relative;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    box-shadow: 
        0 8px 32px rgba(45, 45, 50, 0.1),
        0 2px 8px rgba(0, 0, 0, 0.05);
    transition: all 0.4s ease;
    overflow: hidden;
}

.cert-badge::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 90, 95, 0.1), transparent);
    transition: left 0.6s ease;
}

.cert-badge:hover::before {
    left: 100%;
}

.cert-badge:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 90, 95, 0.3);
    box-shadow: 
        0 12px 40px rgba(45, 45, 50, 0.15),
        0 4px 16px rgba(255, 90, 95, 0.1);
}

.badge-image {
    width: 60px;
    height: auto;
    max-height: 60px;
    object-fit: contain;
    filter: brightness(1.1) contrast(1.1);
    transition: all 0.3s ease;
}

.cert-badge:hover .badge-image {
    filter: brightness(1.2) contrast(1.2);
    transform: scale(1.05);
}

.badge-shimmer {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.2) 50%, transparent 70%);
    opacity: 0;
    animation: badge-shimmer 3s ease-in-out infinite;
}

@keyframes badge-shimmer {
    0%, 100% { opacity: 0; transform: translateX(-100%); }
    50% { opacity: 1; transform: translateX(100%); }
}

/* Quality Metrics Grid */
.quality-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 2rem;
}

.metric-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.06);
    border-radius: 12px;
    padding: 0.75rem;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.metric-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(45, 45, 50, 0.08);
}

.metric-header {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

/* Card Background Patterns */
.card-bg-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.03;
    pointer-events: none;
}

.accuracy .card-bg-pattern {
    background-image: 
        radial-gradient(circle at 20% 30%, #10b981 1px, transparent 1px),
        radial-gradient(circle at 80% 70%, #10b981 1px, transparent 1px),
        radial-gradient(circle at 40% 80%, #10b981 0.5px, transparent 0.5px);
    background-size: 30px 30px, 25px 25px, 20px 20px;
    animation: accuracy-pattern 20s linear infinite;
}

.delivery .card-bg-pattern {
    background-image: 
        linear-gradient(45deg, transparent 45%, #3b82f6 50%, transparent 55%),
        linear-gradient(-45deg, transparent 45%, #3b82f6 50%, transparent 55%);
    background-size: 40px 40px, 35px 35px;
    animation: delivery-pattern 15s linear infinite;
}

.satisfaction .card-bg-pattern {
    background-image: 
        conic-gradient(from 0deg at 50% 50%, transparent 0deg, #f59e0b 60deg, transparent 120deg),
        conic-gradient(from 120deg at 50% 50%, transparent 0deg, #f59e0b 60deg, transparent 120deg),
        conic-gradient(from 240deg at 50% 50%, transparent 0deg, #f59e0b 60deg, transparent 120deg);
    background-size: 50px 50px, 45px 45px, 40px 40px;
    animation: satisfaction-pattern 25s ease-in-out infinite;
}

.compliance .card-bg-pattern {
    background-image: 
        repeating-linear-gradient(0deg, transparent, transparent 8px, #8b5cf6 8px, #8b5cf6 9px),
        repeating-linear-gradient(90deg, transparent, transparent 8px, #8b5cf6 8px, #8b5cf6 9px);
    background-size: 25px 25px;
    animation: compliance-pattern 18s linear infinite;
}

@keyframes accuracy-pattern {
    0% { transform: translate(0, 0) rotate(0deg); }
    100% { transform: translate(10px, 10px) rotate(360deg); }
}

@keyframes delivery-pattern {
    0% { transform: translateX(0) translateY(0); }
    100% { transform: translateX(40px) translateY(40px); }
}

@keyframes satisfaction-pattern {
    0% { transform: rotate(0deg) scale(1); }
    50% { transform: rotate(180deg) scale(1.1); }
    100% { transform: rotate(360deg) scale(1); }
}

@keyframes compliance-pattern {
    0% { transform: translate(0, 0); }
    100% { transform: translate(25px, 25px); }
}

.metric-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Metric Icons */
.accuracy-target {
    position: relative;
    width: 24px;
    height: 24px;
}

.target-ring {
    width: 100%;
    height: 100%;
    border: 3px solid #10b981;
    border-radius: 50%;
    opacity: 0.3;
}

.target-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    background: #10b981;
    border-radius: 50%;
    animation: target-pulse 2s ease-in-out infinite;
}

.delivery-clock {
    position: relative;
    width: 24px;
    height: 24px;
}

.clock-face {
    width: 100%;
    height: 100%;
    border: 2px solid #3b82f6;
    border-radius: 50%;
    position: relative;
}

.clock-hand {
    position: absolute;
    background: #3b82f6;
    border-radius: 1px;
    transform-origin: bottom center;
    top: 50%;
    left: 50%;
}

.clock-hand.hour {
    width: 2px;
    height: 8px;
    margin-left: -1px;
    margin-top: -8px;
    animation: hour-tick 12s linear infinite;
}

.clock-hand.minute {
    width: 1px;
    height: 12px;
    margin-left: -0.5px;
    margin-top: -12px;
    animation: minute-tick 2s linear infinite;
}

.satisfaction-gauge {
    position: relative;
    width: 24px;
    height: 12px;
}

.gauge-arc {
    width: 100%;
    height: 24px;
    border: 2px solid #f59e0b;
    border-bottom: none;
    border-radius: 12px 12px 0 0;
}

.gauge-needle {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 2px;
    height: 9px;
    background: #f59e0b;
    margin-left: -1px;
    transform-origin: bottom center;
    animation: gauge-swing 3s ease-in-out infinite;
}

.compliance-shield {
    position: relative;
    width: 24px;
    height: 24px;
}

.shield-body {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
    border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: shield-glow 2s ease-in-out infinite;
}

.shield-check {
    color: white;
    font-size: 12px;
    font-weight: 700;
}

.metric-info {
    flex: 1;
}

.metric-label {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--steel-600);
    margin-bottom: 0.125rem;
}

.metric-value {
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
}

.value-number {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--steel-900);
    font-family: var(--font-mono);
}

.value-unit {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--steel-600);
}

.metric-progress {
    margin-top: 0.375rem;
}

.progress-track {
    height: 3px;
    background: rgba(45, 45, 50, 0.1);
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: 0.25rem;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--pangu-blue) 0%, var(--electric-blue-light) 100%);
    border-radius: 2px;
    animation: progress-animate 2s ease-out;
    transition: width 1s ease-out;
}

.progress-fill[data-progress="99.8"] {
    width: 99.8%;
}

.progress-fill[data-progress="96.2"] {
    width: 96.2%;
}

.progress-fill[data-progress="98"] {
    width: 98%;
}

.progress-fill[data-progress="100"] {
    width: 100%;
}

.metric-card.delivery .progress-fill {
    background: linear-gradient(90deg, #3b82f6 0%, #2563eb 100%);
}

.metric-card.satisfaction .progress-fill {
    background: linear-gradient(90deg, #f59e0b 0%, #d97706 100%);
}

.metric-card.compliance .progress-fill {
    background: linear-gradient(90deg, #8b5cf6 0%, #7c3aed 100%);
}

.progress-label {
    font-size: 0.65rem;
    color: var(--steel-500);
}

/* Quality Process Flow */
.quality-process {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid var(--pangu-blue);
    border-radius: 20px;
    padding: 1rem;
    position: relative;
    overflow: hidden;
}

.process-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--steel-900);
    text-align: center;
    margin-bottom: 2.5rem;
    background: linear-gradient(135deg, var(--steel-900) 0%, var(--teal-green-500) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.process-flow {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin: 0 auto;
}

.process-step {
    text-align: center;
    position: relative;
}

.step-marker {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--pangu-blue) 0%, var(--electric-blue-light) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    position: relative;
    box-shadow: 0 4px 12px var(--electric-blue-light) 20%;
}

.step-number {
    font-size: 1rem;
    font-weight: 700;
    color: white;
}

.step-pulse {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 2px solid var(--electric-blue-light);
    border-radius: 50%;
    animation: step-pulse 2s ease-in-out infinite;
}

.step-connector {
    position: absolute;
    top: 30px;
    left: 100%;
    width: calc(100% - 60px);
    height: 2px;
    background: linear-gradient(90deg, var(--steel-100) 0%, var(--steel-900) 100%);
    z-index: -1;
}

.process-step:last-child .step-connector {
    display: none;
}

.step-content {
    max-width: 200px;
    margin: 0 auto;
}

.step-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--steel-900);
    margin-bottom: 0.5rem;
}

.step-description {
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--steel-600);
}

/* Quality Ambiance */
.quality-ambiance {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1;
}

.quality-grid {
    position: absolute;
    top: 20%;
    right: 10%;
    width: 200px;
    height: 200px;
    background: 
        linear-gradient(90deg, transparent 49%, var(--electric-blue-light) 50%, transparent 51%),
        linear-gradient(0deg, transparent 49%, var(--electric-blue-light) 50%, transparent 51%);
    background-size: 20px 20px;
    opacity: 0.4;
    animation: quality-grid-pulse 4s ease-in-out infinite;
}

.precision-wave {
    position: absolute;
    top: 60%;
    left: 0;
    width: 300px;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--pangu-blue) 50%, transparent 100%);
    opacity: 0.3;
    animation: precision-wave-flow 5s ease-in-out infinite;
}

.excellence-beam {
    position: absolute;
    bottom: 20%;
    right: 0;
    width: 250px;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--electric-blue-light) 50%, transparent 100%);
    opacity: 0.4;
    animation: excellence-beam-scan 6s ease-in-out infinite;
}

/* Quality Animations */
@keyframes cert-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 4px 16px var(--electric-blue-light) 20%; }
    50% { transform: scale(1.05); box-shadow: 0 6px 20px var(--electric-blue-light) 20%; }
}

@keyframes ray-rotate {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
}

@keyframes target-pulse {
    0%, 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: 0.7; transform: translate(-50%, -50%) scale(1.2); }
}

@keyframes hour-tick {
    0%, 100% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes minute-tick {
    0%, 100% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes gauge-swing {
    0%, 100% { transform: rotate(-30deg); }
    50% { transform: rotate(30deg); }
}

@keyframes shield-glow {
    0%, 100% { box-shadow: 0 0 8px rgba(139, 92, 246, 0.3); }
    50% { box-shadow: 0 0 16px rgba(139, 92, 246, 0.5); }
}

@keyframes progress-animate {
    0% { width: 0%; }
    100% { width: var(--progress, 0%); }
}

@keyframes step-pulse {
    0%, 100% { opacity: 0.3; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.1); }
}

@keyframes quality-grid-pulse {
    0%, 100% { opacity: 0.4; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.05); }
}

@keyframes precision-wave-flow {
    0%, 100% { opacity: 0.3; transform: translateX(0); }
    50% { opacity: 0.5; transform: translateX(50px); }
}

@keyframes excellence-beam-scan {
    0%, 100% { opacity: 0.4; transform: translateX(0); }
    50% { opacity: 0.6; transform: translateX(-50px); }
}

/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer {
    background: var(--pangu-blue);
    color: var(--white);
    padding: var(--spacing-xs) 0 var(--spacing-xs);
    max-height: 50vh !important;
}

.footer-content {
    text-align: center;
}

.footer-links {
    display: flex;
    justify-content: center;
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xs);
    flex-wrap: wrap;
}

.footer-links a {
    color: var(--blue-50);
    text-decoration: none;
    transition: color var(--duration-normal) var(--ease-out);
    padding: var(--spacing-xs) var(--spacing-xs);
    border-radius: var(--radius-xs);
}

.footer-links a:hover {
    color: var(--blue-100);
}

.footer-info {
    margin-bottom: var(--spacing-xs);
}

.footer-info p {
    color: var(--blue-50);
    margin-bottom: var(--spacing-xs);
}

.footer-info p:first-child {
    color: var(--blue-50);
    font-weight: 600;
}

.footer-copyright p {
    color: var(--blue-50);
    margin-bottom: var(--spacing-xs);
    font-size: 0.9rem;
}

/* ==========================================================================
   Animations & Keyframes
   ========================================================================== */

@keyframes chipFloat {
    0%, 100% {
        transform: translateY(0) rotateX(0deg) rotateY(0deg);
    }
    50% {
        transform: translateY(-20px) rotateX(5deg) rotateY(-10deg);
    }
}

@keyframes laserScan {
    0%, 100% {
        opacity: 0;
        transform: translateY(0) scaleY(0.5);
    }
    50% {
        opacity: 1;
        transform: translateY(20px) scaleY(1);
    }
}

@keyframes gridPulse {
    0%, 100% {
        opacity: 0.3;
        transform: translate(-50%, -50%) scale(1);
    }
    50% {
        opacity: 0.8;
        transform: translate(-50%, -50%) scale(1.05);
    }
}

@keyframes traceFlow {
    0% {
        transform: translateX(-100%);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: translateX(100%);
        opacity: 0;
    }
}

@keyframes circuitFlow {
    0% {
        stroke-dashoffset: 0;
        opacity: 0.3;
    }
    50% {
        stroke-dashoffset: -10;
        opacity: 0.8;
    }
    100% {
        stroke-dashoffset: -20;
        opacity: 0.3;
    }
}

@keyframes particleFloat {
    0% {
        transform: translateY(100vh) translateX(0);
        opacity: 0;
    }
    10% {
        opacity: 0.8;
    }
    90% {
        opacity: 0.8;
    }
    100% {
        transform: translateY(-100px) translateX(30px);
        opacity: 0;
    }
}

@keyframes contentFadeIn {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes titleGlow {
    0% {
        text-shadow: 
            0 0 40px rgba(255, 255, 255, 1),
            0 0 30px rgba(255, 255, 255, 0.9),
            0 0 20px rgba(255, 255, 255, 0.8),
            0 0 10px rgba(255, 255, 255, 0.7),
            0 2px 4px rgba(255, 255, 255, 0.6);
    }
    100% {
        text-shadow: 
            0 0 60px rgba(255, 255, 255, 1),
            0 0 50px rgba(255, 255, 255, 1),
            0 0 40px rgba(255, 255, 255, 0.9),
            0 0 30px rgba(255, 255, 255, 0.8),
            0 2px 6px rgba(255, 255, 255, 0.7);
    }
}

@keyframes taglineFlicker {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.9;
    }
}

@keyframes spark-pulse {
    0% {
        transform: translate(-50%, -50%) scale(0);
        opacity: 0;
    }
    50% {
        transform: translate(-50%, -50%) scale(4);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(3);
        opacity: 1;
    }
}

@keyframes precision-header-flow {
    0%, 100% {
        opacity: 0.4;
        transform: translateX(0) scale(1);
    }
    25% {
        opacity: 0.6;
        transform: translateX(10px) scale(1.02);
    }
    50% {
        opacity: 0.8;
        transform: translateX(0) scale(1.05);
    }
    75% {
        opacity: 0.6;
        transform: translateX(-10px) scale(1.02);
    }
}

@keyframes precision-laser-sweep {
    0% {
        left: -100%;
        filter: brightness(1);
    }
    50% {
        left: 50%;
        filter: brightness(1.5);
    }
    100% {
        left: 100%;
        filter: brightness(1);
    }
}

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

.fade-in {
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.6s ease-out forwards;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.slide-in-left {
    opacity: 0;
    transform: translateX(-50px);
    animation: slideInLeft 0.6s ease-out forwards;
}

@keyframes slideInLeft {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.slide-in-right {
    opacity: 0;
    transform: translateX(50px);
    animation: slideInRight 0.6s ease-out forwards;
}

@keyframes slideInRight {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* ==========================================================================
   Mobile Menu Styles
   ========================================================================== */

.mobile-menu-toggle {
    display: none;
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.1) 0%, rgba(255, 90, 95, 0.15) 100%);
    border: 1px solid rgba(0, 121, 156, 0.2);
    padding: var(--spacing-sm);
    cursor: pointer;
    flex-direction: column;
    gap: 4px;
    border-radius: var(--radius-md);
    transition: all var(--duration-normal) var(--ease-out);
    backdrop-filter: blur(10px);
}

.mobile-menu-toggle:hover {
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.15) 0%, rgba(255, 90, 95, 0.2) 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 121, 156, 0.2);
}

.hamburger {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.hamburger span {
    width: 24px;
    height: 2px;
    background: var(--steel-700);
    transition: all var(--duration-normal) var(--ease-out);
}

.mobile-menu-toggle.active .hamburger span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

body.menu-open {
    overflow: hidden !important;
}

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

.mobile-menu-toggle.active .hamburger span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
}

/* ==========================================================================
   Responsive Design
   ========================================================================== */

/* Medium screen adjustments for navigation */
/* @media (max-width: 1024px) and (min-width: 769px) {
    .main-navigation ul {
        gap: var(--spacing-lg);
    }
    
    .main-navigation a {
        font-size: 0.9rem;
        padding: var(--spacing-sm) var(--spacing-sm);
    }
    
    .container {
        padding: 0 var(--spacing-md);
    }
} */

@media (max-width: 1400px) {
    .mobile-menu-toggle {
        display: flex !important;
        order: 3 !important;
        margin-left: auto;
    }

    .site-header {
        overflow: visible;
    }

    .site-logo {
        display: flex;
        align-items: center;
        text-decoration: none;
        margin-left: 0;
        position: relative;
        padding: var(--spacing-sm);
        border-radius: var(--radius-lg);
        transition: all var(--duration-normal) var(--ease-out);
    }

    .header-content {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: var(--spacing-md);
        padding: var(--spacing-sm) 0;
        width: 100%;
        position: relative;
    }

    .site-branding {
        order: 1 !important;
        flex-shrink: 0 !important;
        flex-grow: 0 !important;
        margin-right: auto; /* Push to the left */
    }

    /* Make logo smaller on mobile if needed */
    .site-branding .logo-image {
        max-width: 180px !important;
        height: auto !important;
    }
    
    .company-tagline {
        font-size: 10px;
        margin-top: 0;
    }

    .main-navigation {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(20px);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
        z-index: 10000;
        border-top: 1px solid rgba(0, 121, 156, 0.2);
        border-radius: 0 0 16px 16px;
        overflow: hidden;
        order: 2 !important;
    }

    .main-navigation.active {
        display: block;
        animation: mobileMenuSlide 0.3s ease-out;
    }

    .main-navigation ul {
        display: flex;
        flex-direction: column;
        padding: var(--spacing-lg);
        gap: var(--spacing-sm);
        margin: 0;
        list-style: none;
        width: 100%;
    }

    .main-navigation li {
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
        display: block;
    }
    .main-navigation a {
        display: block;
        padding: 15px 20px;
        border-radius: 12px;
        color: var(--steel-800);
        background: rgba(255, 255, 255, 0.7);
        font-weight: 600;
        font-size: 16px;
        text-decoration: none;
        transition: all 0.3s ease;
        border: 1px solid rgba(0, 121, 156, 0.1);
        margin: 0;
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }

    .main-navigation a:hover {
        background: var(--pangu-blue);
        color: white;
        border-color: var(--pangu-blue);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 121, 156, 0.3);
    }

    .main-navigation a {
        display: block !important;
        padding: 15px !important;
        border-radius: 8px;
        color: #000000 !important;
        background: #f8f9fa !important;
        font-weight: 700 !important;
        font-size: 16px !important;
        text-decoration: none !important;
        transition: all 0.3s ease;
        border: 1px solid #e2e8f0 !important;
        margin: 5px 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .main-navigation a:hover {
        background: var(--pangu-blue) !important;
        color: #ffffff !important;
        border-color: var(--pangu-blue) !important;
    }

    .header-content {
        flex-direction: column;
        gap: var(--spacing-md);
        padding: var(--spacing-sm) 0;
    }

    .hero-section {
        min-height: 60vh;
        padding: 2% 0;
    }

    .semiconductor-background {
        display: none;
    }

    .hero-content h1 {
        font-size: 2.5rem;
    }

    .hero-tagline {
        font-size: 1.5rem;
    }

    .hero-actions {
        flex-direction: column;
        align-items: center;
    }

    .hero-btn {
        width: 100%;
        max-width: 300px;
        padding: 14px 28px;
        font-size: 1rem;
    }

    /* Services Section Mobile */
    .services-section {
        padding: 2% 0;
    }
    
    .services-header {
        margin-bottom: 3rem;
    }
    
    .services-badge {
        flex-direction: column;
        gap: 0.5rem;
        padding: 1rem 1.5rem;
    }
    
    .services-title .title-main {
        font-size: 1.75rem;
    }
    
    .services-grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem;
        padding: 0 1rem;
    }
    
    /* Reset third card centering on mobile */
    .service-card:nth-child(3) {
        grid-column: auto;
        max-width: none;
        margin: 0;
    }
    
    .service-card {
        padding: 1.5rem;
    }
    
    .card-header {
        gap: 1rem;
    }
    
    .service-icon {
        width: 50px;
        height: 50px;
    }
    
    .service-name {
        font-size: 1.05rem;
        white-space: nowrap;
    }
    
    .service-features {
        gap: 1rem;
    }
    
    .tech-specs {
        padding: 0.75rem;
    }
    
    /* Metallic Divider Mobile */
    .metallic-divider {
        padding: 2rem 0;
    }
    
    .metallic-chip {
        width: 50px;
        height: 50px;
    }
    
    .chip-core {
        width: 16px;
        height: 16px;
    }
    
    .divider-icon {
        margin: 0 1rem;
    }
    
    .divider-label {
        font-size: 0.75rem;
    }

    /* Company Section Mobile */
    .company-section {
        padding: 2% 0;
    }
    
    .company-header {
        margin-bottom: 3rem;
    }
    
    .company-badge {
        flex-direction: column;
        gap: 0.5rem;
        padding: 1rem 1.5rem;
    }
    
    .badge-location::before {
        display: none;
    }
    
    .badge-location {
        padding-left: 0;
    }
    
    .title-main {
        font-size: 1.75rem;
    }
    
    .company-story {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    
    .story-lead {
        font-size: 1.0rem;
    }
    
    .achievement-metrics {
        padding: 2rem 1.5rem;
        gap: 2rem;
    }
    
    .metric-number {
        font-size: 2rem;
    }

    /* Quality Section Mobile */
    .quality-section {
        padding: 2% 0 2%;
    }

    .quality-header {
        margin-bottom: 2rem;
    }

    .quality-title .title-main {
        font-size: 1.75rem;
    }

    .quality-dashboard {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .cert-container {
        padding: 0;
    }

    .cert-emblem {
        width: 160px;
        height: 120px;
    }

    .emblem-frame {
        padding: 0.75rem;
    }

    .cert-main-image {
        max-width: 120px;
    }

    .cert-badges {
        gap: 0.75rem;
        margin: 1rem 0;
    }

    .cert-badge {
        min-width: 70px;
        padding: 0.5rem;
    }

    .badge-image {
        width: 28px;
        max-height: 28px;
    }

    .ukas-crown {
        font-size: 20px;
    }

    .cert-meta {
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
    }

    .quality-metrics {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .metric-card {
        padding: 1.25rem;
    }

    .value-number {
        font-size: 1.5rem;
    }

    .process-flow {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .step-connector {
        display: none;
    }

    .process-step {
        padding-bottom: 1rem;
        border-bottom: 1px solid rgba(16, 185, 129, 0.2);
    }

    .process-step:last-child {
        border-bottom: none;
    }

    .footer-links {
        flex-direction: column;
        gap: var(--spacing-xs);
    }

    .container {
        padding: 0;
    }

    .section {
        padding: 2% 0;
    }
}

@media (max-width: 480px) {
    .hero-tagline {
        font-size: 1.5rem;
    }

    .hero-description {
        font-size: 1.1rem;
    }

    /* Services Mobile - Small Screens */
    .services-grid {
        padding: 0 0.5rem;
    }
    
    .service-card {
        padding: 1rem;
        border-radius: 16px;
    }
    
    .service-icon {
        width: 40px;
        height: 40px;
    }
    
    .service-name {
        font-size: 1.125rem;
    }
    
    .service-description {
        font-size: 0.875rem;
    }
    
    .feature-list li {
        font-size: 0.8rem;
    }
    
    /* Metallic Divider - Small Screens */
    .metallic-divider {
        padding: 1.5rem 0;
    }
    
    .metallic-chip {
        width: 40px;
        height: 40px;
    }
    
    .chip-core {
        width: 12px;
        height: 12px;
    }
    
    .divider-label {
        font-size: 0.7rem;
        letter-spacing: 0.1em;
    }
    
    .divider-label::before,
    .divider-label::after {
        width: 20px;
    }

    .container {
        padding: 0;
    }

    /* Quality Section - Small Mobile */
    .quality-section {
        padding: 2% 0;
    }
    
    .quality-title .title-main {
        font-size: 1.75rem;
    }
    
    .cert-container {
        padding: 1rem;
    }
    
             .cert-emblem {
         width: 140px;
         height: 100px;
     }

    .emblem-frame {
        padding: 0.5rem;
    }

    .cert-main-image {
        max-width: 100px;
    }

    .cert-badges {
        gap: 0.5rem;
        margin: 0.75rem 0;
    }

    .cert-badge {
        min-width: 60px;
        padding: 0.4rem;
        gap: 0.3rem;
    }

    .badge-image {
        width: 24px;
        max-height: 24px;
    }

    .ukas-crown {
        font-size: 18px;
    }

    .badge-label {
        font-size: 0.7rem;
    }
    
    .cert-title {
        font-size: 1.125rem;
    }
    
    .cert-description {
        font-size: 0.8rem;
    }
    
    .metric-card {
        padding: 1rem;
    }
    
    .metric-header {
        gap: 0.75rem;
    }
    
    .metric-icon {
        width: 32px;
        height: 32px;
    }
    
    .value-number {
        font-size: 1.25rem;
    }
    
    .step-marker {
        width: 50px;
        height: 50px;
    }
    
    .step-title {
        font-size: 0.8rem;
    }
    
    .step-description {
        font-size: 0.7rem;
    }
}
/* ==========================================================================
   Products & Solutions Page Styles
   ========================================================================== */

.products-solutions-page {
    background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 50%, #ffffff 100%);
}

/* Products Hero Section */
.products-hero {
    min-height: 70vh;
    padding: var(--spacing-2xl) 0;
}

.products-hero .hero-tagline {
    font-size: clamp(1.5rem, 3vw, 2rem);
}

/* Collapsible Sections */
.products-solutions-section {
    padding: 2% 0;
    position: relative;
}

.collapsible-section {
    margin-bottom: var(--spacing-sm);
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.collapsible-section:hover {
    box-shadow: 0 8px 32px rgba(0, 121, 156, 0.1);
}

.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-sm);
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.section-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-500) 30%, var(--electric-blue) 70%, transparent 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.section-header:hover::before {
    opacity: 1;
}

.header-content {
    flex: 1;
}

.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: rgba(0, 121, 156, 0.05);
    border: 1px solid rgba(0, 121, 156, 0.15);
    border-radius: 50px;
    padding: 0.75rem 1.5rem;
    margin-bottom: 1rem;
    backdrop-filter: blur(10px);
}

.section-badge .badge-icon {
    font-size: 1.25rem;
}

.section-badge .badge-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--secondary-blue);
    letter-spacing: 0.05em;
}

.section-title {
    margin: 0;
}

.section-title .title-main {
    display: block;
    font-size: clamp(2rem, 4vw, 2.8rem); /* Reduced from clamp(2.5rem, 5vw, 3.5rem) */
    font-weight: 700;
    color: var(--steel-900);
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
    background: var(--pangu-blue);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-align: right;
}

.section-title .title-tagline {
    display: block;
    font-size: 0.95rem; /* Reduced from 1.125rem */
    font-weight: 400;
    color: var(--steel-600);
    letter-spacing: 0.05em;
    text-align: right;
}

.resources-title {
    margin: 0;
}

.resources-title .title-main {
    display: block;
    font-size: clamp(2rem, 4vw, 2.8rem); /* Reduced from clamp(2.5rem, 5vw, 3.5rem) */
    font-weight: 700;
    color: var(--steel-900);
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
    background: var(--pangu-blue);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-align: left;
}

.resources-title .title-tagline {
    display: block;
    font-size: 0.95rem; /* Reduced from 1.125rem */
    font-weight: 400;
    color: var(--steel-600);
    letter-spacing: 0.05em;
    text-align: left;
}

.collapse-indicator {
    flex-shrink: 0;
    margin-left: var(--spacing-lg);
}

.collapse-indicator .chevron {
    color: var(--steel-600);
    transition: transform 0.3s ease, color 0.3s ease;
}

.section-header:hover .chevron {
    color: var(--teal-green-500);
}

.section-content {
    padding: 2% 0;
    max-height: none;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.section-content.collapsed {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
}

/* Product Cards Grid */
.products-grid,
.solutions-grid,
.accessories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: var(--spacing-xl);
    margin-top: var(--spacing-lg);
}

/* Product/Solution/Accessory Cards */
.product-card,
.solution-card,
.accessory-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

.product-card:hover,
.solution-card:hover,
.accessory-card:hover {
    transform: translateY(-8px);
    border-color: rgba(0, 121, 156, 0.2);
    box-shadow: 
        0 20px 40px rgba(45, 45, 50, 0.1),
        0 8px 16px rgba(0, 121, 156, 0.15);
}

.card-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(0, 121, 156, 0.1) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
}

/* Image Containers */
.product-image-container,
.solution-image-container,
.accessory-image-container {
    position: relative;
    min-height: 180px; /* Adjusted from !important to standard value */
    max-height: 250px; /* Adjusted from !important to standard value */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Carousel specific styles */
.carousel-container {
    position: relative;
    width: 100%;
    height: 100%; /* Ensure the container takes full height of product-image-container */
}

.carousel-images {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.5s ease-in-out;
}

.carousel-images .product-image,
.carousel-images .solution-image,
.carousel-images .accessory-image {
    width: 100%;
    height: 100%;
    object-fit: contain; /* Changed to contain to show full image without cropping */
    object-position: center;
    position: absolute; /* Position images absolutely within the carousel-images container */
    top: 0;
    left: 0;
    opacity: 0; /* Hide all images by default */
    transition: opacity 0.5s ease-in-out;
}

.carousel-images .product-image.active,
.carousel-images .solution-image.active,
.carousel-images .accessory-image.active {
    opacity: 1; /* Show only the active image */
}

.carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(255, 255, 255, 0.01);
    color: white;
    border: none;
    padding: 8px 12px;
    cursor: pointer;
    z-index: 10;
    font-size: 1.2rem;
    border-radius: 50%; /* Make buttons round */
    transition: background-color 0.3s ease;
    width: 35px; /* Fixed width */
    height: 35px; /* Fixed height */
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-nav:hover {
    background-color: rgba(0, 0, 0, 0.8);
}

.carousel-nav.prev {
    left: 10px;
}

.carousel-nav.next {
    right: 10px;
}


/* Existing styles that also apply to carousel images */
.product-image,
.solution-image,
.accessory-image {
    /* These styles will apply to individual images within the carousel */
    object-fit: contain; /* Changed to contain for carousel images */
    object-position: center;
    transition: all 0.3s ease;
}


/* Remove image-placeholder as it's no longer needed with explicit image elements */
.image-placeholder {
    display: none;
}

.image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
    padding: var(--spacing-md);
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.product-card:hover .image-overlay,
.solution-card:hover .image-overlay,
.accessory-card:hover .image-overlay {
    transform: translateY(0);
}

.overlay-text {
    color: white;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Card Content */
.product-content,
.solution-content,
.accessory-content {
    padding: var(--spacing-lg);
}

.product-header,
.solution-header,
.accessory-header {
    margin-bottom: var(--spacing-md);
}

.product-category,
.solution-category,
.accessory-category {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--secondary-blue);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
}

.product-name,
.solution-name,
.accessory-name {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--pangu-blue);
    margin: 0 0 0.5rem 0;
    line-height: 1.2;
}

.product-subtitle,
.solution-subtitle,
.accessory-subtitle {
    font-size: 0.875rem;
    color: var(--steel-600);
    margin: 0;
}

.product-description,
.solution-description,
.accessory-description {
    margin-bottom: var(--spacing-md);
}

.product-description p,
.solution-description p,
.accessory-description p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--steel-600);
    margin: 0;
}

/* Features and Capabilities */
.product-features,
.solution-capabilities,
.accessory-features {
    margin-bottom: var(--spacing-md);
}

.features-title,
.capabilities-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--steel-800);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
}

.features-list,
.capabilities-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.features-list li,
.capabilities-list li {
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--steel-700);
    position: relative;
    padding-left: 1rem;
    margin-bottom: 0.5rem;
}

.features-list li::before,
.capabilities-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 4px;
    height: 4px;
    background: var(--teal-green-500);
    border-radius: 50%;
    transform: translateY(-50%);
}

/* Technique Tags */
.product-techniques {
    margin-bottom: var(--spacing-md);
}

.techniques-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--steel-800);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
}

.technique-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.technique-tag {
    background: linear-gradient(135deg, var(--electric-blue) 0%, var(--electric-blue-dark) 100%);
    color: white;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Specifications */
.product-specs,
.solution-specs,
.accessory-specs {
    background: rgba(0, 121, 156, 0.03);
    border: 1px solid rgba(0, 121, 156, 0.1);
    border-radius: 12px;
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.spec-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.25rem 0;
}

.spec-item:not(:last-child) {
    border-bottom: 1px solid rgba(0, 121, 156, 0.1);
    margin-bottom: 0.5rem;
    padding-bottom: 0.75rem;
}

.spec-label {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--steel-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.spec-value {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--steel-800);
}

/* Action Buttons */
.product-actions,
.solution-actions,
.accessory-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.product-btn,
.solution-btn,
.accessory-btn {
    flex: 1;
    min-width: 120px;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    text-decoration: none;
    font-size: 1.25rem;
    font-weight: 800;
    text-align: center;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.product-btn.primary,
.solution-btn.primary,
.accessory-btn.primary {
    background: var(--secondary-blue);
    color: white;
    border-color: var(--outline-color);
}

.product-btn.primary:hover,
.solution-btn.primary:hover,
.accessory-btn.primary:hover {
    background: linear-gradient(135deg, var(--orange-700), var(--orange-600));
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 90, 95, 0.3);
}

.product-btn.secondary,
.solution-btn.secondary,
.accessory-btn.secondary {
    background: transparent;
    color: var(--electric-blue);
    border-color: var(--electric-blue);
}

.product-btn.secondary:hover,
.solution-btn.secondary:hover,
.accessory-btn.secondary:hover {
    background: var(--electric-blue);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 121, 156, 0.3);
}

/* Contact CTA Section */
.contact-cta-section {
    background: linear-gradient(135deg, var(--electric-blue-light) 0%, var(--pangu-blue) 100%);
    color: white;
    padding: 2% 0;
    position: relative;
    overflow: hidden;
}

.contact-cta-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 30%, var(--electric-blue-light) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, var(--pangu-blue) 0%, transparent 50%);
    pointer-events: none;
}

.cta-content {
    text-align: center;
    position: relative;
    z-index: 2;
}

.cta-header {
    margin-bottom: var(--spacing-xl);
}

.cta-title {
    font-size: clamp(2rem, 4vw, 2.5rem);
    font-weight: 700;
    color: white;
    margin: 0 0 var(--spacing-md) 0;
}

.cta-description {
    font-size: 1.125rem;
    line-height: 1.6;
    color: white !important;
    align-self: center;
}

.cta-actions {
    display: flex;
    justify-content: center;
    gap: var(--spacing-lg);
    flex-wrap: wrap;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .products-grid,
    .solutions-grid,
    .accessories-grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: var(--spacing-lg);
    }
}

@media (max-width: 768px) {
    .products-solutions-section {
        padding: 2% 0;
    }
    
    .section-header {
        padding: var(--spacing-lg);
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-md);
    }
    
    .collapse-indicator {
        margin-left: 0;
        align-self: flex-end;
    }
    
    .section-content {
        padding: 2% 0;
    }
    
    .products-grid,
    .solutions-grid,
    .accessories-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
    }
    
    .product-image-container,
    .solution-image-container,
    .accessory-image-container {
        height: 250px;
        min-height: 250px;
    }
    
    
    .product-content,
    .solution-content,
    .accessory-content {
        padding: var(--spacing-md);
    }
    
    .product-actions,
    .solution-actions,
    .accessory-actions {
        flex-direction: column;
    }
    
    .cta-actions {
        flex-direction: column;
        align-items: center;
    }
    
    .cta-actions .hero-btn {
        width: 100%;
        max-width: 300px;
    }
}

@media (max-width: 480px) {
    .products-hero {
        min-height: 60vh;
        padding: var(--spacing-xl) 0;
    }
    
    .section-badge {
        padding: 2% 0;
        gap: 0.5rem;
    }
    
    .section-badge .badge-text {
        font-size: 0.75rem;
    }
    
    .section-title .title-main {
        font-size: 1.75rem;
        text-align: right;
    }
    
    .section-title .title-tagline {
        font-size: 0.95rem;
        text-align: right;
    }

    .resources-title .title-main {
        font-size: 1.75rem;
        text-align: left;
    }
    
    .resources-title .title-tagline {
        font-size: 0.95rem;
        text-align: left;
    }
    
    .product-name,
    .solution-name,
    .accessory-name {
        font-size: 1.25rem;
    }
    
    .technique-tags {
        gap: 0.25rem;
    }
    
    .technique-tag {
        font-size: 0.7rem;
        padding: 0.2rem 0.5rem;
    }
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */

.text-center {
    text-align: center;
}

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

.text-right {
    text-align: right;
}

.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;
}

.skip-link {
    position: absolute;
    left: -9999px;
    top: 6px;
    z-index: 999999;
    color: var(--steel-900);
    text-decoration: none;
}

.skip-link:focus {
    display: block;
    left: 6px;
    top: 7px;
    padding: 8px 16px;
    background: var(--steel-100);
    color: var(--teal-green-500);
    text-decoration: none;
    border-radius: var(--radius-sm);
}

/* ==========================================================================
   Resources Page Styles
   ========================================================================== */

.resources-page {
    background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 50%, #ffffff 100%);
}

/* Resources Hero Section */
.resources-hero {
    min-height: 70vh;
    padding: var(--spacing-2xl) 0;
}


.resources-hero .hero-tagline {
    font-size: clamp(1.5rem, 3vw, 2rem);
}

/* Resources Section */
.resources-section {
    padding: 2% 0;
    position: relative;
}

/* Resources Grid */
.resources-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: var(--spacing-xl);
    margin-top: var(--spacing-lg);
}

/* Resource Cards */
.resource-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    transform: translateY(0);
    display: flex;
    flex-direction: column;
    min-height: 450px;
}

.resource-card:hover {
    transform: translateY(-8px);
    border-color: rgba(0, 121, 156, 0.2);
    box-shadow: 
        0 20px 40px rgba(45, 45, 50, 0.1),
        0 8px 16px rgba(0, 121, 156, 0.15);
}

.resource-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-500) 30%, var(--teal-green-500) 70%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

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

/* Resource Image Container */
.resource-image-container {
    position: relative;
    height: 180px;
    overflow: hidden;
}

.resource-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s ease;
}

.resource-card:hover .resource-image {
    transform: scale(1.05);
}

.image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
    padding: var(--spacing-md);
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.resource-card:hover .image-overlay {
    transform: translateY(0);
}

.overlay-text {
    color: white;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Resource Content */
.resource-content {
    padding: var(--spacing-lg);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.resource-header {
    margin-bottom: var(--spacing-md);
}

.resource-date {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--pangu-blue);
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.resource-category {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--steel-500);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.75rem;
}

.resource-title {
    margin: 0;
}

.resource-title a {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--steel-900);
    text-decoration: none;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.resource-title a:hover {
    color: var(--teal-green-500);
}

.resource-description {
    margin: var(--spacing-md) 0;
    flex: 1;
}

.resource-description p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--steel-600);
    margin: 0;
}

/* Paper-specific styles */
.paper-authors {
    margin: var(--spacing-sm) 0;
    font-size: 0.875rem;
    color: var(--steel-700);
    line-height: 1.4;
}

.paper-abstract {
    margin: var(--spacing-md) 0;
    background: rgba(0, 121, 156, 0.03);
    border: 1px solid rgba(0, 121, 156, 0.1);
    border-radius: 12px;
    padding: var(--spacing-md);
}

.paper-abstract h4 {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--steel-800);
    margin: 0 0 0.5rem 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.paper-abstract p {
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--steel-600);
    margin: 0;
}

.paper-details,
.patent-details {
    margin: var(--spacing-md) 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.detail-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(45, 45, 50, 0.06);
}

.detail-item:last-child {
    border-bottom: none;
}

.detail-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--steel-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    min-width: 80px;
    flex-shrink: 0;
}

.detail-value {
    font-size: 0.875rem;
    color: var(--steel-800);
    text-align: right;
    flex: 1;
    margin-left: 1rem;
}

/* Patent-specific styles */
.patent-status {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
}

.patent-status.granted {
    background: rgba(16, 185, 129, 0.1);
    color: #059669;
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.patent-status.pending {
    background: rgba(245, 158, 11, 0.1);
    color: #d97706;
    border: 1px solid rgba(245, 158, 11, 0.2);
}

/* Resource Tags */
.resource-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: var(--spacing-md) 0;
}

.tag {
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.1) 0%, rgba(0, 121, 156, 0.05) 100%);
    color: var(--pangu-blue);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    border: 1px solid rgba(0, 121, 156, 0.2);
    transition: all 0.3s ease;
}

.resource-card:hover .tag {
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.15) 0%, rgba(0, 121, 156, 0.1) 100%);
    border-color: rgba(0, 121, 156, 0.3);
    transform: translateY(-1px);
}

/* Resource Actions */
.resource-actions {
    display: flex;
    gap: 0.75rem;
    margin-top: auto;
    flex-wrap: wrap;
}

.resource-btn {
    flex: 1;
    min-width: 120px;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.resource-btn.primary {
    background: var(--secondary-blue);
    color: white;
    border-color: var(--outline-color);
}

.resource-btn.primary:hover {
    background: var(--tertiary-blue);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 90, 95, 0.3);
}

.resource-btn.secondary {
    background: transparent;
    color: var(--white);
    border-color: var(--pangu-blue);
}

.resource-btn.secondary:hover {
    background: var(--white);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 121, 156, 0.3);
}

.resource-btn svg {
    width: 16px;
    height: 16px;
}

/* Responsive Design for Resources */
@media (max-width: 1024px) {
    .resources-grid {
        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
        gap: var(--spacing-lg);
    }
    
    .resource-card {
        min-height: 420px;
    }
}

@media (max-width: 768px) {
    .resources-section {
        padding: 2% 0;
    }
    
    .resources-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
        padding: 0 1rem;
    }
    
    .resource-card {
        min-height: 400px;
    }
    
    .resource-image-container {
        height: 150px;
    }
    
    .resource-content {
        padding: var(--spacing-md);
    }
    
    .resource-actions {
        flex-direction: column;
    }
    
    .resource-btn {
        min-width: auto;
    }
    
    .detail-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }
    
    .detail-label {
        min-width: auto;
    }
    
    .detail-value {
        text-align: left;
        margin-left: 0;
    }
}

@media (max-width: 480px) {
    .resources-hero {
        min-height: 60vh;
        padding: var(--spacing-xl) 0;
    }
    
    .resource-card {
        min-height: 380px;
        border-radius: 16px;
    }
    
    .resource-image-container {
        height: 120px;
    }
    
    .resource-content {
        padding: var(--spacing-sm);
    }
    
    .resource-title a {
        font-size: 1.125rem;
    }
    
    .resource-tags {
        gap: 0.25rem;
    }
    
    .tag {
        font-size: 0.7rem;
        padding: 0.2rem 0.5rem;
    }
    
    .paper-abstract,
    .patent-details {
        padding: var(--spacing-sm);
    }
}

/* Animation enhancements for resources */
.resource-card {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease, box-shadow 0.3s ease;
}

.resource-card.animate-in {
    opacity: 1;
    transform: translateY(0);
}

/* Collapsible section styles for resources */
.section-content {
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.section-content.collapsed {
    max-height: 0;
    overflow: hidden;
}

.chevron {
    transition: transform 0.3s ease;
}

.section-header:hover {
    background: rgba(0, 121, 156, 0.05);
    border-radius: 12px;
}

.section-header:focus {
    outline: 2px solid var(--pangu-blue);
    outline-offset: 2px;
    border-radius: 12px;
}

/* ==========================================================================
   Contact Section
   ========================================================================== */

.contact-section {
    background: linear-gradient(135deg, 
        rgba(45, 45, 50, 0.03) 0%, 
        rgba(247, 115, 22, 0.02) 50%, 
        rgba(45, 45, 50, 0.03) 100%);
    border-top: 1px solid rgba(45, 45, 50, 0.08);
    padding: 2% 0;
    position: relative;
    overflow: hidden;
}

.contact-header {
    text-align: center;
    margin-bottom: 3rem;
}

.contact-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(248, 171, 6, 0.215);
    padding: 0.5rem 1rem;
    border-radius: 50px;
    border: 1px solid var(--coral-red);
    margin-bottom: 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--teal-green-500);
}

.contact-badge .badge-icon {
    font-size: 1rem;
}

.contact-title {
    margin: 0;
}

.contact-title .title-main {
    display: block;
    font-size: clamp(2rem, 4vw, 2.8rem); /* Reduced from clamp(2.5rem, 5vw, 3.5rem) */
    font-weight: 700;
    color: var(--steel-900);
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
    background: var(--pangu-blue);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.contact-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    max-width: 1000px;
    margin: 0 auto;
    align-items: center;
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.company-details {
    background: var(--steel-50);
    backdrop-filter: blur(20px);
    border: 1px solid var(--steel-50);
    border-radius: 16px;
    padding: 1.5rem;
    position: relative;
    overflow: hidden;
}

.company-details::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--steel-500) 0%, var(--steel-900) 100%);
}

.company-details-footer {
    background: var(--pangu-blue);
    backdrop-filter: blur(20px);
    border: 1px solid var(--pangu-blue);
    border-radius: 16px;
    padding: 0rem;
    position: relative;
    overflow: hidden;
}

.footer-taglines {
    text-align: center;
    margin-bottom: 2.5rem;
    color: var(--steel-900);
}

.company-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--pangu-blue) !important;
    margin: 0 0 1rem 0;
}

.address p {
    margin: 0;
    color: var(--steel-900);
    line-height: 1.6;
}

.contact-methods {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.contact-item {
    display: flex;
    justify-content: space-between;
    align-items: left;
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(45, 45, 50, 0.06);
    border-radius: 12px;
    padding: 1rem 1.25rem;
    transition: all 0.3s ease;
}

.address-value {
    text-align: right !important;
}

.contact-item:hover {
    background: rgba(255, 255, 255, 0.7);
    border-color: rgba(247, 115, 22, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(247, 115, 22, 0.1);
}

.contact-label {
    font-weight: 600;
    color: var(--steel-700);
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    min-width: 80px;
}

.contact-us-value {
    color: var(--pangu-blue) !important;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-value {
    color: var(--pangu-blue) !important;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-value:hover {
    color: var(--teal-green-500);
}

.contact-link {
    color: var(--pangu-blue) !important;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-link:hover {
    color: var(--teal-green-500) !important;
    text-decoration: underline;
}

.contact-cta {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
    border-radius: 20px;
    padding: 7.25rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.contact-cta::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(135deg, 
        var(--steel-50) 0%, 
        var(--steel-100) 50%, 
        var(--steel-50) 100%);
    border-radius: 22px;
    z-index: -1;
}

.cta-content h4 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--steel-900);
    margin: 0 0 0.5rem 0;
}

.cta-content p {
    color: var(--steel-600);
    margin: 0 0 2rem 0;
    line-height: 1.6;
}

.contact-ambiance {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
}

.contact-grid {
    position: absolute;
    top: 20%;
    right: 10%;
    width: 120px;
    height: 120px;
    background: 
        linear-gradient(90deg, transparent 49%, rgba(247, 115, 22, 0.1) 50%, transparent 51%),
        linear-gradient(0deg, transparent 49%, rgba(247, 115, 22, 0.1) 50%, transparent 51%);
    background-size: 15px 15px;
    opacity: 0.6;
    animation: contact-grid-pulse 3s ease-in-out infinite;
}

.precision-beam {
    position: absolute;
    bottom: 20%;
    left: 10%;
    width: 200px;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-500) 50%, transparent 100%);
    opacity: 0.4;
    animation: precision-beam-scan 4s ease-in-out infinite;
}

/* Contact Animations */
@keyframes contact-grid-pulse {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.05); }
}

@keyframes precision-beam-scan {
    0%, 100% { opacity: 0.4; transform: translateX(0); }
    50% { opacity: 0.7; transform: translateX(30px); }
}

/* Responsive Contact */
@media (max-width: 768px) {
    .contact-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .contact-title .title-main {
        font-size: 2rem;
    }
    
    .company-details,
    .contact-cta {
        padding: 1.25rem;
    }
    
    .contact-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    
    .contact-label {
        min-width: auto;
    }
}

/* ==========================================================================
   Resources Snapshot Section Styles
   ========================================================================== */

.resources-snapshot-section {
    background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 50%, #ffffff 100%);
    padding: 2% 0;
    position: relative;
    overflow: hidden;
}

.resources-snapshot-header {
    text-align: center;
    margin-bottom: var(--spacing-3xl);
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.resources-snapshot-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    background: rgba(0, 156, 146, 0.14) !important;
    border: 1px solid rgba(0, 121, 156, 0.15);
    border-radius: 50px;
    padding: 0.75rem 1.5rem;
    margin-bottom: 2rem;
    backdrop-filter: blur(10px);
    text-align: center;
}

.resources-snapshot-badge .badge-icon {
    font-size: 1.25rem;
    filter: grayscale(1) brightness(0.5);
}

.resources-snapshot-badge .badge-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--teal-green-500);
    letter-spacing: 0.05em;
}

.resources-snapshot-title {
    margin: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.resources-snapshot-title .title-main {
    display: block;
    font-size: clamp(2rem, 4vw, 2.8rem); /* Reduced from clamp(2.5rem, 5vw, 3.5rem) */
    font-weight: 700;
    color: var(--steel-900);
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
    background: var(--pangu-blue);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.resources-snapshot-title .title-tagline {
    display: block;
    font-size: 0.95rem;
    font-weight: 400;
    color: var(--steel-600);
    letter-spacing: 0.05em;
}

/* Horizontal Events Section */
.events-horizontal-section {
    margin-bottom: var(--spacing-xl);
    position: relative;
    z-index: 2;
}

.events-header {
    text-align: center;
    margin-bottom: var(--spacing-xl);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.events-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: rgba(0, 121, 156, 0.05);
    border: 1px solid rgba(0, 121, 156, 0.15);
    border-radius: 50px;
    padding: 0.5rem 1rem;
    margin-bottom: 1rem;
    backdrop-filter: blur(10px);
    text-align: center;
}

.events-badge .badge-icon {
    font-size: 1rem;
}

.events-badge .badge-text {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--teal-green-500);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.events-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--steel-900);
    margin: 0;
    text-align: center;
    background: linear-gradient(135deg, var(--steel-900) 0%, var(--teal-green-500) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.events-horizontal-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-xl);
    margin-bottom: var(--spacing-lg);
}

.event-card {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    transform: translateY(0);
}

.event-card:hover {
    transform: translateY(-8px);
    border-color: rgba(0, 121, 156, 0.2);
    box-shadow: 
        0 20px 40px rgba(45, 45, 50, 0.1),
        0 8px 16px rgba(0, 121, 156, 0.15);
}

.event-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-500) 30%, var(--teal-green-500) 70%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

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

.event-image-placeholder {
    position: relative;
    height: 120px;
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.1) 0%, rgba(255, 138, 142, 0.1) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    object-fit: fill !important;
}

.event-image-placeholder::before {
    font-size: 2.5rem;
    opacity: 0.6;
    position: absolute;
    z-index: 1;
    object-fit: fill;
}

.image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 121, 156, 0.8));
    padding: 0.75rem;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    z-index: 2;
}

.event-card:hover .image-overlay {
    transform: translateY(0);
}

.overlay-text {
    color: white;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: center;
}

.event-content {
    padding: var(--spacing-lg);
    text-align: center;
}

.event-date {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--teal-green-500);
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.event-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--steel-900);
    margin: 0 0 0.5rem 0;
    line-height: 1.3;
}

.event-location {
    font-size: 0.875rem;
    color: var(--steel-600);
    margin: 0;
}

.events-cta {
    text-align: center;
    margin-top: var(--spacing-lg);
}

.resource-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--orange-600);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.875rem;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.resource-link:hover {
    color: var(--orange-700);
    transform: translateX(4px);
}

.link-arrow {
    transition: transform 0.3s ease;
}

.resource-link:hover .link-arrow {
    transform: translateX(4px);
}

/* Resources Category Grid - 3 Boxes */
.resources-category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1400px;
    margin: 0 auto var(--spacing-3xl);
    position: relative;
    z-index: 2;
}

.resource-category-box {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    transform: translateY(0);
    min-height: 500px;
    display: flex;
    flex-direction: column;
}

.resource-category-box:hover {
    transform: translateY(-12px);
    border-color: rgba(0, 121, 156, 0.2);
    box-shadow: 
        0 25px 50px rgba(45, 45, 50, 0.12),
        0 12px 20px rgba(0, 121, 156, 0.15);
}

.resource-category-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--orange-500) 30%, var(--orange-600) 70%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.resource-category-box:hover::before {
    opacity: 1;
}

.resource-category-box .category-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 2rem;
    position: relative;
}

.resource-category-box .category-link:hover {
    color: inherit;
}

.resource-category-box .category-header {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.resource-category-box .category-icon {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.1) 0%, rgba(255, 138, 142, 0.1) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.resource-category-box:hover .category-icon {
    transform: scale(1.05);
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.15) 0%, rgba(255, 138, 142, 0.15) 100%);
}

.resource-category-box .icon-graphic {
    position: relative;
    z-index: 2;
    width: 60px;
    height: 60px;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
}

.news-icon,
.papers-icon,
.patents-icon {
    font-size: 2rem;
    transition: all 0.3s ease;
}

.resource-category-box:hover .news-icon,
.resource-category-box:hover .papers-icon,
.resource-category-box:hover .patents-icon {
    transform: scale(1.1);
}

.resource-category-box .icon-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 121, 156, 0.5));
    padding: 0.5rem;
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.resource-category-box:hover .icon-overlay {
    transform: translateY(0);
}

.resource-category-box .overlay-text {
    color: white;
    font-weight: 600;
    font-size: 0.5rem;
    letter-spacing: -1.5em;
    text-align: center;
}

.resource-category-box .category-meta {
    flex: 1;
}

.resource-category-box .category-badge {
    display: inline-block;
    background: rgba(0, 122, 156, 0);
    color: var(--orange-600);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.0rem 0.0rem;
    border-radius: 12px;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.resource-category-box .category-name {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--steel-900);
    margin: 0 0 0.5rem 0;
    line-height: 1.2;
}

.resource-category-box .category-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.resource-category-box .category-description {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--steel-600);
    margin: 0;
}

.resource-category-box .category-highlights {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.resource-category-box .highlight-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(45, 45, 50, 0.06);
}

.resource-category-box .highlight-item:last-child {
    border-bottom: none;
}

.resource-category-box .highlight-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--steel-800);
    min-width: 120px;
}

.resource-category-box .highlight-value {
    font-size: 0.8rem;
    color: var(--steel-600);
    text-align: right;
    font-family: var(--font-family-mono);
}

.resource-category-box .category-features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: auto;
}

.resource-category-box .feature-tag {
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.1) 0%, rgba(0, 121, 156, 0.05) 100%);
    color: var(--electric-blue);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    border: 1px solid rgba(0, 121, 156, 0.2);
    transition: all 0.3s ease;
}

.resource-category-box:hover .feature-tag {
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.15) 0%, rgba(0, 121, 156, 0.1) 100%);
    border-color: rgba(0, 121, 156, 0.3);
    transform: translateY(-1px);
}

.resource-category-box .category-footer {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(45, 45, 50, 0.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.resource-category-box .category-cta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--orange-600);
    font-weight: 600;
    font-size: 0.875rem;
    transition: all 0.3s ease;
}

.resource-category-box:hover .category-cta {
    color: var(--orange-700);
    transform: translateX(4px);
}

.resource-category-box .cta-text {
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.resource-category-box .cta-arrow {
    font-size: 1.25rem;
    transition: all 0.3s ease;
}

.resource-category-box:hover .cta-arrow {
    transform: translateX(4px);
}

.resource-category-box .category-pulse {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: rgba(45, 45, 50, 0.05);
    overflow: hidden;
}

.resource-category-box .category-pulse::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent 0%, var(--orange-500) 50%, transparent 100%);
    animation: category-pulse-flow 3s ease-in-out infinite;
}

.resource-category-box .card-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(0, 121, 156, 0.1) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
}

.resource-category-box:hover .card-glow {
    opacity: 1;
}

.resources-snapshot-cta {
    text-align: center;
    margin-top: var(--spacing-xl);
}

.resources-ambiance {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1;
}

.knowledge-beam {
    position: absolute;
    top: 20%;
    left: 10%;
    width: 200px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(0, 121, 156, 0.3), transparent);
    opacity: 0.3;
    animation: knowledge-beam-scan 6s ease-in-out infinite;
}

.insight-grid {
    position: absolute;
    bottom: 30%;
    right: 10%;
    width: 100px;
    height: 100px;
    background: 
        linear-gradient(90deg, transparent 49%, rgba(0, 121, 156, 0.1) 50%, transparent 51%),
        linear-gradient(0deg, transparent 49%, rgba(0, 121, 156, 0.1) 50%, transparent 51%);
    background-size: 20px 20px;
    opacity: 0.3;
    animation: insight-grid-pulse 5s ease-in-out infinite;
}

.innovation-wave {
    position: absolute;
    top: 60%;
    left: 20%;
    width: 150px;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--orange-500) 50%, transparent 100%);
    opacity: 0.4;
    animation: innovation-wave-flow 4s ease-in-out infinite;
}

/* Resources Animations */
@keyframes knowledge-beam-scan {
    0%, 100% { opacity: 0.3; transform: translateX(0); }
    50% { opacity: 0.6; transform: translateX(100px); }
}

@keyframes insight-grid-pulse {
    0%, 100% { opacity: 0.3; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.1); }
}

@keyframes innovation-wave-flow {
    0%, 100% { opacity: 0.4; transform: translateX(0); }
    50% { opacity: 0.7; transform: translateX(50px); }
}

@keyframes category-pulse-flow {
    0% { left: -100%; }
    50% { left: 100%; }
    100% { left: 100%; }
}

/* Responsive Design for Resources */
@media (max-width: 1200px) {
    .events-horizontal-grid {
        gap: var(--spacing-lg);
    }
    
    .resources-category-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }
    
    .resource-category-box {
        min-height: 480px;
    }
    
    .resource-category-box .category-link {
        padding: 1.5rem;
    }
    
    .resource-category-box .category-icon {
        width: 70px;
        height: 70px;
    }
    
    .resource-category-box .icon-graphic {
        width: 50px;
        height: 50px;
    }
}

@media (max-width: 992px) {
    .events-horizontal-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-lg);
    }
    
    .event-card:nth-child(3) {
        grid-column: 1 / -1;
        max-width: 400px;
        margin: 0 auto;
    }
    
    /* Keep resource category boxes horizontal on tablets and larger */
    .resources-category-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.25rem;
    }
    
    .resource-category-box {
        min-height: 460px;
    }
}

@media (max-width: 768px) {
    .resources-category-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    
    .resource-category-box:nth-child(3) {
        grid-column: 1 / -1;
        max-width: 500px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .resources-snapshot-section {
        padding: 2% 0;
    }
    
    .resources-snapshot-header {
        margin-bottom: var(--spacing-xl);
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    
    .resources-snapshot-title .title-main {
        font-size: 2.5rem;
    }
    
    .events-horizontal-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
        padding: 0 1rem;
    }
    
    .event-card:nth-child(3) {
        grid-column: auto;
        max-width: none;
        margin: 0;
    }
    
    .event-image-placeholder {
        height: 100px;
    }
    
    .event-content {
        padding: var(--spacing-md);
    }
    
    .resources-category-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 0 1rem;
    }
    
    .resource-category-box:nth-child(3) {
        grid-column: auto;
        max-width: none;
        margin: 0;
    }
    
    .resource-category-box {
        min-height: 450px;
    }
    
    .resource-category-box .category-header {
        gap: 1rem;
    }
    
    .resource-category-box .category-icon {
        width: 60px;
        height: 60px;
    }
    
    .resource-category-box .icon-graphic {
        width: 40px;
        height: 40px;
    }
    
    .resource-category-box .category-name {
        font-size: 1.25rem;
    }
    
    .resource-category-box .category-highlights {
        gap: 0.5rem;
    }
    
    .resource-category-box .highlight-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }
    
    .resource-category-box .highlight-label {
        min-width: auto;
    }
    
    .resource-category-box .highlight-value {
        text-align: left;
    }
}

@media (max-width: 480px) {
    .resources-snapshot-badge {
        padding: 0.5rem 1rem;
        gap: 0.5rem;
    }
    
    .resources-snapshot-title .title-main {
        font-size: 2rem;
    }
    
    .events-title {
        font-size: 1.5rem;
        text-align: center;
    }
    
    .event-image-placeholder {
        height: 80px;
    }
    
    .event-content {
        padding: var(--spacing-sm);
    }
    
    .resource-category-box .category-link {
        padding: 1.25rem;
    }
    
    .resource-category-box {
        min-height: 420px;
    }
    
    .resource-category-box .category-icon {
        width: 50px;
        height: 50px;
    }
    
    .resource-category-box .icon-graphic {
        width: 35px;
        height: 35px;
    }
    
    .news-icon,
    .papers-icon,
    .patents-icon {
        font-size: 1.5rem;
    }
    
    .resource-category-box .category-name {
        font-size: 1.125rem;
    }
    
    .resource-category-box .category-description {
        font-size: 0.875rem;
    }
    
    .resource-category-box .category-features {
        gap: 0.25rem;
    }
    
    .resource-category-box .feature-tag {
        font-size: 0.7rem;
        padding: 0.2rem 0.5rem;
    }
}

/* ==========================================================================
   Expertise Section
   ========================================================================== */

.expertise-section {
    background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 50%, #f1f3f4 100%);
    padding: 2% 0;
    position: relative;
    overflow: hidden;
}

/* Expertise Header */
.expertise-header {
    text-align: center;
    margin-bottom: 4rem;
    position: relative;
    z-index: 2;
}

.expertise-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: rgba(0, 121, 156, 0.05);
    border: 1px solid rgba(0, 121, 156, 0.15);
    border-radius: 50px;
    padding: 0.75rem 1.5rem;
    margin-bottom: 2rem;
    backdrop-filter: blur(10px);
}

.expertise-badge .badge-icon {
    font-size: 1.25rem;
    filter: grayscale(1) brightness(0.5);
}

.expertise-badge .badge-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--pangu-blue);
    letter-spacing: 0.05em;
}

.expertise-title {
    margin: 0;
}

.expertise-title .title-main {
    display: block;
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 700;
    color: var(--steel-900);
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
    background: var(--pangu-blue);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.expertise-title .title-tagline {
    display: block;
    font-size: 0.95rem;
    font-weight: 400;
    color: var(--steel-600);
    letter-spacing: 0.05em;
}

/* Expertise Content */
.expertise-content {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
    position: relative;
    z-index: 2;
}

.expertise-description {
    max-width: 600px;
}

.description-highlight {
    margin-bottom: 1.5rem;
}

.highlight-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--pangu-blue);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    position: relative;
    padding-left: 1.5rem;
}

.highlight-text::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 1px;
    background: var(--pangu-blue);
}

.expertise-lead {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--steel-600);
    margin-bottom: 1.5rem;
    text-align: justify;
}

.expertise-detail {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--steel-600);
    margin-bottom: 2rem;
    text-align: justify;
}

/* R&D Achievements */
.rd-achievements {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
    border-radius: 20px;
    padding: 2rem;
    position: relative;
    overflow: hidden;
}

.rd-achievements::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--pangu-blue) 50%, transparent 100%);
}

.achievement-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.achievement-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 12px;
    border: 1px solid rgba(0, 121, 156, 0.1);
    transition: all 0.3s ease;
}

.achievement-item:hover {
    transform: translateY(-4px);
    border-color: rgba(0, 121, 156, 0.2);
    box-shadow: 0 8px 24px rgba(0, 121, 156, 0.1);
}

.achievement-icon {
    flex-shrink: 0;
}

.icon-wrapper {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.icon-wrapper.patents {
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.1) 0%, rgba(0, 121, 156, 0.2) 100%);
}

.icon-wrapper.award {
    background: linear-gradient(135deg, rgba(255, 180, 6, 0.1) 0%, rgba(255, 180, 6, 0.2) 100%);
}

.icon-wrapper.nodes {
    background: linear-gradient(135deg, rgba(60, 214, 161, 0.1) 0%, rgba(60, 214, 161, 0.2) 100%);
}

.icon-wrapper.heritage {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.1) 0%, rgba(139, 92, 246, 0.2) 100%);
}

.achievement-number {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--pangu-blue);
    font-family: var(--font-family-mono);
}

.achievement-symbol {
    font-size: 2rem;
    filter: grayscale(0.3);
}

.achievement-content {
    flex: 1;
}

.achievement-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--steel-900);
    margin-bottom: 0.5rem;
}

.achievement-desc {
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--steel-600);
    margin: 0;
}

/* Expertise Ambiance */
.expertise-ambiance {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1;
}

.innovation-particles {
    position: absolute;
    top: 20%;
    right: 10%;
    width: 200px;
    height: 200px;
    background-image: 
        radial-gradient(2px 2px at 20% 30%, var(--pangu-blue), transparent),
        radial-gradient(2px 2px at 40% 70%, var(--teal-green-500), transparent),
        radial-gradient(1px 1px at 90% 40%, var(--pangu-blue), transparent);
    background-size: 40px 40px, 30px 30px, 20px 20px;
    animation: expertise-particles-float 15s linear infinite;
    opacity: 0.4;
}

.research-beam {
    position: absolute;
    top: 60%;
    left: 0;
    width: 300px;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--pangu-blue) 50%, transparent 100%);
    opacity: 0.3;
    animation: research-beam-scan 6s ease-in-out infinite;
}

.tech-grid {
    position: absolute;
    bottom: 20%;
    right: 0;
    width: 150px;
    height: 150px;
    background: 
        linear-gradient(90deg, transparent 49%, rgba(0, 121, 156, 0.1) 50%, transparent 51%),
        linear-gradient(0deg, transparent 49%, rgba(0, 121, 156, 0.1) 50%, transparent 51%);
    background-size: 20px 20px;
    opacity: 0.3;
    animation: tech-grid-pulse 4s ease-in-out infinite;
}

@keyframes expertise-particles-float {
    0%, 100% { transform: translateY(0px) translateX(0px); }
    50% { transform: translateY(-20px) translateX(10px); }
}

@keyframes research-beam-scan {
    0%, 100% { opacity: 0.3; transform: translateX(0); }
    50% { opacity: 0.6; transform: translateX(100px); }
}

@keyframes tech-grid-pulse {
    0%, 100% { opacity: 0.3; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.05); }
}

/* ==========================================================================
   Customers Section
   ========================================================================== */

.customers-section {
    background: linear-gradient(180deg, #f6f6f6 0%, #ffffff 50%, #f6f6f6 100%);
    padding: 2% 0;
    position: relative;
    overflow: hidden;
}

/* Customers Header */
.customers-header {
    text-align: center;
    margin-bottom: 4rem;
    position: relative;
    z-index: 2;
}

.customers-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: rgba(255, 180, 6, 0.05);
    border: 1px solid rgba(255, 180, 6, 0.15);
    border-radius: 50px;
    padding: 0.75rem 1.5rem;
    margin-bottom: 2rem;
    backdrop-filter: blur(10px);
}

.customers-badge .badge-icon {
    font-size: 1.25rem;
    filter: grayscale(1) brightness(0.5);
}

.customers-badge .badge-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--coral-red);
    letter-spacing: 0.05em;
}

.customers-title {
    margin: 0;
}

.customers-title .title-main {
    display: block;
    font-size: clamp(2rem, 4vw, 2.8rem); /* Reduced from clamp(2.5rem, 5vw, 3.5rem) */
    font-weight: 700;
    color: var(--steel-900);
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
    background: var(--pangu-blue);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.customers-title .title-tagline {
    display: block;
    font-size: 0.95rem;
    font-weight: 400;
    color: var(--steel-600);
    letter-spacing: 0.05em;
}

/* Customer Stats */
.customer-stats {
    max-width: 800px;
    margin: 0 auto 4rem;
    text-align: center;
}

.stat-highlight {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(6, 255, 147, 0.2);
    border-radius: 20px;
    padding: 2rem;
    position: relative;
    overflow: hidden;
}

.stat-highlight::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--coral-red) 50%, transparent 100%);
}

.stat-number {
    font-size: 3rem;
    font-weight: 700;
    color: var(--coral-red);
    margin-bottom: 0.5rem;
    font-family: var(--font-family-mono);
}

.stat-label {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--steel-900);
    margin-bottom: 1rem;
}

.stat-description {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--steel-600);
    margin: 0;
}

/* Customer Categories */
.customer-categories {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    position: relative;
    z-index: 2;
}

.customer-category {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
    border-radius: 20px;
    padding: 2rem;
    transition: all 0.3s ease;
}

.customer-category:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(45, 45, 50, 0.1);
}

.category-header {
    margin-bottom: 2rem;
}

.category-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--teal-green-500) !important;
    margin-bottom: 0.75rem;
}

.category-description {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--steel-900) !important;
    margin: 0;
}

/* Customer List */
.customer-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.customer-tag {
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.1) 0%, rgba(0, 121, 156, 0.05) 100%);
    color: var(--pangu-blue);
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    border: 1px solid rgba(0, 121, 156, 0.2);
    transition: all 0.3s ease;
    cursor: default;
}

.customer-tag:hover {
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.15) 0%, rgba(0, 121, 156, 0.1) 100%);
    border-color: rgba(0, 121, 156, 0.3);
    transform: translateY(-2px);
}

/* Institution Grid */
.institution-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.institution-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 12px;
    border: 1px solid rgba(0, 121, 156, 0.1);
    transition: all 0.3s ease;
}

.institution-item:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 121, 156, 0.2);
    box-shadow: 0 4px 12px rgba(0, 121, 156, 0.1);
}

.institution-flag {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.institution-name {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--steel-800);
}

/* Customer Testimonial */
.customer-testimonial {
    max-width: 800px;
    margin: 4rem auto 0;
    text-align: center;
}

.testimonial-content {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(60, 214, 161, 0.15);
    border-radius: 20px;
    padding: 2rem;
    position: relative;
    overflow: hidden;
}

.testimonial-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--teal-green-500) 50%, transparent 100%);
}

.testimonial-quote {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--steel-700);
    font-style: italic;
    margin-bottom: 1.5rem;
}

.testimonial-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.testimonial-highlight {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--teal-green-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.testimonial-scope {
    font-size: 0.875rem;
    color: var(--steel-600);
}

/* Customers Ambiance */
.customers-ambiance {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1;
}

.trust-beam {
    position: absolute;
    top: 30%;
    left: -10%;
    width: 120%;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--coral-red) 30%, transparent 70%);
    opacity: 0.3;
    animation: trust-beam-scan 8s ease-in-out infinite;
}

.global-grid {
    position: absolute;
    bottom: 20%;
    right: 10%;
    width: 200px;
    height: 200px;
    background: 
        linear-gradient(90deg, transparent 49%, rgba(255, 180, 6, 0.1) 50%, transparent 51%),
        linear-gradient(0deg, transparent 49%, rgba(255, 180, 6, 0.1) 50%, transparent 51%);
    background-size: 25px 25px;
    opacity: 0.3;
    animation: global-grid-pulse 5s ease-in-out infinite;
}

.partnership-dots {
    position: absolute;
    top: 70%;
    left: 5%;
    width: 150px;
    height: 150px;
    background-image: 
        radial-gradient(2px 2px at 20% 30%, var(--coral-red), transparent),
        radial-gradient(1px 1px at 40% 70%, var(--teal-green-500), transparent),
        radial-gradient(1px 1px at 90% 40%, var(--coral-red), transparent);
    background-size: 30px 30px, 20px 20px, 25px 25px;
    animation: partnership-dots-float 12s linear infinite;
    opacity: 0.4;
}

@keyframes trust-beam-scan {
    0%, 100% { opacity: 0.3; transform: translateX(-50px); }
    50% { opacity: 0.6; transform: translateX(50px); }
}

@keyframes global-grid-pulse {
    0%, 100% { opacity: 0.3; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.05); }
}

@keyframes partnership-dots-float {
    0%, 100% { transform: translateY(0px) translateX(0px); }
    50% { transform: translateY(-15px) translateX(5px); }
}

/* ==========================================================================
   Advantages Section
   ========================================================================== */

.advantages-section {
    background: linear-gradient(180deg, #f1f3f4 0%, #ffffff 50%, #f8f9fa 100%);
    padding: 2% 0;
    position: relative;
    overflow: hidden;
}

/* Advantages Header */
.advantages-header {
    text-align: center;
    margin-bottom: 4rem;
    position: relative;
    z-index: 2;
}

.advantages-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: rgba(60, 214, 161, 0.05);
    border: 1px solid rgba(60, 214, 161, 0.15);
    border-radius: 50px;
    padding: 0.75rem 1.5rem;
    margin-bottom: 2rem;
    backdrop-filter: blur(10px);
}

.advantages-badge .badge-icon {
    font-size: 1.25rem;
    filter: grayscale(1) brightness(0.5);
}

.advantages-badge .badge-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--teal-green-500);
    letter-spacing: 0.05em;
}

/* ==========================================================================
   Product Grid Layout - Individual Product Cards Design
   ========================================================================== */

/* Products Grid Container */
.products-grid-container {
    margin-bottom: 0%;
}

/* Grid Section Header */
.grid-section-header {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid rgba(0, 121, 156, 0.1);
}

.section-icon {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--pangu-blue) 0%, var(--teal-green-500) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.5rem;
}

.section-meta .section-name {
    font-size: 2rem;
    font-weight: 700;
    color: var(--steel-900);
    margin: 0 0 0.25rem 0;
    line-height: 1.2;
}

.section-badge {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--pangu-blue);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Products Grid Layout */
.products-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 2rem;
    margin-bottom: 2rem;
}

/* Main Product Display */
.main-product-display {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--steel-50) 0%, rgba(255, 255, 255, 0.9) 100%);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
}

.product-image-main {
    position: relative;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    overflow: hidden;
}

.main-product-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    filter: brightness(1.1) contrast(1.05);
    border-radius: 0;
}

.image-gradient-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg, 
        rgba(0, 121, 156, 0.05) 0%, 
        transparent 40%, 
        transparent 60%, 
        rgba(62, 214, 161, 0.05) 100%
    );
    pointer-events: none;
}

/* Product Cards Grid */
.product-cards-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

/* Individual Product Card Items */
.product-card-item {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.08);
    border-radius: 16px;
    padding: 0.75rem;
    position: relative;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 50px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
}

.product-card-item:hover,
.product-card-item.active {
    transform: translateY(-4px) scale(1.02);
    border-color: rgba(0, 121, 156, 0.3);
    box-shadow: 
        0 15px 30px rgba(45, 45, 50, 0.1),
        0 6px 12px rgba(0, 121, 156, 0.15);
}

.product-card-item.active {
    border-color: var(--pangu-blue);
    background: rgba(0, 121, 156, 0.05);
}

.product-card-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--pangu-blue) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.product-card-item:hover::before,
.product-card-item.active::before {
    opacity: 1;
}

/* Product Card Content */
.product-card-content {
    flex: 1;
}

.product-card-content .product-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.product-card-content .product-header .product-name {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--pangu-blue);
    margin: 0;
    line-height: 1.3;
    flex: 1;
}

.product-card-content .product-subtitle {
    font-size: 0.8rem;
    color: var(--steel-600);
    margin: 0 0 0.75rem 0;
    line-height: 1.4;
}

/* Product Badges */
.product-badge {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1px solid;
    white-space: nowrap;
    flex-shrink: 0;
}

.product-badge.entry-level {
    background: rgba(100, 200, 100, 0.1);
    color: #4CAF50;
    border-color: rgba(76, 175, 80, 0.3);
}

.product-badge.professional {
    background: rgba(0, 121, 156, 0.1);
    color: var(--pangu-blue);
    border-color: rgba(0, 121, 156, 0.3);
}

.product-badge.advanced {
    background: rgba(255, 138, 142, 0.1);
    color: #FF6B35;
    border-color: rgba(255, 107, 53, 0.3);
}

.product-badge.premium {
    background: rgba(156, 39, 176, 0.1);
    color: #9C27B0;
    border-color: rgba(156, 39, 176, 0.3);
}

/* Product Hover Content */
.product-hover-content {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    margin-top: 0.25rem;
}

.product-card-item:hover .product-hover-content,
.product-card-item.active .product-hover-content {
    opacity: 1;
    max-height: 200px;
}

.product-hover-content .product-description {
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--steel-600);
    margin-bottom: 0.75rem;
}

.product-hover-content .product-features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.product-hover-content .feature-tag {
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.08) 0%, rgba(0, 121, 156, 0.05) 100%);
    color: var(--pangu-blue);
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    border-radius: 8px;
    border: 1px solid rgba(0, 121, 156, 0.2);
}

/* Product Specifications Display */
.product-specs-display {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(45, 45, 50, 0.06);
    border-radius: 16px;
    margin-bottom: 2rem;
}

.spec-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.spec-tag {
    background: linear-gradient(135deg, rgba(0, 121, 156, 0.1) 0%, rgba(62, 214, 161, 0.1) 100%);
    color: var(--pangu-blue);
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.5rem 1rem;
    border-radius: 12px;
    border: 1px solid rgba(0, 121, 156, 0.2);
    transition: all 0.3s ease;
}

.spec-tag:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 121, 156, 0.15);
}

/* Product Explore Button */
.product-explore-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--secondary-blue);
    color: white;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.75rem 1.5rem;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.product-explore-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0, 121, 156, 0.25);
    color: white;
}

.product-explore-btn .btn-arrow {
    font-size: 1rem;
    transition: transform 0.3s ease;
}

.product-explore-btn:hover .btn-arrow {
    transform: translateX(3px);
}

/* Solutions & Accessories Grid */
.solutions-accessories-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-bottom: 3rem;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .products-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .main-product-display {
        order: 2;
    }
    
    .product-cards-grid {
        order: 1;
        grid-template-columns: repeat(4, 1fr);
        gap: 0.75rem;
    }
    
    .product-card-item {
        min-height: 120px;
        padding: 1rem;
    }
}

@media (max-width: 992px) {
    .grid-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    
    .product-cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    
    .solutions-accessories-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .product-specs-display {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .products-grid-container {
        margin-bottom: 3rem;
    }
    
    .section-icon {
        width: 50px;
        height: 50px;
        font-size: 1.25rem;
    }
    
    .section-meta .section-name {
        font-size: 1.5rem;
    }
    
    .product-image-main {
        height: 300px;
        padding: 1.5rem;
    }
    
    .product-cards-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    
    .product-card-item {
        min-height: 100px;
        padding: 1rem;
    }
    
    .product-card-content .product-header .product-name {
        font-size: 1rem;
    }
    
    .spec-tags {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .product-specs-display {
        padding: 1rem;
    }
    
    .spec-tags {
        gap: 0.5rem;
    }
    
    .spec-tag {
        font-size: 0.7rem;
        padding: 0.375rem 0.75rem;
    }
    
    .product-explore-btn {
        font-size: 0.8rem;
        padding: 0.625rem 1.25rem;
    }
}

/* Enhanced Animation Effects */
@keyframes product-image-transition {
    0% { opacity: 0; transform: scale(0.95); }
    100% { opacity: 1; transform: scale(1); }
}

.main-product-img.transitioning {
    animation: product-image-transition 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Card Glow Effects for Product Cards */
.product-card-item .card-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(0, 121, 156, 0.08) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
}

.product-card-item:hover .card-glow,
.product-card-item.active .card-glow {
    opacity: 1;
}

/* ===============================================
   CONTACT PAGE - HEAD OFFICE WITH GOOGLE MAPS
   =============================================== */

/* Head Office Layout - Two Column */
.head-office-card .office-content {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
}

.head-office-card .office-details {
    flex: 1;
    min-width: 0; /* Prevents flex items from growing beyond container */
}

.head-office-card .office-map {
    flex: 1;
    min-width: 0;
}

.office-card {
    background-color: var(--blue-50);
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.white-card {
    background-color: rgba(255, 255, 255, 0.99);
    border-radius: 16px;
    padding: 1.5rem;
    transition: all 0.3s ease;
}

/* Google Maps Container */
.map-container {
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(45, 45, 50, 0.06);
    border-radius: 16px;
    padding: 1rem;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.map-container:hover {
    background: rgba(255, 255, 255, 0.6);
    border-color: rgba(0, 121, 156, 0.2);
    transform: translateY(-2px);
    box-shadow: 
        0 8px 32px rgba(45, 45, 50, 0.08),
        0 4px 16px rgba(0, 121, 156, 0.1);
}

/* Google Maps iframe styling */
.map-container iframe {
    border-radius: 12px;
    width: 100%;
    height: 325px;
    display: block;
    transition: all 0.3s ease;
}

/* Map container glow effect */
.map-container::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(135deg, 
        rgba(0, 121, 156, 0.1) 0%, 
        rgba(255, 180, 6, 0.1) 50%, 
        rgba(0, 121, 156, 0.1) 100%);
    border-radius: 18px;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.map-container:hover::before {
    opacity: 1;
}

/* Responsive Design */
@media (max-width: 768px) {
    .head-office-card .office-content {
        flex-direction: column;
        gap: 1.5rem;
    }
    
    .map-container iframe {
        height: 300px;
    }
}

/* Small screen adjustments */
@media (max-width: 480px) {
    .map-container {
        padding: 0.75rem;
    }
    
    .map-container iframe {
        height: 250px;
    }
}