/* Shared atmospheric layer across section boundaries: 04/05 and 08/BEYOND */
.ws-gai { position:relative; isolation:isolate; }
.ws-gai > .ws-section { z-index:auto; }
.ws-gai .ws-frame { position:relative; z-index:4 !important; }
.ws-gai .ws-ambient-layer {
  position:absolute; inset:0; z-index:2;
  overflow:hidden; pointer-events:none !important;
  user-select:none; contain:layout style;
}
.ws-gai .ws-ambient-orb {
  position:absolute; width:38px; height:38px; margin:-19px;
  transform-origin:center; pointer-events:none;
  will-change:transform,opacity;
  opacity:0; isolation:isolate;
}
.ws-gai .ws-ambient-core {
  position:absolute;inset:0;display:block;border-radius:50%;
  background:radial-gradient(circle,rgba(255,248,222,.95) 0%,rgba(246,204,133,.8) 9%,rgba(210,150,75,.26) 32%,rgba(205,151,78,0) 73%);
  box-shadow:0 0 16px 1px rgba(240,187,96,.13);
}
.ws-gai .ws-ambient-grain {
  position:absolute;top:50%;left:50%;
  display:block;z-index:1;border-radius:50%;background:#f5cc8d;
  box-shadow:0 0 5px rgba(255,225,160,.55);
  opacity:0;transform:translate(0,0);
  animation:ws-ambient-coalesce 9.3s ease-in-out both;
  animation-delay:var(--grain-delay);
  pointer-events:none;
}
.ws-gai .ws-ambient-grain:nth-child(3n){background:#fff1c7;}
.ws-gai .ws-ambient-grain:nth-child(4n){background:#c99856;}
@keyframes ws-ambient-coalesce {
  0%  {opacity:0; transform:translate(var(--sx),var(--sy)) scale(.4)}
  10% {opacity:.7;transform:translate(calc(var(--sx) * .5),calc(var(--sy) * .5)) scale(.8)}
  23% {opacity:.2;transform:translate(0,0) scale(.3)}
  70% {opacity:0;transform:translate(0,0) scale(.2)}
  82% {opacity:.65;transform:translate(0,0) scale(.65)}
  93% {opacity:.42;transform:translate(var(--tx),var(--ty)) scale(1.15)}
  100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.3)}
}
/* Lighting is subordinate to content; these sections remain readable and clickable. */
.ws-gai #ws-field .ws-frame,
.ws-gai #ws-roles .ws-frame,
.ws-gai #ws-people .ws-frame,
.ws-gai #ws-closing .ws-frame { z-index:4 !important; }
@media (max-width:650px) {
  .ws-gai .ws-ambient-orb { width:24px; height:24px; margin:-12px; }
  .ws-gai .ws-ambient-core { box-shadow:0 0 7px rgba(240,187,96,.09); }
}
@media(prefers-reduced-motion:reduce) {
  .ws-gai .ws-ambient-layer { display:none !important; }
}