/* IHC Corp Environmental Consulting Website Styles */
/* Blue/Teal Color Scheme with Dark Mode Aesthetic */

:root {
    /* IHC Brand Colors - Based on Logo */
    --primary-blue: #1e3a8a;
    --primary-teal: #0891b2;
    --light-blue: #3b82f6;
    --light-teal: #06b6d4;
    --dark-blue: #1e293b;
    --accent-blue: #0ea5e9;
    
    /* Dark Mode Color Palette */
    --bg-dark: #0f172a;
    --bg-dark-secondary: #1e293b;
    --bg-dark-tertiary: #334155;
    --text-light: #f8fafc;
    --text-muted: #94a3b8;
    --border-dark: #475569;
    
    /* Status Colors */
    --success-color: #10b981;
    --warning-color: #f59e0b;
    --danger-color: #ef4444;
    --info-color: #3b82f6;
}

/* Global Styles */
body {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-weight: 400;
    background-color: var(--bg-dark);
    color: var(--text-light);
    line-height: 1.6;
    letter-spacing: 0;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Typography Scale */
h1, .h1, .display-1, .display-2, .display-3, .display-4, .display-5 {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

h2, .h2 {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-weight: 700;
    font-size: 2.5rem; /* 40px */
    line-height: 1.2;
    letter-spacing: -0.02em;
}

/* Responsive scaling for section headlines */
@media (max-width: 768px) {
    h2, .h2 {
        font-size: 2rem; /* 32px on mobile */
        letter-spacing: -0.015em;
    }
}

h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.lead {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
}

/* Display Typography */
.display-3 {
    font-size: 3.5rem;
    font-weight: 600;
}

.display-4 {
    font-size: 2.5rem;
    font-weight: 600;
}

.display-5 {
    font-size: 1.75rem;
    font-weight: 500;
}

.text-primary {
    color: var(--primary-teal) !important;
}

.bg-primary {
    background: linear-gradient(180deg, #1a2332, #2d4a6b, #3b5998) !important;
}

.btn-primary {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    background-color: var(--primary-teal);
    border-color: var(--primary-teal);
    transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-primary:hover {
    background-color: var(--light-teal);
    border-color: var(--light-teal);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(8, 145, 178, 0.3);
}

.btn-outline-primary {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: var(--primary-teal);
    border-color: var(--primary-teal);
}

.btn-outline-primary:hover {
    background-color: var(--primary-teal);
    border-color: var(--primary-teal);
}

/* General Button Typography */
.btn {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif !important;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.btn-lg {
    font-weight: 700;
}

.btn-sm {
    font-weight: 400;
    letter-spacing: 0.03em;
}

/* Bootstrap Button Font Override */
.btn-primary, 
.btn-secondary, 
.btn-success, 
.btn-danger, 
.btn-warning, 
.btn-info, 
.btn-light, 
.btn-dark,
.btn-outline-primary, 
.btn-outline-secondary, 
.btn-outline-success, 
.btn-outline-danger, 
.btn-outline-warning, 
.btn-outline-info, 
.btn-outline-light, 
.btn-outline-dark {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif !important;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Thin Blue Gradient Bar */
.gradient-bar {
    height: 4px;
    background: linear-gradient(135deg, var(--primary-blue), var(--primary-teal));
    width: 100%;
}

/* Emergency Contact Styles */
.emergency-banner {
    background: linear-gradient(135deg, var(--danger-color), var(--warning-color));
    color: var(--text-light);
    padding: 10px 0;
    position: relative;
}

.emergency-banner.pulse-animation {
    animation: emergencyPulse 3s ease-in-out infinite;
}

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

.btn-emergency {
    background-color: var(--danger-color);
    border-color: var(--danger-color);
    color: white;
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    animation: emergencyButton 1.5s ease-in-out infinite;
}

@keyframes emergencyButton {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* Navigation Styles */
.navbar {
    background: linear-gradient(135deg, #0f172a, #1e293b) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.navbar-brand {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -0.015em;
}

.navbar-nav .nav-link {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    color: var(--text-light) !important;
    font-weight: 400;
    letter-spacing: 0.02em;
    transition: color 0.3s ease;
}

.navbar-nav .nav-link:hover {
    color: var(--light-teal) !important;
    font-weight: 500;
}

/* Hero Section Styles */
.hero-section {
    min-height: 60vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

/* Video Background for Homepage Hero Section */
.hero-section .video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-section .hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
    object-position: center 80%;
    z-index: 1;
}

/* Homepage Hero Overlay */
.hero-section .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(30, 58, 138, 0.8), rgba(8, 145, 178, 0.6));
    z-index: 2;
}

/* Homepage Hero Content Overlay */
.hero-section .hero-content-overlay {
    background: rgba(15, 23, 42, 0.3);
    backdrop-filter: blur(8px);
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.services-hero-section,
.expertise-hero-section,
.about-hero-section,
.resources-hero-section,
.contact-hero-section {
    background: linear-gradient(135deg, var(--bg-dark), var(--bg-dark-secondary));
    min-height: 60vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

/* Video Background for Services Hero Section */
.services-hero-section .video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.services-hero-section .hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
    z-index: 1;
}

/* Services Hero Overlay */
.services-hero-section .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(30, 58, 138, 0.8), rgba(8, 145, 178, 0.6));
    z-index: 2;
}

/* Services Hero Content Overlay */
.services-hero-section .hero-content-overlay {
    background: rgba(15, 23, 42, 0.3);
    backdrop-filter: blur(8px);
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* Video Background for Expertise Hero Section */
.expertise-hero-section .video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.expertise-hero-section .hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
    z-index: 1;
}

/* Expertise Hero Overlay */
.expertise-hero-section .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(30, 58, 138, 0.8), rgba(8, 145, 178, 0.6));
    z-index: 2;
}

/* Expertise Hero Content Overlay */
.expertise-hero-section .hero-content-overlay {
    background: rgba(15, 23, 42, 0.3);
    backdrop-filter: blur(8px);
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* Video Background for About Hero Section */
.about-hero-section .video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.about-hero-section .hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
    z-index: 1;
}

/* About Hero Overlay */
.about-hero-section .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(30, 58, 138, 0.8), rgba(8, 145, 178, 0.6));
    z-index: 2;
}

/* About Hero Content Overlay */
.about-hero-section .hero-content-overlay {
    background: rgba(15, 23, 42, 0.3);
    backdrop-filter: blur(8px);
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* Video Background for Resources Hero Section */
.resources-hero-section .video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.resources-hero-section .hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
    z-index: 1;
}

/* Resources Hero Overlay */
.resources-hero-section .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(30, 58, 138, 0.8), rgba(8, 145, 178, 0.6));
    z-index: 2;
}

/* Resources Hero Content Overlay */
.resources-hero-section .hero-content-overlay {
    background: rgba(15, 23, 42, 0.3);
    backdrop-filter: blur(8px);
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* Video Background for Contact Hero Section */
.contact-hero-section .video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.contact-hero-section .hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
    z-index: 1;
}

/* Contact Hero Overlay */
.contact-hero-section .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(30, 58, 138, 0.8), rgba(8, 145, 178, 0.6));
    z-index: 2;
}

/* Contact Hero Content Overlay */
.contact-hero-section .hero-content-overlay {
    background: rgba(15, 23, 42, 0.3);
    backdrop-filter: blur(8px);
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* Disable video on mobile for better performance */
@media (max-width: 768px) {
    .hero-section .hero-video,
    .services-hero-section .hero-video,
    .expertise-hero-section .hero-video,
    .about-hero-section .hero-video,
    .resources-hero-section .hero-video,
    .contact-hero-section .hero-video {
        display: none;
    }
    
    .hero-section .hero-overlay,
    .services-hero-section .hero-overlay,
    .expertise-hero-section .hero-overlay,
    .about-hero-section .hero-overlay,
    .resources-hero-section .hero-overlay,
    .contact-hero-section .hero-overlay {
        background: linear-gradient(135deg, var(--bg-dark), var(--bg-dark-secondary));
    }
    
    .hero-section .hero-content-overlay,
    .services-hero-section .hero-content-overlay,
    .expertise-hero-section .hero-content-overlay,
    .about-hero-section .hero-content-overlay,
    .resources-hero-section .hero-content-overlay,
    .contact-hero-section .hero-content-overlay {
        background: rgba(15, 23, 42, 0.2);
        backdrop-filter: none;
    }
}

/* Video Background Styles */
.hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.7);
    z-index: 2;
}

.hero-content {
    position: relative;
    z-index: 3;
}

/* Hero Stats Styling */
.stat-badge {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-weight: 400;
    letter-spacing: 0.03em;
    display: inline-block;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    padding: 8px 16px;
    border-radius: 20px;
    color: var(--text-light);
    font-size: 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.stat-badge strong {
    font-weight: 600;
    color: var(--primary-teal);
}

/* Mobile Video Fallback */
@media (max-width: 768px) {
    .hero-video {
        display: none;
    }
    
    .hero-section {
        background: linear-gradient(135deg, var(--bg-dark), var(--bg-dark-secondary));
    }
    
    .hero-overlay {
        background: rgba(15, 23, 42, 0.3);
    }
    
    .stat-badge {
        display: block;
        margin-bottom: 10px;
        text-align: center;
    }
}

/* Ensure hero section content stays pinned and doesn't move */
.hero-section .container,
.services-hero-section .container,
.expertise-hero-section .container,
.about-hero-section .container,
.resources-hero-section .container,
.contact-hero-section .container {
    position: relative;
    z-index: 10;
    transform: none !important;
    will-change: auto;
}

/* Ensure hero section content appears above video background */
.hero-section .container,
.services-hero-section .container,
.expertise-hero-section .container,
.about-hero-section .container,
.resources-hero-section .container,
.contact-hero-section .container {
    z-index: 10;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><defs><radialGradient id="grad"><stop offset="0%" style="stop-color:%23ffffff;stop-opacity:0.05"/><stop offset="100%" style="stop-color:%23ffffff;stop-opacity:0"/></radialGradient></defs><circle cx="500" cy="500" r="400" fill="url(%23grad)"/></svg>');
    background-size: 50% 50%;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.1;
}

.hero-stats .stat-item {
    text-align: center;
    margin-bottom: 20px;
}

.hero-stats h3 {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 5px;
    color: var(--primary-teal);
}



/* A.A.R.M. Methodology Styles */
.arm-methodology-section {
    background: linear-gradient(135deg, var(--bg-dark), var(--bg-dark-secondary));
    padding: 80px 0;
    position: relative;
}

.arm-methodology-section .lead.text-muted {
    color: #cbd5e1 !important; /* More visible than default text-muted */
}

.arm-methodology-section h2 {
    color: var(--text-light);
}

/* Methodology Introduction Text */
.methodology-intro {
    font-size: 1.1rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.85);
    text-align: center;
}

/* Interactive Process Flow Visualization */
.arm-process-visual {
    position: relative;
    padding: 60px 0;
}

.process-flow-container {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
}

/* Connection Line */
.process-connection-line {
    position: absolute;
    top: 50%;
    left: 15%;
    right: 15%;
    height: 4px;
    background: linear-gradient(90deg, 
        #06b6d4 0%, 
        #3b82f6 50%, 
        #f59e0b 100%);
    transform: translateY(-50%);
    opacity: 0.3;
    z-index: 1;
}

.process-connection-line::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    background: linear-gradient(90deg, 
        #06b6d4 0%, 
        #3b82f6 50%, 
        #f59e0b 100%);
    opacity: 0.6;
    animation: flowAnimation 3s ease-in-out infinite;
}

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

/* Process Stages */
.process-stages {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}

.process-stage {
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Stage Circle */
.stage-circle {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: var(--bg-dark-primary);
    border: 4px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    position: relative;
    transition: all 0.3s ease;
    overflow: hidden;
}

.stage-circle::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, transparent 40%, rgba(255, 255, 255, 0.05));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.stage-circle i {
    font-size: 2.5rem;
    z-index: 2;
    transition: all 0.3s ease;
}

/* Stage Colors */
.stage-assessment .stage-circle {
    border-color: #06b6d4;
}

.stage-assessment .stage-circle i {
    color: #06b6d4;
}

.stage-remediation .stage-circle {
    border-color: #3b82f6;
}

.stage-remediation .stage-circle i {
    color: #3b82f6;
}

.stage-management .stage-circle {
    border-color: #f59e0b;
}

.stage-management .stage-circle i {
    color: #f59e0b;
}

.stage-analyze .stage-circle {
    border-color: #9333ea;
}

.stage-analyze .stage-circle i {
    color: #9333ea;
}

/* Stage Label */
.stage-label {
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, 0.6);
    transition: all 0.3s ease;
}

