/* Public mobile shell. Desktop navigation and all commercial rules remain unchanged. */
.mobile-icon{display:inline-flex;width:24px;height:24px;flex:none;align-items:center;justify-content:center;color:inherit}
.mobile-icon svg{display:block;width:100%;height:100%;stroke:currentColor;stroke-width:1.8;fill:none}
.mobile-bottom-nav,.mobile-menu-trigger,.mobile-quote-widget,.mobile-quote-shortcut{display:none}
.mobile-utility-rail,.mobile-utility-rail__cookie{display:contents}
.mobile-panel{position:fixed;inset:var(--mobile-panel-top,0px) 0 auto auto;width:min(460px,calc(100% - 12px));max-width:none;height:var(--mobile-panel-height,100dvh);max-height:none;margin:0;padding:0;border:0;border-left:1px solid #dfe3df;border-radius:14px 0 0 14px;background:#f8f9f6;color:var(--ink,#242a2b);overflow:hidden;box-shadow:-12px 0 44px #10181735;color-scheme:light}
.mobile-panel[open]{display:flex;flex-direction:column;animation:mobile-panel-in .2s ease-out}
.mobile-panel::backdrop{background:#1018179c}
.mobile-panel__head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none;padding:22px 18px 18px}
.mobile-panel__head .eyebrow{font-size:.65rem;color:#6b7173;letter-spacing:.14em}
.mobile-panel__title{margin-top:5px;font-family:Manrope,Inter,sans-serif;font-size:1.55rem;font-weight:800;line-height:1.2;letter-spacing:-.035em}
.mobile-panel__close{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #c8ceca;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}
.mobile-panel__body{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:0 18px 24px}
.mobile-panel :focus-visible{outline:3px solid #506c14;outline-offset:3px}
.mobile-panel-open{overflow:hidden}
.mobile-menu-links>a,.mobile-menu-tree>summary{display:flex;align-items:center;gap:12px;min-height:54px;padding:13px 4px;border-bottom:1px solid #e0e4df;font-size:.96rem;font-weight:700;line-height:1.3}
.mobile-menu-links>a>span:not(.mobile-icon),.mobile-menu-tree>summary>span:not(.mobile-icon){flex:1;min-width:0}
.mobile-menu-links>a>.mobile-icon:last-child,.mobile-menu-tree>summary>.mobile-icon:last-child{width:18px;height:18px;margin-left:auto}
.mobile-menu-tree summary{list-style:none;cursor:pointer}.mobile-menu-tree summary::-webkit-details-marker{display:none}
.mobile-menu-tree[open]>summary>.mobile-icon:last-child,.mobile-menu-tree__branch[open]>summary>.mobile-icon{transform:rotate(90deg)}
.mobile-menu-tree__branch{margin-left:16px;border-bottom:1px solid #e7e9e5}
.mobile-menu-tree__branch>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:10px 2px;font-size:.875rem;font-weight:650;line-height:1.35}
.mobile-menu-tree__branch>summary>.mobile-icon{width:16px;height:16px}
.mobile-menu-tree__branch>div{display:flex;flex-direction:column;padding:0 0 8px 10px}
.mobile-menu-tree__branch a{display:flex;align-items:center;min-height:44px;padding:7px 4px;font-size:.84rem;line-height:1.35;color:#4a554e}
.mobile-menu-links>.mobile-menu-links__quote{margin-block:10px;padding-inline:12px;border:0;border-radius:10px;background:#edf6cd}
.mobile-menu-legal{display:flex;flex-wrap:wrap;gap:4px 14px;border-top:1px solid #dfe3df;margin-top:24px;padding-top:12px}
.mobile-menu-legal a{display:inline-flex;align-items:center;min-height:44px;font-size:.75rem;color:#616b65}
@keyframes mobile-panel-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:760px){
  :root{--mobile-nav-height:68px;--mobile-rail-height:76px}
  body{padding-bottom:calc(var(--mobile-nav-height) + var(--mobile-rail-height) + 18px + env(safe-area-inset-bottom))}
  .site-header .header-inner{min-height:64px;gap:12px;justify-content:space-between}
  .site-header .brand img{width:146px;max-height:48px;object-fit:contain}
  .site-header .header-actions{gap:0;margin-left:auto}
  .site-header .header-search,.site-header .header-quote,.site-header .mobile-search-toggle{display:none!important}
  .mobile-ui-ready .site-header .menu-toggle{display:none!important}
  .mobile-ui-ready .mobile-menu-trigger{display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:#fff}
  .mobile-menu-trigger>.mobile-icon{width:29px;height:29px}
  .mobile-panel{width:calc(100% - 12px);border-radius:12px 0 0 12px}
  .mobile-panel__head{padding-top:max(20px,env(safe-area-inset-top));padding-right:max(16px,env(safe-area-inset-right))}
  .mobile-bottom-nav{position:fixed;z-index:70;bottom:0;left:0;right:0;display:flex;align-items:stretch;min-height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));padding:5px max(8px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid #e2e6e1;background:#fff;box-shadow:0 -4px 18px #1c251609}
  .mobile-bottom-nav>a{display:flex;flex:1;min-width:0;min-height:56px;align-items:center;justify-content:center;flex-direction:column;gap:4px;border-radius:12px;color:#202728;text-decoration:none;font-size:clamp(.65rem,2.75vw,.76rem);line-height:1.1;touch-action:manipulation}
  .mobile-bottom-nav .mobile-icon{width:25px;height:25px}
  .mobile-bottom-nav>a[aria-current="page"]{background:#1c2523;color:#c8f044;font-weight:750}
  .mobile-bottom-nav>a:focus-visible{outline:3px solid #506c14;outline-offset:-3px}
  .bsafe-floating-contact{display:none!important}
  .mobile-utility-rail{position:fixed;z-index:69;bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 10px);left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;align-items:center;gap:10px;min-height:var(--mobile-rail-height);pointer-events:none}
  .mobile-utility-rail__cookie{display:flex;flex:0 0 44px;align-items:center;justify-content:center;pointer-events:auto}
  .mobile-utility-rail .bsafe-cookie-icon{position:static;inset:auto;width:44px;height:44px;flex:none;border-radius:50%;background:#1c2523;color:#c8f044;box-shadow:0 3px 12px #18201920}
  .mobile-quote-shortcut{display:flex;flex:1;min-width:0;min-height:66px;align-items:center;gap:7px;padding:9px 10px;border:1px solid #e3edca;border-radius:10px;background:#eff9d7;color:#202728;pointer-events:auto;box-shadow:0 3px 14px #1820190b}
  .mobile-quote-shortcut>.mobile-icon{width:20px;height:24px}
  .mobile-quote-shortcut>.mobile-icon:last-child{width:14px;height:18px;margin-left:auto}
  .mobile-quote-shortcut>span:not(.mobile-icon){min-width:0;flex:1}
  .mobile-quote-shortcut strong{display:block;font-size:clamp(.71rem,2.9vw,.82rem);font-weight:800;line-height:1.3;letter-spacing:-.018em}
  .mobile-quote-shortcut small{display:block;margin-top:3px;color:#59634f;font-size:clamp(.68rem,2.7vw,.76rem);line-height:1.3}
  .bsafe-cookie-banner{left:12px;right:12px;bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 10px);width:auto;max-width:none}
  .business-ticker{display:none}
}
@media(prefers-reduced-motion:reduce){.mobile-panel[open]{animation:none}.mobile-menu-tree .mobile-icon{transition:none}}

@media(max-width:760px){
  .mobile-quote-widget{display:flex;flex:0 1 auto;align-items:center;gap:6px;width:calc(100% - 54px);height:76px;margin-left:auto;padding:6px;border:1px solid #e3edca;border-radius:12px;background:#eff9d7;box-shadow:0 3px 14px #1820190b;overflow:hidden;pointer-events:auto;transition:width .32s ease,height .32s ease,border-radius .32s ease}
  .mobile-quote-widget .mobile-quote-shortcut{display:flex;flex:1;min-width:0;height:62px;min-height:0;gap:5px;margin:0;padding:0 4px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden;transition:opacity .12s ease}
  .mobile-quote-toggle{position:relative;display:none;flex:none;align-items:center;justify-content:center;width:40px;height:48px;padding:0;border:0;border-radius:50%;background:#e5f5b8;color:#202728;cursor:pointer}
  .mobile-quote-toggle[hidden]{display:none}
  .mobile-quote-widget.is-enhanced .mobile-quote-toggle{display:flex}
  .mobile-quote-widget.is-enhanced .mobile-quote-shortcut>.mobile-icon:first-child{display:none}
  .mobile-quote-toggle>.mobile-icon{width:27px;height:30px}
  .mobile-quote-toggle:focus-visible,.mobile-quote-shortcut:focus-visible{outline:3px solid #506c14;outline-offset:-2px}
  .mobile-quote-badge{display:none;position:absolute;top:0;right:-3px;min-width:19px;height:19px;padding:0 3px;align-items:center;justify-content:center;border-radius:20px;background:#fff7f5;color:#8b1837;font-size:.72rem;font-weight:850;line-height:1;box-shadow:0 0 0 1px #e4c8ce}
  .mobile-quote-widget.is-collapsed{width:54px;height:54px;border-radius:50%}
  .mobile-quote-widget.is-collapsed .mobile-quote-toggle{height:40px;background:transparent}
  .mobile-quote-widget.is-collapsed .mobile-quote-badge{display:flex}
  .mobile-quote-widget.is-collapsed .mobile-quote-shortcut{visibility:hidden;opacity:0;pointer-events:none;flex-basis:0}
}
@media(prefers-reduced-motion:reduce){.mobile-quote-widget,.mobile-quote-widget .mobile-quote-shortcut{transition:none}}
