    html,
    body {
        background: #060b18 !important;
    }




    *,
    *::before,
    *::after {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
    }

    html {
        scroll-behavior: smooth;
        background-color: #060b18;
    }

    body {
        font-family: 'Inter', sans-serif;
        background-color: #060b18;
        color: #e8eef8;
        min-height: 100vh;
        overflow-x: hidden;
    }

    /* ── NAV ── */
    nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 100;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 48px;
        height: 64px;
        background: rgba(6, 11, 24, 0.95);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border-bottom: 1px solid #1a2540;
    }

    .nav-logo {
        display: flex;
        align-items: center;
        gap: 10px;
        text-decoration: none;
        color: #e8eef8;
        font-size: 15px;
        font-weight: 600;
        letter-spacing: 0.02em;
    }

    .nav-logo img {
        width: 28px;
        height: 28px;
        border-radius: 6px;
    }

    .nav-logo .product-name {
        color: #f5c842;
    }

    .nav-links {
        display: flex;
        align-items: center;
        gap: 32px;
        list-style: none;
    }

    .nav-links a {
        color: #8492b0;
        text-decoration: none;
        font-size: 14px;
        transition: color 0.2s;
    }

    .nav-links a:hover {
        color: #e8eef8;
    }

    .nav-cta {
        background: #f5c842;
        color: #0a0a0a !important;
        font-weight: 600 !important;
        padding: 8px 20px;
        border-radius: 8px;
        transition: background 0.2s, transform 0.15s !important;
    }

    .nav-cta:hover {
        background: #ffd84d !important;
        transform: translateY(-1px);
    }

    /* ── HERO ── */
    .hero {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 100px 24px 60px;
        position: relative;
        overflow: hidden;
        background-color: #060b18;
    }

    /* starfield */
    .hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background-image:
            radial-gradient(1px 1px at 15% 20%, rgba(255, 255, 255, 0.18) 0%, transparent 100%),
            radial-gradient(1px 1px at 72% 15%, rgba(255, 255, 255, 0.12) 0%, transparent 100%),
            radial-gradient(1px 1px at 40% 70%, rgba(255, 255, 255, 0.10) 0%, transparent 100%),
            radial-gradient(1px 1px at 85% 60%, rgba(255, 255, 255, 0.15) 0%, transparent 100%),
            radial-gradient(1px 1px at 25% 85%, rgba(255, 255, 255, 0.08) 0%, transparent 100%),
            radial-gradient(1.5px 1.5px at 60% 40%, rgba(255, 255, 255, 0.12) 0%, transparent 100%),
            radial-gradient(1px 1px at 92% 30%, rgba(255, 255, 255, 0.10) 0%, transparent 100%),
            radial-gradient(2px 2px at 5% 50%, rgba(245, 200, 66, 0.08) 0%, transparent 100%);
        pointer-events: none;
    }

    /* ── BOOK WRAPPER ── */
    .book-scene {
        position: relative;
        width: 260px;
        height: 200px;
        margin-bottom: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .book-wrapper {
        position: relative;
        width: 220px;
        height: 160px;
        animation: book-float 3.8s ease-in-out infinite;
        filter:
            drop-shadow(0 0 18px rgba(245, 200, 66, 0.55)) drop-shadow(0 0 40px rgba(245, 200, 66, 0.28)) drop-shadow(0 12px 28px rgba(0, 0, 0, 0.55));
        z-index: 2;
    }

    @keyframes book-float {

        0%,
        100% {
            transform: translateY(0px) rotate(-0.8deg);
        }

        50% {
            transform: translateY(-16px) rotate(0.8deg);
        }
    }

    .book-svg {
        width: 100%;
        height: 100%;
    }

    /* canvas for book fireflies sits inside book-scene */
    #bookCanvas {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 3;
    }

    /* ── QUOTE BLOCK ── */
    .quote-block {
        text-align: center;
        max-width: 720px;
        position: relative;
        z-index: 2;
    }

    /* canvas layer behind quote text */
    #quoteCanvas {
        position: absolute;
        top: -60px;
        left: 50%;
        transform: translateX(-50%);
        width: 600px;
        max-width: 100vw;
        height: 200px;
        pointer-events: none;
        z-index: 1;
    }

    .quote-pre {
        font-family: 'Playfair Display', serif;
        font-size: clamp(26px, 4.5vw, 48px);
        font-weight: 400;
        line-height: 1.25;
        color: #e8eef8;
        letter-spacing: -0.01em;
        display: block;
        margin-bottom: 4px;
        position: relative;
        z-index: 2;
    }

    .quote-pre em {
        font-style: italic;
        color: rgba(232, 238, 248, 0.65);
    }

    .quote-glow-line {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        font-family: 'Playfair Display', serif;
        font-size: clamp(26px, 4.5vw, 48px);
        font-weight: 700;
        line-height: 1.25;
        margin-top: 2px;
        position: relative;
        z-index: 2;
    }

    .quote-static {
        color: #e8eef8;
    }

    /* Slot machine word */
    .cycling-word-wrap {
        display: inline-block;
        overflow: hidden;
        height: 1.25em;
        vertical-align: bottom;
        position: relative;
    }

    .cycling-word {
        display: block;
        color: #f5c842;
        text-shadow:
            0 0 6px #f5c842,
            0 0 18px rgba(245, 200, 66, 0.7),
            0 0 36px rgba(245, 200, 66, 0.4),
            0 0 60px rgba(245, 200, 66, 0.15);
        animation: slot-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        transform: translateY(100%);
        white-space: nowrap;
    }

    .cycling-word.exiting {
        animation: slot-out 0.25s cubic-bezier(0.55, 0, 0.7, 0.5) forwards;
        transform: translateY(0%);
    }

    @keyframes slot-in {
        from {
            transform: translateY(100%);
            opacity: 0;
        }

        to {
            transform: translateY(0%);
            opacity: 1;
        }
    }

    @keyframes slot-out {
        from {
            transform: translateY(0%);
            opacity: 1;
        }

        to {
            transform: translateY(-110%);
            opacity: 0;
        }
    }

    /* ── TAGLINE ── */
    .tagline {
        margin-top: 32px;
        font-size: clamp(14px, 2vw, 17px);
        font-weight: 400;
        color: #8492b0;
        letter-spacing: 0.02em;
        line-height: 1.65;
        max-width: 460px;
        text-align: center;
        position: relative;
        z-index: 2;
    }

    .tagline strong {
        color: #e8eef8;
        font-weight: 600;
    }

    /* ── CTA BUTTONS ── */
    .hero-ctas {
        margin-top: 36px;
        display: flex;
        gap: 14px;
        align-items: center;
        position: relative;
        z-index: 2;
    }

    .btn-primary-wrap {
        position: relative;
        display: inline-block;
    }

    /* firefly burst canvas, absolutely positioned over the button */
    .btn-primary-wrap canvas {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 280px;
        height: 120px;
        pointer-events: none;
        z-index: 10;
    }

    .btn-primary {
        position: relative;
        background: #f5c842;
        color: #0a0a0a;
        font-family: 'Inter', sans-serif;
        font-weight: 600;
        font-size: 15px;
        padding: 13px 28px;
        border-radius: 10px;
        border: none;
        cursor: pointer;
        text-decoration: none;
        display: inline-block;
        transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
        box-shadow: 0 4px 20px rgba(245, 200, 66, 0.30);
        z-index: 2;
    }

    .btn-primary:hover {
        background: #ffd84d;
        transform: translateY(-2px);
        box-shadow: 0 0 12px rgba(245, 200, 66, 0.7), 0 0 28px rgba(245, 200, 66, 0.4), 0 8px 28px rgba(245, 200, 66, 0.35);
    }

    .btn-ghost {
        background: transparent;
        color: #8492b0;
        font-family: 'Inter', sans-serif;
        font-weight: 500;
        font-size: 15px;
        padding: 13px 24px;
        border-radius: 10px;
        border: 1px solid #1a2540;
        cursor: pointer;
        text-decoration: none;
        transition: color 0.2s, border-color 0.2s;
    }

    .btn-ghost:hover {
        color: #e8eef8;
        border-color: #8492b0;
    }

    /* ── DIVIDER ── */
    .divider {
        width: 100%;
        max-width: 960px;
        margin: 0 auto;
        border: none;
        border-top: 1px solid #1a2540;
    }

    /* ── FEATURES ── */
    .features {
        padding: 80px 48px;
        max-width: 1080px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
        background-color: #060b18;
    }

    .feature-card {
        padding: 28px 24px;
        border: 1px solid #1a2540;
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.02);
        transition: border-color 0.2s, background 0.2s;
    }

    .feature-card:hover {
        border-color: rgba(245, 200, 66, 0.25);
        background: rgba(245, 200, 66, 0.03);
    }

    .feature-icon {
        font-size: 26px;
        margin-bottom: 16px;
        display: block;
    }

    .feature-title {
        font-size: 16px;
        font-weight: 600;
        color: #e8eef8;
        margin-bottom: 8px;
    }

    .feature-desc {
        font-size: 14px;
        color: #8492b0;
        line-height: 1.65;
    }

    /* ── FOOTER ── */
    footer {
        background: #030508;
        border-top: 1px solid #1a2540;
        padding: 48px;
    }

    .footer-inner {
        max-width: 1080px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 24px;
    }

    .footer-logo {
        display: flex;
        align-items: center;
        gap: 10px;
        text-decoration: none;
        color: #e8eef8;
        font-size: 14px;
        font-weight: 500;
    }

    .footer-logo img {
        width: 24px;
        height: 24px;
        border-radius: 5px;
    }

    .footer-links {
        display: flex;
        gap: 28px;
        list-style: none;
    }

    .footer-links a {
        color: #8492b0;
        text-decoration: none;
        font-size: 13px;
        transition: color 0.2s;
    }

    .footer-links a:hover {
        color: #e8eef8;
    }

    .footer-copy {
        color: #8492b0;
        font-size: 13px;
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 768px) {
        nav {
            padding: 0 20px;
        }

        .nav-links {
            display: none;
        }

        .features {
            grid-template-columns: 1fr;
            padding: 60px 24px;
        }

        footer {
            padding: 36px 24px;
        }

        .footer-inner {
            flex-direction: column;
            align-items: flex-start;
        }

        .hero-ctas {
            flex-direction: column;
            width: 100%;
        }

        .btn-primary,
        .btn-ghost {
            text-align: center;
            width: 100%;
        }

        #quoteCanvas {
            width: 100vw;
        }
    }

    @media (prefers-reduced-motion: reduce) {

        .book-wrapper,
        .cycling-word,
        .cycling-word.exiting {
            animation: none;
        }
    }