/* Public-only responsive repair; preserves Admin and Manage layouts. */
body:has(.public-home) .container{max-width:none;padding:0;overflow:clip}
.top{position:sticky;top:0;z-index:1000;box-shadow:0 4px 22px rgba(15,40,75,.09);padding:12px max(18px,calc((100vw - 1240px)/2));gap:18px}
.top .brand{flex:0 0 auto;max-width:220px!important}
.top .brand img{max-height:65px!important}
.top nav{gap:8px;flex-wrap:wrap;justify-content:flex-end}
.top nav a{color:#12365b;padding:9px 11px;border-radius:8px;white-space:nowrap}
.top nav a:hover,.top nav a:focus-visible{background:#eef5ff;text-decoration:none}
.top nav .button{background:#f97316;color:#fff}
.public-home .dlg-wrap{max-width:1180px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.public-home .dlg-industry-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0 36px}
.public-home .dlg-industry{display:flex!important;align-items:center;gap:10px;min-width:0;min-height:74px;padding:16px;background:#fff;border:1px solid #dbe5f1;border-radius:14px;color:#173d64!important;font-weight:650;line-height:1.4;text-decoration:none!important;box-shadow:0 5px 18px rgba(17,50,82,.04);overflow-wrap:anywhere}
.public-home .dlg-industry span{flex-shrink:0;font-size:23px}
.public-home .dlg-industry:hover{border-color:#f97316;transform:translateY(-2px)}
.public-home .dlg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.public-home .dlg-card{min-width:0}
.public-home h1,.public-home h2,.public-home h3{overflow-wrap:break-word}
.public-home .dlg-actions{display:flex;gap:12px;flex-wrap:wrap}
.public-home .dlg-btn{display:inline-flex;justify-content:center;align-items:center;max-width:100%;text-align:center}
.footer{position:relative;z-index:1}
@media(max-width:1050px){.top{flex-wrap:wrap}.top nav{gap:4px}.public-home .dlg-industry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.top{padding:10px 16px;flex-wrap:wrap}.top .brand{max-width:195px!important}.top .brand img{max-height:62px!important}.top .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:88px;min-height:44px;margin-left:auto;padding:9px 14px;border-radius:10px;background:#103b69;color:#fff;font-weight:700}.top nav{flex-basis:100%;display:none;flex-direction:column;align-items:stretch;gap:4px;width:100%;max-height:70vh;overflow-y:auto;background:#fff;padding:12px;border-radius:12px;box-shadow:0 12px 28px #10233f20}.top nav a{display:block;padding:11px 13px;white-space:normal}.top nav .button{display:flex}.top nav form{width:100%}.top nav[style*="flex"],.top nav.is-open,.top nav.open{display:flex}.public-home .dlg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.top .brand{max-width:175px!important}.top .brand img{max-height:56px!important}.public-home .dlg-wrap{padding-left:18px;padding-right:18px}.public-home .dlg-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.public-home .dlg-industry{padding:12px;min-height:82px;font-size:13px;gap:7px}.public-home .dlg-industry span{font-size:20px}.public-home .dlg-grid{grid-template-columns:1fr}.public-home .dlg-actions>*{width:100%}.public-home section{scroll-margin-top:95px}.dlines-wa-float{bottom:84px!important;right:12px!important;width:48px!important;height:48px!important}}
@media(max-width:370px){.top .brand{max-width:145px!important}.public-home .dlg-industry-grid{grid-template-columns:1fr}.public-home .dlg-industry{min-height:58px}}

/* 2026-11-11 mobile header accessibility and compact navigation */
@media(max-width:900px){
 .top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-height:76px}
 .top .brand{min-width:0;max-width:min(55vw,200px)!important}
 .top .menu-toggle{flex:0 0 auto!important;min-width:48px!important;min-height:46px!important;width:48px!important;padding:8px!important;font-size:0!important;line-height:1!important;border:1px solid #cbd8e7!important;background:#fff!important;color:#12365b!important;box-shadow:0 3px 12px #16335415}
 .top .menu-toggle::before{content:"☰";font-size:25px!important;line-height:1!important}
 .top .menu-toggle[aria-expanded="true"]::before{content:"✕"}
 .top nav{flex-basis:100%!important;order:3!important;box-sizing:border-box!important}
 .top nav.open{display:flex!important}
 .top nav a{font-size:15px!important;line-height:1.4!important}
}
@media(max-width:420px){.top{padding:10px 12px!important}.top .brand{max-width:calc(100vw - 95px)!important}.top .brand img{max-height:54px!important}}


/* 2026-11-12: Public mobile menu containment fix (screenshot regression).
   Scoped to the public stylesheet; no Admin/Manage/auth changes. */
@media (max-width:900px) {
  body .top {display:flex!important;flex-wrap:wrap!important;align-items:center!important;align-content:flex-start!important;justify-content:space-between!important;height:auto!important;min-height:0!important;gap:10px!important;padding:10px 14px!important}
  body .top > .brand {flex:0 1 auto!important;width:auto!important;min-width:0!important;max-width:calc(100% - 68px)!important;margin:0!important}
  body .top > .brand img {width:auto!important;max-width:100%!important;max-height:58px!important;object-fit:contain!important}
  body .top > .menu-toggle {display:inline-flex!important;position:static!important;order:1!important;flex:0 0 48px!important;width:48px!important;height:46px!important;min-width:48px!important;margin:0 0 0 auto!important}
  body .top > nav#main-navigation {display:none!important;position:static!important;order:2!important;flex:0 0 100%!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:min(68dvh,560px)!important;margin:0!important;padding:8px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;box-sizing:border-box!important;grid-template-columns:none!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;align-content:stretch!important;justify-content:flex-start!important;gap:2px!important;border:1px solid #dbe5ef!important;border-radius:12px!important;background:#fff!important;box-shadow:0 12px 26px #10233f18!important}
  body .top > nav#main-navigation.open {display:flex!important}
  body .top > nav#main-navigation > a,
  body .top > nav#main-navigation > button,
  body .top > nav#main-navigation > form {display:block!important;position:static!important;flex:0 0 auto!important;align-self:stretch!important;width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;margin:0!important;padding:12px 14px!important;box-sizing:border-box!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important;font-size:15px!important;line-height:1.4!important}
  body .top > nav#main-navigation > a.button {display:block!important;border-radius:9px!important;text-align:center!important;background:#2454d6!important;color:#fff!important}
  body .top > nav#main-navigation > button {border:1px solid #dbe5ef!important;border-radius:9px!important;background:#f7faff!important}
  body .top > nav#main-navigation > a:focus-visible,
  body .top > .menu-toggle:focus-visible {outline:3px solid #2476e5!important;outline-offset:2px!important}
}

/* Homepage is part of the site shell, not a boxed panel pasted below the header. */
body:has(.public-home) #main-content.container{width:100%;max-width:none!important;margin:0!important;padding:0!important;min-height:0!important;overflow:visible!important}
body:has(.public-home) .public-home{width:100%;max-width:100%;margin:0;background:#fff;overflow-x:clip}
body:has(.public-home) .public-home>section{margin-top:0;margin-bottom:0}
body:has(.public-home) .public-home>section.dlg-wrap{width:min(100%,1240px);margin-inline:auto;padding:clamp(36px,5vw,72px) clamp(16px,3vw,28px)}
body:has(.public-home) .public-home>section.dlg-tint{padding-block:clamp(36px,5vw,68px);background:#f2f6fa}
body:has(.public-home) .public-home>section.dlg-hero{width:100%;border-radius:0;margin:0;box-shadow:none}
body:has(.public-home) .public-home .dlg-hero>.dlg-wrap{width:min(100%,1240px);margin-inline:auto;padding:clamp(56px,7vw,100px) clamp(16px,3vw,28px)}
body:has(.public-home) .public-home .dlg-cta{box-shadow:none}
body:has(.public-home) .public-home .dlg-grid,body:has(.public-home) .public-home .dlg-industry-grid{max-width:100%}
@media(max-width:767px){
 body:has(.public-home) .public-home>section.dlg-wrap{padding:36px 16px!important}
 body:has(.public-home) .public-home>section.dlg-tint{padding-block:32px}
 body:has(.public-home) .public-home .dlg-hero>.dlg-wrap{padding:48px 16px!important}
}

/* Frontview consistency: scoped Public presentation refinements, no layout replacement. */
.public-home .dlg-title{font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.18;letter-spacing:-.025em;color:#10345a}
.public-home .dlg-lead{max-width:760px;line-height:1.75;color:#50637a}
.public-home .dlg-card{display:flex;flex-direction:column;gap:10px;padding:clamp(18px,2.4vw,28px);border:1px solid #dce7f3;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(17,50,82,.055);transition:box-shadow .2s,border-color .2s,transform .2s}
.public-home .dlg-card h3{margin:0;line-height:1.35;color:#14385f}
.public-home .dlg-card p{line-height:1.65;color:#53657b}
.public-home .dlg-card .dlg-btn{margin-top:auto;align-self:flex-start}
.public-home .dlg-btn{min-height:44px;padding:11px 18px;border-radius:10px;line-height:1.4;text-decoration:none}
.public-home .dlg-industry{transition:border-color .2s,box-shadow .2s,transform .2s}
.public-home .dlg-card:hover,.public-home .dlg-card:focus-within{border-color:#b4d3f2;box-shadow:0 12px 30px rgba(17,50,82,.1)}
.public-home .dlg-card a:focus-visible,.public-home .dlg-industry:focus-visible,.public-home .dlg-btn:focus-visible{outline:3px solid #2876d7;outline-offset:3px}
@media(min-width:901px){.public-home .dlg-card:hover{transform:translateY(-3px)}}
@media(max-width:650px){.public-home .dlg-card{padding:20px;border-radius:14px}.public-home .dlg-card .dlg-btn{align-self:stretch}.public-home .dlg-title{font-size:clamp(1.55rem,7vw,2rem)}.public-home .dlg-lead{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.public-home .dlg-card,.public-home .dlg-industry{transition:none!important;transform:none!important}}
