@font-face {
    font-family: 'Gotham Bold';
    src: local('Helvetica Bold'), local('Arial Bold');
    font-weight: 700;
}
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.industrial-grid-bg {
    background-image: linear-gradient(to right, rgba(0,0,0,0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(0,0,0,0.05) 1px, transparent 1px);
    background-size: 40px 40px;
}
.industrial-grid-bg-white {
    background-image: linear-gradient(to right, rgba(255,255,255,0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size: 40px 40px;
}
.diagonal-stripes {
    background: repeating-linear-gradient(
        45deg,
        #bb0013,
        #bb0013 10px,
        #93000d 10px,
        #93000d 20px
    );
}
/* Custom styles for high-end industrial feel */
.thick-border-left { border-left: 12px solid #bb0013; }
.thick-border-top { border-top: 12px solid #bb0013; }
.industrial-cut {
    clip-path: polygon(0 0, 100% 0, 100% 90%, 95% 100%, 0 100%);
}

/* Animations */
@keyframes moveGrid {
    0% { background-position: 0 0; }
    100% { background-position: 40px 40px; }
}
.animate-grid {
    animation: moveGrid 3s linear infinite;
}

@keyframes panHero {
    0% { transform: scale(1) translate(0, 0); }
    50% { transform: scale(1.05) translate(-1%, -1%); }
    100% { transform: scale(1) translate(0, 0); }
}
.hero-bg-anim {
    animation: panHero 20s ease-in-out infinite;
    transform-origin: center center;
}

@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}
.floating-icon {
    animation: float 4s ease-in-out infinite;
}

@keyframes pulse-glow {
    0%, 100% { opacity: 0.1; transform: scale(1); }
    50% { opacity: 0.3; transform: scale(1.2); }
}
.glow-effect {
    animation: pulse-glow 4s ease-in-out infinite;
}

.glass-panel {
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Preloader Distinct Rings Animation */
.hose-ring {
    fill: none;
    stroke: white;
    stroke-width: 10px;
    stroke-linecap: round;
    stroke-dasharray: 400;
    stroke-dashoffset: 400;
    animation: drawRing 0.8s ease-in-out forwards;
}

.ring-bot {
    animation-delay: 0s;
}
.ring-mid2 {
    animation-delay: 0.3s;
}
.ring-mid1 {
    animation-delay: 0.6s;
}
.ring-top {
    animation-delay: 0.9s;
}

@keyframes drawRing {
    to {
        stroke-dashoffset: 0;
    }
}

/* Hard Shadow for about page elements */
.hard-shadow, .industrial-shadow {
    box-shadow: 4px 4px 0px 0px #000000;
}

/* Products Page Grids */
.blueprint-grid {
    background-image: linear-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.05) 1px, transparent 1px);
    background-size: 20px 20px;
}
