body { isolation: isolate; }
.life-atmosphere { position: fixed; inset: 0; overflow: hidden; z-index: -3; pointer-events: none; contain: strict; }
.life-atmosphere[hidden],.life-toggle[hidden] { display: none; }
.life-field { position: absolute; inset: -18%; }
.life-field::before,.life-field::after { content: ""; position: absolute; inset: 0; }
.life-field::before { background: radial-gradient(ellipse at 25% 45%,#d6ed382e,transparent 57%),radial-gradient(ellipse at 82% 72%,#b4b83c19,transparent 53%); }
.life-field::after { background: radial-gradient(ellipse at 53% 57%,#e6fa3b24,transparent 51%); }
.life-toggle { position: fixed; left: max(var(--gutter),12px); bottom: 12px; z-index: 10; color: var(--muted); background: var(--paper); border: 1px solid var(--line); padding: 8px 10px; cursor: pointer; }
.life-toggle:hover,.life-toggle:focus-visible { color: var(--accent); border-color: var(--accent); }
html[data-life-enabled] .life-field::before { animation: studio-breathe 6s ease-in-out infinite; }
html[data-life-enabled] .life-field::after { animation: studio-heartbeat 4.8s ease-out infinite; }
html[data-life-enabled] .hero-art::before { content: ""; position: absolute; z-index: -1; inset: 9%; border-radius: 50%; background: radial-gradient(ellipse,#e5f23730,transparent 66%); animation: studio-heartbeat 4.8s ease-out infinite; }
html[data-life-enabled] .closing { position: relative; isolation: isolate; }
html[data-life-enabled] .closing::before { content: ""; position: absolute; z-index: -1; width: min(480px,90vw); height: 310px; left: -100px; bottom: -38px; background: radial-gradient(ellipse,#e7f33430,transparent 65%); animation: studio-heartbeat 4.8s ease-out infinite; pointer-events: none; }
html[data-life-enabled] .eyebrow { position: relative; }
html[data-life-enabled] .eyebrow::after { content: ""; position: absolute; left: -11px; top: calc(50% - 2px); width: 4px; height: 4px; border-radius: 50%; background: var(--accent); animation: studio-heartbeat 4.8s ease-out infinite; }
html[data-life-enabled] .eyebrow.life-native-signal::after { display: none; }
html[data-life-enabled] .life-native-signal .signal { animation: studio-heartbeat 4.8s ease-out infinite; }
html[data-life-enabled] .project-media > img { animation: studio-image-breathe 6s ease-in-out infinite; }
html[data-life-enabled] .hero-art::before,
html[data-life-enabled] .closing::before,
html[data-life-enabled] .eyebrow::after,
html[data-life-enabled] .project-media > img,
html[data-life-enabled] .life-native-signal .signal { animation-play-state: paused; }
html[data-life-enabled] .life-in-view::before,
html[data-life-enabled] .life-in-view::after,
html[data-life-enabled] .project-media.life-in-view > img,
html[data-life-enabled] .life-native-signal.life-in-view .signal { animation-play-state: running; }
html[data-life-enabled][data-life-paused] .life-field::before,
html[data-life-enabled][data-life-paused] .life-field::after,
html[data-life-enabled][data-life-paused] .hero-art::before,
html[data-life-enabled][data-life-paused] .closing::before,
html[data-life-enabled][data-life-paused] .eyebrow::after,
html[data-life-enabled][data-life-paused] .project-media > img,
html[data-life-enabled][data-life-paused] .life-native-signal .signal { animation-play-state: paused; }
.life-wave { --life-lift: -2px; }
.life-type { --life-letter-lift: clamp(6px,.115em,13px); }
.life-copy { --life-letter-lift: clamp(2px,.14em,4px); }
.life-glyph { position: relative; top: 0; }
html[data-life-enabled] .life-wave {
  animation: studio-content-beat 4.8s cubic-bezier(.22,.65,.35,1) var(--life-delay,0s) infinite paused;
}
html[data-life-enabled] :is(.life-type,.life-copy) .life-glyph {
  animation: studio-letter-wave 4.8s cubic-bezier(.35,0,.25,1) calc(var(--life-delay,0s) + var(--life-glyph-delay,0s)) infinite paused;
}
html[data-life-enabled] .life-wave.life-in-view,
html[data-life-enabled] :is(.life-type,.life-copy).life-in-view .life-glyph { animation-play-state: running; }
html[data-life-enabled][data-life-paused] .life-wave,
html[data-life-enabled][data-life-paused] :is(.life-type,.life-copy) .life-glyph { animation-play-state: paused; }
.flower-word.is-flower-hovered .life-glyph { top: 0 !important; }
@keyframes studio-letter-wave {
  0%,26%,100% { top: 0; }
  7% { top: calc(-1 * var(--life-letter-lift)); }
  13% { top: calc(.17 * var(--life-letter-lift)); }
  19% { top: calc(-.42 * var(--life-letter-lift)); }
}
@keyframes studio-content-beat {
  0%,30%,100% { translate: 0 0; }
  6% { translate: 0 var(--life-lift); }
  12% { translate: 0 .4px; }
  18% { translate: 0 calc(var(--life-lift) * .64); }
}
@keyframes studio-breathe {
  0%,100% { opacity: .24; transform: scale(.98) translateY(4px); }
  50% { opacity: .64; transform: scale(1.045) translateY(-4px); }
}
@keyframes studio-heartbeat {
  0%,28%,100% { opacity: .18; transform: scale(.98); }
  6% { opacity: .70; transform: scale(1.055); }
  11% { opacity: .24; transform: scale(1); }
  17% { opacity: .52; transform: scale(1.035); }
}
@keyframes studio-image-breathe {
  0%,100% { transform: scale(1.008) translateY(1px); }
  50% { transform: scale(1.018) translateY(-2px); }
}
@media(max-width:620px) { .life-toggle { left: 8px; bottom: 8px; font-size: 11px; padding: 7px 8px; } }
@media(prefers-reduced-motion:reduce) {
  .life-atmosphere,.life-toggle { display: none; }
  html[data-life-enabled] .life-wave { animation: none; translate: none; }
  html[data-life-enabled] :is(.life-type,.life-copy) .life-glyph { animation: none; top: 0; }
  html[data-life-enabled] .hero-art::before,
  html[data-life-enabled] .closing::before,
  html[data-life-enabled] .eyebrow::after { display: none; animation: none; }
  html[data-life-enabled] .project-media > img,
  html[data-life-enabled] .life-native-signal .signal { animation: none; transform: none; }
}