/* Active Stage */
.process-stage.active .stage-circle {
    transform: scale(1.1);
    border-width: 6px;
}

.process-stage.active .stage-circle::before {
    opacity: 1;
}

.process-stage.active .stage-label {
    color: #fff;
}

/* Hover Effects */
.process-stage:hover .stage-circle {
    transform: scale(1.15);
    border-width: 6px;
}

.process-stage:hover .stage-circle::before {
    opacity: 1;
}

.process-stage:hover .stage-label {
    color: #fff;
}

/* Stage-specific hover effects */
.stage-assessment:hover .stage-circle,
.stage-assessment.active .stage-circle {
    background: rgba(6, 182, 212, 0.1);
    box-shadow: 0 0 30px rgba(6, 182, 212, 0.3);
}

.stage-remediation:hover .stage-circle,
.stage-remediation.active .stage-circle {
    background: rgba(59, 130, 246, 0.1);
    box-shadow: 0 0 30px rgba(59, 130, 246, 0.3);
}

.stage-management:hover .stage-circle,
.stage-management.active .stage-circle {
    background: rgba(245, 158, 11, 0.1);
    box-shadow: 0 0 30px rgba(245, 158, 11, 0.3);
}

.stage-analyze:hover .stage-circle,
.stage-analyze.active .stage-circle {
    background: rgba(147, 51, 234, 0.1);
    box-shadow: 0 0 30px rgba(147, 51, 234, 0.3);
}

/* Responsive adjustments for process flow */
@media (max-width: 768px) {
    .process-flow-container {
        max-width: 100%;
        padding: 0 20px;
    }
    
    .process-connection-line {
        display: none;
    }
    
    .process-stages {
        flex-direction: column;
        gap: 30px;
    }
    
    .stage-circle {
        width: 80px;
        height: 80px;
    }
    
    .stage-circle i {
        font-size: 2rem;
    }
    
    .stage-label {
        font-size: 0.8rem;
    }
}

/* A.A.R.M. Detail Cards - Matching Technology Card Styling */
.arm-detail-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    transition: all 0.3s ease;
    height: 100%;
}

.arm-detail-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(6, 182, 212, 0.2);
    border-color: var(--primary-teal);
}

/* Fix text visibility in A.A.R.M. cards */
.arm-detail-card .text-muted {
    color: #cbd5e1 !important;
    opacity: 0.9;
}

.arm-detail-card .card-body {
    color: var(--text-light);
}

.arm-detail-card h5 {
    color: var(--text-light);
}

/* Theme-specific icon colors */
.assessment-themed .arm-detail-icon i {
    background: linear-gradient(135deg, #06b6d4, #0891b2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 2px 4px rgba(6, 182, 212, 0.4));
}

.remediation-themed .arm-detail-icon i {
    background: linear-gradient(135deg, #60a5fa, #3b82f6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 2px 4px rgba(59, 130, 246, 0.4));
}

.management-themed .arm-detail-icon i {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 2px 4px rgba(245, 158, 11, 0.4));
}

.analyze-themed .arm-detail-icon i {
    background: linear-gradient(135deg, #a855f7, #9333ea);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 2px 4px rgba(147, 51, 234, 0.4));
}

/* Theme-specific card accents */
.assessment-themed:hover {
    box-shadow: 0 10px 30px rgba(6, 182, 212, 0.3);
    border-color: #06b6d4;
}

.remediation-themed:hover {
    box-shadow: 0 10px 30px rgba(59, 130, 246, 0.3);
    border-color: #3b82f6;
}

.management-themed:hover {
    box-shadow: 0 10px 30px rgba(245, 158, 11, 0.3);
    border-color: #f59e0b;
}

.analyze-themed:hover {
    box-shadow: 0 10px 30px rgba(147, 51, 234, 0.3);
    border-color: #9333ea;
}

/* Feature list styling */
.arm-features ul li {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    color: rgba(255, 255, 255, 0.8);
}

.arm-features ul li i {
    font-size: 0.75rem;
}

/* A.A.R.M. Modal Styling */
.arm-modal-content {
    background: var(--bg-dark-primary);
    border: 1px solid var(--border-dark);
}

.arm-modal-content .modal-header {
    background: linear-gradient(135deg, var(--bg-dark), var(--bg-dark-secondary));
    border-bottom: 1px solid var(--border-dark);
}

.arm-modal-content .modal-body {
    background: var(--bg-dark-primary);
    padding: 0;
}

#armModal .arm-detail-card {
    border: none;
    border-radius: 0;
    margin: 0;
    box-shadow: none;
}

#armModal .arm-detail-card:hover {
    transform: none;
    box-shadow: none;
}

/* AARM Modal Side Icon Styling */
.arm-detail-icon-side {
    opacity: 0.3;
    transition: opacity 0.3s ease;
}

.arm-detail-icon-side i {
    filter: drop-shadow(0 0 10px currentColor);
}

.arm-detail-card:hover .arm-detail-icon-side {
    opacity: 0.8;
}

/* Blue Science Modal Styling - Matching Service Inquiry CTA */
.blue-science-modal-content {
    background: linear-gradient(135deg, #f1f5f9 0%, #cbd5e1 50%, #94a3b8 100%);
    border: 1px solid rgba(30, 58, 138, 0.2);
    color: #1e40af;
    position: relative;
    overflow: hidden;
}

.blue-science-modal-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 30% 80%, rgba(59, 130, 246, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(16, 185, 129, 0.1) 0%, transparent 50%);
    pointer-events: none;
}

.blue-science-modal-content .modal-header {
    background: linear-gradient(135deg, #1e3a8a, #1e40af) !important;
    border-bottom: 1px solid rgba(30, 58, 138, 0.3);
    position: relative;
    z-index: 1;
}

.blue-science-modal-content .modal-body {
    background-color: transparent;
    color: #1e40af;
    position: relative;
    z-index: 1;
}

.blue-science-modal-content .modal-body h4 {
    color: #1e3a8a !important;
    font-weight: 700;
}

.blue-science-modal-content .modal-body h5 {
    color: #1e3a8a !important;
    font-weight: 600;
}

.blue-science-modal-content .modal-body p {
    color: #1e40af !important;
    opacity: 1;
}

.blue-science-modal-content .modal-body .lead {
    color: #1e3a8a !important;
    font-weight: 500;
}

.blue-science-modal-content .alert-info {
    background-color: rgba(207, 226, 255, 0.5);
    border-color: rgba(30, 58, 138, 0.3);
    color: #1e3a8a;
}

.blue-science-modal-content .modal-footer {
    background-color: transparent;
    border-top: 1px solid rgba(30, 58, 138, 0.2);
    position: relative;
    z-index: 1;
}

.blue-science-modal-content .btn-primary {
    background: linear-gradient(135deg, var(--primary-teal), var(--primary-blue));
    border: none;
    color: white;
    font-weight: 600;
    padding: 12px 30px;
    transition: all 0.3s ease;
}

.blue-science-modal-content .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(6, 182, 212, 0.3);
    color: white;
}

/* Emergency Response Modal Styling */
.emergency-modal-content {
    background: rgba(11, 17, 23, 0.95);
    border: 1px solid var(--border-dark);
    backdrop-filter: blur(10px);
}

.emergency-modal-content .modal-header {
    background: linear-gradient(135deg, rgba(30, 41, 54, 0.98), rgba(20, 29, 38, 0.98));
    border-bottom: 1px solid var(--border-dark);
}

.emergency-modal-content .modal-body {
    background: rgba(11, 17, 23, 0.95);
}

.emergency-modal-content .alert-danger {
    background: rgba(220, 53, 69, 0.2);
    border: 1px solid rgba(220, 53, 69, 0.4);
    color: #fff;
}

.emergency-modal-content .emergency-feature {
    display: flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.9);
}

.emergency-modal-content .emergency-types .btn {
    transition: all 0.3s ease;
}

.emergency-modal-content .emergency-types .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.arm-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    z-index: 2; /* Ensure cards stay within their section */
    contain: layout; /* Contain the card's layout effects */
}

.arm-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent, rgba(6, 182, 212, 0.1), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

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

.arm-card:hover {
    transform: translateY(-5px); /* Reduced lift to prevent overlapping */
    box-shadow: 0 10px 25px rgba(6, 182, 212, 0.2);
    border-color: var(--primary-teal);
    z-index: 3; /* Slightly higher z-index on hover, but still contained */
}

.arm-icon {
    text-align: center;
    margin-bottom: 20px;
}

.arm-icon i {
    background: linear-gradient(45deg, var(--primary-teal), var(--light-teal));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Fix text visibility in A.A.R.M. cards */
.arm-card .text-muted {
    color: #cbd5e1 !important; /* Much more visible light gray */
    opacity: 0.9;
}

.arm-card .card-body {
    color: var(--text-light);
}

.arm-card h4 {
    color: var(--text-light);
}

.arm-card .btn {
    margin-top: 15px;
}

/* Fix text visibility in collapsed AARM details */
.arm-card .arm-details {
    color: var(--text-light);
    margin-top: 15px;
}

.arm-card .arm-details .list-unstyled li {
    color: var(--text-light);
    margin-bottom: 8px;
}

.arm-card .text-sm {
    font-size: 0.9rem;
}

/* Service Cards */
.service-card,
.service-detail-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    transition: all 0.3s ease;
    height: 100%;
}

.service-card:hover,
.service-detail-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    border-color: var(--primary-teal);
}

.service-icon {
    text-align: center;
    margin-bottom: 20px;
}

/* Override all bg-light sections to maintain dark theme consistency */
.bg-light,
.timeline-section,
.locations-section,
.credentials-section,
.smart-contact-section,
.contact-form-section,
.iicrc-standards-section,
.water-categories-section,
.building-science-section,
.coverage-section,
.educational-topics-section,
.building-science-interactive-section,
.arm-detailed-section,
.independent-advantage-section {
    background: var(--bg-dark-secondary) !important;
    color: var(--text-light) !important;
    transform: none !important; /* Prevent any parallax effects */
}

/* Ensure all content sections maintain proper styling */
.timeline-section h2,
.locations-section h2,
.credentials-section h2,
.contact-form-section h2,
.iicrc-standards-section h2,
.water-categories-section h2,
.building-science-section h2,
.coverage-section h2,
.educational-topics-section h2,
.building-science-interactive-section h2,
.arm-detailed-section h2,
.independent-advantage-section h2 {
    color: var(--text-light) !important;
}

/* Comprehensive fix for text-muted in ALL non-hero sections */
.timeline-section .text-muted,
.locations-section .text-muted,
.credentials-section .text-muted,
.certifications-section .text-muted,
.smart-contact-section .text-muted,
.contact-form-section .text-muted,
.office-locations-section .text-muted,
.coverage-map-section .text-muted,
.iicrc-standards-section .text-muted,
.water-categories-section .text-muted,
.building-science-section .text-muted,
.coverage-section .text-muted,
.educational-topics-section .text-muted,
.building-science-interactive-section .text-muted,
.arm-detailed-section .text-muted,
.independent-advantage-section .text-muted,
.arm-methodology-section .text-muted,
.services-overview-section .text-muted,
.emergency-response-section .text-muted,
.technology-section .text-muted,
.technology-showcase-section .text-muted,
.bg-light .text-muted,
.bg-dark .text-muted,
.bg-dark-secondary .text-muted,
/* Global override for all text-muted on dark backgrounds */
section:not(.hero-section):not(.services-hero-section):not(.expertise-hero-section):not(.about-hero-section):not(.resources-hero-section):not(.contact-hero-section) .text-muted,
/* Also fix small text and other muted text variations */
section:not(.hero-section):not(.services-hero-section):not(.expertise-hero-section):not(.about-hero-section):not(.resources-hero-section):not(.contact-hero-section) .small.text-muted,
section:not(.hero-section):not(.services-hero-section):not(.expertise-hero-section):not(.about-hero-section):not(.resources-hero-section):not(.contact-hero-section) .text-muted.small,
section:not(.hero-section):not(.services-hero-section):not(.expertise-hero-section):not(.about-hero-section):not(.resources-hero-section):not(.contact-hero-section) .text-muted.mb-3,
section:not(.hero-section):not(.services-hero-section):not(.expertise-hero-section):not(.about-hero-section):not(.resources-hero-section):not(.contact-hero-section) .text-muted.mb-2,
/* Comprehensive override for ALL text-muted instances */
.text-muted {
    color: #cbd5e1 !important;
}

