.ws-home-plaques {
  overflow: hidden;
  scroll-margin-top: 90px;
  color: #fff;
  background: radial-gradient(ellipse at 78% 48%, #193e62 0%, #101e40 46%, #0b1530 100%);
}

.ws-home-plaques__grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr);
  align-items: center;
  gap: 36px;
  padding-block: 74px;
}

.ws-home-plaques__copy { position: relative; z-index: 2; }
.ws-home-plaques__copy .ws-kicker { color: #93cfff; }
.ws-home-plaques__copy h2 {
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(2.35rem, 3.65vw, 3.85rem);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.08;
  text-wrap: balance;
}
.ws-home-plaques__copy h2 span { color: #93d7ff; }
.ws-home-plaques__copy > p {
  max-width: 420px;
  margin: 0 0 28px;
  color: #c7d5e8;
  font-size: 1.0625rem;
  line-height: 1.65;
}
.ws-home-plaques__copy .ws-button { gap: 24px; }
.ws-home-plaques__features {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  margin-top: 25px;
  color: #b5c8df;
  font-size: .78rem;
  line-height: 1.5;
}
.ws-home-plaques__features span { display: inline-flex; align-items: center; gap: 9px; }
.ws-home-plaques__features i { color: #93d7ff; font-size: 1.05rem; }

.ws-home-plaques__stage {
  position: relative;
  isolation: isolate;
  width: 100%;
  aspect-ratio: 1.18;
}
.ws-home-plaques__halo {
  position: absolute;
  inset: 8% 3% 4% 9%;
  border: 1px solid #8ccfff18;
  border-radius: 50%;
  background: radial-gradient(ellipse, #52b9f51b, transparent 70%);
}
.ws-home-plaques__product {
  position: absolute;
  display: block;
  width: 36%;
  aspect-ratio: .86;
  border-radius: 20px;
  transform: rotate(var(--plaque-angle, 0deg));
  transition: filter 180ms ease;
  filter: drop-shadow(0 22px 22px #0003);
}
/* Reuse the homepage's scroll reveal; the link enters while the image sways. */
.js .ws-home-plaques__product.reveal {
  opacity: 0;
  transform: translate3d(var(--plaque-enter-x, 0px), 32px, 0)
    rotate(calc(var(--plaque-angle, 0deg) + var(--plaque-enter-turn, 0deg))) scale(.96);
  transition:
    opacity 700ms ease-out var(--plaque-enter-delay, 0ms),
    transform 1050ms cubic-bezier(.22, 1, .36, 1) var(--plaque-enter-delay, 0ms),
    filter 180ms ease;
}
.js .ws-home-plaques__product.reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) rotate(var(--plaque-angle, 0deg)) scale(1);
}
/* Crop the transparent side margins while keeping the complete product visible. */
.ws-home-plaques__product img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transform-origin: 50% 60%;
  animation: ws-home-plaque-wiggle var(--plaque-wiggle-duration, 8s) ease-in-out infinite;
  animation-delay: var(--plaque-wiggle-phase, 0s);
}
.ws-home-plaques__product--black {
  top: 2%; left: 3%; --plaque-angle: -10deg;
  --plaque-enter-x: -22px; --plaque-enter-turn: -4deg;
  --plaque-wiggle-duration: 8.5s;
}
.ws-home-plaques__product--instagram {
  top: 18%; right: 0; --plaque-angle: 10deg;
  --plaque-enter-x: 22px; --plaque-enter-turn: 4deg; --plaque-enter-delay: 140ms;
  --plaque-wiggle-duration: 10s; --plaque-wiggle-phase: -2.8s;
}
.ws-home-plaques__product--blue {
  bottom: 0; left: 26%; z-index: 2; width: 43%; --plaque-angle: 2deg;
  --plaque-enter-turn: -3deg; --plaque-enter-delay: 280ms;
  --plaque-wiggle-duration: 9.2s; --plaque-wiggle-phase: -5.2s;
}
.js .ws-home-plaques__product.reveal:not(.is-visible) img,
.ws-home-plaques__product:hover img,
.ws-home-plaques__product:focus-visible img { animation-play-state: paused; }
.ws-home-plaques__product:hover { filter: drop-shadow(0 22px 24px #0006) brightness(1.06); }
.ws-home-plaques a:focus-visible { outline: 3px solid #93d7ff; outline-offset: 7px; }
.ws-home-plaques__product:focus-visible { z-index: 3; }

@keyframes ws-home-plaque-wiggle {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
  25% { transform: translate3d(2px, -4px, 0) rotate(.7deg); }
  50% { transform: translate3d(0, -7px, 0) rotate(0deg); }
  75% { transform: translate3d(-2px, -3px, 0) rotate(-.7deg); }
}

@media (max-width: 1000px) {
  .ws-home-plaques__grid { gap: 16px; padding-block: 64px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  .ws-home-plaques__copy h2 { font-size: clamp(2.1rem, 4.6vw, 2.9rem); }
  .ws-home-plaques__features { gap: 10px 16px; }
}

@media (max-width: 700px) {
  .ws-home-plaques__grid { grid-template-columns: 1fr; gap: 36px; padding-block: 48px 42px; }
  .ws-home-plaques__copy { text-align: center; }
  .ws-home-plaques__copy .ws-kicker { font-size: .7rem; margin-bottom: 15px; }
  .ws-home-plaques__copy h2 { font-size: clamp(2rem, 8vw, 2.8rem); margin-bottom: 18px; }
  .ws-home-plaques__copy > p { max-width: 360px; margin: 0 auto 23px; font-size: 1rem; }
  .ws-home-plaques__features { justify-content: center; margin-top: 22px; font-size: .73rem; }
  .ws-home-plaques__stage { width: min(100%, 500px); margin-inline: auto; }
  .ws-home-plaques__product--black { left: 4%; }
  .ws-home-plaques__product--instagram { right: 2%; }
  .ws-home-plaques__product--blue { left: 27%; }
}

@media (prefers-reduced-motion: reduce) {
  .ws-home-plaques__product img { animation: none; }
  .ws-home-plaques__product { transition: none; }
  .js .ws-home-plaques__product.reveal {
    opacity: 1;
    transform: rotate(var(--plaque-angle, 0deg));
    transition: none;
  }
}
