html, body {
            margin: 0;
            padding: 0;
            width: 100%;
            height: 100%;
            overflow: hidden; 
        }

        
        section {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100vw;
            height: 100vh;
            
        }
        section > div {
        z-index: 2;
        }
        
        img {
            width: 100%;
            height: 100%;
            object-fit: cover; 
            object-position: center;
            z-index: 0; 
        }
        section::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 1; 
            
          background: 
    
            
            /* Line 6 (Outermost) */
            radial-gradient(circle at -5% 50%, transparent 59.6%, rgba(180, 180, 190, 0.12) 59.6%, rgba(180, 180, 190, 0.12) 59.7%, transparent 59.7%),
            
            /* Line 5 */
            radial-gradient(circle at -5% 50%, transparent 58.5%, rgba(180, 180, 190, 0.08) 58.5%, rgba(180, 180, 190, 0.08) 58.6%, transparent 58.6%),
            
            /* Line 4 */
            radial-gradient(circle at -5% 50%, transparent 57.6%, rgba(180, 180, 190, 0.06) 57.6%, rgba(180, 180, 190, 0.06) 57.7%, transparent 57.7%),
            
            /* Line 3 */
            radial-gradient(circle at -5% 50%, transparent 56.9%, rgba(180, 180, 190, 0.10) 56.9%, rgba(180, 180, 190, 0.10) 57.0%, transparent 57.0%),
            
            /* Line 2 */
            radial-gradient(circle at -5% 50%, transparent 56.4%, rgba(180, 180, 190, 0.04) 56.4%, rgba(180, 180, 190, 0.04) 56.5%, transparent 56.5%),
            
            /* Line 1 (Innermost) */
            radial-gradient(circle at -5% 50%, transparent 56.0%, rgba(180, 180, 190, 0.07) 56.0%, rgba(180, 180, 190, 0.07) 56.1%, transparent 56.1%),
            
            /* --- Expanded Dark Shadow Gradient --- */
            linear-gradient(to right, rgba(0, 5, 15, 0.98) 0%, rgba(0, 5, 15, 0.9) 45%, rgba(0, 5, 15, 0.4) 75%, transparent 95%);
        }
        .overlay-box {
            position: absolute;
            top: 2%;
            bottom: 2%;
            left: 2%;
            right: 2%;

            border: 2px solid #ffffff;
            background-color: transparent;
        }
        .Right-pink-box, .Left-pink-box, .Left-White-box,
        .Bottom-Right-White-box, .Bottom-Left-White-box, .Bottom-Right-Pink-box {
            position: absolute;
            width: 20px;
            height: 20px;
        }

        /* Position them securely on the 2px border */
        .Left-pink-box { top: 15px; left: 15px; background-color: rgb(254, 1, 126); }
        .Left-White-box { top: 15px; left: 45px; background-color: #ffffff; }
        .Right-pink-box { top: 15px; right: 15px; background-color: rgb(254, 1, 126); }

        .Bottom-Left-White-box { bottom: 15px; left: 15px; background-color: #ffffff; }
        .Bottom-Right-White-box { bottom: 15px; right: 15px; background-color: #ffffff; }
        .Bottom-Right-Pink-box { bottom: 15px; right: 45px; background-color: rgb(254, 1, 126); }
        .Text {
            font-family: "Times New Roman", Times, Baskerville, Georgia, serif;
            font-weight: bold;
            text-transform: uppercase;
            letter-spacing: 0.4em; 
            color: #ffffff;
            font-size: 18px;
            position: absolute;
            bottom: 93.5%;     
            left: max(4.5%, 80px);
        }
        .japanese-text {
            writing-mode: vertical-rl; 
            text-orientation: upright;
            font-weight: bold;
            font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "MS Gothic", sans-serif;
            color: #ffffff;
            font-size: 20px;
            letter-spacing: 0.2em;
            position: absolute;
            top: 45px;
            left: -8px;
        }


        #quote-wrapper {
            position: absolute;
            top: 30%;
            left: 6.5%;
            width: 45%; 
            z-index: 3;
        }       

        .quote-marks {
            color: rgb(254, 1, 126);
            font-family: "Times New Roman", Times, serif;
            font-size: 5rem;
            line-height: 0;
            vertical-align: text-bottom;
        }

        .quote-marks.right {
            float: right;
            margin-top: 40px;
        }

        .quote-text {
            font-family: "Times New Roman", Times, serif;
            font-size: 2.8rem;
            font-style: italic;
            font-weight: bold;
            line-height: 1.3;
            color: #ffffff;
        }
        #quote-text {
            display: inline-block; 
            cursor: pointer;
            transition: transform 0.3s ease, text-shadow 0.3s ease;
        }

       
        #quote-text:hover {
            transform: scale(1.02);
            text-shadow: 0px 0px 15px rgba(255, 255, 255, 0.4);
        }

      
        #quote-text:hover .pink-text {
            text-shadow: 0px 0px 20px rgba(254, 1, 126, 0.8);
        }
                

        .pink-text {
            color: rgb(254, 1, 126);
        }

        .separator-line {
            height: 2px;
            background-color: rgb(254, 1, 126);
            margin: 40px 0 20px 0;
            position: relative;
            display: flex;
            justify-content: flex-end;
            align-items: center;
        }

      

        .author-block {
            border-left: 5px solid rgb(254, 1, 126);
            padding-left: 15px;
            margin-top: 10px;
        }

        .author-name {
            color: rgb(254, 1, 126);
            text-transform: uppercase;
            letter-spacing: 0.3em;
            font-family: "Helvetica Neue", Arial, sans-serif;
            font-weight: bold;
            font-size: 1.1rem;
        }

        .author-source {
            color: rgb(254, 1, 126);
            font-style: italic;
            font-family: "Times New Roman", Times, serif;
            font-size: 1.2rem;
            margin-top: 5px;
        }

        .ep-indicator {
            position: absolute;
            bottom: 2%; 
            right: max(4.5%, 80px);
            color: #ffffff;
            font-family: "Helvetica Neue", Arial, sans-serif;
            letter-spacing: 0.3em;
            font-size: 0.9rem;
            font-weight: bold;
            text-transform: uppercase;
            z-index: 3;
        }

  
        .nav-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            font-size: 3rem;
            color: rgb(254, 1, 126);
            cursor: pointer;
            opacity: 0.2;
            transition: opacity 0.3s ease, transform 0.2s ease;
            z-index: 10;
            user-select: none;
        }

        .nav-arrow:hover {
            opacity: 1;
            transform: translateY(-50%) scale(1.1);
        }

        .nav-arrow.left { left: 4%; }
        .nav-arrow.right { right: 4%; }


        .fade-anim {
            animation: slideFade 0.5s ease-out forwards;
        }

        @keyframes slideFade {
            0% { opacity: 0; transform: translateY(15px); }
            100% { opacity: 1; transform: translateY(0); }
        }

        @media (max-width: 768px) {
            .Text {
                    font-size: 16px;
                    left: 78px;
                    top: 1px;
            }

            .ep-indicator {
                    font-size: 0.9rem;
                    right: 70px;
            }  
            .quote-marks {
                font-size: 3rem; 
            }
            .quote-text {
                font-size: 2.6rem; 
            } 
            #quote-wrapper {
                width: calc(100% - 100px); 
                left: 55px; 
                
                top: 25%;
                transform: none; 
            }

            .author-name {
                font-size: 0.9rem;
            }
            .author-source {
                font-size: 1rem;
            }

            .nav-arrow.left { left: 4%; }
            .nav-arrow.right { right: 4%; }
}

            .menu-btn {
                position: absolute;
                top: 4%;
                right: 4.5%;
                color: #ffffff;
                font-family: "Times New Roman", Times, serif;
                font-size: 1.2rem;
                font-weight: bold;
                letter-spacing: 0.2em;
                cursor: pointer;
                z-index: 10;
                transition: color 0.3s ease;
            }

            .menu-btn:hover {
                color: rgb(254, 1, 126);
            }

            .close-btn {
                position: absolute;
                top: 4%;
                right: 4.5%;
                color: #ffffff;
                font-size: 2rem;
                cursor: pointer;
                z-index: 60; /* Must be higher than everything else */
                transition: transform 0.3s ease, color 0.3s ease;
            }

            .close-btn:hover {
                color: rgb(254, 1, 126);
                transform: scale(1.2);
            }


            .menu-container {
                position: absolute;
                top: 0;
                left: 0;
                width: 100vw;
                height: 100vh;
                z-index: 50; 
                background-color: rgba(0, 0, 0, 0.8);
                overflow: hidden;
                
            
                opacity: 0;
                pointer-events: none;
                transition: opacity 0.4s ease;
            }

            .menu-container.active {
                opacity: 1;
                pointer-events: auto;
            }

            .menu-container iframe {
                width: 100%;
                height: 100%;
                border: none;
            }


            .menu-text {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                display: flex;
                flex-direction: column;
                gap: 25px;
                text-align: center;
                z-index: 55;
                

                opacity: 0;
            }


            .menu-container.active .menu-text {
                animation: fadeInMenu 0.6s ease-out forwards 0.1s;
            }

            .menu-text a {
                color: #ffffff;
                font-family: "Times New Roman", Times, serif;
                font-size: 2.2rem;
                font-weight: bold;
                text-transform: uppercase;
                text-decoration: none;
                letter-spacing: 0.25em;
                transition: color 0.3s ease, transform 0.2s ease;
            }

            .menu-text a:hover {
                color: rgb(254, 1, 126); 
                transform: scale(1.05);
            }

            @keyframes fadeInMenu {
                to { opacity: 1; }
            }