@import url("./rich-text.css");
[data-page='home'] #home-hero .hero__copy {
    max-width: 40rem;
  }

  [data-page='home'] #home-hero-practice .hero__media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgb(23 63 120 / 10%), transparent 48%);
    content: '';
    pointer-events: none;
  }

  [data-page='home'] #worlds .card-grid__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  [data-page='home'] #worlds .content-card__media {
    min-height: clamp(20rem, 36vw, 32rem);
  }

  [data-page='home'] #worlds .content-card:first-child .content-card__media img {
    object-position: 52% 48%;
  }

  [data-page='home'] #worlds .content-card:last-child .content-card__media img {
    object-position: 50% 48%;
  }

  [data-page='about'] #about-practice .editorial__copy {
    max-width: var(--reading-max);
  }

  [data-page='about'] #about-roles .card-grid__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  [data-page='about'] #about-roles .content-card__copy {
    min-height: 14rem;
  }

  [data-page='art'] #art-hero,
  [data-page^='project-'] main > .hero:first-child,
  [data-page='available'] #available-hero,
  [data-page='oracle'] #oracle-hero,
  [data-page='product'] #product-hero {
    min-height: min(48rem, 90svh);
  }

  [data-page='art'] #art-hero .hero__copy,
  [data-page^='project-'] main > .hero:first-child .hero__copy,
  [data-page='available'] #available-hero .hero__copy,
  [data-page='oracle'] #oracle-hero .hero__copy,
  [data-page='product'] #product-hero .hero__copy {
    align-self: stretch;
    justify-content: flex-end;
  }

  [data-page='art'] #art-hero h1 {
    max-width: 8ch;
  }

  [data-page='art'] #art-navigation .card-grid__list,
  [data-page='projects'] #projects-grid .card-grid__list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  [data-page='art'] #art-navigation .content-card:nth-child(1),
  [data-page='projects'] #projects-grid .content-card:nth-child(1),
  [data-page='projects'] #projects-grid .content-card:nth-child(4) {
    grid-column: span 7;
  }

  [data-page='art'] #art-navigation .content-card:nth-child(2),
  [data-page='projects'] #projects-grid .content-card:nth-child(2),
  [data-page='projects'] #projects-grid .content-card:nth-child(3) {
    grid-column: span 5;
  }

  [data-page='art'] #art-navigation .content-card:nth-child(3),
  [data-page='projects'] #projects-grid .content-card:nth-child(5) {
    grid-column: 1 / -1;
  }

  [data-page='art'] #art-navigation .content-card:nth-child(3) > a,
  [data-page='projects'] #projects-grid .content-card:nth-child(5) > a {
    grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
  }

  [data-page='art'] #art-navigation .content-card:nth-child(3) .content-card__media,
  [data-page='projects'] #projects-grid .content-card:nth-child(5) .content-card__media {
    min-height: 28rem;
  }

  [data-page='projects'] #projects-grid .content-card:nth-child(2) .content-card__media,
  [data-page='projects'] #projects-grid .content-card:nth-child(4) .content-card__media {
    min-height: clamp(20rem, 36vw, 34rem);
  }

  [data-page='projects'] #projects-grid .content-card:nth-child(3) .content-card__media img,
  [data-page='projects'] #projects-grid .content-card:nth-child(4) .content-card__media img {
    object-position: 50% 35%;
  }

  [data-page='art-cv'] #art-cv-ledger .card-grid__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  [data-page='store'] #store-paths .card-grid__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  [data-page='contact'] #contact-hero {
    min-height: min(32rem, 72svh);
    padding-top: 6rem;
  }

  [data-page='available'] #available-list .price-list__items::before {
    display: block;
    width: 5.5rem;
    height: 3px;
    margin-bottom: 1.5rem;
    background: var(--color-ochre);
    content: '';
  }

  [data-page='oracle'] #oracle-story .editorial__copy {
    max-width: var(--reading-max);
  }

  @media (max-width: 768px) {
    [data-page='home'] #worlds .card-grid__list {
      grid-template-columns: 1fr;
    }

    [data-page='about'] #about-roles .card-grid__list {
      grid-template-columns: 1fr;
    }


    [data-page='art'] #art-hero,
    [data-page^='project-'] main > .hero:first-child,
    [data-page='available'] #available-hero,
    [data-page='oracle'] #oracle-hero,
    [data-page='product'] #product-hero {
      min-height: min(44rem, 88svh);
    }

    [data-page='art'] #art-navigation .card-grid__list,
    [data-page='projects'] #projects-grid .card-grid__list,
    [data-page='art-cv'] #art-cv-ledger .card-grid__list,
    [data-page='store'] #store-paths .card-grid__list {
      grid-template-columns: 1fr;
    }

    [data-page='art'] #art-navigation .content-card:nth-child(n),
    [data-page='projects'] #projects-grid .content-card:nth-child(n) {
      grid-column: 1 / -1;
    }

    [data-page='art'] #art-navigation .content-card:nth-child(3) > a,
    [data-page='projects'] #projects-grid .content-card:nth-child(5) > a {
      grid-template-columns: 1fr;
    }

    [data-page='art'] #art-navigation .content-card:nth-child(3) .content-card__media,
    [data-page='projects'] #projects-grid .content-card:nth-child(5) .content-card__media {
      min-height: 22rem;
    }
  }

  @media (max-width: 340px) {
    :root {
      --space-page: 1rem;
    }

    .button {
      width: 100%;
      white-space: normal;
    }
  }

