/* Homepage-only overlay: existing Divi layout and static background remain intact. */
.strelec-intro-stage { position: absolute; z-index: 0; pointer-events: none; visibility: hidden; }
.strelec-intro-stage.is-playing { visibility: visible; }
.strelec-intro-stage .frohlich-animation-art { display: block; width: 100%; height: 100%; overflow: visible; }
body.home #page-container #main-content .et_pb_section.et_pb_section_0 { background-image: url('clean-shooter.svg') !important; }
body.home #page-container #main-content .et_pb_section.strelec-intro-active { background-image: none !important; }
.frohlich-animation-art .frohlich-smoke,
.frohlich-animation-art .frohlich-case,
.frohlich-animation-art .frohlich-flash,
.frohlich-animation-art .frohlich-final-frame { opacity: 0; }
.frohlich-animation-art .frohlich-actor { transform-origin: 150px 125px; }
.frohlich-animation-art .frohlich-smoke { transform-origin: 78px 88px; }
.frohlich-animation-art .frohlich-case { transform-origin: 375px 168px; }
.strelec-intro-stage.is-playing .frohlich-case { will-change: transform, opacity; }
.strelec-intro-stage.is-playing .frohlich-actor { animation: frohlich-recoil 450ms 600ms both; }
.strelec-intro-stage.is-playing .frohlich-flash { animation: frohlich-shot 110ms 600ms both; }
.strelec-intro-stage.is-playing .frohlich-smoke { animation: frohlich-smoke-rise 1600ms 620ms both; }
.strelec-intro-stage.is-playing .frohlich-case { animation: frohlich-case-flight 2400ms 620ms both; }
.strelec-intro-stage.is-playing .frohlich-final-frame { animation: frohlich-final-image 400ms 3020ms both; }
.strelec-intro-stage.is-playing .frohlich-moving-layers { animation: frohlich-layers-out 400ms 3020ms both; }
@keyframes frohlich-recoil {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  18% { transform: translate(3px, -2px) rotate(1.1deg); }
  55% { transform: translate(1px, -1px) rotate(.3deg); }
}
@keyframes frohlich-shot {
  0%, 100% { opacity: 0; }
  12% { opacity: .95; }
  48% { opacity: .65; }
}
@keyframes frohlich-smoke-rise {
  0% { opacity: 0; transform: translate(2px, 3px) scale(.25, .07); }
  15% { opacity: .65; transform: translate(1px, 1px) scale(.62, .35); }
  55% { opacity: .9; transform: translate(0, -1px) scale(.95, .82); }
  100% { opacity: 1; transform: translate(0, 0) scale(1); }
}
@keyframes frohlich-case-flight {
  0% { opacity: 0; transform: translate(-225px, -80px) rotate(-210deg) scale(.16); }
  2% { opacity: 1; }
  26.666667% { opacity: 1; transform: translate(-107px, -134px) rotate(-110deg) scale(.55); animation-timing-function: linear; }
  28.958% { opacity: 1; transform: translate(-106.681px, -134.049px) rotate(-109.684deg) scale(0.551); animation-timing-function: linear; }
  31.25% { opacity: 1; transform: translate(-105.741px, -134.159px) rotate(-108.765deg) scale(0.555); animation-timing-function: linear; }
  33.542% { opacity: 1; transform: translate(-104.197px, -134.235px) rotate(-107.281deg) scale(0.561); animation-timing-function: linear; }
  35.833% { opacity: 1; transform: translate(-102.056px, -134.146px) rotate(-105.273deg) scale(0.569); animation-timing-function: linear; }
  38.125% { opacity: 1; transform: translate(-99.32px, -133.738px) rotate(-102.783deg) scale(0.58); animation-timing-function: linear; }
  40.417% { opacity: 1; transform: translate(-95.994px, -132.851px) rotate(-99.849deg) scale(0.592); animation-timing-function: linear; }
  42.708% { opacity: 1; transform: translate(-92.091px, -131.336px) rotate(-96.512deg) scale(0.605); animation-timing-function: linear; }
  45% { opacity: 1; transform: translate(-87.632px, -129.064px) rotate(-92.813deg) scale(0.62); animation-timing-function: linear; }
  47.292% { opacity: 1; transform: translate(-82.656px, -125.938px) rotate(-88.791deg) scale(0.637); animation-timing-function: linear; }
  49.583% { opacity: 1; transform: translate(-77.215px, -121.9px) rotate(-84.487deg) scale(0.654); animation-timing-function: linear; }
  51.875% { opacity: 1; transform: translate(-71.378px, -116.933px) rotate(-79.942deg) scale(0.673); animation-timing-function: linear; }
  54.167% { opacity: 1; transform: translate(-65.23px, -111.065px) rotate(-75.195deg) scale(0.692); animation-timing-function: linear; }
  56.458% { opacity: 1; transform: translate(-58.87px, -104.364px) rotate(-70.287deg) scale(0.712); animation-timing-function: linear; }
  58.75% { opacity: 1; transform: translate(-52.405px, -96.938px) rotate(-65.259deg) scale(0.733); animation-timing-function: linear; }
  61.042% { opacity: 1; transform: translate(-45.951px, -88.929px) rotate(-60.15deg) scale(0.754); animation-timing-function: linear; }
  63.333% { opacity: 1; transform: translate(-39.625px, -80.5px) rotate(-55deg) scale(0.775); animation-timing-function: linear; }
  65.625% { opacity: 1; transform: translate(-33.543px, -71.835px) rotate(-49.85deg) scale(0.796); animation-timing-function: linear; }
  67.917% { opacity: 1; transform: translate(-27.811px, -63.122px) rotate(-44.741deg) scale(0.817); animation-timing-function: linear; }
  70.208% { opacity: 1; transform: translate(-22.524px, -54.55px) rotate(-39.713deg) scale(0.838); animation-timing-function: linear; }
  72.5% { opacity: 1; transform: translate(-17.761px, -46.295px) rotate(-34.805deg) scale(0.858); animation-timing-function: linear; }
  74.792% { opacity: 1; transform: translate(-13.579px, -38.514px) rotate(-30.058deg) scale(0.877); animation-timing-function: linear; }
  77.083% { opacity: 1; transform: translate(-10.011px, -31.339px) rotate(-25.513deg) scale(0.896); animation-timing-function: linear; }
  79.375% { opacity: 1; transform: translate(-7.069px, -24.87px) rotate(-21.209deg) scale(0.913); animation-timing-function: linear; }
  81.667% { opacity: 1; transform: translate(-4.734px, -19.174px) rotate(-17.188deg) scale(0.93); animation-timing-function: linear; }
  83.958% { opacity: 1; transform: translate(-2.968px, -14.283px) rotate(-13.488deg) scale(0.945); animation-timing-function: linear; }
  86.25% { opacity: 1; transform: translate(-1.708px, -10.196px) rotate(-10.151deg) scale(0.958); animation-timing-function: linear; }
  88.542% { opacity: 1; transform: translate(-0.875px, -6.883px) rotate(-7.217deg) scale(0.97); animation-timing-function: linear; }
  90.833% { opacity: 1; transform: translate(-0.38px, -4.295px) rotate(-4.727deg) scale(0.981); animation-timing-function: linear; }
  93.125% { opacity: 1; transform: translate(-0.127px, -2.368px) rotate(-2.719deg) scale(0.989); animation-timing-function: linear; }
  95.417% { opacity: 1; transform: translate(-0.026px, -1.041px) rotate(-1.235deg) scale(0.995); animation-timing-function: linear; }
  97.708% { opacity: 1; transform: translate(-0.002px, -0.26px) rotate(-0.316deg) scale(0.999); animation-timing-function: linear; }
  100% { opacity: 1; transform: translate(0px, 0px) rotate(0deg) scale(1); animation-timing-function: linear; }
}
@keyframes frohlich-final-image { from { opacity: 0; } to { opacity: 1; } }
@keyframes frohlich-layers-out { from { opacity: 1; } to { opacity: 0; } }

/* Divi's mobile cover setting crops the muzzle and the casing flight. Keep
   the complete artwork below the logo, using identical geometry in JS. */
@media (max-width: 980px) {
  body.home #page-container #main-content .et_pb_section.et_pb_section_0 {
    background-size: contain !important;
    background-position: 50% 75% !important;
    background-repeat: no-repeat !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .strelec-intro-stage { display: none !important; }
}