/* Comprehensive protection for ALL content sections from parallax effects */
section:not(.hero-section):not(.services-hero-section):not(.expertise-hero-section):not(.about-hero-section):not(.resources-hero-section):not(.contact-hero-section) {
    transform: none !important;
    will-change: auto !important;
    position: relative;
    z-index: 10; /* Higher z-index to ensure sections stack properly */
}

/* Ensure sections following A.A.R.M. methodology have higher z-index */
.services-overview-section,
.emergency-response-section,
.coverage-section,
.technology-section,
.cta-section {
    position: relative;
    z-index: 15 !important; /* Higher priority than A.A.R.M. cards */
}

/* Services Overview Section */
.services-overview-section {
    background: var(--bg-dark-secondary);
    transform: none !important; /* Override parallax effect */
    position: relative;
    z-index: 2;
}

/* A.A.R.M. Methodology Section - specific fixes */
.arm-methodology-section {
    transform: none !important;
    position: relative;
    z-index: 1;
    isolation: isolate; /* Create a stacking context to contain cards */
    overflow: hidden; /* Prevent cards from escaping boundaries */
    padding-top: 80px; /* Add extra padding to prevent overlap */
    padding-bottom: 80px;
}

.arm-methodology-section h2 {
    color: var(--text-light) !important;
}

/* Add container constraints for A.A.R.M. cards */
.arm-methodology-section .container {
    position: relative;
    z-index: 2;
}

.arm-methodology-section .row {
    position: relative;
    z-index: 2;
    margin-bottom: 0; /* Remove any margin that might cause spacing issues */
}

.arm-methodology-section .col-lg-4 {
    position: relative;
    z-index: 2; /* Above the animated background */
    margin-bottom: 30px; /* Controlled spacing between cards */
}

/* Ensure section heading and lead text appear above background */
.arm-methodology-section h2,
.arm-methodology-section .lead {
    position: relative;
    z-index: 2;
}

.services-overview-section h2 {
    color: var(--text-light);
}

.services-overview-section .lead.text-muted {
    color: #cbd5e1 !important;
}

/* Fix text visibility in service cards */
.service-card .text-muted,
.service-detail-card .text-muted {
    color: #cbd5e1 !important; /* Much more visible light gray */
    opacity: 0.9;
}

.service-card .card-body,
.service-detail-card .card-body {
    color: var(--text-light);
}

.service-card h5,
.service-detail-card h5 {
    color: var(--text-light);
}

/* Emergency Response Section */
.emergency-response-section {
    background: linear-gradient(135deg, var(--danger-color), var(--primary-blue));
    position: relative;
    overflow: hidden;
}

.emergency-response-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
}

.emergency-contact-card {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 15px;
    padding: 20px;
}

/* Emergency Hotline Button Styling */
.btn-emergency-hotline {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    color: var(--text-light);
    border: 2px solid rgba(255, 255, 255, 0.3);
    font-size: 1.25rem;
    font-weight: 700;
    padding: 12px 24px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    text-decoration: none;
}

.btn-emergency-hotline:hover {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
    color: var(--text-light);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.btn-emergency-hotline:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.emergency-hotline-button {
    text-align: center;
}

.phone-copied-message {
    margin-top: 10px;
    transition: all 0.3s ease;
}

.emergency-feature {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

/* Technology Section */
.technology-section,
.technology-showcase-section {
    background: linear-gradient(135deg, var(--bg-dark), var(--bg-dark-secondary));
    position: relative;
}

.technology-card,
.technology-showcase-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    transition: all 0.3s ease;
    height: 100%;
}

/* Center Blue Science Solutions image in card */
.technology-card img[alt="Blue Science Solutions"] {
    margin-top: 25px !important;
    margin-bottom: 15px !important;
}

.technology-card:hover,
.technology-showcase-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(6, 182, 212, 0.2);
    border-color: var(--primary-teal);
}

/* Fix text visibility in technology cards */
.technology-card .text-muted,
.technology-showcase-card .text-muted,
.technology-section .text-muted {
    color: #cbd5e1 !important; /* Much more visible light gray */
    opacity: 0.9;
}

.technology-card .card-body,
.technology-showcase-card .card-body {
    color: var(--text-light);
}

.technology-card h5,
.technology-showcase-card h5 {
    color: var(--text-light);
}

/* Coverage Section */
.coverage-section {
    background: var(--bg-dark-secondary);
}

.coverage-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    height: 100%;
    transition: all 0.3s ease;
}

.coverage-card:hover {
    transform: scale(1.02);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* IICRC Standards */
.iicrc-standards-section {
    background: var(--bg-dark-secondary);
}

.iicrc-standard-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    height: 100%;
    transition: all 0.3s ease;
}

.iicrc-standard-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(30, 58, 138, 0.2);
}

/* Condition Level Cards */
.condition-levels-section {
    background: linear-gradient(135deg, var(--bg-dark), var(--bg-dark-secondary));
}

.condition-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
    height: 100%;
    position: relative;
}

.condition-card .condition-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: #f8f9fa;
}

.condition-card .condition-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Condition 1 - Green theme */
.condition-1-card {
    border-color: #10B981;
}

.condition-1-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(16, 185, 129, 0.3),
                0 8px 16px rgba(5, 150, 105, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(4, 120, 87, 0.2);
}

/* Condition 2 - Yellow/Orange theme */
.condition-2-card {
    border-color: #F59E0B;
}

.condition-2-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(245, 158, 11, 0.3),
                0 8px 16px rgba(217, 119, 6, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(180, 83, 9, 0.2);
}

/* Condition 3 - Red theme */
.condition-3-card {
    border-color: #DC2626;
}

.condition-3-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(220, 38, 38, 0.3),
                0 8px 16px rgba(185, 28, 28, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(153, 27, 27, 0.2);
}

.condition-card.selected {
    border-color: var(--primary-teal);
    box-shadow: 0 0 20px rgba(6, 182, 212, 0.3);
}

/* Update header styling */
.condition-card .condition-header h4 {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
}

.condition-card .condition-characteristics h6 {
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

.condition-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
}

/* Fix text visibility in expertise cards */
.iicrc-standard-card .text-muted,
.condition-card .text-muted,
.water-category-card .text-muted {
    color: #cbd5e1 !important; /* Much more visible light gray */
    opacity: 0.9;
}

.iicrc-standard-card .card-body,
.condition-card .card-body,
.water-category-card .card-body {
    color: var(--text-light);
}

.iicrc-standard-card h4,
.iicrc-standard-card h5,
.iicrc-standard-card h6,
.condition-card h4,
.condition-card h5,
.water-category-card h4,
.water-category-card h5 {
    color: var(--text-light);
}

/* IICRC Standard card header styling */
.iicrc-standard-card .standard-header h4 {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
}

.iicrc-standard-card .standard-details h6 {
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

/* Fix text visibility in location and contact cards */
.location-card .text-muted,
.office-location-card .text-muted,
.team-member-card .text-muted,
.credential-card .text-muted,
.value-card .text-muted,
.advantage-card .text-muted,
.testimonial-card .text-muted,
.topic-card .text-muted,
.standard-reference-card .text-muted,
.building-science-card .text-muted,
.coverage-card .text-muted {
    color: #cbd5e1 !important; /* Much more visible light gray */
    opacity: 0.9;
}

.location-card .card-body,
.office-location-card .card-body,
.team-member-card .card-body,
.credential-card .card-body,
.value-card .card-body,
.advantage-card .card-body,
.testimonial-card .card-body,
.topic-card .card-body,
.standard-reference-card .card-body,
.building-science-card .card-body,
.coverage-card .card-body {
    color: var(--text-light);
}

.location-card h5,
.office-location-card h5,
.team-member-card h5,
.credential-card h5,
.value-card h5,
.advantage-card h5,
.testimonial-card h5,
.topic-card h5,
.standard-reference-card h5,
.building-science-card h5,
.coverage-card h5 {
    color: var(--text-light);
}

.condition-level {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    font-weight: bold;
    margin: 0 auto 15px;
    /* Dimensional treatment */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.1);
    position: relative;
    transition: all 0.3s ease;
    /* Fix text display */
    line-height: 1;
    padding-top: 2px;
}

/* Add gradient overlays for each condition level */
.condition-1-card .condition-level {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3), 0 2px 4px rgba(0, 0, 0, 0.1);
}

.condition-2-card .condition-level {
    background: linear-gradient(135deg, #ffc107 0%, #fd7e14 100%);
    box-shadow: 0 4px 12px rgba(255, 193, 7, 0.3), 0 2px 4px rgba(0, 0, 0, 0.1);
}

.condition-3-card .condition-level {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3), 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Add hover effects */
.condition-level:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25), 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* Water Category Cards */
.water-categories-section {
    background: var(--bg-dark-secondary);
}

.water-category-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    height: 100%;
    transition: all 0.3s ease;
    overflow: hidden;
}

/* Water category images */
.water-category-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
    background: #1a1a1a;
    margin-bottom: -20px;
}

.water-category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Adjust card body spacing with images */
.water-category-card .card-body {
    padding-top: 25px !important;
}

/* Category header without circle */
.water-category-card .category-header {
    text-align: center;
    margin-bottom: 20px;
}

/* Water category card hover effects */
.water-category-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(51, 204, 204, 0.2);
}

.water-category-card:hover .water-category-image img {
    transform: scale(1.05);
    transition: transform 0.3s ease;
}

/* Category Level - Rebuilt Element */
.category-level {
    /* Core dimensions */
    width: 90px;
    height: 90px;
    border-radius: 50%;
    
    /* Flexbox centering */
    display: flex;
    align-items: center;
    justify-content: center;
    
    /* Typography */
    font-size: 2.5rem;
    font-weight: 900;
    font-family: 'Roboto', sans-serif;
    line-height: 1;
    letter-spacing: -0.02em;
    
    /* Spacing */
    margin: 0 auto 20px;
    
    /* Colors & gradients */
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4),
                 0 1px 2px rgba(0, 0, 0, 0.3);
    
    /* Dimensional effects */
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3),
                0 4px 8px rgba(0, 0, 0, 0.2),
                inset 0 2px 4px rgba(255, 255, 255, 0.1),
                inset 0 -2px 4px rgba(0, 0, 0, 0.2);
    
    /* Border for extra dimension */
    border: 3px solid rgba(255, 255, 255, 0.15);
    
    /* Layout properties */
    position: relative;
    flex-shrink: 0;
    
    /* Animation */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform-style: preserve-3d;
}

/* Category-specific gradient backgrounds */
.category-1-card .category-level {
    background: linear-gradient(145deg, #0080ff 0%, #004db3 50%, #003d8f 100%);
    box-shadow: 0 10px 30px rgba(0, 128, 255, 0.4),
                0 6px 12px rgba(0, 77, 179, 0.3),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 4px rgba(255, 255, 255, 0.2),
                inset 0 -2px 4px rgba(0, 61, 143, 0.3);
}

.category-2-card .category-level {
    background: linear-gradient(145deg, #ffcc00 0%, #ff9500 50%, #e67e00 100%);
    box-shadow: 0 10px 30px rgba(255, 204, 0, 0.4),
                0 6px 12px rgba(255, 149, 0, 0.3),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 4px rgba(255, 255, 255, 0.2),
                inset 0 -2px 4px rgba(230, 126, 0, 0.3);
}

.category-3-card .category-level {
    background: linear-gradient(145deg, #ff4444 0%, #cc0000 50%, #990000 100%);
    box-shadow: 0 10px 30px rgba(255, 68, 68, 0.4),
                0 6px 12px rgba(204, 0, 0, 0.3),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 4px rgba(255, 255, 255, 0.2),
                inset 0 -2px 4px rgba(153, 0, 0, 0.3);
}

/* Enhanced hover effects for category badges */
.category-level:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4),
                0 8px 16px rgba(0, 0, 0, 0.3),
                inset 0 2px 6px rgba(255, 255, 255, 0.3),
                inset 0 -2px 6px rgba(0, 0, 0, 0.3);
}

.category-1-card .category-level:hover {
    box-shadow: 0 12px 36px rgba(0, 128, 255, 0.5),
                0 8px 16px rgba(0, 77, 179, 0.4),
                0 2px 4px rgba(0, 0, 0, 0.3),
                inset 0 2px 6px rgba(255, 255, 255, 0.3),
                inset 0 -2px 6px rgba(0, 61, 143, 0.4);
}

.category-2-card .category-level:hover {
    box-shadow: 0 12px 36px rgba(255, 204, 0, 0.5),
                0 8px 16px rgba(255, 149, 0, 0.4),
                0 2px 4px rgba(0, 0, 0, 0.3),
                inset 0 2px 6px rgba(255, 255, 255, 0.3),
                inset 0 -2px 6px rgba(230, 126, 0, 0.4);
}

.category-3-card .category-level:hover {
    box-shadow: 0 12px 36px rgba(255, 68, 68, 0.5),
                0 8px 16px rgba(204, 0, 0, 0.4),
                0 2px 4px rgba(0, 0, 0, 0.3),
                inset 0 2px 6px rgba(255, 255, 255, 0.3),
                inset 0 -2px 6px rgba(153, 0, 0, 0.4);
}

/* IICRC Standard Cards - Enhanced visual treatment matching Water Damage cards */
.iicrc-standard-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
    transition: all 0.3s ease;
    position: relative;
}

