:root{--ffc-ink:#171526;--ffc-muted:#666276;--ffc-gold:#d7a13b;--ffc-violet:#6043a8;--ffc-paper:#fbfaf7;--ffc-line:#e8e3dc;--ffc-green:#18794e;--ffc-red:#b42318;--ffc-yellow:#9a6700;--ffc-blue:#175cd3}.ffc-pp-shell,.ffc-pp-login{color:var(--ffc-ink);font-family:Inter,system-ui,-apple-system,sans-serif}.ffc-pp-shell{max-width:1120px;margin:0 auto;padding:48px 22px 80px}.ffc-pp-login{min-height:70vh;display:grid;place-items:center;padding:40px 20px;background:radial-gradient(circle at top left,#efe8ff,transparent 45%),var(--ffc-paper)}.ffc-pp-login__card{width:min(100%,560px);background:#fff;border:1px solid var(--ffc-line);border-radius:24px;padding:40px;box-shadow:0 22px 60px rgba(28,20,49,.12)}.ffc-pp-kicker{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:800;color:var(--ffc-violet)}.ffc-pp-login h1,.ffc-pp-hero h1{font-size:clamp(2rem,5vw,3.8rem);line-height:1.03;margin:.25em 0}.ffc-pp-login label,.ffc-pp-form label{display:grid;gap:7px;font-weight:700;margin:18px 0}.ffc-pp-login input,.ffc-pp-form input,.ffc-pp-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfc8d7;border-radius:10px;padding:13px;background:#fff;color:var(--ffc-ink)}.ffc-pp-login button,.ffc-pp-button,.ffc-pp-form button,.ffc-pp-ack button{display:inline-block;border:0;border-radius:999px;padding:13px 22px;background:var(--ffc-violet);color:#fff!important;font-weight:800;text-decoration:none;cursor:pointer}.ffc-pp-login button{width:100%;margin-top:10px}.ffc-pp-help{font-size:.9rem;color:var(--ffc-muted);margin-top:22px}.ffc-pp-alert{padding:12px;border-left:4px solid var(--ffc-red);background:#fff1f0}.ffc-pp-success{padding:14px 18px;border-radius:10px;background:#ecfdf3;color:#067647}.ffc-pp-hero{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:35px}.ffc-pp-score{flex:0 0 125px;height:125px;border-radius:50%;display:grid;place-content:center;text-align:center;background:#ecfdf3;border:8px solid #abefc6;color:var(--ffc-green)}.ffc-pp-score strong{font-size:2rem;line-height:1}.ffc-pp-score span{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.ffc-pp-roadmap{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;margin:30px 0 45px;overflow-x:auto}.ffc-pp-step{min-width:130px;display:grid;gap:5px;padding:15px;border:1px solid var(--ffc-line);border-top:5px solid #98a2b3;border-radius:12px;background:#fff;color:var(--ffc-ink)!important;text-decoration:none}.ffc-pp-step>span{font-size:1.35rem}.ffc-pp-step small{color:var(--ffc-muted)}.ffc-pp-step.is-complete{border-top-color:var(--ffc-green)}.ffc-pp-step.is-action{border-top-color:var(--ffc-red)}.ffc-pp-step.is-review,.ffc-pp-step.is-waiting{border-top-color:var(--ffc-yellow)}.ffc-pp-step.is-na{border-top-color:var(--ffc-blue)}.ffc-pp-card{background:#fff;border:1px solid var(--ffc-line);border-radius:20px;padding:clamp(24px,4vw,42px);margin:22px 0;box-shadow:0 10px 35px rgba(28,20,49,.06);scroll-margin-top:30px}.ffc-pp-card h2{font-size:clamp(1.5rem,3vw,2.35rem);margin:.2em 0 .6em}.ffc-pp-card h3{font-size:1rem;margin-bottom:7px}.ffc-pp-owner{font-weight:700}.ffc-pp-bio{padding:18px 0;border-top:1px solid var(--ffc-line)}.ffc-pp-headshot{display:block;width:min(100%,320px);aspect-ratio:4/5;object-fit:cover;border-radius:18px}.ffc-pp-empty{color:var(--ffc-muted);font-style:italic}.ffc-pp-complete{font-weight:800;color:var(--ffc-green)}.ffc-pp-form small{color:var(--ffc-muted);font-weight:400}.ffc-pp-copy{font-size:1.05rem;line-height:1.7}.ffc-pp-ack{margin-top:22px}.ffc-pp-logistics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ffc-pp-logistics div{padding:22px;border-radius:14px;background:var(--ffc-paper)}.ffc-pp-logistics dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ffc-muted)}.ffc-pp-logistics dd{font-size:1.15rem;font-weight:800;margin:6px 0 0}.ffc-pp-footer{display:flex;justify-content:space-between;gap:20px;margin-top:35px;padding-top:25px;border-top:1px solid var(--ffc-line)}@media(max-width:700px){.ffc-pp-login__card{padding:28px 22px}.ffc-pp-hero{align-items:flex-start}.ffc-pp-score{flex-basis:88px;width:88px;height:88px;border-width:6px}.ffc-pp-score strong{font-size:1.45rem}.ffc-pp-roadmap{grid-template-columns:repeat(6,145px)}.ffc-pp-logistics{grid-template-columns:1fr}.ffc-pp-footer{display:block}}

/* Film Festival Connect: cinematic participant journey theme.
 * Media Library URLs are scoped to airtists.io.
 */
.ffc-pp-hero {
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid rgba(215, 161, 59, .5);
  border-radius: 24px;
  background:
    radial-gradient(circle at 85% 15%, rgba(215, 161, 59, .22), transparent 34%),
    linear-gradient(135deg, #171526 0%, #2b1743 58%, #511e31 100%);
  box-shadow: 0 22px 50px rgba(23, 21, 38, .18);
  color: #fff;
}

/* 0.4.1 participant workflow clarity */
.ffc-pp-next-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 20px 0 26px;
  padding: 22px 24px;
  border: 1px solid rgba(215, 161, 59, .48);
  border-radius: 18px;
  background: linear-gradient(135deg, #0c1727, #17263d);
  color: #fff;
}

.ffc-pp-next-action h2,
.ffc-pp-next-action p {
  color: #fff;
  margin-top: 4px;
}

.ffc-pp-next-action .ffc-pp-kicker {
  color: #f4bd52;
  margin: 0;
}

.ffc-pp-progress-summary {
  margin-bottom: 0;
  font-size: .88rem;
  color: rgba(255, 255, 255, .82) !important;
}

.ffc-pp-roadmap.has-8 {
  grid-template-columns: repeat(8, minmax(118px, 1fr));
}

.ffc-pp-roadmap.has-7 {
  grid-template-columns: repeat(7, minmax(118px, 1fr));
}

.ffc-pp-section-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 22px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(8, 17, 31, .93);
  color: #fff;
}

.ffc-pp-section-status div {
  min-width: 0;
  padding: 5px 8px;
}

.ffc-pp-section-status span,
.ffc-pp-guest-request-summary span {
  display: block;
  margin-bottom: 4px;
  color: #f4bd52;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ffc-pp-section-status strong {
  display: block;
  color: #fff;
  font-size: .82rem;
  line-height: 1.35;
}

.ffc-pp-inline-success {
  margin: -8px 0 20px;
  padding: 9px 12px;
  border-radius: 9px;
  background: #ecfdf3;
  color: #067647;
  font-weight: 800;
}

.ffc-pp-guest-request-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 18px;
}

