
        /* Custom Styles & Fluid Typography */
        :root {
            --bg-cream: #FFF9F3;
            --color-burgundy: #783E50;
        }

        body {
            background-color: var(--bg-cream);
            color: #30262A;
            font-family: 'Manrope', sans-serif;
            overflow-x: hidden;
        }

        h1, h2, h3, .font-cormorant {
            font-family: 'Cormorant Garamond', serif;
        }

        .hero-title {
            font-size: clamp(2.6rem, 5vw + 1rem, 5.5rem);
            line-height: 1.05;
        }

        .section-title {
            font-size: clamp(2.1rem, 3.5vw + 1rem, 3.8rem);
            line-height: 1.15;
        }

        /* Subtle Petal Pattern Background Overlay */
        .bg-petal-pattern {
            background-image: radial-gradient(#783E50 0.5px, transparent 0.5px), radial-gradient(#B89459 0.5px, #FFF9F3 0.5px);
            background-size: 40px 40px;
            background-position: 0 0, 20px 20px;
            
        }

        /* Glassmorphism Header */
        .header-glass {
            background: rgba(255, 249, 243, 0.85);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        /* Animations */
        @keyframes floatSlow {
            0%, 100% { transform: translateY(0px) rotate(0deg); }
            50% { transform: translateY(-12px) rotate(2deg); }
        }

        .animate-float {
            animation: floatSlow 6s ease-in-out infinite;
        }

        /* Flying Rose Animation Element */
        .flying-rose {
            position: fixed;
            z-index: 9999;
            pointer-events: none;
            transition: all 0.9s cubic-bezier(0.18, 0.89, 0.32, 1.28);
            font-size: 28px;
            filter: drop-shadow(0 4px 10px rgba(120, 62, 80, 0.4));
        }

        /* Accordion transition */
        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.35s ease-out, padding 0.35s ease;
        }
        .accordion-item.active .accordion-content {
            max-height: 300px;
        }
        .accordion-item.active .accordion-icon {
            transform: rotate(180deg);
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #FFF9F3;
        }
        ::-webkit-scrollbar-thumb {
            background: #D8B7A6;
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: #783E50;
        }

        /* Reduced Motion */
        @media (prefers-reduced-motion: reduce) {
            *, ::before, ::after {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
                scroll-behavior: auto !important;
            }
        }
    