/**
 * Base Variables, CSS Reset, Enterprise Design Tokens & Motion Utilities
 *
 * @package MindsetManufacturing
 */

:root {
    /* Brand Color Palette */
    --mme-primary: #142D4E;
    --mme-primary-rgb: 20, 45, 78;
    --mme-deep: #10243A;
    --mme-deep-rgb: 16, 36, 58;
    --mme-blue: #245A85;
    --mme-blue-rgb: 36, 90, 133;
    --mme-steel: #64748B;
    --mme-light: #F4F6F9;
    --mme-white: #FFFFFF;
    --mme-accent: #D97736;
    --mme-accent-rgb: 217, 119, 54;
    --mme-accent-hover: #C26325;
    --mme-text: #1E293B;
    --mme-border: #E2E8F0;
    --mme-border-dark: rgba(255, 255, 255, 0.12);

    /* Glassmorphism & High-End Depth */
    --mme-glass-bg: rgba(255, 255, 255, 0.88);
    --mme-glass-border: rgba(255, 255, 255, 0.6);
    --mme-glass-shadow: 0 12px 36px -4px rgba(16, 36, 58, 0.08);

    /* Semantic Feedback Colors */
    --mme-success-bg: #DCFCE7;
    --mme-success-text: #15803D;
    --mme-warning-bg: #FEF3C7;
    --mme-warning-text: #B45309;
    --mme-danger-bg: #FEE2E2;
    --mme-danger-text: #B91C1C;
    --mme-info-bg: #E0F2FE;
    --mme-info-text: #0369A1;

    /* Typography */
    --mme-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --mme-font-heading: 'Manrope', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

    /* Spacing & Sizing */
    --mme-container-max: 1260px;
    --mme-radius-sm: 6px;
    --mme-radius-md: 10px;
    --mme-radius-lg: 16px;
    --mme-radius-full: 9999px;

    /* Elevated Box Shadows */
    --mme-shadow-sm: 0 1px 3px rgba(16, 36, 58, 0.05);
    --mme-shadow-md: 0 4px 16px -2px rgba(16, 36, 58, 0.06), 0 2px 6px -1px rgba(16, 36, 58, 0.03);
    --mme-shadow-lg: 0 16px 36px -6px rgba(16, 36, 58, 0.1), 0 6px 12px -2px rgba(16, 36, 58, 0.04);
    --mme-shadow-hover: 0 24px 48px -10px rgba(16, 36, 58, 0.14), 0 10px 20px -4px rgba(16, 36, 58, 0.06);
    --mme-shadow-accent: 0 8px 24px -4px rgba(217, 119, 54, 0.35);

    /* Animation Timing & Easing Curves */
    --mme-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --mme-transition-fast: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    --mme-transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    --mme-transition-slow: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Modern Box-Sizing & Reset */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--mme-font-sans);
    color: var(--mme-text);
    background-color: var(--mme-white);
    line-height: 1.65;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

img, svg {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: var(--mme-blue);
    text-decoration: none;
    transition: var(--mme-transition-fast);
}

a:hover {
    color: var(--mme-primary);
}

button, input, select, textarea {
    font: inherit;
}

/* Layout Container */
.mme-container {
    width: 100%;
    max-width: var(--mme-container-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 28px;
    padding-right: 28px;
}

.mme-container-narrow {
    max-width: 880px;
}

/* Section Helpers */
.mme-section {
    padding: 96px 0;
    position: relative;
}

.mme-section-sm {
    padding: 56px 0;
}

.mme-bg-light {
    background-color: var(--mme-light);
}

.mme-bg-deep {
    background-color: var(--mme-deep);
    color: var(--mme-white);
}

.mme-bg-primary {
    background-color: var(--mme-primary);
    color: var(--mme-white);
}

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

.mme-text-muted {
    color: var(--mme-steel);
}

/* Modern Industrial Blueprint Grid Pattern */
.mme-pattern-grid {
    background-image: 
        linear-gradient(to right, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 40px 40px;
}

.mme-pattern-grid-light {
    background-image: 
        linear-gradient(to right, rgba(20, 45, 78, 0.035) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(20, 45, 78, 0.035) 1px, transparent 1px);
    background-size: 36px 36px;
}

.mme-glow-mesh {
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    filter: blur(120px);
    opacity: 0.15;
    pointer-events: none;
    z-index: 0;
}

/* ==========================================================================
   Full Motion Utility Classes (Scroll Reveal)
   ========================================================================== */
.mme-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.75s var(--mme-ease-out), transform 0.75s var(--mme-ease-out);
    will-change: opacity, transform;
}

.mme-reveal.is-inview {
    opacity: 1;
    transform: translateY(0);
}

.mme-reveal-fade {
    opacity: 0;
    transition: opacity 0.75s var(--mme-ease-out);
}

.mme-reveal-fade.is-inview {
    opacity: 1;
}

/* Stagger Delay Classes */
.mme-delay-1 { transition-delay: 0.08s; }
.mme-delay-2 { transition-delay: 0.16s; }
.mme-delay-3 { transition-delay: 0.24s; }
.mme-delay-4 { transition-delay: 0.32s; }
.mme-delay-5 { transition-delay: 0.40s; }
.mme-delay-6 { transition-delay: 0.48s; }

/* Live Status Pulsing Dot */
.mme-pulse-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #22C55E;
    position: relative;
    display: inline-block;
    flex-shrink: 0;
}

.mme-pulse-dot::after {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    background-color: inherit;
    animation: mmePulseAnim 1.8s ease-out infinite;
    opacity: 0.6;
}

.mme-pulse-dot-orange {
    background-color: var(--mme-accent);
}

@keyframes mmePulseAnim {
    0% { transform: scale(1); opacity: 0.8; }
    50% { transform: scale(2.2); opacity: 0.1; }
    100% { transform: scale(2.8); opacity: 0; }
}

.mme-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
