/* JBM 0.7.3: focused touch navigation and mobile reading rhythm. */
.jbm-menu__panel-head,.jbm-menu__close,.jbm-menu__submenu-toggle,.jbm-mobile-dock{display:none}
@media(max-width:1023px){
  .jbm-menu__toggle{min-width:92px;min-height:48px;justify-content:center;border-radius:12px;box-shadow:0 2px 6px rgba(15,23,42,.05)}
  .jbm-menu__toggle[aria-expanded="true"]{background:#fdecef;color:#a50d26;border-color:#c8102e}
  .jbm-menu__panel{display:none!important;left:auto;right:max(10px,env(safe-area-inset-right));width:min(352px,calc(100vw - 20px));max-height:min(66svh,540px);padding:.65rem;overscroll-behavior:contain;border:1px solid #cbd5e1;border-radius:16px;box-shadow:0 16px 44px rgba(15,23,42,.24)}
  .jbm-menu.is-open .jbm-menu__panel{display:block!important}
  .jbm-menu__panel-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.35rem .35rem .7rem;margin-bottom:.25rem;border-bottom:1px solid #e2e8f0}
  .jbm-menu__panel-head strong{font-size:.88rem;letter-spacing:.04em;text-transform:uppercase}
  .jbm-menu__close{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:44px;min-width:76px;padding:.4rem .65rem;border:0;border-radius:9px;background:#f1f5f9;color:#0f172a;font:inherit;font-weight:750;cursor:pointer}
  .jbm-menu__close span{font-size:1.35rem;line-height:1}
  .jbm-menu__list,.jbm-menu__list .sub-menu{display:block}
  .jbm-menu__list li{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:start;margin:1px 0;border:0}
  .jbm-menu__list li>a{grid-column:1/-1;display:flex;align-items:center;min-height:48px;padding:.65rem .8rem;border-radius:9px;font-size:.94rem;line-height:1.3;text-decoration:none}
  .jbm-menu__list li:has(>.jbm-menu__submenu-toggle)>a{grid-column:1}
  .jbm-menu__list .sub-menu,.jbm-menu__list .sub-menu .sub-menu{display:none;grid-column:1/-1;position:static;min-width:0;margin:0 0 .35rem .65rem;padding:0 0 0 .55rem;border:0;border-left:2px solid #e2e8f0;border-radius:0;box-shadow:none}
  .jbm-menu__list li.is-expanded>.sub-menu{display:block}
  .jbm-menu__list .sub-menu a{font-size:.9rem;padding:.6rem .7rem}
  .jbm-menu__submenu-toggle{display:inline-flex;align-items:center;justify-content:center;grid-column:2;grid-row:1;min-width:44px;min-height:48px;margin:0;border:0;border-radius:9px;background:#f1f5f9;color:#0f172a;font:700 1.25rem/1 Inter,Arial,sans-serif;cursor:pointer}
  .jbm-menu__submenu-toggle[aria-expanded="true"]{background:#fdecef;color:#a50d26}
  .jbm-menu__list .current-menu-item>a,.jbm-menu__list .current-menu-ancestor>a,.jbm-menu__list a[aria-current="page"],.jbm-menu__list a:hover,.jbm-menu__list a:focus-visible{background:#fdecef;color:#a50d26;text-decoration:none;box-shadow:inset 3px 0 #c8102e}
  .jbm-menu__mobile-secondary{display:block;margin:.65rem .2rem .1rem;padding:.1rem 0 0;border-top:1px solid #e2e8f0}
  .jbm-menu__mobile-secondary summary{display:flex;align-items:center;min-height:48px;padding:.55rem .7rem;border-radius:9px;color:#334155;font-size:.86rem;font-weight:750;cursor:pointer;list-style:none}
  .jbm-menu__mobile-secondary summary::after{content:'⌄';margin-left:auto;font-size:1.25rem}
  .jbm-menu__mobile-secondary[open] summary::after{content:'⌃'}
  .jbm-menu__mobile-secondary-list{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.4rem 0}
  .jbm-menu__mobile-secondary-list a{display:flex;align-items:center;min-height:44px;padding:.5rem .65rem;border:1px solid #e2e8f0;border-radius:9px;font-size:.82rem}
  .jbm-menu__mobile-secondary-list .current-menu-item a,.jbm-menu__mobile-secondary-list a[aria-current="page"]{background:#fdecef;border-color:#c8102e;color:#a50d26}
  .jbm-menu__panel :focus-visible,.jbm-menu__toggle:focus-visible{outline:3px solid #c8102e;outline-offset:2px}
}
@media(max-width:760px){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .jbm-footer{padding-bottom:2rem}
  .jbm-quick-inquiry{display:none!important}
  .jbm-mobile-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:90;min-height:68px;padding:5px max(6px,env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-right));background:rgba(255,255,255,.97);border-top:1px solid #cbd5e1;box-shadow:0 -5px 20px rgba(15,23,42,.08)}
  .jbm-mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:4px 2px;border-radius:11px;color:#334155;font-size:.68rem;font-weight:750;line-height:1.1;text-decoration:none;text-align:center;touch-action:manipulation}
  .jbm-mobile-dock a[aria-current="page"],.jbm-mobile-dock a:hover,.jbm-mobile-dock a:focus-visible{background:#fdecef;color:#a50d26}
  .jbm-mobile-dock a:last-child:not([aria-current="page"]){color:#a50d26}
  .jbm-mobile-dock a:focus-visible{outline:3px solid #c8102e;outline-offset:-2px}
  .jbm-menu__panel{max-height:min(58svh,470px);bottom:auto}
  .jbm-v07-hero{padding:1.5rem .3rem 1.7rem;gap:1.3rem}
  .jbm-v07-hero__copy,.jbm-v07-hero__copy>p{text-align:center}
  .jbm-v07-hero h1{line-height:1.12;margin-inline:auto}
  .jbm-v07-hero__visual,.jbm-hero-media{margin-inline:auto!important}
  .jbm-v07-intro{text-align:center}
  .jbm-v07-section{padding-block:1.75rem}
  .jbm-v07-section>h2,.jbm-v07-section>.wp-block-heading{margin-inline:auto;line-height:1.2}
  .jbm-v07-section>p{max-width:65ch}
  .jbm-page__intro,.jbm-blog__intro{text-align:center;padding-bottom:1.4rem;margin-bottom:1.4rem}
  .jbm-page__intro h1,.jbm-blog__intro h1{line-height:1.13;margin-inline:auto}
  .jbm-page__intro>p,.jbm-blog__intro>p{margin-inline:auto}
  .jbm-service-hero__copy>.wp-block-post-title,.jbm-service-hero__copy>.jbm-eyebrow{text-align:center}
  .jbm-service-hero__visual{margin-inline:auto!important}
}
@media(max-width:380px){
  .jbm-header__inner>.jbm-brand{width:min(205px,60vw)!important}
  .jbm-menu__toggle{min-width:76px;padding:.4rem .5rem;font-size:.82rem}
  .jbm-mobile-dock a{font-size:.65rem}
}
@media(max-width:1023px){
  .jbm-menu__list li:not(.is-expanded)>.sub-menu{display:none!important}
  .jbm-menu__list li.is-expanded>.sub-menu{display:block!important}
}
@media(max-width:760px){
  .jbm-mobile-dock{background:#fff}
  .jbm-v07-hero__copy>p{margin:.55rem auto;line-height:1.55}
  .jbm-v07-hero .wp-block-buttons{margin-top:1rem}
}
