.site-header {
  border-bottom-color: rgba(208, 255, 138, 0.12);
  background: linear-gradient(90deg, rgba(3, 6, 4, 0.92), rgba(3, 8, 6, 0.78), rgba(3, 6, 4, 0.92));
  box-shadow: 0 16px 50px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(22px) saturate(1.18);
}

.hero {
  --parallax-x: 0px;
  --parallax-y: 0px;
  --particle-x: 0px;
  --particle-y: 0px;
  --snow-parallax-x: 0px;
  --snow-parallax-y: 0px;
}

.hero-backdrop {
  filter: saturate(1.13) contrast(1.08) brightness(0.92);
  transform: translate3d(var(--parallax-x), var(--parallax-y), 0) scale(1.035);
  animation: premium-hero-breathe 16s ease-in-out infinite alternate;
  will-change: transform;
}

.hero-vignette {
  background:
    linear-gradient(90deg, rgba(4, 2, 1, 0.94) 0%, rgba(10, 3, 1, 0.65) 28%, rgba(3, 6, 4, 0.11) 60%, rgba(1, 5, 9, 0.3) 100%),
    linear-gradient(0deg, rgba(3, 6, 4, 0.92) 0%, transparent 41%, rgba(1, 5, 8, 0.22) 100%);
}

@keyframes premium-hero-breathe {
  from { transform: translate3d(var(--parallax-x), var(--parallax-y), 0) scale(1.035); }
  to { transform: translate3d(var(--parallax-x), var(--parallax-y), 0) scale(1.075); }
}

.season-effects {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.autumn-atmosphere,
.winter-atmosphere,
.leaf-field,
.snow-field,
.hero-grain {
  position: absolute;
  inset: 0;
}

.autumn-atmosphere {
  right: 48%;
  background:
    radial-gradient(circle at 16% 36%, rgba(255, 54, 0, 0.23), transparent 23%),
    radial-gradient(circle at 42% 72%, rgba(255, 122, 0, 0.18), transparent 29%),
    linear-gradient(110deg, rgba(111, 11, 0, 0.28), transparent 78%);
  mix-blend-mode: screen;
  animation: autumn-pulse 9s ease-in-out infinite alternate;
}

.winter-atmosphere {
  left: 52%;
  background:
    radial-gradient(circle at 82% 22%, rgba(178, 224, 255, 0.15), transparent 28%),
    linear-gradient(250deg, rgba(108, 183, 229, 0.14), transparent 72%);
  mix-blend-mode: screen;
  animation: winter-pulse 11s ease-in-out infinite alternate;
}

@keyframes autumn-pulse {
  from { opacity: 0.55; filter: saturate(1); }
  to { opacity: 0.92; filter: saturate(1.35); }
}

@keyframes winter-pulse {
  from { opacity: 0.48; }
  to { opacity: 0.82; }
}

.leaf-field {
  right: 48%;
  transform: translate3d(var(--particle-x), var(--particle-y), 0);
  transition: transform 700ms cubic-bezier(0.2, 0.8, 0.2, 1);
  mask-image: linear-gradient(90deg, black 0%, black 70%, transparent 100%);
}

.leaf-particle {
  position: absolute;
  top: -16%;
  left: var(--leaf-left);
  width: var(--leaf-size);
  aspect-ratio: 1;
  opacity: var(--leaf-opacity);
  filter: blur(var(--leaf-blur)) drop-shadow(0 0 8px rgba(255, 71, 0, 0.34));
  animation: leaf-fall var(--leaf-duration) linear var(--leaf-delay) infinite;
  will-change: transform;
}

.leaf-particle::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, #ffd05a 0%, var(--leaf-color) 43%, #6d0902 100%);
  clip-path: polygon(50% 0%, 58% 24%, 73% 13%, 69% 35%, 92% 29%, 76% 49%, 100% 59%, 67% 64%, 71% 87%, 54% 74%, 50% 100%, 46% 74%, 29% 87%, 33% 64%, 0 59%, 24% 49%, 8% 29%, 31% 35%, 27% 13%, 42% 24%);
  animation: leaf-flutter var(--leaf-flutter) ease-in-out infinite alternate;
  box-shadow: inset 0 0 10px rgba(255, 220, 120, 0.35);
}

