/* SNF Site Effects — Dwight Clark Day / premium cinematic treatment */
.snf-site-effect{position:fixed;inset:0;z-index:2147483000;pointer-events:none;overflow:hidden;contain:layout paint;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.snf-dc-stage{position:absolute;inset:0;opacity:0;visibility:hidden}
.snf-site-effect.is-playing{pointer-events:auto;cursor:pointer}
.snf-site-effect.is-playing .snf-dc-stage{visibility:visible;animation:snf-dc-stage-in .48s ease both}
.snf-site-effect.is-dismissing .snf-dc-stage{animation:snf-dc-stage-out .42s ease both}
.snf-dc-dim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,7,8,.74) 0%,rgba(15,7,8,.65) 38%,rgba(15,7,8,.22) 72%,rgba(7,7,8,.08) 100%);backdrop-filter:blur(1.6px);-webkit-backdrop-filter:blur(1.6px)}
.snf-dc-vignette{position:absolute;inset:-8%;background:radial-gradient(circle at 72% 45%,transparent 0 22%,rgba(0,0,0,.12) 44%,rgba(0,0,0,.54) 100%)}
.snf-dc-speedlines{position:absolute;inset:0;opacity:0;background:repeating-linear-gradient(172deg,transparent 0 28px,rgba(219,161,126,.08) 30px,transparent 33px);transform:translateX(12%)}
.snf-site-effect.is-playing .snf-dc-speedlines{animation:snf-dc-lines 1.15s .18s cubic-bezier(.16,.78,.24,1) both}

.snf-dc-player-wrap{position:absolute;z-index:4;right:-29vw;bottom:-19vh;width:min(48vw,660px);transform-origin:50% 75%;filter:drop-shadow(0 22px 30px rgba(0,0,0,.38));will-change:transform,right,bottom,opacity}
.snf-dc-player{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.snf-site-effect.is-playing .snf-dc-player-wrap{animation:snf-dc-player-flight 3.25s .12s linear both}

.snf-dc-flare{position:absolute;z-index:2;left:68%;top:37%;width:1px;height:1px;opacity:0}
.snf-dc-flare:before{content:"";position:absolute;left:0;top:0;width:min(47vw,620px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.28);background:radial-gradient(circle,rgba(255,255,255,.96) 0 3%,rgba(255,233,211,.74) 5%,rgba(219,161,126,.42) 12%,rgba(188,12,28,.2) 28%,transparent 66%);filter:blur(1px)}
.snf-dc-flare span{position:absolute;left:0;top:0;width:2px;height:2px;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.7),0 0 18px 8px rgba(219,161,126,.6)}
.snf-dc-flare span:nth-child(2){transform:translate(-56px,32px)}.snf-dc-flare span:nth-child(3){transform:translate(68px,-42px)}
.snf-site-effect.is-playing .snf-dc-flare{animation:snf-dc-flare 1.45s 1.56s ease-out both}

.snf-dc-halo{position:absolute;z-index:3;left:68%;top:39%;width:min(36vw,480px);aspect-ratio:1;transform:translate(-50%,-50%);opacity:0}
.snf-dc-halo span{position:absolute;inset:0;border:1.5px solid rgba(219,161,126,.7);border-radius:50%}
.snf-dc-halo span+span{inset:10%;border-color:rgba(255,255,255,.32)}
.snf-site-effect.is-playing .snf-dc-halo{animation:snf-dc-halo 1.6s 1.6s ease-out both}

