/* Base Styles */
html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    /* Smooth native scrolling backup */
    scroll-behavior: smooth;
}

/* Scroll Container */
#scroll-container {
    /* Height is controlled by Tailwind h-screen.
       ScrollTrigger manages the pinning. */
}

/* Panels are fixed inside the viewport when pinned */
.panel {
    top: 0;
    left: 0;
    will-change: transform, opacity;
}

/* Hero Elements */
.hero-bg {
    position: absolute;
    top: -5%;
    left: -5%;
    width: 110%;
    height: 110%;
    background-image: url('assets/hero_industrial_bg_1773352083572.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
    filter: brightness(0.7);
    will-change: transform, filter;
}

.hero-glow {
    filter: blur(80px);
    mix-blend-mode: screen;
}

/* 3D Utility Classes for Card Hover Effects */
.perspective-1000 {
    perspective: 1000px;
}
.transform-style-3d {
    transform-style: preserve-3d;
}

/* Capability Cards Hover */
.cap-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border: 1px solid transparent;
    border-radius: 1rem;
    transition: all 0.5s ease;
    z-index: 20;
    pointer-events: none;
}

.cap-card:hover {
    transform: translateY(-10px) rotateX(2deg);
    border-color: rgba(255,255,255,0.1);
}

.cap-card:hover::before {
    border-color: rgba(180, 83, 9, 0.6); /* Primary Copper */
    box-shadow: inset 0 0 30px rgba(180, 83, 9, 0.15);
}

/* Visibility Utilities for GSAP */
.invisible-gsap {
    visibility: hidden;
}

/* Form floating label focus overrides to fix background bleeding */
input:not(:placeholder-shown) + label,
input:focus + label {
    background: #0F172A; /* Slate 900 */
}

/* Hide scrollbar for horizontal mobile scrolling */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}
