.mobile-nav{display:none}
.mobile-nav summary{list-style:none}
.mobile-nav summary::-webkit-details-marker{display:none}
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe{max-width:100%}
main,section,article,aside,div{min-width:0}

@media(max-width:1050px){
  .site-header{padding-left:20px;padding-right:20px}
  .site-header>.site-nav{display:none!important}
  .mobile-nav{display:block;position:relative;margin-left:auto}
  .mobile-nav summary{min-width:92px;min-height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.72);border-radius:7px;display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;background:#031531;cursor:pointer;font-size:.82rem;font-weight:800;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
  .mobile-nav summary b{font-size:1.25rem;line-height:1;font-weight:500}
  .mobile-nav[open] summary{background:#0a3261;color:#fff;border-color:#fff}
  .header .mobile-nav nav{display:flex!important;position:fixed;z-index:100;top:112px;left:0;right:0;max-height:calc(100vh - 112px);overflow-y:auto;padding:18px 20px 26px;background:#031531;box-shadow:0 20px 35px rgba(0,0,0,.28);flex-direction:column;align-items:stretch;gap:0}
  .header .mobile-nav nav a{display:flex;align-items:center;min-height:52px;padding:12px 8px;color:#fff;border-bottom:1px solid rgba(255,255,255,.13);font-size:1rem}
  .header .mobile-nav nav a.gold{justify-content:center;border:0;border-radius:6px;margin-top:14px;padding:12px 18px}
  .catalog-nav{display:none!important}
  .inner-hero,.catalog-hero{padding-left:24px;padding-right:24px}
  .article-layout,.hub-grid,.catalog-content,.catalog-notes,.tools-stack{padding-left:24px;padding-right:24px}
  footer{grid-template-columns:1fr 1fr;align-items:start}
  footer>small{grid-column:1/-1}
}

.admin-links{display:flex;gap:18px;align-items:center}.inventory-add{display:grid;grid-template-columns:minmax(260px,520px) auto 1fr;gap:14px;align-items:end;margin:25px 0;padding:22px;background:#fff;border:1px solid #dbe2eb}.inventory-add label,.inventory-fields label{display:grid;gap:6px;font-size:.82rem;font-weight:750}.inventory-add input,.inventory-fields input,.inventory-fields select,.inventory-fields textarea,.inventory-editor-head input,.inventory-editor-head select{width:100%;padding:11px 12px;border:1px solid #cfd7e2;border-radius:5px;background:#fff;color:#071a39;font:inherit}.inventory-list{display:grid;gap:18px}.inventory-editor{padding:22px;background:#fff;border:1px solid #dbe2eb;border-top:4px solid #e9ad45}.inventory-editor-head{display:grid;grid-template-columns:1fr 190px;gap:14px;margin-bottom:18px}.inventory-editor-head input{font-size:1.15rem;font-weight:800}.inventory-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.inventory-fields .wide{grid-column:1/-1}
@media(max-width:980px){.inventory-fields{grid-template-columns:1fr 1fr}.inventory-add{grid-template-columns:1fr auto}.inventory-add span{grid-column:1/-1}}
@media(max-width:650px){.admin-links{width:100%;justify-content:space-between}.inventory-add{grid-template-columns:1fr}.inventory-add .button{width:100%}.inventory-add span{grid-column:1}.inventory-editor{padding:16px}.inventory-editor-head,.inventory-fields{grid-template-columns:1fr}.inventory-fields .wide{grid-column:1}.inventory-fields input,.inventory-fields select,.inventory-fields textarea,.inventory-editor-head input,.inventory-editor-head select{font-size:16px}}

@media(max-width:650px){
  .site-header{height:90px;padding-left:14px;padding-right:14px}
  .site-header .logo-brand{width:min(230px,calc(100vw - 120px));height:76px}
  .mobile-nav summary{min-width:48px;width:48px;padding:0;font-size:0}
  .mobile-nav summary b{font-size:1.4rem}
  .header .mobile-nav nav{top:90px;max-height:calc(100vh - 90px)}
  .hero h1,.inner-hero h1,.catalog-hero h1{font-size:clamp(2.15rem,11vw,3rem);overflow-wrap:anywhere}
  .hero,.inner-hero,.catalog-hero{padding-left:18px;padding-right:18px}
  .article-layout,.hub-grid,.catalog-content,.catalog-notes,.tools-stack{padding-left:18px;padding-right:18px}
  .article-copy{font-size:.96rem}
  .article-copy h2{font-size:1.65rem}
  .hub-card,.development-card,.only-card{padding-left:20px;padding-right:20px}
  .universal-lead-form{padding:22px 17px}
  .lead-form input,.lead-form select,.lead-form textarea{font-size:16px}
  .button{width:100%;min-height:52px}
  footer{grid-template-columns:1fr;gap:24px;padding-left:18px;padding-right:18px}
  footer .footer-logo{width:min(270px,100%);height:104px}
  footer>small{grid-column:1}
}

/* High-contrast mobile navigation triggers on the white site header */
@media(max-width:1050px){
  .header .menu,
  .site-header .mobile-nav summary{
    color:#fff!important;
    background:#031531!important;
    border:2px solid #d99b30!important;
    border-radius:8px;
    box-shadow:0 3px 10px rgba(3,21,49,.2)!important;
  }
  .header .menu{
    width:50px;
    height:50px;
    padding:0;
    display:flex!important;
    align-items:center;
    justify-content:center;
    flex:0 0 50px;
    font-size:1.65rem;
    line-height:1;
    cursor:pointer;
  }
  .site-header .mobile-nav summary b{color:#fff!important}
  .header .menu:hover,
  .header .menu:focus-visible,
  .header .menu[aria-expanded="true"],
  .site-header .mobile-nav summary:hover,
  .site-header .mobile-nav summary:focus-visible,
  .site-header .mobile-nav[open] summary{
    color:#031531!important;
    background:#ffd184!important;
    border-color:#9b6209!important;
    outline:3px solid rgba(233,173,69,.3);
    outline-offset:2px;
  }
  .site-header .mobile-nav[open] summary b,
  .site-header .mobile-nav summary:hover b,
  .site-header .mobile-nav summary:focus-visible b{color:#031531!important}
}

@media(min-width:1051px){.header .menu{display:none!important}}

/* Version 34: definitive mobile menu contrast and stacking */
@media(max-width:1050px){
  .site-header{position:sticky!important;top:0!important;z-index:9999!important;isolation:isolate;background:#031531!important}
  .site-header .mobile-nav{z-index:10000!important;color:#fff!important}
  .site-header .mobile-nav>nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:fixed!important;
    z-index:10001!important;
    left:0!important;
    right:0!important;
    width:100vw!important;
    background:#031531!important;
    background-color:#031531!important;
    color:#fff!important;
    border-top:2px solid #e9ad45!important;
    box-shadow:0 24px 45px rgba(0,0,0,.48)!important;
  }
  .site-header .mobile-nav>nav>a:not(.gold){
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    color:#fff!important;
    background:#031531!important;
    border-bottom:1px solid rgba(255,255,255,.22)!important;
    text-shadow:0 1px 1px rgba(0,0,0,.35)!important;
  }
  .site-header .mobile-nav>nav>a:not(.gold):hover,
  .site-header .mobile-nav>nav>a:not(.gold):focus-visible{
    color:#031531!important;
    background:#ffd184!important;
    outline:0!important;
  }
  .site-header .mobile-nav>nav>a.gold{color:#031531!important;background:#e9ad45!important}
}
