/* Prime Creation // PrimeLayout page-composition contract
   prime-viewport-contract.css owns the physical browser shell and page scrolling.
   PrimeLayout publishes form-factor/orientation diagnostics for content composition.
   PrimePillSystem is body-root viewport chrome outside this authority. */

html[data-prime-layout] body.prime-v2 #main[data-app-shell]>:is(#book,#studio).app-window.section[data-prime-viewport-module]{padding:0!important}
html[data-prime-layout] body.prime-v2 #main[data-app-shell]>#portfolio.app-window.is-prime-viewport-active:not([hidden]),
html[data-prime-layout] body.prime-v2 #main[data-app-shell]>#video.app-window.is-prime-viewport-active:not([hidden]){box-sizing:border-box!important;padding-bottom:var(--prime-page-bottom-clearance,5rem)!important}

html[data-prime-layout] body.prime-v2 #sprite>.radar,
html[data-prime-layout] body.prime-v2 #contact>.contact-orbit{contain:paint!important}
/* Spatial owns active-page 3D geometry. Layout containment may not flatten its Page 07/10 subtrees. */
html[data-prime-layout][data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"] body.prime-v2 #sprite>.radar,
html[data-prime-layout][data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"] body.prime-v2 #contact>.contact-orbit{contain:none!important}

@media(max-width:900px){
  html[data-prime-layout] body.prime-v2 #main[data-app-shell]>:is(#process,#contact).app-window.is-prime-viewport-active:not([hidden]){grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;grid-auto-flow:row!important;column-gap:0!important;box-sizing:border-box!important}
  html[data-prime-layout] body.prime-v2 #process>:is(div[data-reveal],ol),html[data-prime-layout] body.prime-v2 #contact>:is([data-page10-contact-copy="true"],#projectForm){grid-column:1/-1!important;grid-row:auto!important;width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;justify-self:stretch!important;box-sizing:border-box!important}
  html[data-prime-layout] body.prime-v2 #process>ol{grid-template-columns:minmax(0,1fr)!important}
  html[data-prime-layout] body.prime-v2 #sprite:not([data-prime-sprit-mode="embedded-app"]) .sprite-launch-gate{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;width:100%!important;max-width:100%!important;min-width:0!important}
  html[data-prime-layout] body.prime-v2 #sprite:not([data-prime-sprit-mode="embedded-app"]) .sprite-launch-gate>:is([data-sprit-launch],[data-sprit-disconnect],[data-sprit-launch-state]){grid-column:1!important;width:100%!important;max-width:100%!important;min-width:0!important;position:static!important;inset:auto!important;box-sizing:border-box!important}
  html[data-prime-layout] body.prime-v2 #sprite [data-sprit-disconnect][hidden],html[data-prime-layout] body.prime-v2 #sprite[data-prime-sprit-connection="disconnected"] [data-sprit-disconnect],html[data-prime-layout] body.prime-v2 #sprite:not([data-prime-sprit-connection="connected"]):not([data-prime-sprit-connection="connecting"]) [data-sprit-disconnect]{display:none!important}
  html[data-prime-layout] body.prime-v2 #sprite[data-prime-sprit-connection="connected"] [data-sprit-launch]{display:none!important}
}

html[data-prime-layout][data-prime-viewport-morphing="true"] body.prime-v2>#main[data-app-shell],html[data-prime-layout][data-prime-viewport-morphing="true"] #main[data-app-shell]>.app-window.is-prime-viewport-active{transition:none!important}