﻿/* =====================================================
   Zunge Landing Page Styles — scoped to .landing-page
   ===================================================== */

/* Keyframes must live at the top level */
@keyframes levitate {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

@keyframes breathe-outer {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.2;
    }

    50% {
        transform: translate(-50%, -50%) scale(1.3);
        opacity: 0.4;
    }
}

@keyframes breathe-middle {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.4;
    }

    50% {
        transform: translate(-50%, -50%) scale(1.2);
        opacity: 0.6;
    }
}

@keyframes breathe-inner {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.8;
    }

    50% {
        transform: translate(-50%, -50%) scale(1.1);
        opacity: 1;
    }
}

/* =====================================================
   Everything below is scoped to .landing-page
   ===================================================== */
.landing-page {
    width: 100%;
    overflow-x: hidden;
    font-size: var(--text-s);
    line-height: 1.4;
    font-weight: 500;
    color: var(--text-dark);
    background-color: var(--bg-white);
    outline: none;
    /* Remove focus outlines from non-interactive elements */
    & .hero-title,
    & .hero-content,
    & .hero-section {
        outline: none;
    }
    /* =====================================================
     Links
     ===================================================== */
    & a {
        all: unset;
        color: var(--primary-dark);
        font-weight: 500;
        transition: var(--transition-fast);
    }

        & a:hover {
            cursor: pointer;
            color: var(--text-light);
        }

        & a img {
            transition: var(--transition-fast);
        }

        & a:hover img {
            opacity: 0.5;
        }
    /* =====================================================
     Shared Utility Classes
     ===================================================== */
    /* Shared section base */
    & .section {
        display: flex;
        align-items: center;
        padding: var(--spacing-xxl) var(--spacing-l);
        position: relative;
    }

    & .section-container {
        max-width: 1400px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: var(--spacing-xxl);
        align-items: center;
        width: 100%;
    }

    & .section-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--spacing-l);
        z-index: 2;
    }
    /* Shared title sizes */
    & .title-xxl {
        font-size: var(--text-xxl);
        font-weight: 700;
        color: var(--text-dark);
        line-height: 1.2;
        text-align: center;
    }

    & .title-xl {
        font-size: var(--text-xl);
        font-weight: 700;
        color: var(--text-dark);
        line-height: 1.2;
        text-align: center;
    }

    & .title-lg {
        font-size: var(--text-l);
        font-weight: 600;
        color: var(--text-dark);
        line-height: 1.4;
        text-align: center;
    }

    & .title-m {
        font-size: var(--text-m);
        font-weight: 600;
        color: var(--text-dark);
        line-height: 1.4;
        text-align: center;
    }

    & .title-s {
        font-size: var(--text-s);
        font-weight: 500;
        color: var(--text-dark);
        line-height: 1.4;
        text-align: center;
    }

    & .button-inline {
        display: flex;
        gap: var(--spacing-s);
        align-items: center;
    }
    /* Levitate animation for icons */
    & .icon-float {
        animation: levitate 3s ease-in-out infinite;
    }
    /* Text utilities */
    & .text-muted {
        color: var(--text-light);
    }

    & .text-bold {
        font-weight: 600;
    }

    & .text-italic {
        font-style: italic;
    }

    & .text-center {
        text-align: center;
    }

    & .text-xs {
        font-size: var(--text-xs);
    }

    & .text-centered-narrow {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto;
    }
    /* Button utilities */
    & .btn {
        display: inline-flex;
        align-items: center;
        gap: var(--spacing-s);
        padding: var(--spacing-l) var(--spacing-xl);
        border-radius: var(--radius);
        font-weight: 600;
        text-decoration: none;
        transition: opacity var(--transition-normal);
        border: none;
        cursor: pointer;
    }

    & .btn-primary {
        background: var(--primary-color);
        color: var(--bg-white);
    }

        & .btn-primary:hover {
            opacity: 0.7 !important;
            color: var(--bg-white);
        }

    & .btn-secondary {
        background: var(--primary-dark);
        color: var(--bg-white);
    }

        & .btn-secondary:hover {
            opacity: 0.7 !important;
            color: var(--bg-white);
        }
    /* Shared slider container */
    & .slider-container {
        width: clamp(300px, calc(100vw - var(--spacing-l) * 2), 500px);
        cursor: grab;
    }

        & .slider-container.dragging {
            cursor: grabbing;
        }
    /* Shared slider track */
    & .slider-track {
        display: flex;
        gap: var(--spacing-l);
        padding: var(--spacing-l) 0;
        width: max-content;
    }
    /* Shared slider card base */
    & .slider-card {
        flex-shrink: 0;
        width: clamp(300px, calc(100vw - var(--spacing-l) * 2), 500px);
    }
    /* =====================================================
     Hero Section
     ===================================================== */
    & .hero-section {
        display: flex;
        align-items: center;
        padding: calc(70px + var(--spacing-xxl)) var(--spacing-l) var(--spacing-xl);
        background: var(--bg-light);
        position: relative;
        overflow: hidden;
    }

    & .hero-container {
        max-width: 1400px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: var(--spacing-xxl);
        align-items: center;
        width: 100%;
    }

    & .hero-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--spacing-l);
        padding: var(--spacing-xl) 0;
        z-index: 2;
    }

    & .hero-flags {
        height: calc(var(--icon-m) * 1.25);
        width: auto;
    }

    & .hero-badge {
        display: inline-flex;
        align-items: center;
        gap: var(--spacing-s);
        background: var(--primary-light);
        color: var(--text-dark);
        padding: var(--spacing-s) var(--spacing-m);
        border-radius: var(--radius);
        font-size: var(--text-xs);
        font-weight: 600;
    }

    & .hero-badge-icon {
        width: var(--icon-s);
        height: var(--icon-s);
    }

    & .hero-title {
        max-width: 800px;
        color: var(--text-dark);
        text-align: center;
    }
        /* SplitText line wrappers */
        & .hero-title .line-wrapper,
        & .hero2-title .line-wrapper,
        & .features-title .line-wrapper,
        & .features2-title .line-wrapper,
        & .features3-title .line-wrapper,
        & .features4-title .line-wrapper {
            overflow: hidden;
            display: block;
        }

        & .hero-title .line,
        & .hero2-title .line,
        & .features-title .line,
        & .features2-title .line,
        & .features3-title .line,
        & .features4-title .line {
            display: block;
        }

    & .hero-cta {
        font-size: var(--text-s);
    }

    & .hero-visual {
        width: 100%;
        position: relative;
        z-index: 1;
    }

    & .video-wrap {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        box-shadow: var(--shadow);
    }

        & .video-wrap iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: none;
        }
    /* =====================================================
     Hero2 Section
     ===================================================== */
    & .hero2-section {
        display: flex;
        align-items: center;
        padding: var(--spacing-xxl) var(--spacing-l);
        position: relative;
        background-color: var(--bg-light);
    }

    & .hero2-container {
        max-width: 1400px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: var(--spacing-xxl);
        align-items: center;
        width: 100%;
    }

    & .hero2-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--spacing-l);
        padding: var(--spacing-xl) 0;
        z-index: 2;
        background-color: var(--bg-light);
    }

    & .hero2-title {
        color: var(--text-dark);
        text-align: center;
        max-width: 600px;
    }

    & .hero2-icon {
        width: var(--icon-xl);
        height: var(--icon-xl);
        mix-blend-mode: darken;
    }

    & .hero2-arrow {
        width: var(--icon-l);
        height: var(--icon-l);
    }
    /* =====================================================
     Features Section
     ===================================================== */
    & .features-section {
        padding: var(--spacing-xxl) var(--spacing-l);
        background: var(--bg-white);
    }

    & .features-header,
    & .features2-header,
    & .features3-header,
    & .features4-header {
        text-align: center;
    }

    & .features-icon {
        width: calc(var(--icon-l) * 1.5);
        height: auto;
    }
    /* Features cards container - vertical stack */
    & .features-cards {
        width: 100%;
        max-width: 600px;
    }

    & .features-subtitle {
        max-width: 600px;
        font-weight: 500;
    }
    /* Card wrapper for pinning */
    & .feature-card-wrapper {
        will-change: transform;
        transform: translateZ(0);
        width: 100%;
        perspective: 500px;
        margin-bottom: 20px;
    }

        & .feature-card-wrapper:last-child {
            margin-bottom: 0;
        }
    /* =====================================================
     Features2 Section
     ===================================================== */
    & .features2-section {
        background: var(--bg-white);
    }

    & .features2-icon,
    & .features3-icon,
    & .features4-icon {
        width: var(--icon-l);
        height: auto;
    }

    & .features2-title,
    & .features3-title,
    & .features4-title {
        max-width: 800px;
    }
    /* Features2 flex container */
    & .features2-slider-container {
        width: 100%;
    }

    & .features2-slider {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: var(--spacing-l);
        padding: var(--spacing-l) 0;
    }

    & .features2-card {
        width: clamp(300px, calc(100vw - var(--spacing-l) * 2), 500px) !important;
    }
    /* Card tap indicator container - fixed position */
    & .card-tap-indicator {
        position: absolute;
        bottom: 10%;
        right: calc(50% - 80px);
        width: 24px;
        height: 24px;
        pointer-events: none;
        z-index: 10;
    }
    /* Make feature-icon a positioning context for the indicator */
    & .feature-card[data-flippable] .feature-icon {
        position: relative;
    }
    /* Layered breathing dots */
    & .card-tap-indicator::before,
    & .card-tap-indicator::after,
    & .card-tap-indicator span {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border-radius: 50%;
        background: var(--primary-color);
    }
    /* Outer dot - largest, lowest opacity */
    & .card-tap-indicator::before {
        content: '';
        width: 24px;
        height: 24px;
        opacity: 0.2;
        animation: breathe-outer 2s ease-in-out infinite;
    }
    /* Middle dot */
    & .card-tap-indicator::after {
        content: '';
        width: 16px;
        height: 16px;
        opacity: 0.4;
        animation: breathe-middle 2s ease-in-out infinite;
    }
    /* Inner dot - smallest, highest opacity */
    & .card-tap-indicator span {
        width: 8px;
        height: 8px;
        opacity: 0.8;
        animation: breathe-inner 2s ease-in-out infinite;
    }
    /* Card content layers */
    & .card-front {
        padding: var(--spacing-xl) var(--spacing-l);
    }

    & .card-front,
    & .card-back {
        position: absolute;
        inset: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        transition: opacity 0.4s ease;
    }

    & .card-back {
        opacity: 0;
        pointer-events: none;
    }

    & .card-back-image {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    & .feature-card.flipped .card-front {
        opacity: 0;
        pointer-events: none;
    }

    & .feature-card.flipped .card-back {
        opacity: 1;
        pointer-events: auto;
    }
    /* Flipped state - change to muted color */
    & .feature-card.flipped .card-tap-indicator::before,
    & .feature-card.flipped .card-tap-indicator::after,
    & .feature-card.flipped .card-tap-indicator span {
        background: var(--text-light);
    }
    /* Cursor for flippable cards */
    & .feature-card[data-flippable] {
        cursor: pointer;
    }
    /* =====================================================
     Features3 Section - Draggable Slider
     ===================================================== */
    & .features3-section {
        background: var(--bg-white);
        overflow: hidden;
    }

    & .features3-slider-container.dragging {
        cursor: grabbing;
    }
    /* =====================================================
     Slider Dots (Apple-style pagination)
     ===================================================== */
    & .slider-dots {
        display: flex;
        justify-content: center;
        gap: var(--spacing-s);
        padding: var(--spacing-l) 0;
    }

    & .slider-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        border: none;
        padding: 0;
        background: var(--border-color);
        cursor: pointer;
        transition: all 0.3s ease;
    }

        & .slider-dot:hover {
            background: var(--text-light);
        }

        & .slider-dot.active {
            background: var(--primary-color);
            width: 24px;
            border-radius: 4px;
        }
    /* Draggable slider - holds cards in a row */
    & .features3-slider {
        display: flex;
        gap: var(--spacing-l);
        padding: var(--spacing-l) 0;
        width: max-content;
    }
    /* Features3 Card - Left aligned with icon top */
    & .features3-card {
        flex-shrink: 0;
        width: clamp(300px, calc(90vw - var(--spacing-l) * 2), 480px);
        background: var(--bg-white);
        border-radius: var(--radius);
        padding: var(--spacing-xl);
        box-shadow: var(--shadow);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: var(--spacing-l);
        height: 350px;
    }

        & .features3-card:nth-child(even) {
            flex-direction: column-reverse;
        }

    & .features3-card-icon {
        width: var(--icon-xxl);
        height: var(--icon-xxl);
        mix-blend-mode: darken;
        filter: brightness(103%);
    }

    & .features3-card-content {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-s);
    }

    & .features3-card-title {
        font-size: var(--text-m);
        font-weight: 600;
        color: var(--text-dark);
        line-height: 1.3;
    }

    & .features3-card-subtitle {
        font-size: var(--text-s);
        color: var(--text-light);
        line-height: 1.4;
    }

    & .feature-card {
        position: relative;
        width: 100%;
        height: 350px;
        background: var(--bg-white);
        border-radius: var(--radius);
        padding: var(--spacing-xxl) var(--spacing-xl) 0;
        box-shadow: var(--shadow);
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--spacing-s);
        overflow: hidden;
        transform-origin: top center;
        will-change: transform;
        transform: translateZ(0);
        backface-visibility: hidden;
    }

        & .feature-card:hover .feature-icon {
            scale: 1.1;
        }

    & .feature-icon {
        position: absolute;
        bottom: 0;
        order: 1;
        flex: 1;
        display: flex;
        align-items: flex-end;
        transform-origin: bottom center;
        mix-blend-mode: darken;
        transition: scale var(--transition-normal);
        pointer-events: none;
        z-index: 0;
    }

        & .feature-icon img {
            width: auto;
            height: var(--icon-xxl);
        }
    /* =====================================================
     Features4 Section (Mobile only when OrbitMap is present)
     ===================================================== */
    & .features4-section {
        background: var(--bg-white);
    }

    & .orbitmap-satellite-indicator {
        position: absolute;
        top: 0;
        right: 0;
        transform: translate(50%, -50%);
    }
    /* Hide Features4 on desktop when used with OrbitMap */
    & .mobile-only .features4-section {
        display: flex;
    }
    /* Dropdowns */
    & .features4-dropdowns {
        width: 100%;
        max-width: 800px;
        display: flex;
        flex-direction: column;
        gap: var(--spacing-m);
    }

    & .features4-dropdown {
        background: var(--bg-light);
        border-radius: var(--radius-s);
        overflow: hidden;
    }

    & .features4-dropdown-header {
        all: unset;
        box-sizing: border-box;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: var(--spacing-l);
        cursor: pointer;
        transition: background var(--transition-fast);
    }

        & .features4-dropdown-header:hover {
            background: var(--bg-dark);
        }

    & .features4-dropdown-title {
        font-size: var(--text-m);
        font-weight: 600;
        color: var(--text-dark);
    }

    & .features4-dropdown-icon {
        width: var(--icon-s);
        height: var(--icon-s);
        transition: transform var(--transition-normal);
    }

    & .features4-dropdown.open .features4-dropdown-icon {
        transform: rotate(135deg);
    }

    & .features4-dropdown-content {
        height: 0;
        overflow: hidden;
    }

    & .features4-dropdown-content-inner {
        padding: var(--spacing-l);
    }
    /* Features4 List Items */
    & .features4-list {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-s);
    }

    & .features4-list-summary {
        order: -1;
        font-weight: 600;
        padding-bottom: var(--spacing-m);
    }

    & .features4-list-item {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: var(--spacing-m);
    }

    & .features4-list-icon {
        width: var(--icon-s);
        height: var(--icon-s);
    }
    /* =====================================================
     OrbitMap Section (Desktop only)
     ===================================================== */
    & .orbitmap-section {
        background: var(--bg-white);
        display: none;
    }

    & .orbitmap-icon {
        width: var(--icon-l);
        height: auto;
    }

    & .orbitmap-title {
        max-width: 800px;
    }
        /* SplitText line wrappers for orbitmap-title */
        & .orbitmap-title .line-wrapper {
            overflow: hidden;
            display: block;
        }

        & .orbitmap-title .line {
            display: block;
        }
    /* Visualization container */
    & .orbitmap-visualization {
        position: relative;
        width: 100%;
        max-width: 900px;
        aspect-ratio: 1;
        margin: 0 auto;
    }

    & .orbitmap-legend-items {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: var(--spacing-m);
    }

    & .orbitmap-legend-item {
        display: inline-flex;
        align-items: center;
        gap: var(--spacing-s);
        font-size: 0.9rem;
        color: var(--text-muted);
    }

    & .orbitmap-legend-icon {
        width: 20px;
        height: 20px;
    }

    & .orbitmap-legend-inline {
        margin-top: var(--spacing-m);
    }
    /* SVG connector lines */
    & .orbitmap-connectors {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 1;
    }

    & .orbitmap-connector {
        stroke-width: 2;
        opacity: 1;
        stroke-dasharray: 1000;
        stroke-dashoffset: 1000;
        transition: opacity 0.3s ease, filter 0.3s ease, stroke-width 0.3s ease;
    }

        & .orbitmap-connector:hover {
            filter: drop-shadow(0 0 4px rgba(77, 124, 254, 0.4));
        }

        & .orbitmap-connector.active {
            filter: drop-shadow(0 0 6px rgba(77, 124, 254, 0.6));
        }
    /* Center logo */
    & .orbitmap-center {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 80px;
        height: 80px;
        background: var(--bg-white);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: var(--shadow);
        z-index: 10;
    }

    & .orbitmap-center-logo {
        width: 50px;
        height: 50px;
    }
    /* Satellite positioning */
    & .orbitmap-satellite {
        position: absolute;
        z-index: 5;
        transition: opacity 0.3s ease;
        will-change: transform;
        cursor: grab;
    }

        & .orbitmap-satellite.active {
            z-index: 50;
        }

        & .orbitmap-satellite[data-index='0'] {
            left: 50%;
            top: 12%;
        }

        & .orbitmap-satellite[data-index='1'] {
            left: 76.9%;
            top: 23.1%;
        }

        & .orbitmap-satellite[data-index='2'] {
            left: 88%;
            top: 50%;
        }

        & .orbitmap-satellite[data-index='3'] {
            left: 76.9%;
            top: 76.9%;
        }

        & .orbitmap-satellite[data-index='4'] {
            left: 50%;
            top: 88%;
        }

        & .orbitmap-satellite[data-index='5'] {
            left: 23.1%;
            top: 76.9%;
        }

        & .orbitmap-satellite[data-index='6'] {
            left: 12%;
            top: 50%;
        }

        & .orbitmap-satellite[data-index='7'] {
            left: 23.1%;
            top: 23.1%;
        }

        & .orbitmap-satellite.dimmed {
            opacity: 0.4;
            transition: opacity 0.3s ease;
        }

    & .orbitmap-center.dimmed {
        opacity: 0.4;
        transition: opacity 0.3s ease;
    }

    & .orbitmap-connector.dimmed {
        opacity: 0.3;
        transition: opacity 0.3s ease;
    }
    /* Dragging state */
    & .orbitmap-satellite.dragging {
        z-index: 100;
        cursor: grabbing;
    }

        & .orbitmap-satellite.dragging .orbitmap-satellite-node {
            transform: scale(1.06);
        }
    /* Connector reactive glow on drag */
    & .orbitmap-connector.dragging {
        opacity: 0.4;
        stroke-width: 3;
    }
    /* Satellite node button */
    & .orbitmap-satellite-node {
        all: unset;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        gap: var(--spacing-s);
        padding: var(--spacing-m) var(--spacing-l);
        background: var(--bg-white);
        border-radius: var(--radius-s);
        box-shadow: var(--shadow);
        cursor: pointer;
        transition: transform 0.16s ease, background 0.25s ease, color 0.25s ease;
        white-space: nowrap;
        position: relative;
        min-width: 220px;
        justify-content: center;
    }

        & .orbitmap-satellite-node:hover {
            transform: scale(1.02) translateY(-2px);
        }

    & .orbitmap-satellite.active .orbitmap-satellite-node {
        background: var(--primary-color);
        color: var(--bg-white);
    }

    & .orbitmap-satellite-title {
        font-size: var(--text-m);
        font-weight: 600;
        color: var(--text-dark);
        transition: color 0.25s ease;
    }

    & .orbitmap-satellite.active .orbitmap-satellite-title {
        color: var(--bg-white);
    }

    & .orbitmap-satellite-icon {
        width: var(--icon-s);
        height: var(--icon-s);
        transition: transform 0.3s ease;
    }

    & .orbitmap-satellite.active .orbitmap-satellite-icon {
        transform: rotate(135deg);
        filter: invert(1);
    }
    /* Satellite expanded panel */
    & .orbitmap-satellite-panel {
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%) scale(0.95) translateY(-8px);
        width: clamp(340px, 30vw, 420px);
        opacity: 0;
        pointer-events: none;
        background: var(--bg-white);
        border-radius: var(--radius-s);
        box-shadow: var(--shadow);
        margin-top: var(--spacing-s);
        z-index: 20;
    }

    & .orbitmap-satellite.active .orbitmap-satellite-panel {
        pointer-events: auto;
    }

    & .orbitmap-satellite-panel-inner {
        padding: var(--spacing-l);
    }
    /* Panel positioning adjustments based on satellite position */
    & .orbitmap-satellite[data-index='4'] .orbitmap-satellite-panel,
    & .orbitmap-satellite[data-index='3'] .orbitmap-satellite-panel,
    & .orbitmap-satellite[data-index='5'] .orbitmap-satellite-panel {
        top: auto;
        bottom: 100%;
        margin-top: 0;
        margin-bottom: var(--spacing-s);
        transform: translateX(-50%) scale(0.95) translateY(8px);
    }

    & .orbitmap-satellite[data-index='5'] .orbitmap-satellite-panel,
    & .orbitmap-satellite[data-index='6'] .orbitmap-satellite-panel,
    & .orbitmap-satellite[data-index='7'] .orbitmap-satellite-panel {
        left: 0;
        transform: translateX(0) scale(0.95) translateY(-8px);
    }

    & .orbitmap-satellite[data-index='5'] .orbitmap-satellite-panel {
        transform: translateX(0) scale(0.95) translateY(8px);
    }

    & .orbitmap-satellite[data-index='1'] .orbitmap-satellite-panel,
    & .orbitmap-satellite[data-index='2'] .orbitmap-satellite-panel,
    & .orbitmap-satellite[data-index='3'] .orbitmap-satellite-panel {
        left: auto;
        right: 0;
        transform: translateX(0) scale(0.95) translateY(-8px);
    }

    & .orbitmap-satellite[data-index='3'] .orbitmap-satellite-panel {
        transform: translateX(0) scale(0.95) translateY(8px);
    }
    /* =====================================================
     Pricing Section
     ===================================================== */
    & .pricing-section {
        background: var(--bg-white);
    }

    & .pricing-icon {
        width: var(--icon-l);
        height: auto;
    }

    & .pricing-title {
        max-width: 800px;
    }
        /* SplitText line wrappers for pricing-title */
        & .pricing-title .line-wrapper {
            overflow: hidden;
            display: block;
        }

        & .pricing-title .line {
            display: block;
        }
    /* Pricing Cards Container */
    & .pricing-cards {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-l);
        width: 100%;
        max-width: 1000px;
    }
    /* Pricing Card */
    & .pricing-card {
        flex: 1;
        width: clamp(300px, calc(100vw - var(--spacing-l) * 2), 500px);
        background: var(--bg-white);
        border-radius: var(--radius-s);
        padding: var(--spacing-l);
        box-shadow: var(--shadow);
        display: flex;
        flex-direction: column;
        gap: var(--spacing-xl);
    }

    & .pricing-card-header {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    & .pricing-plan-name {
        font-size: var(--text-m);
        font-weight: 700;
        color: var(--text-light);
    }

    & .pricing-price {
        display: flex;
        align-items: baseline;
        gap: var(--spacing-xs);
    }

    & .pricing-amount {
        font-size: var(--text-xxl);
        font-weight: 700;
    }

    & .pricing-currency {
        font-size: var(--text-s);
    }

    & .pricing-features {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: var(--spacing-m);
        flex: 1;
    }

        & .pricing-features li {
            display: flex;
            align-items: center;
            gap: var(--spacing-s);
            font-size: var(--text-s);
            color: var(--text-dark);
        }

            & .pricing-features li img {
                width: var(--icon-s);
                height: var(--icon-s);
                flex-shrink: 0;
            }

    & .pricing-cta {
        justify-content: center;
        margin-top: auto;
    }
    /* =====================================================
     FAQ Section
     ===================================================== */
    & .faq-section {
        background: var(--bg-white);
    }

    & .faq-icon {
        width: var(--icon-l);
        height: auto;
    }

    & .faq-title {
        max-width: 800px;
    }
        /* SplitText line wrappers for faq-title */
        & .faq-title .line-wrapper {
            overflow: hidden;
            display: block;
        }

        & .faq-title .line {
            display: block;
        }
    /* FAQ Dropdowns */
    & .faq-dropdowns {
        width: 100%;
        max-width: 800px;
        display: flex;
        flex-direction: column;
        gap: var(--spacing-m);
    }

    & .faq-dropdown {
        background: var(--bg-light);
        border-radius: var(--radius-s);
        overflow: hidden;
    }

    & .faq-dropdown-header {
        all: unset;
        box-sizing: border-box;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: var(--spacing-l);
        cursor: pointer;
        transition: background var(--transition-fast);
    }

        & .faq-dropdown-header:hover {
            background: var(--bg-dark);
        }

    & .faq-dropdown-title {
        font-size: var(--text-s);
        font-weight: 600;
        color: var(--text-dark);
    }

    & .faq-dropdown-icon {
        width: var(--icon-s);
        height: var(--icon-s);
        transition: transform var(--transition-normal);
    }

    & .faq-dropdown.open .faq-dropdown-icon {
        transform: rotate(135deg);
    }

    & .faq-dropdown-content {
        height: 0;
        overflow: hidden;
    }

    & .faq-dropdown-content-inner {
        padding: var(--spacing-l);
        display: flex;
        flex-direction: column;
        gap: var(--spacing-m);
    }

    & .faq-cta {
        display: flex;
        justify-content: center;
        margin-top: var(--spacing-xl);
    }
    /* =====================================================
     Socials Section
     ===================================================== */
    & .socials-section {
        background: var(--bg-white);
    }

    & .socials-container {
        max-width: 800px;
    }

    & .socials-icon {
        width: var(--icon-l);
        height: auto;
    }

    & .socials-subtitle {
        text-align: center;
    }

    & .socials-video {
        width: 100%;
        max-width: 800px;
        margin: var(--spacing-l) 0;
    }

    & .socials-title .line-wrapper {
        overflow: hidden;
        display: block;
    }

    & .socials-title .line {
        display: block;
    }

    & .socials-buttons {
        display: flex;
        gap: var(--spacing-m);
        justify-content: center;
        max-width: 500px;
        width: 100%;
    }

    & .socials-link {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: var(--spacing-s);
        padding: var(--spacing-m);
        background: var(--bg-white);
        border: 1px solid transparent;
        border-radius: var(--radius);
        text-decoration: none;
        color: var(--text-dark);
        font-weight: 600;
        transition: all var(--transition-normal);
        flex: 1;
    }

        & .socials-link:hover {
            transform: scale(1.05);
            border: 1px solid var(--border-color);
            background: var(--bg-light);
        }

        & .socials-link img {
            width: var(--icon-s);
            height: var(--icon-s);
        }
    /* =====================================================
     CTA Section
     ===================================================== */
    & .cta-section {
        background: var(--bg-white);
        padding-bottom: calc(var(--spacing-xxl) * 2);
    }

    & .cta-container {
        max-width: 800px;
        margin: 0 auto;
        text-align: center;
        position: relative;
        z-index: 2;
    }

    & .cta-icon {
        width: var(--icon-l);
        height: auto;
    }
    /* =====================================================
     Mistakes Section
     ===================================================== */
    & .mistakes-section {
        background: var(--bg-white);
        padding-top: var(--spacing-xxl);
        padding-bottom: var(--spacing-xxl);
    }

    & .mistakes-container {
        max-width: 1400px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: var(--spacing-xl);
        align-items: center;
        width: 100%;
    }

    & .mistakes-video {
        width: 110vw;
        max-width: 1400px;
        aspect-ratio: 16 / 9;
        min-height: 200px;
        background: var(--bg-light);
        border-radius: var(--radius);
        overflow: hidden;
    }

        & .mistakes-video video {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            border-radius: var(--radius);
        }
    /* SplitText line wrappers for mistakes-title */
    & .mistakes-title .line-wrapper {
        overflow: hidden;
        display: block;
    }

    & .mistakes-title .line {
        display: block;
    }
    /* =====================================================
     Responsive Design
     ===================================================== */
    @media (min-width: 1024px) {
        & .mobile-only {
            display: none;
        }

        & .orbitmap-section {
            display: flex;
        }
    }

    @media (max-width: 1023px) {
        & .desktop-only {
            display: none;
        }
    }

    @media (min-width: 768px) {
        & .pricing-cards {
            flex-direction: row;
            justify-content: center;
        }
    }

    @media (max-width: 768px) {
        & .pricing-cards {
            align-items: center;
        }

        & .mistakes-video video {
            border-radius: var(--radius-s);
        }
    }
}
