        /* Custom Colors from Palette */
        :root {
            --bg-soft-white: #F8F9F6;
            --text-charcoal: #2C2C2C;
            --text-cool-gray: #6B6B6B;
            --accent-teal: #4d6c6b;
            --accent-sand: #96782d;
        }

        /* Applying Custom Typography */
        body {
            font-family:Georgia, 'Times New Roman', Times, serif;
            background-color: var(--bg-soft-white);
            color: var(--text-charcoal);
        }
        h1, h2, h3, h4 {
            font-family: 'Poppins', sans-serif;
            color: var(--text-charcoal);
        }

        /* Custom Tailwind Configuration */
        .bg-soft-white { background-color: var(--bg-soft-white); }
        .text-charcoal { color: var(--text-charcoal); }
        .text-cool-gray { color: var(--text-cool-gray); }
        .bg-accent-teal { background-color: var(--accent-teal); }
        .text-accent-teal { color: var(--accent-teal); }
        .hover\:bg-accent-teal-dark:hover { background-color: #3e6361; }
        .bg-accent-sand { background-color: var(--accent-sand); }
        .border-accent-teal { border-color: var(--accent-teal); }

        /* Animation Classes for Smoothness */
        .fade-in {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }
        .visible {
            opacity: 1;
            transform: translateY(0);
        }
        @keyframes scaleIn {
                from { opacity: 0; transform: scale(0.96); }
                to { opacity: 1; transform: scale(1); }
            }
            .animate-scaleIn {
                animation: scaleIn 0.25s ease-out;
            }

            .type-cursor::after {
    content: "|";
    margin-left: 4px;
    animation: blink 1s infinite;
}

@keyframes blink {
    0%, 50%, 100% { opacity: 1; }
    25%, 75% { opacity: 0; }
}
.marquee-wrapper {
    overflow: hidden;
    border-top: 1px solid rgba(0,0,0,0.08);
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.marquee-track {
    display: flex;
    width: max-content;
    animation: marquee-scroll 20s linear infinite;
}

.marquee-track span {
    font-size: clamp(3rem, 7vw, 6rem);
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
    padding-right: 4rem;
    color: #1f2933; /* charcoal */
}

@keyframes marquee-scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

    .marquee-wrapper {
    overflow: hidden;
    border-top: 1px solid rgba(0,0,0,0.08);
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.marquee-track {
    display: flex;
    width: max-content;
    animation: marquee-rtl 22s linear infinite;
}

.marquee-track span {
    font-size: clamp(3rem, 7vw, 6rem);
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
    padding-right: 4rem;
    color: #1f2933;
}

/* RIGHT → LEFT (default) */
@keyframes marquee-rtl {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

/* LEFT → RIGHT */
.marquee-ltr {
    animation: marquee-ltr 22s linear infinite;
}

@keyframes marquee-ltr {
    from { transform: translateX(-50%); }
    to   { transform: translateX(0); }
}
@keyframes float {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
.node { animation: float 5s ease-in-out infinite; }
.node:nth-child(1){ animation-delay:0s }
.node:nth-child(2){ animation-delay:1.5s }
.node:nth-child(3){ animation-delay:3s }