.ffc-pp-guest-request-summary div {
  padding: 13px;
  border: 1px solid rgba(215, 161, 59, .3);
  border-radius: 12px;
  background: rgba(8, 17, 31, .9);
  color: #fff;
}

.ffc-pp-guest-request-summary strong {
  color: #fff;
  font-size: .82rem;
}

.ffc-pp-event-request-status {
  display: block;
  margin-top: 4px;
  color: #f4bd52;
  font-size: .68rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.2;
}

.ffc-pp-logistics-actions {
  margin-top: 14px;
}

@media (max-width: 1050px) {
  .ffc-pp-roadmap.has-8,
  .ffc-pp-roadmap.has-7 {
    grid-template-columns: repeat(4, minmax(130px, 1fr));
  }

  .ffc-pp-guest-request-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .ffc-pp-next-action {
    display: block;
    padding: 18px;
  }

  .ffc-pp-next-action .ffc-pp-button {
    margin-top: 8px;
  }

  .ffc-pp-section-status {
    grid-template-columns: 1fr;
    gap: 2px;
    padding: 9px;
  }

  .ffc-pp-section-status div {
    padding: 6px;
  }

  .ffc-pp-guest-request-summary {
    grid-template-columns: 1fr 1fr;
    gap: 7px;
  }

  .ffc-pp-guest-request-summary div {
    padding: 10px;
  }
}

/* Participant Hub 0.3.6: welcoming schedule-style hero facts and compact mobile guest care. */
.ffc-pp-hero-main {
  flex: 1 1 auto;
  min-width: 0;
}

.ffc-pp-hero-role {
  margin-bottom: 14px;
}

.ffc-pp-hero-meta {
  display: block;
  max-width: 650px;
  margin: 16px 0 0;
  border-top: 1px solid rgba(255, 255, 255, .2);
}

.ffc-pp-hero-meta > div {
  display: grid;
  grid-template-columns: minmax(88px, 112px) minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-width: 0;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.ffc-pp-hero-meta dt {
  color: #f0c76d;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ffc-pp-hero-meta dd {
  margin: 0;
  color: #fff;
  font-size: .92rem;
  font-weight: 800;
  line-height: 1.25;
}

.ffc-pp-date-mark {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
}

.ffc-pp-date-month,
.ffc-pp-date-weekday {
  color: #f0c76d;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.ffc-pp-date-day {
  color: #fff;
  font-size: 1.55rem;
  line-height: .9;
}

.ffc-pp-date-year {
  color: rgba(255, 255, 255, .78);
  font-size: .74rem;
  font-weight: 700;
}

.ffc-pp-care-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
}

.ffc-pp-care-details > summary::-webkit-details-marker {
  display: none;
}

.ffc-pp-care-details > summary::after {
  content: "+";
  flex: 0 0 auto;
  color: #fff !important;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
}

.ffc-pp-care-details[open] > summary::after {
  content: "−";
}

@media (max-width: 720px) {
  .ffc-pp-hero {
    position: relative;
    display: block;
    padding: 22px 16px;
  }

  .ffc-pp-hero h1 {
    font-size: clamp(1.7rem, 8vw, 2.45rem);
  }

  .ffc-pp-hero-meta {
    width: 100%;
    max-width: none;
  }

  .ffc-pp-hero-meta > div {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 10px;
    padding: 8px 0;
  }

  .ffc-pp-hero-meta dd {
    font-size: .82rem;
  }

  .ffc-pp-hero .ffc-pp-score {
    position: absolute;
    top: 19px;
    right: 15px;
    width: 70px;
    height: 70px;
    border-width: 5px;
  }

  .ffc-pp-hero-main > .ffc-pp-kicker,
  .ffc-pp-hero-main > h1,
  .ffc-pp-hero-role {
    padding-right: 82px;
  }

  .ffc-pp-date-mark {
    gap: 6px;
  }

  .ffc-pp-date-day {
    font-size: 1.4rem;
  }

  #ffc-pp-guests {
    width: calc(100% + 28px);
    max-width: none;
    margin-right: -14px;
    margin-left: -14px;
    padding: 20px 10px;
    border-radius: 14px;
  }

  #ffc-pp-guests > h2,
  #ffc-pp-guests > p,
  #ffc-pp-guests > .ffc-pp-kicker,
  #ffc-pp-guests .ffc-pp-form {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }

  #ffc-pp-guests .ffc-pp-form {
    padding: 10px;
  }

  #ffc-pp-guests .ffc-pp-event-fieldset {
    margin-right: -4px !important;
    margin-left: -4px !important;
    padding: 8px 5px !important;
  }

  #ffc-pp-guests .ffc-pp-event-row,
  #ffc-pp-guests .ffc-pp-event-grid {
    grid-template-columns: 54px minmax(0, 1fr) minmax(82px, .9fr);
    gap: 5px;
  }

  #ffc-pp-guests .ffc-pp-form label.ffc-pp-event-row {
    padding: 8px 6px;
    font-size: .69rem;
  }

  #ffc-pp-guests .ffc-pp-event-date,
  #ffc-pp-guests .ffc-pp-event-when {
    padding-left: 0;
  }

  #ffc-pp-guests .ffc-pp-event-name {
    grid-row: auto;
  }
}

.ffc-pp-hero .ffc-pp-kicker {
  color: #f0c76d;
}

.ffc-pp-roadmap {
  padding: 12px;
  border: 1px solid rgba(96, 67, 168, .22);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(239, 232, 255, .78), rgba(251, 250, 247, .96));
}

.ffc-pp-step {
  box-shadow: 0 8px 22px rgba(28, 20, 49, .07);
  transition: transform .18s ease, box-shadow .18s ease;
}

.ffc-pp-step > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  box-sizing: border-box;
  border: 2px solid #98a2b3;
  border-radius: 50%;
  background: #fff;
  color: #667085;
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1;
}

.ffc-pp-step.is-complete > span {
  border-color: var(--ffc-green);
  background: var(--ffc-green);
  color: #fff;
}

.ffc-pp-step.is-action > span {
  border-color: var(--ffc-red);
  background: var(--ffc-red);
  color: #fff;
}

.ffc-pp-step.is-review > span,
.ffc-pp-step.is-waiting > span {
  border-color: #fdb022;
  background: #fdb022;
  color: #4e2c00;
}

.ffc-pp-step.is-na > span {
  border-color: var(--ffc-blue);
  background: var(--ffc-blue);
  color: #fff;
}

.ffc-pp-step:hover,
.ffc-pp-step:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 13px 28px rgba(28, 20, 49, .13);
}

.ffc-pp-card {
  min-height: clamp(340px, 42vw, 520px);
  overflow: hidden;
  color: #fff;
  border-color: rgba(215, 161, 59, .52);
  background-color: #171526;
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  box-shadow: 0 20px 55px rgba(23, 21, 38, .22);
}

.ffc-pp-card .ffc-pp-kicker {
  color: #f0c76d;
}

