/* VSH Network v37.9.3 — responsive chrome contract
 * One document scroll. Fixed top chrome. Sticky desktop rails.
 * Tablet/mobile never inherit desktop side-rail geometry.
 */
:root{--vsh-topbar-h:74px;--vsh-rail-gap:14px;--vsh-page-gutter:24px}
html{scroll-padding-top:calc(var(--vsh-topbar-h) + 16px)!important;overflow-x:hidden!important}
body{
  padding-top:var(--vsh-topbar-h)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  min-height:100vh!important;
  height:auto!important;
}
.vsh-topbar{
  position:fixed!important;
  top:0!important;left:0!important;right:0!important;
  width:100%!important;
  z-index:2000!important;
  margin:0!important;
}
/* Never restore the legacy center-scroll shell. */
body.vsh-fixed-app-shell{height:auto!important;overflow-x:hidden!important;overflow-y:auto!important}
.vsh-shell,.vsh-profile-shell,
body.vsh-fixed-app-shell .vsh-shell,body.vsh-fixed-app-shell .vsh-profile-shell{
  overflow:visible!important;
  height:auto!important;max-height:none!important;
  min-height:calc(100vh - var(--vsh-topbar-h))!important;
}
.vsh-center,.vsh-profile-main,
body.vsh-fixed-app-shell .vsh-center,body.vsh-fixed-app-shell .vsh-profile-main{
  min-width:0!important;max-width:100%!important;
  height:auto!important;max-height:none!important;
  overflow:visible!important;
}

/* =========================
   DESKTOP / LAPTOP CONTRACT
   ========================= */
