:root {
  --luxe-paper: #ffffff;
  --luxe-ink: #25262a;
  --luxe-muted: #56585e;
  --luxe-purple: #6a4ab8;
  --luxe-smoke: #846b9b;
  --luxe-lilac: #eee5f4;
  --luxe-pink: #f7edf4;
  --luxe-blue: #f2edf7;
  --luxe-pearl: #ffffff;
  --luxe-line: #ded3df;
  --lilac-accent-ink: #543791;
  --lilac-edge: #d7cbe7;
  --lilac-hover: #e5dbea;
  --lilac-name-line: #e8d1e6;
}

body.luxe-site {
  color-scheme: light;
  --ink-2: #45414a;
  --wine-2: var(--lilac-accent-ink);
}

.contestant-directory-page,
.contestant-detail-page {
  --cp-tint: var(--luxe-pink);
}

.luxe-site .cp-card-name,
.luxe-site .cp-name {
  color: var(--luxe-purple);
}

.luxe-site .cp-card-name::after,
.luxe-site .cp-identity::after {
  content: "";
  display: block;
  width: 32px;
  height: 2px;
  margin-top: 14px;
  background: var(--lilac-name-line);
}

.luxe-site .luxe-header {
  background: var(--luxe-paper);
  border-bottom-color: var(--luxe-line);
}

.luxe-site .luxe-header .menu-button {
  border-color: var(--luxe-line);
  border-radius: 999px;
  padding-inline: 15px;
  background: var(--luxe-paper);
}

.luxe-site .luxe-header-utility .luxe-rules-shortcut {
  background: var(--luxe-lilac);
  color: var(--lilac-accent-ink);
  border: 1px solid transparent;
  border-radius: 999px;
  padding-inline: 18px;
}

.luxe-site .luxe-nav {
  background: var(--luxe-paper);
  box-shadow: 0 14px 24px #3029360a;
}

.luxe-site .luxe-nav .nav-rules-link {
  color: var(--lilac-accent-ink);
  background: var(--luxe-pink);
  border-radius: 8px;
}

.luxe-site .button,
.luxe-site a.luxe-watch {
  border-radius: 999px;
  box-shadow: none;
}

.luxe-site .button:hover {
  transform: none;
}

.luxe-site .button-primary,
.luxe-site a.luxe-watch,
.luxe-site .cp-primary-link,
.luxe-site.profiles-page .luxe-profiles-watch .button-primary {
  background: var(--luxe-purple);
  border-color: var(--luxe-purple);
  color: #fff;
}

.luxe-site .button-secondary,
.luxe-site.profiles-page .luxe-profiles-watch .button-secondary {
  border-color: var(--lilac-edge);
  color: var(--luxe-ink);
  background: transparent;
}

.luxe-site .luxe-hero {
  background: var(--luxe-paper);
}

.luxe-site .luxe-hero h1 > span:last-child {
  color: #8a6ba7;
}

.luxe-site .luxe-stage-label {
  border-radius: 999px;
  background: var(--luxe-lilac);
  color: var(--lilac-accent-ink);
  letter-spacing: .08em;
}

.luxe-site .luxe-hero-prize {
  border-color: var(--luxe-line);
  border-radius: 12px;
  background: var(--luxe-pearl);
}

.luxe-site .luxe-marquee {
  background: var(--luxe-pink);
  border-color: var(--luxe-line);
}

.luxe-site .luxe-feature-link {
  border: 1px solid var(--luxe-line);
  border-radius: 16px;
  background: var(--luxe-pink);
}

.luxe-site .luxe-rules-entry {
  border: 1px solid var(--lilac-edge);
  border-radius: 14px;
  background: var(--luxe-pink);
  color: var(--lilac-accent-ink);
}

.luxe-site .rules-index a,
.luxe-site .scene-tab {
  border-radius: 999px;
  border-color: var(--luxe-line);
}

.luxe-site .scene-tab.is-active,
.luxe-site .scene-tab[aria-selected="true"] {
  background: var(--luxe-purple);
  border-color: var(--luxe-purple);
  color: #fff;
}

.luxe-site .scene-panel,
.luxe-site .recording-first-guide,
.luxe-site .recording-beginner-guide {
  border-radius: 16px;
  background: var(--luxe-blue);
}

.luxe-site .judging-feedback,
.luxe-site .judging-feedback-note,
.luxe-site .recording-reassurance,
.luxe-site .information-archive-notice {
  background: var(--luxe-pink);
  border-radius: 12px;
}