.ffc-pp-card h2,
.ffc-pp-card > p,
.ffc-pp-card .ffc-pp-bio,
.ffc-pp-card .ffc-pp-copy,
.ffc-pp-card .ffc-pp-form,
.ffc-pp-card .ffc-pp-ack,
.ffc-pp-card .ffc-pp-logistics,
.ffc-pp-card .ffc-pp-headshot,
.ffc-pp-card .ffc-pp-complete,
.ffc-pp-card .ffc-pp-button {
  position: relative;
  max-width: 64%;
}

.ffc-pp-card .ffc-pp-owner,
.ffc-pp-card .ffc-pp-empty,
.ffc-pp-card .ffc-pp-copy,
.ffc-pp-card .ffc-pp-form,
.ffc-pp-card .ffc-pp-bio,
.ffc-pp-card .ffc-pp-logistics div {
  color: #f7f1e7;
}

.ffc-pp-card .ffc-pp-bio,
.ffc-pp-card .ffc-pp-copy,
.ffc-pp-card .ffc-pp-form,
.ffc-pp-card .ffc-pp-logistics div,
.ffc-pp-card > .ffc-pp-empty {
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 15px;
  background: rgba(17, 14, 30, .72);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

.ffc-pp-card .ffc-pp-bio,
.ffc-pp-card .ffc-pp-copy,
.ffc-pp-card .ffc-pp-form,
.ffc-pp-card > .ffc-pp-empty {
  padding: 18px 20px;
}

.ffc-pp-card .ffc-pp-bio {
  margin-top: 12px;
  border-top-color: rgba(255, 255, 255, .14);
}

.ffc-pp-card .ffc-pp-form input,
.ffc-pp-card .ffc-pp-form textarea {
  background: rgba(255, 255, 255, .97);
  color: #171526;
}

.ffc-pp-card .ffc-pp-form small,
.ffc-pp-card .ffc-pp-logistics dt {
  color: #dfd7e8;
}

.ffc-pp-card .ffc-pp-logistics div {
  background: rgba(17, 14, 30, .74);
}

#ffc-pp-profile {
  background-image:
    linear-gradient(90deg, rgba(14, 12, 27, .98) 0%, rgba(23, 21, 38, .91) 47%, rgba(23, 21, 38, .54) 72%, rgba(23, 21, 38, .22) 100%),
    url("https://airtists.io/wp-content/uploads/2026/08/01-invitation-profile.webp");
}

#ffc-pp-headshot {
  background-image:
    linear-gradient(90deg, rgba(14, 12, 27, .98) 0%, rgba(23, 21, 38, .91) 47%, rgba(23, 21, 38, .54) 72%, rgba(23, 21, 38, .22) 100%),
    url("https://airtists.io/wp-content/uploads/2026/08/02-outfit-selection.webp");
}

#ffc-pp-waiver {
  background-image:
    linear-gradient(90deg, rgba(14, 12, 27, .98) 0%, rgba(23, 21, 38, .91) 47%, rgba(23, 21, 38, .54) 72%, rgba(23, 21, 38, .22) 100%),
    url("https://airtists.io/wp-content/uploads/2026/08/03-limo-arrival.webp");
}

#ffc-pp-promotion {
  background-image:
    linear-gradient(90deg, rgba(14, 12, 27, .98) 0%, rgba(23, 21, 38, .91) 47%, rgba(23, 21, 38, .54) 72%, rgba(23, 21, 38, .22) 100%),
    url("https://airtists.io/wp-content/uploads/2026/08/04-red-carpet.webp");
}

#ffc-pp-briefing {
  background-image:
    linear-gradient(90deg, rgba(14, 12, 27, .98) 0%, rgba(23, 21, 38, .91) 47%, rgba(23, 21, 38, .54) 72%, rgba(23, 21, 38, .22) 100%),
    url("https://airtists.io/wp-content/uploads/2026/08/05-press-interview.webp");
}

#ffc-pp-logistics {
  background-image:
    linear-gradient(90deg, rgba(14, 12, 27, .98) 0%, rgba(23, 21, 38, .91) 47%, rgba(23, 21, 38, .54) 72%, rgba(23, 21, 38, .22) 100%),
    url("https://airtists.io/wp-content/uploads/2026/08/06-theatre-ride-home.webp");
}

@media (max-width: 800px) {
  .ffc-pp-card {
    min-height: 420px;
    background-position: 64% center;
  }

  #ffc-pp-profile,
  #ffc-pp-headshot,
  #ffc-pp-waiver,
  #ffc-pp-promotion,
  #ffc-pp-briefing,
  #ffc-pp-logistics {
    background-image:
      linear-gradient(180deg, rgba(14, 12, 27, .98) 0%, rgba(23, 21, 38, .91) 62%, rgba(23, 21, 38, .58) 100%),
      var(--ffc-pp-scene);
  }

  #ffc-pp-profile { --ffc-pp-scene: url("https://airtists.io/wp-content/uploads/2026/08/01-invitation-profile.webp"); }
  #ffc-pp-headshot { --ffc-pp-scene: url("https://airtists.io/wp-content/uploads/2026/08/02-outfit-selection.webp"); }
  #ffc-pp-waiver { --ffc-pp-scene: url("https://airtists.io/wp-content/uploads/2026/08/03-limo-arrival.webp"); }
  #ffc-pp-promotion { --ffc-pp-scene: url("https://airtists.io/wp-content/uploads/2026/08/04-red-carpet.webp"); }
  #ffc-pp-briefing { --ffc-pp-scene: url("https://airtists.io/wp-content/uploads/2026/08/05-press-interview.webp"); }
  #ffc-pp-logistics { --ffc-pp-scene: url("https://airtists.io/wp-content/uploads/2026/08/06-theatre-ride-home.webp"); }

  .ffc-pp-card h2,
  .ffc-pp-card > p,
  .ffc-pp-card .ffc-pp-bio,
  .ffc-pp-card .ffc-pp-copy,
  .ffc-pp-card .ffc-pp-form,
  .ffc-pp-card .ffc-pp-ack,
  .ffc-pp-card .ffc-pp-logistics,
  .ffc-pp-card .ffc-pp-headshot,
  .ffc-pp-card .ffc-pp-complete,
  .ffc-pp-card .ffc-pp-button {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ffc-pp-step {
    transition: none;
  }
}

/* Readability and section-map refinement. */
body.page-id-592 .entry-title {
  color: #fff !important;
  text-shadow: 0 3px 24px rgba(0, 0, 0, .88);
}

.ffc-pp-hero h1,
.ffc-pp-hero > div > p:not(.ffc-pp-kicker) {
  color: #fff !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .48);
}

.ffc-pp-hero .ffc-pp-kicker {
  color: #f6d58d !important;
}

.ffc-pp-roadmap {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  overflow: visible;
}

.ffc-pp-step {
  position: relative;
  isolation: isolate;
  align-content: space-between;
  min-width: 0;
  min-height: 154px;
  overflow: hidden;
  border-color: rgba(255, 255, 255, .18);
  background-color: #171526;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff !important;
}

.ffc-pp-step::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(15, 12, 27, .5), rgba(15, 12, 27, .94));
}

.ffc-pp-step > strong,
.ffc-pp-step > small {
  position: relative;
  z-index: 1;
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .9);
}

