/**
 * WITNESS CULTURE structural stylesheet.
 *
 * This is an implementation scaffold based on the client-supplied visual
 * baseline. Final typography/font assets and final artwork should be integrated
 * against the live theme during the visual implementation pass.
 */

:root {
  --wc-bg: #050505;
  --wc-surface: #0b0b0b;
  --wc-text: #f4f2ed;
  --wc-muted: #bbb7b0;
  --wc-panel-heading: #d2d0ca;
  --wc-line: #393939;
  --wc-red: #e31b23;
  --wc-blue: #2c8bd6;
  --wc-yellow: #d6af17;
  --wc-max: 1440px;
  --wc-gutter: clamp(20px, 4vw, 56px);
  --wc-space: clamp(40px, 6vw, 88px);
}

.witness-culture-page {
  background: var(--wc-bg);
}

/*
 * Keep the theme-owned header visually identical to the front page. The
 * Showcase Lite custom stylesheet scopes these treatments to .path-frontpage,
 * so the module provides route-scoped equivalents without changing contrib.
 */
body.witness-culture-page .slideout-toggle--fixed {
  color: #f8f8f8;
}

body.witness-culture-page .header-container .header.region--gray-background,
body.witness-culture-page.onscroll .header.js-fixed.region--gray-background {
  background: #000;
}

body.witness-culture-page nav#block-showcase-lite-main-menu {
  margin-top: 10px;
}

body.witness-culture-page nav#block-showcase-lite-main-menu > ul.menu {
  padding: 15px 0;
}

body.witness-culture-page nav#block-showcase-lite-main-menu a {
  color: #f8f8f8;
}

body.witness-culture-page nav#block-showcase-lite-main-menu ul li:hover ul.menu {
  background: #000;
}

body.witness-culture-page .header-container nav#block-showcase-lite-main-menu ul li a[title="marketplace"] {
  border-color: #fff;
}

body.witness-culture-page nav#block-showcase-lite-main-menu a.is-active,
body.witness-culture-page nav#block-showcase-lite-main-menu a:hover {
  border-color: #fff;
}

@media all and (max-width: 767px) {
  body.witness-culture-page .header-container header {
    background: #000 !important;
  }
}

.witness-culture-page .main-content {
  padding: 0;
  background: var(--wc-bg) !important;
}

.witness-culture-page .main-content > .container,
.witness-culture-page .main-content__container {
  width: 100%;
  max-width: none;
  padding: 0;
}

.witness-culture-page .main-content .row {
  margin: 0;
}

.witness-culture-page .main-content .row > section,
.witness-culture-page .main-content__section {
  width: 100%;
  padding: 0;
}

.witness-culture-page .main-content .block-page-title-block {
  display: none;
}

.wc-landing,
.wc-confirmation {
  box-sizing: border-box;
  background: var(--wc-bg);
  color: var(--wc-text);
  font-family: Arial, Helvetica, sans-serif;
}

.wc-landing *,
.wc-confirmation * {
  box-sizing: inherit;
}

.wc-shell {
  width: min(100%, var(--wc-max));
  margin-inline: auto;
  padding-inline: var(--wc-gutter);
}

.wc-kicker,
.wc-period,
.wc-panel__title,
.wc-upcoming-card,
.wc-platform__footer,
.wc-confirmation__eyebrow,
.wc-confirmation__continues {
  letter-spacing: .12em;
  font-weight: 700;
}

.wc-kicker,
.wc-confirmation__eyebrow strong,
.wc-confirmation__title span,
.wc-confirmation__received strong,
.wc-confirmation__continues {
  color: var(--wc-red);
}

.wc-display,
.wc-panel__title {
  margin: 0;
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  line-height: .95;
}

.wc-display {
  font-size: clamp(60px, 8vw, 132px);
}

.wc-display--section {
  font-size: clamp(38px, 4.5vw, 72px);
}

.wc-display__line {
  display: block;
  white-space: nowrap;
}

.wc-rule {
  display: block;
  width: 54px;
  height: 3px;
  margin: 20px 0;
  background: var(--wc-red);
}