.iicrc-standard-card .standard-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: #f8f9fa;
}

.iicrc-standard-card .standard-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* S700 - Red theme for Fire & Smoke Restoration */
.standard-s700-card {
    border-color: #DC2626;
}

.standard-s700-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(220, 38, 38, 0.3),
                0 8px 16px rgba(185, 28, 28, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(153, 27, 27, 0.2);
}

.standard-s700-card .text-danger { color: #DC2626 !important; }
.standard-s700-card .text-red { color: #EF4444 !important; }

/* S520 - Green theme for Mold Remediation */
.standard-s520-card {
    border-color: #10B981;
}

.standard-s520-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(16, 185, 129, 0.3),
                0 8px 16px rgba(5, 150, 105, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(4, 120, 87, 0.2);
}

/* S500 - Teal theme for Water Damage */
.standard-s500-card {
    border-color: #14B8A6;
}

.standard-s500-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(20, 184, 166, 0.3),
                0 8px 16px rgba(13, 148, 136, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(8, 145, 178, 0.2);
}

/* S590 - Orange theme for Industrial Drying */
.standard-s590-card {
    border-color: #F97316;
}

.standard-s590-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(249, 115, 22, 0.3),
                0 8px 16px rgba(234, 88, 12, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(220, 38, 38, 0.2);
}

.standard-s590-card .text-orange { color: #F97316 !important; }

/* Professional Certification Cards - Enhanced visual treatment */
.certification-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
    transition: all 0.3s ease;
    position: relative;
}

.certification-card .cert-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: #f8f9fa;
}

.certification-card .cert-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* RPIH - Blue theme */
.cert-rpih-card {
    border-color: #3B82F6;
}

.cert-rpih-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(59, 130, 246, 0.3),
                0 8px 16px rgba(30, 64, 175, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(30, 58, 138, 0.2);
}

/* AIEH - Green theme */
.cert-aieh-card {
    border-color: #10B981;
}

.cert-aieh-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(16, 185, 129, 0.3),
                0 8px 16px rgba(5, 150, 105, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(4, 120, 87, 0.2);
}

/* RCI - Teal theme */
.cert-rci-card {
    border-color: #14B8A6;
}

.cert-rci-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(20, 184, 166, 0.3),
                0 8px 16px rgba(13, 148, 136, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(8, 145, 178, 0.2);
}

.cert-rci-card .text-cyan { color: #06B6D4 !important; }

/* Certification header styling */
.certification-card .cert-header h4 {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
}

.certification-card .cert-details h6 {
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

/* Dimensional treatment for Font Awesome icons on expertise page */
.iicrc-standard-card .fas,
.condition-card .fas,
.water-category-card .fas,
.certification-card .fas {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

/* Enhanced dimensional effect on hover */
.iicrc-standard-card li:hover .fas,
.condition-card li:hover .fas,
.water-category-card li:hover .fas,
.certification-card li:hover .fas {
    transform: scale(1.1);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

/* Building Science Cards - Enhanced visual treatment */
.building-science-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
    transition: all 0.3s ease;
    position: relative;
}

.building-science-card .science-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: #f8f9fa;
}

.building-science-card .science-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Moisture Control - Blue/Teal theme */
.science-moisture-card {
    border-color: #0891B2;
}

.science-moisture-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(8, 145, 178, 0.3),
                0 8px 16px rgba(6, 182, 212, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(14, 165, 233, 0.2);
}

/* Air Quality - Purple theme */
.science-air-card {
    border-color: #8B5CF6;
}

.science-air-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(139, 92, 246, 0.3),
                0 8px 16px rgba(124, 58, 237, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(109, 40, 217, 0.2);
}

.science-air-card .text-purple { color: #8B5CF6 !important; }

/* Thermal Comfort - Orange theme */
.science-thermal-card {
    border-color: #F97316;
}

.science-thermal-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(249, 115, 22, 0.3),
                0 8px 16px rgba(234, 88, 12, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(220, 38, 38, 0.2);
}

.science-thermal-card .text-orange { color: #F97316 !important; }

/* Structural Integrity - Gray theme */
.science-structural-card {
    border-color: #6B7280;
}

.science-structural-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(107, 114, 128, 0.3),
                0 8px 16px rgba(75, 85, 99, 0.2),
                0 2px 4px rgba(0, 0, 0, 0.2),
                inset 0 2px 6px rgba(255, 255, 255, 0.1),
                inset 0 -2px 6px rgba(55, 65, 81, 0.2);
}

/* Building Science header styling */
.building-science-card .science-header h4 {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

.building-science-card .science-details h6 {
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

/* Building Science section background */
.building-science-section {
    background: var(--bg-dark-secondary);
}

/* Special treatment for check icons */
.fas.fa-check {
    background: linear-gradient(135deg, #28a745, #20c997);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
    filter: drop-shadow(1px 1px 2px rgba(40, 167, 69, 0.3));
}

/* Special treatment for warning icons */
.fas.fa-exclamation {
    background: linear-gradient(135deg, #ffc107, #fd7e14);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
    filter: drop-shadow(1px 1px 2px rgba(255, 193, 7, 0.3));
}

/* Special treatment for danger icons */
.fas.fa-times,
.fas.fa-skull {
    background: linear-gradient(135deg, #dc3545, #c82333);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
    filter: drop-shadow(1px 1px 2px rgba(220, 53, 69, 0.3));
}

/* Special treatment for water droplet icons */
.fas.fa-droplet {
    background: linear-gradient(135deg, #007bff, #0056b3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
    filter: drop-shadow(1px 1px 2px rgba(0, 123, 255, 0.3));
}

/* Dimensional treatment for certification badges */
.certification-badges .badge {
    background: linear-gradient(135deg, var(--primary-teal), var(--light-teal));
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.certification-badges .badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.15);
}

/* =================================================================
   HOMEPAGE ICON DIMENSIONAL TREATMENT
   ================================================================= */

/* Tier 1: Hero Icons (3x size) - A.A.R.M. Process Icons */
.arm-icon .fas.fa-3x {
    position: relative;
    background: linear-gradient(135deg, currentColor, transparent);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3));
    transition: all 0.3s ease;
}

/* Specific gradients for each A.A.R.M. icon */
.assessment-card .fa-search {
    background: linear-gradient(135deg, #007bff, #0056b3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(0, 123, 255, 0.4));
}

.remediation-card .fa-tools {
    background: linear-gradient(135deg, #28a745, #20c997);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(40, 167, 69, 0.4));
}

.management-card .fa-chart-line {
    background: linear-gradient(135deg, #ffc107, #fd7e14);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(255, 193, 7, 0.4));
}

/* Hover effects for A.A.R.M. icons */
.arm-card:hover .fas.fa-3x {
    transform: scale(1.1) translateY(-2px);
    filter: drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.4));
}

/* Tier 2: Service Category Icons (2x size) */
.service-icon .fas.fa-2x {
    position: relative;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

/* Enhanced colors with subtle gradients for service icons */
.service-icon .fa-microscope {
    background: linear-gradient(135deg, #007bff, #0891b2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(0, 123, 255, 0.3));
}

.service-icon .fa-hurricane {
    background: linear-gradient(135deg, #dc3545, #ef4444);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(220, 53, 69, 0.3));
}

.service-icon .fa-search {
    background: linear-gradient(135deg, #17a2b8, #0891b2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(23, 162, 184, 0.3));
}

.service-icon .fa-industry {
    background: linear-gradient(135deg, #ffc107, #f59e0b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(255, 193, 7, 0.3));
}

.service-icon .fa-clipboard-check,
.service-icon .fa-leaf {
    background: linear-gradient(135deg, #28a745, #10b981);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(40, 167, 69, 0.3));
}

/* Hover effect for service icons */
.service-card:hover .fas.fa-2x {
    transform: scale(1.15) translateY(-2px);
    filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.3));
}

/* Tier 3: Contact Info Icons (standard size with semantic colors) */
.contact-info-section .fas {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

.contact-info-section .fas.text-primary {
    filter: drop-shadow(1px 1px 2px rgba(20, 184, 166, 0.3));
}

/* Tier 4: List Checkmarks (minimal treatment) */
.arm-details .fa-check,
.hero-content-overlay .fa-check {
    background: linear-gradient(135deg, #28a745, #20c997);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
    filter: drop-shadow(0.5px 0.5px 1px rgba(40, 167, 69, 0.2));
}

/* List item hover effect - subtle */
.arm-details li:hover .fa-check,
.hero-content-overlay li:hover .fa-check {
    transform: scale(1.1);
    filter: drop-shadow(1px 1px 2px rgba(40, 167, 69, 0.3));
}

/* Emergency button icons - special treatment */
.emergency-options .fas {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

.emergency-options .btn:hover .fas {
    transform: scale(1.1);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
}

/* Button icons - inherit button transitions */
.btn .fas {
    transition: inherit;
    text-shadow: 0.5px 0.5px 1px rgba(0, 0, 0, 0.2);
}

/* Homepage-specific stat badges icons */
.stat-badge .fas {
    filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.3));
}

/* =================================================================
   SERVICES PAGE ICON DIMENSIONAL TREATMENT
   ================================================================= */

/* Hero section highlight icons */
.hero-content-overlay .highlight-item .fas {
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
    filter: drop-shadow(1px 1px 2px rgba(20, 184, 166, 0.3));
    transition: all 0.3s ease;
}

/* A.A.R.M. Process checkmarks on services page */
.arm-process-section .feature-icon .fa-check {
    background: linear-gradient(135deg, #28a745, #20c997);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0.5px 0.5px 1px rgba(40, 167, 69, 0.2));
}

/* Technology icons - 2x size */
.technology-icon .fas.fa-2x {
    position: relative;
    transition: all 0.3s ease;
}

.technology-icon .fa-microscope {
    background: linear-gradient(135deg, #007bff, #0891b2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(0, 123, 255, 0.3));
}

.technology-icon .fa-flask {
    background: linear-gradient(135deg, #17a2b8, #06b6d4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(23, 162, 184, 0.3));
}

.technology-icon .fa-thermometer-half {
    background: linear-gradient(135deg, #dc3545, #ef4444);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(220, 53, 69, 0.3));
}

.technology-icon .fa-cogs {
    background: linear-gradient(135deg, #28a745, #10b981);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(40, 167, 69, 0.3));
}

.technology-card:hover .fas.fa-2x {
    transform: scale(1.15) translateY(-2px);
    filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.3));
}

/* =================================================================
   ABOUT PAGE ICON DIMENSIONAL TREATMENT
   ================================================================= */

/* Location header icons */
.office-locations-section .fa-map-marker-alt {
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
    filter: drop-shadow(1px 1px 2px rgba(20, 184, 166, 0.3));
}

/* Service specialty icons */
.service-highlights .fas {
    background: linear-gradient(135deg, currentColor, transparent);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.2));
}

/* Value proposition icons - 3x size */
.value-card .fas.fa-3x {
    position: relative;
    transition: all 0.3s ease;
}

.value-card .fa-shield-alt {
    background: linear-gradient(135deg, #007bff, #0056b3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(0, 123, 255, 0.4));
}

.value-card .fa-microscope {
    background: linear-gradient(135deg, #28a745, #20c997);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(40, 167, 69, 0.4));
}

.value-card .fa-users {
    background: linear-gradient(135deg, #17a2b8, #0891b2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(23, 162, 184, 0.4));
}

.value-card:hover .fas.fa-3x {
    transform: scale(1.1) translateY(-2px);
    filter: drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.4));
}

/* Certification icons - 2x size */
.certification-card .fas.fa-2x,
.credential-card .fas.fa-2x {
    position: relative;
    transition: all 0.3s ease;
}

.certification-card .fa-certificate {
    background: linear-gradient(135deg, #007bff, #0056b3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(0, 123, 255, 0.3));
}

.certification-card .fa-award {
    background: linear-gradient(135deg, #28a745, #10b981);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(40, 167, 69, 0.3));
}

.certification-card .fa-shield-alt {
    background: linear-gradient(135deg, #17a2b8, #0891b2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(23, 162, 184, 0.3));
}

.certification-card .fa-check-circle {
    background: linear-gradient(135deg, #ffc107, #f59e0b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(255, 193, 7, 0.3));
}

.certification-card:hover .fas.fa-2x,
.credential-card:hover .fas.fa-2x {
    transform: scale(1.15) translateY(-2px);
    filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.3));
}

/* About page list checkmarks */
.service-highlights .fa-check,
.coverage-areas .fa-check {
    background: linear-gradient(135deg, #28a745, #20c997);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0.5px 0.5px 1px rgba(40, 167, 69, 0.2));
}

/* =================================================================
   CONTACT PAGE ICON DIMENSIONAL TREATMENT
   ================================================================= */

/* Hero highlight icons */
.contact-hero-section .highlight-item .fas {
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
    filter: drop-shadow(1px 1px 2px rgba(20, 184, 166, 0.3));
    transition: all 0.3s ease;
}

/* Emergency type icons */
.emergency-types .fas {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.emergency-types .fa-exclamation-triangle {
    background: linear-gradient(135deg, #ffc107, #f59e0b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 2px rgba(255, 193, 7, 0.3));
}

.emergency-types .fa-bacteria {
    background: linear-gradient(135deg, #28a745, #10b981);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 2px rgba(40, 167, 69, 0.3));
}

.emergency-types .fa-wind {
    background: linear-gradient(135deg, #17a2b8, #0891b2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 2px rgba(23, 162, 184, 0.3));
}

/* Office location icons */
.office-card .fas {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

.office-card .fa-map-marker-alt {
    filter: drop-shadow(1px 1px 2px rgba(20, 184, 166, 0.3));
}

.office-card .fa-phone,
.office-card .fa-envelope,
.office-card .fa-fax {
    filter: drop-shadow(1px 1px 1px rgba(0, 123, 255, 0.2));
}

/* Service specialty icons in contact page */
.office-card .service-specialties .fas {
    background: linear-gradient(135deg, currentColor, transparent);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0.5px 0.5px 1px rgba(0, 0, 0, 0.15));
}

/* Contact page checkmarks */
.coverage-areas .fa-check,
.service-specialties .fa-check {
    background: linear-gradient(135deg, #28a745, #20c997);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0.5px 0.5px 1px rgba(40, 167, 69, 0.2));
}

/* =================================================================
   RESOURCES PAGE ICON DIMENSIONAL TREATMENT
   ================================================================= */

/* Topic icons - 3x size */
.topic-icon .fas.fa-3x {
    position: relative;
    transition: all 0.3s ease;
}

.topic-icon .fa-certificate {
    background: linear-gradient(135deg, #007bff, #0056b3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(0, 123, 255, 0.4));
}

.topic-icon .fa-microscope {
    background: linear-gradient(135deg, #28a745, #20c997);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(40, 167, 69, 0.4));
}

.topic-icon .fa-tint {
    background: linear-gradient(135deg, #17a2b8, #0891b2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(23, 162, 184, 0.4));
}

.topic-icon .fa-wind {
    background: linear-gradient(135deg, #ffc107, #f59e0b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(255, 193, 7, 0.4));
}

.topic-card:hover .fas.fa-3x {
    transform: scale(1.1) translateY(-2px);
    filter: drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.4));
}

/* Resources page checkmarks */
.topic-content .fa-check {
    background: linear-gradient(135deg, #28a745, #20c997);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0.5px 0.5px 1px rgba(40, 167, 69, 0.2));
}

/* =================================================================
   EDUCATIONAL TOOLS ICON DIMENSIONAL TREATMENT
   ================================================================= */

/* Building Health Assessment category icons - 3x */
.category-icon .fas.fa-3x {
    position: relative;
    transition: all 0.3s ease;
}

.category-icon .fa-wind {
    background: linear-gradient(135deg, #007bff, #0056b3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(0, 123, 255, 0.4));
}

.category-icon .fa-tint {
    background: linear-gradient(135deg, #17a2b8, #0891b2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(23, 162, 184, 0.4));
}

.category-icon .fa-home {
    background: linear-gradient(135deg, #28a745, #10b981);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(40, 167, 69, 0.4));
}

.category-icon .fa-lungs {
    background: linear-gradient(135deg, #ffc107, #f59e0b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(255, 193, 7, 0.4));
}

.assessment-card:hover .fas.fa-3x {
    transform: scale(1.1) translateY(-2px);
    filter: drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.4));
}

/* IICRC Standards resource icons - 3x */
.resource-icon .fas.fa-3x {
    position: relative;
    transition: all 0.3s ease;
}

.resource-icon .fa-book {
    background: linear-gradient(135deg, #007bff, #0056b3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(0, 123, 255, 0.4));
}

.resource-icon .fa-video {
    background: linear-gradient(135deg, #28a745, #10b981);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 2px 6px rgba(40, 167, 69, 0.4));
}

.resource-card:hover .fas.fa-3x {
    transform: scale(1.1) translateY(-2px);
    filter: drop-shadow(3px 3px 8px rgba(0, 0, 0, 0.4));
}

/* Educational tools checkmarks and small icons */
.education-card .fa-check,
.standard-card .fa-check,
.assessment-checklist .fa-check {
    background: linear-gradient(135deg, #28a745, #20c997);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0.5px 0.5px 1px rgba(40, 167, 69, 0.2));
}

.education-card .fa-thermometer-half {
    background: linear-gradient(135deg, #ffc107, #f59e0b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 2px rgba(255, 193, 7, 0.3));
}

/* Button icons in educational tools */
.resource-card .btn .fas,
.standard-card .btn .fas {
    text-shadow: 0.5px 0.5px 1px rgba(0, 0, 0, 0.2);
}

/* =================================================================
   ADMIN PAGES ICON DIMENSIONAL TREATMENT
   ================================================================= */

/* Admin dashboard stat card icons - 2x */
.dashboard-card .fas.fa-2x {
    position: relative;
    transition: all 0.3s ease;
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3));
}

.dashboard-card:hover .fas.fa-2x {
    transform: scale(1.1) translateY(-2px);
    filter: drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.4));
}

/* Admin navigation icons */
.admin-nav .fas {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

.admin-nav a:hover .fas {
    transform: scale(1.1);
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.3);
}

/* Admin login shield icon - 3rem */
.admin-login-icon {
    filter: drop-shadow(2px 2px 6px rgba(20, 184, 166, 0.4));
    transition: all 0.3s ease;
}

.admin-login-icon:hover {
    transform: scale(1.05);
    filter: drop-shadow(3px 3px 8px rgba(20, 184, 166, 0.5));
}

/* =================================================================
   ERROR PAGES ICON DIMENSIONAL TREATMENT
   ================================================================= */

/* Large error icons - 4x */
.error-page .fas.fa-4x {
    position: relative;
    transition: all 0.3s ease;
}

.error-page .fa-exclamation-triangle {
    background: linear-gradient(135deg, #ffc107, #f59e0b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(3px 3px 8px rgba(255, 193, 7, 0.5));
}

.error-page .fa-exclamation-circle {
    background: linear-gradient(135deg, #dc3545, #ef4444);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(3px 3px 8px rgba(220, 53, 69, 0.5));
}

/* Animate error icons */
@keyframes errorPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

.error-page .fas.fa-4x {
    animation: errorPulse 2s ease-in-out infinite;
}

/* =================================================================
   CHAT WIDGET ICON DIMENSIONAL TREATMENT
   ================================================================= */

/* Chat robot icon - special treatment */
.chat-widget .fa-robot {
    background: linear-gradient(135deg, var(--primary-teal), var(--light-teal));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(1px 1px 3px rgba(20, 184, 166, 0.4));
    transition: all 0.3s ease;
}

/* Chat widget avatar icon */
.chat-widget-header .fa-robot,
.chat-message.bot .fa-robot {
    filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.3));
}

/* Quick action icons in chat */
.quick-actions .fas {
    text-shadow: 0.5px 0.5px 1px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

.quick-actions button:hover .fas {
    transform: scale(1.1);
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

/* Chat toggle button icon */
.chat-toggle .fa-comments {
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3));
    transition: all 0.3s ease;
}

.chat-toggle:hover .fa-comments {
    transform: scale(1.1) rotate(5deg);
    filter: drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.4));
}

/* =================================================================
   FOOTER & BASE TEMPLATE ICON DIMENSIONAL TREATMENT
   ================================================================= */

/* Social media icons - special brand treatment */
.social-links .fab {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

.social-links .fa-linkedin {
    filter: drop-shadow(1px 1px 2px rgba(0, 119, 181, 0.3));
}

.social-links .fa-twitter {
    filter: drop-shadow(1px 1px 2px rgba(29, 161, 242, 0.3));
}

.social-links .fa-facebook {
    filter: drop-shadow(1px 1px 2px rgba(59, 89, 152, 0.3));
}

.social-links a:hover .fab {
    transform: scale(1.2) translateY(-2px);
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.4));
}

/* Footer contact icons */
footer .fas {
    text-shadow: 0.5px 0.5px 1px rgba(0, 0, 0, 0.2);
    filter: drop-shadow(0.5px 0.5px 1px rgba(20, 184, 166, 0.2));
}

/* =================================================================
   GLOBAL ICON ENHANCEMENTS
   ================================================================= */

/* Ensure all icons have smooth transitions */
.fas, .far, .fab {
    transition: filter 0.3s ease, transform 0.3s ease, text-shadow 0.3s ease;
}

/* Preserve button icon transitions */
.btn .fas, .btn .far, .btn .fab {
    transition: inherit;
}

/* Accessibility: Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    .fas, .far, .fab {
        animation: none !important;
        transition: none !important;
    }
}

/* Team Section */
.team-section {
    background: linear-gradient(135deg, var(--bg-dark), var(--bg-dark-secondary));
}

.team-member-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    transition: all 0.3s ease;
}

.team-avatar img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border: 3px solid var(--primary-teal);
}

/* Timeline Styles */
.timeline-section {
    background: var(--bg-dark-secondary);
}

.timeline {
    position: relative;
    padding: 0;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, var(--primary-teal), var(--light-teal));
    transform: translateX(-50%);
}

.timeline-item {
    position: relative;
    margin-bottom: 50px;
    width: 100%;
}

.timeline-item:nth-child(odd) .timeline-content {
    margin-left: 0;
    margin-right: 50%;
    text-align: right;
    padding-right: 40px;
}

.timeline-item:nth-child(even) .timeline-content {
    margin-left: 50%;
    margin-right: 0;
    text-align: left;
    padding-left: 40px;
}

.timeline-marker {
    position: absolute;
    left: 50%;
    top: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    transform: translateX(-50%);
    border: 3px solid var(--bg-dark);
    z-index: 10;
}

.timeline-content {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 10px;
    padding: 20px;
}

/* Location Cards */
.location-card,
.office-location-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    height: 100%;
    transition: all 0.3s ease;
}

.location-card:hover,
.office-location-card:hover {
    transform: scale(1.02);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* Coverage Gallery Styles */
.coverage-section {
    background: var(--bg-dark-secondary);
}

/* Coverage Tech Container Styling */
.coverage-tech-container {
    background: linear-gradient(135deg, rgba(0, 31, 63, 0.95), rgba(15, 76, 117, 0.95));
    border: 1px solid rgba(78, 205, 196, 0.3);
    border-radius: 15px;
    padding: 40px;
    position: relative;
    overflow: hidden;
}

.coverage-tech-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 80%, rgba(78, 205, 196, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(139, 92, 246, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 40% 40%, rgba(52, 152, 219, 0.05) 0%, transparent 50%);
    pointer-events: none;
}

/* Map Section Styling */
.coverage-map-section {
    position: relative;
    overflow: hidden;
}

.tech-grid-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        linear-gradient(rgba(78, 205, 196, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(78, 205, 196, 0.1) 1px, transparent 1px);
    background-size: 50px 50px;
    animation: gridMove 20s linear infinite;
}

@keyframes gridMove {
    0% { transform: translate(0, 0); }
    100% { transform: translate(50px, 50px); }
}

.coverage-regions {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 60px;
    z-index: 1;
}

.region-highlight {
    text-align: center;
    padding: 30px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

.region-highlight:hover {
    transform: translateY(-5px);
    background: rgba(0, 0, 0, 0.7);
}

.region-highlight.southeast {
    border-color: rgba(52, 152, 219, 0.3);
}

.region-highlight.southeast:hover {
    box-shadow: 0 8px 20px rgba(52, 152, 219, 0.3);
}

.region-highlight.texas {
    border-color: rgba(241, 196, 15, 0.3);
}

.region-highlight.texas:hover {
    box-shadow: 0 8px 20px rgba(241, 196, 15, 0.3);
}

/* Coverage Detail Cards */
.coverage-detail-card {
    background: rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    padding: 30px;
    height: 100%;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.coverage-detail-card::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(45deg, #4ECDC4, #3498db, #9b59b6, #f39c12);
    border-radius: 10px;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
}

.coverage-detail-card:hover::before {
    opacity: 0.5;
}

.coverage-detail-card:hover {
    transform: translateY(-5px);
    background: rgba(0, 0, 0, 0.6);
}

.tech-icon-wrapper {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(78, 205, 196, 0.2), rgba(52, 152, 219, 0.2));
    border-radius: 10px;
    position: relative;
}

.tech-icon-wrapper::after {
    content: '';
    position: absolute;
    inset: -1px;
    background: linear-gradient(135deg, #4ECDC4, #3498db);
    border-radius: 10px;
    opacity: 0.3;
    filter: blur(10px);
}

/* Service Highlight Bar */
.service-highlight-bar {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3));
    border: 1px solid rgba(78, 205, 196, 0.2);
    border-radius: 10px;
    padding: 30px;
    margin-top: 20px;
    position: relative;
    overflow: hidden;
}

.service-highlight-bar::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(78, 205, 196, 0.2), transparent);
    animation: highlightSweep 8s linear infinite;
}

@keyframes highlightSweep {
    0% { left: -100%; }
    100% { left: 100%; }
}

.metric-display {
    text-align: center;
    position: relative;
}

.metric-display h3 {
    font-size: 2.5rem;
    font-weight: 900;
    margin-bottom: 5px;
    text-shadow: 0 0 20px currentColor;
}

.metric-display small {
    display: block;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.coverage-gallery-item {
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.coverage-thumbnail {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    height: 350px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

/* Florida Theme */
.coverage-thumbnail.florida-theme {
    background: linear-gradient(135deg, #2d1b1b, #1f1515);
    border: 1px solid rgba(255, 107, 107, 0.3);
}

.coverage-thumbnail.florida-theme:hover {
    border-color: rgba(255, 107, 107, 0.6);
    box-shadow: 0 8px 20px rgba(255, 107, 107, 0.3);
}

/* Minnesota Theme */
.coverage-thumbnail.minnesota-theme {
    background: linear-gradient(135deg, #1a2332, #151b26);
    border: 1px solid rgba(78, 205, 196, 0.3);
}

.coverage-thumbnail.minnesota-theme:hover {
    border-color: rgba(78, 205, 196, 0.6);
    box-shadow: 0 8px 20px rgba(78, 205, 196, 0.3);
}

/* National Theme */
.coverage-thumbnail.national-theme {
    background: linear-gradient(135deg, #1e1e2e, #0f0f1f);
    border: 1px solid rgba(139, 92, 246, 0.3);
    height: 200px;
}

.coverage-thumbnail.national-theme:hover {
    border-color: rgba(139, 92, 246, 0.6);
    box-shadow: 0 8px 20px rgba(139, 92, 246, 0.3);
}

.coverage-map-visual {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.coverage-map-svg {
    width: 100%;
    height: 100%;
    max-width: 300px;
}

/* State Image Container Styles */
.state-image-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* State Image Styling */
.state-image {
    width: 90%;
    height: auto;
    max-width: 280px;
    object-fit: contain;
    filter: brightness(0.9) contrast(1.2);
    transition: all 0.3s ease;
    transform-style: preserve-3d;
    transform: perspective(1000px) rotateX(-5deg) translateZ(0);
}

/* State Image Container 3D Effects */
.state-image-container::before {
    content: '';
    position: absolute;
    inset: 10%;
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.15) 0%, 
        transparent 35%, 
        rgba(0, 0, 0, 0.1) 70%,
        rgba(0, 0, 0, 0.2) 100%);
    border-radius: 8px;
    pointer-events: none;
    z-index: 2;
    transition: all 0.3s ease;
}

/* Florida Themed Styling */
.florida-themed .state-image {
    filter: brightness(0.9) contrast(1.2) hue-rotate(-10deg) saturate(1.3)
            drop-shadow(0 10px 20px rgba(255, 107, 107, 0.3))
            drop-shadow(0 3px 6px rgba(0, 0, 0, 0.3))
            drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4));
}

/* Minnesota Themed Styling */
.minnesota-themed .state-image {
    filter: brightness(0.9) contrast(1.2) hue-rotate(180deg) saturate(1.2)
            drop-shadow(0 10px 20px rgba(78, 205, 196, 0.3))
            drop-shadow(0 3px 6px rgba(0, 0, 0, 0.3))
            drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4));
}

/* National Themed Styling */
.national-themed .state-image {
    filter: brightness(0.9) contrast(1.2) hue-rotate(270deg) saturate(1.3)
            drop-shadow(0 10px 20px rgba(139, 92, 246, 0.3))
            drop-shadow(0 3px 6px rgba(0, 0, 0, 0.3))
            drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4));
}

/* State Image Container Border Glow */
.florida-themed::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, 
        transparent 40%, 
        rgba(255, 107, 107, 0.15) 70%, 
        rgba(255, 107, 107, 0.05) 100%);
    pointer-events: none;
    z-index: 1;
}

.minnesota-themed::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, 
        transparent 40%, 
        rgba(78, 205, 196, 0.15) 70%, 
        rgba(78, 205, 196, 0.05) 100%);
    pointer-events: none;
    z-index: 1;
}

.national-themed::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, 
        transparent 40%, 
        rgba(139, 92, 246, 0.15) 70%, 
        rgba(139, 92, 246, 0.05) 100%);
    pointer-events: none;
    z-index: 1;
}

/* Location Markers */
.location-markers {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.location-marker {
    position: absolute;
    width: 12px;
    height: 12px;
    background: #FFB366;
    border: 2px solid #fff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease;
}

.location-marker.main-office {
    width: 16px;
    height: 16px;
    background: #FFD93D;
    z-index: 2;
}

.marker-pulse {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #FFD93D;
    animation: markerPulse 2s ease-in-out infinite;
}

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

/* State Label */
.state-label {
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Roboto', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

.florida-themed .state-label {
    color: #FF6B6B;
}

.minnesota-themed .state-label {
    color: #4ECDC4;
}

/* Hover Effects */
.coverage-gallery-item:hover .state-image {
    transform: perspective(1000px) rotateX(-8deg) rotateY(5deg) scale(1.08) translateZ(20px);
    filter: brightness(1) contrast(1.3) saturate(1.5);
}

.coverage-gallery-item:hover .florida-themed .state-image {
    filter: brightness(1) contrast(1.3) hue-rotate(-10deg) saturate(1.6)
            drop-shadow(0 15px 30px rgba(255, 107, 107, 0.4))
            drop-shadow(0 5px 10px rgba(0, 0, 0, 0.4))
            drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
}

.coverage-gallery-item:hover .minnesota-themed .state-image {
    filter: brightness(1) contrast(1.3) hue-rotate(180deg) saturate(1.5)
            drop-shadow(0 15px 30px rgba(78, 205, 196, 0.4))
            drop-shadow(0 5px 10px rgba(0, 0, 0, 0.4))
            drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
}

.coverage-gallery-item:hover .national-themed .state-image {
    filter: brightness(1) contrast(1.3) hue-rotate(270deg) saturate(1.6)
            drop-shadow(0 15px 30px rgba(139, 92, 246, 0.4))
            drop-shadow(0 5px 10px rgba(0, 0, 0, 0.4))
            drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
}

.coverage-gallery-item:hover .state-image-container::before {
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.25) 0%, 
        transparent 35%, 
        rgba(0, 0, 0, 0.15) 70%,
        rgba(0, 0, 0, 0.3) 100%);
}

.coverage-gallery-item:hover .location-marker {
    transform: translate(-50%, -50%) scale(1.2);
}

/* Modal State Image Styling */
.modal-state-image {
    width: 100%;
    height: 100%;
    max-width: 400px;
    object-fit: contain;
    transform-style: preserve-3d;
    transform: perspective(1000px) rotateX(-5deg) translateZ(0);
    transition: all 0.3s ease;
}

.modal-florida-themed .state-image {
    filter: brightness(0.95) contrast(1.3) hue-rotate(-10deg) saturate(1.4)
            drop-shadow(0 12px 24px rgba(255, 107, 107, 0.35))
            drop-shadow(0 4px 8px rgba(0, 0, 0, 0.35))
            drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}

.modal-minnesota-themed .state-image {
    filter: brightness(0.95) contrast(1.3) hue-rotate(180deg) saturate(1.3)
            drop-shadow(0 12px 24px rgba(78, 205, 196, 0.35))
            drop-shadow(0 4px 8px rgba(0, 0, 0, 0.35))
            drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}

/* Modal State Container 3D Effects */
.modal-florida-themed::before,
.modal-minnesota-themed::before {
    content: '';
    position: absolute;
    inset: 5%;
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.2) 0%, 
        transparent 35%, 
        rgba(0, 0, 0, 0.1) 70%,
        rgba(0, 0, 0, 0.25) 100%);
    border-radius: 12px;
    pointer-events: none;
    z-index: 2;
}

.modal-florida-themed::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, 
        transparent 35%, 
        rgba(255, 107, 107, 0.2) 70%, 
        rgba(255, 107, 107, 0.1) 100%);
    pointer-events: none;
    z-index: 1;
}

.modal-minnesota-themed::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, 
        transparent 35%, 
        rgba(78, 205, 196, 0.2) 70%, 
        rgba(78, 205, 196, 0.1) 100%);
    pointer-events: none;
    z-index: 1;
}

/* Modal State Label */
.modal-state-label {
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Roboto', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

.modal-florida-themed .modal-state-label {
    color: #FF6B6B;
}

.modal-minnesota-themed .modal-state-label {
    color: #4ECDC4;
}

/* Modal Location Markers */
.location-marker-detail {
    position: absolute;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    gap: 8px;
}

.location-marker-detail::before {
    content: '';
    width: 14px;
    height: 14px;
    background: #FFB366;
    border: 2px solid #fff;
    border-radius: 50%;
    flex-shrink: 0;
}

.location-marker-detail.main-office::before {
    width: 18px;
    height: 18px;
    background: #FFD93D;
}

.marker-label {
    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 500;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.location-marker-detail:hover .marker-label,
.location-marker-detail.main-office .marker-label {
    opacity: 1;
}

/* Responsive adjustments for state images */
@media (max-width: 768px) {
    .state-image {
        max-width: 200px;
    }
    
    .state-label {
        font-size: 1.2rem;
    }
    
    .modal-state-image {
        max-width: 300px;
    }
}

/* Animated Markers */
.pulse-marker {
    animation: pulse 2s ease-in-out infinite;
}

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

/* Coverage Overlay */
.coverage-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.7) 70%, rgba(0, 0, 0, 0) 100%);
    padding: 30px 20px 20px;
    transform: translateY(0);
    transition: transform 0.3s ease;
}

.coverage-title {
    color: #fff;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 10px;
}

/* Gallery coverage stats - different from Geographic Coverage */
.coverage-gallery-item .coverage-stats {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.stat-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8);
}

.stat-item i {
    font-size: 0.8rem;
}

.coverage-expand-icon {
    position: absolute;
    top: 15px;
    right: 15px;
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
    padding: 8px;
    border-radius: 4px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* Hover Effects */
.coverage-gallery-item:hover .coverage-thumbnail {
    transform: translateY(-10px);
}

.coverage-gallery-item:hover .coverage-expand-icon {
    opacity: 1;
}

.coverage-gallery-item:hover .coverage-map-svg {
    transform: scale(1.05);
}

/* National Coverage Visual */
.national-coverage-visual {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.coverage-connection-line {
    position: absolute;
    width: 300px;
    height: 2px;
    background: linear-gradient(90deg, #FF6B6B 0%, #8B5CF6 50%, #4ECDC4 100%);
    opacity: 0.6;
    animation: connectionPulse 3s ease-in-out infinite;
}

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

.coverage-badge {
    position: absolute;
    background: rgba(0, 0, 0, 0.8);
    border-radius: 8px;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    font-weight: 500;
}

.florida-badge {
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid rgba(255, 107, 107, 0.5);
    color: #FFB366;
}

.minnesota-badge {
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid rgba(78, 205, 196, 0.5);
    color: #4ECDC4;
}

.coverage-center-info {
    text-align: center;
    z-index: 2;
}

.coverage-center-info h3 {
    color: #8B5CF6;
    font-weight: 700;
    font-size: 1.5rem;
}

.coverage-center-info p {
    color: rgba(255, 255, 255, 0.7);
}

/* Coverage Modal Styling */
#coverageModal .modal-dialog {
    max-width: 1000px;
}

#coverageModal .modal-content {
    background: #0f0f1f;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

#coverageModal .modal-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

#coverageModal .modal-body {
    padding: 2rem;
}

/* Coverage Detail Styling */
.coverage-detail {
    color: #fff;
}

.coverage-map-large {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.coverage-info .info-section {
    padding: 15px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.metric-box {
    text-align: center;
    padding: 20px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.metric-box h3 {
    font-size: 2rem;
    font-weight: 700;
}

/* National Coverage Styling */
.national-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.stat-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.05));
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    padding: 30px;
    text-align: center;
    transition: all 0.3s ease;
}

.stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

.florida-stat {
    border-color: rgba(255, 107, 107, 0.3);
}

.florida-stat:hover {
    box-shadow: 0 8px 20px rgba(255, 107, 107, 0.3);
}

.minnesota-stat {
    border-color: rgba(78, 205, 196, 0.3);
}

.minnesota-stat:hover {
    box-shadow: 0 8px 20px rgba(78, 205, 196, 0.3);
}

.connection-stat {
    border-color: rgba(139, 92, 246, 0.3);
}

.connection-stat:hover {
    box-shadow: 0 8px 20px rgba(139, 92, 246, 0.3);
}

.network-feature {
    text-align: center;
    padding: 20px;
}

.network-feature i {
    display: inline-block;
    margin-bottom: 15px;
}

.network-feature h5 {
    color: #fff;
    font-weight: 600;
    margin-bottom: 10px;
}

.network-feature p {
    color: rgba(255, 255, 255, 0.7);
}

/* Responsive Design */
@media (max-width: 768px) {
    .coverage-tech-container {
        padding: 20px;
    }
    
    .coverage-regions {
        flex-direction: column;
        gap: 30px;
    }
    
    .region-highlight {
        padding: 20px;
    }
    
    .coverage-detail-card {
        padding: 20px;
    }
    
    .metric-display h3 {
        font-size: 2rem;
    }
    
    .service-highlight-bar {
        padding: 20px;
    }
    
    .coverage-thumbnail {
        height: 280px;
    }
    
    .coverage-thumbnail.national-theme {
        height: 180px;
    }
    
    .coverage-connection-line {
        width: 200px;
    }
    
    .florida-badge,
    .minnesota-badge {
        font-size: 0.8rem;
        padding: 8px 12px;
    }
    
    .coverage-center-info h3 {
        font-size: 1.2rem;
    }
    
    .coverage-center-info p {
        font-size: 0.9rem;
    }
}

/* Contact Form Styles */
.contact-form-section {
    background: var(--bg-dark-secondary);
}

.contact-form-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
}

.form-control,
.form-select {
    background-color: var(--bg-dark-tertiary);
    border-color: var(--border-dark);
    color: var(--text-light);
}

.form-control:focus,
.form-select:focus {
    background-color: var(--bg-dark-tertiary);
    border-color: var(--primary-teal);
    box-shadow: 0 0 0 0.2rem rgba(6, 182, 212, 0.25);
    color: var(--text-light);
}

.form-label {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--text-light);
}

.form-control, .form-select {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-weight: 400;
}

/* Emergency Contact Panel */
.emergency-contact-panel {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.emergency-options .btn {
    margin-bottom: 10px;
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: all 0.3s ease;
}

.emergency-options .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

/* Certification Cards */
.certification-card,
.credential-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    height: 100%;
    transition: all 0.3s ease;
}

.certification-card:hover,
.credential-card:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* Value Cards */
.value-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    height: 100%;
    transition: all 0.3s ease;
}

.value-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

/* Independent Advantage Section */
.independent-advantage-section {
    background: var(--bg-dark-secondary);
}

.advantage-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    height: 100%;
}

.testimonial-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    margin-top: 30px;
}

/* Building Science Interactive */
.building-science-interactive-section {
    background: var(--bg-dark-secondary);
}

.science-interactive-panel {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    padding: 30px;
}

/* Building Science Image Overlay Styling */
.science-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.science-image-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, 
        rgba(15, 23, 42, 0.2) 0%, 
        rgba(30, 41, 59, 0.3) 50%, 
        rgba(17, 94, 89, 0.15) 100%);
    pointer-events: none;
    z-index: 1;
}

