/* Sparks R Us: responsive rules (replace the canvas runtime's width checks) */
.sp-svc{grid-template-columns:repeat(4,minmax(0,1fr))}
.sp-feat{grid-template-columns:repeat(4,minmax(0,1fr))}
.sp-feat-i{border-right:1px solid #444}
.sp-feat-i:nth-child(4){border-right:0}
.sp-ev-i{flex:1 1 0px;border-right:1px solid #FBAA19}
.sp-ev-i:last-child{border-right:0}
.sp-narrow{display:none!important}
.sp-mnav{display:none!important}
.sp-ico-close{display:none}
.sp-open .sp-ico-open{display:none}.sp-open .sp-ico-close{display:inline}
.sp-callbar{display:none!important}
.sp-mnav a{color:#f2f2f2}.sp-mnav a:first-child{color:#FBAA19}
@media (max-width:1179px){.sp-ev-i{flex-basis:30%}.sp-ev-3{border-right:0}}
@media (max-width:999px){
  .sp-wide{display:none!important}
  .sp-narrow{display:flex!important}
  .sp-open .sp-mnav{display:flex!important}
  .sp-feat{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-feat-i{border-right:0}
}
@media (max-width:899px){.sp-svc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:859px) and (min-width:700px){.sp-ev-i{flex-basis:0px}.sp-ev-3{border-right:1px solid #FBAA19}}
@media (max-width:639px){.sp-callbar{display:flex!important}.sp-page{padding-bottom:78px}}
@media (max-width:559px){.sp-feat{grid-template-columns:1fr}}
@media (max-width:519px){.sp-svc{grid-template-columns:1fr}}
.sp-h0:hover{color:#FBAA19!important}
.sp-h1:hover{color:#FBAA19!important}
.sp-h2:hover{color:#FBAA19!important}
.sp-h3:hover{color:#FBAA19!important}
.sp-h4:hover{background:#ffc04a!important;color:#111!important}
.sp-h5:hover{background:#ffc04a!important;color:#111!important}
.sp-h6:hover{background:#FBAA19!important;color:#111!important}
.sp-h7:hover{border-color:#FBAA19!important;background:#191919!important;color:#fff!important}
.sp-h8:hover{border-color:#FBAA19!important;background:#191919!important;color:#fff!important}
.sp-h9:hover{border-color:#FBAA19!important;background:#191919!important;color:#fff!important}
.sp-h10:hover{border-color:#FBAA19!important;background:#191919!important;color:#fff!important}
.sp-h11:hover{border-color:#FBAA19!important;background:#191919!important;color:#fff!important}
.sp-h12:hover{border-color:#FBAA19!important;background:#191919!important;color:#fff!important}
.sp-h13:hover{border-color:#FBAA19!important;background:#191919!important;color:#fff!important}
.sp-h14:hover{border-color:#FBAA19!important;background:#191919!important;color:#fff!important}
.sp-h15:hover{background:#ffc04a!important;color:#111!important}
.sp-h16:focus{border-color:#FBAA19!important}
.sp-h17:focus{border-color:#FBAA19!important}
.sp-h18:focus{border-color:#FBAA19!important}
.sp-h19:focus{border-color:#FBAA19!important}
.sp-h20:hover{background:#ffc04a!important}
.sp-h21:hover{color:#FBAA19!important}
/* Phone polish */
@media (max-width:639px){
  #top>div:first-of-type{background:linear-gradient(180deg,rgba(7,8,10,.45) 0%,rgba(7,8,10,.82) 45%,#07080a 100%)!important}
  .sp-cta-num{font-size:26px!important}
  .sp-cta-ring{width:60px!important;height:60px!important}
  .sp-cta-ring svg{width:30px;height:30px}
  .sp-cta-row{gap:16px!important}
}
@media (max-width:639px){
  section[aria-label="Contact"]>img{opacity:.3!important}
  section[aria-label="Contact"] a[href^="mailto"]{font-size:16px!important;word-break:normal!important;overflow-wrap:anywhere}
}
/* Mid-width fixes */
@media (max-width:1199px){.sp-feat{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-feat-i{border-right:0}}
@media (max-width:999px){section[aria-label="Contact"]>img{opacity:.3!important}}
@media (max-width:559px){.sp-feat{grid-template-columns:1fr}}

/* Motion (html.sp-js is set in <head>, so content stays visible without JS) */
@keyframes spUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes spZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes spFlash{0%,90%,100%{opacity:0}91%{opacity:.5}92%{opacity:.08}93.5%{opacity:.35}95.5%{opacity:0}}
@keyframes spZap{0%,100%{transform:none}45%{transform:scale(1.18) rotate(-8deg)}55%{transform:scale(1.05)}}
@keyframes spRing{0%{box-shadow:0 0 0 0 rgba(251,170,25,.55)}70%{box-shadow:0 0 0 18px rgba(251,170,25,0)}100%{box-shadow:0 0 0 0 rgba(251,170,25,0)}}
.sp-js #top>img{animation:spZoom 9s cubic-bezier(.2,.7,.2,1) both;transform-origin:70% 40%}
#top::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 70% at 74% 28%,rgba(255,206,110,.55),transparent 70%);mix-blend-mode:screen;opacity:0;animation:spFlash 8s 2.5s infinite}
#top>div:last-child{z-index:2}
.sp-js #top h1>span,.sp-js #top>div:last-child>p,.sp-js #top>div:last-child>div{animation:spUp .8s cubic-bezier(.2,.7,.2,1) both}
.sp-js #top h1>span:nth-child(1){animation-delay:.1s}
.sp-js #top h1>span:nth-child(2){animation-delay:.25s}
.sp-js #top h1>span:nth-child(3){animation-delay:.4s}
.sp-js #top>div:last-child>p{animation-delay:.6s}
.sp-js #top>div:last-child>div{animation-delay:.75s}
.sp-band svg{animation:spZap 2.6s ease-in-out infinite}
.sp-band svg:last-child{animation-delay:1.3s}
.sp-cta-ring,.sp-callbar{animation:spRing 2.4s ease-out infinite}
.sp-js .sp-rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.sp-js .sp-rv.sp-in{opacity:1;transform:none}
.sp-svc>a{transition:transform .25s ease,border-color .25s ease,background .25s ease}
.sp-svc>a:hover{transform:translateY(-4px)}
.sp-svc>a svg{transition:transform .3s ease}
.sp-svc>a:hover svg{transform:scale(1.08)}
section[aria-label="Recent work"]{overflow:hidden}
section[aria-label="Recent work"]>img{transition:transform .6s ease,filter .6s ease}
section[aria-label="Recent work"]>img:hover{transform:scale(1.04);filter:brightness(1.1)}
@media (prefers-reduced-motion:reduce){
  .sp-js #top>img,#top::after,.sp-js #top h1>span,.sp-js #top>div:last-child>p,.sp-js #top>div:last-child>div,.sp-band svg,.sp-cta-ring,.sp-callbar{animation:none!important}
  .sp-js .sp-rv{opacity:1!important;transform:none!important;transition:none!important}
  .sp-svc>a:hover,.sp-svc>a:hover svg,section[aria-label="Recent work"]>img:hover{transform:none}
}
