:root{
  --fg-ivory:#FBF7F1;
  --fg-gold:#B08D57;
  --fg-gold-light:#E9D3A8;
  --fg-burgundy:#7B1E30;
}
.fg-home-intro{
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:grid;
  place-items:center;
  min-height:100vh;
  min-height:100dvh;
  background:#FBF7F1;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .7s ease,visibility 0s linear .7s;
}
.fg-home-intro.is-exiting{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.fg-logo-motion{
  position:relative;
  width:var(--size,112px);
  height:var(--size,112px);
  margin-inline:auto;
}
.fg-logo-motion img{
  width:100%;
  height:100%;
  display:block;
  animation:fgLogoIn 1.6s cubic-bezier(.2,.7,.2,1) .3s both;
}
.fg-logo-motion .ring{
  position:absolute;
  inset:-6px;
  border-radius:50%;
  background:conic-gradient(
    from 0deg,
    rgba(176,141,87,0) 0deg,
    #E9D3A8 70deg,
    rgba(176,141,87,0) 150deg,
    rgba(123,30,48,0) 210deg,
    #B08D57 290deg,
    rgba(176,141,87,0) 360deg
  );
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));
  animation:fgSpin 8s linear infinite;
}
.fg-logo-motion .glint{
  position:absolute;
  inset:6%;
  border-radius:50%;
  background:linear-gradient(115deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.8) 50%,rgba(255,255,255,0) 62%);
  background-size:260% 100%;
  animation:fgGlint 5s ease-in-out 2s infinite;
  mix-blend-mode:screen;
  pointer-events:none;
}
@keyframes fgSpin{to{transform:rotate(360deg)}}
@keyframes fgGlint{0%{background-position:160% 0}55%,100%{background-position:-60% 0}}
@keyframes fgLogoIn{
  0%{opacity:0;transform:scale(.55) rotate(-24deg);filter:blur(12px)}
  55%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .fg-logo-motion img,
  .fg-logo-motion .ring,
  .fg-logo-motion .glint{
    animation:none;
  }
  .fg-home-intro{
    transition:opacity .12s ease,visibility 0s linear .12s;
  }
}