.luxe-site .audio-deadline {
  border-radius: 12px;
  background: var(--luxe-lilac);
  color: var(--lilac-accent-ink);
}

.luxe-site .judging-expression-note {
  background: var(--luxe-pink);
  border-left-color: var(--lilac-edge);
  border-radius: 0 12px 12px 0;
}

.luxe-site .luxe-prizes {
  background: var(--luxe-lilac);
  color: var(--luxe-ink);
  border-block: 1px solid var(--luxe-line);
}

.luxe-site .luxe-prizes h2 {
  color: var(--luxe-ink);
}

.luxe-site .luxe-prizes .section-label,
.luxe-site .luxe-prize-winner > span small {
  color: var(--lilac-accent-ink);
}

.luxe-site .luxe-prizes .section-heading .luxe-prize-intro,
.luxe-site .luxe-prize-note {
  color: var(--luxe-muted);
}

.luxe-site .luxe-prize-winner,
.luxe-site .luxe-prize-runners > article {
  border-color: var(--lilac-edge);
}

.luxe-site .luxe-prize-winner > strong,
.luxe-site .luxe-prize-runners strong {
  color: var(--lilac-accent-ink);
}

.luxe-site .schedule-section,
.luxe-site .participation-note,
.luxe-site .organizer-section {
  background: var(--luxe-pearl);
}

.luxe-site.contestant-directory-page .cp-directory-section,
.luxe-site .cp-hero.section-shell,
.luxe-site.profiles-page .judge-detail-hero {
  position: relative;
  isolation: isolate;
}

.luxe-site.contestant-directory-page .cp-directory-section::before,
.luxe-site .cp-hero.section-shell::before,
.luxe-site.profiles-page .judge-detail-hero::before {
  content: "";
  position: absolute;
  inset: 0 calc(50% - 50vw);
  z-index: -1;
  background: var(--luxe-paper);
  pointer-events: none;
}

.luxe-site .cp-hero.section-shell::before,
.luxe-site.profiles-page .judge-detail-hero::before {
  background: var(--luxe-paper);
}

.luxe-site.profiles-page .profile-section-judges {
  background: var(--luxe-paper);
}

.luxe-site.profiles-page .profile-card-judge .profile-photo,
.luxe-site.profiles-page .profile-card-judge .profile-photo[data-photo-kind="icon"],
.luxe-site.profiles-page .judge-portrait,
.luxe-site.profiles-page .judge-portrait[data-photo-kind="icon"] {
  background: transparent;
}

.luxe-site .organizer-section .organizer-portrait {
  background: transparent;
}

.luxe-site .organizer-section .organizer-portrait figcaption,
.luxe-site .organizer-section .organizer-link-primary,
.luxe-site .organizer-section .organizer-link-contact {
  background: var(--luxe-lilac);
  color: var(--lilac-accent-ink);
}

.luxe-site .organizer-section .organizer-link-primary,
.luxe-site .organizer-section .organizer-link-contact {
  border: 1px solid var(--lilac-edge);
  border-radius: 12px;
}

.luxe-site .organizer-section .organizer-heading > span,
.luxe-site .organizer-section .organizer-inline-link,
.luxe-site .organizer-section .organizer-link-primary .organizer-kit-label,
.luxe-site .organizer-section .organizer-link-primary i {
  color: var(--lilac-accent-ink);
}

.luxe-site .organizer-section .organizer-link-primary small,
.luxe-site .organizer-section .organizer-lead,
.luxe-site .organizer-section .organizer-description,
.luxe-site .organizer-section .organizer-inquiry {
  color: var(--luxe-muted);
}

.luxe-site .information-title-block > .information-display-word {
  color: var(--luxe-purple);
  font-size: clamp(34px, 6vw, 66px);
  line-height: 1.1;
  letter-spacing: -.055em;
}

.luxe-site .contact-primary-panel {
  background: var(--luxe-pink);
  border-radius: 16px;
}

.luxe-site .contact-primary-action {
  border-radius: 12px;
  border-color: var(--lilac-edge);
  background: var(--luxe-paper);
  color: var(--lilac-accent-ink);
}

.luxe-site .contact-primary-action small {
  color: var(--luxe-muted);
}

.luxe-site .luxe-footer {
  background: #e9deed;
  color: var(--luxe-ink);
  border-top: 1px solid var(--luxe-line);
}

.luxe-site .luxe-footer .luxe-footer-wordmark,
.luxe-site .luxe-footer .luxe-footer-links a {
  color: var(--luxe-ink) !important;
}

.luxe-site .luxe-footer .luxe-footer-wordmark {
  color: var(--lilac-accent-ink) !important;
}

