/* --- CSS Variables --- */
        :root {
            --hokori-primary-color: #de3163;
            --hokori-text-dark: #2c2c2c;
            --hokori-text-light: #666;
            --hokori-bg-light: #f8f9fa;
            --hokori-white: #ffffff;
            --hokori-transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
        }

        /* --- Global & Reset --- */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-size: 16px;
            line-height: 1.7;
            color: var(--hokori-text-light);
            background-color: var(--hokori-white);
            overflow: hidden;
             /* Hide default cursor */
            scroll-behavior: smooth;
        }

        /* --- Custom Cursor (Desktop Only) --- */
       /* .hokori-cursor {
            width: 10px;
            height: 10px;
            border: 2px solid var(--hokori-primary-color);
            border-radius: 50%;
            position: fixed;
            transform: translate(-50%, -50%);
            pointer-events: none;
            transition: all 0.15s ease;
            z-index: 10000; /* Increased z-index */
            mix-blend-mode: difference;
        }
        .hokori-cursor.hover {
            width: 40px;
            height: 40px;
            background-color: rgba(222, 49, 99, 0.1);
            border: 2px solid var(--hokori-primary-color);
        }*/

        /* --- DESKTOP LAYOUT (Default) --- */
        .hokori-main-wrapper {
            display: flex;
            height: 100vh;
            width: 100%;
        }
        .hokori-image-panel {
            position: fixed;
            top: 0;
            left: 0;
            width: 40%;
            height: 100vh;
            overflow: hidden;
            z-index: 1;
        }
        .hokori-image-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition: opacity 1.5s ease-in-out;
        }
        .hokori-image-container.active {
            opacity: 1;
        }
        .hokori-image-container.active .hokori-image {
            animation: ken-burns 15s ease-in-out infinite alternate;
        }
        @keyframes ken-burns {
            0% { transform: scale(1) translate(0, 0); }
            100% { transform: scale(1.1) translate(-10px, -10px); }
        }
        .hokori-image {
            width: 78%;
            height: 88%;
            object-fit: cover;
            margin-top: 58px;
        }
        .hokori-content-panel {
            margin-left: 40%;
            width: 60%;
            padding: 80px 60px;
            overflow-y: auto;
            height: 100vh;
            z-index: 2;
            background-color: var(--hokori-white);
            /* Ensure this is the positioning context for the observer */
            position: relative; 
        }
        .hokori-content-section {
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            transition: background-color 0.4s ease;
        }
        .hokori-content-section:hover {
            background-color: rgba(222, 49, 99, 0.02);
        }

        /* --- MOBILE LAYOUT (Hidden by default) --- */
        .hokori-mobile-wrapper {
            display: none; /* Hidden on desktop */
        }
        .hokori-mobile-section {
            /* No flex, just block elements */
        }
        .hokori-mobile-text {
            padding: 50px 25px; /* Good padding */
            background-color: var(--hokori-white);
            margin-bottom: 0; /* No gap */
        }
        .hokori-mobile-image {
            width: 100%;
            height: 45vh; /* Balanced height */
            overflow: hidden;
        }
        .hokori-mobile-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.7s ease;
        }
        .hokori-mobile-section:hover .hokori-mobile-image img {
            transform: scale(1.05);
        }

        /* --- Shared Styles --- */
        .hokori-animate-in {
            opacity: 0;
        }
        .hokori-animate-in.is-visible {
            opacity: 1;
        }
        .hokori-animate-left {
            transform: translateX(-50px);
        }
        .hokori-animate-left.is-visible {
            transform: translateX(0);
        }
        .hokori-animate-right {
            transform: translateX(50px);
        }
        .hokori-animate-right.is-visible {
            transform: translateX(0);
        }
        .hokori-animate-up {
            transform: translateY(30px);
        }
        .hokori-animate-up.is-visible {
            transform: translateY(0);
        }
        .hokori-main-heading, .hokori-location-heading {
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
            line-height: 1.1;
            margin-bottom: 15px;
        }
        .hokori-main-heading { font-size: 4rem; color: var(--hokori-text-dark); margin-bottom: 20px; text-align: left;}
        .hokori-location-heading { font-size: 3.5rem; color: var(--hokori-primary-color); transition: transform 0.3s ease; text-align:left; }
        .hokori-location-heading:hover { transform: translateX(10px); }
        .hokori-main-subheading, .hokori-location-subheading {
            font-size: 1.3rem;
            font-weight: 400;
            color: var(--hokori-text-light);
            margin-bottom: 30px;
            padding-left: 18px;
        }
        .hokori-main-subheading { font-size: 1.5rem; margin-bottom: 40px; text-align: left;}
        .hokori-details-text {
            font-size: 1.1rem;
            color: var(--hokori-text-light);
            line-height: 1.8;
            padding-top: 28px;
            text-align: justify;
        }
        .hokori-details-text strong {
            color: var(--hokori-text-dark);
            transition: color 0.3s ease, background-color 0.3s ease;
            padding: 0 4px;
            border-radius: 4px;
        }
        .hokori-details-text strong:hover {
            color: var(--hokori-white);
            background-color: var(--hokori-primary-color);
        }

        /* --- Responsive Design --- */
        @media (max-width: 1024px) {
            .hokori-image-panel { width: 50%; }
            .hokori-content-panel { margin-left: 50%; width: 50%; padding: 60px 40px; }
            .hokori-main-heading { font-size: 3rem; }
            .hokori-location-heading { font-size: 2.5rem; }
        }
        @media (max-width: 768px) {
            body { cursor: auto; } /* Show default cursor on mobile */
            .hokori-cursor { display: none; } /* Hide custom cursor on mobile */

            /* --- Switch Layouts --- */
            .hokori-main-wrapper { display: none; } /* Hide desktop layout */
            .hokori-mobile-wrapper { display: block; } /* Show mobile layout */

            /* --- Mobile Styles --- */
            .hokori-main-heading { font-size: 2.5rem; padding: 88px 4px 8px 4px; text-align: center;}
            .hokori-location-heading { font-size: 2.5rem; text-align:center; }
            .hokori-details-text{font-size: 14px}
            .hokori-mobile-text{ padding:8px 25px; }
        }