@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Outfit:wght@400;500;600;700;800&display=swap');

/* Define Cascade Layers */
@layer reset, base, theme, components, utilities;

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

  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    background-color: var(--color-bg);
    color: var(--color-text);
  }

  img, svg {
    display: block;
    max-inline-size: 100%;
    block-size: auto;
  }

  button, input, select, textarea {
    font: inherit;
    color: inherit;
    background: none;
    border: none;
  }

  a {
    text-decoration: none;
    color: inherit;
  }

  ul, ol {
    list-style: none;
  }
}

@layer base {
  :root {
    /* Color Tokens */
    --color-bg: #050811;
    --color-surface-base: #0a0e1a;
    --color-surface-elevated: #151c2e;
    --color-surface-glass: rgba(10, 14, 26, 0.85);
    --color-primary-gold: #c5a059;
    --color-gold-hover: #e5c079;
    --color-gold-light: rgba(197, 160, 89, 0.08);
    --color-text: #f8fafc;
    --color-text-muted: #94a3b8;
    --color-border: rgba(148, 163, 184, 0.08);
    --color-border-gold: rgba(197, 160, 89, 0.25);

    /* Typography */
    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Inter', sans-serif;

    /* Shadows */
    --shadow-soft: 0 10px 40px -10px rgba(0, 0, 0, 0.7);
    --shadow-gold: 0 0 25px rgba(197, 160, 89, 0.12);
    --shadow-gold-heavy: 0 0 35px rgba(197, 160, 89, 0.25);

    /* Transitions */
    --transition-fast: 0.25s ease;
    --transition-medium: 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.2;
    text-wrap: balance;
  }

  body {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.65;
    background-color: var(--color-bg);
  }

  /* Accessible Focus rings */
  :focus-visible {
    outline: 2px solid var(--color-primary-gold);
    outline-offset: 4px;
  }
}

@layer theme {
  html {
    scrollbar-color: var(--color-primary-gold) var(--color-bg);
    scrollbar-width: thin;
    scroll-behavior: smooth;
  }

  ::selection {
    background-color: var(--color-primary-gold);
    color: var(--color-bg);
  }
}

