/* Biorama preview — cinematic water layer over the live page's visual language */
@keyframes caust{0%{transform:translate3d(0,0,0) scale(1.1) rotate(0)}50%{transform:translate3d(-4%,3%,0) scale(1.25) rotate(8deg)}100%{transform:translate3d(0,0,0) scale(1.1) rotate(0)}}
@keyframes swim{0%{transform:translateX(-20vw) translateY(0) scaleX(1)}45%{transform:translateX(105vw) translateY(-18px) scaleX(1)}50%{transform:translateX(105vw) translateY(-18px) scaleX(-1)}95%{transform:translateX(-20vw) translateY(10px) scaleX(-1)}100%{transform:translateX(-20vw) translateY(0) scaleX(1)}}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(252,174,76,.55)}50%{box-shadow:0 0 28px 6px rgba(252,174,76,.35)}}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.fx-water{position:fixed;inset:-20%;z-index:0;pointer-events:none;opacity:.55;background:
 radial-gradient(40% 30% at 20% 30%,rgba(0,128,128,.35),transparent 70%),
 radial-gradient(35% 25% at 80% 20%,rgba(0,160,170,.22),transparent 70%),
 radial-gradient(45% 35% at 60% 85%,rgba(252,174,76,.10),transparent 70%);animation:caust 22s ease-in-out infinite;filter:blur(8px)}
#fx-bubbles{position:fixed;inset:0;z-index:1;pointer-events:none}
.fx-fish{position:fixed;top:62%;left:0;z-index:2;pointer-events:none;font-size:34px;opacity:.5;animation:swim 38s linear infinite;filter:drop-shadow(0 0 8px rgba(252,174,76,.6))}
body.factory>*:not(.fx-water):not(#fx-bubbles):not(.fx-fish){position:relative;z-index:3}
body.factory>.campus-mast,body.factory>.snav{position:sticky}
.bio-cta{animation:glow 3.2s ease-in-out infinite;transition:transform .2s}
.bio-cta:hover,.bio-cta:active{transform:translateY(-2px) scale(1.03)}
.bio-cta.ghost{animation:none}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.bio-hero img{animation:rise 1.2s cubic-bezier(.2,.7,.2,1) both}
.bio-hero h1{animation:rise 1.2s .15s cubic-bezier(.2,.7,.2,1) both}
.bio-hero .tag{animation:rise 1.2s .3s cubic-bezier(.2,.7,.2,1) both}
.bio-card,.card,.bio-pitch li{transition:transform .35s,border-color .35s,box-shadow .35s}
.bio-card:hover,.card:hover,.bio-pitch li:hover{transform:translateY(-3px);border-color:rgba(0,160,170,.6);box-shadow:0 10px 30px rgba(0,128,128,.18)}
.bio-video video,.bio-fig img{box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 1px rgba(0,128,128,.35)}
@media (prefers-reduced-motion:reduce){.fx-water,.fx-fish,.bio-cta{animation:none}#fx-bubbles{display:none}.reveal{opacity:1;transform:none}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:.35s ease both vtout}::view-transition-new(root){animation:.45s ease both vtin}
@keyframes vtout{to{opacity:0;filter:blur(6px);transform:scale(.98)}}@keyframes vtin{from{opacity:0;filter:blur(6px);transform:scale(1.02)}}
.fx-water{transition:transform .6s ease-out}
.fx-sound{position:fixed;right:12px;bottom:12px;z-index:400!important;background:rgba(17,17,17,.6);color:#f5efe4;border:1px solid rgba(0,160,170,.5);border-radius:999px;padding:8px 14px;font:600 .85rem system-ui;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
/* glass bowls */
.card,.bio-card,.bio-pitch li,.bio-deal{background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(0,128,128,.05))!important;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);border-color:rgba(160,230,230,.18)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 30px rgba(0,0,0,.35)}
.bio-hero img{transform:translate3d(calc(var(--tx,0)*-10px),calc(var(--ty,0)*-8px),0)}
.vslot{position:relative;aspect-ratio:16/9;border-radius:16px;border:2px dashed rgba(252,174,76,.55);display:grid;place-items:center;text-align:center;padding:16px;margin:18px 0;color:#a8a29a;font:600 .9rem system-ui;background:radial-gradient(circle at 50% 40%,rgba(0,128,128,.25),rgba(0,0,0,.4));overflow:hidden}
.vslot:before{content:'▶';display:grid;place-items:center;width:58px;height:58px;border-radius:50%;margin:0 auto 8px;background:rgba(252,174,76,.18);color:#fcae4c;font-size:1.4rem;border:1px solid rgba(252,174,76,.5)}
.vslot.sm{aspect-ratio:9/16;max-width:240px;margin:14px auto}
body.factory>.campus-mast{top:46px}.snav{z-index:500!important}