.ffc-pp-step > strong {
  font-size: .96rem;
  line-height: 1.25;
}

.ffc-pp-step > small {
  color: #f1e9dc !important;
}

.ffc-pp-step[href="#ffc-pp-profile"] {
  background-image: url("https://airtists.io/wp-content/uploads/2026/08/01-invitation-profile.webp");
}

.ffc-pp-step[href="#ffc-pp-headshot"] {
  background-image: url("https://airtists.io/wp-content/uploads/2026/08/02-outfit-selection.webp");
}

.ffc-pp-step[href="#ffc-pp-waiver"] {
  background-image: url("https://airtists.io/wp-content/uploads/2026/08/03-limo-arrival.webp");
}

.ffc-pp-step[href="#ffc-pp-promotion"] {
  background-image: url("https://airtists.io/wp-content/uploads/2026/08/04-red-carpet.webp");
}

.ffc-pp-step[href="#ffc-pp-briefing"] {
  background-image: url("https://airtists.io/wp-content/uploads/2026/08/05-press-interview.webp");
}

.ffc-pp-step[href="#ffc-pp-logistics"] {
  background-image: url("https://airtists.io/wp-content/uploads/2026/08/06-theatre-ride-home.webp");
}

.ffc-pp-card h2,
.ffc-pp-card h3,
.ffc-pp-card p,
.ffc-pp-card li,
.ffc-pp-card label,
.ffc-pp-card dt,
.ffc-pp-card dd,
.ffc-pp-card strong {
  color: #fff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .78);
}

.ffc-pp-card .ffc-pp-kicker,
.ffc-pp-card .ffc-pp-kicker strong {
  color: #f6d58d !important;
}

.ffc-pp-card input,
.ffc-pp-card textarea {
  color: #171526 !important;
  text-shadow: none;
}

@media (max-width: 900px) {
  .ffc-pp-roadmap {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .ffc-pp-roadmap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ffc-pp-step {
    min-height: 142px;
  }
}

/* Participant Hub 0.2: approvals, manager view, promotion choices, and guest care. */
.ffc-pp-roadmap {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.ffc-pp-step[href="#ffc-pp-guests"] {
  background-image:
    linear-gradient(160deg, rgba(96, 67, 168, .35), rgba(23, 21, 38, .9)),
    radial-gradient(circle at top right, rgba(215, 161, 59, .72), transparent 50%);
}

#ffc-pp-guests {
  background-image:
    radial-gradient(circle at 85% 20%, rgba(215, 161, 59, .28), transparent 34%),
    linear-gradient(135deg, #171526 0%, #321946 56%, #5a2134 100%);
}

#ffc-pp-press {
  background-image:
    linear-gradient(135deg, rgba(8, 20, 42, .94), rgba(16, 55, 88, .91)),
    radial-gradient(circle at 82% 18%, rgba(215, 161, 59, .34), transparent 38%);
}

.ffc-pp-current-response {
  color: #f6d58d;
}

.ffc-pp-toolkit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 22px 0;
}

.ffc-pp-toolkit-item {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 16px;
  background: rgba(8, 17, 31, .78);
}

.ffc-pp-toolkit-preview {
  display: block;
  aspect-ratio: 4 / 3;
  background: #09111f;
}

.ffc-pp-toolkit-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ffc-pp-toolkit-item-copy {
  padding: 16px;
}

.ffc-pp-toolkit-item-copy h3,
.ffc-pp-caption-kit h3 {
  color: #fff;
}

.ffc-pp-toolkit-item-copy p {
  margin: 7px 0;
  color: rgba(255, 255, 255, .88);
}

.ffc-pp-toolkit-variants {
  display: grid;
  gap: 12px;
}

.ffc-pp-toolkit-variant {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 12px;
  background: rgba(255, 255, 255, .06);
}

.ffc-pp-toolkit-variant strong,
.ffc-pp-toolkit-variant span,
.ffc-pp-toolkit-variant small {
  color: #fff !important;
}

.ffc-pp-toolkit-variant small {
  opacity: .82;
}

.ffc-pp-toolkit-variant .ffc-pp-button {
  justify-self: start;
  margin-top: 4px;
}

.ffc-pp-caption-kit {
  margin: 28px 0;
  padding: 18px;
  border: 1px solid rgba(215, 161, 59, .38);
  border-radius: 16px;
  background: rgba(8, 17, 31, .72);
}

.ffc-pp-caption-kit,
.ffc-pp-caption-kit h3,
.ffc-pp-caption-kit p,
.ffc-pp-caption-kit label {
  color: #fff !important;
}

.ffc-pp-caption-kit textarea[readonly] {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
  background: #050a12 !important;
  border-color: rgba(255, 255, 255, .36) !important;
  cursor: text;
}

.ffc-pp-promotion-request {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, .2);
}

@media (max-width: 720px) {
  .ffc-pp-toolkit-grid {
    grid-template-columns: 1fr;
  }
}

.ffc-pp-form fieldset {
  box-sizing: border-box;
  margin: 20px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 14px;
  background: rgba(17, 14, 30, .72);
}

.ffc-pp-form legend {
  padding: 0 8px;
  color: #fff;
  font-weight: 800;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .78);
}

.ffc-pp-form label.ffc-pp-choice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 10px 0;
  color: #fff !important;
  font-weight: 650;
}

.ffc-pp-form .ffc-pp-choice input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  padding: 0;
}

.ffc-pp-field-help {
  margin: 0 0 14px;
  color: rgba(255, 255, 255, .86);
}

.ffc-pp-event-grid,
.ffc-pp-event-row {
  display: grid;
  grid-template-columns: minmax(105px, .65fr) minmax(210px, 1.55fr) minmax(175px, 1fr);
  gap: 14px;
  align-items: center;
}

.ffc-pp-event-grid--header {
  padding: 0 14px 8px;
  color: #f6d58d;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.ffc-pp-form label.ffc-pp-event-row {
  gap: 14px;
  margin: 0 0 8px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 12px;
  background: rgba(255, 255, 255, .07);
  color: #fff !important;
  line-height: 1.3;
  cursor: pointer;
}

.ffc-pp-form label.ffc-pp-event-row:has(input:checked) {
  border-color: #f1c75b;
  background: rgba(215, 161, 59, .2);
}

.ffc-pp-event-date {
  display: grid;
  grid-template-rows: auto auto auto;
  align-content: center;
  justify-items: center;
  min-height: 58px;
  color: #f6d58d;
  font-weight: 800;
  font-style: normal;
  line-height: 1;
  text-align: center;
}

.ffc-pp-event-date-month,
.ffc-pp-event-date-weekday {
  color: #f6d58d;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .13em;
}

.ffc-pp-event-date-day {
  margin: 2px 0;
  color: #fff;
  font-size: 1.7rem;
  font-weight: 900;
  line-height: .9;
}

.ffc-pp-event-name {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.ffc-pp-event-name input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
}

.ffc-pp-event-when {
  display: grid;
  gap: 3px;
}

.ffc-pp-event-when small {
  color: #e7dfec !important;
}

/* Keep the private hub focused: remove Bravada's full-screen page-title hero
 * only on the Participant Hub, while retaining a compact navigation bar. */
body.page-id-592 #header-image-main {
  display: none !important;
}