.luxe-site .luxe-footer-links {
  border-color: var(--lilac-edge);
}

.luxe-site .luxe-footer-note {
  color: var(--luxe-muted);
}

.luxe-site .button,
.luxe-site .contact-primary-action,
.luxe-site .profile-links a {
  min-height: 48px;
}

.luxe-site .luxe-hero h1 {
  max-width: none;
  text-shadow: none;
}

.luxe-site .luxe-hero h1 > span {
  white-space: nowrap;
  overflow-wrap: normal;
}

.luxe-site .luxe-program-details > summary,
.luxe-site .faq-item summary,
.luxe-site .luxe-disclosure > summary {
  min-height: 58px;
}

.luxe-site .luxe-program-details > summary > span:last-child {
  flex: none;
}

.luxe-site.profiles-page .profile-card-judge h3,
.luxe-site.profiles-page .judge-intro h1 {
  color: var(--luxe-purple);
}

.luxe-site.profiles-page .profile-links a {
  border-radius: 999px;
  padding-inline: 18px;
}

.luxe-site.profiles-page .profile-mbti {
  border-radius: 6px;
  background: var(--luxe-pink);
}

@media (max-width: 699px) {
  .luxe-site:not(.profiles-page) main > .section-shell,
  .luxe-site:not(.profiles-page) main > section > .section-shell {
    padding-block: 54px;
  }

  .luxe-site .luxe-hero-title {
    padding: 26px 20px 24px;
  }

  .luxe-site .luxe-hero-event {
    margin-inline: 20px;
    padding-block: 22px 28px;
  }

  .luxe-site .luxe-hero h1 > span:last-child {
    margin-left: .18em;
  }

  .luxe-site .luxe-hero-name {
    margin-top: 18px;
  }

  .luxe-site .luxe-feature-link {
    padding: 22px 20px;
  }

  .luxe-site .luxe-feature-link strong {
    font-size: 25px;
    line-height: 1.5;
  }

  .luxe-site .luxe-rules-entry {
    padding: 14px 16px;
  }

  .luxe-site .luxe-rules-entry strong {
    font-size: 15px;
  }

  .luxe-site .luxe-rules-entry small {
    font-size: 12px;
  }

  .luxe-site .faq-item summary {
    padding-block: 19px;
    padding-right: 30px;
    font-size: 16px;
    line-height: 1.75;
  }

  .luxe-site .faq-item p,
  .luxe-site .rules-block p,
  .luxe-site .rules-block li,
  .luxe-site .rules-progress-summary,
  .luxe-site .judging-expression-note p,
  .luxe-site .judging-feedback p,
  .luxe-site .judging-rule-grid p,
  .luxe-site .judging-rule-grid li,
  .luxe-site .score-item p,
  .luxe-site .recording-rule-group li span,
  .luxe-site .recording-details p {
    font-size: 16px;
    line-height: 1.95;
  }

  .luxe-site .purpose-card p {
    font-size: 15px;
  }

  .luxe-site .score-item {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px 12px;
    padding-block: 24px;
  }

  .luxe-site .score-item h3 {
    font-size: 20px;
    line-height: 1.6;
  }

  .luxe-site .scene-panel,
  .luxe-site .recording-first-guide,
  .luxe-site .recording-beginner-guide {
    padding: 24px 20px;
  }

  .luxe-site .judging-round-flow li {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    padding-block: 16px;
    font-size: 15px;
  }

  .luxe-site .organizer-section > .section-shell.organizer-layout {
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 12px 20px;
    align-items: center;
    padding-block: 44px;
  }

  .luxe-site .organizer-section .organizer-copy {
    display: contents;
  }

  .luxe-site .organizer-section .organizer-copy > * {
    grid-column: 1 / -1;
    grid-row: auto;
    min-width: 0;
  }

  .luxe-site .organizer-section .organizer-portrait {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 104px;
    margin: 0;
  }

  .luxe-site .organizer-section .organizer-copy > .section-label {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0;
  }

  .luxe-site .organizer-section .organizer-heading {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
  }

  .luxe-site .organizer-section .organizer-heading h2 {
    font-size: 30px;
    line-height: 1.5;
  }

  .luxe-site .organizer-section .organizer-link-primary {
    margin-top: 12px;
    padding: 18px;
  }

  .luxe-site .organizer-section .organizer-catch {
    margin-block: 12px 0;
  }

  .luxe-site .organizer-section .organizer-lead,
  .luxe-site .organizer-section .organizer-description,
  .luxe-site .organizer-section .organizer-inquiry {
    margin: 0;
    font-size: 16px;
    line-height: 1.95;
  }

  .luxe-site .information-shell {
    padding-top: 30px;
  }

  .luxe-site .information-title-block {
    gap: 16px;
  }

  .luxe-site .information-title-block > .information-display-word {
    font-size: 34px;
  }

  .luxe-site .information-index {
    grid-template-columns: minmax(0, 1fr);
    padding-block: 24px 30px;
  }

  .luxe-site .information-index a,
  .luxe-site .information-index .legal-nav-contestant {
    grid-template-columns: 22px minmax(0, 1fr) 18px;
    min-height: 56px;
    padding-block: 13px;
    gap: 10px;
    font-size: 15px;
    line-height: 1.7;
  }

  .luxe-site .information-index a > span:last-child {
    display: inline;
  }

  .luxe-site .contact-primary-panel {
    padding: 24px 20px;
    gap: 20px;
  }

  .luxe-site .contact-primary-action {
    min-height: 78px;
    padding: 16px 18px;
  }

  .luxe-site.profiles-page .profile-section-judges {
    padding-block: 54px;
  }

  .luxe-site.profiles-page .profile-card-judge .profile-photo,
  .luxe-site.profiles-page .profile-card-judge .profile-photo[data-photo-kind="icon"],
  .luxe-site.profiles-page .judge-portrait,
  .luxe-site.profiles-page .judge-portrait[data-photo-kind="icon"] {
    height: clamp(250px, 70vw, 300px);
    min-height: 0;
    padding: 36px 12px 0;
  }

  .luxe-site.profiles-page .profile-card-judge .profile-photo[data-photo-kind="icon"],
  .luxe-site.profiles-page .judge-portrait[data-photo-kind="icon"] {
    padding: 36px 12px 12px;
  }

  .luxe-site.profiles-page .profile-card-judge .profile-photo[data-photo-kind="icon"] img,
  .luxe-site.profiles-page .judge-portrait[data-photo-kind="icon"] img {
    width: min(100%, 240px);
    max-height: 248px;
  }

  .luxe-site.profiles-page .luxe-portrait-index {
    top: 10px;
    left: 0;
    font-size: 12px;
  }

  .luxe-site.profiles-page .judge-intro h1 {
    margin-top: 12px;
    font-size: clamp(34px, 9vw, 44px);
    line-height: 1.4;
  }

  .luxe-site.profiles-page .judge-detail-hero {
    gap: 22px;
    padding-bottom: 40px;
  }

  .luxe-site.profiles-page .judge-answer h3 {
    font-size: 22px;
    line-height: 1.7;
  }
}

