/* Base Typography & Layout */
body { 
    font-family: 'Plus Jakarta Sans', sans-serif; 
    background-color: #ffffff; 
    color: #0f172a;
}

.glass-header {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

/* 8pt Grid Spacing */
.section-padding { padding-top: 128px; padding-bottom: 128px; }

/* Hero Specifics */
.hero-video-overlay {
    background: linear-gradient(to bottom, rgba(255,255,255,0.1) 0%, #ffffff 95%);
}

.mask-line {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    overflow: hidden;
    display: block;
}

.services-bg-container {
    position: relative;
    overflow: hidden; /* Critical for parallax */
    background-color: #ffffff;
    z-index: 1;
}

.services-watermark {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 110%; /* Slightly wider to ensure coverage */
    height: 100%;
    object-fit: cover; /* Ensures the image fills its area without stretching */
    opacity: 0.06; /* Dropped slightly for more subtlety */
    pointer-events: none;
    filter: grayscale(1) brightness(0.9);
    z-index: 0;
    will-change: transform;

    /* The Mask: Fades the edges (top, bottom, left, right) to 0% opacity */
    -webkit-mask-image: radial-gradient(
        circle at center, 
        black 20%, 
        transparent 80%
    );
    mask-image: radial-gradient(
        circle at center, 
        black 20%, 
        transparent 80%
    );
}

.service-card {
    position: relative;
    z-index: 1;
    padding: 40px;
    border-radius: 24px;
    border: 1px solid transparent;
    /* Use a cleaner transition that doesn't fight GSAP */
    transition: background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease, transform 0.4s ease;
    background: rgba(255, 255, 255, 0);
    
    /* Starting states for GSAP to animate FROM */
    opacity: 0;
    transform: translateY(40px); 
    will-change: transform, opacity; /* Optimizes for smooth motion */
}

/* Ensure cards stay visible if GSAP finishes */
.service-card.gsap-finished {
    opacity: 1;
    transform: translateY(0);
}

.service-card:hover {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border-color: rgba(37, 99, 235, 0.1);
    transform: translateY(-12px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.04);
}

/* Custom Portfolio Tweaks */
.bg-slate-950 { background-color: #020617; }

/* Slow Zoom Effect for Portfolio Images */
.group:hover img {
    filter: grayscale(0) brightness(1);
    opacity: 1;
}

.glass-card {
    /* Adjusted for dark background image */
    background: rgba(15, 23, 42, 0.3); /* Transparent Navy/Slate */
    backdrop-filter: blur(40px) saturate(150%); 
    -webkit-backdrop-filter: blur(40px) saturate(150%);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.8);
}

/* Add a very subtle "sheen" to the top edge */
.glass-card {
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

/* Add a custom font style for the KPI numbers */
.font-black { font-weight: 900; }

/* Standard Reveal (For non-GSAP sections) */
.reveal-init { opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; }
.reveal-init.active { opacity: 1; transform: translateY(0); }