
.hero-sky-backdrop{position:absolute;inset:0 0 auto;pointer-events:none;z-index:0;overflow:hidden;opacity:0}
.hero-shooting-star{position:absolute;width:110px;height:2px;opacity:0;background:linear-gradient(90deg,transparent,#b4d9e3 80%,#fff3d6);border-radius:50%;transform:rotate(28deg);pointer-events:none}
.hero-sky-backdrop.finale .hero-shooting-star{animation:hero-meteor 1.3s ease-out var(--meteor-delay) both}
@keyframes hero-meteor{0%{opacity:0;transform:translate(-80px,-42px) rotate(28deg)}18%{opacity:.7}70%{opacity:.4}100%{opacity:0;transform:translate(220px,117px) rotate(28deg)}}
@media(prefers-reduced-motion:reduce){.hero-sky-backdrop.finale .hero-shooting-star{animation:none}}
.hero-sky-backdrop::after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 14% 18%,#dcecff 0 1px,transparent 2px),radial-gradient(circle at 65% 9%,#dcecff 0 1px,transparent 2px),radial-gradient(circle at 83% 32%,#bcd7ed 0 1px,transparent 2px);background-size:233px 211px,367px 277px,419px 331px;opacity:var(--stars,0);mask-image:linear-gradient(#000,transparent 85%)}
body.shared-sky>header,body.shared-sky #top{position:relative;z-index:1;background:transparent!important;background-image:none!important}
body.shared-sky #top::before,body.shared-sky #top::after{opacity:0!important}
body.shared-sky .hero-puzzle-frame,body.shared-sky .editorial-hero-visual{background:transparent!important}
body.sky-dark>header a,body.sky-dark #top h1,body.sky-dark #top p,body.sky-dark #top .eyebrow,body.sky-dark #top a,body.sky-dark #top strong,body.sky-dark>header .wordmark span{color:#f8f5ed!important}
@media(max-width:760px){
  #top.editorial-hero .editorial-hero-visual{align-self:stretch;width:auto;min-width:0;max-width:none}
  #top.editorial-hero .hero-puzzle-frame{width:100%!important;max-width:none}
  body>header nav a{display:inline-flex;align-items:center;min-height:44px}
}

/* Reserve the embed's final collapsed size before its JavaScript arrives. */
.editorial-hero-visual{container-type:inline-size;position:relative}
body #top.editorial-hero .hero-puzzle-frame{height:816px;background:transparent!important}
@container (max-width:600px){body #top.editorial-hero .hero-puzzle-frame{height:calc(clamp(300px,105cqw,440px) + 186px)}}
/* One parent-owned status covers script, model and stalled loading states. */
.puzzle-startup-status{position:absolute;inset:0;margin:0;display:grid;grid-template-rows:28px 36px 40px;align-content:center;justify-items:center;row-gap:12px;text-align:center;color:#315961;font-size:12px;line-height:1.5;pointer-events:none}
.puzzle-startup-status::before{content:'';width:24px;height:24px;border:2px solid #d6e3df;border-top-color:#07576b;border-radius:50%;animation:puzzle-startup-spin 1.2s linear infinite}
.puzzle-startup-status[data-state="error"]::before{animation:none;border-color:#c5a36c}
.puzzle-startup-status [data-puzzle-loading-copy]{width:min(280px,90%);height:36px;display:flex;align-items:center;justify-content:center}
.puzzle-startup-status button{pointer-events:auto;border:1px solid #07576b;background:transparent;color:#07576b;padding:8px 18px;font:inherit;cursor:pointer}
.puzzle-startup-status button[hidden],.puzzle-startup-status[hidden]{display:none}
@keyframes puzzle-startup-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.puzzle-startup-status::before{animation:none}}