.science-image-wrapper img {
    display: block;
    width: 100%;
    height: auto;
    filter: brightness(0.9) contrast(1.1);
}

.nav-tabs .nav-link {
    background-color: var(--bg-dark-tertiary);
    border-color: var(--border-dark);
    color: var(--text-muted);
}

.nav-tabs .nav-link.active {
    background-color: var(--primary-teal);
    border-color: var(--primary-teal);
    color: var(--text-light);
}

.nav-tabs .nav-link:hover {
    border-color: var(--primary-teal);
    color: var(--primary-teal);
}

/* Coverage Visualization */
.coverage-visualization {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    padding: 40px;
    margin-left: 100px;
}

.coverage-stat h3 {
    color: var(--primary-teal);
    font-size: 2.5rem;
    font-weight: bold;
}

/* Coverage Stat Cards */
.coverage-stat-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid var(--border-dark);
    border-radius: 10px;
    padding: 40px 20px;
    height: 100%;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 160px;
}

.coverage-stat-card:hover {
    transform: translateY(-5px);
    border-color: var(--primary-teal);
    box-shadow: 0 8px 25px rgba(6, 182, 212, 0.2);
}

.coverage-stat-card h3 {
    color: var(--primary-teal);
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 1;
}

.coverage-stat-card p {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    margin: 0;
}

