@media (max-width: 900px) {
    :root {
        --frame-padding: 15px;
    }

    .hero-frame {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        /* Revert to center for mobile */
    }

    .hero-visual {
        position: absolute;
        width: 90%;
        height: 50%;
        top: 25%;
        right: auto;
        left: auto;
        opacity: 0.6;
        /* Fade image on mobile so text pops */
    }

    .hero-title-wrapper {
        margin-left: 0;
        text-align: center;
    }

    .hero-title {
        font-size: 11vw;
        text-shadow: 0 0 20px rgba(240, 240, 230, 0.9);
        /* Add shadow back only for mobile overlap */
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    .hero-title .indent {
        margin-left: 0;
    }

    .hero-subtitle {
        border-top: none;
        padding-top: 0;
    }

    /* --- Full Width Image Tweaks for Residentie Bruyneel --- */
    .visual-story {
        padding: 0;
    }

    .visual-story .image-frame-wide {
        width: calc(100% + (var(--frame-padding) * 2));
        margin-left: calc(var(--frame-padding) * -1);
        border-radius: 0;
        height: auto;
        /* Let height adjust naturally to avoid crop */
        aspect-ratio: 16/9;
        /* Optional: enforce a specific ratio if needed, but auto is safest */
    }

    /* --- New Mobile Tweaks --- */
    .form-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .form-container {
        margin-top: 2rem;
        padding: 0 1rem;
    }

    .map-frame {
        height: 40vh;
        margin-top: 1rem;
    }

    .editorial-heading {
        font-size: 2.5rem;
    }
    
    .editorial-heading.small {
        font-size: 2rem;
    }

    .quote {
        font-size: 1.5rem;
        margin: 4vh auto;
    }

    .content-block {
        padding: 0;
    }

    .list-item {
        flex-direction: column;
    }

    .list-label {
        width: 100%;
        margin-bottom: 0.5rem;
    }

    .list-content {
        width: 100%;
    }

    .dual-images {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .image-frame-portrait {
        height: 50vh;
    }
}