/* Quiet atmosphere, behind the content and real plugin screenshots. */
.site-frame{position:relative;isolation:isolate}
.space-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.space-atmosphere:before{content:'';position:absolute;inset:-60px;background:radial-gradient(ellipse 440px 250px at 8% 8%,#6043f62c,transparent 76%),radial-gradient(ellipse 500px 390px at 92% 72%,#6043f61c,transparent 76%);animation:nebula-drift 38s ease-in-out infinite;will-change:transform,opacity}
.space-canvas{display:block;width:100%;height:100%;position:absolute;inset:0}
.transporter-canvas{position:fixed;inset:0;width:100vw;height:100dvh;pointer-events:none;z-index:4}
body.motion-paused .transporter-canvas{visibility:hidden}
.site-content,.journal-header{position:relative;z-index:1}
.journal-header:before{animation:nebula-breathe 22s ease-in-out infinite;transform-origin:18% 50%;will-change:transform,opacity}
.journal-brand .brand-source{visibility:hidden}
.brand-layer{position:absolute;inset:0;background:url('assets/journal-logo.png') center/contain no-repeat;pointer-events:none}
.brand-type{clip-path:polygon(32% 0,100% 0,100% 100%,32% 100%)}
.brand-ufo{position:absolute;left:0;top:0;width:30%;height:100%;overflow:visible;pointer-events:none}
.brand-ufo .ufo-facets,.brand-ufo .ufo-windows{display:none}
.brand-ufo.is-vector-ready .ufo-static{display:none}
.brand-ufo.is-vector-ready .ufo-facets,.brand-ufo.is-vector-ready .ufo-windows{display:inline}
.motion-control{background:none;border:0;border-bottom:1px solid transparent;color:#bcb0d1;font:12px/1.5 Arial,sans-serif;padding:10px 0;min-height:44px;letter-spacing:0;margin-right:auto}
.motion-control:hover{color:var(--mint);border-bottom-color:var(--mint)}.motion-control:disabled{cursor:default;opacity:.8}
body.motion-paused .space-atmosphere:before,body.motion-paused .journal-header:before{animation-play-state:paused}
footer{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px}
@keyframes nebula-drift{0%,100%{transform:translate3d(-10px,-8px,0) scale(1);opacity:.65}50%{transform:translate3d(25px,14px,0) scale(1.06);opacity:1}}
@keyframes nebula-breathe{0%,100%{opacity:.8;transform:translateX(-5px) scale(1)}50%{opacity:1;transform:translateX(12px) scale(1.08)}}
@media(prefers-reduced-motion:reduce){.space-atmosphere:before,.journal-header:before{animation:none!important;will-change:auto!important}}
/* Native vector and glyph transforms stay sharp: no raster displacement map. */
.journal-brand .brand-source{display:block;width:100%;aspect-ratio:3/1;visibility:hidden}
.brand-wordmark{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;clip-path:none}
.signal-word{display:inline-block;white-space:nowrap}
.signal-letter{display:inline-block}
.is-beaming .signal-letter{will-change:transform,opacity}
.journal-header{overflow:hidden}
.journal-header:before{inset:-48px;background:radial-gradient(ellipse 268px 148px at 175px 104px,#7456ff 0%,#5433da 29%,#34236d 52%,#18152e 74%,transparent 100%)}
@media(max-width:700px){.journal-header:before{background:radial-gradient(ellipse 230px 148px at 108px 88px,#6845ec 0%,#442590 28%,#21183c 57%,transparent 100%)}}
@media(prefers-reduced-motion:reduce){.brand-wordmark,.beam-title,.reveal-item{filter:none!important;transform:none!important;opacity:1!important}}
/* Hide pending reveals before first paint, then start just outside the viewport.
   Without JS the root class is never set, so all content stays available. */
html.motion-ready :is(.journal-copy h2,.product-hero h1,.about-hero h1,.feature-row h3,.interface-section h2,.bloom-effects h2,.bloom-species h3,.faq h2,.release-note h2,.journal-preview,.journal-category,.journal-description,.journal-link,.eyebrow,.product-intro,.action-row,.feature-row p,.interface-section p,.interface-section>a,.bloom-interface>a,.bloom-interface>p,.bloom-species p,.faq details,.other-product>a,.about-hero>p,.about-hero>.button,.release-note>p,.back-link,footer>button,footer>a,.nav-links>a):not([data-beamed=true]){opacity:0}
body.motion-paused .beam-title,body.motion-paused .reveal-item{opacity:1!important}
@media(prefers-reduced-motion:reduce){html.motion-ready .beam-title,html.motion-ready .reveal-item{opacity:1!important}}
