/* The hit point and hammer live in one fixed coordinate system. */
.contact-forge{position:relative;isolation:isolate;flex:0 0 260px;width:260px;height:266px;--strike-x:115px;--strike-y:83px}
.contact-forge .contact-orb{position:absolute;left:24px;top:83px;margin:0;width:182px;height:182px;padding:25px;gap:13px;overflow:visible;user-select:none;border:1px solid #8150329c;background:linear-gradient(145deg,#f1bd94aa,#c7856060);box-shadow:inset 0 1px 0 #fff2d15c,0 10px 32px #8550390b;transition:background .45s,color .45s,border-color .45s,box-shadow .6s}
.contact-forge .contact-orb::before{content:'';position:absolute;inset:7px;border:1px solid #82543826;border-radius:50%;pointer-events:none;transition:border-color .5s}
.contact-forge .contact-orb::after{content:'';position:absolute;inset:-9px;border-radius:50%;border:1px solid #78503424;pointer-events:none;transition:border-color .5s}
.contact-forge .contact-orb>span{font-size:37px}.contact-forge .contact-orb>strong{font-size:11px}
.contact-forge .contact-orb:is(:hover,:focus-visible){background:#292b23;color:#f6d0aa;border-color:#292b23;box-shadow:inset 0 1px 0 #edbf8e38,0 13px 36px #65351f26}
.contact-forge .contact-orb:is(:hover,:focus-visible)::before{border-color:#e0a4703b}
.contact-forge .contact-orb:is(:hover,:focus-visible)::after{border-color:#a2633d68}
.contact-forge .contact-orb:focus-visible{outline:2px solid #483020;outline-offset:14px}
.forge-hammer,.forge-sparks,.forge-flare,.forge-ripple,.forge-button-light{position:absolute;pointer-events:none;user-select:none}
.forge-hammer{z-index:4;width:190px;height:79.33px;left:87px;top:10.53px;overflow:visible;opacity:0;transform-origin:94.33% 53.33%;transform:rotate(28deg);filter:drop-shadow(0 10px 9px #53301d30);will-change:transform,opacity}
.forge-hammer img{display:block;width:100%;height:100%;object-fit:contain}
.forge-sparks{z-index:5;left:-140px;top:-110px;width:540px;height:400px}
.forge-flare{z-index:3;left:var(--strike-x);top:var(--strike-y);width:88px;height:50px;opacity:0;border-radius:50%;background:radial-gradient(ellipse,#fff7dccc 0%,#ffd49a77 24%,#ffb15d33 46%,transparent 72%);transform:translate(-50%,-50%)}
.forge-ripple{z-index:2;left:var(--strike-x);top:var(--strike-y);width:72px;height:24px;border:1px solid #fff0c5b3;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.2)}
.forge-ripple-second{border-color:#b8764566}
.forge-button-light{z-index:1;left:24px;top:83px;width:182px;height:182px;overflow:hidden;border-radius:50%;opacity:0;background:radial-gradient(ellipse at 50% 0%,#ffdd9955,transparent 68%);box-shadow:inset 0 2px 0 #ffe8b5,inset 0 8px 24px #e8a65533}
.is-forging .forge-hammer{animation:forge-hammer-strike 1650ms both}
.is-forging .forge-flare{animation:forge-impact-flare 800ms 528ms ease-out both}
.is-forging .forge-ripple{animation:forge-impact-wave 900ms 528ms cubic-bezier(.13,.64,.18,1) both}
.is-forging .forge-ripple-second{animation-delay:620ms}
.is-forging .forge-button-light{animation:forge-button-heat 950ms 528ms ease-out both}
.is-forging .contact-orb>strong{animation:forge-letter-settle 650ms 528ms both}
@keyframes forge-hammer-strike{
  0%{opacity:0;transform:translate(9px,-7px) rotate(28deg);animation-timing-function:cubic-bezier(.18,.65,.3,1)}
  10%{opacity:1;transform:translate(0,0) rotate(30deg);animation-timing-function:cubic-bezier(.25,.1,.35,1)}
  22%{opacity:1;transform:rotate(40deg);animation-timing-function:cubic-bezier(.65,0,.9,.46)}
  32%{opacity:1;transform:rotate(0deg);animation-timing-function:cubic-bezier(.13,.7,.2,1)}
  43%{opacity:1;transform:rotate(11deg);animation-timing-function:ease-in-out}
  56%{opacity:1;transform:rotate(7deg);animation-timing-function:cubic-bezier(.35,0,.2,1)}
  72%{opacity:1;transform:translate(0,-3px) rotate(18deg);animation-timing-function:ease-in}
  100%{opacity:0;transform:translate(8px,-12px) rotate(29deg)}
}
@keyframes forge-impact-flare{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}8%{opacity:.9;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}
@keyframes forge-impact-wave{0%{opacity:0;transform:translate(-50%,-50%) scale(.25)}9%{opacity:.85}100%{opacity:0;transform:translate(-50%,-50%) scale(4.1,2.5)}}
@keyframes forge-button-heat{0%{opacity:0}7%{opacity:1}100%{opacity:0}}
@keyframes forge-letter-settle{0%,100%{transform:translateY(0)}12%{transform:translateY(2px)}36%{transform:translateY(-.6px)}60%{transform:translateY(.25px)}}
@media(max-width:1000px){.contact-main{gap:24px}}
@media(max-width:760px){.contact-main{display:block}.contact-forge{margin:46px 0 0 auto}.contact-forge .contact-orb>span{font-size:35px}}
@media(max-width:360px){.contact-forge{width:250px;flex-basis:250px;margin-right:12px}}
body.motion-paused .forge-hammer,body.motion-paused .forge-sparks,body.motion-paused .forge-flare,body.motion-paused .forge-ripple,body.motion-paused .forge-button-light{display:none}
@media(prefers-reduced-motion:reduce){.forge-hammer,.forge-sparks,.forge-flare,.forge-ripple,.forge-button-light{display:none}.is-forging .contact-orb>strong{animation:none}}
