:root {
            --bg-main: #050b14;
            --bg-card: #0B0F19;
            --bg-popular: #0D1326;
            --accent: #5e5ed3;
            --accent-hover: #5151c4;
            --text-main: #F8FAFC;
            --text-muted: #94A3B8;
            --border: #5e5ed3;
        }
        
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--bg-main);
            color: var(--text-main);
            line-height: 1.6;
            padding: 2rem;
            min-height: 100vh;
        }

        .container {
            max-width: 1440px;
            margin: 0 auto;
        }

        header {
            text-align: left;
            padding-bottom: 1.5rem;
            border-bottom: 1px solid var(--border);
            margin-bottom: 3rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .logo-icon img {
                display: block;
            width: 60px;
            height: 60px;
        }

        .logo-text {
            font-family: 'Playfair Display', serif;
            font-size: 1.5rem;
            font-weight: 600;
            letter-spacing: 2px;
            text-transform: uppercase;
        }
        
        .logo-sub {
            font-size: 0.8rem;
            color: var(--text-muted);
            letter-spacing: 2px;
            text-transform: uppercase;
            font-family: 'Inter', sans-serif;
            margin-top: 5px;
            display: block;
        }

        .hero {
            text-align: center;
            margin-bottom: 2rem;
        }

        .hero h1 {
            font-family: 'Playfair Display', serif;
            font-size: 3.5rem;
            margin-bottom: rem;
            color: var(--text-main);
        }

        .hero h1 span {
            color: var(--accent);
            font-style: italic;
        }

        .hero p {
            color: var(--text-muted);
            font-size: 1.5rem;
        }

        .pricing-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr); /* STRICTLY 3 columns on desktop */
            gap: 2rem;
            align-items: stretch;
        }

        .card {
            background-color: var(--bg-card);
            border: 1px solid var(--border);
            border-radius: 12px;
            padding: 2.5rem 1.5rem; /* slightly reduced padding so long prices fit comfortably */
            position: relative;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex;
            flex-direction: column;
        }

        .card:hover {
            transform: translateY(-8px);
            box-shadow: 0 15px 35px rgba(79, 70, 229, 0.15);
        }

        .card.popular {
            background-color: var(--bg-popular);
            border-color: var(--accent);
            box-shadow: 0 0 20px rgba(79, 70, 229, 0.1);
        }

        .badge {
            position: absolute;
            top: -12px;
            left: 50%;
            transform: translateX(-50%);
            background-color: var(--accent);
            color: white;
            padding: 5px 16px;
            border-radius: 20px;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            box-shadow: 0 4px 10px rgba(79, 70, 229, 0.4);
        }

        .card-title {
            text-align: center;
            color: var(--accent-hover);
            font-size: 1.8rem;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            font-weight: 600;
            margin-bottom: -1px;
            
        }

        .card-discription {
            text-align: center;
            color: rgb(209, 209, 209);
            font-size: 0.95rem;
            margin-bottom: .2rem;
            padding-bottom: 0rem;
        }

        .line {
            width: 50px;
            height: 3px;
            background-color: var(--accent);
            margin: 0.75rem auto .4rem auto;
        }

        .card.popular .card-title {
            color: var(--accent);
        }

        .price {
            text-align: center;
            font-weight: 700;
            font-family: 'Times New Roman', Times, serif;
            font-size: 2.8rem; /* Scaled to ensure single line */
            margin-bottom: 1rem;
            color: white;
            white-space: nowrap; /* ENFORCES ONE SINGLE LINE */;
        }

        .purpose {
            text-align:center;
            color: var(--text-muted);
            font-size: 0.95rem;
            margin-bottom: 1.5rem;
            padding-bottom: 1.5rem;
            border-bottom: 1px solid var(--text-muted);
            border-bottom-style:dashed;
            min-height: 70px;
        }

        .purpose span {
            font-size: 16px;
            font-weight: 600;
            color: white;
        }

        .features {
            list-style: none;
            margin-bottom: 2rem;
            flex-grow: 1;
        }

        .features-title {
            text-align: center;
            font-size: .9rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 1rem;
            font-weight: 600;
            color: white;
        }

        .features > li {
            position: relative;
            padding-left: 1.75rem;
            margin-bottom: 1rem;
            font-size: 0.95rem;
            color: #CBD5E1;
        }

        .features > li::before {
            content: '✓';
            position: absolute;
            left: 0;
            color: var(--accent);
            font-weight: bold;
            font-size: 1.1rem;
        }

        .features .sub-list {
            list-style: none;
            margin-top: 0.75rem;
            margin-bottom: 1.5rem;
        }
        
        .features .sub-list li {
            padding-left: 1.25rem;
            color: var(--text-muted);
            font-size: 0.9rem;
            margin-bottom: 0.5rem;
            position: relative;
        }
        
        .features .sub-list li::before {
            content: '-';
            position: absolute;
            left: 0;
            color: var(--text-muted);
        }

        .deliverable-note {
            font-weight: 600;
            margin-bottom: 0.75rem;
            color: white;
            font-size: 0.95rem;
        }

        .btn {
            display: block;
            width: 100%;
            text-align: center;
            padding: 1rem;
            border-radius: 6px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            cursor: pointer;
            border: none;
            transition: all 0.3s ease;
            font-family: 'Inter', sans-serif;
            font-size: 0.9rem;
        }

        .btn-outline {
            background: transparent;
            border: 1px solid var(--accent);
            color: var(--accent);
        }

        .btn-outline:hover {
            background: rgba(79, 70, 229, 0.1);
            color: white;
            border-color: var(--accent-hover);
        }

        .btn-primary {
            background: var(--accent);
            color: white;
        }

        .btn-primary:hover {
            background: var(--accent-hover);
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(79, 70, 229, 0.3);
        }

        .addon {
            margin-top: 1.9rem;
            text-align-last: center;
        }

        .addon .card-content {
            color: #5e5ed3;
            margin-bottom: 0.5rem;
        }

        .Terms-and-Conditions {
            text-align: center;
            margin-top: 2rem;
            font-size: 0.8rem;
            color: var(--text-muted);
        }

        @media (max-width: 1024px) {
            .pricing-grid {
                grid-template-columns: 1fr; /* Stack into 1 column on mobile/tablets */
                max-width: 500px;
                margin: 0 auto;
            }
            .purpose {
                min-height: auto;
            }
            .price {
                font-size: 2.2rem; /* Keep scale appropriate for stacked mobile */
                white-space: nowrap; /* Ensures single line still */
            }
        }
