/* Ambient layers remain behind content and never intercept a pointer. */
body{isolation:isolate}
body>.site-header,body>main,body>.site-footer,body>.noscript-note{position:relative;z-index:1}
#ambient-sky{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:strict;background:radial-gradient(ellipse at 79% 16%,#12395d33,transparent 56%),radial-gradient(ellipse at 8% 82%,#122d4a26,transparent 55%)}
.sky-stars,.sky-meteors{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.sky-star{position:absolute;width:var(--size);height:var(--size);border-radius:50%;background:#d8eaff;opacity:var(--low)}
.sky-star:nth-child(3n),.sky-star-bright{animation:sky-twinkle var(--duration) ease-in-out var(--delay) infinite alternate}
.sky-star:nth-child(9n){background:#94d4ff;box-shadow:0 0 5px #78baff88}
.sky-star-bright{background:#f3faff;box-shadow:0 0 3px #d0eaffcc,0 0 10px #82bdff88}
.sky-star-bright::after{content:'';position:absolute;left:50%;top:50%;width:7px;height:1px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#cde7ff77,transparent)}
.sky-meteors{display:block;mix-blend-mode:screen}
.sky-meteor{position:absolute;left:var(--x);top:var(--y);width:1px;height:1px;opacity:0;transform-origin:0 0;--meteor-color:var(--meteor-night);--travel:clamp(300px,calc(48vw * var(--distance)),840px);animation:sky-meteor-flight var(--duration) linear var(--delay) infinite;will-change:transform,opacity}
.sky-meteor::before{content:'';position:absolute;right:0;top:calc(var(--thickness) * -.5);width:var(--tail);height:var(--thickness);border-radius:999px;background:linear-gradient(90deg,transparent 0%,rgb(var(--meteor-color) / .05) 15%,rgb(var(--meteor-color) / .34) 52%,rgb(var(--meteor-color) / .83) 87%,#f3fbff 100%);box-shadow:0 0 4px rgb(var(--meteor-color) / .38)}
.sky-meteor::after{content:'';position:absolute;left:calc(var(--head) * -.5);top:calc(var(--head) * -.5);width:var(--head);height:var(--head);border-radius:50%;background:radial-gradient(circle,#fff 0 38%,rgb(var(--meteor-color)) 78%);box-shadow:0 0 3px 1px rgb(var(--meteor-color) / .95),0 0 10px 2px rgb(var(--meteor-color) / .5)}
#ambient-sky[data-paused="true"] .sky-star,#ambient-sky[data-paused="true"] .sky-meteor{animation-play-state:paused}
.approach-section{background:#060b13b8}
.contact-section{background:#07101db8}
html[data-theme="light"] #ambient-sky{background:radial-gradient(ellipse at 80% 7%,#e1effb88,transparent 62%),radial-gradient(ellipse at 9% 90%,#deedf966,transparent 58%)}
html[data-theme="light"] .sky-stars{display:none}
html[data-theme="light"] .sky-meteors{mix-blend-mode:normal}
html[data-theme="light"] .sky-meteor{--meteor-color:var(--meteor-day)}
html[data-theme="light"] .sky-meteor::before{background:linear-gradient(90deg,transparent 0%,rgb(var(--meteor-color) / .08) 14%,rgb(var(--meteor-color) / .42) 48%,rgb(var(--meteor-color) / .9) 91%,rgb(var(--meteor-color)) 100%);box-shadow:0 0 3px rgb(var(--meteor-color) / .23)}
html[data-theme="light"] .sky-meteor::after{background:radial-gradient(circle,#fff 0 23%,rgb(var(--meteor-color)) 72%);box-shadow:0 0 3px rgb(var(--meteor-color) / .85),0 0 7px rgb(var(--meteor-color) / .32)}
html[data-theme="light"] .approach-section{background:#edf3f9bf}
html[data-theme="light"] .contact-section{background:#e8f1f9bf}
@keyframes sky-twinkle{0%,20%{opacity:var(--low)}80%,100%{opacity:var(--high)}}
@keyframes sky-meteor-flight{0%{opacity:0;transform:translate3d(0,0,0) rotate(var(--angle))}2%{opacity:var(--brightness)}12%{opacity:var(--brightness)}18%{opacity:0;transform:translate3d(calc(-1 * var(--travel)),calc(var(--travel) * var(--fall)),0) rotate(var(--angle))}100%{opacity:0;transform:translate3d(calc(-1 * var(--travel)),calc(var(--travel) * var(--fall)),0) rotate(var(--angle))}}
@media(max-width:760px){.sky-star:nth-child(n+131),.sky-meteor:nth-child(n+19){display:none}.sky-meteor{--travel:calc(340px * var(--distance))}.sky-meteor::before{width:calc(var(--tail) * .66)}}
@media(prefers-reduced-motion:reduce){.sky-star{animation:none!important;opacity:var(--low)}.sky-meteor{animation:none!important;will-change:auto}.sky-meteor:nth-child(-n+4){opacity:.26;transform:rotate(var(--angle))}}