/* Center the coverage stats within visualization */
.coverage-visualization .coverage-stats {
    display: flex;
    justify-content: center;
}

/* Mobile responsive adjustment */
@media (max-width: 768px) {
    .coverage-visualization {
        margin-left: 0;
    }
}

/* Topic Cards */
.topic-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    height: 100%;
    transition: all 0.3s ease;
}

.topic-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

/* Standard Reference Cards */
.standard-reference-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    height: 100%;
    transition: all 0.3s ease;
}

.standard-reference-card:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* Building Science Cards */
.building-science-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    height: 100%;
    transition: all 0.3s ease;
}

.building-science-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

/* Service Gallery Styles */
.service-gallery-item {
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-thumbnail {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background: #1a1a2e;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

.gallery-thumbnail img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.gallery-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.85) 60%, rgba(0, 0, 0, 0) 100%);
    padding: 20px;
    padding-top: 40px;
    transform: translateY(0);
    transition: transform 0.3s ease;
}

.gallery-title {
    color: #fff;
    margin-bottom: 5px;
    font-weight: 700;
    font-size: 1.1rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
    position: relative;
    z-index: 2;
}

.gallery-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
    padding: 8px;
    border-radius: 4px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.service-gallery-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
}

.service-gallery-item:hover .gallery-thumbnail img {
    transform: scale(1.05);
}