.leaf-particle::after {
  content: "";
  position: absolute;
  left: 49%;
  top: 24%;
  width: 1px;
  height: 69%;
  background: rgba(87, 11, 1, 0.54);
  transform: rotate(-4deg);
  transform-origin: bottom;
}

@keyframes leaf-fall {
  0% { transform: translate3d(0, -12vh, 0) rotate(0deg); }
  38% { transform: translate3d(var(--leaf-drift), 39vh, 0) rotate(var(--leaf-spin-mid)); }
  72% { transform: translate3d(var(--leaf-drift-back), 78vh, 0) rotate(var(--leaf-spin-late)); }
  100% { transform: translate3d(var(--leaf-drift), 120vh, 0) rotate(var(--leaf-spin)); }
}

@keyframes leaf-flutter {
  from { transform: perspective(80px) rotateY(-48deg) rotateX(16deg) scale(0.9); }
  to { transform: perspective(80px) rotateY(52deg) rotateX(-12deg) scale(1.08); }
}

.snow-field {
  left: 50%;
  transform: translate3d(var(--snow-parallax-x), var(--snow-parallax-y), 0);
  transition: transform 900ms cubic-bezier(0.2, 0.8, 0.2, 1);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.72) 11%, black 34%);
}

.snow-particle {
  position: absolute;
  top: -8%;
  left: var(--snow-left);
  width: var(--snow-size);
  height: var(--snow-size);
  border-radius: 50%;
  background: #f4fbff;
  opacity: var(--snow-opacity);
  filter: blur(var(--snow-blur));
  box-shadow: 0 0 9px rgba(192, 231, 255, 0.72);
  animation: snow-fall var(--snow-duration) linear var(--snow-delay) infinite;
  will-change: transform;
}

@keyframes snow-fall {
  0% { transform: translate3d(0, -8vh, 0); }
  52% { transform: translate3d(var(--snow-mid), 58vh, 0); }
  100% { transform: translate3d(var(--snow-end), 116vh, 0); }
}

.season-split-line {
  position: absolute;
  top: 7%;
  bottom: 5%;
  left: 52.4%;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(184, 255, 75, 0.58) 24%, rgba(168, 255, 0, 0.1) 72%, transparent);
  box-shadow: 0 0 38px 10px rgba(125, 255, 0, 0.08);
  opacity: 0.52;
  transform: rotate(7deg);
}

.energy-sweep {
  position: absolute;
  left: 38%;
  top: -25%;
  width: 24%;
  height: 160%;
  background: linear-gradient(90deg, transparent, rgba(177, 255, 61, 0.1), transparent);
  filter: blur(22px);
  transform: rotate(15deg) translateX(-70%);
  animation: energy-sweep 10s ease-in-out infinite;
}

@keyframes energy-sweep {
  0%, 22% { opacity: 0; transform: rotate(15deg) translateX(-90%); }
  46% { opacity: 0.8; }
  75%, 100% { opacity: 0; transform: rotate(15deg) translateX(130%); }
}

.hero-grain {
  opacity: 0.12;
  background-image:
    radial-gradient(circle at 18% 31%, rgba(255, 255, 255, 0.7) 0 0.55px, transparent 0.8px),
    radial-gradient(circle at 73% 64%, rgba(255, 255, 255, 0.55) 0 0.5px, transparent 0.8px);
  background-size: 7px 7px, 11px 11px;
  mix-blend-mode: overlay;
}

.hero-content {
  position: relative;
  z-index: 2;
  text-shadow: 0 3px 24px rgba(0, 0, 0, 0.7);
}