@media (max-width: 399px) {
  .luxe-site.profiles-page .judge-toc ol {
    grid-template-columns: minmax(0, 1fr);
  }

  .luxe-site .organizer-section > .section-shell.organizer-layout {
    column-gap: 16px;
  }

  .luxe-site .organizer-section .organizer-heading h2 {
    font-size: 27px;
  }
}

@media (max-width: 649px) {
  .luxe-site .luxe-hero h1 {
    font-size: clamp(38px, 12.1vw, 60px);
    letter-spacing: -.055em;
    line-height: 1.32;
  }
}

/* Keep the two quick links with the navigation, including on small screens. */
body.luxe-site:has(.luxe-contestants-shortcut) {
  padding-bottom: 0;
}

.luxe-site .luxe-header:has(.luxe-contestants-shortcut) .luxe-header-utility {
  gap: 8px;
  min-height: 46px;
  padding-bottom: 12px;
}

.luxe-site .luxe-header:has(.luxe-contestants-shortcut) .luxe-header-utility > span {
  display: none;
}

.luxe-site .luxe-header-utility .luxe-contestants-shortcut,
.luxe-site .luxe-header:has(.luxe-contestants-shortcut) .luxe-rules-shortcut {
  display: inline-flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: auto;
  min-width: 0;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--lilac-edge);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
  white-space: nowrap;
}

.luxe-site .luxe-header-utility .luxe-contestants-shortcut {
  background: var(--luxe-purple);
  border-color: var(--luxe-purple);
  color: #fff;
}

.luxe-site .luxe-contestants-shortcut::after,
.luxe-site .luxe-header:has(.luxe-contestants-shortcut) .luxe-rules-shortcut::after {
  content: none;
}

.luxe-site .luxe-date-pair > p {
  align-self: center;
}

