/* XPScerpto Public Completion R15 — responsive composition and mobile shell closure. */
body.public-site{--xps-r15-accent:var(--xps-public-accent,#36d6c6);--xps-r15-accent-strong:var(--xps-public-accent-strong,#79f1e6)}

/* Homepage: protect long product language from colliding with the workspace model. */
body.public-site .xps-r12-hero-copy h1{
  max-inline-size:12.8ch;
  font-size:clamp(3.25rem,4.65vw,4.75rem);
  line-height:.96;
  letter-spacing:-.047em;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}
@media (min-width:1181px){
  .xps-r12-hero{grid-template-columns:minmax(420px,.82fr) minmax(570px,1.18fr);gap:clamp(28px,3vw,52px);min-height:760px;padding-top:clamp(72px,7vw,110px)}
  body.public-site .xps-r12-hero-copy h1{max-inline-size:12.8ch;font-size:clamp(3.05rem,4.15vw,4.45rem);line-height:.96}
  .xps-r12-product{width:100%}
}
@media (max-width:1180px){
  .xps-r12-hero{grid-template-columns:minmax(0,1fr);min-height:0;gap:44px;padding-top:clamp(64px,8vw,96px)}
  .xps-r12-hero-copy{max-width:980px}
  body.public-site .xps-r12-hero-copy h1{max-inline-size:13.5ch;font-size:clamp(3.2rem,7vw,5.2rem)}
  .xps-r12-product{width:min(100%,1080px)}
}

/* Security: keep the trust statement powerful without turning it into a billboard. */
.xps-r14-security-intro{
  grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);
  gap:clamp(34px,5vw,78px);
  padding-block:clamp(50px,6vw,88px) clamp(30px,4vw,56px);
}
body.public-site .xps-r14-security-intro h1{
  max-inline-size:12.7ch;
  font-size:clamp(3.25rem,4.7vw,5.35rem);
  line-height:.95;
  letter-spacing:-.05em;
  text-wrap:balance;
}
.xps-r14-security-intro .xps-r14-system{min-height:410px}
@media (max-width:1100px){
  .xps-r14-security-intro{grid-template-columns:1fr}
  body.public-site .xps-r14-security-intro h1{max-inline-size:16ch;font-size:clamp(3rem,8vw,5rem)}
  .xps-r14-security-intro .xps-r14-system{width:min(100%,760px)}
}

/* The mobile drawer has one authoritative open state.  It may never show the close
   affordance while the navigation panel itself remains hidden. */
@media (max-width:56.25rem){
  body.public-site .governed-header.mobile-open{z-index:1201!important}
  body.public-site .governed-header.mobile-open > .top-nav,
  body.public-site .governed-header.mobile-open > .top-nav[data-mobile-closed="true"],
  body.public-site .site-header.governed-header.mobile-open > .top-nav{
    display:grid!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateX(0)!important;
    color:var(--xps-text,var(--xps-color-text))!important;
    background:var(--xps-surface,var(--xps-color-surface-raised))!important;
  }
  html[dir="rtl"] body.public-site .governed-header.mobile-open > .top-nav,
  body.public-site[dir="rtl"] .governed-header.mobile-open > .top-nav{transform:translateX(0)!important}
  body.public-site .governed-header.mobile-open > .top-nav .nav-entry,
  body.public-site .governed-header.mobile-open > .top-nav a,
  body.public-site .governed-header.mobile-open > .top-nav button{
    opacity:1!important;
    visibility:visible!important;
    color:inherit!important;
  }
  body.public-site .governed-header.mobile-open > .top-nav > .nav-overflow{
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:0!important;
  }
  body.public-site .governed-header.mobile-open > .top-nav > .nav-overflow > .nav-group-toggle{width:100%!important}
  body.public-site .governed-header.mobile-open > .top-nav > .nav-overflow > .nav-submenu{
    position:static!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
  }
  body.public-site .governed-header.mobile-open > .top-nav > .mobile-utility-entry{
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:0!important;
  }
  body.public-site .governed-header.mobile-open > .top-nav > .mobile-utility-entry > a{width:100%!important}
  body.public-site .public-nav-backdrop{z-index:1090!important;opacity:0;visibility:hidden;pointer-events:none}
  body.public-site .public-nav-backdrop.is-visible{opacity:1;visibility:visible;pointer-events:auto}
  body.public-site .header-banner{
    position:relative;
    z-index:1204;
    min-height:auto!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  body.public-site .header-banner span{display:block;min-width:0;overflow-wrap:anywhere}
  body.public-site .header-banner [data-banner-dismiss]{position:static!important;flex:0 0 auto}
}

/* Light mode remains a full page, not a header/banner floating over an empty canvas. */
html[data-theme="light"] body.public-site,
html[data-theme-mode="light"] body.public-site{
  background:var(--xps-bg,var(--xps-color-canvas));
  color:var(--xps-text,var(--xps-color-text));
}
body.public-site main#mainContent{min-height:clamp(420px,58vh,820px)}

/* Header navigation should read as one product shell rather than mixed button geometries. */
body.public-site .governed-header .top-nav > .nav-entry > a,
body.public-site .governed-header .top-nav > .nav-entry > button{
  border-radius:10px;
}
body.public-site .governed-header .top-nav > .nav-entry.active > a,
body.public-site .governed-header .top-nav > .nav-entry > a.active{
  box-shadow:inset 0 -2px 0 var(--xps-r15-accent);
}
