:root {
  --corner: 0.9rem;
  --border: 1px solid rgba(255,255,255,0.08);
  --accent: rgba(196,181,132,0.25);
  --accent-strong: rgba(196,181,132,0.32);
  --text: #f0f0f0;
  --mono: 'Inconsolata', monospace;
  --serif: 'Cormorant Garamond', serif;
  --motion-fast: 0.36s ease;
  --motion-flip-in: 1120ms ease;
  --motion-flip-out: 880ms ease;
  --spring-decay: 6;
  --spring-osc: 0;
  --arc-scale: 0.35;
  --arc-lift: 0.5;
  --header-padding: 9rem;
  --dim-opacity: 0.35;
  --dim-blur: 3px;
  --dim-saturate: 60%;
  --dim-bright: 0.75;
  --divider-bg: rgba(90,90,90,0.94);
  --divider-bg-hover: rgba(100,100,90,1);
  --divider-border: rgba(212,196,150,0.7);
  --divider-border-hover: rgba(230,214,168,1);
  --piece-text-dark: #0a0a0a;
  --piece-placeholder-dark: #222222;
  --act-background-default: #0f0f0f;
  --act-gap: 25vh;
}
html.deeplink-prep body {
  visibility:hidden;
}
.act-backdrop {
  width:100vw;
  margin:0;
  margin-left:calc(50% - 50vw);
  background:var(--act-background, var(--act-background-default));
  display:flex;
  flex-direction:column;
  align-items:center;
  position:relative;
  container-type:inline-size;
  container-name: act-backdrop;
}
.act-backdrop::after {
  content:"";
  display:block;
  height:var(--act-gap, 12vh);
  background:linear-gradient(
    180deg,
    var(--act-background, var(--act-background-default)) 0%,
    var(--act-background-next, var(--act-background, var(--act-background-default))) 100%
  );
  width:100%;
}
.act-block {
  border:1px solid #2d2d2d;
  border-radius:var(--corner);
  margin:0;
  width:100%;
  max-width:900px;
  background:var(--act-background, var(--act-background-default));
  overflow:visible;
  display:flex;
  flex-direction:column;
  position:relative;
  transition:filter var(--motion-fast), opacity var(--motion-fast);
}
.act-hero {
  flex:0 0 auto;
  border-top-left-radius: var(--corner);
  border-top-right-radius: var(--corner);
  overflow: hidden;
}
.act-hero img {
  width:100%;
  height:auto;
  display:block;
  margin: 0;
  padding: 0;
  vertical-align: top;
}
.act-body {
  padding:1.6rem 0 0;
  display:flex;
  flex-direction:column;
  background:var(--act-foreground, transparent);
}
.act-hero,
.act-question,
.act-dates,
.act-divider,
.piece-card-wrapper {
  transition:filter var(--motion-fast), opacity var(--motion-fast);
}
.act-dates {
  padding:0;
  margin:0 0 0.2rem;
  font-size:1.5rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
  font-family:var(--mono);
  text-align:center;
  font-weight:600;
  color:color-mix(in srgb, #ffffff 80%, var(--act-content, var(--text)) 20%);
}
.act-question {
  padding:0;
  margin:0 0 .5rem 0;
  font-family:var(--mono);
  text-align:center;
  color:color-mix(in srgb, #ffffff 80%, var(--act-content, var(--text)) 20%);
  font-size:clamp(0.9rem, 8cqb, 1.75rem);
  font-weight:700;
  font-style:italic;
  letter-spacing:0.02em;
}
.act-question.act-foreground-light {
  color:#0a0a0a;
}
.act-dates::after {
  content:"";
  display:block;
  width:80%;
  max-width:800px;
  height:1px;
  margin:1.25rem auto;
  background:linear-gradient(90deg, rgba(240,240,240,0), rgba(240,240,240,0.35), rgba(240,240,240,0));
}
.act-dates.act-foreground-light::after {
  background:linear-gradient(90deg, rgba(10,10,10,0), rgba(10,10,10,0.35), rgba(10,10,10,0));
}
.act-dates {
  color:rgba(240,240,240,0.8);
  font-size:clamp(0.8rem, 6cqb, 1.1rem);
}
.act-dates.act-foreground-light {
  color:rgba(20,20,20,0.75);
}
.act-pieces {
  display:flex;
  flex-direction:column;
  padding:0;
}
.act-pieces > :last-child .piece-card,
.act-pieces > :last-child .supplement-card,
.act-pieces > :last-child .act-divider {
  border-bottom-left-radius: var(--corner);
  border-bottom-right-radius: var(--corner);
}
.act-divider {
  display:block;
  margin:0;
  padding:0.35rem 1rem;
  background:var(--piece-bg, var(--piece-default-bg, #000000));
  border:1px solid var(--divider-border-mix, color-mix(in srgb, color-mix(in srgb, var(--act-foreground, var(--text)) 50%, var(--piece-bg, var(--piece-default-bg, #000000)) 50%) 80%, white 20%));
  font-family:var(--mono);
  font-size:1rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  text-align:center;
  color:var(--text);
  text-decoration:none;
  transition:border-color var(--motion-fast), transform var(--motion-fast), background var(--motion-fast);
}
.act-divider:hover {
  border-color:var(--divider-border-mix, color-mix(in srgb, color-mix(in srgb, var(--act-foreground, var(--text)) 50%, var(--piece-bg, var(--piece-default-bg, #000000)) 50%) 80%, white 20%));
  background:var(--piece-bg, var(--piece-default-bg, #000000));
  cursor:pointer;
}
.act-divider.supplement-card--expanded {
  border-color: var(--act-foreground, var(--text));
}
.piece-card-wrapper {
  display:flex;
  flex-direction:column;
  gap:0.9rem;
}
.piece-card {
  position:relative;
  display:grid;
  --subtitle-row: 0fr;
  --rest-transform: none;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr var(--subtitle-row) auto;
  grid-template-areas:
    "image title"
    "image subtitle"
    "content content";
  align-items:stretch;
  margin:0.9rem 0 0;
  aspect-ratio: 2.6;
  border:none;
  overflow:hidden;
  background:transparent;
  color:#f5f5f5;
  text-decoration:none;
  padding:0;
  width:100%;
  transform:var(--rest-transform, none);
  will-change:transform;
  transition:
    border-color var(--motion-fast),
    transform var(--motion-fast),
    grid-template-rows var(--motion-fast);
  cursor:pointer;
  outline:2px solid transparent;
  outline-offset:2px;
}
.piece-card:first-child {
  margin-top:0;
}
.piece-card:not(.piece-card--expanded):hover,
.piece-card:not(.piece-card--expanded).hovered,
.piece-card:not(.piece-card--expanded).is-mobile-active {
  --subtitle-row: 1fr;
  border-color:var(--piece-color, #e4d96f);
  box-shadow:
    0 38px 90px rgba(0,0,0,0.55),
    0 18px 48px rgba(0,0,0,0.48);
}
.piece-card__subtitle-block {
  align-items:flex-start;
  justify-content:flex-start;
}
.piece-card.is-animating {
  border-color:var(--piece-color, #e4d96f);
  overflow:visible;
}
.piece-card:focus-visible {
  border-color:var(--piece-color, #e4d96f);
  outline-color:var(--piece-color, #e4d96f);
}
.piece-card[aria-disabled="true"] {
  cursor:default;
}
.piece-card[aria-disabled="true"]:hover {
  --hover-transform: translateY(-6px) scale(1.02);
  border-color:rgba(255,255,255,0.18);
}
.piece-card--locked,
.piece-card--locked[aria-disabled="true"] {
  cursor:not-allowed;
}
.piece-card--locked:hover,
.piece-card--locked.is-mobile-active {
  border-color:rgba(255,255,255,0.24);
  --hover-transform: translateY(-4px) scale(1.015);
}
.piece-card--redacted {
  cursor:not-allowed;
}
.piece-card--redacted:hover,
.piece-card--redacted.is-mobile-active {
  border-color:#ff4d4d;
  --hover-transform: translateY(-4px) scale(1.015);
}
.piece-card__pill {
  position:absolute;
  inset:0;
  background:var(--piece-bg, #121212);
  border:var(--border);
  z-index:0;
  pointer-events:none;
  will-change:transform;
  transition:border-color var(--motion-fast), border-radius var(--motion-fast);
}
.piece-card:hover .piece-card__pill,
.piece-card.is-animating .piece-card__pill,
.piece-card.is-mobile-active .piece-card__pill,
.piece-card.hovered .piece-card__pill {
  border-color:var(--piece-color, #e4d96f);
}
.piece-card__image {
  grid-area:image;
  width:calc(100% - 4px);
  height:calc(100% - 4px);
  margin:2px 0 0 2px;
  display:flex;
  align-items:stretch;
  justify-content:center;
  overflow:hidden;
  position:relative;
  z-index:1;
  will-change:transform;
}
.piece-card__image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  filter: grayscale(50%);
  margin: 0;
  padding: 0;
}
/* This is the tint */
.piece-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--piece-bg);
  mix-blend-mode: multiply;
  opacity: 0.60;      /* strength of tint */
  transition: opacity 0.2s ease;
  pointer-events: none;
}
/* Hover removes BOTH grayscale + tint */
.piece-card:hover .piece-card__image img,
.piece-card.hovered .piece-card__image img,
.piece-card.is-mobile-active .piece-card__image img {
  filter: none;
}
.piece-card:hover .piece-card__image::after,
.piece-card.hovered .piece-card__image::after,
.piece-card.is-mobile-active .piece-card__image::after {
  opacity: 0;
}
.piece-card--redacted .piece-card__image img,
.piece-card--redacted:hover .piece-card__image img,
.piece-card--redacted.is-mobile-active .piece-card__image img {
  filter:grayscale(60%) saturate(60%) brightness(0.85) blur(16px);
}
.piece-card--redacted:hover .piece-card__image img,
.piece-card--redacted.is-mobile-active .piece-card__image img {
  filter:blur(16px);
}
.piece-card__image-placeholder {
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.5rem;
  font-family:var(--mono);
  font-size:0.95rem;
  color:#9a9a9a;
  text-align:center;
}
.piece-card__title-wrap {
  grid-area:title;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.6rem 1.5rem;
  text-align:center;
  position:relative;
  z-index:1;
  will-change:transform;
}
.act-backdrop {
  --act-text: color-mix(in srgb, #ffffff 70%, var(--act-foreground, var(--text)) 30%);
}
.piece-card__title {
  margin:0;
  font-size:clamp(1.0rem, 10cqb, 1.7rem);
  font-family:var(--mono);
  font-weight:600;
  color:var(--act-text, #f0f0f0);
  text-align:center;
}
.piece-card.piece-card--expanded .piece-card__title {
  font-size:clamp(1.4rem, 14cqb, 2.6rem);
}
.piece-card__subtitle-block {
  grid-area:subtitle;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:0;
  padding:0.4rem 1.5rem 0;
  opacity:0;
  overflow:hidden;
  text-align:center;
  transition:
    opacity var(--motion-fast) 60ms,
    transform var(--motion-fast);
  position:relative;
  z-index:1;
  will-change:transform;
  transition-delay: 0ms;
}
/* MIGHT WANT TO REMOVE THIS FOR RESPONSIVENESS */
.piece-card:hover .piece-card__subtitle-block,
.piece-card.hovered .piece-card__subtitle-block,
.piece-card.is-mobile-active .piece-card__subtitle-block {
  transition-delay: 60ms;
}
.piece-card__subtitle-group {
  display:flex;
  flex-direction:column;
  gap:0.45rem;
}
.piece-card__subtitle {
  margin:0;
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(0.85rem, 6cqb, 1.15rem);
  line-height:1.45;
  color:var(--act-text, #f0f0f0);
}
.piece-card__subtitle strong {
  font-weight:700;
}
.piece-card__content {
  display:none;
  padding:1.25rem 1.5rem 2rem;
  font-family:var(--serif);
  font-size:1.05rem;
  color:var(--text);
  width:100%;
  max-width:100ch;
  margin:0 auto;
  grid-area:content;
}
.piece-card__content.no-text {
  padding:0;
  margin:0;
}
.piece-card__content::before {
  content:none;
}
.piece-card__content.has-text::before {
  content:"";
  display:block;
  width:100%;
  max-width:1000px;
  height:1px;
  margin:0 auto 2.5rem;
  background:rgba(10,10,10,0.40);
}
.piece-card__content img {
  max-width:100%;
  height:auto;
  filter:invert(1);
  mix-blend-mode:multiply; /* treat white as transparent over dark backgrounds */
  display:block;
}
.piece-card__content img.no-invert,
.supplement-card__content img.no-invert {
  filter:none !important;
  mix-blend-mode:normal !important;
}
.piece-card.piece-card--expanded .piece-card__content {
  display:block;
  margin-bottom:0;
}
.piece-card.piece-card--expanded .piece-card__content.has-text {
  margin-bottom:20vh;
}
.piece-card-wrapper--supplement {
  gap:0.2rem;
}
.piece-card--supplement {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  padding:0.35rem 1rem;
  margin:0;
  background:linear-gradient(135deg, var(--accent), rgba(140,132,110,0.2));
  border:1px solid rgba(212,196,150,0.35);
  border-radius:var(--corner);
  font-family:var(--mono);
  font-size:1rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  text-align:center;
  color:var(--text);
  text-decoration:none;
  grid-template-columns:none;
  grid-template-rows:none;
  grid-template-areas:none;
  aspect-ratio:auto;
  width:100%;
}
.piece-card--supplement .piece-card__pill {
  display:none;
}
.piece-card--supplement:hover {
  border-color:rgba(230,214,168,0.6);
  transform:translateY(-1px);
}
.piece-card--supplement .piece-card__content {
  display:none;
  padding:0;
  width:100%;
  max-width:100%;
  filter:none;
  line-height:1.55;
  font-family:var(--serif);
  font-size:1.05rem;
}
.piece-card--supplement.piece-card--expanded {
  flex-direction:column;
  align-items:stretch;
  gap:0.6rem;
  background:linear-gradient(135deg, var(--accent), rgba(140,132,110,0.2));
  border-color:rgba(212,196,150,0.5);
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.piece-card--supplement.piece-card--expanded .piece-card__content {
  display:block;
  padding:0.75rem 1rem 1.4rem;
}
.piece-card__supplement-label {
  padding:0;
}
.piece-card__meta-wrap {
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  pointer-events:none;
}
.piece-card__meta-row {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:end;
  gap:0.6rem;
  padding:0.15rem 0.65rem 0.45rem;
  border:none;
  border-radius:0;
  background:transparent;
  opacity:0.9;
  transition:opacity var(--motion-fast), transform var(--motion-fast);
  pointer-events:none;
  z-index:2;
}
.piece-card__location,
.piece-card__wordcount {
  margin:0;
  font-family:var(--mono);
  font-size:0.93rem;
  letter-spacing:0.03em;
  color:#cfcfcf;
}
.piece-card__location {
  text-align:left;
  justify-self:start;
  grid-column:1;
}
.piece-card__wordcount {
  text-align:right;
  justify-self:end;
  grid-column:3;
}
.piece-card__status {
  padding:0.1rem 0.6rem;
  border:1px solid #e0e0e0;
  border-radius:999px;
  font-family:var(--mono);
  font-size:0.9rem;
  letter-spacing:0.05em;
  color:#e0e0e0;
  justify-self:center;
  text-align:center;
  grid-column:2;
}
.piece-card__status[data-status="Soon"] {
  color:#e4d96f;
  border-color:#e4d96f;
}
.piece-card__status[data-status="Review"] {
  color:#5bd8ff;
  border-color:#5bd8ff;
}
.piece-card__status[data-status="Redacted"] {
  color:#ff4d4d;
  border-color:#ff4d4d;
}
.piece-card:hover .piece-card__subtitle-block,
.piece-card.hovered .piece-card__subtitle-block,
.piece-card.is-animating .piece-card__subtitle-block,
.piece-card.is-mobile-active .piece-card__subtitle-block {
  opacity:1;
  align-items:center;
  justify-content:flex-start;
  padding:0.4rem 1.5rem 0;
}
.piece-card.piece-card--expanded .piece-card__subtitle-block {
  opacity:1;
  align-items:center;
  justify-content:flex-start;
  padding:0.4rem 1.5rem 0;
}
.piece-card:hover .piece-card__meta-row,
.piece-card.hovered .piece-card__meta-row,
.piece-card.is-mobile-active .piece-card__meta-row {
  opacity:1;
}
.piece-card.is-animating .piece-card__meta-row {
  opacity:0;
}
.piece-card.piece-card--expanded .piece-card__location,
.piece-card.piece-card--expanded .piece-card__wordcount {
  display:none;
}
.piece-card.piece-card--expanded .piece-card__meta-row {
  display:none;
}
.piece-card.piece-card--expanded {
  grid-template-columns: 1fr;
  grid-template-rows:
    var(--expanded-row-title, 20vh)
    var(--expanded-row-image, 60vh)
    var(--expanded-row-subtitle, 20vh)
    auto;
  grid-template-areas:
    "title"
    "image"
    "subtitle"
    "content";
  aspect-ratio:auto;
  --subtitle-row: auto;
  align-items:stretch;
  align-content:stretch;
}
.piece-card.piece-card--expanded .piece-card__title-wrap {
  align-items:flex-end;
  padding:0 1.5rem 0.5rem;
}
.piece-card.piece-card--expanded .piece-card__subtitle-block {
  align-items:center;
  justify-content:flex-start;
  padding:0.8rem 1.5rem 0;
}
.piece-card.piece-card--expanded .piece-card__title-wrap,
.piece-card.piece-card--expanded .piece-card__image,
.piece-card.piece-card--expanded .piece-card__subtitle-block {
  width:auto;
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}
.piece-card.piece-card--expanded .piece-card__subtitle {
  font-size:clamp(0.95rem, 8cqb, 1.2rem);
}
.piece-card.piece-card--expanded .piece-card__image {
  align-items:stretch;
  justify-content:center;
}
.piece-card.piece-card--expanded .piece-card__image img {
  width:auto;
  height:100%;
  max-width:none;
  max-height:100%;
  transform:none;
}
.piece-card--light {
  color:var(--piece-text-dark);
}
.piece-card--light .piece-card__title,
.piece-card--light .piece-card__subtitle,
.piece-card--light .piece-card__location,
.piece-card--light .piece-card__wordcount,
.piece-card--light .piece-card__status {
  color:var(--piece-text-dark);
}
.piece-card--light .piece-card__content {
  filter:none;
  color:var(--piece-text-dark);
}
.piece-card--light .piece-card__image-placeholder {
  color:var(--piece-placeholder-dark);
}
.card-bg-light {
  color:var(--piece-text-dark);
}
.card-bg-light .piece-card__title,
.card-bg-light .piece-card__subtitle,
.card-bg-light .piece-card__location,
.card-bg-light .piece-card__wordcount,
.card-bg-light .piece-card__status,
.card-bg-light .supplement-card__label {
  color:var(--piece-text-dark);
}
.card-bg-light .piece-card__content,
.card-bg-light .supplement-card__content {
  filter:none !important;
  color:var(--piece-text-dark);
}
.card-bg-light .piece-card__image-placeholder {
  color:var(--piece-placeholder-dark);
}
.act-block.act-block--dim .act-hero,
.act-block.act-block--dim .act-question,
.act-block.act-block--dim .act-dates,
.act-block.act-block--dim .act-divider,
.act-block.act-block--dim .piece-card-wrapper:not(.piece-card-wrapper--expanded),
.act-block.is-dimmed-below {
  opacity:var(--dim-opacity);
  filter:blur(var(--dim-blur)) saturate(var(--dim-saturate)) brightness(var(--dim-bright));
}
.act-block.act-block--dim .piece-card-wrapper--expanded .act-divider,
.act-block.act-block--dim .piece-card-wrapper--expanded .supplement-card {
  opacity:1;
  filter:none;
}
.act-block.act-block--dim .piece-card-wrapper--expanded,
.act-block.act-block--dim .piece-card-wrapper--expanded .piece-card {
  opacity:1;
  filter:none;
}
.piece-card-wrapper--expanded .piece-card {
  border-color:var(--piece-color, #e4d96f);
  width:100vw;
  margin-left:calc(50% - 50vw);
  border-radius:0;
  min-height:100vh;
}
.supplement-wrapper.piece-card-wrapper--expanded .supplement-card {
  width:100vw;
  margin-left:calc(50% - 50vw);
  border-radius:0;
  min-height:100vh;
  position:relative;
  overflow:hidden;
}
.supplement-card__content {
  display:none;
}
.supplement-card--expanded .supplement-card__content {
  display:block;
  max-width:100ch;
  margin:0 auto;
  font-family:var(--serif);
  font-size:1.05rem;
  letter-spacing:normal;
  text-transform:none;
  text-align:left;
  padding:1rem 1.25rem 1.6rem;
}
.supplement-card__content.no-text {
  padding:0;
  margin:0;
}
.piece-card__content,
.piece-card__content *,
.supplement-card__content,
.supplement-card__content * {
  line-height:1.6 !important;
  filter:invert(1);
}
.piece-card-wrapper--expanded .piece-card__pill {
  border-radius:0;
  border-color:var(--piece-color, #e4d96f);
}
.supplement-card--expanded {
  background:var(--piece-bg, #0f0f0f);
}
.supplement-card--expanded,
.supplement-card--expanded:hover {
  background:var(--piece-bg, #0f0f0f);
  transform:none;
}