body.page-id-592 #masthead {
  min-height: 0 !important;
  height: auto !important;
  background: #fbfaf7 !important;
}

body.page-id-592 #site-header-main {
  position: relative !important;
  inset: auto !important;
  background: #fbfaf7 !important;
  box-shadow: 0 1px 0 rgba(23, 21, 38, .1);
}

body.page-id-592 #site-header-main a,
body.page-id-592 #site-header-main .menu-search-animated,
body.page-id-592 #site-header-main .hamburger,
body.page-id-592 #site-header-main .hamburger::before,
body.page-id-592 #site-header-main .hamburger::after,
body.page-id-592 #site-header-main .hamburger span {
  color: #171526 !important;
  border-color: #153a68 !important;
  text-shadow: none !important;
}

body.page-id-592 #site-header-main .hamburger span {
  background-color: #153a68 !important;
}

body.page-id-592 #content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-id-592 .ffc-pp-shell,
body.page-id-592 .ffc-pp-login {
  padding-top: 24px;
}

@media (max-width: 720px) {
  .ffc-pp-event-grid--header {
    display: none;
  }

  .ffc-pp-event-row,
  .ffc-pp-event-grid {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .ffc-pp-form label.ffc-pp-event-row {
    gap: 7px;
  }

  .ffc-pp-event-name {
    grid-row: 1;
  }

  .ffc-pp-event-date {
    padding-left: 27px;
  }

  .ffc-pp-event-when {
    padding-left: 27px;
  }
}

.ffc-pp-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ffc-pp-button--secondary,
.ffc-pp-form button.ffc-pp-button--secondary {
  border: 1px solid rgba(255, 255, 255, .55);
  background: #fff;
  color: #171526 !important;
}

.ffc-pp-manager-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ffc-pp-manager-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--ffc-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 35px rgba(28, 20, 49, .09);
}

.ffc-pp-manager-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  color: var(--ffc-ink);
}

.ffc-pp-manager-table th,
.ffc-pp-manager-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--ffc-line);
  text-align: left;
  vertical-align: top;
}

