body {
            margin: 0;
            font-family: Arial, sans-serif;
            overflow: hidden;
            background: #fff0f6; /* fallback */
        }

        #splash-screen {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            /* Vibrant, romantic gradient */
            background: linear-gradient(135deg, #ffe3ec 0%, #ffc8dd 50%, #bde0fe 100%);
            display: flex;
            justify-content: center;   /* center horizontally */
            align-items: center;       /* center vertically */
            z-index: 1000;
            transition: opacity 1s ease-in-out;
            padding: 0;                /* remove extra padding */
        }

        #splash-title {
            font-size: 5em;
            color: #b5179e;
            font-family: 'Great Vibes', cursive, 'Brush Script MT', Arial, sans-serif;
            text-shadow: 0 4px 24px #fff, 0 2px 8px #b5179e44;
            /* Start rotated and scaled up */
            transform: scale(2) rotate(-45deg); /* flip angle */
            animation: scaleDown 2s cubic-bezier(.25,.8,.25,1) forwards;
            letter-spacing: 0.05em;
        }

        @keyframes scaleDown {
            0% {
                transform: scale(2.5) rotate(-28deg);
                opacity: 0.7;
            }
            60% {
                transform: scale(1.2) rotate(-28deg);
                opacity: 1;
            }
            100% {
                transform: scale(1) rotate(-28deg);
                opacity: 1;
            }
        }

        #main-content {
            display: none;
            opacity: 0;
            background:
                url("data:image/svg+xml,%3Csvg width='240' height='240' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='30' y='60' font-size='48' fill='none' stroke='%23ff69b4' stroke-width='2' opacity='0.18'%3E%E2%9D%A4%EF%B8%8F%3C/text%3E%3Ctext x='150' y='120' font-size='36' fill='none' stroke='%23ff69b4' stroke-width='2' opacity='0.13'%3E%E2%9D%A4%EF%B8%8F%3C/text%3E%3Ctext x='80' y='200' font-size='32' fill='none' stroke='%23ff69b4' stroke-width='2' opacity='0.10'%3E%E2%9D%A4%EF%B8%8F%3C/text%3E%3C/svg%3E") repeat,
                #fffaf3;
            min-height: 100vh;
            border-radius: 24px;
            box-shadow: 0 8px 32px #b5179e22, 0 2px 8px #b5179e33, 0 1.5px 8px #fff4;
            margin: 32px auto;
            max-width: 900px;
            padding-bottom: 60px;
            border: 2px solid #ffc8dd;
        }

        #main-content h1 {
            font-family: 'Great Vibes', cursive, 'Brush Script MT', Arial, sans-serif;
            font-size: 3em;
            color: #b5179e;
            margin-bottom: 24px;
            margin-top: 24px;
            letter-spacing: 0.04em;
            text-align: center;
            /* Enhanced drop shadow for more presence */
            text-shadow:
                0 4px 24px #fff,
                0 2px 8px #b5179e44,
                0 6px 24px #b5179e33;
        }

        #main-content p {
            font-size: 1.1em;
            color: #666;
            max-width: 600px;
            margin: 0 auto 30px auto;
            line-height: 1.6;
            background: #fff8fbcc;
            border-radius: 8px;
            padding: 16px;
            box-shadow: 0 2px 8px #b5179e11, 0 1px 4px #fff4;
        }

        #google-form-container {
            width: 100%;
            max-width: 800px;
            margin: 40px auto 40px auto;
            border-radius: 24px;
            background: #fff;
            box-shadow: 0 6px 24px #b5179e33, 0 1.5px 8px #fff4, 0 1px 2px #b5179e11;
            border: 8px solid #ffc8dd;
            padding: 16px;
            position: relative;
        }

        #google-form-container iframe {
            width: 100%;
            height: 400px; /* Adjust this value as needed to fit your full form */
            min-height: 700px;
            border: none;
            display: block;
            background: transparent;
        }

        .flower-corner {
            position: absolute;
            font-size: 2.7em;
            pointer-events: none;
            z-index: 10;
        }
        .flower-tl { top: -38px; left: -38px; }
        .flower-tr { top: -38px; right: -38px; }
        .flower-bl { bottom: -38px; left: -38px; }
        .flower-br { bottom: -38px; right: -38px; }

        /* Decorative divider */
        .divider {
            width: 180px;
            height: 32px;
            margin: 32px auto 24px auto;
            border: none;
            background: none;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .divider svg {
            display: block;
            width: 180px;
            height: 32px;
        }

        /* New styles for location box */
        #location-box {
            margin: 40px auto 0 auto;
            max-width: 800px;
            background: #fff8fb;
            border: 2px solid #ffc8dd;
            border-radius: 20px;
            box-shadow: 0 6px 24px #b5179e33, 0 1.5px 8px #fff4, 0 1px 2px #b5179e11;
            padding: 32px 24px 24px 24px;
            text-align: center;
        }

        #location-box h2 {
            font-family: 'Great Vibes', cursive, 'Brush Script MT', Arial, sans-serif;
            color: #b5179e;
            font-size: 2.2em;
            margin-top: 0;
            margin-bottom: 10px;
            letter-spacing: 0.04em;
        }

        #location-box p {
            font-size: 1.15em;
            color: #6a4c93;
            margin-bottom: 18px;
            line-height: 1.5;
        }

        .map-embed {
            width: 100%;
            max-width: 600px;
            margin: 0 auto;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 4px 16px #b5179e22, 0 1.5px 8px #fff4;
        }

        .map-embed iframe {
            width: 100%;
            height: 250px;
            border: 0;
            display: block;
        }

        /* New styles for ceremony box */
        #ceremony-box {
            margin: 40px auto 0 auto;
            max-width: 800px;
            background: #fff8fb;
            border: 2px solid #ffc8dd;
            border-radius: 20px;
            box-shadow: 0 6px 24px #b5179e33, 0 1.5px 8px #fff4, 0 1px 2px #b5179e11;
            padding: 32px 24px 24px 24px;
            text-align: center;
        }

        #ceremony-box h2 {
            font-family: 'Great Vibes', cursive, 'Brush Script MT', Arial, sans-serif;
            color: #b5179e;
            font-size: 2.2em;
            margin-top: 0;
            margin-bottom: 10px;
            letter-spacing: 0.04em;
        }

        #ceremony-box p {
            font-size: 1.15em;
            color: #6a4c93;
            margin-bottom: 18px;
            line-height: 1.5;
        }

        /* Responsive styles for mobile devices */
        @media (max-width: 600px) {
            body {
                font-size: 1em;
            }
            #main-content {
                padding: 20px 4vw 30px 4vw;
                max-width: 100vw;
                border-radius: 10px;
                margin: 8px auto;
            }
            #main-content h1 {
                font-size: 2em;
            }
            #main-content p {
                font-size: 1em;
                padding: 10px;
            }
            .divider {
                width: 90px;
                height: 18px;
                margin: 18px auto 12px auto;
            }
            .divider svg {
                width: 90px;
                height: 18px;
            }
            #google-form-container {
                max-width: 100vw;
                padding: 4px;
                border-width: 4px;
                border-radius: 12px;
                margin: 20px auto 20px auto;
            }
            #google-form-container iframe {
                min-height: 700px;
                height: 700px;
            }
            .flower-corner {
                font-size: 1.5em;
            }
            .flower-tl, .flower-tr, .flower-bl, .flower-br {
                top: -18px !important;
                left: -18px !important;
                right: -18px !important;
                bottom: -18px !important;
            }
            #location-box {
                max-width: 100vw;
                padding: 16px 4vw 16px 4vw;
                border-radius: 10px;
                margin: 20px auto 0 auto;
            }
            #location-box h2 {
                font-size: 1.3em;
            }
            #location-box p {
                font-size: 1em;
            }
            .map-embed {
                max-width: 100vw;
                border-radius: 10px;
            }
            .map-embed iframe {
                height: 180px;
            }
            /* Responsive splash title for mobile */
            #splash-title {
                font-size: 2.2em;
                max-width: 90vw;
                word-break: break-word;
                white-space: normal;
                line-height: 1.1;
                /* Adjust transform for mobile */
                transform: scale(1.2) rotate(-45deg);
                animation: scaleDownMobile 2s cubic-bezier(.25,.8,.25,1) forwards;
            }
            @keyframes scaleDownMobile {
                0% {
                    transform: scale(2) rotate(-45deg);
                    opacity: 0.7;
                }
                60% {
                    transform: scale(1.3) rotate(-45deg);
                    opacity: 1;
                }
                100% {
                    transform: scale(1) rotate(-45deg);
                    opacity: 1;
                }
            }
            #splash-screen {
                padding: 0 2vw;
            }
        }