/* Public + market desktop stabilization. This is a bounded final pass:
 * 901–1550px layout, accessible editorial contrast, sticky chrome,
 * compact flyout, and readable home showcase. Never targets cabin apps. */

/* The desktop sidebar's existing cloned flyout is the sole child menu.
   Never let the original <details> options stretch the sidebar downward. */
@media(min-width:901px){
 html body .bu-core-unified-side .bu-core-side-more[data-bu-one-bound="1"]>.bu-core-side-more-options{
  display:none!important;position:absolute!important;visibility:hidden!important;
  height:0!important;min-height:0!important;pointer-events:none!important;
 }
 html body>.bu-one-side-flyout{
  box-sizing:border-box!important;width:min(292px,calc(100vw - 180px))!important;
  max-height:min(420px,calc(100dvh - 28px))!important;
  height:auto!important;min-height:0!important;overflow:hidden!important;
  padding:9px!important;border-radius:14px!important;
 }
 html body>.bu-one-side-flyout .bu-one-side-flyout-links{
  max-height:calc(min(420px,100dvh - 28px) - 54px)!important;
  display:flex!important;flex-direction:column!important;gap:4px!important;
  overflow-y:auto!important;overscroll-behavior:contain!important;
 }
 html body>.bu-one-side-flyout .bu-one-side-flyout-links a{
  box-sizing:border-box!important;flex:0 0 auto!important;
  min-height:38px!important;padding:7px 10px!important;
  font-size:11px!important;
 }
}
/* Actual Core mobile rules remain in their own stylesheet. */
@media(min-width:901px) and (max-width:1550px){
 html body.bux3-page #bux3[data-kind] .bux3-main{
  box-sizing:border-box!important;min-width:0!important;
  padding:6px 8px 8px!important;overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-work{
  box-sizing:border-box!important;display:grid!important;
  grid-template-columns:minmax(0,1fr) clamp(310px,27vw,390px)!important;
  gap:7px!important;min-width:0!important;min-height:0!important;overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-results,
 html body.bux3-page #bux3[data-kind] #bux3-dock{
  min-width:0!important;min-height:0!important;border-radius:12px!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-cards{
  box-sizing:border-box!important;display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:max-content!important;grid-auto-flow:row!important;
  align-content:start!important;align-items:start!important;gap:6px!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  padding:5px 5px 8px!important;overflow-x:hidden!important;overflow-y:auto!important;
  scroll-snap-type:none!important;scrollbar-gutter:stable!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-card{
  box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
  align-self:start!important;justify-content:flex-start!important;align-items:stretch!important;
  grid-template-rows:none!important;grid-auto-rows:auto!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:6px 7px!important;gap:4px!important;
  border-radius:10px!important;overflow:visible!important;
  background:#fff!important;box-shadow:none!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-card-head{
  display:flex!important;align-items:center!important;flex-wrap:nowrap!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  min-height:26px!important;height:26px!important;max-height:26px!important;
  padding:0!important;margin:0!important;gap:4px!important;overflow:visible!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-card-head .bux3-badge{
  flex:0 1 auto!important;min-width:0!important;max-width:115px!important;
  overflow:hidden!important;text-overflow:ellipsis!important;
  padding:3px 5px!important;font-size:9px!important;white-space:nowrap!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-card-head .bux3-price{
  flex:0 0 auto!important;font-size:13px!important;line-height:1.1!important;
  white-space:nowrap!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-card-head :is(.bux3-details,.bux3-save,.bu330-msg-btn){
  flex:0 0 auto!important;min-width:28px!important;
  min-height:27px!important;height:27px!important;
  padding:2px 5px!important;margin:0!important;font-size:10px!important;
  pointer-events:auto!important;touch-action:manipulation!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-card-head .bux3-details{
  min-width:70px!important;font-size:10px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-route{
  display:grid!important;grid-template-columns:minmax(0,1fr) 13px minmax(0,1fr)!important;
  min-width:0!important;width:100%!important;
  min-height:49px!important;height:49px!important;max-height:49px!important;
  gap:3px!important;margin:0!important;overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-stop{
  box-sizing:border-box!important;display:grid!important;
  min-width:0!important;max-width:100%!important;
  min-height:49px!important;height:49px!important;max-height:49px!important;
  padding:4px 5px!important;gap:1px 4px!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  border-radius:7px!important;overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-stop>i{
  width:20px!important;min-width:20px!important;height:20px!important;
  font-size:11px!important;border-radius:5px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-stop small{
  font-size:8px!important;line-height:1!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-stop strong{
  min-width:0!important;font-size:11px!important;line-height:1.15!important;
  white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-stop em{
  font-size:8px!important;line-height:1.05!important;
  white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-specs{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:32px!important;min-height:32px!important;max-height:32px!important;
  gap:3px!important;margin:0!important;padding:0!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-spec{
  box-sizing:border-box!important;display:flex!important;
  flex-direction:column!important;justify-content:center!important;align-items:center!important;
  min-width:0!important;max-width:100%!important;
  min-height:32px!important;height:32px!important;max-height:32px!important;
  padding:3px 2px!important;gap:2px!important;
  border-radius:6px!important;overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-spec small{
  max-width:100%!important;font-size:8px!important;line-height:1!important;
  text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-spec b{
  max-width:100%!important;font-size:10px!important;line-height:1.1!important;
  text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-card.bu317-demo .bux3-card-foot{
  display:none!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-card-foot{
  box-sizing:border-box!important;min-height:0!important;height:auto!important;
  flex:0 0 auto!important;margin:0!important;padding:0!important;
 }
 /* The watermark duplicates the clearly labeled DEMO badge, obscuring cards. */
 html body.bux3-page #bux3[data-kind] .bu317-demo-watermark,
 html body.bux3-page #bux3[data-kind] .bu-preview-watermark{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
 }
 /* The dock must have ONE scrollable conversation region, not nested scrollbars. */
 html body.bux3-page #bux3[data-kind] #bux3-dock{
  box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
  align-items:stretch!important;justify-content:flex-start!important;
  overflow:hidden!important;min-height:0!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-dock .bux3-dock-tabs{
  flex:0 0 42px!important;min-height:42px!important;height:42px!important;
  gap:3px!important;overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-dock .bux3-dock-tabs button{
  box-sizing:border-box!important;min-width:0!important;
  padding:3px 4px!important;font-size:10px!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-dock[data-bu328-view="ai"] #bux3-ai-drop{
  box-sizing:border-box!important;position:relative!important;inset:auto!important;
  display:flex!important;flex-direction:column!important;order:2!important;
  flex:1 1 auto!important;width:100%!important;max-width:100%!important;
  min-width:0!important;min-height:0!important;height:auto!important;
  max-height:none!important;margin:0!important;padding:0!important;
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  transform:none!important;overflow:hidden!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-ai-drop .bux3-ai-drop-body{
  box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
  flex:1 1 auto!important;min-height:0!important;max-height:100%!important;
  height:auto!important;overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-ai-drop .bux3-ai-log{
  box-sizing:border-box!important;display:block!important;flex:1 1 auto!important;
  min-height:0!important;max-height:none!important;
  overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain!important;
  padding:10px!important;scrollbar-width:thin!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-ai-drop .bux3-ai-welcome{
  margin:0!important;min-height:0!important;padding:9px!important;
  font-size:11px!important;line-height:1.35!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-ai-drop .bux3-ai-suggest{
  box-sizing:border-box!important;display:flex!important;flex:0 0 auto!important;
  min-height:0!important;max-height:76px!important;flex-wrap:nowrap!important;
  gap:5px!important;overflow-x:auto!important;overflow-y:hidden!important;
  padding:6px!important;border:0!important;scrollbar-width:thin!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-ai-drop .bux3-ai-suggest button{
  flex:0 0 auto!important;min-height:33px!important;height:33px!important;
  padding:4px 8px!important;font-size:10px!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-ai-drop .bux3-ai-form{
  box-sizing:border-box!important;display:grid!important;flex:0 0 auto!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:5px!important;min-height:54px!important;margin:0!important;padding:6px!important;
  overflow:hidden!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-ai-drop .bux3-ai-form input{
  box-sizing:border-box!important;min-width:0!important;max-width:100%!important;
  height:40px!important;min-height:40px!important;
  font-size:12px!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-ai-drop .bux3-ai-form button{
  flex:0 0 auto!important;min-height:40px!important;height:40px!important;
  padding:5px 9px!important;font-size:11px!important;
 }
}
@media(min-width:901px) and (max-width:1199px){
 html body.bux3-page #bux3[data-kind] .bux3-work{
  display:block!important;grid-template-columns:minmax(0,1fr)!important;
  position:relative!important;min-width:0!important;min-height:0!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-cards{
  grid-template-columns:minmax(0,1fr)!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-dock{
  position:fixed!important;z-index:2147482200!important;
  inset:96px 10px 10px auto!important;
  width:min(520px,calc(100vw - 180px))!important;max-width:calc(100vw - 180px)!important;
  min-height:0!important;height:calc(100dvh - 106px)!important;
  overflow:hidden!important;border-radius:15px!important;
  box-shadow:0 22px 75px rgba(0,24,45,.34)!important;
  transform:none!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-dock:not([data-bu328-view="ai"]):not(.bu-responsive-map-open){
  display:none!important;visibility:hidden!important;pointer-events:none!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-dock[data-bu328-view="ai"],
 html body.bux3-page #bux3[data-kind] #bux3-dock.bu-responsive-map-open{
  display:flex!important;visibility:visible!important;pointer-events:auto!important;
 }
 html body.bux3-page #bux3[data-kind] .bu-responsive-launchers{
  box-sizing:border-box!important;position:fixed!important;z-index:2147482100!important;
  right:15px!important;bottom:15px!important;
  display:flex!important;gap:5px!important;padding:5px!important;
  border:1px solid #a4dcd6!important;border-radius:13px!important;
  background:#f9fffd!important;box-shadow:0 10px 32px rgba(0,45,55,.24)!important;
 }
 html body.bux3-page #bux3[data-kind] .bu-responsive-launchers>button{
  box-sizing:border-box!important;display:flex!important;align-items:center!important;
  justify-content:center!important;gap:5px!important;cursor:pointer!important;
  min-height:42px!important;min-width:69px!important;
  border:1px solid #c1dfdc!important;border-radius:9px!important;
  padding:6px 10px!important;background:#effaf6!important;color:#125567!important;
  font:800 12px/1.15 system-ui,sans-serif!important;
 }
 html body.bux3-page #bux3[data-kind] .bu-responsive-launchers>.bu325-ai-launcher{
  background:linear-gradient(125deg,#0c9c82,#1689b0)!important;color:#fff!important;
 }
 html body.bux3-page #bux3[data-kind] #bux3-dock>.bu-responsive-close{
  box-sizing:border-box!important;position:absolute!important;z-index:100!important;
  top:7px!important;right:7px!important;
  width:32px!important;height:32px!important;min-height:32px!important;
  display:grid!important;place-items:center!important;border:1px solid #89c0b8!important;
  background:#effff9!important;color:#145264!important;
  border-radius:9px!important;font-size:22px!important;cursor:pointer!important;
 }
}
@media(max-height:750px) and (min-width:901px){
 html body.bux3-page #bux3[data-kind] .bux3-card{
  padding:5px 6px!important;gap:3px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-search-tabs{
  min-height:40px!important;height:40px!important;margin-bottom:5px!important;
 }
 html body.bux3-page #bux3[data-kind] .bux3-quick{
  min-height:47px!important;margin-bottom:5px!important;
 }
}
/* Public product contrast: directly target dark panels, leave light cards dark. */
html body.bu-public-unified main.bu-pro .bu-nx{
 color:#eafaff!important;
}
html body.bu-public-unified main.bu-pro .bu-nx h1{
 color:#f6fffc!important;text-shadow:0 3px 21px rgba(0,14,35,.32)!important;
}
html body.bu-public-unified main.bu-pro .bu-nx :is(.bu-nx-k,.bu-nx-soft-copy>p,.bu-nx-ai-copy>p,.bu-nx-drv-copy>p,.bu-nx-plain>p,.bu-nx-firm-answer>p,.bu-nx-firm-problem>p,.bu-nx-firm-problem li,.bu-nx-say){
 color:#cbe7e9!important;opacity:1!important;
}
html body.bu-public-unified main.bu-pro .bu-nx .bu-nx-k{
 color:#8bf5de!important;
}
html body.bu-public-unified main.bu-pro .bu-nx :is(.bu-nx-windows article,.bu-nx-windows article strong,.bu-nx-windows article span){
 color:#16394b!important;opacity:1!important;
}
html body.bu-public-unified main.bu-pro .bu-nx :is(.bu-nx-facts article,.bu-nx-cabin){
 color:#e9fbfa!important;
}
html body.bu-public-unified main.bu-pro .bu-nx .bu-nx-cta a:not(.is-solid){
 color:#124356!important;background:#f4fcfd!important;opacity:1!important;
}
html body.bu-public-unified main.bu-pro .bu-nx .bu-nx-cta a.is-solid{
 color:#fff!important;
}
/* Sticky public navigation always stays BELOW the actual primary header.
 * Reserve the nav slot on first paint so DOMContentLoaded insertion cannot
 * jump the hero, without showing an extra duplicate nav. */
@media(min-width:901px){
 html body.bu-public-unified .bu-one-chrome-public{
  position:sticky!important;top:-35px!important;z-index:1100!important;
 }
 html body.bu-public-unified .bu312-nav{
  position:sticky!important;top:60px!important;z-index:1090!important;
  width:100%!important;max-width:100%!important;
  box-shadow:0 4px 14px rgba(1,30,41,.14)!important;
 }
 html body.bu-public-unified .bu312-nav__inner{
  width:min(calc(100% - 16px),1530px)!important;
  min-height:44px!important;height:44px!important;max-height:44px!important;
  padding:3px 0!important;gap:5px!important;
 }
 html body.bu-public-unified .bu312-nav__identity{
  max-width:145px!important;gap:5px!important;
 }
 html body.bu-public-unified .bu312-nav__mark{
  width:29px!important;height:29px!important;flex-basis:29px!important;
  font-size:15px!important;border-radius:8px!important;
 }
 html body.bu-public-unified .bu312-nav__identity-copy strong{font-size:10px!important}
 html body.bu-public-unified .bu312-nav__identity-copy small{font-size:8px!important}
 html body.bu-public-unified .bu312-nav__primary{
  gap:5px!important;
 }
 html body.bu-public-unified .bu312-nav__item{
  min-height:35px!important;height:35px!important;
  padding:5px 6px!important;border-radius:8px!important;
  font-size:11px!important;white-space:nowrap!important;
  text-overflow:ellipsis!important;overflow:hidden!important;
 }
 html body.bu-public-unified .bu312-nav__details,
 html body.bu-public-unified .bu312-nav__toggle{
  min-width:112px!important;max-width:135px!important;
  min-height:35px!important;height:35px!important;
  border-radius:8px!important;padding:5px 7px!important;
  font-size:11px!important;
 }
}
/* Carousel: richer but readable card hierarchy, controls and focus. */
html body.home.bu-public-unified .bn-orbit-carousel__stage{
 contain:layout!important;overflow:hidden!important;
}
html body.home.bu-public-unified .bn-orbit-slide{
 border:1px solid rgba(169,250,231,.55)!important;
 background:radial-gradient(ellipse at 87% 0%,rgba(35,174,177,.26),transparent 63%),linear-gradient(145deg,#0a465e,#07263d)!important;
 color:#f5fffa!important;
 box-shadow:0 18px 42px rgba(0,24,39,.28)!important;
 backface-visibility:hidden!important;
}
html body.home.bu-public-unified .bn-orbit-slide h3{
 color:#f7fffc!important;line-height:1.18!important;
}
html body.home.bu-public-unified .bn-orbit-slide p{
 color:#c1e1e4!important;opacity:1!important;
 font-size:12px!important;line-height:1.55!important;
}
html body.home.bu-public-unified .bn-orbit-slide__link{
 border:1px solid rgba(128,246,219,.54)!important;
 background:#0a716e!important;color:#fff!important;
 min-height:38px!important;
}
html body.home.bu-public-unified .bn-orbit-carousel__controls button{
 min-width:44px!important;min-height:44px!important;
}
html body.home.bu-public-unified .bn-orbit-carousel__controls button:focus-visible,
html body.home.bu-public-unified .bn-orbit-slide__link:focus-visible{
 outline:3px solid #93ffdb!important;outline-offset:3px!important;
}
@media(prefers-reduced-motion:reduce){
 html body.home.bu-public-unified .bn-orbit-slide{transition:none!important}
}