.ffc-pp-manager-table th {
  background: #f3eefb;
  color: #37245f;
  font-size: .78rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.ffc-pp-manager-table tr:last-child td {
  border-bottom: 0;
}

.ffc-pp-professional-title p {
  font-size: 1.15rem;
  font-weight: 800;
}

.ffc-pp-bio p {
  line-height: 1.7;
}

@media (max-width: 1050px) {
  .ffc-pp-roadmap {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .ffc-pp-roadmap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ffc-pp-form-actions,
  .ffc-pp-manager-actions {
    display: grid;
  }
}

/* Participant Hub 0.3: compact mobile flow and simplified promotion CTAs. */
.ffc-pp-bio > summary,
.ffc-pp-caption-item > summary,
.ffc-pp-promotion-request > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  font-weight: 800;
  list-style: none;
}

.ffc-pp-bio > summary::-webkit-details-marker,
.ffc-pp-caption-item > summary::-webkit-details-marker,
.ffc-pp-promotion-request > summary::-webkit-details-marker {
  display: none;
}

.ffc-pp-bio > summary::after,
.ffc-pp-caption-item > summary::after,
.ffc-pp-promotion-request > summary::after {
  content: "+";
  flex: 0 0 auto;
  color: #f6d58d;
  font-size: 1.35rem;
  line-height: 1;
}

.ffc-pp-bio[open] > summary::after,
.ffc-pp-caption-item[open] > summary::after,
.ffc-pp-promotion-request[open] > summary::after {
  content: "−";
}

.ffc-pp-bio > summary h3 {
  margin: 0;
}

.ffc-pp-bio > summary span {
  margin-left: auto;
  color: #f6d58d !important;
  font-size: .8rem;
  font-weight: 800;
  text-transform: uppercase;
}

.ffc-pp-bio[open] > summary {
  margin-bottom: 12px;
}

.ffc-pp-toolkit-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.ffc-pp-toolkit-preview {
  aspect-ratio: 1 / 1;
}

.ffc-pp-toolkit-item-copy {
  padding: 14px;
}

.ffc-pp-toolkit-item-copy h3 {
  margin: 0 0 12px;
}

.ffc-pp-toolkit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ffc-pp-toolkit-download {
  padding: 9px 12px !important;
  font-size: .82rem;
  line-height: 1.15;
}

.ffc-pp-caption-kit {
  display: grid;
  gap: 10px;
  margin: 20px 0;
  padding: 15px;
}

.ffc-pp-caption-kit h3,
.ffc-pp-caption-kit > p {
  margin: 0;
}

.ffc-pp-caption-item {
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 11px;
  background: rgba(255, 255, 255, .06);
}

.ffc-pp-caption-item > summary {
  padding: 12px 14px;
  color: #fff;
}

.ffc-pp-caption-item textarea[readonly] {
  width: calc(100% - 24px);
  margin: 0 12px 12px;
}

.ffc-pp-promotion-request {
  margin-top: 22px;
  padding-top: 0;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 14px;
  background: rgba(8, 17, 31, .7);
}

.ffc-pp-promotion-request > summary {
  padding: 14px 16px;
  color: #fff;
}

.ffc-pp-promotion-request__body {
  padding: 0 16px 16px;
}

@media (max-width: 900px) {
  .ffc-pp-toolkit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  body.page-id-592 .ffc-pp-shell {
    padding: 18px 9px 48px;
  }

  .ffc-pp-hero {
    gap: 14px;
    margin-bottom: 18px;
  }

  .ffc-pp-roadmap {
    display: flex;
    gap: 9px;
    margin: 18px 0 24px;
    padding: 0 0 8px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .ffc-pp-step {
    flex: 0 0 126px;
    min-width: 126px;
    min-height: 94px;
    padding: 11px;
    scroll-snap-align: start;
  }

  .ffc-pp-step > span {
    font-size: 1rem;
  }

  .ffc-pp-step > strong {
    font-size: .8rem;
  }

  .ffc-pp-step > small {
    font-size: .7rem;
  }

  .ffc-pp-card {
    min-height: 0 !important;
    margin: 14px 0;
    padding: 20px 16px;
    border-radius: 16px;
    background-position: center;
  }

  .ffc-pp-card h2 {
    font-size: clamp(1.35rem, 7vw, 1.75rem);
  }

  .ffc-pp-card .ffc-pp-bio,
  .ffc-pp-card .ffc-pp-copy,
  .ffc-pp-card .ffc-pp-form,
  .ffc-pp-card > .ffc-pp-empty {
    padding: 14px;
  }

  .ffc-pp-card .ffc-pp-headshot {
    width: 190px;
    max-width: 190px;
    aspect-ratio: 4 / 3;
    border-radius: 13px;
  }

  .ffc-pp-toolkit-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 16px 0;
  }

  .ffc-pp-toolkit-item {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
  }

  .ffc-pp-toolkit-preview {
    aspect-ratio: auto;
    min-height: 132px;
    max-height: 160px;
  }

  .ffc-pp-toolkit-item-copy {
    padding: 12px;
  }

  .ffc-pp-toolkit-item-copy h3 {
    margin-bottom: 9px;
    font-size: .92rem;
  }

  .ffc-pp-toolkit-actions {
    gap: 6px;
  }

  .ffc-pp-toolkit-download {
    padding: 8px 9px !important;
    font-size: .72rem;
  }

  .ffc-pp-toolkit-intro {
    font-size: .92rem;
  }

  .ffc-pp-caption-kit {
    margin: 16px 0;
  }

  .ffc-pp-caption-item textarea[readonly] {
    max-height: 170px;
    font-size: .86rem;
  }

  .ffc-pp-form-actions,
  .ffc-pp-manager-actions {
    display: grid;
  }
}

@media (max-width: 390px) {
  .ffc-pp-toolkit-item {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .ffc-pp-toolkit-preview {
    min-height: 118px;
  }
}

/* Participant Hub 0.3.1: paired primary/alternate downloads. */
.ffc-pp-toolkit-formats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ffc-pp-toolkit-formats.is-single {
  grid-template-columns: minmax(0, 1fr);
}

.ffc-pp-toolkit-format {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 12px;
  background: rgba(255, 255, 255, .055);
}

.ffc-pp-toolkit-primary {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #050a12;
}

.ffc-pp-toolkit-format--story .ffc-pp-toolkit-primary,
.ffc-pp-toolkit-format--other .ffc-pp-toolkit-primary {
  aspect-ratio: 4 / 5;
}

.ffc-pp-toolkit-primary img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ffc-pp-toolkit-primary > span {
  position: absolute;
  left: 7px;
  bottom: 7px;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(5, 10, 18, .88);
  color: #fff;
  font-size: .66rem;
  font-weight: 800;
  text-transform: uppercase;
}

.ffc-pp-toolkit-format-actions {
  display: grid;
  gap: 7px;
  padding: 9px;
}

.ffc-pp-toolkit-format-actions .ffc-pp-toolkit-download {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}

.ffc-pp-toolkit-alt {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 38px;
  padding: 5px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 9px;
  background: rgba(255, 255, 255, .08);
  color: #fff !important;
  font-size: .74rem;
  font-weight: 800;
  line-height: 1.15;
  text-decoration: none;
}

.ffc-pp-toolkit-alt img {
  width: 38px;
  height: 38px;
  border-radius: 6px;
  background: #050a12;
  object-fit: cover;
}

/* Participant Hub 0.3.4: one unified Promotion Toolkit, without a second card section. */
.ffc-pp-toolkit-panel {
  overflow: hidden;
  margin: 16px 0;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 16px;
  background: rgba(8, 17, 31, .78);
}

.ffc-pp-toolkit-section + .ffc-pp-toolkit-section {
  border-top: 1px solid rgba(255, 255, 255, .18);
}

.ffc-pp-toolkit-collections.has-multiple {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ffc-pp-toolkit-collection > h4 {
  margin: 0 0 8px;
  color: #f6d58d;
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Participant Hub 0.3.8: brighter toolkit labels without altering artwork. */
.ffc-pp-toolkit-section.is-speaker .ffc-pp-toolkit-collection > h4 {
  color: #fff !important;
  font-size: .88rem;
  font-weight: 900;
  letter-spacing: .075em;
  opacity: 1;
  text-shadow: 0 1px 12px rgba(246, 213, 141, .36), 0 2px 8px rgba(0, 0, 0, .82);
}

.ffc-pp-guest-basics {
  display: grid;
  grid-template-columns: 104px minmax(220px, 1fr);
  gap: 0 14px;
  align-items: start;
}

.ffc-pp-guest-basics label {
  grid-template-rows: minmax(2.35em, auto) 48px auto;
  margin: 8px 0 0;
}

.ffc-pp-forum-guest-fieldset {
  margin: 18px 0 14px !important;
  border: 2px solid rgba(246, 213, 141, .72) !important;
  background: rgba(38, 29, 18, .72) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05);
}

.ffc-pp-vip-fieldset {
  margin-top: 18px !important;
  border-color: rgba(255, 255, 255, .3) !important;
}

.ffc-pp-guest-names {
  grid-column: auto;
}

.ffc-pp-guest-count input[type="number"] {
  width: 76px;
  min-height: 48px;
  height: 48px;
  color: #171526;
  font-size: 1.25rem;
  font-weight: 900;
  text-align: center;
}

.ffc-pp-guest-names textarea {
  min-height: 48px;
  height: 48px;
  resize: vertical;
}

.ffc-pp-care-details {
  margin: 14px 0;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 12px;
  background: rgba(8, 17, 31, .68);
}

.ffc-pp-care-details > summary {
  padding: 12px 14px;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.ffc-pp-care-details .ffc-pp-care-grid {
  padding: 0 14px 10px;
}

.ffc-pp-care-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 14px;
}

.ffc-pp-care-grid textarea {
  min-height: 42px !important;
  height: 42px;
  padding-top: 9px;
  padding-bottom: 9px;
  resize: vertical;
}

@media (max-width: 720px) {
	.ffc-pp-toolkit-collections.has-multiple {
		grid-template-columns: 1fr;
	}

	.ffc-pp-guest-basics {
		grid-template-columns: 82px minmax(0, 1fr);
		gap: 0 9px;
	}

	.ffc-pp-guest-basics label {
		margin: 8px 0;
		font-size: .78rem;
	}

	.ffc-pp-guest-basics input,
	.ffc-pp-guest-basics textarea {
		padding: 9px;
	}

	.ffc-pp-guest-count small {
		font-size: .66rem;
	}

	.ffc-pp-guest-count input[type="number"] {
		width: 62px;
	}

	.ffc-pp-guest-names textarea {
		min-height: 48px;
		height: 48px;
		resize: vertical;
	}

	.ffc-pp-event-fieldset {
		margin: 12px 0 !important;
		padding: 10px !important;
	}

	.ffc-pp-forum-guest-fieldset {
		margin: 12px 0 !important;
		padding: 10px !important;
	}

	.ffc-pp-event-fieldset .ffc-pp-field-help {
		margin-bottom: 9px;
		font-size: .74rem;
		line-height: 1.3;
	}

	.ffc-pp-event-row,
	.ffc-pp-event-grid {
		grid-template-columns: 62px minmax(0, 1.35fr) minmax(78px, .9fr);
		gap: 7px;
	}

	.ffc-pp-form label.ffc-pp-event-row {
		gap: 7px;
		margin-bottom: 6px;
		padding: 8px;
		font-size: .72rem;
		line-height: 1.18;
	}

	.ffc-pp-event-name {
		grid-row: auto;
		gap: 5px;
	}

	.ffc-pp-event-date,
	.ffc-pp-event-when {
		padding-left: 0;
	}

	.ffc-pp-event-date {
		min-height: 54px;
	}

	.ffc-pp-event-date-day {
		font-size: 1.65rem;
	}

	.ffc-pp-event-name input[type="checkbox"] {
		width: 15px;
		height: 15px;
	}

	.ffc-pp-care-details {
		margin: 10px 0;
	}

	.ffc-pp-care-details > summary {
		padding: 10px 12px;
		font-size: .78rem;
	}

  .ffc-pp-toolkit-item {
    display: block;
  }

  .ffc-pp-toolkit-item-copy {
    padding: 11px;
  }

  .ffc-pp-toolkit-formats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .ffc-pp-toolkit-primary,
  .ffc-pp-toolkit-format--story .ffc-pp-toolkit-primary,
  .ffc-pp-toolkit-format--other .ffc-pp-toolkit-primary {
    min-height: 0;
    max-height: 170px;
  }

  .ffc-pp-toolkit-format-actions {
    padding: 7px;
  }

  .ffc-pp-toolkit-alt {
    grid-template-columns: 32px minmax(0, 1fr);
    min-height: 32px;
    font-size: .68rem;
  }

  .ffc-pp-toolkit-alt img {
    width: 32px;
    height: 32px;
  }

  .ffc-pp-care-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .ffc-pp-care-grid textarea {
    min-height: 42px !important;
    height: 42px;
  }
}

/* Keep the 0.4.1 workflow layer authoritative after legacy responsive rules. */
.ffc-pp-roadmap.has-8 { grid-template-columns: repeat(8, minmax(118px, 1fr)); }
.ffc-pp-roadmap.has-7 { grid-template-columns: repeat(7, minmax(118px, 1fr)); }
.ffc-pp-section-status { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 22px;padding:12px;border-radius:14px;background:rgba(8,17,31,.93);color:#fff; }
.ffc-pp-section-status div { min-width:0;padding:5px 8px; }
.ffc-pp-section-status span { display:block;margin-bottom:4px;color:#f4bd52;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }
.ffc-pp-section-status strong { display:block;color:#fff;font-size:.82rem;line-height:1.35; }

@media (max-width:1050px) {
  .ffc-pp-roadmap.has-8,
  .ffc-pp-roadmap.has-7 { grid-template-columns:repeat(4,minmax(130px,1fr)); }
}

@media (max-width:720px) {
  .ffc-pp-roadmap.has-8,
  .ffc-pp-roadmap.has-7 { display:flex;overflow-x:auto;gap:8px; }
  .ffc-pp-section-status { grid-template-columns:1fr;gap:2px;padding:9px; }
  .ffc-pp-next-action { display:block;padding:18px; }
  .ffc-pp-guest-request-summary { grid-template-columns:1fr 1fr;gap:7px; }
}

/* 0.4.2: compact participant guidance on phones. */
@media (max-width:720px) {
  .ffc-pp-next-action {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    margin:10px 0 14px;
    padding:12px 13px;
    border-radius:13px;
  }

  .ffc-pp-next-action h2 {
    margin:2px 0;
    font-size:1.08rem;
    line-height:1.15;
  }

  .ffc-pp-next-action p:not(.ffc-pp-kicker):not(.ffc-pp-progress-summary) {
    margin:2px 0 0;
    font-size:.75rem;
    line-height:1.25;
  }

  .ffc-pp-next-action .ffc-pp-kicker {
    font-size:.58rem;
  }

  .ffc-pp-progress-summary {
    display:none;
  }

  .ffc-pp-next-action .ffc-pp-button {
    margin:0;
    padding:9px 11px;
    font-size:.7rem;
    white-space:nowrap;
  }

  .ffc-pp-section-status {
    grid-template-columns:82px minmax(0,1fr);
    gap:4px;
    margin:8px 0 12px;
    padding:7px;
    border-radius:10px;
  }

  .ffc-pp-section-status div {
    padding:3px 5px;
  }

  .ffc-pp-section-status div:nth-child(3) {
    display:none;
  }

  .ffc-pp-section-status span {
    margin-bottom:2px;
    font-size:.56rem;
  }

  .ffc-pp-section-status strong {
    font-size:.7rem;
    line-height:1.2;
  }

  .ffc-pp-inline-success {
    margin:-4px 0 10px;
    padding:7px 9px;
    font-size:.72rem;
  }

  .ffc-pp-press-form fieldset {
    margin:8px 0;
    padding:8px 10px;
  }

  .ffc-pp-press-form .ffc-pp-choice {
    margin:7px 0;
    font-size:.78rem;
  }

  .ffc-pp-current-response,
  .ffc-pp-press-form .ffc-pp-field-help {
    margin:7px 0;
    font-size:.7rem;
  }
}

/* 0.4.8: keep the participant next-action copy legible over its dark card. */
.ffc-pp-shell .ffc-pp-next-action,
.ffc-pp-shell .ffc-pp-next-action h2,
.ffc-pp-shell .ffc-pp-next-action p,
.ffc-pp-shell .ffc-pp-next-action strong {
  color:#fff !important;
}

.ffc-pp-shell .ffc-pp-next-action .ffc-pp-kicker {
  color:#f4bd52 !important;
}

.ffc-pp-shell .ffc-pp-next-action .ffc-pp-progress-summary {
  color:rgba(255,255,255,.86) !important;
}

/* 0.4.3: completed work collapses into compact expandable cards. */
.ffc-pp-flow-section {
  display:block;
  padding:0;
  overflow:hidden;
}

.ffc-pp-flow-section > summary {
  list-style:none;
}

.ffc-pp-flow-section > summary::-webkit-details-marker {
  display:none;
}

.ffc-pp-flow-section__summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:clamp(18px,3vw,27px) clamp(20px,4vw,38px);
  background:rgba(8,17,31,.94);
  color:#fff;
  cursor:pointer;
}

.ffc-pp-flow-section__summary strong {
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:clamp(1.05rem,2.2vw,1.45rem);
  line-height:1.2;
}

.ffc-pp-flow-section__summary .ffc-pp-kicker {
  display:block;
  margin:0;
  color:#f4bd52;
}

.ffc-pp-flow-section__toggle {
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.75);
  border-radius:50%;
  color:#fff;
  font-size:1.65rem;
  font-weight:700;
  line-height:1;
}

.ffc-pp-flow-section__toggle::before {
  content:'+';
  transform:translateY(-1px);
}

.ffc-pp-flow-section[open] .ffc-pp-flow-section__toggle::before {
  content:'−';
}

.ffc-pp-flow-section[open] .ffc-pp-flow-section__summary {
  border-bottom:1px solid rgba(215,161,59,.35);
}

.ffc-pp-flow-section__body {
  padding:clamp(20px,4vw,38px);
}

.ffc-pp-flow-section.is-complete:not([open]) {
  margin-top:12px;
  margin-bottom:12px;
  box-shadow:0 5px 18px rgba(28,20,49,.05);
}

@media (max-width:720px) {
  .ffc-pp-flow-section {
    margin:10px 0;
    border-radius:13px;
  }

  .ffc-pp-flow-section__summary {
    gap:10px;
    padding:12px 13px;
  }

  .ffc-pp-flow-section__summary strong {
    margin-top:2px;
    font-size:.9rem;
    line-height:1.15;
  }

  .ffc-pp-flow-section__summary .ffc-pp-kicker {
    font-size:.56rem;
  }

  .ffc-pp-flow-section__toggle {
    flex-basis:30px;
    width:30px;
    height:30px;
    font-size:1.3rem;
  }

  .ffc-pp-flow-section__body {
    padding:14px 12px;
  }
}

/* 0.4.4: compact press-availability control. */
.ffc-pp-form select {
  width:100%;
  box-sizing:border-box;
  border:1px solid #cfc8d7;
  border-radius:10px;
  padding:12px 40px 12px 13px;
  background:#fff;
  color:var(--ffc-ink);
  font:inherit;
}

.ffc-pp-press-form {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
  max-width:650px;
}

.ffc-pp-press-form label,
.ffc-pp-press-form button {
  margin:0;
}

.ffc-pp-press-form button {
  white-space:nowrap;
}

@media (max-width:720px) {
  .ffc-pp-press-form {
    gap:8px;
  }

  .ffc-pp-press-form select {
    padding:10px 34px 10px 11px;
  }

  .ffc-pp-press-form button {
    padding:10px 13px;
  }
}

/* 0.4.5: compact manager operations with deliberate horizontal review. */
.ffc-pp-manager-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:16px 0;
}

.ffc-pp-manager-metrics div {
  display:grid;
  gap:2px;
  padding:14px 16px;
  border:1px solid var(--ffc-line);
  border-radius:13px;
  background:#fff;
  color:var(--ffc-ink);
}

.ffc-pp-manager-metrics strong {
  font-size:1.55rem;
  line-height:1;
}

.ffc-pp-manager-metrics span {
  color:#665d72;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.ffc-pp-manager-section {
  margin:12px 0;
  border:1px solid var(--ffc-line);
  border-radius:15px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 25px rgba(28,20,49,.07);
}

.ffc-pp-manager-section > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 18px;
  cursor:pointer;
  background:#171526;
  color:#fff;
}

.ffc-pp-manager-section > summary::-webkit-details-marker {
  display:none;
}

.ffc-pp-manager-section > summary strong,
.ffc-pp-manager-section > summary small {
  display:block;
}

.ffc-pp-manager-section > summary small {
  margin-top:3px;
  color:#d9d2e4;
  line-height:1.3;
}

.ffc-pp-manager-section__toggle {
  flex:0 0 30px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.75);
  border-radius:50%;
}

.ffc-pp-manager-section__toggle::before {
  content:'+';
  font-size:1.3rem;
  line-height:1;
}

.ffc-pp-manager-section[open] .ffc-pp-manager-section__toggle::before {
  content:'−';
}

.ffc-pp-manager-section__body {
  padding:16px;
}

.ffc-pp-manager-scroll-hint {
  margin:0 0 8px;
  color:#665d72;
  font-size:.78rem;
}

.ffc-pp-manager .ffc-pp-manager-table-wrap {
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable;
}

.ffc-pp-manager .ffc-pp-manager-table {
  width:200%;
  min-width:200%;
}

.ffc-pp-manager .ffc-pp-manager-table th:first-child,
.ffc-pp-manager .ffc-pp-manager-table td:first-child {
  position:sticky;
  left:0;
  z-index:2;
  width:165px;
  min-width:165px;
  max-width:165px;
  overflow:hidden;
  background:#fff;
  box-shadow:8px 0 12px -12px rgba(28,20,49,.55);
}

.ffc-pp-manager .ffc-pp-manager-table td:first-child strong,
.ffc-pp-manager .ffc-pp-manager-table td:first-child code {
  display:block;
  max-width:145px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ffc-pp-manager .ffc-pp-manager-table thead th {
  position:sticky;
  top:0;
  z-index:3;
}

.ffc-pp-manager .ffc-pp-manager-table thead th:first-child {
  z-index:4;
  background:#f3eefb;
}

@media (max-width:720px) {
  .ffc-pp-manager-metrics {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }

  .ffc-pp-manager-metrics div {
    padding:11px 12px;
  }

  .ffc-pp-manager-section > summary,
  .ffc-pp-manager-section__body {
    padding:12px;
  }

  .ffc-pp-manager .ffc-pp-manager-table {
    min-width:1180px;
  }

  .ffc-pp-manager .ffc-pp-manager-table th:first-child,
  .ffc-pp-manager .ffc-pp-manager-table td:first-child {
    width:145px;
    min-width:145px;
    max-width:145px;
  }

  .ffc-pp-manager .ffc-pp-manager-table td:first-child strong,
  .ffc-pp-manager .ffc-pp-manager-table td:first-child code {
    max-width:125px;
  }
}

/* 0.4.9: actionable manager metrics, roster filters, and global event settings. */
.ffc-pp-manager-metrics {
  grid-template-columns:repeat(5,minmax(0,1fr));
}

.ffc-pp-manager-filters {
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(190px,auto) auto;
  gap:10px;
  align-items:end;
  margin:0 0 10px;
  padding:12px;
  border:1px solid var(--ffc-line);
  border-radius:12px;
  background:#f8f6fb;
}

.ffc-pp-manager-filters label {
  display:grid;
  gap:5px;
  color:#37245f;
  font-size:.75rem;
  font-weight:800;
}

.ffc-pp-manager-filters select,
.ffc-pp-manager-filter-reset,
.ffc-pp-event-settings input {
  box-sizing:border-box;
  min-height:42px;
  border:1px solid #cfc8d7;
  border-radius:9px;
  background:#fff;
  color:#171526;
  font:inherit;
}

.ffc-pp-manager-filters select,
.ffc-pp-event-settings input {
  width:100%;
  padding:9px 11px;
}

.ffc-pp-manager-filter-check {
  display:flex !important;
  flex-direction:row;
  align-items:center;
  min-height:42px;
  padding:0 10px;
  border:1px solid #cfc8d7;
  border-radius:9px;
  background:#fff;
}

.ffc-pp-manager-filter-check input {
  width:18px;
  height:18px;
  margin:0;
}

.ffc-pp-manager-filter-reset {
  padding:9px 14px;
  cursor:pointer;
  font-weight:800;
}

.ffc-pp-manager-filter-result {
  margin:0 0 7px;
  color:#37245f;
  font-size:.78rem;
  font-weight:800;
}

.ffc-pp-manager-table tr[hidden] {
  display:none;
}

.ffc-pp-event-settings {
  margin:0 0 18px;
  padding:16px;
  border:1px solid var(--ffc-line);
  border-radius:13px;
  background:#f8f6fb;
}

.ffc-pp-event-settings-grid {
  display:grid;
  grid-template-columns:minmax(150px,.8fr) minmax(210px,1fr) minmax(220px,1.2fr);
  gap:12px;
}

.ffc-pp-event-settings label {
  display:grid;
  gap:5px;
  color:#37245f;
  font-size:.78rem;
  font-weight:800;
}

.ffc-pp-event-settings button {
  margin-top:4px;
}

.ffc-pp-manager-settings-help {
  margin:10px 0;
  color:#665d72;
  font-size:.78rem;
}

.ffc-pp-manager .ffc-pp-manager-table {
  width:230%;
  min-width:230%;
}

@media (max-width:1050px) {
  .ffc-pp-manager-metrics {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .ffc-pp-manager-filters {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ffc-pp-event-settings-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:720px) {
  .ffc-pp-manager-metrics {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ffc-pp-manager-metrics div:last-child {
    grid-column:1 / -1;
  }

  .ffc-pp-manager-filters,
  .ffc-pp-event-settings-grid {
    grid-template-columns:1fr;
    padding:10px;
  }

  .ffc-pp-manager-filter-check,
  .ffc-pp-manager-filter-reset {
    min-height:44px;
  }

  .ffc-pp-manager .ffc-pp-manager-table {
    width:1320px;
    min-width:1320px;
  }
}