@media (min-width:1280px){
  :root{--vsh-page-gutter:24px}
  .vsh-topbar{height:74px!important;min-height:74px!important;padding:0 34px!important;display:flex!important;align-items:center!important;gap:24px!important}
  .vsh-brand{flex:0 0 auto!important}.vsh-brand strong{display:inline!important}
  .vsh-home-vsh-link{display:inline-flex!important}
  .vsh-top-search{display:flex!important;flex:1 1 520px!important;min-width:260px!important;max-width:620px!important;height:52px!important;margin:0!important;order:initial!important}
  .vsh-top-actions{display:flex!important;margin-left:auto!important;align-items:center!important;gap:10px!important}
  .vsh-mobile-menu-toggle{display:none!important}

  /* Explicit three-layer geometry. Center can never occupy rail columns. */
  body:not(.vsh-view-videos):not(.vsh-view-video):not(.vsh-view-research):not(.vsh-view-work):not(.vsh-view-jobs):not(.vsh-view-job) .vsh-shell{
    width:min(1580px,100%)!important;
    max-width:1580px!important;
    margin:0 auto!important;
    padding:20px var(--vsh-page-gutter) 32px!important;
    display:grid!important;
    grid-template-columns:minmax(230px,270px) minmax(0,1fr) minmax(290px,340px)!important;
    grid-template-areas:"left center right"!important;
    gap:28px!important;
    align-items:start!important;
  }
  body:not(.vsh-view-videos):not(.vsh-view-video):not(.vsh-view-research):not(.vsh-view-work):not(.vsh-view-jobs):not(.vsh-view-job) .vsh-shell>.vsh-left{grid-area:left!important}
  body:not(.vsh-view-videos):not(.vsh-view-video):not(.vsh-view-research):not(.vsh-view-work):not(.vsh-view-jobs):not(.vsh-view-job) .vsh-shell>.vsh-center{grid-area:center!important}
  body:not(.vsh-view-videos):not(.vsh-view-video):not(.vsh-view-research):not(.vsh-view-work):not(.vsh-view-jobs):not(.vsh-view-job) .vsh-shell>.vsh-right{grid-area:right!important}

  /* Profile uses the same physical rail contract. */
  .vsh-profile-shell{
    width:min(1580px,100%)!important;max-width:1580px!important;margin:0 auto!important;
    padding-top:20px!important;align-items:start!important;overflow:visible!important;
  }

  /* Side rails remain visually fixed while document/newsfeed scrolls. */
  .vsh-shell>.vsh-left,.vsh-profile-shell>.vsh-left,
  .vsh-shell>.vsh-right,.vsh-profile-shell>.vsh-right{
    position:sticky!important;
    top:calc(var(--vsh-topbar-h) + var(--vsh-rail-gap))!important;
    align-self:start!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - var(--vsh-topbar-h) - var(--vsh-rail-gap) - 12px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-width:thin!important;
    z-index:40!important;
  }
  .vsh-shell>.vsh-left,.vsh-profile-shell>.vsh-left{grid-area:left!important}
  .vsh-shell>.vsh-right,.vsh-profile-shell>.vsh-right{grid-area:right!important}
  .vsh-shell>.vsh-left::-webkit-scrollbar,.vsh-profile-shell>.vsh-left::-webkit-scrollbar,
  .vsh-shell>.vsh-right::-webkit-scrollbar,.vsh-profile-shell>.vsh-right::-webkit-scrollbar{width:5px}
  .vsh-shell>.vsh-left::-webkit-scrollbar-thumb,.vsh-profile-shell>.vsh-left::-webkit-scrollbar-thumb,
  .vsh-shell>.vsh-right::-webkit-scrollbar-thumb,.vsh-profile-shell>.vsh-right::-webkit-scrollbar-thumb{background:rgba(100,116,139,.18);border-radius:99px}

  /* Two-column destinations deliberately own all room after the left rail. */
  body:is(.vsh-view-videos,.vsh-view-video,.vsh-view-research,.vsh-view-work,.vsh-view-jobs,.vsh-view-job) .vsh-shell{
    width:min(1580px,100%)!important;max-width:1580px!important;margin:0 auto!important;
    padding:20px var(--vsh-page-gutter) 32px!important;
    display:grid!important;
    grid-template-columns:minmax(230px,270px) minmax(0,1fr)!important;
    grid-template-areas:"left center"!important;
    gap:28px!important;align-items:start!important;overflow:visible!important;
  }
  body:is(.vsh-view-videos,.vsh-view-video,.vsh-view-research,.vsh-view-work,.vsh-view-jobs,.vsh-view-job) .vsh-shell>.vsh-left{grid-area:left!important;display:block!important}
  body:is(.vsh-view-videos,.vsh-view-video,.vsh-view-research,.vsh-view-work,.vsh-view-jobs,.vsh-view-job) .vsh-shell>.vsh-center{grid-area:center!important;width:100%!important;max-width:none!important}
  body:is(.vsh-view-videos,.vsh-view-video,.vsh-view-research,.vsh-view-work,.vsh-view-jobs,.vsh-view-job) .vsh-shell>.vsh-right{display:none!important}
}

/* =======================================
   TABLET / IPAD — isolated one-column shell
   ======================================= */
