/* ============================================================
   The Sticky Canvas
   ============================================================ */
.interactive-hero-container {
    position: sticky;
    top: 0;
    z-index: 1;
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
}

/* ============================================================
   The Scroll Track (Drives the Javascript Animation)
   ============================================================ */
.scroll-track {
    height: 100vh; /* Adjust this to change how long the scroll transition takes */
    width: 100%;
    background: transparent;
    pointer-events: none;
}

/* ============================================================
   The Alabaster White Overlay
   ============================================================ */
.white-fade-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FAFAFA;
    z-index: 3; /* Sits directly above the hero text */
    opacity: 0; /* Untouched on load */
    will-change: opacity;
    pointer-events: none;
}

/* ============================================================
   Text Architecture & Styling
   ============================================================ */
.morph-text-out {
    z-index: 2; /* Sits under the white overlay */
    will-change: opacity, transform;
}

.morph-text-in.about-content {
    position: absolute;
    z-index: 4; /* Sits completely on top of the white overlay */
    left: 50%;
    top: 50%;
    transform: translate(-50%, 20px); 
    text-align: center;
    opacity: 0; /* Untouched on load */
    width: 100%;
    max-width: 1200px;
    padding: 0 1rem;
    pointer-events: none; /* Disabled until fully visible */
    will-change: opacity, transform;
}

/* Forced high-contrast dark text and unified, scaled-up heading sizes */
.about-content h2,
.about-content h3 {
    color: #000;
    margin-bottom: 1rem;
    font-size: calc(var(--font-h2) * 0.9); /* Increases h2 size by 25% and applies it to both */
}

.about-content p {
    color: #000;
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.about-content .btn-primary {
    color: #000 !important;
    border-color: #000 !important;
}

.about-content .btn-primary:hover {
    background-color: #000 !important;
    color: #fff !important;
}

/* ============================================================
   Upcoming Sections Architecture (Restored Card Effect)
   ============================================================ */
/* Ensures the sections below slide perfectly OVER the sticky canvas */
.home-products,
.home-testimonials,
.faq-section {
    position: relative;
    z-index: 10; /* Higher than the sticky hero canvas */
    background-color: #ffffff; /* Solid background blocks the canvas from bleeding through */
}

@media (max-height: 800px), (max-width: 1024px) {
    /* Adjust the vertical centering to start slightly higher up */
    .morph-text-in.about-content {
        top: 45%; 
        padding: 0 2rem;
    }

    /* Reduce the massive margins between paragraphs */
    .about-content p {
        margin-bottom: 1rem; /* Reduced from 2rem to save vertical space */
        font-size: 1rem; /* Slightly reduced font size for smaller screens */
        line-height: 1.4;
    }

    /* Reduce the margins on the dividers */
    .editorial-divider {
        margin: 1rem auto; 
    }
    
    /* Slightly reduce heading sizes to save space */
    .about-content h2,
    .about-content h3 {
        margin-bottom: 0.5rem;
    }
}

/* ============================================================
   MOBILE RESPONSIVE (Native Scroll Override)
   ============================================================ */
@media (max-width: 768px) {
    /* 1. Un-stick the canvas and turn it into a standard stacking column */
    .interactive-hero-container {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        min-height: 0 !important;
    }

    /* 2. Lock the background image to just the first screen */
    .hero-layer {
        height: 100vh !important;
    }

    /* 3. Give the hero text exactly 100vh of space so it matches the background image */
    .hero-content {
        height: 100vh !important;
        width: 100% !important;
        margin: 0 auto !important; 
        justify-content: center !important; /* Ensures the text stays vertically centered */
    }

    /* 4. Release the About text into normal document flow below the hero */
    .morph-text-in.about-content {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        
        opacity: 1 !important; /* Bypasses the JS fade-in */
        background-color: #FAFAFA !important; /* Replaces the white-fade-overlay */
        padding: 5rem 1.5rem !important; /* Plenty of breathing room */
        
        height: auto !important;
        max-height: none !important;
        width: 100% !important;
        pointer-events: auto !important; /* Ensures the button is clickable */
    }

    /* 5. Hide the animation triggers since we are scrolling naturally */
    .scroll-track,
    .white-fade-overlay {
        display: none !important;
    }
}