@layer components {
  /* Persistent Background Layers */
  .hero-video-bg {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    z-index: 1;
    opacity: 0.18;
    pointer-events: none;
    filter: saturate(0.85);
  }

  .floating-video-wrap {
    position: fixed;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
    opacity: 0.08;
    filter: blur(5px);
    border: 1px solid var(--color-border-gold);
    box-shadow: var(--shadow-gold);
    transition: opacity var(--transition-medium);

    video {
      inline-size: 100%;
      block-size: 100%;
      object-fit: cover;
    }
  }

  .floating-words-canvas {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    pointer-events: none;
    overflow: hidden;
    z-index: 1;
  }

  .float-word {
    position: absolute;
    font-family: var(--font-heading);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.03);
    text-shadow: 0 0 8px rgba(197, 160, 89, 0.02);
    white-space: nowrap;
    user-select: none;
    pointer-events: auto;
    -webkit-font-smoothing: antialiased;
    transition: color 0.4s ease-out, text-shadow 0.4s ease-out, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);

    &:hover {
      color: rgba(197, 160, 89, 0.48) !important;
      text-shadow: 0 0 18px rgba(197, 160, 89, 0.7);
      transform: scale(1.22) translateY(-5px);
      z-index: 5;
    }
  }

  .w-1 { inset-block-start: 15%; inset-inline-start: 5%; font-size: 1.6rem; animation: float-word-path-1 22s infinite ease-in-out; }
  .w-2 { inset-block-start: 25%; inset-inline-start: 55%; font-size: 1.3rem; animation: float-word-path-2 26s infinite ease-in-out; }
  .w-3 { inset-block-start: 45%; inset-inline-start: 8%; font-size: 2rem; animation: float-word-path-3 24s infinite ease-in-out; }
  .w-4 { inset-block-start: 75%; inset-inline-start: 5%; font-size: 1.4rem; animation: float-word-path-4 28s infinite ease-in-out; }
  .w-5 { inset-block-start: 82%; inset-inline-start: 45%; font-size: 1.8rem; animation: float-word-path-1 25s infinite ease-in-out 3s; }
  .w-6 { inset-block-start: 60%; inset-inline-start: 58%; font-size: 1.3rem; animation: float-word-path-2 27s infinite ease-in-out 5s; }
  .w-7 { inset-block-start: 10%; inset-inline-start: 38%; font-size: 1.2rem; animation: float-word-path-3 29s infinite ease-in-out 2s; }
  .w-8 { inset-block-start: 35%; inset-inline-start: 78%; font-size: 1.5rem; animation: float-word-path-4 30s infinite ease-in-out 4s; }

  @keyframes float-word-path-1 {
    0%, 100% {
      transform: translate(0, 0) rotate(0deg);
      color: rgba(255, 255, 255, 0.03);
    }
    50% {
      transform: translate(45px, -55px) rotate(4deg);
      color: rgba(197, 160, 89, 0.075);
    }
  }

  @keyframes float-word-path-2 {
    0%, 100% {
      transform: translate(0, 0) rotate(0deg);
      color: rgba(255, 255, 255, 0.035);
    }
    50% {
      transform: translate(-50px, 35px) rotate(-3deg);
      color: rgba(197, 160, 89, 0.065);
    }
  }

  @keyframes float-word-path-3 {
    0%, 100% {
      transform: translate(0, 0) rotate(0deg);
      color: rgba(255, 255, 255, 0.025);
    }
    50% {
      transform: translate(35px, 45px) rotate(-5deg);
      color: rgba(197, 160, 89, 0.08);
    }
  }

  @keyframes float-word-path-4 {
    0%, 100% {
      transform: translate(0, 0) rotate(0deg);
      color: rgba(255, 255, 255, 0.03);
    }
    50% {
      transform: translate(-40px, -65px) rotate(3deg);
      color: rgba(197, 160, 89, 0.07);
    }
  }

  /* Different shapes, positions, and drift animations */
  .float-1 {
    inline-size: 280px;
    block-size: 280px;
    border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    inset-block-start: 15%;
    inset-inline-start: -80px;
    animation: float-organic 18s infinite ease-in-out;
  }

  .float-2 {
    inline-size: 340px;
    block-size: 200px;
    border-radius: 40% 60% 70% 30% / 50% 60% 30% 50%;
    inset-block-end: 10%;
    inset-inline-end: -100px;
    animation: float-organic-reverse 22s infinite ease-in-out;
  }

  .float-3 {
    inline-size: 240px;
    block-size: 240px;
    border-radius: 50%;
    inset-block-start: 40%;
    inset-inline-start: 45%;
    animation: float-circular 25s infinite linear;
  }

  @keyframes float-organic {
    0%, 100% {
      transform: translateY(0) rotate(0deg) scale(1);
      border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    }
    33% {
      transform: translateY(-25px) rotate(4deg) scale(1.05);
      border-radius: 50% 50% 40% 60% / 60% 40% 60% 40%;
    }
    66% {
      transform: translateY(15px) rotate(-3deg) scale(0.95);
      border-radius: 70% 30% 50% 50% / 50% 50% 50% 50%;
    }
  }

  @keyframes float-organic-reverse {
    0%, 100% {
      transform: translateY(0) rotate(0deg) scale(1);
      border-radius: 40% 60% 70% 30% / 50% 60% 30% 50%;
    }
    50% {
      transform: translateY(30px) rotate(-6deg) scale(1.08);
      border-radius: 60% 40% 50% 50% / 40% 50% 60% 50%;
    }
  }

  @keyframes float-circular {
    0% {
      transform: translate(0, 0) rotate(0deg);
    }
    25% {
      transform: translate(15px, -15px) rotate(90deg);
    }
    50% {
      transform: translate(0, -30px) rotate(180deg);
      opacity: 0.05;
    }
    75% {
      transform: translate(-15px, -15px) rotate(270deg);
    }
    100% {
      transform: translate(0, 0) rotate(360deg);
    }
  }

  @keyframes float-card {
    0%, 100% {
      transform: translateY(0);
      box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3), 0 0 25px rgba(197, 160, 89, 0.1);
    }
    50% {
      transform: translateY(-12px);
      box-shadow: 0 25px 45px rgba(0, 0, 0, 0.4), 0 0 35px rgba(197, 160, 89, 0.2);
    }
  }

  /* Header & Navigation */
  .navbar {
    position: fixed;
    inset-block-start: 0;
    inset-inline: 0;
    background-color: var(--color-surface-glass);
    backdrop-filter: blur(16px);
    border-block-end: 1px solid var(--color-border);
    z-index: 100;
    transition: background-color var(--transition-fast);

    .container {
      max-inline-size: 1200px;
      margin-inline: auto;
      padding-inline: 1.5rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-block: 1rem;
    }

    .brand {
      display: flex;
      align-items: center;
      
      .brand-logo-large {
        block-size: auto;
        inline-size: 100%;
        max-inline-size: 190px;
      }
    }

    .nav-links {
      display: flex;
      gap: 3.25rem;

      .nav-link {
        font-size: 0.95rem;
        font-weight: 500;
        color: var(--color-text-muted);
        transition: color var(--transition-fast);
        padding-block: 0.5rem;

        &:hover, &.active {
          color: var(--color-primary-gold);
        }
      }
    }

    .nav-cta {
      .btn-nav-gold {
        background-color: var(--color-gold-light);
        border: 1px solid var(--color-border-gold);
        color: var(--color-primary-gold);
        padding: 0.5rem 1.25rem;
        border-radius: 4px;
        font-size: 0.9rem;
        font-weight: 600;
        transition: all var(--transition-fast);

        &:hover {
          background-color: var(--color-primary-gold);
          color: var(--color-bg);
          box-shadow: var(--shadow-gold);
        }
      }
    }
  }

  /* Layout Container */
  .section {
    padding-block: 7rem;
    position: relative;
    overflow: hidden;
    
    .container {
      max-inline-size: 1200px;
      margin-inline: auto;
      padding-inline: 1.5rem;
    }

    .section-title {
      font-size: 2.8rem;
      font-weight: 800;
      text-align: center;
      margin-block-end: 0.5rem;
      text-transform: uppercase;
      letter-spacing: 0.02em;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
      background: linear-gradient(135deg, #ffffff 50%, var(--color-primary-gold) 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      filter: drop-shadow(0 0 25px rgba(197, 160, 89, 0.2));
      
      span {
        background: linear-gradient(135deg, #fcebc9 0%, #c5a059 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
      }
    }

    .section-subtitle {
      font-size: 1.05rem;
      color: var(--color-text-muted);
      text-align: center;
      max-inline-size: 700px;
      margin-inline: auto;
      margin-block-end: 4rem;
      text-wrap: pretty;
    }
  }

  /* Hero Section */
  .hero-section {
    min-block-size: 95vh;
    display: flex;
    align-items: center;
    padding-block-start: 7rem;
    position: relative;
    overflow: hidden;
    background-image: linear-gradient(to bottom, rgba(5, 8, 17, 0.82) 0%, rgba(5, 8, 17, 0.7) 50%, rgba(5, 8, 17, 0.92) 100%), url('assets/global_shipping_bg.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;

    .container {
      position: relative;
      z-index: 2;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 4rem;
      align-items: center;
    }

    .hero-content {
      h1 {
        font-size: 4.2rem;
        font-weight: 800;
        line-height: 1.1;
        margin-block-end: 1.5rem;
        text-transform: uppercase;
        letter-spacing: -0.015em;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-rendering: optimizeLegibility;
        background: linear-gradient(135deg, #ffffff 40%, var(--color-primary-gold) 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        filter: drop-shadow(0 0 35px rgba(197, 160, 89, 0.25));
        
        span {
          background: linear-gradient(135deg, #fcebc9 0%, #c5a059 100%);
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
        }
      }

      p {
        font-size: 1.15rem;
        color: var(--color-text-muted);
        margin-block-end: 2.5rem;
        text-wrap: pretty;
      }

      .cta-group {
        display: flex;
        gap: 1.5rem;

        .btn-gold {
          background-color: var(--color-primary-gold);
          color: var(--color-bg);
          padding: 0.95rem 2.25rem;
          border-radius: 4px;
          font-weight: 600;
          transition: all var(--transition-fast);
          cursor: pointer;

          &:hover {
            background-color: var(--color-gold-hover);
            box-shadow: var(--shadow-gold-heavy);
            transform: translateY(-2px);
          }
        }

        .btn-outline {
          border: 1px solid var(--color-border);
          color: #fff;
          padding: 0.95rem 2.25rem;
          border-radius: 4px;
          font-weight: 600;
          transition: all var(--transition-fast);
          cursor: pointer;

          &:hover {
            border-color: var(--color-primary-gold);
            color: var(--color-primary-gold);
            transform: translateY(-2px);
          }
        }

        .brochure-btn {
          display: inline-flex;
          align-items: center;
          gap: 0.5rem;
          
          svg {
            fill: currentColor;
            inline-size: 16px;
            block-size: 16px;
            transition: transform var(--transition-fast);
          }

          &:hover svg {
            transform: translateY(2px);
          }
        }
      }
    }

    .hero-visual {
      display: flex;
      justify-content: center;

      .portal-card {
        background-color: rgba(15, 22, 38, 0.7);
        border: 1px solid var(--color-border-gold);
        border-radius: 16px;
        padding: 3rem 2.25rem;
        backdrop-filter: blur(12px);
        box-shadow: var(--shadow-soft);
        text-align: center;
        inline-size: 100%;
        max-inline-size: 380px;
        animation: float-card 6s ease-in-out infinite;

        .logo-glow {
          max-block-size: 130px;
          margin-inline: auto;
          margin-block-end: 2.5rem;
          filter: drop-shadow(0 0 15px rgba(197, 160, 89, 0.3));
        }

        .features-list {
          display: flex;
          flex-direction: column;
          gap: 0.85rem;
          border-block-start: 1px solid var(--color-border);
          padding-block-start: 1.5rem;
          text-align: left;

          .feature-bullet-card {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: 0;
            padding: 0.85rem;
            background-color: rgba(255, 255, 255, 0.015);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 8px;
            transition: all var(--transition-normal);
            cursor: pointer;
            overflow: hidden;

            .bullet-header {
              display: flex;
              align-items: center;
              gap: 1rem;
            }

            .bullet-icon {
              color: var(--color-primary-gold);
              background-color: var(--color-gold-light);
              inline-size: 36px;
              block-size: 36px;
              border-radius: 6px;
              display: flex;
              align-items: center;
              justify-content: center;
              border: 1px solid rgba(197, 160, 89, 0.25);
              transition: all var(--transition-fast);
              flex-shrink: 0;

              svg {
                fill: currentColor;
                inline-size: 18px;
                block-size: 18px;
              }
            }

            .bullet-info {
              display: flex;
              flex-direction: column;

              .bullet-title {
                font-family: var(--font-heading);
                font-weight: 600;
                font-size: 0.9rem;
                color: #fff;
                line-height: 1.25;
              }

              .bullet-desc {
                font-size: 0.75rem;
                color: var(--color-text-muted);
              }
            }

            /* Collapsible Assay/Analysis Panel */
            .bullet-analysis {
              max-height: 0;
              opacity: 0;
              overflow: hidden;
              transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
              margin-block-start: 0;
              border-block-start: 1px dashed rgba(255, 255, 255, 0.05);
              padding-block-start: 0;

              .analysis-tag {
                font-size: 0.65rem;
                color: var(--color-primary-gold);
                text-transform: uppercase;
                letter-spacing: 0.05em;
                font-weight: 600;
                margin-block-end: 0.5rem;
              }

              .analysis-visual {
                display: flex;
                align-items: center;
                justify-content: center;
                height: 45px;
                background-color: rgba(255, 255, 255, 0.01);
                border-radius: 4px;
                border: 1px solid rgba(255, 255, 255, 0.02);
                position: relative;
                overflow: hidden;
              }

              /* 1. Lattice Anim */
              .lattice-anim {
                .atom {
                  font-family: var(--font-heading);
                  font-size: 0.65rem;
                  font-weight: 700;
                  position: absolute;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  background: var(--color-bg);
                  border: 1px solid rgba(255, 255, 255, 0.1);
                  border-radius: 50%;
                }

                .center-atom {
                  color: var(--color-primary-gold);
                  border-color: var(--color-primary-gold);
                  box-shadow: 0 0 8px rgba(197, 160, 89, 0.3);
                  z-index: 2;
                  width: 20px;
                  height: 20px;
                }

                .orbital-atom {
                  color: #fff;
                  font-size: 0.5rem;
                  width: 14px;
                  height: 14px;
                  animation: orbital-pulse 2s ease-in-out infinite;
                  
                  &.o-1 { left: 80px; top: 15px; animation-delay: 0s; }
                  &.o-2 { right: 80px; top: 15px; animation-delay: 0.5s; }
                  &.o-3 { left: 145px; top: 3px; animation-delay: 1s; }
                  &.o-4 { left: 145px; bottom: 3px; animation-delay: 1.5s; }
                }
              }

              /* 2. Progress / Mesh Anim */
              .progress-anim {
                padding-inline: 1rem;
                
                .progress-track {
                  inline-size: 100%;
                  block-size: 6px;
                  background-color: rgba(255, 255, 255, 0.05);
                  border-radius: 3px;
                  overflow: hidden;
                  
                  .progress-fill {
                    block-size: 100%;
                    background: linear-gradient(90deg, var(--color-primary-gold) 0%, #fff 100%);
                    border-radius: 3px;
                    transition: inline-size 1.5s ease-in-out;
                  }
                }
              }

              /* 3. Flux Nodes */
              .flux-anim {
                .flux-nodes {
                  display: flex;
                  align-items: center;
                  gap: 0.5rem;
                  
                  .node {
                    font-size: 0.65rem;
                    color: var(--color-text-muted);
                    background-color: rgba(255, 255, 255, 0.03);
                    padding: 0.2rem 0.4rem;
                    border-radius: 4px;
                    border: 1px solid rgba(255,255,255,0.05);
                    
                    &.active {
                      color: var(--color-primary-gold);
                      border-color: var(--color-primary-gold);
                      background-color: var(--color-gold-light);
                    }
                  }

                  .connector {
                    inline-size: 20px;
                    block-size: 1px;
                    background: linear-gradient(to right, var(--color-primary-gold), rgba(255, 255, 255, 0.1));
                  }
                }
              }
            }

            &:hover {
              background-color: rgba(255, 255, 255, 0.03);
              border-color: rgba(197, 160, 89, 0.4);
              box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3), inset 0 0 10px rgba(197, 160, 89, 0.05);
              transform: translateY(-2px);

              .bullet-icon {
                transform: scale(1.05);
                background-color: var(--color-primary-gold);
                color: var(--color-bg);
                border-color: var(--color-primary-gold);
                box-shadow: 0 0 12px rgba(197, 160, 89, 0.4);
              }

              .bullet-analysis {
                max-height: 120px;
                opacity: 1;
                margin-block-start: 0.75rem;
                padding-block-start: 0.75rem;
              }
            }
          }
        }
      }
    }
  }

  /* Spotlight Mouse Halo Tracker overlay */
  .hero-mouse-spotlight {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle 350px at var(--mouse-x, -500px) var(--mouse-y, -500px), rgba(197, 160, 89, 0.15), transparent 80%);
    z-index: 1;
    pointer-events: none;
    mix-blend-mode: screen;
  }

  /* Reveal text slide-in properties */
  .reveal-parent {
    overflow: hidden;
  }
  .reveal-word {
    display: inline-block;
    opacity: 0;
    transform: translateY(40px);
    animation: reveal-slide-up 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    
    &.block-1 {
      animation-delay: 0.15s;
    }
    
    &.block-2 {
      animation-delay: 0.4s;
    }
  }

  @keyframes reveal-slide-up {
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* Animated Stats Ticker Dashboard Counter Bar */
  .stats-counter-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    background: rgba(10, 14, 26, 0.5);
    border: 1px solid var(--color-border);
    border-radius: 20px;
    padding: 2.25rem 2rem;
    margin-block-start: 4rem;
    backdrop-filter: blur(12px);
    position: relative;
    z-index: 5;
    box-shadow: var(--shadow-soft), inset 0 0 30px rgba(255, 255, 255, 0.02);
    
    .stat-item {
      text-align: center;
      display: flex;
      flex-direction: column;
      gap: 0.65rem;
      position: relative;
      
      &:not(:last-child)::after {
        content: '';
        position: absolute;
        inset-block: 15%;
        inset-inline-end: 0;
        inline-size: 1px;
        background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.08), transparent);
      }
      
      div {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        white-space: nowrap;
      }
      
      .stat-number {
        font-family: var(--font-heading);
        font-size: 2.35rem;
        font-weight: 800;
        color: var(--color-primary-gold);
        letter-spacing: -0.02em;
        line-height: 1;
        filter: drop-shadow(0 2px 10px rgba(197, 160, 89, 0.25));
      }
      
      .stat-suffix {
        font-family: var(--font-heading);
        font-size: 1.45rem;
        font-weight: 700;
        color: var(--color-primary-gold);
        line-height: 1.1;
        white-space: nowrap;
      }
      
      .stat-label {
        font-size: 0.8rem;
        color: var(--color-text-muted);
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 600;
        line-height: 1.3;
      }
    }
  }

  @media (max-width: 992px) {
    .stats-counter-bar {
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem;
      
      .stat-item:nth-child(2)::after {
        display: none;
      }
    }
  }

  @media (max-width: 576px) {
    .stats-counter-bar {
      grid-template-columns: 1fr;
      gap: 1.5rem;
      
      .stat-item::after {
        display: none;
      }
    }
  }

  /* Grid Featured Minerals (Sharad Group style) */
  .materials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;

    .material-card {
      position: relative;
      border-radius: 16px;
      overflow: hidden;
      border: 1px solid var(--color-border);
      aspect-ratio: 10 / 12;
      box-shadow: var(--shadow-soft);
      cursor: pointer;

      img {
        inline-size: 100%;
        block-size: 100%;
        object-fit: cover;
        transition: transform var(--transition-medium);
      }

      /* Hover dynamic specs overlay */
      .materials-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(5, 8, 17, 0.95) 0%, rgba(5, 8, 17, 0.6) 50%, rgba(5, 8, 17, 0.1) 100%);
        padding: 2.25rem 2rem;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        z-index: 2;
        transition: background var(--transition-fast);

        h3 {
          font-size: 1.8rem;
          color: #fff;
          margin-block-end: 0.5rem;
        }

        .summary {
          font-size: 0.9rem;
          color: var(--color-text-muted);
          margin-block-end: 1.5rem;
          line-height: 1.5;
          max-block-size: 0;
          overflow: hidden;
          opacity: 0;
          transition: all var(--transition-medium);
        }

        .card-specs {
          display: flex;
          gap: 1.5rem;
          margin-block-end: 1.5rem;
          border-block-start: 1px solid rgba(255, 255, 255, 0.08);
          padding-block-start: 1rem;
          max-block-size: 0;
          overflow: hidden;
          opacity: 0;
          transition: all var(--transition-medium);

          .spec-col {
            span {
              display: block;
              &:first-child {
                font-size: 0.65rem;
                text-transform: uppercase;
                color: var(--color-text-muted);
                letter-spacing: 0.05em;
              }
              &:last-child {
                font-size: 0.9rem;
                color: #fff;
                font-weight: 500;
              }
            }
          }
        }

        .action-btn {
          align-self: flex-start;
          background-color: var(--color-primary-gold);
          color: var(--color-bg);
          padding: 0.6rem 1.5rem;
          border-radius: 4px;
          font-weight: 600;
          font-size: 0.85rem;
          transition: all var(--transition-fast);
          opacity: 0;
          transform: translateY(10px);

          &:hover {
            background-color: var(--color-gold-hover);
          }
        }
      }

      &:hover {
        border-color: var(--color-border-gold);
        box-shadow: var(--shadow-gold);

        img {
          transform: scale(1.08);
        }

        .materials-overlay {
          background: linear-gradient(to top, rgba(5, 8, 17, 0.98) 0%, rgba(5, 8, 17, 0.8) 60%, rgba(5, 8, 17, 0.2) 100%);

          .summary {
            max-block-size: 100px;
            opacity: 1;
          }

          .card-specs {
            max-block-size: 80px;
            opacity: 1;
          }

          .action-btn {
            opacity: 1;
            transform: translateY(0);
            transition: all var(--transition-medium) 0.1s;
          }
        }
      }
    }
  }

  /* Custom Spec Blender Section */
  .blender-wrapper {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 3rem;
    align-items: flex-start;
    margin-block-start: 3rem;
  }

  .blender-controls-card {
    background-color: rgba(15, 22, 38, 0.7);
    border: 1px solid var(--color-border);
    border-radius: 16px;
    padding: 2.5rem 2.25rem;
    backdrop-filter: blur(12px);
    box-shadow: var(--shadow-soft);
    display: flex;
    flex-direction: column;
    gap: 1.5rem;

    h3 {
      font-size: 1.35rem;
      font-weight: 700;
      color: #fff;
      margin-block-end: 0.5rem;
      border-block-end: 1px solid var(--color-border);
      padding-block-end: 0.75rem;
    }

    .control-group {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;

      label {
        font-size: 0.85rem;
        font-weight: 600;
        color: var(--color-text-muted);
      }

      select {
        background-color: var(--color-bg);
        border: 1px solid var(--color-border);
        border-radius: 6px;
        color: #fff;
        padding: 0.75rem 1rem;
        font-size: 0.95rem;
        font-family: inherit;
        outline: none;
        transition: border-color var(--transition-fast);

        &:focus {
          border-color: var(--color-primary-gold);
        }
      }
    }

    .slider-group {
      .slider-header {
        display: flex;
        justify-content: space-between;
        font-size: 0.9rem;
        font-weight: 600;
        color: var(--color-text-muted);

        span:last-child {
          color: var(--color-primary-gold);
          font-weight: 700;
        }
      }

      input[type="range"] {
        appearance: none;
        -webkit-appearance: none;
        inline-size: 100%;
        block-size: 6px;
        background-color: rgba(255, 255, 255, 0.1);
        border-radius: 3px;
        outline: none;
        margin-block-start: 0.75rem;

        &::-webkit-slider-runnable-track {
          inline-size: 100%;
          block-size: 6px;
          background: rgba(255, 255, 255, 0.05);
          border-radius: 3px;
        }

        &::-webkit-slider-thumb {
          -webkit-appearance: none;
          appearance: none;
          block-size: 18px;
          inline-size: 18px;
          border-radius: 50%;
          background: var(--color-primary-gold);
          border: 2px solid var(--color-bg);
          box-shadow: 0 0 8px rgba(197, 160, 89, 0.4);
          cursor: pointer;
          margin-block-start: -6px;
          transition: transform var(--transition-fast), background var(--transition-fast);
        }

        &:hover::-webkit-slider-thumb {
          transform: scale(1.18);
          background: var(--color-gold-hover);
        }
      }
    }
  }

  .blender-sheet-card {
    background-color: rgba(10, 14, 26, 0.9);
    border: 1px solid var(--color-border-gold);
    border-radius: 16px;
    padding: 2.5rem;
    box-shadow: var(--shadow-gold), inset 0 0 20px rgba(197, 160, 89, 0.05);
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
    position: sticky;
    inset-block-start: 110px;

    .sheet-header {
      border-block-end: 1px dashed var(--color-border);
      padding-block-end: 1.25rem;

      .badge-custom {
        display: inline-block;
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.1em;
        background-color: var(--color-gold-light);
        color: var(--color-primary-gold);
        padding: 0.25rem 0.6rem;
        border-radius: 4px;
        border: 1px solid rgba(197, 160, 89, 0.3);
        margin-block-end: 0.5rem;
      }

      h3 {
        font-size: 1.8rem;
        font-weight: 800;
        font-family: var(--font-heading);
        color: #fff;
        letter-spacing: 0.05em;
      }
    }

    .sheet-body {
      display: flex;
      flex-direction: column;
      gap: 1rem;

      .spec-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-block-end: 0.75rem;
        border-block-end: 1px solid rgba(255, 255, 255, 0.05);

        &:last-child {
          border-block-end: none;
        }

        .spec-label {
          font-size: 0.85rem;
          color: var(--color-text-muted);
        }

        .spec-value {
          font-size: 0.95rem;
          font-weight: 600;
          color: #fff;
        }
      }
    }

    .btn-blend-inquire {
      background-color: var(--color-primary-gold);
      color: var(--color-bg);
      border: 1px solid var(--color-border-gold);
      border-radius: 6px;
      padding: 1rem;
      font-size: 0.95rem;
      font-weight: 700;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      transition: all var(--transition-medium);
      box-shadow: 0 4px 15px rgba(197, 160, 89, 0.2);

      &:hover {
        background-color: var(--color-gold-hover);
        box-shadow: 0 6px 20px rgba(197, 160, 89, 0.45);
        transform: translateY(-2px);
      }

      &:active {
        transform: translateY(0);
      }
    }
  }

  @media (max-width: 992px) {
    .blender-wrapper {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
    .blender-sheet-card {
      position: static;
    }
  }

  /* Capabilities & Features Section (Sharad Group style) */
  .capabilities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 2rem;

    .capability-card {
      background-color: rgba(15, 22, 38, 0.7);
      border: 1px solid var(--color-border);
      border-radius: 16px;
      padding: 3rem 2rem;
      box-shadow: var(--shadow-soft);
      transition: all var(--transition-fast);
      backdrop-filter: blur(8px);
      display: flex;
      flex-direction: column;

      .icon-box {
        color: var(--color-primary-gold);
        margin-block-end: 2rem;
        background-color: var(--color-gold-light);
        inline-size: 64px;
        block-size: 64px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--color-border-gold);
        box-shadow: var(--shadow-gold);
        transition: transform var(--transition-fast);

        svg {
          fill: currentColor;
          inline-size: 32px;
          block-size: 32px;
        }
      }

      h3 {
        font-size: 1.45rem;
        color: #fff;
        margin-block-end: 1rem;
      }

      p {
        font-size: 0.95rem;
        color: var(--color-text-muted);
        line-height: 1.6;
        text-wrap: pretty;
      }

      &:hover {
        border-color: var(--color-border-gold);
        box-shadow: var(--shadow-gold-heavy);
        transform: translateY(-4px);

        .icon-box {
          transform: scale(1.08) rotate(3deg);
        }
      }
    }
  }

  /* Industries We Serve Section styling */
  .industries-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-block-start: 3rem;

    .industry-card {
      background-color: rgba(15, 22, 38, 0.7);
      border: 1px solid var(--color-border);
      border-radius: 16px;
      padding: 2.5rem 2rem;
      box-shadow: var(--shadow-soft);
      transition: all var(--transition-medium);
      backdrop-filter: blur(8px);
      display: flex;
      flex-direction: column;
      gap: 1.25rem;

      .industry-icon {
        color: var(--color-primary-gold);
        background-color: var(--color-gold-light);
        inline-size: 52px;
        block-size: 52px;
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(197, 160, 89, 0.25);
        box-shadow: var(--shadow-gold-heavy);
        transition: transform var(--transition-fast), background var(--transition-fast), color var(--transition-fast);

        svg {
          fill: currentColor;
          inline-size: 24px;
          block-size: 24px;
        }
      }

      h3 {
        font-size: 1.3rem;
        font-weight: 700;
        color: #fff;
      }

      p {
        font-size: 0.9rem;
        color: var(--color-text-muted);
        line-height: 1.5;
      }

      .industry-materials-list {
        margin-block-start: auto;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        padding-block-start: 1rem;
        border-block-start: 1px dashed rgba(255, 255, 255, 0.08);

        li {
          font-size: 0.85rem;
          font-weight: 600;
          color: var(--color-primary-gold);
          display: flex;
          align-items: center;
          gap: 0.5rem;

          &::before {
            content: '';
            display: inline-block;
            inline-size: 5px;
            block-size: 5px;
            background-color: var(--color-primary-gold);
            border-radius: 50%;
            opacity: 0.7;
          }
        }
      }

      &:hover {
        border-color: var(--color-border-gold);
        box-shadow: var(--shadow-gold-heavy), 0 8px 30px rgba(197, 160, 89, 0.1);
        transform: translateY(-8px);

        .industry-icon {
          transform: scale(1.08) rotate(3deg);
          background-color: var(--color-primary-gold);
          color: var(--color-bg);
          border-color: var(--color-primary-gold);
        }
      }
    }
  }

  /* Section-Specific Parallax Background Images */
  #products {
    background-image: linear-gradient(to bottom, rgba(5, 8, 17, 0.96) 0%, rgba(5, 8, 17, 0.88) 50%, rgba(5, 8, 17, 0.96) 100%), url('assets/quartz.jpg');
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
  }

  #capabilities {
    background-image: linear-gradient(to bottom, rgba(5, 8, 17, 0.95) 0%, rgba(5, 8, 17, 0.85) 50%, rgba(5, 8, 17, 0.95) 100%), url('assets/gallery_lab.jpg');
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
  }

  #industries {
    background-image: linear-gradient(to bottom, rgba(5, 8, 17, 0.96) 0%, rgba(5, 8, 17, 0.88) 50%, rgba(5, 8, 17, 0.96) 100%), url('assets/clay_tractors_hauling.jpg');
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
  }

  #operations {
    background-image: linear-gradient(to bottom, rgba(5, 8, 17, 0.95) 0%, rgba(5, 8, 17, 0.8) 50%, rgba(5, 8, 17, 0.95) 100%), url('assets/excavator_digger_quarry.png');
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
  }

  #exports {
    background-image: linear-gradient(to bottom, rgba(5, 8, 17, 0.96) 0%, rgba(5, 8, 17, 0.85) 50%, rgba(5, 8, 17, 0.96) 100%), url('assets/container_jumbo_loading.jpg');
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
  }

  #contact {
    background-image: linear-gradient(to bottom, rgba(5, 8, 17, 0.95) 0%, rgba(5, 8, 17, 0.8) 50%, rgba(5, 8, 17, 0.95) 100%), url('assets/clay_refining_conveyor.png');
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
  }

  .operations-split {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 4rem;
    align-items: center;
    margin-block-end: 4rem;

    .ops-details {
      h3 {
        font-size: 2rem;
        margin-block-end: 1rem;
        color: #fff;
      }

      p {
        color: var(--color-text-muted);
        margin-block-end: 1.5rem;
      }

      .location-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        margin-block-end: 2rem;

        .tag {
          background-color: rgba(255, 255, 255, 0.03);
          border: 1px solid var(--color-border);
          padding: 0.5rem 1.25rem;
          border-radius: 30px;
          font-family: var(--font-heading);
          font-weight: 600;
          font-size: 0.9rem;
          color: var(--color-primary-gold);
          display: flex;
          align-items: center;
          gap: 0.5rem;

          &::before {
            content: '';
            display: inline-block;
            inline-size: 8px;
            block-size: 8px;
            background-color: var(--color-primary-gold);
            border-radius: 50%;
          }
        }
      }
    }

    .ops-teaser-wrapper {
      position: relative;
      inline-size: 100%;
    }

    .gallery-teaser-card {
      display: block;
      position: relative;
      border-radius: 16px;
      overflow: hidden;
      border: 1px solid var(--color-border);
      aspect-ratio: 16 / 10;
      box-shadow: var(--shadow-soft);
      transition: all var(--transition-medium);
      background-color: rgba(10, 14, 26, 0.4);

      img {
        inline-size: 100%;
        block-size: 100%;
        object-fit: cover;
        transition: transform var(--transition-medium);
      }

      .teaser-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(5, 8, 17, 0.98) 0%, rgba(5, 8, 17, 0.6) 50%, rgba(5, 8, 17, 0.1) 100%);
        padding: 2.5rem;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        text-align: left;
        color: #fff;
        z-index: 2;

        .teaser-badge {
          align-self: flex-start;
          background-color: var(--color-primary-gold);
          color: var(--color-bg);
          font-size: 0.75rem;
          font-weight: 800;
          letter-spacing: 0.1em;
          padding: 0.4rem 1rem;
          border-radius: 30px;
          margin-block-end: 1rem;
          box-shadow: var(--shadow-gold);
        }

        h4 {
          font-family: var(--font-heading);
          font-size: 1.45rem;
          font-weight: 700;
          color: #fff;
          margin-block-end: 0.5rem;
          text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
        }

        p {
          font-size: 0.9rem;
          color: var(--color-text-muted);
          margin-block-end: 1.5rem;
        }

        .teaser-arrow {
          font-size: 0.9rem;
          font-weight: 600;
          color: var(--color-primary-gold);
          display: flex;
          align-items: center;
          gap: 0.5rem;
          transition: transform var(--transition-fast);

          svg {
            fill: currentColor;
            inline-size: 18px;
            block-size: 18px;
            transition: transform var(--transition-fast);
          }
        }
      }

      &:hover {
        border-color: var(--color-border-gold);
        box-shadow: var(--shadow-gold-heavy), 0 10px 40px rgba(197, 160, 89, 0.15);
        transform: translateY(-5px);

        img {
          transform: scale(1.04);
        }

        .teaser-overlay .teaser-arrow {
          transform: translateX(4px);
          svg {
            transform: translateX(3px);
          }
        }
      }
    }
  }

  .gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;

    .gallery-item {
      position: relative;
      border-radius: 12px;
      overflow: hidden;
      border: 1px solid var(--color-border);
      aspect-ratio: 16 / 10;
      box-shadow: var(--shadow-soft);
      cursor: pointer;

      img {
        inline-size: 100%;
        block-size: 100%;
        object-fit: cover;
        transition: transform var(--transition-medium);
      }

      .gallery-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(5, 8, 17, 0.95) 0%, rgba(5, 8, 17, 0.2) 60%, transparent 100%);
        padding: 1.5rem;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        opacity: 0;
        transition: opacity var(--transition-fast);
        z-index: 2;

        h4 {
          font-size: 1.2rem;
          color: #fff;
          margin-block-end: 0.25rem;
        }

        p {
          font-size: 0.85rem;
          color: var(--color-primary-gold);
        }
      }

      &:hover {
        border-color: var(--color-border-gold);
        box-shadow: var(--shadow-gold);

        img {
          transform: scale(1.06);
        }

        .gallery-overlay {
          opacity: 1;
        }
      }
    }
    }
  }

  /* Separate Gallery Page styles */
  .gallery-page {
    .gallery-hero-section {
      position: relative;
      overflow: hidden;
      min-block-size: 100vh;
      padding-block-start: 8rem;
    }

    .gallery-hero-bg {
      position: fixed;
      inset: 0;
      background-image: linear-gradient(to bottom, rgba(5, 8, 17, 0.95) 0%, rgba(5, 8, 17, 0.85) 50%, rgba(5, 8, 17, 0.95) 100%), url('assets/clay_tractors_hauling.jpg');
      background-size: cover;
      background-position: center;
      z-index: -2;
    }

    .gallery-filters {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 1rem;
      margin-block: 2.5rem 3.5rem;
      position: relative;
      z-index: 2;

      .filter-btn {
        background-color: rgba(255, 255, 255, 0.02);
        border: 1px solid var(--color-border);
        color: var(--color-text-muted);
        padding: 0.6rem 1.5rem;
        border-radius: 30px;
        font-size: 0.9rem;
        font-weight: 600;
        cursor: pointer;
        transition: all var(--transition-fast);

        &:hover, &.active {
          background-color: var(--color-gold-light);
          border-color: var(--color-primary-gold);
          color: var(--color-primary-gold);
          box-shadow: var(--shadow-gold);
          transform: translateY(-2px);
        }

        &:active {
          transform: translateY(0);
        }
      }
    }

    .masonry-gallery {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: 2rem;
      position: relative;
      z-index: 2;
      margin-block-end: 5rem;
    }

    .gallery-card {
      position: relative;
      border-radius: 16px;
      overflow: hidden;
      border: 1px solid var(--color-border);
      aspect-ratio: 16 / 11;
      box-shadow: var(--shadow-soft);
      cursor: pointer;
      background-color: rgba(10, 14, 26, 0.5);
      transition: all var(--transition-medium);

      .img-wrap {
        inline-size: 100%;
        block-size: 100%;
        position: relative;
        overflow: hidden;

        img {
          inline-size: 100%;
          block-size: 100%;
          object-fit: cover;
          transition: transform var(--transition-medium);
        }
      }

      .card-caption {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(5, 8, 17, 0.95) 0%, rgba(5, 8, 17, 0.4) 60%, transparent 100%);
        padding: 1.75rem 1.5rem;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        text-align: left;
        opacity: 0;
        transform: translateY(10px);
        transition: all var(--transition-medium);

        h4 {
          font-size: 1.15rem;
          color: #fff;
          margin-block-end: 0.25rem;
          font-family: var(--font-heading);
          font-weight: 700;
        }

        p {
          font-size: 0.8rem;
          color: var(--color-primary-gold);
          font-weight: 600;
          letter-spacing: 0.05em;
        }
      }

      &:hover {
        border-color: var(--color-border-gold);
        box-shadow: var(--shadow-gold-heavy);
        transform: translateY(-5px);

        img {
          transform: scale(1.06);
        }

        .card-caption {
          opacity: 1;
          transform: translateY(0);
        }
      }
    }
  }

  /* Fullscreen Lightbox Modal styling */
  .lightbox-modal {
    position: fixed;
    inset: 0;
    background-color: rgba(5, 8, 17, 0.96);
    backdrop-filter: blur(12px);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease-out;
    user-select: none;

    &.visible {
      opacity: 1;
      pointer-events: auto;
    }

    .lightbox-close {
      position: absolute;
      inset-block-start: 2rem;
      inset-inline-end: 2.5rem;
      font-size: 2.5rem;
      color: var(--color-text-muted);
      background: none;
      border: none;
      cursor: pointer;
      transition: color var(--transition-fast), transform var(--transition-fast);
      line-height: 1;

      &:hover {
        color: #fff;
        transform: scale(1.1);
      }
    }

    .lightbox-nav {
      position: absolute;
      inset-block-start: 50%;
      transform: translateY(-50%);
      font-size: 2rem;
      color: var(--color-text-muted);
      background: rgba(255, 255, 255, 0.02);
      border: 1px solid rgba(255, 255, 255, 0.05);
      border-radius: 50%;
      inline-size: 56px;
      block-size: 56px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all var(--transition-fast);
      z-index: 1010;

      &:hover {
        color: #fff;
        background-color: var(--color-gold-light);
        border-color: var(--color-primary-gold);
        transform: translateY(-50%) scale(1.08);
      }

      &.prev { inset-inline-start: 2.5rem; }
      &.next { inset-inline-end: 2.5rem; }
    }

    .lightbox-content {
      max-inline-size: 80%;
      max-block-size: 75vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.5rem;
      position: relative;

      img {
        max-inline-size: 100%;
        max-block-size: 65vh;
        border-radius: 12px;
        border: 1px solid var(--color-border);
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
        object-fit: contain;
      }

      .lightbox-caption {
        text-align: center;
        color: #fff;
        max-inline-size: 600px;

        h4 {
          font-family: var(--font-heading);
          font-size: 1.35rem;
          font-weight: 700;
          color: #fff;
          margin-block-end: 0.25rem;
        }

        p {
          font-size: 0.9rem;
          color: var(--color-primary-gold);
          font-weight: 600;
        }
      }
    }
  }

  @media (max-width: 768px) {
    .lightbox-modal {
      .lightbox-nav {
        inline-size: 44px;
        block-size: 44px;
        font-size: 1.5rem;
        
        &.prev { inset-inline-start: 1rem; }
        &.next { inset-inline-end: 1rem; }
      }
      .lightbox-close {
        inset-block-start: 1rem;
        inset-inline-end: 1.5rem;
      }
      .lightbox-content {
        max-inline-size: 95%;
        img {
          max-block-size: 55vh;
        }
      }
    }
  }

  /* Global Map exports (High-Tech Supply Dashboard) */
  .map-dashboard-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 2rem;
    align-items: stretch;
  }

  .map-visualizer-box {
    background-color: rgba(5, 8, 17, 0.6);
    border: 1px solid var(--color-border);
    border-radius: 16px;
    padding: 2rem;
    box-shadow: var(--shadow-soft);
    position: relative;
    backdrop-filter: blur(12px);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-block-size: 420px;

    /* Technical grid lines overlay */
    .grid-overlay {
      position: absolute;
      inset: 0;
      background-image: 
        linear-gradient(rgba(255, 255, 255, 0.015) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.015) 1px, transparent 1px);
      background-size: 30px 30px;
      z-index: 1;
      pointer-events: none;
    }

    .svg-map {
      inline-size: 100%;
      block-size: auto;
      max-block-size: 420px;
      position: relative;
      z-index: 2;

      /* Radar concentric lines */
      .radar-circle {
        fill: none;
        stroke: rgba(197, 160, 89, 0.08);
        stroke-width: 1px;
        stroke-dasharray: 2, 4;
        transform-origin: 660px 180px;
      }

      /* Radar ping waves */
      .hub-group {
        .ping-wave {
          fill: none;
          stroke: var(--color-primary-gold);
          stroke-width: 1.5px;
          transform-origin: 660px 180px;
          animation: map-ping-pulse 3s infinite linear;
          opacity: 0;
        }
      }

      .pin {
        fill: rgba(15, 22, 38, 0.85);
        stroke: var(--color-primary-gold);
        stroke-width: 1.5;
        cursor: pointer;
        transition: all var(--transition-fast);

        &:hover {
          fill: var(--color-primary-gold);
          stroke: #fff;
          stroke-width: 2px;
          r: 9px;
          filter: drop-shadow(0 0 8px var(--color-primary-gold));
        }
      }
    }

    .map-tooltip {
      position: absolute;
      background-color: rgba(10, 14, 26, 0.95);
      border: 1px solid var(--color-border-gold);
      padding: 0.75rem 1.25rem;
      border-radius: 8px;
      font-size: 0.85rem;
      color: #fff;
      pointer-events: none;
      opacity: 0;
      transition: opacity var(--transition-fast);
      transform: translate(-50%, -100%);
      margin-block-start: -15px;
      z-index: 10;
      box-shadow: var(--shadow-gold-heavy);
      max-inline-size: 260px;
      text-align: center;
      line-height: 1.4;
    }
  }

  .routes-sidebar {
    background-color: rgba(10, 14, 26, 0.7);
    border: 1px solid var(--color-border);
    border-radius: 16px;
    padding: 2rem;
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(12px);
    display: flex;
    flex-direction: column;

    h3 {
      font-size: 1.35rem;
      color: #fff;
      font-family: var(--font-heading);
      font-weight: 700;
      margin-block-end: 0.5rem;
    }

    .sidebar-help {
      font-size: 0.85rem;
      color: var(--color-text-muted);
      margin-block-end: 1.5rem;
      line-height: 1.4;
    }

    .map-legend {
      display: flex;
      flex-direction: column;
      gap: 0.65rem;
      max-block-size: 320px;
      overflow-y: auto;
      padding-inline-end: 0.5rem;

      /* Custom scrollbar */
      &::-webkit-scrollbar {
        inline-size: 4px;
      }
      &::-webkit-scrollbar-track {
        background: transparent;
      }
      &::-webkit-scrollbar-thumb {
        background: rgba(255, 255, 255, 0.05);
        border-radius: 2px;
      }

      .country-item {
        background-color: rgba(255, 255, 255, 0.015);
        border: 1px solid rgba(255, 255, 255, 0.04);
        padding: 0.75rem 1rem;
        border-radius: 10px;
        display: flex;
        align-items: center;
        gap: 1rem;
        cursor: pointer;
        transition: all var(--transition-fast);

        .route-marker {
          inline-size: 8px;
          block-size: 8px;
          border-radius: 50%;
          background-color: rgba(255, 255, 255, 0.2);
          transition: background-color var(--transition-fast), box-shadow var(--transition-fast);
        }

        .route-meta {
          text-align: left;
          h4 {
            font-size: 0.9rem;
            font-weight: 700;
            color: #fff;
            margin-block-end: 0.15rem;
            transition: color var(--transition-fast);
          }
          span {
            font-size: 0.75rem;
            color: var(--color-text-muted);
          }
        }

        &:hover, &.highlighted {
          background-color: rgba(197, 160, 89, 0.05);
          border-color: var(--color-border-gold);
          transform: translateX(4px);

          .route-marker {
            background-color: var(--color-primary-gold);
            box-shadow: 0 0 6px var(--color-primary-gold);
          }

          .route-meta h4 {
            color: var(--color-primary-gold);
          }
        }
      }
    }
  }

  @keyframes map-ping-pulse {
    0% {
      r: 6px;
      opacity: 0.8;
      stroke-width: 2px;
    }
    100% {
      r: 32px;
      opacity: 0;
      stroke-width: 0.5px;
    }
  }

  @media (max-width: 992px) {
    .map-dashboard-grid {
      grid-template-columns: 1fr;
    }
  }

  /* Inquiry Form & Calculator Card */
  .contact-card {
    background-color: rgba(10, 14, 26, 0.7);
    border: 1px solid var(--color-border);
    border-radius: 16px;
    box-shadow: var(--shadow-soft);
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    overflow: hidden;
    backdrop-filter: blur(12px);

    .contact-info-panel {
      background: linear-gradient(135deg, rgba(21, 28, 46, 0.3) 0%, rgba(10, 14, 26, 0.7) 100%);
      padding: 4rem 3rem;
      border-inline-end: 1px solid var(--color-border);
      display: flex;
      flex-direction: column;
      justify-content: space-between;

      .info-title {
        font-size: 2rem;
        margin-block-end: 1.5rem;
        color: #fff;
      }

      .info-intro {
        color: var(--color-text-muted);
        margin-block-end: 2.5rem;
        font-size: 0.95rem;
      }

      .info-list {
        display: flex;
        flex-direction: column;
        gap: 1.75rem;
        margin-block-end: 3rem;

        .info-item {
          display: flex;
          align-items: flex-start;
          gap: 1rem;

          .info-icon {
            color: var(--color-primary-gold);
            margin-block-start: 0.2rem;
            
            svg {
              fill: currentColor;
              inline-size: 20px;
              block-size: 20px;
            }
          }

          span {
            display: block;
            
            &:first-child {
              font-size: 0.75rem;
              text-transform: uppercase;
              letter-spacing: 0.05em;
              color: var(--color-text-muted);
            }
            
            &:last-child {
              font-size: 1.05rem;
              color: #fff;
              font-weight: 500;
            }
          }

          a:last-child:hover {
            color: var(--color-primary-gold);
          }
        }
      }

      .quick-action-row {
        display: flex;
        gap: 1rem;

        .action-btn {
          flex: 1;
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 0.5rem;
          padding: 0.75rem;
          border-radius: 4px;
          font-size: 0.9rem;
          font-weight: 600;
          transition: all var(--transition-fast);
          border: 1px solid var(--color-border);
          color: #fff;

          &.whatsapp-btn {
            border-color: #25d366;
            color: #25d366;

            &:hover {
              background-color: #25d366;
              color: #fff;
            }
          }

          &.call-btn {
            border-color: var(--color-primary-gold);
            color: var(--color-primary-gold);

            &:hover {
              background-color: var(--color-primary-gold);
              color: var(--color-bg);
            }
          }

          svg {
            fill: currentColor;
            inline-size: 18px;
            block-size: 18px;
          }
        }
      }
    }

    .form-panel {
      padding: 4rem 3.5rem;

      h3 {
        font-size: 1.75rem;
        margin-block-end: 2rem;
        color: #fff;
      }

      .form-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
        margin-block-end: 1.5rem;
      }

      .form-group {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;

        &.full-width {
          grid-column: span 2;
        }

        label {
          font-size: 0.85rem;
          font-weight: 500;
          color: var(--color-text-muted);
        }

        &:has(input:user-invalid, select:user-invalid, textarea:user-invalid) label {
          color: #f87171;
        }

        input, select, textarea {
          background-color: rgba(5, 8, 17, 0.6);
          border: 1px solid var(--color-border);
          padding: 0.75rem 1rem;
          border-radius: 4px;
          color: #fff;
          font-size: 0.95rem;
          transition: all var(--transition-fast);

          &::placeholder {
            color: rgba(148, 163, 184, 0.4);
          }

          &:focus {
            outline: none;
            border-color: var(--color-primary-gold);
            box-shadow: var(--shadow-gold);
          }

          &:user-invalid {
            border-color: #f87171;
          }
        }

        textarea {
          resize: vertical;
          min-block-size: 110px;
        }
      }

      /* Estimator calculator box */
      .calculator-box {
        grid-column: span 2;
        background-color: rgba(5, 8, 17, 0.5);
        border: 1px solid var(--color-border-gold);
        border-radius: 6px;
        padding: 1.25rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1.5rem;

        .calc-inputs {
          display: flex;
          align-items: center;
          gap: 1rem;

          .calc-unit {
            font-size: 0.85rem;
            color: var(--color-text-muted);
            text-transform: uppercase;
          }
          input {
            max-inline-size: 90px;
            background-color: rgba(5, 8, 17, 0.6);
            border: 1px solid var(--color-border);
            padding: 0.4rem 0.75rem;
            border-radius: 4px;
            color: #fff;
          }
        }

        .calc-result {
          text-align: right;
          span:first-child {
            display: block;
            font-size: 0.75rem;
            color: var(--color-text-muted);
            text-transform: uppercase;
            letter-spacing: 0.05em;
          }
          span:last-child {
            display: block;
            font-family: var(--font-heading);
            font-size: 1.4rem;
            font-weight: 700;
            color: var(--color-primary-gold);
          }
        }
      }

      .submit-btn {
        width: 100%;
        background-color: var(--color-primary-gold);
        color: var(--color-bg);
        text-align: center;
        padding: 0.85rem;
        border-radius: 4px;
        font-weight: 600;
        font-size: 1rem;
        cursor: pointer;
        transition: all var(--transition-fast);
        margin-block-start: 1rem;

        &:hover:not(:disabled) {
          background-color: var(--color-gold-hover);
          box-shadow: var(--shadow-gold-heavy);
        }

        &:disabled {
          opacity: 0.6;
          cursor: not-allowed;
        }
      }
    }
  }

  /* Corporate Footer area */
  .footer {
    background-color: #03050b;
    border-block-start: 1px solid var(--color-border);
    padding-block: 4rem 2rem;

    .footer-grid {
      max-inline-size: 1200px;
      margin-inline: auto;
      padding-inline: 1.5rem;
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr;
      gap: 4rem;
      margin-block-end: 3rem;
    }

    .footer-info {
      .footer-logo {
        display: flex;
        align-items: center;
        margin-block-end: 1.5rem;

        img {
          block-size: 50px;
          inline-size: auto;
        }
      }

      p {
        font-size: 0.9rem;
        color: var(--color-text-muted);
        margin-block-end: 1.5rem;
        max-inline-size: 400px;
      }

      .footer-socials {
        display: flex;
        gap: 1.25rem;
        margin-block-start: 1.5rem;

        a {
          display: flex;
          align-items: center;
          justify-content: center;
          background-color: rgba(255, 255, 255, 0.02);
          border: 1px solid rgba(255, 255, 255, 0.05);
          color: var(--color-text-muted);
          inline-size: 38px;
          block-size: 38px;
          border-radius: 50%;
          transition: all var(--transition-fast);

          svg {
            fill: currentColor;
            inline-size: 18px;
            block-size: 18px;
          }

          &:hover {
            color: var(--color-primary-gold);
            background-color: var(--color-gold-light);
            border-color: var(--color-primary-gold);
            transform: translateY(-3px);
            box-shadow: var(--shadow-gold);
          }
        }
      }
    }

    .footer-links {
      h4 {
        font-size: 1.1rem;
        color: #fff;
        margin-block-end: 1.25rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
      }

      ul {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;

        a {
          font-size: 0.9rem;
          color: var(--color-text-muted);
          transition: color var(--transition-fast);

          &:hover {
            color: var(--color-primary-gold);
          }
        }
      }
    }

    .footer-bottom {
      max-inline-size: 1200px;
      margin-inline: auto;
      padding-inline: 1.5rem;
      border-block-start: 1px solid var(--color-border);
      padding-block-start: 2rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 0.85rem;
      color: var(--color-text-muted);

      a {
        transition: color var(--transition-fast);
        &:hover {
          color: var(--color-primary-gold);
        }
      }
    }
  }
}

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

