/* Shared JMB navigation — desktop links, mobile hamburger, and overflow protection. */
html, body { max-width: 100%; overflow-x: hidden; }
.jmb-nav {
    position: sticky;
    top: 0;
    z-index: 2000;
    width: 100%;
    min-height: 82px;
    padding: 0.45rem clamp(1rem, 6vw, 7rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid #e2e8f0;
    box-shadow: 0 8px 30px rgba(15,23,42,.06);
}
.jmb-nav-logo { display: inline-flex; align-items: center; gap: .65rem; flex: 0 0 auto; color: #0a192f; text-decoration: none; }
.jmb-nav-logo::after { content: "JMB Business Solutions"; max-width: 118px; font: 900 .83rem/1.12 Inter, Arial, sans-serif; letter-spacing: -.015em; text-transform: uppercase; }
.jmb-nav-logo img { display: block; width: 50px; height: 62px; object-fit: contain; }
.jmb-nav-panel { display: flex; align-items: center; justify-content: flex-end; gap: 1.45rem; }
.jmb-nav-link {
    color: #16365f;
    font: 700 .82rem/1.2 Inter, Arial, sans-serif;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .045em;
    white-space: nowrap;
}
.jmb-nav-link:hover, .jmb-nav-link:focus-visible { color: #ea580c; }
.jmb-nav-call, .jmb-nav-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .72rem 1.15rem;
    border-radius: 8px;
    text-decoration: none;
    font: 800 .82rem/1 Inter, Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: .035em;
    white-space: nowrap;
}
.jmb-nav-call { border: 2px solid #f97316; color: #c2410c; background: #fff7ed; }
.jmb-nav-primary { color: white; background: linear-gradient(135deg,#f97316,#ea580c); box-shadow: 0 8px 22px rgba(249,115,22,.25); }
.jmb-nav-call:hover, .jmb-nav-primary:hover { transform: translateY(-1px); }
.jmb-menu-toggle {
    display: none;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
}
.jmb-menu-toggle span { width: 23px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.jmb-nav.menu-open .jmb-menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.jmb-nav.menu-open .jmb-menu-toggle span:nth-child(2) { opacity: 0; }
.jmb-nav.menu-open .jmb-menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 1080px) {
    .jmb-nav { min-height: 72px; padding: .4rem 1rem; }
    .jmb-nav-logo img { width: 43px; height: 53px; }
    .jmb-nav-logo::after { max-width: 108px; font-size: .74rem; }
    .jmb-menu-toggle { display: inline-flex; }
    .jmb-nav-panel {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        pointer-events: none;
        display: grid;
        grid-template-columns: minmax(0,1fr);
        justify-content: stretch;
        gap: 0;
        padding: 0 1rem;
        background: #fff;
        border-bottom: 1px solid #e2e8f0;
        box-shadow: 0 16px 30px rgba(15,23,42,.12);
        transform: translateY(-8px);
        transition: max-height .28s ease, opacity .2s ease, transform .2s ease, padding .2s ease;
    }
    .jmb-nav.menu-open .jmb-nav-panel {
        max-height: 560px;
        opacity: 1;
        pointer-events: auto;
        padding: .6rem 1rem 1rem;
        transform: translateY(0);
    }
    .jmb-nav-link { display: block; width: 100%; padding: .9rem .4rem; border-bottom: 1px solid #f1f5f9; }
    .jmb-nav-call, .jmb-nav-primary { width: 100%; margin-top: .65rem; }
}
@media (max-width: 420px) {
    .jmb-nav-logo img { width: 39px; height: 48px; }
    .jmb-nav-logo::after { max-width: 96px; font-size: .69rem; }
    .jmb-menu-toggle { width: 44px; height: 44px; flex-basis: 44px; }
}