.service-gallery-item:hover .gallery-icon {
    opacity: 1;
}

/* Service Modal Customization */
#serviceModal .modal-dialog {
    max-width: 90vw;
}

#serviceModal .modal-content {
    background: #0f0f1f;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

#serviceModal .modal-body {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70vh;
}

#serviceModal .modal-body img {
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
}

/* Technology Icons Dimensional Treatment */
.tech-icon-dimensional {
    transition: all 0.3s ease;
}

.tech-icon-dimensional[data-color="primary"] {
    background: linear-gradient(135deg, #60a5fa, #3b82f6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 2px 4px rgba(59, 130, 246, 0.4));
}

.tech-icon-dimensional[data-color="info"] {
    background: linear-gradient(135deg, #06b6d4, #0891b2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 2px 4px rgba(6, 182, 212, 0.4));
}

.tech-icon-dimensional[data-color="danger"] {
    background: linear-gradient(135deg, #f87171, #ef4444);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 2px 4px rgba(239, 68, 68, 0.4));
}

.tech-icon-dimensional[data-color="success"] {
    background: linear-gradient(135deg, #4ade80, #22c55e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 2px 4px rgba(34, 197, 94, 0.4));
}

.technology-showcase-card:hover .tech-icon-dimensional {
    transform: scale(1.1);
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}

/* Knowledge Base Section */
.knowledge-base-section {
    background: linear-gradient(135deg, var(--bg-dark), var(--bg-dark-secondary));
}

.knowledge-section {
    margin-bottom: 30px;
}

.accordion-item {
    background-color: var(--bg-dark-tertiary);
    border: 1px solid var(--border-dark);
    border-radius: 10px;
    margin-bottom: 10px;
}

.accordion-button {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    font-weight: 600;
    letter-spacing: 0.01em;
    background-color: var(--bg-dark-tertiary);
    color: var(--text-light);
    border: none;
}

.accordion-button:not(.collapsed) {
    background-color: var(--primary-teal);
    color: var(--text-light);
}

.accordion-body {
    background-color: var(--bg-dark-secondary);
    color: var(--text-muted);
}

/* Footer Styles */
.footer {
    background: linear-gradient(135deg, var(--bg-dark), var(--bg-dark-secondary));
    border-top: 1px solid var(--border-dark);
    padding-bottom: 200px; /* Added padding to prevent chat widget overlap */
}

.footer h5 {
    color: var(--primary-teal);
    margin-bottom: 20px;
}

.footer a {
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer a:hover {
    color: var(--primary-teal);
}

.social-links a {
    font-size: 1.2rem;
    transition: transform 0.3s ease;
}

.social-links a:hover {
    transform: translateY(-2px);
}

/* Responsive Design */
@media (max-width: 768px) {
    .hero-section,
    .services-hero-section,
    .expertise-hero-section,
    .about-hero-section,
    .resources-hero-section,
    .contact-hero-section {
        min-height: 80vh;
        text-align: center;
    }
    
    .hero-stats h3 {
        font-size: 2rem;
    }
    
    .timeline::before {
        left: 20px;
    }
    
    .timeline-item:nth-child(odd) .timeline-content,
    .timeline-item:nth-child(even) .timeline-content {
        margin-left: 50px;
        margin-right: 0;
        text-align: left;
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .timeline-marker {
        left: 20px;
    }
    
    .emergency-banner {
        text-align: center;
    }
    
    .emergency-banner .row {
        flex-direction: column;
    }
    
    .emergency-banner .col-md-4 {
        margin-top: 10px;
    }
}

/* Animation Classes */
.fade-in {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeIn 0.6s ease forwards;
}

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

.slide-up {
    transform: translateY(50px);
    opacity: 0;
    animation: slideUp 0.8s ease forwards;
}

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

/* Utility Classes */
.text-gradient {
    background: linear-gradient(45deg, var(--primary-teal), var(--light-teal));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.bg-gradient-primary {
    background: linear-gradient(135deg, var(--primary-blue), var(--primary-teal));
}

.bg-gradient-secondary {
    background: linear-gradient(135deg, var(--bg-dark-secondary), var(--bg-dark-tertiary));
}

.shadow-custom {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.border-gradient {
    border: 2px solid;
    border-image: linear-gradient(45deg, var(--primary-teal), var(--light-teal)) 1;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-dark-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--primary-teal);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--light-teal);
}

/* Process Flow Styles */
.arm-process-flow {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: start;
    gap: 30px;
    margin: 0 auto;
    max-width: 1400px;
    padding: 0 40px;
    position: relative;
}

.process-step {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), var(--bg-dark-secondary));
    border: 1px solid var(--border-dark);
    border-radius: 15px;
    padding: 30px;
    text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    color: var(--text-light);
}

.process-step h4 {
    color: var(--text-light);
    margin-bottom: 15px;
}

.process-step p {
    color: #cbd5e1;
    margin-bottom: 20px;
}

.process-step .list-unstyled {
    text-align: left;
    color: var(--text-light);
}

/* Process Feature List Styling */
.process-feature-list {
    padding: 0;
    margin: 0;
}

.process-feature-list li {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    padding: 10px;
    background: rgba(6, 182, 212, 0.05);
    border-radius: 8px;
    transition: all 0.2s ease;
}

.process-feature-list li:last-child {
    margin-bottom: 0;
}

.process-feature-list li:hover {
    background: rgba(6, 182, 212, 0.1);
    transform: translateX(5px);
}

.feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: var(--primary-teal);
    border-radius: 50%;
    margin-right: 12px;
    flex-shrink: 0;
}

/* Theme-specific feature icons */
.assessment-step .feature-icon {
    background: #06b6d4;
}

.analyze-step .feature-icon {
    background: #9b59f6;
}

.remediation-step .feature-icon {
    background: #3b82f6;
}

.management-step .feature-icon {
    background: #f59e0b;
}

.feature-icon i {
    font-size: 0.75rem;
    color: white;
}

.feature-text {
    color: var(--text-light);
    font-size: 0.95rem;
    line-height: 1.4;
}

.step-features {
    flex-grow: 1;
    display: flex;
    align-items: center;
}

.step-description {
    color: #cbd5e1;
    font-size: 1rem;
    line-height: 1.6;
}

.process-step:hover {
    transform: translateY(-5px);
}

/* Theme-specific hover effects */
.assessment-step:hover,
.assessment-step.active {
    border-color: #06b6d4;
    box-shadow: 0 10px 30px rgba(6, 182, 212, 0.3);
}

.analyze-step:hover,
.analyze-step.active {
    border-color: #9b59f6;
    box-shadow: 0 10px 30px rgba(155, 89, 246, 0.3);
}

.remediation-step:hover,
.remediation-step.active {
    border-color: #3b82f6;
    box-shadow: 0 10px 30px rgba(59, 130, 246, 0.3);
}

.management-step:hover,
.management-step.active {
    border-color: #f59e0b;
    box-shadow: 0 10px 30px rgba(245, 158, 11, 0.3);
}

/* Process arrow styles removed - using pseudo-elements instead */

.step-number {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--primary-teal);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0 auto 15px;
    transition: all 0.3s ease;
}

/* Theme-specific step numbers */
.assessment-step .step-number {
    background: linear-gradient(135deg, #06b6d4, #0891b2);
    box-shadow: 0 4px 12px rgba(6, 182, 212, 0.3);
}

.analyze-step .step-number {
    background: linear-gradient(135deg, #9b59f6, #8e44ad);
    box-shadow: 0 4px 12px rgba(155, 89, 246, 0.3);
}

.remediation-step .step-number {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}

.management-step .step-number {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}

/* Process step positioning */
.process-step {
    position: relative;
    z-index: 2;
}

/* Timeline connector line */
.arm-process-flow::before {
    content: '';
    position: absolute;
    top: 50px;
    left: 12%;
    right: 12%;
    height: 4px;
    background: linear-gradient(90deg, 
        #06b6d4 0%, 
        #9b59f6 33%, 
        #3b82f6 66%, 
        #f59e0b 100%);
    opacity: 0.2;
    z-index: 1;
}

/* Animated flow effect */
.arm-process-flow::after {
    content: '';
    position: absolute;
    top: 50px;
    left: 12%;
    width: 0;
    height: 4px;
    background: linear-gradient(90deg, 
        #06b6d4 0%, 
        #9b59f6 33%, 
        #3b82f6 66%, 
        #f59e0b 100%);
    animation: flowTimeline 8s ease-in-out infinite;
    z-index: 1;
}

@keyframes flowTimeline {
    0% { 
        width: 0;
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% { 
        width: 76%;
        opacity: 0;
    }
}

/* Stage connectors */
.process-step:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -31px;
    top: 48px;
    width: 32px;
    height: 4px;
    background: rgba(255, 255, 255, 0.1);
    z-index: 3;
}

/* Responsive behavior for AARM process flow */
@media (max-width: 1400px) {
    .arm-process-flow {
        max-width: 1200px;
    }
}

@media (max-width: 1200px) {
    .arm-process-flow {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
        padding: 0 20px;
    }
    
    /* Hide horizontal timeline on medium screens */
    .arm-process-flow::before,
    .arm-process-flow::after {
        display: none;
    }
    
    /* Adjust connectors for 2x2 grid */
    .process-step:nth-child(odd):not(:last-child)::after {
        display: block;
    }
    
    .process-step:nth-child(even)::after {
        display: none;
    }
}

@media (max-width: 768px) {
    .arm-process-flow {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .process-step {
        margin-bottom: 30px;
    }
    
    /* Vertical flow indicators */
    .process-step:not(:last-child)::after {
        content: '';
        position: absolute;
        bottom: -30px;
        left: 50%;
        transform: translateX(-50%);
        width: 4px;
        height: 30px;
        background: linear-gradient(180deg, 
            rgba(255, 255, 255, 0.3) 0%,
            rgba(255, 255, 255, 0.1) 100%);
        right: auto;
        top: auto;
    }
}

/* Loading and Interaction States */
.loading {
    opacity: 0.7;
    pointer-events: none;
}

.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    border: 2px solid var(--primary-teal);
    border-top: 2px solid transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    transform: translate(-50%, -50%);
}

@keyframes spin {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Comprehensive Typography Override - Ensures Roboto is used throughout */
.card-title, .card-subtitle, .card-text,
.list-group-item, .dropdown-item,
.nav-tabs .nav-link, .nav-pills .nav-link,
.badge, .alert, .toast,
.table, .table th, .table td,
.modal-title, .modal-body,
.offcanvas-title, .offcanvas-body,
p, span, div, small, .small,
.text-muted, .text-light, .text-white {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
}

/* Specific Weight Adjustments */
.fw-bold, .font-weight-bold, strong, b {
    font-weight: 600 !important;
}

.fw-light, .font-weight-light {
    font-weight: 300 !important;
}

.fw-normal, .font-weight-normal {
    font-weight: 400 !important;
}

/* Card Typography */
.card-title {
    font-weight: 500;
    letter-spacing: -0.01em;
}

.card-text {
    font-weight: 400;
    line-height: 1.5;
}

/* Navigation Typography Enhancement */
.nav-tabs .nav-link, .nav-pills .nav-link {
    font-weight: 400;
    letter-spacing: 0.02em;
}

.nav-tabs .nav-link.active, .nav-pills .nav-link.active {
    font-weight: 500;
}

/* Small Text and Captions */
small, .small, .text-muted {
    font-weight: 300;
    letter-spacing: 0.01em;
}



/* Light Gradient CTA Sections */
.light-gradient-cta {
    background: linear-gradient(135deg, #f1f5f9 0%, #cbd5e1 50%, #94a3b8 100%);
    position: relative;
    overflow: hidden;
}

.light-gradient-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 30% 80%, rgba(59, 130, 246, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(16, 185, 129, 0.1) 0%, transparent 50%);
    pointer-events: none;
}

.light-gradient-cta .container {
    position: relative;
    z-index: 1;
}

.light-gradient-cta h2 {
    color: #1e3a8a !important; /* Deep blue */
    font-weight: 700;
}

.light-gradient-cta p {
    color: #1e40af !important; /* Deep blue */
    opacity: 1;
}

.light-gradient-cta .btn {
    background: linear-gradient(135deg, var(--primary-teal), var(--primary-blue));
    border: none;
    color: white;
    font-weight: 600;
    padding: 12px 30px;
    transition: all 0.3s ease;
}

.light-gradient-cta .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(6, 182, 212, 0.3);
    color: white;
}

/* Executive Leadership Section */
.executive-section {
    background: var(--bg-dark);
}

.executive-spotlight-card {
    background: linear-gradient(135deg, var(--bg-dark-tertiary), rgba(18, 49, 73, 0.8));
    border: 2px solid var(--primary-teal);
    border-radius: 15px;
    overflow: hidden;
    position: relative;
}

.executive-spotlight-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--primary-teal), var(--light-teal), var(--primary-blue));
}

.executive-photo img {
    width: 200px;
    height: 200px;
    object-fit: cover;
    border: 4px solid var(--primary-teal);
    box-shadow: 0 0 30px rgba(33, 196, 187, 0.3);
}

/* Experience Metrics */
.experience-metrics {
    margin-top: 2rem;
}

.metric-badge {
    background: linear-gradient(135deg, var(--bg-dark-secondary), var(--bg-dark-tertiary));
    border: 1px solid var(--border-dark);
    border-radius: 10px;
    padding: 15px;
    transition: all 0.3s ease;
}

.metric-badge:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(33, 196, 187, 0.2);
}

.metric-badge i {
    font-size: 1.5rem;
}

/* Executive Tabs */
.executive-tabs {
    border-bottom: 2px solid var(--border-dark);
}

.executive-tabs .nav-link {
    color: var(--text-muted);
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    padding: 10px 20px;
    transition: all 0.3s ease;
}

.executive-tabs .nav-link:hover {
    color: var(--primary-teal);
    border-bottom-color: var(--primary-teal);
}

.executive-tabs .nav-link.active {
    color: var(--primary-teal);
    background: transparent;
    border-bottom-color: var(--primary-teal);
}

.executive-tab-content {
    background: rgba(18, 49, 73, 0.3);
    border-radius: 10px;
    padding: 25px;
    min-height: 300px;
}

/* Credential Items */
.credential-item {
    display: flex;
    align-items: center;
    padding: 8px 0;
}

/* Education Items */
.education-item {
    background: linear-gradient(135deg, var(--bg-dark-secondary), transparent);
    border-left: 3px solid var(--primary-teal);
    padding: 15px;
    border-radius: 5px;
}

.education-icon {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary-teal), var(--light-teal));
    border-radius: 50%;
}

