/* Broad, softly moving light for both homepages' final invitation. */
.closing.closing-luminous{
  isolation:isolate;
  overflow:hidden;
  padding-top:92px;
  background:radial-gradient(ellipse at 50% 45%,#fffafd80,transparent 75%);
}
.closing-luminous .closing-lightfield{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  contain:paint;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 88%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 14%,#000 88%,transparent);
}
.closing-luminous .closing-light{
  position:absolute;
  display:block;
  border-radius:50%;
  pointer-events:none;
}
.closing-luminous .closing-light-lavender{
  width:clamp(520px,80vw,1200px);
  height:clamp(300px,39vw,560px);
  left:-24%;
  top:-43%;
  background:radial-gradient(ellipse at 50% 50%,#fffef9f2 0%,#ebf9ffe6 20%,#bbdef7a6 35%,#cdb7f482 51%,transparent 72%);
  filter:blur(25px);
  animation:lumina-closing-lavender 20s ease-in-out infinite alternate;
}
.closing-luminous .closing-light-rose{
  width:clamp(500px,72vw,1080px);
  height:clamp(320px,43vw,620px);
  right:-24%;
  bottom:-47%;
  background:radial-gradient(ellipse at 50% 50%,#fffdf6f2 0%,#fff1d9c9 18%,#f7c8e4ad 36%,#d1c6f582 54%,transparent 73%);
  filter:blur(28px);
  animation:lumina-closing-rose 25s ease-in-out infinite alternate;
}
.closing-luminous .closing-light-ray{
  width:154%;
  height:42%;
  left:-27%;
  top:20%;
  border-radius:50%;
  background:linear-gradient(180deg,transparent 2%,#c5e9ff5c 21%,#fffefcf2 44%,#ffffffef 51%,#f7cce990 66%,#e0ccf659 79%,transparent 100%);
  filter:blur(19px);
  transform:translate3d(-3%,0,0) rotate(-16deg);
  animation:lumina-closing-ray 22s ease-in-out infinite alternate;
}
.closing-luminous .closing-lightfield::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 50% 40%,#fffafd80 0%,#fffafd30 48%,transparent 76%);
}
.closing-luminous h2>span{display:inline-block}
html[lang="en"] .closing-luminous h2>span{display:block}
.closing-luminous .closing-message{
  margin:24px auto 0;
  color:var(--muted);
  font:16px/2.15 var(--sans);
  letter-spacing:.025em;
}
.closing-luminous .closing-message-line{display:block}
.closing-luminous .closing-message-line>span{display:inline-block}
@keyframes lumina-closing-lavender{
  from{transform:translate3d(-3%,2%,0) scale(.97);opacity:.85}
  to{transform:translate3d(13%,14%,0) scale(1.08);opacity:1}
}
@keyframes lumina-closing-rose{
  from{transform:translate3d(5%,3%,0) scale(1.04);opacity:.9}
  to{transform:translate3d(-12%,-11%,0) scale(.96);opacity:1}
}
@keyframes lumina-closing-ray{
  from{transform:translate3d(-3%,-11%,0) rotate(-16deg);opacity:.7}
  to{transform:translate3d(4%,29%,0) rotate(-10deg);opacity:.95}
}
@media(max-width:760px){
  .closing.closing-luminous{padding-top:70px}
  .closing-luminous h2{line-height:1.75}
  .closing-luminous .closing-message{font-size:16px;line-height:2.1;margin-top:20px;letter-spacing:0}
  .closing-luminous .closing-light-lavender{left:-75%;top:-20%;filter:blur(19px)}
  .closing-luminous .closing-light-rose{right:-80%;bottom:-15%;filter:blur(22px)}
  .closing-luminous .closing-light-ray{width:220%;left:-60%;top:24%;height:32%;filter:blur(15px)}
}
html.motion-paused .closing-lightfield .closing-light{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
  .closing-lightfield .closing-light{animation:none!important}
}

/* Compact closing line and a balanced HOME footer on phones. */
@media(max-width:760px){
 .closing-luminous .closing-message-line:last-child{font-size:clamp(12px,3.7vw,16px);white-space:nowrap}
 .closing-luminous .closing-message-line:last-child wbr{display:none}
 html[lang=en] .closing-luminous .closing-message-line:last-child{font-size:clamp(11.5px,3.5vw,15px);margin-inline:-12px}
 body.has-camp-ribbon .site-footer .footer-identity{justify-content:space-between;gap:18px}
 body.has-camp-ribbon .site-footer .footer-tagline{text-align:right;white-space:nowrap}
 html[lang=en] body.has-camp-ribbon .site-footer .footer-tagline{font-size:clamp(14px,4.3vw,19px);line-height:1.65}
}
@media(max-width:359px){
 body.has-camp-ribbon .site-footer .footer-identity{gap:12px}
 body.has-camp-ribbon .site-footer .footer-brand .brand{width:90px}
 body.has-camp-ribbon .site-footer .footer-brand>p{font-size:12px}
 body.has-camp-ribbon .site-footer .footer-tagline{font-size:15px}
 html[lang=en] body.has-camp-ribbon .site-footer .footer-tagline{font-size:14px}
}
