/* V66 — restore .com marketing width, keep nav visible, make Hub phone larger but contained, and remove horizontal drift. */
html,body{max-width:100%!important;overflow-x:hidden!important;}
body.page-communication-hub,body.page-home{min-width:0!important;}
body.page-communication-hub *,body.page-home *{box-sizing:border-box;}
body.page-communication-hub .ambient-bg,body.page-home .ambient-bg{max-width:100vw!important;overflow:hidden!important;}

/* Marketing header must never be allowed to create horizontal scroll or drift left. */
body.page-communication-hub .site-header,
body.page-home .site-header,
body[class^="page-"] .site-header{
  width:min(1280px,calc(100vw - 96px))!important;
  max-width:calc(100vw - 96px)!important;
  min-width:0!important;
  margin:22px auto 0!important;
  left:auto!important;
  right:auto!important;
  top:22px!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  overflow:visible!important;
  position:sticky!important;
  z-index:1000!important;
}
body[class^="page-"] .site-header .brand{flex:0 0 auto!important;display:flex!important;min-width:150px!important;max-width:190px!important;overflow:visible!important;}
body[class^="page-"] .site-header .brand-logo{display:block!important;max-width:170px!important;height:auto!important;object-fit:contain!important;}
body[class^="page-"] .site-header .desktop-nav{display:flex!important;flex:1 1 auto!important;min-width:0!important;justify-content:center!important;align-items:center!important;gap:clamp(14px,1.35vw,24px)!important;overflow:visible!important;white-space:nowrap!important;}
body[class^="page-"] .site-header .desktop-nav a{display:inline-flex!important;flex:0 0 auto!important;font-size:clamp(12px,.82vw,14px)!important;white-space:nowrap!important;}
body[class^="page-"] .site-header .header-actions{display:flex!important;flex:0 0 auto!important;gap:10px!important;white-space:nowrap!important;}
body[class^="page-"] .site-header .header-actions .btn{white-space:nowrap!important;}

/* Communication Hub hero: no sideways overflow, no clipped left nav, balanced three-column composition. */
.page-communication-hub main{overflow:hidden!important;}
.page-communication-hub .commhub-phone-demo-section{
  width:min(1280px,calc(100vw - 96px))!important;
  max-width:calc(100vw - 96px)!important;
  margin:0 auto!important;
  padding:clamp(28px,3.2vh,44px) 0 clamp(24px,3vh,38px)!important;
  min-height:calc(100svh - 138px)!important;
  display:grid!important;
  grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr)!important;
  gap:clamp(28px,3vw,42px)!important;
  align-items:center!important;
  overflow:visible!important;
}
.page-communication-hub .commhub-copy{min-width:0!important;max-width:520px!important;align-self:center!important;padding:0!important;}
.page-communication-hub .commhub-copy .eyebrow{margin-bottom:18px!important;}
.page-communication-hub .commhub-copy h1{
  max-width:500px!important;
  font-size:clamp(52px,4.85vw,70px)!important;
  line-height:.985!important;
  letter-spacing:-.062em!important;
  margin:0 0 22px!important;
}
.page-communication-hub .commhub-copy .lead{max-width:500px!important;font-size:clamp(16px,1.18vw,19px)!important;line-height:1.42!important;margin:0 0 24px!important;}

