/* Small product landing pages (Email + SMS, Event manager).
   Built on lyric-studio.css (the Loops page): same tokens, type, cards and rhythm. This file adds the page UI. */

html[data-dims-page="email-sms"], html[data-dims-page="event-manager"] { background: #fff; }

[data-dims-page="email-sms"], [data-dims-page="event-manager"] {
  --ls-ink: var(--dims-ink, #0f172a);
  --ls-muted: rgb(15 23 42 / 0.56);
  --ls-line: rgb(15 23 42 / 0.08);
  --ls-soft: #f5f5f4;
  --ls-display: "SF Pro Display Semibold", "SF Pro Display Semibold Placeholder", "SF Pro Display Medium", system-ui, sans-serif;
  --ls-text: "SF Pro Display Regular", "SF Pro Display Regular Placeholder", system-ui, sans-serif;
  --ls-gutter: max(20px, calc((100vw - 1260px) / 2));
  --ls-section-gap: clamp(6.5rem, 14vw, 11rem);
  --pl-sms-green: #34c759;
  --pl-shadow: 0 1px 2px rgb(15 23 42 / 0.05), 0 24px 48px -20px rgb(15 23 42 / 0.28);
}

/* —— Shared blocks get the same air and FAQ treatment as Loops —— */
:is([data-dims-page="email-sms"], [data-dims-page="event-manager"]) .dims-pricing { padding-top: var(--ls-section-gap) !important; }
:is([data-dims-page="email-sms"], [data-dims-page="event-manager"]) .dims-faq { padding-top: var(--ls-section-gap) !important; }
:is([data-dims-page="email-sms"], [data-dims-page="event-manager"]) .dims-faq__list {
  display: flex !important;
  flex-direction: column;
  gap: 1rem !important;
  margin-inline: auto !important;
  max-width: 48rem;
}
:is([data-dims-page="email-sms"], [data-dims-page="event-manager"]) .dims-faq__list > .dims-faq-item {
  background: #fff;
  border: 1px solid rgb(15 23 42 / 0.06);
  border-radius: 1.25rem;
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.04), 0 12px 28px -14px rgb(15 23 42 / 0.18);
}
:is([data-dims-page="email-sms"], [data-dims-page="event-manager"]) .dims-faq__list > .dims-faq-item.is-open,
:is([data-dims-page="email-sms"], [data-dims-page="event-manager"]) .dims-faq__list > .dims-faq-item:has(.dims-faq__trigger:hover) {
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.05), 0 20px 40px -16px rgb(15 23 42 / 0.25);
}
:is([data-dims-page="email-sms"], [data-dims-page="event-manager"]) .dims-faq__trigger { padding: clamp(1.4rem, 2.4vw, 1.75rem) clamp(1.5rem, 3vw, 2rem); }

.pl-section { color: var(--ls-ink); padding: var(--ls-section-gap) var(--ls-gutter) 0; }
.pl-meet__icon--email { filter: drop-shadow(0 18px 30px rgb(40 70 255 / 0.3)); }
.pl-meet__icon--events { filter: drop-shadow(0 18px 30px rgb(124 58 237 / 0.3)); }
.ls-meet + .ls-steps { padding-top: clamp(4rem, 8vw, 6.5rem); }
/* No intro block after the mission: the steps start where it ends, like .ls-mission + .ls-meet on Loops. */
.ls-mission + .ls-steps { margin-top: -18vh; }