@media (min-width:768px) and (max-width:1279px){
  :root{--vsh-topbar-h:112px;--vsh-page-gutter:20px}
  body{padding-top:var(--vsh-topbar-h)!important}
  .vsh-topbar{
    height:var(--vsh-topbar-h)!important;min-height:var(--vsh-topbar-h)!important;
    padding:8px 20px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:46px 48px!important;
    column-gap:12px!important;row-gap:4px!important;
    align-items:center!important;
  }
  .vsh-brand{grid-column:1!important;grid-row:1!important;justify-self:start!important;min-width:0!important}
  .vsh-brand img{width:38px!important;height:38px!important}.vsh-brand strong{display:inline!important;font-size:20px!important}
  .vsh-home-vsh-link{display:none!important}
  .vsh-top-actions{grid-column:2!important;grid-row:1!important;display:flex!important;margin:0!important;justify-self:end!important;gap:8px!important}
  .vsh-top-actions>*:not(.vsh-mobile-menu-toggle){display:none!important}
  .vsh-mobile-menu-toggle{display:grid!important;width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:50%!important;place-items:center!important}
  .vsh-top-search{
    grid-column:1 / -1!important;grid-row:2!important;
    display:flex!important;width:100%!important;max-width:none!important;min-width:0!important;
    height:48px!important;margin:0!important;padding:0 14px!important;order:initial!important;
  }
  .vsh-top-search input{min-width:0!important;width:100%!important;font-size:15px!important}

  .vsh-shell,.vsh-profile-shell,
  body.vsh-fixed-app-shell .vsh-shell,body.vsh-fixed-app-shell .vsh-profile-shell{
    display:block!important;width:100%!important;max-width:100%!important;
    margin:0!important;padding:18px var(--vsh-page-gutter) 32px!important;
    height:auto!important;max-height:none!important;overflow:visible!important;
  }
  .vsh-left,.vsh-right,.vsh-profile-shell>.vsh-left,.vsh-profile-shell>.vsh-right{
    display:none!important;position:static!important;height:auto!important;max-height:none!important;overflow:visible!important;
  }
  .vsh-center,.vsh-profile-main{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
  .vsh-post-card,.vsh-widget,.vsh-page-heading,.vsh-video-page,.vsh-videos-page,.vsh-jobs-v35,.vsh37-research-page{max-width:100%!important;min-width:0!important}
  .vsh-mobile-drawer{display:flex;max-width:min(420px,88vw)!important}
}

/* ==================================
   PHONE — fixed two-row top controls
   ================================== */
@media (max-width:767px){
  :root{--vsh-topbar-h:108px;--vsh-page-gutter:12px}
  body{padding-top:var(--vsh-topbar-h)!important}
  .vsh-topbar{
    height:var(--vsh-topbar-h)!important;min-height:var(--vsh-topbar-h)!important;
    padding:7px 12px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:44px 46px!important;
    column-gap:10px!important;row-gap:4px!important;
    align-items:center!important;
  }
  .vsh-brand{grid-column:1!important;grid-row:1!important;justify-self:start!important;min-width:0!important}
  .vsh-brand img{width:36px!important;height:36px!important}.vsh-brand strong{display:none!important}
  .vsh-home-vsh-link{display:none!important}
  .vsh-top-actions{grid-column:2!important;grid-row:1!important;display:flex!important;margin:0!important;justify-self:end!important;gap:0!important}
  .vsh-top-actions>*:not(.vsh-mobile-menu-toggle){display:none!important}
  .vsh-mobile-menu-toggle{display:grid!important;width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:50%!important;place-items:center!important}
  .vsh-top-search{
    grid-column:1 / -1!important;grid-row:2!important;
    display:flex!important;width:100%!important;max-width:none!important;min-width:0!important;
    height:46px!important;margin:0!important;padding:0 12px!important;order:initial!important;
  }
  .vsh-top-search input{display:block!important;width:100%!important;min-width:0!important;font-size:15px!important}

  .vsh-shell,.vsh-profile-shell,
  body.vsh-fixed-app-shell .vsh-shell,body.vsh-fixed-app-shell .vsh-profile-shell{
    display:block!important;width:100%!important;max-width:100%!important;
    margin:0!important;padding:14px var(--vsh-page-gutter) 28px!important;
    height:auto!important;max-height:none!important;overflow:visible!important;
  }
  .vsh-left,.vsh-right,.vsh-profile-shell>.vsh-left,.vsh-profile-shell>.vsh-right{display:none!important;position:static!important;height:auto!important;max-height:none!important;overflow:visible!important}
  .vsh-center,.vsh-profile-main{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important}
  .vsh-post-card,.vsh-widget,.vsh-page-heading,.vsh-video-page,.vsh-videos-page,.vsh-jobs-v35,.vsh37-research-page{width:100%!important;max-width:100%!important;min-width:0!important}
  img,video,iframe{max-width:100%}
}

/* Closed overlays can never steal touch/scroll. */
.vsh-mobile-drawer[hidden],.vsh-mobile-drawer-backdrop[hidden],.vsh-admin-popup[hidden]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
body:not(.vsh-mobile-menu-open) .vsh-mobile-drawer-backdrop{pointer-events:none!important}
html:not(.vsh-modal-open) body:not(.vsh-mobile-menu-open){overflow-y:auto!important}