.hero-status {
  background: linear-gradient(135deg, rgba(3, 8, 5, 0.82), rgba(2, 7, 10, 0.72));
  border-color: rgba(205, 255, 132, 0.16);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34), inset 0 1px rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(18px) saturate(1.16);
}

@media (max-width: 760px) {
  .leaf-field { right: 24%; opacity: 0.78; }
  .snow-field { left: 56%; opacity: 0.82; }
  .leaf-particle:nth-child(n + 13),
  .snow-particle:nth-child(n + 27) { display: none; }
  .season-split-line { left: 57%; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-backdrop,
  .autumn-atmosphere,
  .winter-atmosphere,
  .energy-sweep { animation: none; }
  .leaf-field,
  .snow-field { display: none; }
}
/* Premium hero information system */
.season-kicker {
  width: fit-content;
  min-height: 58px;
  display: grid;
  grid-template-columns: 62px auto;
  align-items: stretch;
  gap: 0;
  padding: 0;
  border: 1px solid rgba(242, 247, 234, 0.18);
  background:
    linear-gradient(110deg, rgba(15, 17, 12, 0.94), rgba(5, 10, 7, 0.78)),
    rgba(2, 5, 3, 0.8);
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.34),
    inset 0 1px rgba(255, 255, 255, 0.04);
  color: #f5f8f1;
  letter-spacing: 0;
  text-transform: none;
  backdrop-filter: blur(18px) saturate(1.15);
}
.kicker-code {
  position: relative;
  display: grid;
  place-content: center;
  gap: 0.12rem;
  border-right: 1px solid rgba(242, 247, 234, 0.13);
  text-align: center;
}
.kicker-code::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, #ffd35a, #ff8a1f 38%, #ff4f38 68%, #bfeaff);
}
.kicker-code b,
.kicker-code i {
  display: block;
  font-style: normal;
  line-height: 1;
}
.kicker-code b {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}
.kicker-code i {
  color: #8f9a8c;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}
.kicker-copy {
  display: grid;
  align-content: center;
  gap: 0.22rem;
  padding: 0.7rem 1rem 0.72rem;
}
.kicker-copy small,
.kicker-copy strong {
  display: block;
  line-height: 1;
}
.kicker-copy small {
  color: #8f9a8c;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.kicker-copy strong {
  color: #f4f7f0;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hero-content {
  width: min(760px, 65vw);
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.2));
}
.hero h1 {
  margin: 1.12rem 0 1.28rem;
}
.ber-unit {
  --ber-accent: #ffd35a;
  --ber-glow: rgba(255, 184, 40, 0.48);
  flex: 0 0 100%;
  min-width: 0;
  display: flex;
  align-items: flex-end;
  gap: 1.1rem;
}
.hero h1 .ber-word {
  color: var(--ber-accent);
  line-height: 0.76;
  text-shadow:
    0 0 24px var(--ber-glow),
    0 6px 34px rgba(0, 0, 0, 0.54);
  transition: color 650ms ease, text-shadow 650ms ease;
}
.ber-calendar {
  position: relative;
  width: 166px;
  margin-bottom: 0.08em;
  padding: 0.74rem 0.8rem 0.72rem 0.94rem;
  border: 1px solid rgba(242, 247, 234, 0.18);
  background: linear-gradient(135deg, rgba(5, 8, 6, 0.94), rgba(6, 11, 12, 0.78));
  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.34),
    inset 0 1px rgba(255, 255, 255, 0.035);
  font-size: 0.7rem;
  letter-spacing: 0;
  line-height: 1;
  text-shadow: none;
  text-transform: uppercase;
  backdrop-filter: blur(18px);
  animation: ber-card-cycle 3.2s ease-in-out infinite;
}
.ber-calendar::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: var(--ber-accent);
  box-shadow: 0 0 13px var(--ber-glow);
  transition: background 650ms ease, box-shadow 650ms ease;
}
.ber-calendar-index,
.ber-calendar strong,
.ber-calendar small {
  display: block;
  text-shadow: none;
}
.ber-calendar-index {
  margin-bottom: 0.62rem;
  color: #6f7b70;
  font-size: 0.54rem;
  font-weight: 900;
  letter-spacing: 0.16em;
}
.ber-calendar strong {
  color: #f6f9f4;
  font-size: 0.88rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}