/* —— Small UI atoms —— */
.pl-btn {
  background: #000;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-family: var(--ls-text);
  font-size: 0.85rem;
  font-weight: 500;
  justify-content: center;
  padding: 0.6rem 1.1rem;
}
.pl-btn--wide { width: 100%; }
.pl-btn--sm { font-size: 0.75rem; padding: 0.4rem 0.8rem; }
.pl-btn--ghost { background: #f1f1f0; color: var(--ls-ink); }
.pl-field {
  align-items: center;
  background: var(--ls-soft);
  border-radius: 999px;
  color: var(--ls-ink);
  display: flex;
  font-family: var(--ls-text);
  font-size: 0.82rem;
  gap: 0.5rem;
  padding: 0.55rem 0.9rem;
  width: 100%;
}
.pl-field svg { color: var(--ls-muted); flex: none; }
.pl-seg { background: var(--ls-soft); border-radius: 999px; display: inline-grid; gap: 2px; grid-auto-flow: column; padding: 2px; }
.pl-seg span { border-radius: 999px; color: var(--ls-muted); font-family: var(--ls-text); font-size: 0.72rem; padding: 0.3rem 0.7rem; text-align: center; }
.pl-seg .is-on { background: #fff; box-shadow: 0 1px 2px rgb(15 23 42 / 0.14); color: var(--ls-ink); }
.pl-seg--wide { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; }
.pl-seg--wide span { font-size: 0.85rem; padding: 0.5rem; }
.pl-dot { animation: pl-pulse 1.6s ease-in-out infinite; background: #f97316; border-radius: 50%; display: inline-block; flex: none; height: 0.45rem; width: 0.45rem; }
@keyframes pl-pulse { 50% { opacity: 0.35; } }
.pl-linkpill {
  align-items: center;
  background: var(--ls-soft);
  border-radius: 999px;
  color: var(--ls-ink);
  display: inline-flex;
  font-family: var(--ls-text);
  font-size: 0.78rem;
  gap: 0.4rem;
  max-width: 100%;
  padding: 0.45rem 0.8rem;
}
.pl-linkpill svg { color: var(--ls-muted); flex: none; }
.pl-linkpill--block { display: flex; width: 100%; }
.pl-linkpill--block span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-linkpill em { color: var(--ls-ink); font-style: normal; font-weight: 600; }
.pl-meter { background: rgb(15 23 42 / 0.08); border-radius: 999px; display: block; height: 0.4rem; overflow: hidden; }
.pl-meter i { background: #000; border-radius: inherit; display: block; height: 100%; transition: width 600ms cubic-bezier(0.22, 1, 0.36, 1); width: var(--pl-fill, 50%); }
.pl-meter--lg { height: 0.6rem; }
.pl-faces { display: inline-flex; }
.pl-faces img { border: 2px solid #fff; border-radius: 50%; height: 1.5rem; margin-left: -0.45rem; object-fit: cover; width: 1.5rem; }
.pl-faces img:first-child { margin-left: 0; }
.pl-caret { animation: pl-blink 1s steps(1) infinite; background: var(--ls-ink); display: inline-block; height: 1em; margin-left: 2px; vertical-align: -0.15em; width: 1.5px; }
@keyframes pl-blink { 50% { opacity: 0; } }

/* —— Phones: white screen, thin black bezel —— */
.pl-phone {
  --pl-phone-w: 17rem;
  aspect-ratio: 9 / 19;
  background: #0a0a0b;
  border-radius: 2.6rem;
  box-shadow: var(--pl-shadow);
  flex: none;
  margin: 0;
  padding: 0.5rem;
  position: relative;
  width: var(--pl-phone-w);
}
.pl-phone__screen { background: #fff; border-radius: 2.15rem; height: 100%; overflow: hidden; position: relative; }

/* —— Hero stages —— */
.pl-hero { padding-bottom: 0; }
.pl-hero__stage {
  display: flex;
  justify-content: center;
  margin: clamp(3rem, 6vw, 4.5rem) auto 0;
  max-width: 1100px;
  padding: 0 var(--ls-gutter) 1rem;
  position: relative;
}
.pl-hero__stage > * { animation: pl-rise 1000ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.pl-hero__stage > :nth-child(2) { animation-delay: 120ms; }
.pl-hero__stage > :nth-child(3) { animation-delay: 240ms; }
@keyframes pl-rise { from { opacity: 0; transform: translateY(40px); } }

/* Email + SMS: the email card leans into the phone. */
.pl-hero__stage--duo { align-items: center; }
.pl-hero__stage--duo .pl-email { margin-right: -3rem; rotate: -3deg; z-index: 1; }
.pl-hero__stage--duo .pl-phone { rotate: 2deg; }

.pl-email {
  background: #fff;
  border-radius: 1.5rem;
  box-shadow: var(--pl-shadow), 0 0 0 1px var(--ls-line);
  display: flex;
  flex-direction: column;
  font-family: var(--ls-text);
  gap: 0.75rem;
  padding: 1.1rem;
  width: 22rem;
}
.pl-email__from { align-items: center; display: flex; gap: 0.6rem; }
.pl-email__from img { border-radius: 50%; height: 2.1rem; object-fit: cover; width: 2.1rem; }
.pl-email__from strong { display: block; font-family: var(--ls-display); font-size: 0.9rem; font-weight: 600; }
.pl-email__from small { color: var(--ls-muted); font-size: 0.75rem; }
.pl-email__subject { font-family: var(--ls-display); font-size: 1.15rem; font-weight: 600; letter-spacing: -0.02em; line-height: 1.2; margin: 0; }
.pl-email__art { border-radius: 1rem; height: 9.5rem; overflow: hidden; position: relative; }
.pl-email__art img { height: 100%; object-fit: cover; width: 100%; }
.pl-email__art span { bottom: 0.8rem; color: #fff; font-size: 1.6rem; left: 1rem; position: absolute; text-shadow: 0 2px 12px rgb(0 0 0 / 0.35); }
.pl-email__line { color: rgb(15 23 42 / 0.64); font-size: 0.85rem; line-height: 1.5; margin: 0; }
.pl-email__btn { align-self: flex-start; background: #000; border-radius: 999px; color: #fff; font-size: 0.8rem; padding: 0.5rem 1rem; }

/* Split hero (Email + SMS): copy left, graphic right on desktop; stacked and centred below that. */
.pl-toast, .pl-sent { display: none; }
@media (min-width: 1024px) {
  .pl-hero--split {
    align-items: center;
    display: grid;
    gap: clamp(2rem, 4vw, 4rem);
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    margin: 0 auto;
    max-width: calc(1260px + 2 * var(--ls-gutter));
    padding: clamp(7rem, 14vh, 9rem) var(--ls-gutter) clamp(2rem, 4vw, 3rem);
  }
  .pl-hero--split .ls-hero__copy { align-items: flex-start; margin: 0; max-width: none; padding: 0; text-align: left; }
  .pl-hero--split .ls-hero__title { font-size: clamp(2.6rem, 4.6vw, 4.25rem); margin-left: 0; max-width: 13ch; }
  .pl-hero--split .ls-hero__sub { margin-left: 0; }
  .pl-hero--split .ls-hero__actions { justify-content: flex-start; }
  .pl-hero--split .pl-hero__stage { height: 40rem; margin: 0; max-width: none; padding: 0; }
  .pl-hero--split .pl-phone { --pl-phone-w: 19rem; position: absolute; right: 3%; rotate: 2deg; top: 0; }
  .pl-hero--split .pl-phone { z-index: 1; }
  .pl-hero--split .pl-email { bottom: 2rem; left: 0; margin: 0; position: absolute; rotate: -4deg; width: 20rem; z-index: 0; }
  .pl-hero--split .pl-toast, .pl-hero--split .pl-sent { display: flex; }
  .pl-toast {
    align-items: center;
    background: rgb(255 255 255 / 0.92);
    backdrop-filter: blur(12px);
    border-radius: 1.1rem;
    box-shadow: var(--pl-shadow), 0 0 0 1px var(--ls-line);
    font-family: var(--ls-text);
    gap: 0.7rem;
    left: 4%;
    padding: 0.7rem 1rem 0.7rem 0.75rem;
    position: absolute;
    rotate: -2deg;
    top: 3.5rem;
    z-index: 2;
  }
  .pl-toast span:not(.pl-orb):not(.pl-orb__ball) { display: flex; flex-direction: column; }
  .pl-toast strong { font-family: var(--ls-display); font-size: 0.88rem; font-weight: 600; }
  .pl-toast small { color: var(--ls-muted); font-size: 0.74rem; }
  .pl-sent {
    align-items: center;
    background: #000;
    border-radius: 999px;
    bottom: 3.5rem;
    box-shadow: 0 14px 30px -12px rgb(0 0 0 / 0.45);
    color: #fff;
    font-family: var(--ls-text);
    font-size: 0.82rem;
    gap: 0.45rem;
    padding: 0.6rem 1rem;
    position: absolute;
    right: -1%;
    rotate: 3deg;
    z-index: 2;
  }
  .pl-sent svg { background: var(--pl-sms-green); border-radius: 50%; padding: 2px; }
  .pl-hero--split .pl-hero__stage > :nth-child(4) { animation-delay: 380ms; }
  .pl-hero--split .pl-hero__stage > :nth-child(5) { animation-delay: 500ms; }
}

/* SMS thread */
.pl-sms__head { align-items: center; border-bottom: 1px solid var(--ls-line); display: flex; flex-direction: column; font-family: var(--ls-text); gap: 0.2rem; padding: 1.6rem 1rem 0.75rem; }
.pl-sms__head img { border-radius: 50%; height: 2.6rem; object-fit: cover; width: 2.6rem; }
.pl-sms__head strong { font-family: var(--ls-display); font-size: 0.85rem; font-weight: 600; }
.pl-sms__head small { color: var(--ls-muted); font-size: 0.66rem; }
.pl-sms { display: flex; flex-direction: column; gap: 0.4rem; padding: 0.9rem 0.8rem; }
.pl-sms__bubble {
  border-radius: 1.1rem;
  font-family: var(--ls-text);
  font-size: 0.82rem;
  line-height: 1.35;
  margin: 0;
  max-width: 80%;
  padding: 0.5rem 0.8rem;
}
.pl-sms__bubble--in { align-self: flex-start; background: #e9e9eb; border-bottom-left-radius: 0.35rem; color: #0a0a0b; }
.pl-sms__bubble--out { align-self: flex-end; background: var(--pl-sms-green); border-bottom-right-radius: 0.35rem; color: #fff; }
.pl-sms__link { display: flex; flex-direction: column; gap: 0.4rem; margin: -0.2rem -0.5rem; }
.pl-sms__link img { border-radius: 0.8rem; height: 6rem; object-fit: cover; width: 11rem; }
.pl-sms__link span { display: flex; flex-direction: column; padding: 0 0.3rem 0.1rem; }
.pl-sms__link strong { font-family: var(--ls-display); font-weight: 600; }
.pl-sms__link small { color: rgb(10 10 11 / 0.55); font-size: 0.7rem; }

/* Sequenced items: hidden until the script brings them in, one by one. */
.pl-js [data-pl-seq] > * { opacity: 0; transform: translateY(10px) scale(0.96); transform-origin: left bottom; transition: opacity 380ms ease, transform 480ms cubic-bezier(0.2, 0.9, 0.3, 1.2); }
.pl-js [data-pl-seq] > .pl-sms__bubble--out { transform-origin: right bottom; }
.pl-js [data-pl-seq] > .is-on { opacity: 1; transform: none; }

/* Flyers */
.pl-flyer { border-radius: 0.9rem; overflow: hidden; position: relative; }
.pl-flyer img { filter: saturate(1.15); height: 100%; object-fit: cover; width: 100%; }
.pl-flyer::after { background: linear-gradient(180deg, rgb(0 0 0 / 0) 40%, rgb(0 0 0 / 0.45)); content: ""; inset: 0; position: absolute; }
.pl-flyer__title { bottom: 0.55em; color: #fff; font-size: 1.9rem; left: 0.55em; line-height: 0.92; position: absolute; right: 0.55em; text-transform: uppercase; z-index: 1; }
.pl-flyer__date { color: #fff; font-family: var(--ls-text); font-size: 0.7rem; letter-spacing: 0.08em; position: absolute; right: 0.8em; top: 0.7em; z-index: 1; }
.pl-flyer--thumb { flex: none; height: 7.5rem; width: 6rem; }
.pl-flyer--thumb .pl-flyer__title { font-size: 1.1rem; }
.pl-flyer--card { aspect-ratio: 4 / 5; width: 100%; }
.pl-flyer--card .pl-flyer__title { font-size: 2.4rem; }
.pl-flyer--mini { flex: none; height: 3.4rem; width: 2.7rem; border-radius: 0.5rem; }
.pl-flyer--mini .pl-flyer__title, .pl-flyer--mini .pl-flyer__date { display: none; }
/* —— Step media —— */
.pl-step__media--top { justify-content: flex-start; }

.pl-signup { align-items: center; display: flex; flex-direction: column; gap: 0.5rem; width: min(100%, 15rem); }
.pl-signup__avatar { border-radius: 50%; height: 2.4rem; object-fit: cover; width: 2.4rem; }
.pl-signup__title { font-family: var(--ls-display); font-size: 0.95rem; font-weight: 600; margin: 0 0 0.2rem; }
.pl-signup .pl-btn { margin-top: 0.15rem; width: 100%; }

.pl-compose { display: flex; flex-direction: column; font-family: var(--ls-text); gap: 0.6rem; width: 100%; }
.pl-compose__channels { display: flex; gap: 0.35rem; }
.pl-compose__channels span { align-items: center; border-radius: 999px; box-shadow: 0 0 0 1px var(--ls-line); color: var(--ls-muted); display: inline-flex; font-size: 0.75rem; gap: 0.35rem; padding: 0.3rem 0.7rem; }
.pl-compose__channels .is-on { background: #000; box-shadow: none; color: #fff; }
.pl-compose__subject { border-bottom: 1px solid var(--ls-line); font-family: var(--ls-display); font-size: 1.05rem; font-weight: 600; margin: 0.3rem 0 0; padding-bottom: 0.5rem; }
.pl-compose__body { color: rgb(15 23 42 / 0.7); font-size: 0.85rem; line-height: 1.5; margin: 0; min-height: 2.6rem; }
.pl-compose__tools { align-items: center; display: flex; gap: 0.35rem; margin-top: auto; }
.pl-compose__tools span { background: var(--ls-soft); border-radius: 0.4rem; height: 1.5rem; width: 1.5rem; }
.pl-compose__tools small { color: var(--ls-muted); font-size: 0.72rem; margin-left: auto; }

.pl-schedule { display: flex; flex-direction: column; font-family: var(--ls-text); gap: 0.75rem; width: min(100%, 16rem); }
.pl-schedule__when { align-items: center; background: var(--ls-soft); border-radius: 1rem; display: flex; gap: 0.6rem; padding: 0.7rem 0.9rem; }
.pl-schedule__when svg { color: var(--ls-muted); }
.pl-schedule__when span { display: flex; flex-direction: column; font-family: var(--ls-display); font-size: 0.95rem; font-weight: 600; }
.pl-schedule__when small { color: var(--ls-muted); font-family: var(--ls-text); font-size: 0.7rem; font-weight: 400; }
.pl-schedule__reach { color: var(--ls-muted); display: flex; font-size: 0.8rem; justify-content: space-between; padding: 0 0.2rem; }
.pl-schedule__reach strong { color: var(--ls-ink); font-family: var(--ls-display); font-size: 1.05rem; font-variant-numeric: tabular-nums; font-weight: 600; margin-right: 0.2rem; }

.pl-ecompose { align-items: center; display: flex; gap: 0.9rem; width: 100%; }
.pl-ecompose__fields { display: flex; flex: 1; flex-direction: column; font-family: var(--ls-text); gap: 0.45rem; min-width: 0; }
.pl-ecompose__fields p { margin: 0; }
.pl-ecompose__name { font-family: var(--ls-display); font-size: 1.1rem; font-weight: 600; letter-spacing: -0.02em; }
.pl-ecompose__row { align-items: center; background: var(--ls-soft); border-radius: 999px; display: flex; font-size: 0.72rem; gap: 0.4rem; padding: 0.4rem 0.65rem; white-space: nowrap; }
.pl-ecompose__row svg { color: var(--ls-muted); flex: none; }
.pl-ecompose .pl-seg { margin-top: 0.15rem; }

.pl-code { align-items: center; display: flex; flex-direction: column; font-family: var(--ls-text); gap: 0.6rem; width: 100%; }
.pl-code__label { font-family: var(--ls-display); font-size: 0.95rem; font-weight: 600; margin: 0.4rem 0 0; }
.pl-code__boxes { display: grid; gap: 0.35rem; grid-template-columns: repeat(6, 2.1rem); }
.pl-code__boxes span { align-items: center; background: var(--ls-soft); border-radius: 0.6rem; display: flex; font-family: var(--ls-display); font-size: 1.1rem; font-weight: 600; height: 2.6rem; justify-content: center; transition: box-shadow 200ms ease; }
.pl-code__boxes span.is-filled { box-shadow: inset 0 0 0 1.5px #000; }
.pl-code__note { color: var(--ls-muted); font-size: 0.72rem; margin: 0; }

.pl-door { font-family: var(--ls-text); width: 100%; }
.pl-door__top { align-items: baseline; display: flex; justify-content: space-between; margin: 0 0 0.6rem; }
.pl-door__top > span { font-family: var(--ls-display); font-size: 1rem; font-weight: 600; }
.pl-door__top small { color: var(--ls-muted); font-size: 0.75rem; }
.pl-door__top strong { color: var(--ls-ink); font-variant-numeric: tabular-nums; }
.pl-door ul { display: flex; flex-direction: column; gap: 0.35rem; list-style: none; margin: 0; padding: 0; }
.pl-door li { align-items: center; background: var(--ls-soft); border-radius: 0.8rem; display: flex; font-size: 0.85rem; justify-content: space-between; padding: 0.55rem 0.7rem; }
.pl-door__name small { color: var(--ls-muted); margin-left: 0.35rem; }
.pl-check { align-items: center; border-radius: 50%; box-shadow: inset 0 0 0 1.5px rgb(15 23 42 / 0.22); color: transparent; display: inline-flex; height: 1.35rem; justify-content: center; transition: background 250ms ease, color 250ms ease, box-shadow 250ms ease; width: 1.35rem; }
.pl-door li.is-in .pl-check { background: #000; box-shadow: none; color: #fff; }

/* —— Audience table —— */
.pl-audience {
  background: #fff;
  border-radius: 1.5rem;
  box-shadow: var(--pl-shadow), 0 0 0 1px var(--ls-line);
  font-family: var(--ls-text);
  margin: 0 auto;
  max-width: 960px;
  overflow: hidden;
}
.pl-audience__stats { align-items: center; border-bottom: 1px solid var(--ls-line); display: flex; gap: clamp(1.25rem, 4vw, 3rem); padding: 1.25rem 1.5rem; }
.pl-audience__stats small { color: var(--ls-muted); display: block; font-size: 0.75rem; }
.pl-audience__stats strong { font-family: var(--ls-display); font-size: 1.6rem; font-variant-numeric: tabular-nums; font-weight: 600; letter-spacing: -0.03em; }
.pl-audience__import { align-items: center; border-radius: 999px; box-shadow: 0 0 0 1px var(--ls-line); display: inline-flex; font-size: 0.8rem; gap: 0.4rem; margin-left: auto; padding: 0.45rem 0.85rem; }
.pl-audience__rows { list-style: none; margin: 0; padding: 0.4rem 0.6rem 0.6rem; }
.pl-fan {
  align-items: center;
  border-radius: 0.9rem;
  display: grid;
  font-size: 0.85rem;
  gap: 1rem;
  grid-template-columns: 2.5rem minmax(0, 1.6fr) 8rem minmax(0, 1fr) 4.5rem;
  padding: 0.6rem 0.9rem;
}
.pl-fan + .pl-fan { box-shadow: 0 -1px 0 var(--ls-line); }
.pl-fan--new { background: #f6f8ff; }
/* Contact circle: the app's FanOrb (glass orb from .home-orb in src/index.css) */
.pl-orb { display: inline-flex; flex: none; position: relative; }
.pl-orb__ball {
  align-items: center;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.5), inset 0 -0.22em 0.45em -0.05em rgb(8 18 48 / 0.55), inset 0 0.18em 0.35em -0.1em rgb(255 255 255 / 0.6), 0 0.5em 1em -0.5em rgb(0 0 0 / 0.18);
  color: #fff;
  display: flex;
  font-size: 15px;
  font-weight: 500;
  height: 2.5rem;
  isolation: isolate;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 2.5rem;
}
.pl-orb__ball::before, .pl-orb__ball::after { border-radius: inherit; content: ""; inset: 0; mix-blend-mode: screen; pointer-events: none; position: absolute; }
.pl-orb__ball::before {
  background:
    radial-gradient(circle at 30% 17%, rgb(255 255 255 / 1) 0%, rgb(255 255 255 / 0.9) 3.5%, rgb(255 255 255 / 0) 7%),
    radial-gradient(ellipse 34% 9% at 58% 94%, rgb(255 255 255 / 0.85), rgb(255 255 255 / 0) 70%),
    radial-gradient(ellipse 40% 26% at 34% 20%, rgb(255 255 255 / 0.95) 0%, rgb(255 255 255 / 0.42) 42%, rgb(255 255 255 / 0) 72%),
    radial-gradient(circle at 50% 50%, rgb(255 255 255 / 0) 60%, rgb(255 255 255 / 0.18) 74%, rgb(255 255 255 / 0.62) 100%);
  z-index: 2;
}
.pl-orb__ball::after {
  background:
    radial-gradient(ellipse 58% 24% at 50% 93%, rgb(150 196 255 / 0.75), rgb(140 150 255 / 0.35) 55%, rgb(140 150 255 / 0) 78%),
    radial-gradient(circle at 64% 70%, rgb(0 0 0 / 0) 45%, rgb(4 12 40 / 0.28) 100%);
  z-index: 1;
}
.pl-orb__ball > span { filter: drop-shadow(0 1px 1px rgb(0 0 0 / 0.25)); position: relative; z-index: 3; }
.pl-orb__badge { background: #fff; border-radius: 50%; bottom: -0.125rem; height: 1rem; padding: 1px; position: absolute; right: -0.25rem; width: 1rem; z-index: 4; box-sizing: content-box; }
.pl-fan__who { display: flex; flex-direction: column; min-width: 0; }
.pl-fan__who strong { font-family: var(--ls-display); font-weight: 600; }
.pl-fan__who small, .pl-fan__source, .pl-fan__when { color: var(--ls-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-fan__when { text-align: right; }
.pl-fan__channels { display: flex; gap: 0.3rem; }
.pl-badge { border-radius: 999px; font-size: 0.68rem; padding: 0.15rem 0.5rem; }
.pl-badge--email { background: #eef1ff; color: #2b4bff; }
.pl-badge--sms { background: #e8f8ed; color: #15803d; }
.pl-fan--enter { animation: pl-fan-in 700ms cubic-bezier(0.22, 1, 0.36, 1) both; }
@keyframes pl-fan-in { from { opacity: 0; transform: translateY(-12px); } }

/* —— Email / SMS cards —— */
.pl-duo { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 auto; max-width: 1080px; }
.pl-duo__card { background: var(--ls-soft); border-radius: 1.5rem; font-family: var(--ls-text); padding: 0.75rem 0.75rem 1.75rem; }
.pl-duo__media {
  align-items: center;
  background: #fff;
  border-radius: 1.1rem;
  box-shadow: 0 0 0 1px var(--ls-line);
  display: flex;
  height: 16rem;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
.pl-duo__copy { padding: 1.4rem 0.75rem 0; }
.pl-duo__icon { display: block; height: 2.75rem; width: 2.75rem; }
.pl-duo__copy h3 { font-family: var(--ls-display); font-size: 1.35rem; font-weight: 600; letter-spacing: -0.02em; margin: 0.9rem 0 0; }
.pl-duo__copy > p { color: rgb(15 23 42 / 0.64); font-size: 1rem; line-height: 1.5; margin: 0.4rem 0 0; max-width: 26rem; }
.pl-pills { display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; margin: 1.1rem 0 0; padding: 0; }
.pl-pills li { background: #fff; border-radius: 999px; box-shadow: 0 0 0 1px var(--ls-line); color: rgb(15 23 42 / 0.72); font-size: 0.8rem; padding: 0.35rem 0.8rem; }

/* Three email templates fanned out */
.pl-duo__media--email { gap: 0; padding-top: 1.5rem; }
.pl-tpl {
  background: #fff;
  border-radius: 0.9rem;
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.06), 0 18px 34px -16px rgb(15 23 42 / 0.3), 0 0 0 1px var(--ls-line);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.5rem 0.5rem 0.7rem;
  position: relative;
  transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
  width: 9rem;
}
.pl-tpl:nth-child(1) { rotate: -7deg; translate: 1.5rem 0.6rem; }
.pl-tpl:nth-child(2) { z-index: 1; }
.pl-tpl:nth-child(3) { rotate: 7deg; translate: -1.5rem 0.6rem; }
.pl-duo__card:hover .pl-tpl:nth-child(1) { transform: translateX(-0.6rem); }
.pl-duo__card:hover .pl-tpl:nth-child(3) { transform: translateX(0.6rem); }
.pl-tpl img { aspect-ratio: 4 / 3; border-radius: 0.55rem; object-fit: cover; width: 100%; }
.pl-tpl p { font-family: var(--ls-display); font-size: 0.72rem; font-weight: 600; margin: 0.15rem 0 0; }
.pl-tpl i { background: rgb(15 23 42 / 0.08); border-radius: 999px; display: block; height: 0.3rem; }
.pl-tpl i + i { width: 70%; }
.pl-tpl span { background: #000; border-radius: 999px; color: #fff; font-size: 0.6rem; left: 0.9rem; padding: 0.15rem 0.5rem; position: absolute; top: 0.9rem; }

/* A short text exchange from the artist's own number */
.pl-duo__media--sms { align-items: stretch; flex-direction: column; gap: 0.45rem; justify-content: center; padding: 1.25rem 1.5rem; }
.pl-duo__number { align-items: center; align-self: center; background: var(--ls-soft); border-radius: 999px; color: rgb(15 23 42 / 0.72); display: inline-flex; font-size: 0.75rem; gap: 0.4rem; margin-bottom: 0.5rem; padding: 0.35rem 0.8rem; }
.pl-duo__media--sms .pl-sms__bubble { font-size: 0.9rem; max-width: 75%; }
.pl-duo__stop { align-self: center; color: var(--ls-muted); font-size: 0.7rem; margin: 0.5rem 0 0; }

/* —— Event manager —— */
.pl-manager {
  background: #fff;
  border-radius: 1.5rem;
  box-shadow: var(--pl-shadow), 0 0 0 1px var(--ls-line);
  display: grid;
  font-family: var(--ls-text);
  gap: clamp(1.25rem, 3vw, 2.25rem);
  grid-template-columns: 15rem minmax(0, 1fr);
  margin: 0 auto;
  max-width: 960px;
  padding: clamp(1rem, 2.4vw, 1.75rem);
}
.pl-manager__side { display: flex; flex-direction: column; gap: 0.5rem; }
.pl-manager__side p { margin: 0; }
.pl-manager__event { font-family: var(--ls-display); font-size: 1.2rem; font-weight: 600; letter-spacing: -0.02em; margin-top: 0.4rem !important; }
.pl-manager__when { color: var(--ls-muted); font-size: 0.82rem; }
.pl-manager__side .pl-linkpill { margin-top: 0.4rem; }
.pl-manager__main { display: flex; flex-direction: column; gap: 0.9rem; min-width: 0; }
.pl-manager__count { color: var(--ls-muted); font-size: 1.05rem; margin: 0.25rem 0 0; }
.pl-manager__count strong { color: var(--ls-ink); font-family: var(--ls-display); font-size: clamp(2.6rem, 5vw, 3.5rem); font-variant-numeric: tabular-nums; font-weight: 600; letter-spacing: -0.04em; margin-right: 0.2rem; }
.pl-manager__count span { color: var(--ls-muted); }
.pl-queue { background: var(--ls-soft); border-radius: 1.1rem; margin-top: 0.4rem; padding: 0.4rem; }
.pl-queue__top { align-items: center; display: flex; justify-content: space-between; padding: 0.5rem 0.6rem 0.6rem; }
.pl-queue__top p { align-items: center; display: flex; font-size: 0.88rem; gap: 0.5rem; margin: 0; }
.pl-queue__top .pl-btn--ghost { background: #fff; }
.pl-queue ul { display: flex; flex-direction: column; gap: 0.35rem; list-style: none; margin: 0; padding: 0; }
.pl-req { align-items: center; background: #fff; border-radius: 0.85rem; display: flex; gap: 0.7rem; padding: 0.6rem 0.7rem; transition: opacity 400ms ease; }
.pl-req > img { border-radius: 50%; flex: none; height: 2.2rem; object-fit: cover; width: 2.2rem; }
.pl-req__who { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.pl-req__who strong { font-family: var(--ls-display); font-size: 0.9rem; font-weight: 600; }
.pl-req__who small { color: var(--ls-muted); font-size: 0.75rem; }
.pl-req__actions { display: flex; gap: 0.35rem; }
.pl-req__actions span { border-radius: 999px; font-size: 0.75rem; padding: 0.4rem 0.8rem; }
.pl-req__no { box-shadow: inset 0 0 0 1px var(--ls-line); color: var(--ls-muted); }
.pl-req__yes { background: #000; color: #fff; transition: transform 160ms ease; }
.pl-req.is-pressing .pl-req__yes { transform: scale(0.92); }
.pl-req__done { align-items: center; color: #15803d; display: none; font-size: 0.78rem; gap: 0.35rem; }
.pl-req.is-approved .pl-req__actions { display: none; }
.pl-req.is-approved .pl-req__done { display: inline-flex; }
.pl-req.is-approved { opacity: 0.7; }
.pl-tabs { border-top: 1px solid var(--ls-line); display: flex; gap: 0.35rem; margin-top: 0.25rem; padding-top: 0.9rem; }
.pl-tabs span { border-radius: 999px; color: var(--ls-muted); font-size: 0.82rem; padding: 0.4rem 0.9rem; }
.pl-tabs .is-on { background: var(--ls-soft); color: var(--ls-ink); font-weight: 500; }

/* Settings card + what the guest sees */
.pl-settings { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); margin: 0 auto; max-width: 960px; }
.pl-settings__card { background: #fff; border-radius: 1.5rem; box-shadow: var(--pl-shadow), 0 0 0 1px var(--ls-line); font-family: var(--ls-text); padding: clamp(1.25rem, 2.6vw, 1.75rem); }
.pl-settings__title { font-family: var(--ls-display); font-size: 1.2rem; font-weight: 600; letter-spacing: -0.02em; margin: 0 0 0.9rem; }
.pl-settings__card ul { list-style: none; margin: 0.6rem 0 0; padding: 0; }
.pl-set { align-items: center; display: flex; gap: 1rem; justify-content: space-between; padding: 0.8rem 0; }
.pl-set + .pl-set { border-top: 1px solid var(--ls-line); }
.pl-set__copy { display: flex; flex-direction: column; min-width: 0; }
.pl-set__copy strong { font-size: 0.95rem; font-weight: 500; }
.pl-set__copy small { color: var(--ls-muted); font-size: 0.8rem; margin-top: 0.1rem; }
.pl-toggle { background: rgb(15 23 42 / 0.14); border-radius: 999px; flex: none; height: 1.5rem; position: relative; transition: background 200ms ease; width: 2.6rem; }
.pl-toggle::after { background: #fff; border-radius: 50%; box-shadow: 0 1px 2px rgb(0 0 0 / 0.2); content: ""; height: 1.2rem; left: 0.15rem; position: absolute; top: 0.15rem; transition: transform 200ms ease; width: 1.2rem; }
.pl-toggle.is-on { background: #000; }
.pl-toggle.is-on::after { transform: translateX(1.1rem); }
.pl-stepper { align-items: center; background: var(--ls-soft); border-radius: 999px; display: inline-flex; flex: none; gap: 0.2rem; padding: 0.2rem; }
.pl-stepper span { align-items: center; background: #fff; border-radius: 50%; box-shadow: 0 1px 2px rgb(15 23 42 / 0.12); display: inline-flex; font-size: 0.95rem; height: 1.7rem; justify-content: center; width: 1.7rem; }
.pl-stepper strong { font-family: var(--ls-display); font-size: 0.95rem; font-variant-numeric: tabular-nums; font-weight: 600; min-width: 2rem; text-align: center; }
.pl-settings__guest { display: flex; flex-direction: column; gap: 1rem; }
.pl-gcard { background: var(--ls-soft); border-radius: 1.5rem; font-family: var(--ls-text); padding: 1.25rem 1.4rem; }
.pl-gcard p { margin: 0; }
.pl-gcard__label { color: var(--ls-muted); font-size: 0.8rem; margin-bottom: 0.7rem !important; }
.pl-gcard__text { background: #e9e9eb; border-bottom-left-radius: 0.35rem; border-radius: 1.1rem; display: inline-block; font-size: 0.9rem; line-height: 1.4; padding: 0.6rem 0.9rem; }
.pl-gcard__post { align-items: flex-start; background: #fff; border-radius: 1rem; display: flex; font-size: 0.9rem; gap: 0.6rem; padding: 0.75rem 0.85rem; }
.pl-gcard__post img { border-radius: 50%; flex: none; height: 2rem; object-fit: cover; width: 2rem; }
.pl-gcard__post span { display: flex; flex-direction: column; gap: 0.1rem; line-height: 1.4; }
.pl-gcard__post strong { font-family: var(--ls-display); font-size: 0.8rem; font-weight: 600; }
.pl-gcard__opt { align-items: center; display: flex; font-size: 0.9rem; gap: 0.6rem; }
.pl-checkbox { align-items: center; background: #000; border-radius: 0.35rem; color: #fff; display: inline-flex; flex: none; height: 1.2rem; justify-content: center; width: 1.2rem; }

/* —— App shot canvases —— */
.pl-app__body { grid-template-columns: 13.5rem minmax(0, 1fr); min-height: 26rem; }
.pl-app__canvas { background: #fafaf9; font-family: var(--ls-text); padding: clamp(1rem, 2.4vw, 1.75rem); }
.pl-campaigns__top { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1rem; }
.pl-campaigns__top strong { font-family: var(--ls-display); font-size: 1.35rem; font-weight: 600; letter-spacing: -0.02em; }
.pl-campaigns ul, .pl-events ul { background: #fff; border-radius: 1rem; box-shadow: 0 0 0 1px var(--ls-line); list-style: none; margin: 0; padding: 0.3rem 0.9rem; }
.pl-campaigns li, .pl-events li { align-items: center; display: grid; font-size: 0.85rem; gap: 1rem; grid-template-columns: minmax(0, 1fr) 6rem 7.5rem; padding: 0.85rem 0; }
.pl-events li { grid-template-columns: minmax(0, 1fr) auto; }
.pl-campaigns li + li, .pl-events li + li { border-top: 1px solid var(--ls-line); }
.pl-campaigns__name { display: flex; flex-direction: column; min-width: 0; }
.pl-campaigns__name strong { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-campaigns__name small, .pl-campaigns__meta { color: var(--ls-muted); font-size: 0.78rem; }
.pl-campaigns__meta { text-align: right; }
.pl-status { border-radius: 999px; font-size: 0.72rem; justify-self: start; padding: 0.2rem 0.6rem; }
.pl-status--sent { background: #e8f8ed; color: #15803d; }
.pl-status--scheduled { background: #eef1ff; color: #2b4bff; }
.pl-status--draft { background: #f1f1f0; color: var(--ls-muted); }
.pl-events__up { align-items: center; background: #fff; border-radius: 1rem; box-shadow: 0 0 0 1px var(--ls-line); display: flex; gap: 0.9rem; margin-bottom: 0.75rem; padding: 0.75rem; }
.pl-events__up > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.pl-events__up small { color: var(--ls-muted); font-size: 0.72rem; }
.pl-events__up strong { font-family: var(--ls-display); font-size: 1.05rem; font-weight: 600; }
.pl-events__up em { color: var(--ls-muted); font-size: 0.78rem; font-style: normal; }
.pl-events__meter { color: var(--ls-muted); font-size: 0.8rem; white-space: nowrap; }
.pl-events__meter strong { color: var(--ls-ink); font-family: var(--ls-display); font-size: 1.3rem; font-weight: 600; }

/* —— Event manager hero: the app's Event Manager screen —— */
.pl-hero__stage--app { display: block; max-width: 1260px; padding-inline: var(--ls-gutter); }
.pl-hero__stage--app .ls-app { box-shadow: var(--pl-shadow), 0 0 0 1px var(--ls-line); margin: 0; max-width: none; }
.pl-sched { display: flex; flex-direction: column; gap: 1rem; }
.pl-sched__top { align-items: flex-start; display: flex; justify-content: space-between; }
.pl-sched__top strong { display: block; font-family: var(--ls-display); font-size: 1.45rem; font-weight: 600; letter-spacing: -0.02em; }
.pl-sched__top small { color: var(--ls-muted); font-size: 0.82rem; }
.pl-sched__bar { align-items: center; display: flex; justify-content: space-between; }
.pl-sched__bar .pl-seg span { font-size: 0.8rem; padding: 0.35rem 0.9rem; }
.pl-sched__filter { border-radius: 999px; box-shadow: 0 0 0 1px var(--ls-line); color: var(--ls-muted); font-size: 0.78rem; padding: 0.35rem 0.8rem; }
.pl-sched__grid { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) 16.5rem; }
.pl-sched__list { background: #fff; border-radius: 1rem; box-shadow: 0 0 0 1px var(--ls-line); list-style: none; margin: 0; padding: 0.35rem; }
.pl-sched__row {
  align-items: center;
  border-radius: 0.75rem;
  display: grid;
  gap: 0.85rem;
  grid-template-columns: 2.6rem 2.2rem minmax(0, 1fr) auto auto;
  padding: 0.6rem 0.65rem;
}
.pl-sched__row + .pl-sched__row { box-shadow: 0 -1px 0 var(--ls-line); }
.pl-sched__row.is-selected { background: #f6f5ff; box-shadow: none; }
.pl-sched__row.is-selected + .pl-sched__row { box-shadow: none; }
.pl-sched__date { display: flex; flex-direction: column; line-height: 1.05; text-align: center; }
.pl-sched__date small { color: #e11d48; font-size: 0.66rem; letter-spacing: 0.06em; text-transform: uppercase; }
.pl-sched__date strong { font-family: var(--ls-display); font-size: 1.3rem; font-weight: 600; letter-spacing: -0.02em; }
.pl-sched__flyer { aspect-ratio: 4 / 5; border-radius: 0.4rem; object-fit: cover; width: 100%; }
.pl-sched__what { display: flex; flex-direction: column; min-width: 0; }
.pl-sched__what strong { font-size: 0.9rem; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-sched__what small { color: var(--ls-muted); font-size: 0.76rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-sched__tags { display: flex; gap: 0.3rem; }
.pl-tag { border-radius: 999px; font-size: 0.68rem; padding: 0.18rem 0.55rem; white-space: nowrap; }
.pl-tag--rsvp { background: #f3effe; color: #6d28d9; }
.pl-tag--tour { background: #ecfeff; color: #0e7490; }
.pl-tag--tix { background: #f1f1f0; color: rgb(15 23 42 / 0.7); }
.pl-sched__meta { color: var(--ls-muted); font-size: 0.76rem; text-align: right; white-space: nowrap; }
.pl-sched__meta.is-wait { color: #c2410c; }
.pl-sched__side { display: flex; flex-direction: column; gap: 0.75rem; }
.pl-upnext, .pl-month { background: #fff; border-radius: 1rem; box-shadow: 0 0 0 1px var(--ls-line); padding: 0.9rem; }
.pl-upnext p, .pl-month p { margin: 0; }
.pl-upnext__label { color: var(--ls-muted); font-size: 0.72rem; }
.pl-upnext__event { align-items: center; display: flex; gap: 0.65rem; margin: 0.6rem 0 0.7rem; }
.pl-upnext__event span { display: flex; flex-direction: column; }
.pl-upnext__event strong { font-family: var(--ls-display); font-size: 1rem; font-weight: 600; }
.pl-upnext__event small { color: var(--ls-muted); font-size: 0.74rem; }
.pl-upnext__count { color: var(--ls-muted); font-size: 0.8rem; margin-bottom: 0.45rem !important; }
.pl-upnext__count strong { color: var(--ls-ink); font-family: var(--ls-display); font-size: 1.5rem; font-weight: 600; letter-spacing: -0.03em; margin-right: 0.15rem; }
.pl-upnext__wait { align-items: center; display: flex; font-size: 0.76rem; gap: 0.4rem; margin-top: 0.6rem !important; }
.pl-upnext__actions { display: grid; gap: 0.3rem; grid-template-columns: repeat(3, 1fr); margin-top: 0.75rem; }
.pl-upnext__actions span { background: var(--ls-soft); border-radius: 999px; font-size: 0.7rem; padding: 0.4rem 0.2rem; text-align: center; }
.pl-upnext__actions span:first-child { background: #000; color: #fff; }
.pl-month__head { align-items: center; display: flex; font-size: 0.85rem; justify-content: space-between; margin-bottom: 0.5rem !important; }
.pl-month__head strong { font-family: var(--ls-display); font-weight: 600; }
.pl-month__head span { color: var(--ls-muted); letter-spacing: 0.3em; }
.pl-month__dow, .pl-month__grid { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; }
.pl-month__dow span { color: var(--ls-muted); font-size: 0.62rem; padding-bottom: 0.3rem; }
.pl-month__grid span { align-items: center; border-radius: 50%; display: flex; font-size: 0.7rem; font-variant-numeric: tabular-nums; height: 1.75rem; justify-content: center; margin: 0 auto; position: relative; width: 1.75rem; }
.pl-month__grid .is-rsvp::after, .pl-month__grid .is-tour::after { border-radius: 50%; bottom: 0.12rem; content: ""; height: 0.25rem; left: 50%; position: absolute; translate: -50% 0; width: 0.25rem; }
.pl-month__grid .is-rsvp::after { background: #7c3aed; }
.pl-month__grid .is-tour::after { background: #0891b2; }
.pl-month__grid .is-next { background: #000; color: #fff; }

/* —— Tablet + phone —— */
@media (max-width: 1100px) {
  .pl-sched__grid { grid-template-columns: minmax(0, 1fr); }
  .pl-sched__side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .pl-app__body { grid-template-columns: 11.5rem minmax(0, 1fr); }
  .pl-sched__tags { display: none; }
  .pl-fan { grid-template-columns: 2.5rem minmax(0, 1fr) auto 3.5rem; }
  .pl-fan__source { display: none; }
}

@media (max-width: 809px) {
  .pl-phone { --pl-phone-w: 15rem; }
  .pl-hero__stage--duo .pl-email { margin-right: -7rem; width: 17rem; }
  .pl-email__art { height: 7rem; }
  .pl-duo, .pl-settings, .pl-manager { grid-template-columns: minmax(0, 1fr); }
  .pl-manager__side { display: grid; gap: 0.25rem 0.9rem; grid-template-columns: 5rem minmax(0, 1fr); }
  .pl-manager__side .pl-flyer--card { grid-row: span 3; }
  .pl-manager__side .pl-flyer--card .pl-flyer__title { font-size: 1.1rem; }
  .pl-manager__side .pl-flyer--card .pl-flyer__date { display: none; }
  .pl-manager__side .pl-linkpill { grid-column: 2; margin-top: 0.2rem; }
}

@media (max-width: 640px) {
  /* Phones: just the phone, upright, so nothing covers the screen. */
  .pl-hero__stage { padding-inline: 0; }
  .pl-hero__stage--duo .pl-email { display: none; }
  .pl-hero__stage .pl-phone { --pl-phone-w: 16rem; rotate: none; }
  /* Event manager hero on phones: no sidebar, the schedule fills the window. */
  .pl-hero__stage--app { padding-inline: 16px; }
  .pl-hero__stage--app .ls-app__body { grid-template-columns: minmax(0, 1fr); }
  .pl-hero__stage--app .ls-app-nav { display: none; }
  .pl-sched__top small { display: none; }
  .pl-sched__filter, .pl-month { display: none; }
  .pl-sched__side { display: flex; }
  .pl-sched__row { gap: 0.6rem; grid-template-columns: 2.2rem minmax(0, 1fr) auto; padding: 0.55rem 0.4rem; }
  .pl-sched__flyer { display: none; }
  .pl-sched__meta { font-size: 0.7rem; }
  .pl-audience__stats { flex-wrap: wrap; gap: 1rem 1.5rem; padding: 1rem; }
  .pl-audience__stats strong { font-size: 1.3rem; }
  .pl-audience__import { margin-left: 0; }
  .pl-fan { gap: 0.6rem; grid-template-columns: 2.5rem minmax(0, 1fr) auto; padding: 0.55rem 0.4rem; }
  .pl-fan__when { display: none; }
  .pl-req { flex-wrap: wrap; }
  .pl-req__actions { justify-content: flex-end; width: 100%; }
  .pl-req__actions span { flex: 1; text-align: center; }
  .pl-tabs span { padding: 0.4rem 0.7rem; }
  .pl-app__body { grid-template-columns: 9.5rem minmax(0, 1fr); min-height: 0; }
  .pl-campaigns li { grid-template-columns: minmax(0, 1fr) auto; }
  .pl-campaigns__meta { display: none; }
  .pl-events__up { flex-wrap: wrap; }
  .pl-events__meter { width: 100%; }
  .pl-code__boxes { grid-template-columns: repeat(6, 1.9rem); }
}

@media (prefers-reduced-motion: reduce) {
  .pl-hero__stage > *, .pl-fan--enter { animation: none; }
  .pl-dot, .pl-caret { animation: none; }
  .pl-js [data-pl-seq] > * { opacity: 1; transform: none; transition: none; }
}
