@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
    --v2-bg-left: #eeeff1;
    /* Light grey block */
    --v2-text-dark: #232220;
    /* Very dark grayish brown */
    --v2-text-light: #ffffff;
    --v2-nav-bg: #fff;
    --v2-nav-text: #000;
}

/* Reset any inherited padding/margins from body if necessary */
body {
    margin: 0;
    padding: 0;
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.landing-page,
.landing-page * {
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.landing-split-active {
    display: flex;
    width: 100vw;
    height: 100vh;
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    overflow: hidden;
    background: var(--v2-text-dark);
    position: relative;
    /* Hide the old grid-bg if it slips through */
    z-index: 10;
}

/* Left Half */
.split-left {
    width: 50%;
    height: 100%;
    background-color: var(--v2-bg-left);
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 40px;
    box-sizing: border-box;
    overflow: hidden;
    /* Important for clipping the giant text */
}

/* Logo Header */
.split-header .logo-text {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    font-size: 20px;
    color: var(--v2-text-dark);
}

.split-header svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

/* Main Content Area */
.split-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 20vh;
    /* Adjust vertical centering */
}

.split-title {
    font-size: 5.5rem;
    line-height: 1;
    font-weight: 400;
    letter-spacing: -1.5px;
    color: var(--v2-text-dark);
    margin: 0 0 32px 0;
}

.split-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.btn-demo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background-color: var(--v2-text-dark);
    color: var(--v2-text-light);
    border: none;
    padding: 14px 48px;
    border-radius: 9999px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: transform 0.2s, background-color 0.2s;
    text-decoration: none;
}

.btn-demo:hover {
    transform: translateY(-2px);
    background-color: #000;
}

.btn-demo svg {
    width: 16px;
    height: 16px;
    color: var(--v2-text-light);
}

.btn-sublink {
    color: var(--v2-text-dark);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    opacity: 0.5;
    transition: opacity 0.2s;
}

.btn-sublink:hover {
    opacity: 1;
}

/* Giant Spanning Text - Dark */
.giant-text-dark {
    position: absolute;
    bottom: 0;
    left: 40px;
    /* aligns exactly with the padding of split-left container */
    font-size: 24vw;
    font-weight: 500;
    line-height: 0.8;
    letter-spacing: -0.04em;
    color: var(--v2-text-dark);
    pointer-events: none;
    white-space: nowrap;
    z-index: 0;
}

/* Right Half */
.split-right {
    width: 50%;
    height: 100%;
    position: relative;
    overflow: hidden;
    /* Important for clipping the giant text */
}

.split-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 30%);
    /* Subtle dark overlay at bottom */
    z-index: 1;
    pointer-events: none;
}

/* Navigation Over Video */
.split-nav {
    position: absolute;
    top: 40px;
    right: 40px;
    display: flex;
    gap: 8px;
    z-index: 10;
}

.nav-pill {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: var(--v2-nav-text);
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 9999px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    border: none;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
    display: inline-flex;
    align-items: center;
}

.nav-pill:hover {
    background: #fff;
    transform: translateY(-1px);
}

.nav-pill-dark {
    background: rgba(30, 30, 30, 0.8);
    color: #fff;
    padding: 10px 14px 10px 20px;
    gap: 8px;
}

.nav-pill-dark:hover {
    background: #000;
    color: #fff;
}

.nav-pill-dark svg {
    width: 14px;
    height: 14px;
    color: #fff;
}

/* Giant Spanning Text - Light */
/* 
   To precisely align with the left side, we need to track coordinate space. 
   left side is 0vw to 50vw. Right side is 50vw to 100vw.
   So offset the right text by -50vw + 40px (since the left text started at 40px inside the left 50vw container).
*/
.giant-text-light {
    position: absolute;
    bottom: 0;
    left: calc(-50vw + 40px);
    font-size: 24vw;
    font-weight: 500;
    line-height: 0.8;
    letter-spacing: -0.04em;
    color: var(--v2-text-light);
    pointer-events: none;
    white-space: nowrap;
    z-index: 5;
}

/* Responsive Overrides */
@media (max-width: 900px) {
    .landing-split-active {
        flex-direction: column;
        height: auto;
        min-height: 100vh;
        overflow-y: auto;
    }

    .split-left,
    .split-right {
        width: 100%;
        height: 50vh;
        min-height: 500px;
    }

    .split-title {
        font-size: 3rem;
    }

    .giant-text-dark {
        font-size: 28vw;
        bottom: 0;
    }

    .giant-text-light {
        font-size: 28vw;
        bottom: 0;
        left: 40px;
        /* Resets since they stack */
    }
}

/* ==========================================================================
   HOW IT WORKS SECTION
   ========================================================================== */
.how-it-works-section {
    background-color: var(--v2-bg-left);
    padding: 140px 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hws-container {
    max-width: 1200px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.hws-title {
    font-size: 3.5rem;
    font-weight: 400;
    letter-spacing: -1.5px;
    color: var(--v2-text-dark);
    margin: 0 0 60px 0;
}

.hws-video-wrapper {
    width: 100%;
    border-radius: 32px;
    overflow: hidden;
    background: var(--v2-text-dark);
    padding: 16px;
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
}

.hws-video {
    width: 100%;
    height: auto;
    border-radius: 20px;
    display: block;
    object-fit: cover;
}

@media (max-width: 900px) {
    .how-it-works-section {
        padding: 80px 20px;
    }

    .hws-title {
        font-size: 2.5rem;
        margin-bottom: 40px;
    }

    .hws-video-wrapper {
        border-radius: 24px;
        padding: 12px;
    }

    .hws-video {
        border-radius: 12px;
    }
}

/* ==========================================================================
   IMAGE COMPARISON SECTION
   ========================================================================== */
.comparison-section {
    background: linear-gradient(135deg, #121212 0%, #1a2228 100%);
    padding: 100px 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.comp-container {
    max-width: 1000px;
    width: 100%;
    aspect-ratio: 16/9;
    position: relative;
    border-radius: 32px;
    overflow: hidden;
    cursor: ew-resize;
    /* Indicate horizontal drag/move */
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.comp-container.visible {
    opacity: 1;
    transform: translateY(0);
}

.comp-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.comp-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.comp-before {
    clip-path: inset(0 50% 0 0);
}

.comp-slider {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 100%;
    pointer-events: none;
    /* Let mouse events pass through to container */
    z-index: 10;
}

.comp-slider-line {
    position: absolute;
    top: 0;
    left: -1px;
    /* Center the 2px line */
    width: 2px;
    height: 100%;
    background-color: white;
}

.comp-slider-button {
    position: absolute;
    top: 50%;
    left: -28px;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    background-color: white;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--v2-text-dark);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    gap: 2px;
}

.comp-slider-button svg {
    width: 20px;
    height: 20px;
}

@media (max-width: 900px) {
    .comparison-section {
        padding: 60px 20px;
    }

    .comp-container {
        border-radius: 24px;
    }

    .comp-slider-button {
        width: 48px;
        height: 48px;
        left: -24px;
    }
}

/* ==========================================================================
   FOOTER SECTION
   ========================================================================== */
.landing-footer {
    background-color: #ffffff;
    padding: 60px 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.footer-content {
    display: flex;
    align-items: center;
}

.footer-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--v2-text-dark);
    font-size: 1.1rem;
    font-weight: 500;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 9999px;
    background: rgba(0, 0, 0, 0.03);
    transition: all 0.2s ease;
}

.footer-link:hover {
    background: rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.footer-link svg {
    color: var(--v2-text-dark);
}