/* Art collections share a deterministic collage instead of numbered card rules. */
.art-intro { padding-block: clamp(4rem, 8vw, 8rem); }
.art-intro h1, .art-project__heading h1 { max-width: 16ch; font-size: clamp(3rem, 7vw, 7rem); line-height: 1.03; overflow-wrap: anywhere; }
.art-intro .section-intro { max-width: 52ch; margin-top: 1.5rem; white-space: pre-line; }
.art-intro__cover { margin-top: 3rem; height: clamp(18rem, 48vw, 42rem); overflow: hidden; }
.art-collage { display: grid; gap: clamp(2rem, 5vw, 5rem); }
.art-collage__row { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.2rem, 3vw, 3rem); align-items: start; }
.art-collage__row--reverse { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.art-collage__row--full { grid-template-columns: minmax(0, 1fr); }
.art-card { min-width: 0; }
.art-card > a { display: block; color: inherit; text-decoration: none; }
.art-card__photo { height: clamp(19rem, 36vw, 36rem); overflow: hidden; background: #e8e5de; }
.art-collage__row > :nth-child(2) { margin-top: clamp(2rem, 6vw, 6rem); }
.art-collage__row--reverse > :nth-child(2) { margin-top: 0; }
.art-collage__row--reverse > :first-child { margin-top: clamp(2rem, 6vw, 6rem); }
.art-collage__row--full .art-card > a { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 3rem; align-items: center; }
.art-collage img, .art-intro__cover img, .art-project__cover img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focal-desktop, 50% 50%); }
.art-card__copy { padding-block: 1.4rem; }
.art-card__copy h2 { font-size: clamp(1.8rem, 3vw, 3rem); margin-bottom: .7rem; overflow-wrap: anywhere; }
.art-card__copy p { max-width: 40ch; margin-bottom: 1rem; }
.art-card__copy .text-link { display: inline-block; margin-top: 1rem; }
.art-photo-placeholder { display: grid; min-height: 12rem; height: 100%; place-content: center; }
.art-is-hidden { opacity: .55; }
.art-project { padding-block-start: max(7rem, var(--space-section)); }
.art-project__heading { padding-block: 3rem; }
.art-project__cover { height: clamp(22rem, 65vw, 52rem); margin-bottom: 4rem; }
.art-prose { max-width: 70ch; margin: 0 auto 4rem; overflow-wrap: anywhere; }
.art-prose > * + * { margin-top: 1.2rem; }
.art-project__pdf { margin-block: 0 3rem; overflow-wrap: anywhere; }
.art-gallery-photo { margin: 0; min-width: 0; }
.art-gallery-photo button { display: block; position: relative; width: 100%; height: clamp(20rem, 42vw, 42rem); padding: 0; border: 0; background: #e8e5de; cursor: zoom-in; overflow: hidden; }
.art-gallery-photo button span { position: absolute; bottom: 1rem; right: 1rem; background: #fff; padding: .2rem .7rem; }
.art-gallery-photo figcaption { padding-block: .8rem; }
.art-video { margin-top: 4rem; aspect-ratio: 16 / 9; }
.art-video iframe { width: 100%; height: 100%; border: 0; }
@media (max-width: 700px) {
  .art-collage__row, .art-collage__row--reverse, .art-collage__row--full .art-card > a { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .art-collage__row > :nth-child(n) { margin-top: 0; }
  .art-collage__row--full .art-card > a { gap: 0; }
  .art-card__photo { height: 28rem; max-height: 115vw; }
  .art-gallery-photo button { height: 115vw; max-height: 36rem; }
  .art-collage img, .art-intro__cover img, .art-project__cover img { object-position: var(--focal-mobile, 50% 50%); }
}

/* A short home introduction, with the complete Press text on its own page. */
[data-page='home'] #press { padding-block: clamp(2rem, 4vw, 3.5rem); }
[data-page='home'] #press h2 { width: auto; min-width: 0; margin-bottom: 0; overflow-wrap: anywhere; font-size: clamp(2rem, 3.5vw, 3.5rem); }
[data-page='home'] #press .section-intro { margin-bottom: 1.5rem; overflow-wrap: anywhere; }
[data-page='home'] #press .press-heading-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
[data-page='home'] #press .button-row { flex: 0 0 auto; margin: 0; }
[data-page='press'] #press { padding-top: 0; }
[data-page='press'] #press .section-intro { white-space: pre-line; overflow-wrap: anywhere; }
[data-page='press'] #press .rich-text { white-space: normal; }

[data-page='press'] #press h1 { margin-bottom: 2rem; }