.wc-hero,
.wc-feature,
.wc-why,
.wc-action-panels,
.wc-upcoming,
.wc-platform {
  border-bottom: 1px solid var(--wc-line);
}

.wc-hero {
  position: relative;
  min-height: clamp(540px, 60vw, 760px);
  overflow: hidden;
  isolation: isolate;
}

.wc-hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, var(--wc-bg) 0%, transparent 58%);
  content: '';
  pointer-events: none;
}

.wc-hero__art {
  position: absolute;
  z-index: -2;
  inset: 0 0 0 30%;
  background-image: url('../images/witness-hero.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: grayscale(1) brightness(.62) contrast(1.12);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 42%, #000 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000 42%, #000 100%);
}

.wc-hero__grid,
.wc-feature__grid,
.wc-why__grid,
.wc-action-panels__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.wc-feature__grid {
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}

.wc-hero__grid {
  position: relative;
  z-index: 1;
  min-height: inherit;
}

.wc-hero__copy,
.wc-feature__copy,
.wc-why__copy {
  padding-block: var(--wc-space);
}

.wc-feature__copy {
  padding-block: clamp(34px, 4vw, 58px);
}

.wc-feature__copy .wc-kicker {
  margin: 0 0 8px;
}

.wc-feature__copy .wc-script {
  margin: 7px 0 18px;
}

.wc-feature__copy .wc-event-meta {
  margin-block: 18px;
}

.wc-feature__copy .wc-divider {
  margin-block: 20px 16px;
}

.wc-feature__copy h3 {
  margin: 0 0 10px;
}

.wc-feature__copy .wc-primary-cta {
  margin-top: 4px;
  margin-bottom: 12px;
}

.wc-feature__copy .wc-fineprint {
  margin: 9px 0 0;
}

.wc-feature__copy .wc-fineprint + .wc-fineprint {
  margin-top: 3px;
}

.wc-hero__copy {
  align-self: center;
  max-width: 680px;
}

.wc-hero__copy,
.wc-feature__copy,
.wc-why__copy,
.wc-panel {
  padding-inline: clamp(0px, 3vw, 44px);
}

.wc-hero__copy:first-child,
.wc-feature__copy:first-child,
.wc-why__copy:first-child {
  padding-left: 0;
}

.wc-editorial-emphasis,
.wc-script {
  color: var(--wc-red);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.2em;
  font-style: italic;
}

.wc-outline-cta,
.wc-primary-cta,
.wc-support-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 24px;
  border: 1px solid var(--wc-red);
  background: transparent;
  color: var(--wc-text);
  font: inherit;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}

.wc-primary-cta {
  background: var(--wc-red);
}

.wc-support-cta {
  width: 100%;
}