.snf-dc-copy{position:absolute;z-index:5;left:clamp(28px,7vw,110px);top:50%;width:min(40vw,590px);transform:translateY(-50%);text-transform:uppercase;color:#fff;text-shadow:0 5px 24px rgba(0,0,0,.5);opacity:0}
.snf-dc-kicker{display:inline-block;margin-bottom:10px;padding:6px 12px;border:1px solid rgba(219,161,126,.72);border-radius:999px;font-size:clamp(12px,1.2vw,16px);font-weight:850;letter-spacing:.24em;color:#f0c3a5;background:rgba(188,12,28,.18);transform:translateY(12px);opacity:0}
.snf-dc-title{display:flex;align-items:flex-end;gap:.14em;white-space:nowrap;line-height:.74;letter-spacing:-.055em;transform:translateY(28px);opacity:0}
.snf-dc-title span{font-size:clamp(38px,5.8vw,88px);font-weight:700;color:#f1c9af;letter-spacing:-.07em}
.snf-dc-title strong{font-family:Impact,"Arial Black",sans-serif;font-size:clamp(78px,10.5vw,164px);font-weight:900;color:#fff;-webkit-text-stroke:1px rgba(255,255,255,.15)}
.snf-dc-rule{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:clamp(14px,2.2vh,23px) 0 12px;width:min(100%,520px);opacity:0;transform:scaleX(.7)}
.snf-dc-rule i{height:2px;background:linear-gradient(90deg,transparent,#dba17e)}.snf-dc-rule i:last-child{background:linear-gradient(90deg,#dba17e,transparent)}
.snf-dc-rule b{font-family:Impact,"Arial Black",sans-serif;font-size:clamp(28px,3.1vw,46px);line-height:1;color:#fff;letter-spacing:.04em;text-shadow:3px 3px 0 #bc0c1c}
.snf-dc-name{font-size:clamp(22px,3.1vw,46px);font-weight:900;letter-spacing:.055em;opacity:0;transform:translateY(16px)}
.snf-dc-dismiss-hint{margin-top:18px;font-size:clamp(10px,1vw,13px);font-weight:800;letter-spacing:.22em;color:rgba(255,255,255,.72);opacity:0;transform:translateY(8px)}
.snf-site-effect.is-playing .snf-dc-copy{animation:snf-dc-copy-shell .01s 2.08s linear both}
.snf-site-effect.is-playing .snf-dc-kicker{animation:snf-dc-copy-in .55s 2.12s ease-out both}
.snf-site-effect.is-playing .snf-dc-title{animation:snf-dc-copy-in .62s 2.2s cubic-bezier(.18,.9,.25,1) both}
.snf-site-effect.is-playing .snf-dc-rule{animation:snf-dc-rule-in .5s 2.55s ease-out both}
.snf-site-effect.is-playing .snf-dc-name{animation:snf-dc-copy-in .52s 2.72s ease-out both}
.snf-site-effect.is-playing .snf-dc-dismiss-hint{animation:snf-dc-copy-in .5s 3.05s ease-out both}

.snf-dc-particles{position:absolute;z-index:3;inset:0;overflow:hidden}
.snf-dc-particle{position:absolute;left:var(--left);top:var(--top);width:var(--w);height:var(--h);border-radius:2px;opacity:0;background:#bc0c1c;box-shadow:0 2px 7px rgba(0,0,0,.16);transform:translate(0,0) rotate(0deg)}
.snf-dc-particle--1{background:#dba17e}.snf-dc-particle--2{background:#fff}
.snf-site-effect.is-playing .snf-dc-particle{animation:snf-dc-particle 2.8s calc(1.68s + var(--delay)) cubic-bezier(.16,.68,.18,1) both}

.snf-dc-replay{position:fixed;z-index:2147483001;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%,16px);border:1px solid rgba(219,161,126,.8);border-radius:999px;padding:11px 17px;background:linear-gradient(180deg,rgba(28,28,30,.96),rgba(10,10,12,.96));color:#fff;font:inherit;font-size:14px;font-weight:800;letter-spacing:.025em;box-shadow:0 10px 28px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.08);opacity:0;visibility:hidden;pointer-events:auto;cursor:pointer;transition:opacity .22s ease,transform .22s ease,visibility .22s}
.snf-dc-replay span{display:inline-block;margin-right:6px;color:#dba17e}.snf-dc-replay.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}.snf-dc-replay:focus-visible{outline:3px solid #fff;outline-offset:3px}

@keyframes snf-dc-stage-in{0%{opacity:0}100%{opacity:1}}
@keyframes snf-dc-stage-out{0%{opacity:1}100%{opacity:0}}
@keyframes snf-dc-lines{0%{opacity:0;transform:translateX(22%)}35%{opacity:1}100%{opacity:0;transform:translateX(-10%)}}
@keyframes snf-dc-player-flight{
  0%{right:-29vw;bottom:-18vh;opacity:0;transform:translate3d(0,0,0) rotate(8deg) scale(.70)}
  8%{opacity:1}
  24%{right:-10vw;bottom:-2vh;opacity:1;transform:translate3d(0,-5vh,0) rotate(5deg) scale(.80)}
  48%{right:7vw;bottom:12vh;opacity:1;transform:translate3d(0,-10vh,0) rotate(1deg) scale(.94)}
  66%{right:14vw;bottom:17vh;opacity:1;transform:translate3d(0,-12vh,0) rotate(-1deg) scale(1.02)}
  82%{right:17vw;bottom:13vh;opacity:1;transform:translate3d(0,-9vh,0) rotate(-2deg) scale(1.01)}
  100%{right:18vw;bottom:8vh;opacity:1;transform:translate3d(0,-5vh,0) rotate(-3deg) scale(.99)}
}
@keyframes snf-dc-flare{0%{opacity:0;transform:scale(.3)}18%{opacity:1;transform:scale(.95)}48%{opacity:.76;transform:scale(1.08)}100%{opacity:0;transform:scale(1.34)}}
@keyframes snf-dc-halo{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}25%{opacity:.9}100%{opacity:0;transform:translate(-50%,-50%) scale(1.22)}}
@keyframes snf-dc-copy-shell{0%{opacity:0}100%{opacity:1}}
@keyframes snf-dc-copy-in{0%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:translateY(0)}}
@keyframes snf-dc-rule-in{0%{opacity:0;transform:scaleX(.6)}100%{opacity:1;transform:scaleX(1)}}
@keyframes snf-dc-particle{0%{opacity:0;transform:translate(0,0) rotate(0deg) scale(.6)}8%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(390deg) scale(1)}}

@media(max-width:760px){
  .snf-dc-dim{background:linear-gradient(180deg,rgba(7,7,8,.22) 0%,rgba(10,7,8,.28) 32%,rgba(8,7,8,.78) 72%,rgba(5,5,6,.9) 100%)}
  .snf-dc-player-wrap{width:min(83vw,560px);right:-58vw;bottom:8vh}
  .snf-dc-flare,.snf-dc-halo{left:61%;top:35%}
  .snf-dc-halo{width:68vw}
  .snf-dc-copy{left:24px;right:24px;top:auto;bottom:11vh;width:auto;transform:none;text-align:left}
  .snf-dc-title{gap:.1em}.snf-dc-title span{font-size:clamp(30px,8vw,48px)}.snf-dc-title strong{font-size:clamp(70px,18vw,108px)}
  .snf-dc-name{font-size:clamp(21px,7vw,34px)}
  .snf-dc-rule{width:min(82vw,440px);margin-top:12px}
  @keyframes snf-dc-player-flight{
    0%{right:-60vw;bottom:0vh;opacity:0;transform:rotate(8deg) scale(.62)}
    8%{opacity:1}
    25%{right:-30vw;bottom:10vh;opacity:1;transform:rotate(5deg) scale(.72)}
    49%{right:-6vw;bottom:24vh;opacity:1;transform:rotate(1deg) scale(.86)}
    67%{right:2vw;bottom:30vh;opacity:1;transform:rotate(-1deg) scale(.95)}
    83%{right:5vw;bottom:27vh;opacity:1;transform:rotate(-2deg) scale(.94)}
    100%{right:7vw;bottom:22vh;opacity:1;transform:rotate(-3deg) scale(.92)}
  }
}
@media(max-width:420px){.snf-dc-copy{left:18px;right:18px;bottom:10vh}.snf-dc-kicker{font-size:11px}.snf-dc-dismiss-hint{font-size:10px;letter-spacing:.18em}}
@media(prefers-reduced-motion:reduce){.snf-site-effect{display:none!important}}
