/* ── Responsive ── */

@media (max-width: 1100px) {
    .header-top {
        flex-wrap: wrap;
        justify-content: center;
    }
    .logo-box {
        order: -1;
        width: 100%;
        justify-content: center;
        padding: 0;
    }
    .map iframe {
        width: clamp(160px, 32vw, 340px);
        height: clamp(95px, 19vw, 195px);
    }
}

@media (max-width: 700px) {
    .map-box { display: none; }

    .logo h1 { font-size: clamp(2.2rem, 13vw, 4.5rem); }
    .logo h2 {
        font-size: clamp(0.8rem, 4.5vw, 1.5rem);
        text-indent: clamp(2.5rem, 10vw, 6rem);
        margin-top: clamp(-0.9rem, -2.5vw, -1.8rem);
    }

    nav ul { justify-content: center; gap: 4px; }
    nav ul li a { font-size: 0.62rem; padding: 5px 8px; }

    .welcome-images { flex-wrap: wrap; }
    .homepage-image { max-width: 90%; }

    #dynamic-content {
        padding: clamp(12px, 2vh, 20px) clamp(12px, 4vw, 24px);
    }
}

@media (max-height: 520px) {
    .contact-box, .map-box { display: none; }
    .logo h1 { font-size: clamp(1.6rem, 7vw, 3.2rem); }
    .logo h2 {
        font-size: clamp(0.65rem, 2.8vw, 1.2rem);
        margin-top: -0.7rem;
        text-indent: 3.5rem;
    }
}
