/* Core Aesthetics */
body {
    background-color: #F3F4F6;
    color: #1a1a1a;
    -webkit-font-smoothing: antialiased;
    line-height: 1.6;
}

/* Parallax Effect */
.parallax-section {
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    position: relative;
    height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

@media (max-width: 768px) {
    .parallax-section {
        background-attachment: scroll;
        height: 50vh;
    }
}

/* Animations */
.reveal-up {
    opacity: 0;
    transform: translateY(40px);
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-up.active {
    opacity: 1;
    transform: translateY(0);
}

.delay-100 {
    transition-delay: 0.1s;
}

.delay-200 {
    transition-delay: 0.2s;
}

.delay-300 {
    transition-delay: 0.3s;
}

/* Marquee */
.marquee-container {
    overflow: hidden;
    white-space: nowrap;
}

.marquee-content {
    display: inline-block;
    animation: marquee 40s linear infinite;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.marquee-content.reverse {
    animation-direction: reverse;
}

.marquee-content:hover {
    animation-play-state: paused;
}

/* Video Overlay */
.video-overlay {
    background: #00000095;
    /* background: linear-gradient(180deg, rgba(26, 26, 26, 0.8) 0%, rgba(26, 26, 26, 0.6) 60%, rgba(26, 26, 26, 0.4) 100%); */
}

/* Navbar Scrolled State */
.nav-scrolled {
    background-color: white !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.nav-scrolled .nav-text {
    color: #1a1a1a !important;
    mix-blend-mode: normal !important;
}

.nav-scrolled .nav-text svg path {
    fill: #32231f !important;
    transition: fill 0.3s ease;
}

.nav-scrolled .menu-bar {
    background-color: #1a1a1a !important;
}

.nav-scrolled .menu-btn {
    border-color: #E5E7EB !important;
}

/* Initial Nav State */
.nav {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

/* Capabilities Image Transition */
.cap-img {
    transition: opacity 0.6s ease-in-out, transform 0.8s ease-out;
    opacity: 0;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.05);
}

.cap-img.active {
    opacity: 1;
    transform: scale(1);
}

/* Accordion Content Transition */
.cap-content {
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s ease;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
}

.cap-item.active .cap-content {
    max-height: 500px;
    opacity: 1;
}

/* Accordion Header Styling */
.cap-header {
    transition: color 0.3s ease;
}

.cap-item.active .cap-header {
    color: #32231f;
}

/* Interactive Hover for Capabilities */
.cap-item {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-left: 2px solid transparent;
    padding-left: 0;
}

.cap-item:not(.active):hover {
    background-color: #F9FAFB;
    padding-left: 2rem;
    border-left-color: #C88A65;
}

.cap-item:not(.active):hover .cap-header {
    color: #32231f;
}

.cap-header {
    transition: all 0.3s ease;
}

/* Progress Line - Hide on hover to avoid clash with border */
.cap-item:not(.active):hover .cap-line {
    opacity: 0;
}

/* Flip Card Effect */
.perspective-1000 {
    perspective: 1000px;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.flip-card-back {
    transform: rotateY(180deg);
}

.cap-line {
    height: 1px;
    width: 100%;
    background: #E5E7EB;
    position: relative;
}

.cap-line::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 1px;
    width: 0;
    background: #C88A65;
    transition: width 0.5s ease;
}

.cap-item.active .cap-line::after {
    width: 100%;
}

.industries-accordion-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-out;
}

.active .industries-accordion-wrapper {
    grid-template-rows: 1fr;
}

.active .industries-accordion-wrapper .chevron {
    transform: rotate(180deg);
}

/* Staggered Entrance Animation */
.reveal-item {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease-out;
}

.in-view .reveal-item {
    opacity: 1;
    transform: translateY(0);
}

.in-view .reveal-item:nth-child(1) {
    transition-delay: 0ms;
}

.in-view .reveal-item:nth-child(2) {
    transition-delay: 50ms;
}

.in-view .reveal-item:nth-child(3) {
    transition-delay: 100ms;
}

/* Content Block Spacing */
.content-block-spacing {
    margin-top: 2.5rem;
    /* 40px */
    margin-bottom: 2.5rem;
    /* 40px */
}

@media (min-width: 768px) {
    .content-block-spacing {
        margin-top: 2.5rem;
        /* 40px */
        margin-bottom: 2.5rem;
        /* 40px */
    }
}