.page-communication-hub .commhub-demo-right{
  min-width:0!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(370px,430px) minmax(292px,330px)!important;
  gap:clamp(18px,2vw,26px)!important;
  align-items:center!important;
  justify-content:end!important;
  overflow:visible!important;
}
.page-communication-hub .commhub-phone-stage{min-width:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;}
.page-communication-hub .hub-phone-frame{
  width:clamp(390px,29vw,430px)!important;
  max-width:430px!important;
  min-width:0!important;
  height:min(74svh,770px)!important;
  min-height:650px!important;
  max-height:770px!important;
  aspect-ratio:auto!important;
  margin:0 auto!important;
  overflow:hidden!important;
  border-radius:48px!important;
}
.page-communication-hub .hub-phone-screen{position:absolute!important;inset:12px!important;overflow:hidden!important;border-radius:36px!important;}
.page-communication-hub .phone-replica-shell{height:100%!important;min-height:0!important;display:grid!important;grid-template-columns:62px minmax(0,1fr)!important;overflow:hidden!important;}
.page-communication-hub .phone-replica-shell .replica-chat-stage{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
.page-communication-hub .phone-replica-shell .replica-hub-topbar{flex:0 0 auto!important;min-height:78px!important;padding:16px 14px 12px!important;}
.page-communication-hub .phone-replica-shell .replica-chat-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  padding:16px 14px 14px!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(76,229,255,.9) rgba(255,255,255,.08)!important;
}
.page-communication-hub .phone-replica-shell .replica-chat-scroll::-webkit-scrollbar{width:7px!important;}
.page-communication-hub .phone-replica-shell .replica-chat-scroll::-webkit-scrollbar-track{background:rgba(255,255,255,.08)!important;border-radius:99px!important;}
.page-communication-hub .phone-replica-shell .replica-chat-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#41e6ff,#9b6cff)!important;border-radius:99px!important;}
.page-communication-hub .phone-replica-shell .replica-composer-shell{flex:0 0 auto!important;padding:0 13px 13px!important;background:linear-gradient(180deg,rgba(7,14,32,0),rgba(7,14,32,.82) 22%,rgba(7,14,32,.98))!important;}
.page-communication-hub .phone-replica-shell .replica-composer input{min-width:0!important;}

.page-communication-hub .replica-pack-panel,
.page-communication-hub .phone-pack-panel{width:100%!important;max-width:330px!important;max-height:min(73svh,740px)!important;overflow:hidden!important;align-self:center!important;}
.page-communication-hub .replica-pack-panel .demo-module-grid,
.page-communication-hub .phone-pack-panel .demo-module-grid{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;max-height:230px!important;overflow-y:auto!important;padding-right:4px!important;}
.page-communication-hub .replica-pack-panel .demo-module-chip,
.page-communication-hub .phone-pack-panel .demo-module-chip{display:block!important;white-space:normal!important;text-overflow:clip!important;overflow:visible!important;line-height:1.25!important;font-size:11px!important;padding:9px 10px!important;}
.page-communication-hub .replica-pack-panel .demo-ai-row,
.page-communication-hub .phone-pack-panel .demo-ai-row{display:flex!important;flex-wrap:wrap!important;gap:7px!important;}

/* Keep lower sections below the first hero without strange overlap. */
.page-communication-hub .commhub-phone-demo-section + .page-section{margin-top:clamp(16px,2vh,28px)!important;}

/* Home page must remain marketing-site, not app-shell, and cannot inherit portal horizontal rails. */
.page-home .app-shell,.page-home .module-shell,.page-home .portal-shell,.page-home .envia-shell{display:none!important;}
.page-home .launch-hero,.page-home .premium-home-hero{width:min(1280px,calc(100vw - 96px))!important;max-width:calc(100vw - 96px)!important;margin:0 auto!important;overflow:visible!important;}

@media (max-width:1180px){
  body[class^="page-"] .site-header{width:min(1120px,calc(100vw - 48px))!important;max-width:calc(100vw - 48px)!important;}
  body[class^="page-"] .site-header .brand{min-width:120px!important;}.site-header .brand-logo{max-width:145px!important;}
  body[class^="page-"] .site-header .desktop-nav{gap:12px!important;}
  body[class^="page-"] .site-header .desktop-nav a{font-size:12px!important;}
  .page-communication-hub .commhub-phone-demo-section{width:calc(100vw - 48px)!important;max-width:calc(100vw - 48px)!important;grid-template-columns:1fr!important;min-height:auto!important;padding-top:34px!important;}
  .page-communication-hub .commhub-copy{max-width:720px!important;}
  .page-communication-hub .commhub-demo-right{grid-template-columns:minmax(370px,430px) minmax(292px,330px)!important;justify-content:center!important;}
}
@media (max-width:820px){
  body[class^="page-"] .site-header{width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important;margin-top:14px!important;}
  body[class^="page-"] .site-header .desktop-nav{display:none!important;}
  .page-communication-hub .commhub-phone-demo-section{width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important;}
  .page-communication-hub .commhub-demo-right{grid-template-columns:1fr!important;}
  .page-communication-hub .hub-phone-frame{width:min(94vw,430px)!important;height:min(74svh,720px)!important;min-height:620px!important;}
  .page-communication-hub .replica-pack-panel,.page-communication-hub .phone-pack-panel{max-width:100%!important;}
}
