/* R25.6 public header hardening — consistent across every main-site public page. */
body.role-public>.topbar,
body.public-home-body>.topbar{
  display:flex!important;visibility:visible!important;opacity:1!important;
  position:sticky!important;top:0!important;z-index:1000!important;
  min-height:66px!important;width:100%!important;
  align-items:center!important;justify-content:space-between!important;
  gap:14px!important;overflow:visible!important;
}
body.role-public>.topbar .brand,
body.public-home-body>.topbar .brand{display:flex!important;visibility:visible!important;min-width:0!important;flex:0 1 auto!important}
body.role-public>.topbar .brand-mark,
body.public-home-body>.topbar .brand-mark{display:grid!important;flex:0 0 auto!important}
body.role-public>.topbar .topnav,
body.public-home-body>.topbar .topnav{display:flex!important;visibility:visible!important;align-items:center!important;gap:7px!important;max-width:none!important;overflow:visible!important}
body.role-public>.topbar .topnav a,
body.public-home-body>.topbar .topnav a{display:inline-flex!important;visibility:visible!important;white-space:nowrap!important}
.public-mobile-nav{display:none;position:relative;margin-left:auto}
.public-mobile-nav>summary{list-style:none;cursor:pointer;width:42px;height:42px;border:1px solid rgba(15,23,42,.12);border-radius:12px;background:#fff;color:#172033;display:grid;place-items:center;font-size:20px;font-weight:900;box-shadow:0 8px 22px rgba(15,23,42,.08)}
.public-mobile-nav>summary::-webkit-details-marker{display:none}
.public-mobile-nav-panel{position:absolute;right:0;top:calc(100% + 9px);width:min(82vw,280px);padding:8px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 22px 60px rgba(15,23,42,.20);display:grid;gap:4px}
.public-mobile-nav-panel a{display:flex;min-height:42px;align-items:center;padding:9px 11px;border-radius:11px;color:#172033;text-decoration:none;font-weight:800}
.public-mobile-nav-panel a:hover{background:#f4f6ff;color:#3730a3}
.public-mobile-nav-panel .public-mobile-primary{background:linear-gradient(135deg,#4f46e5,#2563eb 55%,#06b6d4);color:#fff}
@media(max-width:820px){
  body.role-public>.topbar,body.public-home-body>.topbar{min-height:60px!important;padding:8px 12px!important;flex-wrap:nowrap!important}
  body.role-public>.topbar .brand,body.public-home-body>.topbar .brand{max-width:calc(100% - 56px)!important}
  body.role-public>.topbar .brand-mark,body.public-home-body>.topbar .brand-mark{width:40px!important;height:40px!important;min-width:40px!important;flex-basis:40px!important}
  body.role-public>.topbar .brand>span:last-child strong,body.public-home-body>.topbar .brand>span:last-child strong{display:block!important;font-size:15px!important;line-height:1.1!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.role-public>.topbar .brand>span:last-child small,body.public-home-body>.topbar .brand>span:last-child small{display:none!important}
  body.role-public>.topbar .topnav,body.public-home-body>.topbar .topnav{display:none!important}
  .public-mobile-nav{display:block!important}
}
@media(min-width:821px){.public-mobile-nav{display:none!important}}


/* R131 public branding + homepage edge-gap repair */
body.role-public>.topbar,body.public-home-body>.topbar{margin:0!important;border-top:0!important;transform:none!important}
body.role-public>.topbar .brand-mark,body.public-home-body>.topbar .brand-mark{overflow:hidden!important;background:#fff!important}
body.role-public>.topbar .brand-mark img,body.public-home-body>.topbar .brand-mark img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important;padding:2px!important}
body.public-home-body>main.container{margin-top:0!important;padding-top:0!important;border-top:0!important}
body.public-home-body>main.container>.ckp-public-home:first-child,body.public-home-body .ckp-public-home,body.public-home-body .ckp-home-hero{margin-top:0!important;border-top:0!important}
body.public-home-body .ckp-home-hero :is(img,picture,svg){vertical-align:middle}
body.public-home-body .ckp-home-hero img,body.public-home-body .ckp-home-hero picture{display:block!important}
body.public-home-body .ckp-home-hero>*,body.public-home-body .ckp-public-home>*:first-child{border-top-color:transparent}