.ber-calendar small {
  margin-top: 0.26rem;
  color: var(--ber-accent);
  font-size: 0.61rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  transition: color 650ms ease;
}
.ber-progress {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3px;
  margin-top: 0.66rem;
}
.ber-progress i {
  display: block;
  width: auto;
  height: 2px;
  margin: 0;
  border-radius: 0;
  background: rgba(242, 247, 234, 0.14);
  box-shadow: none;
}
.ber-progress i.active {
  background: var(--ber-accent);
  box-shadow: 0 0 8px var(--ber-glow);
}
@keyframes ber-card-cycle {
  0% { opacity: 0.35; transform: translateY(4px); }
  10%, 86% { opacity: 1; transform: translateY(0); }
  100% { opacity: 0.35; transform: translateY(-3px); }
}

.hero-statement {
  position: relative;
  width: fit-content;
  max-width: 650px;
  padding: 0.12rem 1.2rem 0.2rem 1.05rem;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.46), rgba(0, 0, 0, 0.16) 72%, transparent);
}
.hero-statement::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: linear-gradient(180deg, #f3f7ec, rgba(168, 255, 0, 0.34));
}
.hero-line {
  color: #ffffff;
  font-weight: 540;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.94);
}
.hero-line strong {
  color: #d9ff54;
  text-shadow: 0 0 16px rgba(168, 255, 0, 0.24);
}
.hero-copy {
  margin-top: 0.36rem;
  color: #d7ded4;
  font-weight: 520;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.94);
}

