/* Quiet light and sculptural contours, with no video or canvas. */
:root { --ambient-blue:83,119,187; --ambient-teal:55,137,151; --ambient-line:154,184,220; --ambient-base:#0a101d; --motion-button:rgba(16,25,42,.94); --motion-ink:#c2ccdd; }
[data-theme="light"] { --ambient-blue:154,183,224; --ambient-teal:157,204,205; --ambient-line:81,111,143; --ambient-base:#f4f6fa; --motion-button:rgba(249,251,254,.96); --motion-ink:#43546d; }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) { --ambient-blue:154,183,224; --ambient-teal:157,204,205; --ambient-line:81,111,143; --ambient-base:#f4f6fa; --motion-button:rgba(249,251,254,.96); --motion-ink:#43546d; }
}
body { isolation:isolate; background:var(--ambient-base); }
.ambient-background { position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; background:radial-gradient(ellipse at 50% 0%,rgba(var(--ambient-blue),.08),transparent 65%); contain:strict; }
.ambient-light { position:absolute; width:min(1100px,100vw); height:min(1000px,115vh); border-radius:50%; will-change:transform; }
.ambient-light-blue { left:-32%; top:-36%; background:radial-gradient(ellipse,rgba(var(--ambient-blue),.32),rgba(var(--ambient-blue),.08) 42%,transparent 69%); animation:studio-blue 32s ease-in-out infinite alternate; }
.ambient-light-teal { right:-34%; bottom:-38%; background:radial-gradient(ellipse,rgba(var(--ambient-teal),.24),rgba(var(--ambient-teal),.05) 44%,transparent 69%); animation:studio-teal 38s ease-in-out infinite alternate; }
.ambient-contours { position:absolute; inset:-12%; width:124%; height:124%; fill:none; stroke:rgba(var(--ambient-line),.12); stroke-width:.75; mask-image:linear-gradient(115deg,#000,transparent 42%,transparent 58%,#000); -webkit-mask-image:linear-gradient(115deg,#000,transparent 42%,transparent 58%,#000); animation:studio-contours 42s ease-in-out infinite alternate; }
@keyframes studio-blue { to { transform:translate(12vw,9vh) scale(1.08); } }
@keyframes studio-teal { to { transform:translate(-10vw,-10vh) scale(1.12); } }
@keyframes studio-contours { from { transform:translateY(-2%) rotate(-3deg); } to { transform:translateY(3%) rotate(3deg); } }
.ambient-background.is-paused * { animation-play-state:paused !important; }
.background-motion-toggle { position:fixed; left:16px; bottom:16px; z-index:30; padding:8px 12px; border-radius:24px; border:1px solid rgba(var(--ambient-line),.25); background:var(--motion-button); color:var(--motion-ink); font:500 11px/1.4 var(--font-body,sans-serif); letter-spacing:.02em; cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,.08); }
.background-motion-toggle:hover { border-color:rgba(var(--ambient-line),.65); }
.background-motion-toggle:focus-visible { outline:2px solid var(--accent-1); outline-offset:4px; }
@media (max-width:600px) { .ambient-light { width:140vw; height:85vh; } .ambient-contours { opacity:.6; } .background-motion-toggle { position:static; display:block; width:max-content; max-width:calc(100% - 32px); margin:12px 16px; padding:7px 10px; } }
.reveal { opacity:0; transform:translateY(18px); transition:opacity 480ms var(--ease),transform 480ms var(--ease); }
.reveal.is-visible { opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion:reduce) { .ambient-background * { animation:none !important; will-change:auto; } .background-motion-toggle { display:none; } .reveal { opacity:1 !important; transform:none !important; transition:none !important; } }
@media print { .ambient-background,.background-motion-toggle { display:none !important; } }
