:root {
            --primary-bg: #050a30;
            --primary: #2563eb;
            --primary-dark: #1e40af;
            --accent-green: #22c55e;
            --accent-green-dark: #16a34a;
            --text-white: #ffffff;
            --card-bg: #ffffff;
            --nav-bg: rgba(5, 10, 48, 0.9);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: #f4f7f6;
            color: #333;
            line-height: 1.6;
        }

        /* --- Header & Nav --- */
        header {
            background: var(--nav-bg);
            padding: 20px 10%;
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
            display: flex;
            justify-content: space-between;
            align-items: center;
            backdrop-filter: blur(10px);
        }

        .logo {
            color: var(--text-white);
            font-size: 1.5rem;
            font-weight: 800;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 10px;
        }
        .logo img {
            width: 38px;
            height: 38px;
            object-fit: contain;
            background: #ffffff;
            border-radius: 9px;
            padding: 4px;
        }

        nav ul {
            list-style: none;
            display: flex;
            gap: 20px;
        }

        nav ul li a {
            color: var(--text-white);
            text-decoration: none;
            font-size: 0.9rem;
            transition: color 0.3s;
        }

        nav ul li a:hover {
            color: var(--primary);
        }

        .auth-buttons {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .auth-buttons .btn-login {
            color: white;
            text-decoration: none;
            padding: 8px 12px;
            border-radius: 8px;
            font-weight: 700;
        }

        /* .btn-recovery {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 38px;
            height: 38px;
            margin-left: 6px;
            color: #dbeafe;
            text-decoration: none;
            border: 1px solid rgba(191, 219, 254, 0.38);
            background: rgba(255, 255, 255, 0.08);
            padding: 0;
            border-radius: 50%;
            font-weight: 700;
            font-size: 0.95rem;
            transition: background .2s, border-color .2s, color .2s, transform .2s;
        } */

        .btn-recovery:hover {
            color: #fff;
            background: rgba(37, 99, 235, 0.25);
            border-color: rgba(191, 219, 254, 0.7);
            transform: translateY(-1px);
        }

        .btn-signup {
            background: var(--accent-green);
            color: white;
            padding: 8px 20px;
            border-radius: 5px;
            text-decoration: none;
            font-weight: bold;
        }

        /* --- Hero Section --- */
        #home {
            background: radial-gradient(circle at top right, #1a2a6c, #050a30);
            min-height: 90vh;
            padding: 120px 10% 60px;
            display: flex;
            align-items: center;
            color: white;
            position: relative;
            overflow: hidden;
        }

        .hero-content {
            flex: 1;
        }

        .hero-badge {
            background: rgba(37,99,235,0.2);
            padding: 5px 15px;
            border-radius: 20px;
            font-size: 0.8rem;
            border: 1px solid var(--primary);
            display: inline-block;
            margin-bottom: 20px;
        }

        .hero-content h1 {
            font-size: 4rem;
            margin-bottom: 20px;
            line-height: 1.1;
        }

        .hero-content h1 span {
            color: var(--primary);
        }

        .hero-content p {
            font-size: 1.1rem;
            margin-bottom: 30px;
            opacity: 0.9;
            max-width: 500px;
        }

        .hero-btns {
            display: grid;
            grid-template-columns: repeat(2, max-content);
            gap: 15px;
            width: fit-content;
        }

        .btn-primary {
            background: var(--accent-green);
            padding: 15px 30px;
            border-radius: 8px;
            color: white;
            text-decoration: none;
            font-weight: bold;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .btn-secondary {
            border: 1px solid white;
            padding: 15px 30px;
            border-radius: 8px;
            color: white;
            text-decoration: none;
            font-weight: bold;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .hero-recovery-btn {
            grid-column: 1 / -1;
            justify-self: center;
            margin: 0 auto;
        }

        .hero-image {
            flex: 1;
            display: flex;
            justify-content: center;
            position: relative;
        }

        /* Mockup Placeholder */
        .laptop-mockup {
            width: 100%;
            max-width: 500px;
            filter: drop-shadow(0 20px 50px rgba(0,0,0,0.5));
        }

        /* --- Wave Divider --- */
        .wave-container {
            position: relative;
            background: var(--primary-bg);
            height: 100px;
        }

        .wave {
            position: absolute;
            bottom: 0;
            width: 100%;
            height: 100px;
            background: white;
            clip-path: ellipse(70% 100% at 50% 100%);
        }

        /* --- Features Section --- */
        #features {
            padding: 80px 10%;
            margin-top: -50px;
            position: relative;
            z-index: 10;
        }

        .features-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 25px;
        }

        .feature-card {
            background: var(--card-bg);
            padding: 40px 30px;
            border-radius: 15px;
            text-align: center;
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
            transition: transform 0.3s;
        }

        .feature-card:hover {
            transform: translateY(-10px);
        }

        .feature-card i {
            font-size: 2.5rem;
            margin-bottom: 20px;
        }

        .feature-card.blue i { color: #2563eb; }
        .feature-card.green i { color: #22c55e; }
        .feature-card.purple i { color: #8b5cf6; }
        .feature-card.orange i { color: #f59e0b; }

        .feature-card h3 {
            margin-bottom: 15px;
            font-size: 1.2rem;
        }

        .feature-card p {
            font-size: 0.9rem;
            color: #666;
        }

        /* --- Sections Placeholder --- */
        section.content-area {
            padding: 100px 10%;
            text-align: center;
        }

        footer {
            background: #050a30;
            color: white;
            padding: 40px;
            text-align: center;
        }

        body.recovery-open > *:not(.recovery-modal) {
            filter: blur(5px);
        }

        body.recovery-open {
            overflow: hidden;
        }

        .recovery-modal {
            position: fixed;
            inset: 0;
            z-index: 2000;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 24px;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity .24s ease, visibility .24s ease;
        }

        .recovery-modal.open {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }

        .recovery-backdrop {
            position: absolute;
            inset: 0;
            background: rgba(5, 10, 48, 0.68);
            opacity: 0;
            transition: opacity .24s ease;
        }

        .recovery-modal.open .recovery-backdrop {
            opacity: 1;
        }

        .recovery-dialog {
            position: relative;
            width: min(100%, 460px);
            background: linear-gradient(180deg, #0b123f 0%, #050a30 100%);
            border: 1px solid rgba(191, 219, 254, 0.22);
            border-radius: 12px;
            padding: 30px;
            box-shadow: 0 28px 90px rgba(5, 10, 48, 0.58);
            transform: translateY(18px) scale(.97);
            opacity: 0;
            transition: transform .28s ease, opacity .24s ease;
        }

        .recovery-modal.open .recovery-dialog {
            transform: translateY(0) scale(1);
            opacity: 1;
        }

        .recovery-dialog::before {
            content: "";
            position: absolute;
            inset: 0 0 auto;
            height: 5px;
            border-radius: 12px 12px 0 0;
            background: linear-gradient(90deg, var(--primary), var(--accent-green));
        }

        .recovery-dialog h2 {
            color: #ffffff;
            margin-bottom: 8px;
            padding-right: 34px;
        }

        .recovery-dialog p {
            color: #bfdbfe;
            margin-bottom: 18px;
            font-size: 0.92rem;
        }

        .recovery-dialog label {
            display: block;
            color: #dbeafe;
            font-size: 0.78rem;
            font-weight: 800;
            text-transform: uppercase;
            margin: 12px 0 6px;
        }

        .recovery-dialog input,
        .recovery-dialog textarea {
            width: 100%;
            border: 1px solid rgba(191, 219, 254, 0.24);
            border-radius: 8px;
            padding: 11px 12px;
            font: inherit;
            resize: vertical;
            background: rgba(255, 255, 255, 0.08);
            color: #ffffff;
            transition: border-color .2s, box-shadow .2s;
        }

        .recovery-dialog input::placeholder,
        .recovery-dialog textarea::placeholder {
            color: rgba(219, 234, 254, 0.58);
        }

        .recovery-dialog input:focus,
        .recovery-dialog textarea:focus {
            outline: none;
            border-color: var(--primary);
            box-shadow: 0 0 0 3px rgba(37,99,235,0.14);
        }

        .recovery-dialog button[type="submit"] {
            width: 100%;
            border: 0;
            border-radius: 8px;
            background: var(--primary);
            color: #fff;
            padding: 12px;
            font-weight: 800;
            margin-top: 16px;
            cursor: pointer;
            transition: background .2s, transform .2s;
        }

        .recovery-dialog button[type="submit"]:hover {
            background: var(--primary-dark);
            transform: translateY(-1px);
        }

        .recovery-close {
            position: absolute;
            top: 12px;
            right: 12px;
            width: 32px;
            height: 32px;
            border: 0;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.1);
            color: #dbeafe;
            font-size: 22px;
            cursor: pointer;
            transition: background .2s, color .2s;
        }

        .recovery-close:hover {
            background: #2563eb;
            color: #ffffff;
        }

        @media (max-width: 768px) {
            nav, .auth-buttons { display: none; }
            .hero-content h1 { font-size: 2.5rem; }
            #home { flex-direction: column; text-align: center; }
            .hero-btns {
                grid-template-columns: 1fr;
                justify-items: center;
                width: 100%;
            }
            .hero-recovery-btn { grid-column: auto; }
            .hero-image { margin-top: 50px; }
        }