.hero-actions {
  gap: 0.65rem;
  margin-top: 1.75rem;
}
.button {
  position: relative;
  min-width: 250px;
  min-height: 64px;
  display: grid;
  grid-template-columns: 42px 1fr 52px;
  align-items: stretch;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 2px;
  font-size: inherit;
  letter-spacing: 0;
  text-transform: none;
  transition:
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color 220ms ease,
    box-shadow 220ms ease;
}
.button::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent);
  opacity: 0.58;
}
.button::after {
  content: "";
  position: absolute;
  inset: -100% auto -100% -30%;
  width: 20%;
  background: rgba(255, 255, 255, 0.2);
  filter: blur(12px);
  transform: rotate(18deg);
  transition: left 480ms ease;
}
.button:hover {
  transform: translateY(-3px);
}
.button:hover::after {
  left: 118%;
}
.button-index,
.button-arrow {
  display: grid;
  place-items: center;
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}
.button-index {
  border-right: 1px solid currentColor;
  opacity: 0.56;
}
.button-arrow {
  border-left: 1px solid currentColor;
  font-size: 0.92rem;
  opacity: 0.78;
  transition: transform 220ms ease, opacity 220ms ease;
}
.button:hover .button-arrow {
  transform: translate(2px, -2px);
  opacity: 1;
}
.button-copy {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 0.24rem;
  padding: 0.62rem 0.95rem;
  line-height: 1;
}
.button-copy small,
.button-copy strong {
  display: block;
}
.button-copy small {
  font-size: 0.52rem;
  font-weight: 900;
  letter-spacing: 0.17em;
  opacity: 0.56;
  text-transform: uppercase;
}
.button-copy strong {
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.button-primary {
  border: 1px solid #cfff3e;
  color: #071000;
  background: linear-gradient(135deg, #d9ff59 0%, #9bf100 58%, #71c900 100%);
  box-shadow:
    0 16px 36px rgba(112, 215, 0, 0.19),
    inset 0 -12px 22px rgba(57, 123, 0, 0.12);
}
.button-primary:hover {
  background: linear-gradient(135deg, #e6ff8a, #a8ff00 58%, #80dc00);
  box-shadow:
    0 20px 48px rgba(132, 255, 0, 0.28),
    inset 0 -12px 22px rgba(57, 123, 0, 0.1);
}
.button-secondary {
  border: 1px solid rgba(242, 247, 234, 0.24);
  color: #f4f7f1;
  background: linear-gradient(135deg, rgba(12, 15, 12, 0.92), rgba(3, 8, 6, 0.72));
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.3),
    inset 0 1px rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(18px);
}
.button-secondary:hover {
  border-color: rgba(198, 255, 98, 0.56);
  background: linear-gradient(135deg, rgba(21, 27, 18, 0.95), rgba(5, 13, 8, 0.86));
}

.hero-status {
  right: 3.4vw;
  bottom: 3.15rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(172px, 1fr));
  gap: 6px;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.hero-status > .status-card {
  position: relative;
  min-width: 172px;
  min-height: 96px;
  padding: 1.08rem 1.02rem 0.92rem;
  overflow: hidden;
  border: 1px solid rgba(242, 247, 234, 0.16);
  background:
    linear-gradient(145deg, rgba(7, 11, 8, 0.94), rgba(3, 9, 9, 0.76)),
    rgba(2, 6, 4, 0.84);
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.34),
    inset 0 1px rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(20px) saturate(1.14);
}
.hero-status > .status-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: var(--card-accent);
  box-shadow: 0 0 14px var(--card-glow);
}
.hero-status > .status-card::after {
  content: "";
  position: absolute;
  right: 0.72rem;
  bottom: 0.65rem;
  width: 18px;
  height: 1px;
  background: var(--card-accent);
  opacity: 0.42;
}
.status-launch {
  --card-accent: #a8ff00;
  --card-glow: rgba(168, 255, 0, 0.34);
}
.status-signal {
  --card-accent: #ffd35a;
  --card-glow: rgba(255, 184, 40, 0.32);
}
.status-ticker {
  --card-accent: #bfeaff;
  --card-glow: rgba(110, 205, 255, 0.3);
}
.hero-status .status-index {
  position: absolute;
  top: 0.82rem;
  right: 0.82rem;
  margin: 0;
  color: #59645b;
  font-size: 0.54rem;
  font-weight: 900;
  letter-spacing: 0.14em;
}
.hero-status .status-label {
  margin: 0 0 0.72rem;
  color: #98a397;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.hero-status .status-card strong {
  color: #f7faf5;
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.035em;
  line-height: 1.25;
}
.hero-status .status-card i {
  width: 6px;
  height: 6px;
  margin-right: 0.38rem;
}

.header-cta {
  position: relative;
  border-color: rgba(168, 255, 0, 0.5);
  background: linear-gradient(135deg, rgba(168, 255, 0, 0.08), rgba(4, 9, 5, 0.34));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.04), 0 12px 32px rgba(0, 0, 0, 0.2);
}
.header-cta::before {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(168, 255, 0, 0.1);
  border-radius: inherit;
  pointer-events: none;
}

@media (max-width: 760px) {
  .season-kicker {
    grid-template-columns: 54px auto;
    min-height: 54px;
  }
  .kicker-copy {
    padding-right: 0.78rem;
  }
  .kicker-copy strong {
    font-size: 0.62rem;
    letter-spacing: 0.09em;
  }
  .hero-content {
    width: 100%;
  }
  .ber-unit {
    gap: 0.68rem;
  }
  .ber-calendar {
    width: 128px;
    margin-bottom: 0.14rem;
    padding: 0.62rem 0.62rem 0.6rem 0.72rem;
  }
  .ber-calendar-index {
    margin-bottom: 0.46rem;
  }
  .hero-statement {
    padding-left: 0.82rem;
  }
  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .button {
    width: 100%;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ber-calendar {
    animation: none;
  }
  .button::after {
    display: none;
  }
}