/* Responsive Breakpoints */
@media (max-width: 1024px) {
  .navbar .nav-links {
    gap: 1.25rem;
  }

  .hero-section .hero-grid {
    gap: 2rem;
  }

  .operations-split {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

@media (max-width: 768px) {
  .navbar {
    .container {
      padding-block: 0.75rem;
    }
    
    .nav-links, .nav-cta {
      display: none;
    }

    /* Small Screen Menu trigger indicator placeholder styling */
    &::after {
      content: 'Menu';
      font-size: 0.8rem;
      color: var(--color-primary-gold);
      border: 1px solid var(--color-border-gold);
      padding: 0.25rem 0.6rem;
      border-radius: 4px;
      position: absolute;
      inset-inline-end: 1.5rem;
      inset-block-start: 50%;
      transform: translateY(-50%);
      cursor: pointer;
    }
  }

  .hero-section {
    padding-block-start: 8rem;
    
    .hero-grid {
      grid-template-columns: 1fr;
      text-align: center;
      gap: 3rem;
    }

    .hero-content {
      h1 {
        font-size: 2.8rem;
      }
      .cta-group {
        justify-content: center;
      }
    }

    .hero-visual {
      order: -1;
    }
  }

  .section {
    padding-block: 4rem;
    
    .section-title {
      font-size: 2rem;
    }
  }

  .contact-card {
    grid-template-columns: 1fr;
    
    .contact-info-panel {
      border-inline-end: none;
      border-block-end: 1px solid var(--color-border);
      padding: 2.5rem;
    }

    .form-panel {
      padding: 2.5rem;
      
      .form-grid {
        grid-template-columns: 1fr;
      }
      
      .form-group.full-width {
        grid-column: span 1;
      }

      .calculator-box {
        grid-column: span 1;
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
        
        .calc-result {
          text-align: left;
        }
      }
    }
  }

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

    .footer-bottom {
      flex-direction: column;
      gap: 1rem;
      text-align: center;
    }
  }
}

@keyframes orbital-pulse {
  0%, 100% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.15); opacity: 1; filter: drop-shadow(0 0 4px rgba(255,255,255,0.4)); }
}

/* Partner Marquee Styles */
.partner-marquee-section {
  padding-block: 1.5rem;
  background-color: rgba(5, 8, 17, 0.7);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  overflow: hidden;
  position: relative;
  inline-size: 100%;
}

.partner-marquee-container {
  overflow: hidden;
  position: relative;
  display: flex;
  inline-size: 100%;
}

.partner-marquee-track {
  display: flex;
  inline-size: max-content;
  align-items: center;
  animation: scroll-marquee 28s linear infinite;
}

.partner-logo-item {
  flex-shrink: 0;
  padding-inline: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.partner-logo-svg {
  block-size: 35px;
  opacity: 0.45;
  transition: opacity var(--transition-fast), filter var(--transition-fast);
  filter: grayscale(100%) brightness(1.2);
}

.partner-logo-item:hover .partner-logo-svg {
  opacity: 0.95;
  filter: grayscale(0%) brightness(1.5) drop-shadow(0 0 8px rgba(212, 175, 55, 0.4));
  text {
    fill: var(--color-primary-gold);
  }
}

@keyframes scroll-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-100% / 3));
  }
}
