/* =============================================================
   ABOUT / OWNER / SHOP-SIGN EASTER EGG
   ============================================================= */
.trust-stage {
  background:
    radial-gradient(circle at 18% 20%, rgba(255,212,0,.1), transparent 30%),
    linear-gradient(180deg, #070707 0%, #0b0b0b 100%);
  border-top: 1px solid rgba(255,255,255,.08);
}
.trust-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 24px;
  align-items: stretch;
}
.stage-about .stage-inner { flex-direction: column; gap: 18px; align-items: flex-start; }

/* Jim Cottone + No Zombies cards share one companion-panel recipe:
   full-bleed image half, padded copy half, both stretched to equal
   height by trust-grid so a longer column on either side sets both. */
.owner-panel,
.zombie-panel {
  width: 100%;
  display: grid;
  gap: 0;
  padding: 0;
  overflow: hidden;
}
.owner-panel { grid-template-columns: 40% 1fr; }
.zombie-panel { grid-template-columns: 1fr 40%; }

.owner-photo,
.zombie-photo { position: relative; overflow: hidden; min-height: 320px; }
.owner-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.owner-panel:hover .owner-photo img { transform: scale(1.05); }

.owner-copy,
.zombie-copy { padding: 34px 34px 30px; display: flex; flex-direction: column; justify-content: center; }
.owner-copy p:not(.eyebrow):not(.signature):not(.role) { color: #e7e7e7; margin: 0 0 14px; }
.signature {
  display: inline-block;
  margin: 16px 0 8px;
  color: var(--yellow);
  font-family: "Allura", "Brush Script MT", "Segoe Script", cursive;
  font-size: clamp(3.15rem, 5vw, 4.25rem);
  font-weight: 400;
  line-height: .72;
  letter-spacing: .01em;
  text-shadow: 0 0 18px rgba(255,212,0,.18);
  transform: rotate(-4deg);
}
.role { margin: 0; font-family: var(--font-head); letter-spacing: .14em; text-transform: uppercase; font-weight: 800; }

.zombie-copy h3 {
  margin: 0 0 14px;
  font-family: var(--font-head);
  font-weight: 900;
  font-size: clamp(1.9rem, 3.4vw, 2.6rem);
  text-transform: uppercase;
  line-height: .96;
  letter-spacing: .01em;
}
.zombie-copy p { color: #e7e7e7; margin: 0 0 14px; }
.zombie-tagline {
  margin: 2px 0 0;
  color: var(--yellow);
  font-family: var(--font-head);
  font-weight: 800;
  font-size: .85rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Mirrors .owner-photo: same dark full-bleed treatment, but the sign
   is a small transparent-background graphic (not a photo), so it is
   centered and contained rather than cropped with object-fit: cover. */
.zombie-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,212,0,.1), transparent 62%),
    linear-gradient(160deg, rgba(255,255,255,.05), rgba(0,0,0,.28));
}
.zombie-sign {
  width: 100%;
  max-width: 220px;
  height: auto;
  filter: drop-shadow(0 14px 20px rgba(0,0,0,.55));
}
.zombie-trigger {
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  transition: transform .2s ease, filter .2s ease;
}
.zombie-trigger:hover { transform: translateY(-3px); filter: drop-shadow(0 0 14px rgba(255,212,0,.4)); }
.zombie-trigger:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 6px;
}
body.zombie-mode .zombie-sign {
  animation: warningPulse .7s ease-in-out 4;
  filter: drop-shadow(0 0 24px rgba(255,43,43,.7));
}
@keyframes warningPulse {
  0%, 100% { transform: rotate(0deg) scale(1); }
  35% { transform: rotate(-2deg) scale(1.03); }
  70% { transform: rotate(2deg) scale(1.03); }
}