/* Membership Items */
.membership-item {
    padding: 10px;
    background: linear-gradient(135deg, transparent, rgba(18, 49, 73, 0.3));
    border-radius: 5px;
    transition: all 0.3s ease;
}

.membership-item:hover {
    background: linear-gradient(135deg, rgba(33, 196, 187, 0.1), rgba(18, 49, 73, 0.5));
}

/* Career Timeline */
.career-timeline {
    position: relative;
    padding-left: 30px;
}

.career-timeline::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 20px;
    bottom: 20px;
    width: 2px;
    background: linear-gradient(to bottom, var(--primary-teal), var(--light-teal));
}

.career-marker {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: relative;
    z-index: 10;
    border: 3px solid var(--bg-dark);
}

.career-item {
    position: relative;
}

/* Text Color Utilities */
.text-white-75 {
    color: rgba(255, 255, 255, 0.75) !important;
}

/* Responsive */
@media (max-width: 991px) {
    .executive-photo img {
        width: 150px;
        height: 150px;
    }
    
    .executive-tabs .nav-link {
        font-size: 0.875rem;
        padding: 8px 12px;
    }
}

/* Print Styles */
@media print {
    .emergency-banner,
    .navbar,
    .footer {
        display: none;
    }
    
    body {
        background: white;
        color: black;
        font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Arial', sans-serif;
    }
    
    .hero-section,
    .services-hero-section,
    .expertise-hero-section,
    .about-hero-section,
    .resources-hero-section,
    .contact-hero-section {
        background: white;
        color: black;
        min-height: auto;
    }
}
