/* Shared atmospheric layer. No content transforms, no sticky-ancestor clipping. */
.ambient-host{isolation:isolate;--ambient-ink:70 64 52;--ambient-light:255 255 255;--ambient-strength:1}
.ambient-host--relative{position:relative}
.ambient-host[data-ambient-theme="dark"]{--ambient-ink:244 241 234;--ambient-light:240 90 36;--ambient-strength:1.15}
.ambient-host[data-ambient-theme="orange"]{--ambient-ink:62 24 9;--ambient-light:255 238 204;--ambient-strength:.85}
.home-hero.ambient-host{--ambient-strength:.55}
.ambient-field{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;user-select:none;contain:strict;opacity:var(--ambient-strength)}
.ambient-field__light,.ambient-field__contour{position:absolute;display:block;pointer-events:none;animation-play-state:paused!important}
.ambient-field__light{inset:-18% -22%;background:linear-gradient(118deg,transparent 28%,rgb(var(--ambient-ink)/.025) 39%,rgb(var(--ambient-ink)/.075) 44%,transparent 44.15%,rgb(var(--ambient-light)/.07) 46%,transparent 63%);animation:ambient-light-drift 24s ease-in-out infinite alternate;transform:translate3d(-6%,0,0)}
.ambient-field__contour{width:clamp(420px,70vw,1200px);aspect-ratio:1.4;right:-25%;top:4%;border:1px solid rgb(var(--ambient-ink)/.13);border-radius:50%;box-shadow:0 0 0 42px rgb(var(--ambient-ink)/.035),0 0 0 84px rgb(var(--ambient-ink)/.025);transform:translate3d(0,0,0) rotate(-28deg);animation:ambient-contour-drift 19s ease-in-out infinite alternate;mask-image:linear-gradient(135deg,transparent 10%,#000 48%,transparent 87%)}
.ambient-host:nth-of-type(even)>.ambient-field>.ambient-field__light{animation-delay:-11s}
.ambient-host:nth-of-type(even)>.ambient-field>.ambient-field__contour{right:auto;left:-35%;top:20%;animation-delay:-7s}
.ambient-host.is-ambient-visible>.ambient-field>span{animation-play-state:running!important}
html.ambient-paused .ambient-host>.ambient-field>span,html.ambient-tab-hidden .ambient-host>.ambient-field>span{animation-play-state:paused!important}
html.ambient-paused .hero-atmosphere *,html.ambient-tab-hidden .hero-atmosphere *{animation-play-state:paused!important}
.ambient-toggle{appearance:none;border:0;padding:0;background:transparent;color:inherit;font:inherit;line-height:1.5;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:5px;font-size:.75rem;opacity:.75}
.ambient-toggle:hover{opacity:1}
.ambient-toggle:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
@keyframes ambient-light-drift{from{transform:translate3d(-6%,-2%,0)}to{transform:translate3d(9%,3%,0)}}
@keyframes ambient-contour-drift{from{transform:translate3d(-3%,3%,0) rotate(-28deg)}to{transform:translate3d(8%,-9%,0) rotate(-19deg)}}
@media(max-width:800px){.ambient-field{opacity:calc(var(--ambient-strength)*.7)}.ambient-field__contour{box-shadow:0 0 0 32px rgb(var(--ambient-ink)/.035)}.ambient-field__light{animation-duration:28s}}
@media(prefers-reduced-motion:reduce){.ambient-field{display:none}.ambient-toggle{display:none}}
@media print{.ambient-field,.ambient-toggle{display:none!important}}
