/* == Welchs mobile UX fixes (audit) == */
/* Breadcrumb hidden on all pages (kept in DOM for crawlers); heroes flush to header */
.crumb{ position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }

@media (max-width: 900px){
  .hero .btn-row, .page-hero .btn-row{ justify-content:center !important; align-items:center !important; text-align:center !important; }
  .hero .btn-row .btn, .page-hero .btn-row .btn{ margin-left:auto !important; margin-right:auto !important; }

  .topbar{ display:none !important; }

  .mobile-bar{ display:flex !important; position:fixed !important; left:0 !important; right:0 !important; bottom:0 !important; top:auto !important; z-index:99000 !important; gap:10px !important; padding:9px 12px !important; box-shadow:0 -2px 12px rgba(0,0,0,.18) !important; background:#fff !important; }
  .mobile-bar .btn, .mobile-bar > a{ flex:1 1 0 !important; text-align:center !important; justify-content:center !important; margin:0 !important; }
  body{ padding-bottom:66px !important; }

  .nav.open{ justify-content:flex-start !important; align-items:stretch !important; padding:64px 0 44px !important; overflow-y:auto !important; gap:0 !important; z-index:100040 !important; box-sizing:border-box !important; }
  .nav.open > a, .nav.open > span.has-sub > a{ display:block !important; padding:13px 24px !important; border-bottom:1px solid #eef2f6 !important; font-size:16px !important; text-align:left !important; width:100% !important; box-sizing:border-box !important; }
  .nav.open > span.has-sub{ display:block !important; width:100% !important; }
  .nav.open > span.has-sub > a{ font-weight:800 !important; color:#0B3F6E !important; }

  /* Accordion: submenus collapsed, expand on tap (.sub-open added by footer JS) */
  .nav.open .submenu{ position:static !important; box-shadow:none !important; background:#f5f9fc !important; padding:0 !important; min-width:0 !important; border:0 !important; margin:0 !important; width:100% !important; box-sizing:border-box !important; display:none !important; }
  .nav.open .has-sub.sub-open .submenu{ display:block !important; padding:2px 0 6px !important; }
  .nav.open .submenu a{ display:block !important; padding:10px 24px 10px 42px !important; font-size:14px !important; color:#22374a !important; border:0 !important; text-align:left !important; box-sizing:border-box !important; }
  .nav.open > span.has-sub > a::after{ content:"\25be"; float:right; color:#1870B8; transition:transform .2s ease; }
  .nav.open > span.has-sub.sub-open > a::after{ transform:rotate(180deg); }

  .nav.open .nav-mobile-cta{ display:block !important; box-sizing:border-box !important; width:calc(100% - 48px) !important; max-width:none !important; min-width:0 !important; margin:12px 24px 0 !important; text-align:center !important; justify-content:center !important; }

  .nav-toggle[aria-expanded="true"]{ position:fixed !important; top:12px; right:14px; z-index:100060 !important; background:#fff !important; width:44px !important; height:44px !important; border-radius:8px !important; box-shadow:0 2px 10px rgba(0,0,0,.15) !important; display:flex !important; align-items:center; justify-content:center; }
  .nav-toggle[aria-expanded="true"] svg{ display:none !important; }
  .nav-toggle[aria-expanded="true"]::before{ content:"\00d7"; font-size:30px; line-height:1; color:#0B3F6E; font-weight:400; }
}
/* == Hero zoom-out (taller heroes reveal full scene) == */
.entry-content .page-hero{min-height:600px !important}
@media(max-width:600px){.entry-content .page-hero{min-height:480px !important}}

/* == Hero framing per page (human-tuned crops) == */
.page-id-15 .page-hero{background-position:center 68% !important}
.page-id-21 .page-hero{background-position:center 66% !important}
.page-id-22 .page-hero{background-position:center 85% !important}
.page-id-25 .page-hero{background-position:center 55% !important}
.page-id-26 .page-hero{background-position:center 72% !important}
.page-id-30 .page-hero,.page-id-31 .page-hero,.page-id-57 .page-hero,.page-id-61 .page-hero,.page-id-65 .page-hero,.page-id-69 .page-hero,.page-id-72 .page-hero,.page-id-73 .page-hero{background-position:center 72% !important}


/* == Inline icon sizing guard ==
   Stops an unscoped svg{width:100%;height:100%} rule from any plugin
   blowing up inline icons before the full stylesheet loads. */
.topbar svg,.btn svg,.hero-badge svg,.hero-card li svg,.trust__item svg,.site-header svg,.site-footer svg{width:24px;height:24px;flex:0 0 auto}
.nav-toggle svg{width:22px;height:22px;flex:0 0 auto}
