@media (max-width: 768px) {
    :root { --header-height: 132px; --backdrop-offset: 132px; }
    #topHeader {
        height: 72px;
        padding: 5px 4%;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
        align-items: center;
        overflow: hidden;
    }
    #topHeader .logo-area { min-width: 0; gap: 6px; }
    #topHeader .logo-img { height: 30px; max-width: 34px; }
    #topHeader .site-title {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: clamp(16px, 4.6vw, 22px);
    }
    #topHeader .company-info { min-width: 0; }
    #topHeader .company-contact-row {
        display: flex;
        flex-direction: column-reverse;
        align-items: flex-end;
        gap: 2px;
    }
    #topHeader .company-address { display: none; }
    #topHeader .company-phone { white-space: nowrap; }
    #topHeader .company-phone a {
        padding: 7px 10px;
        gap: 5px;
        font-size: clamp(10px, 3vw, 13px);
    }
    #topHeader .company-email {
        max-width: 100%;
        white-space: nowrap;
        font-size: 10px;
        line-height: 1.2;
    }
    #bottomHeader { top: 72px; }
    #bottomHeader.sticky { top: 0; }
    #mainContent { padding-top: 132px; }
}

@media (max-width: 360px) {
    #topHeader .logo-img { height: 26px; max-width: 28px; }
    #topHeader .site-title { font-size: 16px; }
    #topHeader .company-phone a { padding: 6px 8px; font-size: 10px; }
}
