.seasonal-button {
  position: relative;
  isolation: isolate;
  min-width: 262px;
  min-height: 68px;
  overflow: hidden;
  flex-direction: column;
  gap: 2px;
  border-color: #55c8ed;
  background:
    repeating-linear-gradient(115deg, transparent 0 16px, rgba(255,255,255,.13) 17px 18px, transparent 19px 34px),
    linear-gradient(135deg, #071033 5%, #0a4268 62%, #0c7294 100%);
  box-shadow: 0 12px 25px rgba(4,35,67,.24), inset 0 1px 0 rgba(255,255,255,.16);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.seasonal-button::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -18px;
  bottom: -22px;
  width: 98px;
  height: 52px;
  border-radius: 60% 10% 60% 10%;
  background: linear-gradient(135deg, rgba(212,112,42,.92), rgba(128,55,25,.58));
  transform: rotate(-14deg);
}
.seasonal-button:hover {
  transform: translateY(-2px);
  border-color: #9de8ff;
  box-shadow: 0 16px 30px rgba(4,35,67,.3), inset 0 1px 0 rgba(255,255,255,.22);
}
.seasonal-kicker {
  font-size: 10px;
  line-height: 1;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #9de8ff;
}
.hb-winter-strip { padding: 34px 0 24px; }
.hb-winter-panel {
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  align-items: stretch;
  background: #070d33;
  color: #fff;
  border-radius: 15px;
  box-shadow: 0 18px 50px rgba(7,13,51,.12);
}
.hb-winter-content {
  padding: 40px 44px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 26px;
  align-items: center;
}
.hb-winter-tag {
  display: inline-flex;
  margin-bottom: 12px;
  color: #66d2ff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.hb-winter-panel h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(27px,3vw,40px);
  line-height: 1.06;
  letter-spacing: -.025em;
}
.hb-winter-panel p { margin: 0; color: #dbe3f3; max-width: 660px; }
.hb-winter-price { text-align: right; white-space: nowrap; }
.hb-winter-price small { display: block; color: #cfd7ea; font-weight: 650; }
.hb-winter-price strong { display: block; font-size: clamp(31px,4vw,47px); letter-spacing: -.04em; }
.hb-winter-price .button { margin-top: 12px; background: #fff; border-color: #fff; color: #070d33; }
.hb-winter-image { min-height: 290px; position: relative; }
.hb-winter-image img { width: 100%; height: 100%; object-fit: cover; }
.hb-winter-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#070d33,transparent 35%); }
.hb-project-video { padding: 38px 0 54px; }
.hb-project-video-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 52px; align-items: center; }
.hb-project-video-copy h2 {
  margin: 0 0 18px;
  color: #070d33;
  font-size: clamp(32px,4vw,48px);
  line-height: 1.05;
  letter-spacing: -.035em;
}
.hb-project-video-copy > p:not(.eyebrow) { color: var(--muted); }
.hb-project-points { list-style: none; padding: 0; margin: 22px 0; }
.hb-project-points li { position: relative; padding: 6px 0 6px 28px; font-weight: 700; }
.hb-project-points li::before { content: "✓"; position: absolute; left: 0; color: var(--blue); font-weight: 900; }
.hb-project-note { padding: 12px 14px; border-left: 3px solid var(--blue); background: var(--pale); font-size: 13px; }
.hb-project-video-frame { border-radius: 14px; overflow: hidden; background: #070d33; box-shadow: 0 18px 50px rgba(7,13,51,.12); }
.hb-project-video-frame video { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; background: #000; }
@media (max-width: 980px) {
  .hb-winter-panel, .hb-project-video-grid { grid-template-columns: 1fr; }
  .hb-winter-image { min-height: 240px; order: -1; }
  .hb-winter-image::after { background: linear-gradient(0deg,#070d33,transparent 55%); }
}
@media (max-width: 650px) {
  .seasonal-button { width: 100%; min-width: 0; }
  .hb-winter-content { grid-template-columns: 1fr; padding: 30px 25px; }
  .hb-winter-price { text-align: left; }
  .hb-winter-price .button { width: 100%; }
  .hb-project-video { padding: 28px 0 42px; }
  .hb-project-video-grid { gap: 28px; }
}
