/* Shared matte-black iPhone 15 Pro mock used on every marketing shot. */
.iphone {
  --s: 0.52;
  position: relative;
  margin: 0;
  width: calc(434px * var(--s));
  height: calc(880px * var(--s));
  filter: drop-shadow(0 28px 48px rgba(0, 0, 0, 0.55));
}

.iphone-lcd {
  position: absolute;
  left: calc(22px * var(--s));
  top: calc(18px * var(--s));
  width: calc(390px * var(--s));
  height: calc(844px * var(--s));
  overflow: hidden;
  border-radius: calc(48px * var(--s));
  background: #000;
}

.iphone-mock {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
  user-select: none;
  z-index: 4;
}

.iphone iframe,
.iphone-lcd img {
  width: 390px;
  height: 844px;
  border: 0;
  display: block;
  background: #000;
  transform: scale(var(--s));
  transform-origin: top left;
  pointer-events: none;
}

.iphone-lcd img {
  object-fit: cover;
  object-position: top center;
}

.hw-island {
  position: absolute;
  top: calc(28px * var(--s));
  left: 50%;
  transform: translateX(-50%);
  width: calc(126px * var(--s));
  height: calc(37px * var(--s));
  background: #000;
  border-radius: 999px;
  z-index: 5;
  box-shadow: 0 0 0 3px #050505;
}

.hw-island:not(.live)::after {
  content: "";
  position: absolute;
  right: 14%;
  top: 50%;
  width: calc(11px * var(--s));
  height: calc(11px * var(--s));
  transform: translateY(-50%);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 32%, #3a4a6a 0 28%, #12141c 42%, #07080c 70%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.hw-island.live {
  width: calc(248px * var(--s));
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  box-sizing: border-box;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

.hw-t {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: #3b82f6;
  font-size: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.hw-px {
  margin-left: auto;
  font-family: "IBM Plex Mono", monospace;
}

.hw-up {
  color: #34c759;
}
