
    /* --- GLOBAL UNIFIED STYLES --- */
    .fuji-safe-wrapper {
        width: 100%;
        background-color: #fff;
        padding: 50px 0;
        box-sizing: border-box;
        font-family: 'Segoe UI', Verdana, Helvetica, sans-serif;
        color: #333;
        line-height: 1.6;
    }

    .fuji-safe-container {
        width: 96%;
        max-width: 1400px; /* Standard Wide Width */
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        /* UPDATED: Changed from center to stretch to help match heights */
        align-items: stretch; 
        gap: 50px;
    }

    /* --- TYPOGRAPHY --- */
    .fuji-h2 {
        font-size: 34px;
        font-weight: 800;
        color: #000;
        margin: 0 0 15px 0;
        line-height: 1.2;
    }

    .fuji-subhead {
        font-size: 20px;
        font-weight: 700;
        color: #ba372a;
        margin-bottom: 20px;
        display: block;
        font-style: italic;
    }

    .fuji-body-text {
        font-size: 16px;
        color: #444;
        margin-bottom: 20px;
        text-align: justify;
    }

    /* --- HERO SPECIFIC --- */
    .fuji-hero-image {
        flex: 1 1 500px;
        max-width: 100%;
        box-sizing: border-box;
        /* UPDATED: Forces the container to be a square */
        aspect-ratio: 1 / 1; 
        /* UPDATED: Flex settings to center the image inside the square */
        display: flex;
        justify-content: center;
        align-items: center;
        /* UPDATED: White background and style for the box */
        background-color: #fff;
        border-radius: 12px;
        box-shadow: 0 5px 25px rgba(0,0,0,0.08);
        padding: 30px; /* Padding to keep image off edges */
    }

    .fuji-hero-image img {
        /* UPDATED: Image stays natural size, doesn't stretch */
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: 100%;
        /* Removed shadow/radius from image tag, now on container */
        border-radius: 0;
        box-shadow: none;
        display: block;
    }

    .fuji-hero-content {
        flex: 1 1 500px;
        /* Ensures content centers vertically if it's shorter than the square box */
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .fuji-list {
        list-style: none;
        padding: 0;
        margin: 0 0 25px 0;
    }

    .fuji-list li {
        position: relative;
        padding-left: 20px;
        margin-bottom: 12px;
        font-size: 16px;
        color: #333;
    }

    .fuji-list li::before {
        content: '•';
        position: absolute;
        left: 0;
        color: #ba372a;
        font-weight: 900;
        font-size: 18px;
    }

    .fuji-detail-box {
        background: #f8f9fa;
        padding: 20px;
        border-radius: 4px;
        margin-bottom: 25px;
        border-left: 5px solid #ba372a;
        font-size: 15px;
    }

    .fuji-link {
        color: #ba372a;
        text-decoration: underline;
        font-weight: 700;
    }

    .fuji-btn-container {
        display: flex;
        gap: 20px;
        align-items: center;
        flex-wrap: wrap;
    }

    .fuji-btn {
        background-color: #f4c01e;
        color: #000;
        font-weight: 800;
        font-size: 16px;
        padding: 14px 40px;
        border-radius: 4px;
        text-decoration: none;
        text-transform: uppercase;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        transition: transform 0.2s;
    }

    .fuji-btn:hover {
        transform: translateY(-2px);
        background-color: #dcb311;
    }

    .fuji-text-btn {
        font-size: 15px;
        font-weight: 600;
        color: #555;
        text-decoration: underline;
    }

    @media (max-width: 900px) {
        .fuji-safe-container { flex-direction: column; gap: 30px; }
        /* On mobile, reset aspect ratio so it doesn't take too much vertical space */
        .fuji-hero-image { aspect-ratio: auto; padding: 20px; }
        .fuji-btn, .fuji-text-btn { width: 100%; text-align: center; display: block; }
    }