.luxe-site .luxe-cast-entry {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  min-height: 124px;
  padding: 12px 14px;
  border: 1px solid var(--luxe-purple);
  border-radius: 12px;
  background: var(--luxe-purple);
  color: #fff;
  text-decoration: none;
}

.luxe-site .luxe-cast-entry small {
  color: #fff;
  font-size: 10px;
  letter-spacing: .09em;
}

.luxe-site .luxe-cast-entry strong {
  margin: 3px 0 8px;
  font-size: 42px;
  line-height: 1.1;
}

.luxe-site .luxe-cast-entry-label {
  align-self: flex-start;
  padding-bottom: 2px;
  border-bottom: 1px solid #ffffff80;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.luxe-site .luxe-contestants-shortcut:hover,
.luxe-site .luxe-cast-entry:hover {
  background: var(--lilac-accent-ink);
  border-color: var(--lilac-accent-ink);
  color: #fff;
}

.luxe-site .luxe-contestants-shortcut:focus-visible,
.luxe-site .luxe-cast-entry:focus-visible {
  outline: 3px solid var(--luxe-purple);
  outline-offset: 4px;
}

@media (min-width: 650px) {
  .luxe-site .luxe-header-utility .luxe-contestants-shortcut,
  .luxe-site .luxe-header:has(.luxe-contestants-shortcut) .luxe-rules-shortcut {
    flex: none;
    padding-inline: 20px;
    font-size: 15px;
  }

  .luxe-site .luxe-cast-entry {
    min-height: 132px;
    padding-inline: 18px;
  }

  .luxe-site .luxe-cast-entry strong {
    font-size: 48px;
  }

  .luxe-site .luxe-cast-entry-label {
    font-size: 15px;
  }
}

@media (min-width: 650px) and (max-width: 899px) {
  .luxe-site .luxe-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    padding: 32px 40px 40px;
  }

  .luxe-site .luxe-hero-title {
    padding: 0;
  }

  .luxe-site .luxe-eyebrow {
    margin-bottom: 24px;
  }

  .luxe-site .luxe-hero h1 {
    font-size: clamp(48px, 8vw, 64px);
  }

  .luxe-site .luxe-hero-name {
    margin-top: 24px;
  }

  .luxe-site .luxe-hero-event {
    margin: 0;
    padding: 24px 0 0;
    border-left: 0;
    border-top: 1px solid var(--luxe-line);
  }

  .luxe-site .luxe-cast-count {
    display: flex;
  }

  .luxe-site .luxe-date-pair strong {
    font-size: 60px;
  }

  .luxe-site .luxe-cast-entry strong {
    font-size: 48px;
  }
}

@media (min-width: 900px) {
  html:has(.luxe-contestants-shortcut) {
    scroll-padding-top: 90px;
  }

  .luxe-site .luxe-header:has(.luxe-contestants-shortcut) {
    flex-wrap: nowrap;
    gap: 24px;
    padding-block: 14px;
  }

  .luxe-site .luxe-header:has(.luxe-contestants-shortcut) > .luxe-wordmark {
    order: 1;
    flex: none;
  }

  .luxe-site .luxe-header:has(.luxe-contestants-shortcut) > .luxe-header-utility {
    order: 2;
    width: auto;
    min-height: 0;
    margin: 0 0 0 auto;
    padding: 0;
  }

  .luxe-site .luxe-header:has(.luxe-contestants-shortcut) > .menu-button {
    order: 3;
    flex: none;
  }
}

@media (min-width: 900px) and (max-width: 1099px) {
  .luxe-site .luxe-header:has(.luxe-contestants-shortcut) > .luxe-wordmark > small {
    display: none;
  }
}

.luxe-site .luxe-header-utility .luxe-rules-shortcut:hover,
.luxe-site .organizer-section .organizer-link-primary:hover,
.luxe-site .organizer-section .organizer-link-contact:hover,
.luxe-site .contact-primary-action:hover {
  background: var(--lilac-hover);
  border-color: var(--lilac-edge);
  color: var(--lilac-accent-ink);
}

.luxe-site .button-primary:hover,
.luxe-site a.luxe-watch:hover,
.luxe-site .cp-primary-link:hover,
.luxe-site.profiles-page .luxe-profiles-watch .button-primary:hover {
  background: var(--lilac-accent-ink);
  border-color: var(--lilac-accent-ink);
  color: #fff;
}

@media (hover: hover) {
  .luxe-site .button-secondary:hover {
    background: var(--luxe-pink);
  }
}

@media (prefers-reduced-motion: reduce) {
  .luxe-site *,
  .luxe-site *::before,
  .luxe-site *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