.wc-media {
  display: grid;
  min-height: 420px;
  place-items: center;
  border-left: 1px solid var(--wc-line);
  background:
    linear-gradient(135deg, rgba(227, 27, 35, .18), transparent 55%),
    radial-gradient(circle at 70% 30%, #343434, #0a0a0a 55%);
  color: #777;
  font-size: 12px;
  letter-spacing: .15em;
  text-align: center;
}

.wc-media--feature,
.wc-media--why {
  border-left: 0;
  border-right: 1px solid var(--wc-line);
}

.wc-media--feature {
  width: 100%;
  height: 100%;
  min-height: 100%;
  align-self: stretch;
  background-color: var(--wc-bg);
  background-image: url('../images/gorillaz-background.png');
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}

.wc-media--why {
  background-image: linear-gradient(90deg, transparent 55%, var(--wc-bg)), url('../images/why-witness.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.wc-event-meta {
  margin-block: 28px;
}

.wc-event-meta div {
  display: grid;
  grid-template-columns: 17px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  margin-block: 9px;
}

.wc-event-meta dt {
  color: var(--wc-muted);
}

.wc-icon,
.wc-upcoming-card__icon {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
}

.wc-icon {
  width: 17px;
  height: 17px;
}

.wc-icon svg,
.wc-upcoming-card__icon svg,
.wc-platform__icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.wc-event-meta dd {
  margin: 0;
  font-weight: 700;
  line-height: 1.3;
}

.wc-divider {
  border: 0;
  border-top: 1px solid var(--wc-line);
}

.wc-fineprint,
.wc-support-note {
  color: var(--wc-muted);
  font-size: .875rem;
}

.wc-action-panels {
  padding-block: 20px;
}

.wc-action-panels__grid {
  gap: 20px;
}

.wc-panel {
  min-height: 430px;
  padding-block: 28px;
  border: 1px solid var(--wc-line);
}

.wc-panel__title {
  font-size: clamp(28px, 3vw, 44px);
}

.wc-action-panels .wc-panel__title {
  color: var(--wc-panel-heading);
}

.wc-entry-panel__status {
  margin: 0 0 10px;
  color: var(--wc-red);
  font-weight: 700;
  letter-spacing: .1em;
}

.wc-entry-panel__details {
  margin: 24px 0;
  border-top: 1px solid var(--wc-line);
}

.wc-entry-panel__details > div {
  display: grid;
  grid-template-columns: minmax(105px, .35fr) 1fr;
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid var(--wc-line);
}

.wc-entry-panel__details dt {
  color: var(--wc-red);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
}

.wc-entry-panel__details dd {
  margin: 0;
}

.wc-entry-panel__legal {
  max-width: 580px;
  margin: 0 0 12px;
  color: var(--wc-muted);
}

.wc-entry-panel__links {
  margin: 0;
  font-size: .875rem;
}

.wc-entry-panel__links span {
  margin-inline: 7px;
  color: var(--wc-red);
}

.wc-entry-panel__links a {
  color: var(--wc-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wc-fineprint a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wc-support-panel__lead {
  color: var(--wc-blue);
  font-weight: 700;
  letter-spacing: .08em;
}

.wc-support-panel__ask {
  font-weight: 700;
  letter-spacing: .08em;
}

.wc-support-cta {
  margin-bottom: 12px;
  border-color: var(--wc-blue);
  background: var(--wc-blue);
}

.wc-support-cta--disabled {
  opacity: .72;
  cursor: default;
  user-select: none;
}

.wc-upcoming,
.wc-platform {
  padding-block: 38px;
}

.wc-upcoming__grid,
.wc-platform__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 22px;
}

.wc-upcoming-card {
  position: relative;
  z-index: 0;
  display: flex;
  min-height: 190px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border: 1px solid var(--wc-line);
  text-align: center;
  overflow: hidden;
}

.wc-upcoming-card::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image: linear-gradient(rgba(5, 5, 5, .62), rgba(5, 5, 5, .82)), url('../images/why-witness.png');
  background-position: center;
  background-size: cover;
  content: '';
  filter: grayscale(1);
}

.wc-upcoming-card--image-2::before {
  background-position: 30% center;
}

.wc-upcoming-card--image-3::before {
  background-position: 70% center;
}

.wc-upcoming-card--reveal::before {
  display: none;
}

.wc-upcoming-card__icon {
  width: 38px;
  height: 38px;
  color: var(--wc-red);
}

.wc-upcoming-card strong {
  color: var(--wc-red);
}

.wc-platform__box {
  border: 1px solid var(--wc-line);
  padding-block: 28px;
}

.wc-platform__grid {
  grid-template-columns: repeat(3, 1fr);
}

.wc-platform__grid > div {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 10px 28px;
  border-right: 1px solid var(--wc-line);
}

.wc-platform__icon {
  display: inline-flex;
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
  padding: 10px;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.wc-platform__copy {
  min-width: 0;
}

.wc-platform__copy p {
  margin: 8px 0 0;
  line-height: 1.45;
}

.wc-platform__icon--red { color: var(--wc-red); }
.wc-platform__icon--blue { color: var(--wc-blue); }
.wc-platform__icon--yellow { color: var(--wc-yellow); }

.wc-platform__grid > div:last-child {
  border-right: 0;
}

.wc-platform__grid strong,
.wc-platform__grid em {
  display: block;
}

.wc-platform__grid em {
  margin-top: 4px;
  color: var(--wc-red);
  font-family: Georgia, 'Times New Roman', serif;
}

.wc-platform__grid > div:nth-child(2) em { color: var(--wc-blue); }
.wc-platform__grid > div:nth-child(3) em { color: var(--wc-yellow); }

.wc-platform__footer {
  margin: 26px 0 0;
  text-align: center;
}

.wc-platform__footer strong { color: var(--wc-red); }

/* Confirmation page. */
.wc-confirmation__hero {
  padding-block: clamp(48px, 6vw, 90px);
  border-top: 10px solid var(--wc-red);
}

.wc-confirmation__title {
  margin: 16px 0 24px;
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-size: clamp(92px, 15vw, 250px);
  line-height: .82;
  text-transform: uppercase;
}

.wc-confirmation__received {
  font-size: clamp(24px, 3vw, 42px);
  font-weight: 700;
}

.wc-confirmation__body {
  padding-block: var(--wc-space);
  background: #efefec;
  color: #101010;
}

.wc-confirmation__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: clamp(40px, 8vw, 120px);
  align-items: center;
}

.wc-confirmation__contact {
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 700;
}

.wc-confirmation__mark {
  display: flex;
  aspect-ratio: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 4px solid #111;
  border-radius: 50%;
  text-align: center;
}

.wc-confirmation__mark strong {
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-size: 52px;
}

.wc-confirmation__mark span {
  width: 70%;
  padding: 4px;
  background: var(--wc-red);
  color: white;
  font-weight: 700;
  letter-spacing: .15em;
}

.wc-confirmation__mark small {
  margin-top: 12px;
  font-weight: 700;
  letter-spacing: .1em;
}

@media (max-width: 900px) {
  .wc-hero {
    min-height: 620px;
  }

  .wc-hero::after {
    background: linear-gradient(90deg, rgba(5, 5, 5, .98) 0%, rgba(5, 5, 5, .82) 55%, rgba(5, 5, 5, .35) 100%);
  }

  .wc-hero__art {
    inset: 0;
    background-position: 62% center;
    opacity: .72;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 38%, #000 100%);
    mask-image: linear-gradient(to right, transparent 0%, #000 38%, #000 100%);
  }

  .wc-hero__grid,
  .wc-feature__grid,
  .wc-why__grid,
  .wc-action-panels__grid,
  .wc-confirmation__grid {
    grid-template-columns: 1fr;
  }

  .wc-media {
    min-height: 320px;
    border: 0;
    border-top: 1px solid var(--wc-line);
  }

  .wc-media--feature {
    height: auto;
    min-height: 320px;
    aspect-ratio: 1;
    align-self: auto;
  }

  .wc-feature__grid .wc-media,
  .wc-why__grid .wc-media {
    order: 2;
  }

  .wc-feature__copy,
  .wc-why__copy {
    order: 1;
  }

  .wc-upcoming__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .wc-platform__grid {
    grid-template-columns: 1fr;
  }

  .wc-platform__grid > div {
    border-right: 0;
    border-bottom: 1px solid var(--wc-line);
  }

  .wc-platform__grid > div:last-child {
    border-bottom: 0;
  }

  .wc-confirmation__mark {
    width: min(100%, 320px);
    justify-self: center;
  }
}

@media (max-width: 560px) {
  .wc-hero {
    min-height: 680px;
  }

  .wc-hero::after {
    background: linear-gradient(180deg, rgba(5, 5, 5, .94) 0%, rgba(5, 5, 5, .82) 64%, rgba(5, 5, 5, .35) 100%);
  }

  .wc-hero__art {
    background-position: 58% center;
    opacity: .5;
  }

  .wc-shell {
    padding-inline: 20px;
  }

  .wc-upcoming__grid {
    grid-template-columns: 1fr;
  }

  .wc-panel {
    min-height: auto;
  }

  .wc-event-meta div {
    grid-template-columns: 17px minmax(0, 1fr);
    gap: 9px;
  }
}
