/* Scoped to the welcome sequence and the requested footer links. */
.hero-entry-fx{display:none;position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
.hero .hero-content{position:relative;z-index:auto}
.hero .hero-bottom{z-index:2}
.hero-logo .logo-echo{position:absolute;inset:0;display:block;opacity:0;pointer-events:none;mix-blend-mode:screen}
.hero-logo .logo-echo img{width:100%;height:auto}
.entry-beam{position:absolute;top:-42%;width:63%;height:175%;transform-origin:50% 0;opacity:0;clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);background:linear-gradient(180deg,#ff473888,#e12a2033 45%,transparent 95%);filter:blur(12px)}
.entry-beam-left{left:-18%}.entry-beam-right{right:-18%}
.entry-ring{position:absolute;left:50%;top:43%;width:66%;aspect-ratio:2.5;opacity:0;border:2px solid #f63a2c88;border-radius:50%;box-shadow:0 0 40px #e12b2822,inset 0 0 35px #e12b2822;transform:translate(-50%,-50%) scale(.3)}
.entry-streak{position:absolute;left:-24%;top:48%;width:148%;height:3px;opacity:0;background:linear-gradient(90deg,transparent 4%,#e12b28 38%,#fff9 50%,#e12b28 62%,transparent 96%);box-shadow:0 0 20px #e12b2888;transform:rotate(-10deg)}
.entry-sparks{position:absolute;inset:0;opacity:0}
.entry-sparks i{--spark-angle:-25deg;position:absolute;left:24%;top:31%;height:2px;width:70px;background:linear-gradient(90deg,transparent,#fa6e52);transform:rotate(var(--spark-angle));opacity:.7}
.entry-sparks i:nth-child(2){left:76%;top:30%;width:50px;--spark-angle:28deg}
.entry-sparks i:nth-child(3){left:13%;top:61%;width:43px;--spark-angle:-13deg}
.entry-sparks i:nth-child(4){left:80%;top:64%;width:64px;--spark-angle:19deg}
.entry-sparks i:nth-child(5){left:39%;top:22%;width:30px;--spark-angle:-65deg}
.entry-sparks i:nth-child(6){left:61%;top:75%;width:35px;--spark-angle:73deg}
@media(prefers-reduced-motion:no-preference){
  .hero-entry-fx{display:block}
  .hero .hero-image{animation:stage-ignition 3.1s cubic-bezier(.16,.65,.2,1) both}
  .hero h1.hero-logo{animation:logo-headliner 2.55s .12s cubic-bezier(.16,.65,.2,1) both;transform-origin:50% 50%;clip-path:none}
  .hero-logo>.logo-main{animation:logo-afterglow 5s 3s ease-in-out 2}
  .hero-logo .logo-echo-left{animation:logo-echo-left 1.3s .35s ease-out both}
  .hero-logo .logo-echo-right{animation:logo-echo-right 1.3s .43s ease-out both}
  .hero h1.hero-logo:after{background:linear-gradient(105deg,transparent 37%,#fff8 49%,transparent 59%);animation:headliner-sheen 1.25s 1.55s ease-out both}
  .hero .eyebrow{animation-delay:.5s}
  .hero .hero-actions{animation-delay:1.6s}
  .entry-beam-left{animation:stage-beam-left 3.25s .05s ease-out both}
  .entry-beam-right{animation:stage-beam-right 3.25s .12s ease-out both}
  .entry-ring{animation:stage-impact-ring 1.5s .8s ease-out both}
  .entry-streak{animation:stage-riff-streak 1.2s .95s cubic-bezier(.16,.7,.25,1) both}
  .entry-sparks{animation:stage-sparks 1.5s .8s ease-out both}
}
@keyframes logo-headliner{
  0%{opacity:0;transform:perspective(1100px) translate3d(0,-65px,0) rotateX(27deg) skewX(-7deg) scale(1.72)}
  12%{opacity:.18}
  33%{opacity:1;transform:perspective(1100px) translate3d(0,10px,0) rotateX(-6deg) skewX(2deg) scale(.94)}
  43%{transform:translate3d(-5px,-3px,0) rotate(-.7deg) scale(1.055)}
  52%{transform:translate3d(4px,2px,0) rotate(.45deg) scale(.992)}
  62%{transform:translate3d(-2px,-1px,0) rotate(-.2deg) scale(1.012)}
  78%,100%{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}
}
@keyframes logo-echo-left{0%{opacity:0;transform:translateX(-75px) scale(1.09)}30%{opacity:.36}100%{opacity:0;transform:translateX(0) scale(1)}}
@keyframes logo-echo-right{0%{opacity:0;transform:translateX(75px) scale(1.09)}30%{opacity:.3}100%{opacity:0;transform:translateX(0) scale(1)}}
@keyframes stage-ignition{0%{opacity:.1;transform:scale(1.16);filter:brightness(.35) saturate(.7)}34%{opacity:.82;filter:brightness(1.12) saturate(1.25)}100%{opacity:.68;transform:scale(1);filter:none}}
@keyframes stage-beam-left{0%{opacity:0;transform:rotate(-37deg)}25%{opacity:.72}55%{opacity:.4}100%{opacity:0;transform:rotate(30deg)}}
@keyframes stage-beam-right{0%{opacity:0;transform:rotate(37deg)}25%{opacity:.68}55%{opacity:.4}100%{opacity:0;transform:rotate(-30deg)}}
@keyframes stage-impact-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.25)}19%{opacity:.8}100%{opacity:0;transform:translate(-50%,-50%) scale(1.9)}}
@keyframes stage-riff-streak{0%{opacity:0;transform:translateX(-60%) rotate(-10deg) scaleX(.2)}30%{opacity:.78}100%{opacity:0;transform:translateX(65%) rotate(-10deg) scaleX(1.15)}}
@keyframes stage-sparks{0%{opacity:0;transform:scale(.72)}20%{opacity:.88}100%{opacity:0;transform:scale(1.22)}}
@keyframes headliner-sheen{0%{opacity:0;transform:translateX(-110%) skewX(-6deg)}15%{opacity:.7}100%{opacity:0;transform:translateX(110%) skewX(-6deg)}}
@keyframes logo-afterglow{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.008)}}
@media(max-width:640px){.entry-beam{width:92%;filter:blur(7px)}.entry-beam-left{left:-35%}.entry-beam-right{right:-35%}.entry-ring{width:89%;top:43%}.entry-streak{top:45%;height:2px}.entry-sparks i{width:35px}.entry-sparks i:nth-child(2n){width:25px}}
@media(prefers-reduced-motion:reduce){.hero-entry-fx,.hero-logo .logo-echo{display:none!important}.hero h1.hero-logo,.hero-logo>.logo-main,.hero h1.hero-logo:after,.hero .hero-image{animation:none!important;filter:none!important;transform:none!important;clip-path:none!important}.hero h1.hero-logo{opacity:1}.hero h1.hero-logo:after{display:none}}

/* The existing footer gains one dedicated row for social accounts. */
.site-footer{flex-wrap:wrap;row-gap:25px;width:100%;max-width:none}
.footer-social{display:flex;align-items:center;justify-content:center;gap:12px;order:4;flex-basis:100%;width:100%}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;color:var(--paper);background:transparent;border:1px solid #f2f2ef66;transition:color .2s,border-color .2s,background-color .2s,transform .2s}
.footer-social svg{display:block;width:21px;height:21px}
.footer-social a:hover{color:var(--red);border-color:var(--red);background:#d3292910;transform:translateY(-3px)}
.footer-social a:focus-visible{outline:2px solid var(--paper);outline-offset:4px;color:var(--red);border-color:var(--red)}
@media(prefers-reduced-motion:reduce){.footer-social a{transition:none}.footer-social a:hover{transform:none}}

/* Two equal copies create a continuous right-to-left rock ribbon. */
.rock-strip{display:block}
.rock-marquee{display:flex;gap:0;width:max-content;height:100%}
.rock-marquee-group{display:flex;align-items:center;justify-content:space-around;flex:0 0 auto;gap:36px;width:max-content;min-width:100vw;height:100%;padding-right:36px}
.rock-marquee-group>*{flex:0 0 auto}
@media(prefers-reduced-motion:no-preference){.rock-marquee{animation:rock-ribbon-left 26s linear infinite;will-change:transform}}
@keyframes rock-ribbon-left{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.rock-strip:hover .rock-marquee{animation-play-state:paused}}
@media(max-width:640px){.rock-marquee-group{gap:26px;padding-right:26px}}
@media(prefers-reduced-motion:reduce){.rock-marquee{animation:none!important;transform:none!important;will-change:auto}}
