* {
  box-sizing: border-box;
}

:root {
  --page-pad: clamp(18px, 2.4vw, 38px);
  --menu-width: clamp(150px, 15vw, 230px);
  --border: rgba(0, 0, 0, 0.18);
  --muted: rgba(0, 0, 0, 0.55);
  --font-size: 14px;
}

html {
  background: #fff;
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
  font-size: var(--font-size);
}

body {
  margin: 0;
  min-height: 100vh;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover,
a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.site-header {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--menu-width);
  padding: var(--page-pad);
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 34px;
  background: #fff;
  border-right: 1px solid var(--border);
}

.site-name {
  font-weight: 600;
}

.site-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  line-height: 1.35;
}

.site-nav .active {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.home-grid {
  margin-left: var(--menu-width);
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.08fr 0.92fr 0.78fr;
}

.home-column {
  min-width: 0;
  padding: var(--page-pad);
  border-right: 1px solid var(--border);
}

.home-column:last-child {
  border-right: 0;
}

.section-heading-row {
  min-height: 45px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 30px;
}

.section-heading-row h1,
.archive-title h1,
.bio-main h1 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}

.section-heading-row > a {
  color: var(--muted);
  white-space: nowrap;
}

.daily-stack {
  display: flex;
  flex-direction: column;
  gap: clamp(36px, 7vh, 90px);
}

.daily-card {
  margin: 0;
}

.daily-card img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 60vh;
  object-fit: contain;
  object-position: left top;
}

.home-images .daily-card img {
  max-height: calc(100vh - 130px);
  object-position: center top;
}

figcaption,
.item-meta {
  margin-top: 9px;
  line-height: 1.35;
  color: var(--muted);
}

.writing-list {
  display: flex;
  flex-direction: column;
}

.writing-item {
  padding: 0 0 22px;
  margin: 0 0 22px;
  border-bottom: 1px solid var(--border);
}

.writing-item:last-child {
  border-bottom: 0;
}

.writing-item a {
  display: block;
}

.writing-title {
  margin: 0 0 8px;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.35;
}

.writing-excerpt {
  margin: 0;
  line-height: 1.48;
  color: var(--muted);
  white-space: pre-line;
}

.archive-main,
.bio-main {
  margin-left: var(--menu-width);
  padding: var(--page-pad);
}

.archive-title {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: baseline;
  margin-bottom: 34px;
}

.archive-title p {
  margin: 0;
  color: var(--muted);
}

.archive-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(35px, 6vw, 95px) clamp(20px, 3vw, 48px);
  align-items: start;
}

.archive-item {
  margin: 0;
  min-width: 0;
}

.archive-item button {
  display: block;
  border: 0;
  padding: 0;
  width: 100%;
  background: transparent;
  cursor: zoom-in;
  text-align: left;
}

.archive-item img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 72vh;
  object-fit: contain;
  object-position: left bottom;
}

.bio-main {
  max-width: 900px;
}

.bio-copy {
  margin-top: clamp(45px, 10vh, 120px);
  max-width: 620px;
  font-size: clamp(18px, 2.2vw, 30px);
  line-height: 1.3;
}

.bio-copy code {
  font-family: inherit;
  font-size: inherit;
}

.lightbox {
  border: 0;
  padding: 0;
  width: 100vw;
  max-width: none;
  height: 100vh;
  max-height: none;
  background: rgba(255, 255, 255, 0.98);
  color: #111;
}

.lightbox::backdrop {
  background: rgba(255, 255, 255, 0.98);
}

.lightbox[open] {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 70px;
  align-items: center;
}

.lightbox figure {
  margin: 0;
  height: 100vh;
  padding: 48px 12px 34px;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.lightbox img {
  width: 100%;
  min-height: 0;
  flex: 1;
  object-fit: contain;
}

.lightbox figcaption {
  flex: 0 0 auto;
}

.lightbox button {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.lightbox-close {
  position: fixed;
  top: 17px;
  right: 21px;
  z-index: 3;
  font-size: 28px !important;
  line-height: 1;
}

.lightbox-prev,
.lightbox-next {
  height: 100%;
  font-size: 24px !important;
}

.loading,
.error {
  color: var(--muted);
}

.error {
  max-width: 38rem;
  line-height: 1.45;
}

@media (max-width: 900px) {
  :root {
    --menu-width: 100%;
  }

  .site-header {
    position: relative;
    inset: auto;
    width: 100%;
    padding: 18px;
    border-right: 0;
    border-bottom: 1px solid var(--border);
    gap: 18px;
  }

  .site-nav {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px 18px;
  }

  .home-grid {
    margin-left: 0;
    display: block;
  }

  .home-column {
    border-right: 0;
    border-bottom: 1px solid var(--border);
    padding: 24px 18px 60px;
  }

  .archive-main,
  .bio-main {
    margin-left: 0;
    padding: 24px 18px;
  }

  .archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bio-copy {
    font-size: 21px;
  }
}

@media (max-width: 560px) {
  .archive-grid {
    grid-template-columns: 1fr;
    gap: 58px;
  }

  .lightbox[open] {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
  }

  .lightbox figure {
    padding-inline: 0;
  }
}


/* Prevent long URLs or unbroken text from escaping the writing column. */
.writing-item,
.writing-item a,
.writing-title,
.writing-excerpt {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.writing-item {
  overflow: hidden;
}


.archive-introduction {
  max-width: 820px;
  margin-bottom: clamp(60px, 10vw, 145px);
}

.archive-introduction h1 {
  margin: 0;
  font-size: clamp(26px, 3.5vw, 52px);
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: -0.025em;
}

.archive-medium {
  margin: 16px 0 0;
  color: var(--muted);
  font-style: italic;
}

.archive-description {
  margin-top: clamp(38px, 6vw, 78px);
  max-width: 720px;
  font-size: clamp(17px, 1.65vw, 23px);
  line-height: 1.5;
}

.archive-description p {
  margin: 0 0 1.2em;
}

.archive-instruction {
  margin: 32px 0 0;
  color: var(--muted);
  font-size: 0.92rem;
}


/* A very thin white mask hides crop/scan marks along the top edge of Ink images. */
body[data-page="ink"] .archive-item button {
  position: relative;
  overflow: hidden;
}

body[data-page="ink"] .archive-item button::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: #fff;
  pointer-events: none;
}

.film-main {
  margin-left: var(--menu-width);
  padding: var(--page-pad);
}

.film-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 34px;
}

.film-heading h1,
.film-heading p {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}

.film-heading p {
  color: var(--muted);
  font-weight: 400;
}

.film-player {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}

.film-player iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.film-description {
  max-width: 620px;
  margin: 18px 0 0;
  line-height: 1.45;
  color: var(--muted);
}

@media (max-width: 900px) {
  .film-main {
    margin-left: 0;
    padding: 24px 18px;
  }
}


/* Sculpture / Performance project index */
.projects-index {
  margin-left: var(--menu-width);
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
}

.projects-list,
.projects-preview {
  min-width: 0;
  padding: var(--page-pad);
}

.projects-list {
  border-right: 1px solid var(--border);
}

.projects-list h1 {
  margin: 0 0 clamp(45px, 9vh, 110px);
  font-size: 1rem;
  font-weight: 600;
}

.project-cover {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 12px;
  padding: 18px 0;
  border-top: 1px solid var(--border);
  cursor: pointer;
}

.project-cover:last-child {
  border-bottom: 1px solid var(--border);
}

.project-cover strong {
  font-size: clamp(20px, 2.2vw, 34px);
  font-weight: 400;
  line-height: 1.1;
}

.project-cover span,
.project-cover small {
  color: var(--muted);
  font-weight: 400;
}

.project-cover:hover strong,
.project-cover:focus-visible strong {
  font-style: italic;
}

.project-cover.is-placeholder {
  cursor: default;
}

.projects-preview {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
}

.projects-preview img {
  width: 100%;
  min-height: 0;
  flex: 1;
  object-fit: contain;
  object-position: center;
}

.projects-preview p {
  margin: 14px 0 0;
  color: var(--muted);
}

/* Individual sculpture/performance project */
.project-split {
  margin-left: var(--menu-width);
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(290px, 0.72fr);
}

.project-media {
  padding: var(--page-pad);
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 7vh, 95px);
}

.project-media img,
.project-media video {
  display: block;
  width: 100%;
  height: auto;
  max-height: 88vh;
  object-fit: contain;
  background: #fff;
}

.project-text {
  position: sticky;
  top: 0;
  height: 100vh;
  align-self: start;
  padding: var(--page-pad);
  overflow-y: auto;
}

.project-back {
  display: inline-block;
  margin-bottom: clamp(55px, 12vh, 150px);
  color: var(--muted);
}

.project-text h1 {
  margin: 0;
  font-size: clamp(28px, 3.8vw, 58px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.03em;
}

.project-meta {
  margin: 15px 0 0;
  color: var(--muted);
}

.project-description {
  margin-top: clamp(40px, 7vh, 90px);
  max-width: 44rem;
  font-size: clamp(16px, 1.45vw, 21px);
  line-height: 1.5;
}

@media (max-width: 900px) {
  .projects-index,
  .project-split {
    margin-left: 0;
    display: block;
  }

  .projects-list {
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .projects-preview {
    position: relative;
    height: 70vh;
  }

  .project-media {
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .project-text {
    position: relative;
    height: auto;
  }
}


.project-video-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}

.project-video-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}


.project-credits {
  margin-top: 2.2em;
  padding-top: 1.2em;
  border-top: 1px solid var(--border);
  font-size: 0.9em;
  color: var(--muted);
}

.project-credits p {
  margin: 0.35em 0;
}

.project-credits strong {
  color: #111;
  font-weight: 600;
}


.writing-image-item {
  margin: 0;
  min-width: 0;
}

.writing-image-item a {
  display: block;
}

.writing-image-item img {
  display: block;
  width: 100%;
  height: auto;
  max-height: calc(100vh - 150px);
  object-fit: contain;
  object-position: left top;
}

.writing-image-item figcaption {
  margin-top: 9px;
  color: var(--muted);
}


/* Show the complete found-text entry on the homepage, regardless of length. */
.home-writing .writing-item,
.home-writing .writing-item a,
.home-writing .writing-excerpt {
  overflow: visible;
  max-height: none;
}

.home-writing .writing-excerpt {
  white-space: pre-wrap;
}


/* Keep long writing entries readable: do not underline the entire linked block. */
.writing-item > a:hover,
.writing-item > a:focus-visible,
.writing-image-item > a:hover,
.writing-image-item > a:focus-visible {
  text-decoration: none;
}

.writing-item > a:hover .writing-title,
.writing-item > a:focus-visible .writing-title {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}


/* Homepage is a label-free, three-part composition. */
body[data-page="home"] .home-column {
  padding-top: var(--page-pad);
}

body[data-page="home"] .daily-card figcaption,
body[data-page="home"] .writing-image-item figcaption {
  display: none;
}

body[data-page="home"] .daily-card,
body[data-page="home"] .writing-image-item,
body[data-page="home"] .writing-item {
  margin-top: 0;
}


/* Give the two image columns more visual weight on the homepage. */
body[data-page="home"] .home-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, 0.7fr) minmax(0, 1.35fr);
}

body[data-page="home"] .home-drawings,
body[data-page="home"] .home-images {
  padding: clamp(14px, 1.7vw, 26px);
}

body[data-page="home"] .home-drawings .daily-card img,
body[data-page="home"] .home-images .daily-card img {
  width: 100%;
  max-height: calc(100vh - 2 * clamp(14px, 1.7vw, 26px));
  object-fit: contain;
}

body[data-page="home"] .home-drawings .daily-card img {
  object-position: center top;
}

body[data-page="home"] .home-images .daily-card img {
  object-position: center top;
}

@media (max-width: 900px) {
  body[data-page="home"] .home-grid {
    display: block;
  }

  body[data-page="home"] .home-drawings .daily-card img,
  body[data-page="home"] .home-images .daily-card img {
    max-height: none;
  }
}


/* Smaller, more restrained descriptive copy across artwork and project pages. */
.archive-description {
  max-width: 680px;
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.55;
}

.project-description {
  max-width: 42rem;
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.55;
}

.project-credits {
  font-size: clamp(12px, 0.9vw, 14px);
}

.bio-copy {
  font-size: clamp(16px, 1.65vw, 23px);
}



/* Typography and navigation spacing inspired by the Anton Rahlwes reference. */
html {
  font-family: "Arial Narrow", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-stretch: condensed;
}

body {
  line-height: 1.28;
}

.site-header {
  gap: 27px;
}

.site-name {
  font-weight: 400;
  line-height: 1.2;
}

.site-nav {
  gap: 3px;
  line-height: 1.2;
}

.site-nav a {
  display: block;
  padding: 0;
}

.archive-description,
.project-description,
.bio-copy,
.writing-excerpt {
  line-height: 1.42;
}

.archive-description p,
.project-description p {
  margin-bottom: 1em;
}

figcaption,
.item-meta,
.project-meta,
.archive-medium,
.archive-instruction {
  line-height: 1.25;
}

@media (max-width: 900px) {
  .site-header {
    gap: 14px;
  }

  .site-nav {
    gap: 4px 15px;
    line-height: 1.2;
  }
}


/* Serif typography */
html {
  font-family: "Cardo", "Times New Roman", Times, serif;
  font-size: 15px;
  font-stretch: normal;
}

button,
input,
textarea,
select {
  font: inherit;
}

.site-name,
.site-nav {
  font-weight: 400;
}

.site-nav {
  gap: 4px;
  line-height: 1.18;
}

body {
  line-height: 1.32;
}

.archive-description,
.project-description,
.bio-copy,
.writing-excerpt {
  line-height: 1.48;
}


/* Homepage triptych */
body[data-page="home"] {
  overflow: hidden;
}

.home-triptych {
  margin-left: var(--menu-width);
  min-height: 100vh;
  padding: clamp(26px, 4vw, 64px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 42px);
  align-items: center;
}

.home-frame {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #f7f7f5;
}
.home-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transform: scale(1);
}
.home-frame.is-empty {
  background: #fff;
  border: 1px solid var(--border);
}
to { transform: scale(1.003); }
}
.home-frame img {
}
}

@media (max-width: 900px) {
  body[data-page="home"] { overflow: auto; }

  .home-triptych {
    margin-left: 0;
    min-height: auto;
    padding: 22px 18px 52px;
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .home-frame {
    max-width: 520px;
    margin-inline: auto;
  }
}


body[data-page="home"] .home-frame img {
  opacity: 1;
  transform: none;
  transition: none;
}


/* Five-image homepage composition */
.home-five {
  margin-left: var(--menu-width);
  min-height: 100vh;
  padding: clamp(26px, 3.5vw, 58px);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(10px, 1.35vw, 24px);
  align-items: center;
}

.home-five .home-frame {
  width: 100%;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: #f7f7f5;
}

.home-five .home-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transform: none;
  transition: none;
}

.home-five .home-frame.is-empty {
  background: #fff;
  border: 1px solid var(--border);
}

@media (max-width: 1100px) {
  .home-five {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .home-five {
    margin-left: 0;
    min-height: auto;
    padding: 22px 18px 52px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

@media (max-width: 520px) {
  .home-five {
    grid-template-columns: 1fr;
  }

  .home-five .home-frame {
    max-width: 420px;
    margin-inline: auto;
  }
}


.sound-toggle {
  position: fixed;
  left: var(--page-pad);
  bottom: var(--page-pad);
  z-index: 40;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
}

.sound-toggle:hover,
.sound-toggle:focus-visible,
.sound-toggle[aria-pressed="true"] {
  color: #111;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

@media (max-width: 900px) {
  .sound-toggle {
    position: static;
    display: block;
    margin: 0 18px 24px;
  }
}




/* Smaller centered five-image composition, preserving the existing aspect ratio */
.home-five {
  width: min(980px, calc(100vw - var(--menu-width) - 120px));
  min-height: 100vh;
  margin-left: calc(
    var(--menu-width) + max(60px, (100vw - var(--menu-width) - min(980px, calc(100vw - var(--menu-width) - 120px))) / 2)
  );
  padding: 0;
  gap: clamp(10px, 1vw, 18px);
  align-items: center;
}

@media (max-width: 1100px) {
  .home-five {
    width: auto;
    margin-left: var(--menu-width);
    padding: 28px;
  }
}

@media (max-width: 900px) {
  .home-five {
    width: auto;
    margin-left: 0;
    padding: 22px 18px 52px;
  }
}


/* Tighter, narrower left navigation */
:root {
  --menu-width: clamp(126px, 11.5vw, 170px);
}

.site-header {
  gap: 18px;
  padding: clamp(16px, 1.7vw, 26px);
}

.site-nav {
  gap: 1px;
  line-height: 1.08;
}

.site-name {
  line-height: 1.08;
}

@media (max-width: 900px) {
  :root {
    --menu-width: 100%;
  }

  .site-header {
    gap: 12px;
    padding: 16px 18px;
  }

  .site-nav {
    gap: 3px 14px;
    line-height: 1.08;
  }
}

[data-bio] { white-space: pre-line; }


/* Bio page: text with a falling curve of linked practices */
.bio-composition {
  position: relative;
  margin-left: var(--menu-width);
  min-height: 100vh;
  padding: clamp(52px, 8vw, 120px) clamp(42px, 7vw, 110px);
}

.bio-text-block {
  max-width: 660px;
  font-size: clamp(18px, 1.65vw, 25px);
  line-height: 1.36;
}

.bio-text-block p {
  margin: 0 0 1.65em;
}

.bio-contact {
  margin-bottom: 0.95em !important;
}

.bio-practice-links {
  position: absolute;
  inset: 0;
  pointer-events: none;
  font-size: clamp(19px, 1.8vw, 27px);
  line-height: 1;
}

.practice-link {
  position: absolute;
  color: inherit;
  text-decoration: none;
  pointer-events: auto;
  white-space: nowrap;
}

.practice-link:hover,
.practice-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

/* A descending arc from upper center toward lower right */
.practice-drawing {
  top: 21%;
  left: 53%;
}

.practice-painting {
  top: 24%;
  left: 59%;
}

.practice-sculpture {
  top: 28%;
  left: 65%;
}

.practice-performance {
  top: 34%;
  left: 71%;
}

.practice-ceramics {
  top: 42%;
  left: 76%;
}

.practice-sound {
  top: 49%;
  left: 80%;
}

.practice-archive {
  top: 55%;
  left: 82%;
}

@media (max-width: 1100px) {
  .bio-text-block {
    max-width: 56vw;
  }

  .practice-drawing { left: 57%; }
  .practice-painting { left: 62%; }
  .practice-sculpture { left: 68%; }
  .practice-performance { left: 73%; }
  .practice-ceramics { left: 77%; }
  .practice-sound { left: 80%; }
  .practice-archive { left: 81%; }
}

@media (max-width: 900px) {
  .bio-composition {
    margin-left: 0;
    padding: 42px 18px 70px;
  }

  .bio-text-block {
    max-width: none;
    font-size: 19px;
  }

  .bio-practice-links {
    position: static;
    margin: 26px 0 54px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px 8px;
    font-size: 19px;
  }

  .practice-link {
    position: static;
  }
}


/* Three-part editorial homepage */
body[data-page="home"] {
  overflow: auto;
}

body[data-page="home"] .sound-toggle {
  display: none;
}

.home-index-layout {
  margin-left: var(--menu-width);
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.72fr);
}

.home-bio-column,
.home-work-column {
  min-width: 0;
  padding: var(--page-pad);
  font-size: var(--font-size);
}

.home-bio-column {
  border-right: 1px solid var(--border);
  line-height: 1.28;
}

.home-bio-column p {
  max-width: 48rem;
  margin: 0 0 1.05em;
}

.home-work-column {
  line-height: 1.12;
}

.home-work-index {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.home-work-index a {
  display: block;
  max-width: 100%;
  margin: 0 0 0.18em;
  padding: 0;
  text-decoration: none;
  white-space: nowrap;
}

.home-work-index a:hover,
.home-work-index a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

@media (max-width: 900px) {
  .home-index-layout {
    margin-left: 0;
    display: block;
  }

  .home-bio-column {
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .home-work-index a {
    white-space: normal;
  }
}


/* Homepage baseline grid: one font, one weight, one shared vertical rhythm */
body[data-page="home"] {
  --home-font-size: 14px;
  --home-line-height: 18px;
  font-family: "Cardo", "Times New Roman", Times, serif;
  font-size: var(--home-font-size);
  font-weight: 400;
  line-height: var(--home-line-height);
}

body[data-page="home"] .site-header,
body[data-page="home"] .site-name,
body[data-page="home"] .site-nav,
body[data-page="home"] .site-nav a,
body[data-page="home"] .home-bio-column,
body[data-page="home"] .home-bio-column p,
body[data-page="home"] .home-work-column,
body[data-page="home"] .home-work-index,
body[data-page="home"] .home-work-index a {
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: var(--home-line-height);
  letter-spacing: 0;
}

body[data-page="home"] .site-header {
  padding: var(--page-pad);
  gap: calc(var(--home-line-height) * 2);
}

body[data-page="home"] .site-name {
  margin: 0;
  height: var(--home-line-height);
}

body[data-page="home"] .site-nav {
  display: grid;
  grid-auto-rows: var(--home-line-height);
  gap: 0;
  align-content: start;
}

body[data-page="home"] .site-nav a {
  display: block;
  height: var(--home-line-height);
  margin: 0;
  padding: 0;
}

body[data-page="home"] .home-index-layout {
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
}

body[data-page="home"] .home-bio-column,
body[data-page="home"] .home-work-column {
  padding: var(--page-pad);
}

body[data-page="home"] .home-bio-column p {
  margin: 0 0 calc(var(--home-line-height) * 2);
  max-width: 52rem;
}

body[data-page="home"] .home-bio-column p:last-child {
  margin-bottom: 0;
}

body[data-page="home"] .home-work-index {
  display: grid;
  grid-auto-rows: var(--home-line-height);
  gap: 0;
  align-content: start;
}

body[data-page="home"] .home-work-index a {
  height: var(--home-line-height);
  margin: 0;
  padding: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
}

@media (max-width: 900px) {
  body[data-page="home"] .site-header {
    gap: var(--home-line-height);
  }

  body[data-page="home"] .site-nav {
    display: flex;
    gap: 0 14px;
  }

  body[data-page="home"] .site-nav a,
  body[data-page="home"] .home-work-index a {
    height: auto;
    white-space: normal;
  }
}


/* Homepage menu and paragraph rhythm refinements */
body[data-page="home"] {
  --home-line-height: 18px;
}

/* Enough width for “Installation + Performance” without wrapping. */
body[data-page="home"] {
  --menu-width: clamp(190px, 14vw, 220px);
}

/* Name flows directly into the menu with no blank row. */
body[data-page="home"] .site-header {
  gap: 0;
}

body[data-page="home"] .site-name {
  height: var(--home-line-height);
  margin: 0;
}

/* Natural rows prevent overlap while preserving the baseline rhythm. */
body[data-page="home"] .site-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  line-height: var(--home-line-height);
}

body[data-page="home"] .site-nav a {
  display: block;
  min-height: var(--home-line-height);
  height: auto;
  margin: 0;
  padding: 0;
  line-height: var(--home-line-height);
  white-space: nowrap;
}

/* Exactly one line of space between bio paragraphs. */
body[data-page="home"] .home-bio-column p {
  margin: 0 0 var(--home-line-height);
}

body[data-page="home"] .home-bio-column p:last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  body[data-page="home"] {
    --menu-width: 100%;
  }

  body[data-page="home"] .site-nav {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 14px;
  }

  body[data-page="home"] .site-nav a {
    white-space: normal;
  }
}


/* Remove all homepage separation lines */
body[data-page="home"] .site-header,
body[data-page="home"] .home-bio-column,
body[data-page="home"] .home-work-column {
  border: 0 !important;
}


/* Walking Without Traveling — 100 × 100 grid */
.zine-page {
  margin-left: var(--menu-width);
  min-height: 100vh;
  background: #fff;
}

.zine-canvas {
  position: relative;
  display: grid;
  grid-template-columns: repeat(100, minmax(0, 1fr));
  grid-template-rows: repeat(100, minmax(0, 1fr));
  width: 100%;
  aspect-ratio: 747 / 2048;
  overflow: hidden;
  isolation: isolate;
  background: #f4f4f2;
}

.zine-background {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.zine-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.zine-layer-texture {
  z-index: 0;
  object-fit: cover;
  object-position: center;
}

.zine-layer-weaving {
  z-index: 1;
  object-fit: cover;
  object-position: center bottom;
  opacity: 0.96;
}

.zine-layer-web {
  z-index: 2;
  object-fit: cover;
  object-position: center;
  opacity: 0.9;
}

.zine-item {
  position: relative;
  z-index: 3;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.zine-main-video {
  grid-column: 40 / 82;
  grid-row: 3 / 17;
  object-fit: cover;
}

.zine-description {
  grid-column: 14 / 96;
  grid-row: 18 / 23;
  object-position: left center;
}

.zine-path-text {
  grid-column: 13 / 31;
  grid-row: 24 / 43;
  object-position: left top;
}

.zine-flames {
  grid-column: 54 / 75;
  grid-row: 23 / 38;
  object-fit: cover;
}

.zine-leaves {
  grid-column: 75 / 96;
  grid-row: 23 / 38;
  object-fit: cover;
}

.zine-detail-video {
  grid-column: 39 / 69;
  grid-row: 40 / 59;
  object-fit: cover;
}

.zine-cover-photo {
  grid-column: 69 / 97;
  grid-row: 38 / 56;
  object-fit: cover;
}

.zine-title {
  grid-column: 13 / 31;
  grid-row: 61 / 99;
  object-position: left bottom;
}

.zine-foldout {
  grid-column: 34 / 91;
  grid-row: 62 / 92;
  object-fit: contain;
  object-position: center top;
}

@media (max-width: 900px) {
  .zine-page {
    margin-left: 0;
  }

  .zine-canvas {
    min-width: 760px;
  }

  .zine-page {
    overflow-x: auto;
  }
}


/* Corrected Walking Without Traveling scaling */
.zine-canvas {
  aspect-ratio: 747 / 2048;
  background: #f4f4f2;
}

/* Base paper texture: fill the page without zoom-cropping. */
.zine-layer-texture {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  object-position: center;
}

/* The two transparent illustration layers are positioned and scaled
   independently to match the supplied reference composition. */
.zine-layer-weaving {
  inset: auto;
  left: -7%;
  top: 39%;
  width: 77%;
  height: auto;
  object-fit: contain;
  object-position: left top;
  opacity: 1;
}

.zine-layer-web {
  inset: auto;
  left: 31%;
  top: 27%;
  width: 65%;
  height: auto;
  object-fit: contain;
  object-position: left top;
  opacity: 1;
}

/* Never crop project artwork or videos. */
.zine-item,
.zine-main-video,
.zine-detail-video,
.zine-flames,
.zine-leaves,
.zine-cover-photo,
.zine-foldout,
.zine-description,
.zine-path-text,
.zine-title {
  object-fit: contain !important;
}

/* Refined placements based on the supplied 747 × 2048 reference layout. */
.zine-main-video {
  grid-column: 41 / 80;
  grid-row: 3 / 16;
}

.zine-description {
  grid-column: 13 / 96;
  grid-row: 18 / 22;
  object-position: left center;
}

.zine-path-text {
  grid-column: 13 / 29;
  grid-row: 24 / 42;
  object-position: left top;
}

.zine-flames {
  grid-column: 54 / 74;
  grid-row: 23 / 36;
  object-position: center;
}

.zine-leaves {
  grid-column: 75 / 95;
  grid-row: 23 / 36;
  object-position: center;
}

.zine-detail-video {
  grid-column: 40 / 67;
  grid-row: 40 / 57;
  object-position: center;
}

.zine-cover-photo {
  grid-column: 70 / 97;
  grid-row: 38 / 55;
  object-position: center;
}

.zine-title {
  grid-column: 12 / 29;
  grid-row: 61 / 99;
  object-position: left bottom;
}

.zine-foldout {
  grid-column: 34 / 91;
  grid-row: 62 / 91;
  object-position: center top;
}


/* Final zine background placement from the supplied layout guide */
.zine-canvas {
  background: #fff;
}

/* Cropped paper texture begins well down the page and fills only the lower area. */
.zine-layer-texture {
  inset: auto;
  left: 0;
  top: 57%;
  width: 100%;
  height: 43%;
  object-fit: fill;
  object-position: center top;
  opacity: 1;
}

/* Web illustration begins at the absolute left edge of the artwork canvas. */
.zine-layer-web {
  inset: auto;
  left: -1%;
  top: 41%;
  width: 54%;
  height: auto;
  object-fit: contain;
  object-position: left top;
  opacity: 1;
}

/* Weaving/text illustration occupies the middle-right section. */
.zine-layer-weaving {
  inset: auto;
  left: 27%;
  top: 27%;
  width: 71%;
  height: auto;
  object-fit: contain;
  object-position: left top;
  opacity: 1;
}


/* Exact zine-page composition based on the supplied 747 × 2048 layout.
   The menu is outside this canvas, so the working artboard is 662 × 2048. */
.zine-page {
  margin-left: var(--menu-width);
  width: calc(100vw - var(--menu-width));
  overflow: hidden;
  background: #fff;
}

.zine-canvas {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 662 / 2048;
  overflow: hidden;
  background: #fff;
  isolation: isolate;
}

.zine-background,
.zine-item,
.zine-layer {
  position: absolute;
}

.zine-background {
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.zine-layer {
  pointer-events: none;
}

.zine-layer-texture {
  left: 0;
  top: 57.2%;
  width: 100%;
  height: 42.8%;
  object-fit: fill;
  opacity: 1;
  z-index: 0;
}

.zine-layer-weaving {
  left: 22.5%;
  top: 24.3%;
  width: 76.8%;
  height: auto;
  object-fit: contain;
  opacity: 1;
  z-index: 1;
}

.zine-layer-web {
  left: -12.8%;
  top: 42.4%;
  width: 69%;
  height: auto;
  object-fit: contain;
  opacity: 1;
  z-index: 2;
}

.zine-item {
  z-index: 3;
  display: block;
  height: auto;
  object-fit: contain !important;
  margin: 0;
}

/* Top row */
.zine-cover-photo {
  left: 2.7%;
  top: 3.8%;
  width: 21.3%;
}

.zine-main-video {
  left: 33.5%;
  top: 1.25%;
  width: 53.6%;
  height: 14.1%;
  object-fit: contain !important;
}

.zine-description {
  left: 2.5%;
  top: 16.25%;
  width: 95.5%;
  height: auto;
}

/* Middle composition */
.zine-path-text {
  left: 2.5%;
  top: 20.0%;
  width: 16.2%;
  height: auto;
}

.zine-flames {
  left: 40.8%;
  top: 20.0%;
  width: 29.8%;
  height: auto;
}

.zine-leaves {
  left: 70.8%;
  top: 20.0%;
  width: 29.2%;
  height: auto;
}

.zine-detail-video {
  left: 40.5%;
  top: 37.0%;
  width: 30%;
  height: 14.6%;
  object-fit: contain !important;
}

/* Lower composition */
.zine-title {
  left: 2.6%;
  top: 59.0%;
  width: 15.2%;
  height: auto;
}

.zine-foldout {
  left: 24.4%;
  top: 59.7%;
  width: 63.7%;
  height: auto;
}

@media (max-width: 900px) {
  .zine-page {
    margin-left: 0;
    width: 100%;
    overflow-x: auto;
  }

  .zine-canvas {
    width: 760px;
    min-width: 760px;
  }
}


/* Equal-size paired artwork and newest background texture */
.zine-flames,
.zine-leaves {
  top: 20%;
  width: 29.5%;
  height: 16.2%;
  object-fit: contain !important;
  object-position: center center;
}

.zine-flames {
  left: 40.5%;
}

.zine-leaves {
  left: 70.5%;
}


/* Zine refinements */
.zine-playlist-link {
  position: absolute;
  z-index: 4;
  left: 2.5%;
  top: 18.8%;
  font-size: 14px;
  line-height: 1.2;
  color: #ff5a1f;
  text-decoration: none;
}

.zine-playlist-link:hover,
.zine-playlist-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

/* Make the vertical title smaller so it stays fully visible. */
.zine-title {
  left: 3.6%;
  top: 61.2%;
  width: 11.8%;
  max-height: 36%;
  object-fit: contain !important;
  object-position: left bottom;
}

/* Pair the two images with no visible gap between them. */
.zine-flames,
.zine-leaves {
  top: 20%;
  width: 29.75%;
  height: 16.2%;
  object-fit: contain !important;
  object-position: center center;
}

.zine-flames {
  left: 40.5%;
}

.zine-leaves {
  left: 70.25%;
}


/* Playlist link positioned beside the top video */
.zine-playlist-link {
  position: absolute;
  z-index: 5;
  left: 88.15%;
  top: 3.05%;
  width: 2.2%;
  height: 8.6%;
  display: block;
  text-decoration: none;
}

.zine-playlist-link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
}

.zine-playlist-link:hover,
.zine-playlist-link:focus-visible {
  text-decoration: none;
  opacity: 0.72;
}


/* Exact top alignment: playlist starts on the same horizontal line as the main video */
.zine-playlist-link {
  top: 1.25% !important;
  left: 88.15% !important;
  width: 2.2% !important;
  height: 8.6% !important;
}

.zine-playlist-link img {
  object-position: top center !important;
}

body[data-page="drawings"] {
  --drawing-font-size: 14px;
  --drawing-line-height: 18px;
  font-family: "Cardo", "Times New Roman", Times, serif;
  font-size: var(--drawing-font-size);
  font-weight: 400;
  line-height: var(--drawing-line-height);
}
body[data-page="drawings"] .archive-introduction,
body[data-page="drawings"] .archive-introduction h1,
body[data-page="drawings"] .archive-medium,
body[data-page="drawings"] .archive-description,
body[data-page="drawings"] .archive-description p,
body[data-page="drawings"] .archive-instruction {
  font: inherit;
  letter-spacing: 0;
}
body[data-page="drawings"] .archive-introduction {
  display: grid;
  grid-template-columns: minmax(180px, .42fr) minmax(0, 1fr);
  column-gap: var(--page-pad);
  max-width: none;
  margin-bottom: calc(var(--drawing-line-height) * 4);
}
body[data-page="drawings"] .archive-introduction h1 { grid-column: 1; margin: 0; }
body[data-page="drawings"] .archive-medium { grid-column: 1; margin: var(--drawing-line-height) 0 0; }
body[data-page="drawings"] .archive-description {
  grid-column: 2;
  grid-row: 1 / span 3;
  max-width: 56rem;
  margin: 0;
}
body[data-page="drawings"] .archive-description p { margin: 0 0 var(--drawing-line-height); }
body[data-page="drawings"] .archive-description p:last-child { margin-bottom: 0; }
body[data-page="drawings"] .archive-instruction {
  grid-column: 1;
  margin: calc(var(--drawing-line-height) * 2) 0 0;
}

body[data-page="paintings"] .archive-grid,
body[data-page="ceramics"] .archive-grid,
body[data-page="ink"] .archive-grid { display: block; }

body[data-page="paintings"] .archive-item,
body[data-page="ceramics"] .archive-item,
body[data-page="ink"] .archive-item {
  min-height: calc(100vh - 100px);
  margin: 0 0 clamp(40px, 8vh, 110px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
body[data-page="paintings"] .archive-item button,
body[data-page="ceramics"] .archive-item button,
body[data-page="ink"] .archive-item button { width: min(100%, 980px); }

body[data-page="paintings"] .archive-item img,
body[data-page="ceramics"] .archive-item img,
body[data-page="ink"] .archive-item img {
  width: auto;
  max-width: 100%;
  max-height: 82vh;
  object-fit: contain;
  object-position: left center;
}
body[data-page="paintings"] .archive-item figcaption,
body[data-page="ceramics"] .archive-item figcaption,
body[data-page="ink"] .archive-item figcaption {
  width: min(100%, 980px);
  margin-top: 10px;
}
@media (max-width: 900px) {
  body[data-page="drawings"] .archive-introduction { display: block; }
  body[data-page="drawings"] .archive-description { margin-top: calc(var(--drawing-line-height) * 2); }
  body[data-page="paintings"] .archive-item,
  body[data-page="ceramics"] .archive-item,
  body[data-page="ink"] .archive-item { min-height: auto; margin-bottom: 70px; }
  body[data-page="paintings"] .archive-item img,
  body[data-page="ceramics"] .archive-item img,
  body[data-page="ink"] .archive-item img { max-height: none; }
}


/* Ink page: middle-gray field */
body[data-page="ink"],
body[data-page="ink"] .site-header,
body[data-page="ink"] .archive-main,
body[data-page="ink"] .lightbox,
body[data-page="ink"] .lightbox::backdrop {
  background: #8f8f8f;
}

body[data-page="ink"] {
  color: #111;
}

body[data-page="ink"] .site-header {
  border-color: rgba(0, 0, 0, 0.28);
}

body[data-page="ink"] .lightbox {
  color: #111;
}

/* Keep the thin crop-mark mask consistent with the gray page. */
body[data-page="ink"] .archive-item button::after {
  background: #8f8f8f;
}


/* Unified site grid and baseline alignment */
:root {
  --site-font-size: 14px;
  --site-line-height: 18px;
  --site-menu-width: clamp(190px, 14vw, 220px);
  --site-pad: clamp(18px, 2vw, 30px);
}

html {
  font-family: "Cardo", "Times New Roman", Times, serif;
  font-size: var(--site-font-size);
  line-height: var(--site-line-height);
}

body {
  font-size: var(--site-font-size);
  line-height: var(--site-line-height);
}

.site-header {
  width: var(--site-menu-width);
  padding: var(--site-pad);
  gap: 0;
}

.site-name,
.site-nav,
.site-nav a {
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: var(--site-line-height);
  letter-spacing: 0;
}

.site-name {
  display: block;
  height: var(--site-line-height);
  margin: 0;
}

.site-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: flex-start;
}

.site-nav a {
  min-height: var(--site-line-height);
  height: auto;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

/* Every page begins on the same vertical line as the site name. */
.home-index-layout,
.archive-main,
.bio-main,
.bio-composition,
.film-main,
.projects-index,
.project-split,
.zine-page {
  margin-left: var(--site-menu-width);
}

.archive-main,
.bio-main,
.film-main {
  padding: var(--site-pad);
}

.archive-title,
.archive-introduction,
.bio-main > h1,
.film-heading,
.projects-list h1,
.project-text,
.home-bio-column,
.home-work-column {
  margin-top: 0;
}

.archive-title h1,
.archive-introduction h1,
.bio-main h1,
.film-heading h1,
.project-text h1,
.projects-list h1 {
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: var(--site-line-height);
  margin-top: 0;
}

/* Drawings title/subtext alignment */
body[data-page="drawings"] .archive-introduction {
  display: grid;
  grid-template-columns: minmax(190px, 0.42fr) minmax(0, 1fr);
  column-gap: var(--site-pad);
  margin-top: 0;
}

body[data-page="drawings"] .archive-introduction h1 {
  grid-column: 1;
  margin: 0;
}

body[data-page="drawings"] .archive-medium {
  grid-column: 1;
  margin: 0;
  line-height: var(--site-line-height);
}

body[data-page="drawings"] .archive-description {
  grid-column: 2;
  grid-row: 1 / span 3;
  margin: 0;
  max-width: 56rem;
}

/* Remove residual enlargement instructions if hidden markup remains. */
.archive-instruction {
  display: none !important;
}

@media (max-width: 900px) {
  :root {
    --site-menu-width: 100%;
  }

  .site-header {
    width: 100%;
    padding: 16px 18px;
  }

  .site-nav {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 14px;
  }

  .site-nav a {
    white-space: normal;
  }

  .home-index-layout,
  .archive-main,
  .bio-main,
  .bio-composition,
  .film-main,
  .projects-index,
  .project-split,
  .zine-page {
    margin-left: 0;
  }

  body[data-page="drawings"] .archive-introduction {
    display: block;
  }

  body[data-page="drawings"] .archive-medium {
    margin-top: 0;
  }

  body[data-page="drawings"] .archive-description {
    margin-top: calc(var(--site-line-height) * 2);
  }
}


/* Active section in the menu */
.site-nav .active {
  font-style: italic;
  text-decoration: none;
}

/* Paintings, Ink, Ceramics: image with title and metadata aligned at top */
body[data-page="paintings"] .archive-main,
body[data-page="ink"] .archive-main,
body[data-page="ceramics"] .archive-main {
  padding-top: var(--site-pad);
}

body[data-page="paintings"] .archive-item,
body[data-page="ink"] .archive-item,
body[data-page="ceramics"] .archive-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 0.28fr);
  gap: var(--site-pad);
  align-items: start;
  min-height: calc(100vh - (var(--site-pad) * 2));
  margin: 0 0 clamp(48px, 10vh, 130px);
}

body[data-page="paintings"] .archive-item > button,
body[data-page="ink"] .archive-item > button,
body[data-page="ceramics"] .archive-item > button {
  grid-column: 1;
  width: 100%;
}

body[data-page="paintings"] .archive-item img,
body[data-page="ink"] .archive-item img,
body[data-page="ceramics"] .archive-item img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: calc(100vh - (var(--site-pad) * 2));
  object-fit: contain;
  object-position: left top;
}

.archive-item-caption {
  grid-column: 2;
  align-self: start;
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: var(--site-line-height);
}

.archive-item-title,
.archive-item-meta {
  display: block;
  margin: 0;
  padding: 0;
}

.archive-item-meta {
  margin-top: var(--site-line-height);
}

/* Ceramics: photos with the same title sit side by side as one work */
body[data-page="ceramics"] .archive-item-group {
  grid-template-columns: minmax(0, 1fr) minmax(170px, 0.28fr);
}

.archive-group-images {
  grid-column: 1;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  max-width: 100%;
  overflow-x: auto;
}

.archive-group-images button {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
}

body[data-page="ceramics"] .archive-group-images img {
  width: 100%;
  height: auto;
  max-height: calc(100vh - (var(--site-pad) * 2));
  object-fit: contain;
  object-position: left top;
}

/* Installation + Performance follows the same site grid and typography */
body[data-page="sculpture-performance"],
body[data-page="sculpture-performance-project"] {
  font-family: "Cardo", "Times New Roman", Times, serif;
  font-size: var(--site-font-size);
  font-weight: 400;
  line-height: var(--site-line-height);
}

body[data-page="sculpture-performance"] .projects-index,
body[data-page="sculpture-performance-project"] .project-split {
  margin-left: var(--site-menu-width);
}

body[data-page="sculpture-performance"] .projects-list,
body[data-page="sculpture-performance"] .projects-preview,
body[data-page="sculpture-performance-project"] .project-media,
body[data-page="sculpture-performance-project"] .project-text {
  padding: var(--site-pad);
}

body[data-page="sculpture-performance"] .project-cover,
body[data-page="sculpture-performance"] .project-cover strong,
body[data-page="sculpture-performance"] .project-cover span,
body[data-page="sculpture-performance"] .project-cover small,
body[data-page="sculpture-performance-project"] .project-text,
body[data-page="sculpture-performance-project"] .project-text h1,
body[data-page="sculpture-performance-project"] .project-meta,
body[data-page="sculpture-performance-project"] .project-description,
body[data-page="sculpture-performance-project"] .project-description p,
body[data-page="sculpture-performance-project"] .project-credits {
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: var(--site-line-height);
  letter-spacing: 0;
}

body[data-page="sculpture-performance"] .projects-list {
  padding-top: var(--site-pad);
}

body[data-page="sculpture-performance"] .project-cover {
  grid-template-columns: 32px minmax(0, 1fr);
  padding: 0;
  min-height: var(--site-line-height);
  border: 0;
}

body[data-page="sculpture-performance"] .project-cover strong {
  line-height: var(--site-line-height);
}

body[data-page="sculpture-performance-project"] .project-back {
  margin-bottom: calc(var(--site-line-height) * 2);
}

body[data-page="sculpture-performance-project"] .project-text h1 {
  margin: 0;
}

body[data-page="sculpture-performance-project"] .project-meta {
  margin: var(--site-line-height) 0 0;
}

body[data-page="sculpture-performance-project"] .project-description {
  margin-top: calc(var(--site-line-height) * 2);
}

body[data-page="sculpture-performance-project"] .project-description p {
  margin: 0 0 var(--site-line-height);
}

@media (max-width: 900px) {
  body[data-page="paintings"] .archive-item,
  body[data-page="ink"] .archive-item,
  body[data-page="ceramics"] .archive-item,
  body[data-page="ceramics"] .archive-item-group {
    display: block;
    min-height: auto;
  }

  .archive-item-caption {
    margin-top: var(--site-line-height);
  }

  .archive-item-meta {
    margin-top: 0;
  }

  .archive-group-images {
    overflow-x: auto;
  }

  .archive-group-images button {
    flex: 0 0 80%;
  }

  body[data-page="sculpture-performance"] .projects-index,
  body[data-page="sculpture-performance-project"] .project-split {
    margin-left: 0;
  }
}


/* Bio / Contact: plain shared grid, no curved practice links */
body[data-page="bio"] .bio-composition,
body[data-page="bio"] .bio-orbit,
body[data-page="bio"] .bio-curve,
body[data-page="bio"] .practice-links,
body[data-page="bio"] .bio-links-curve {
  display: none !important;
}

body[data-page="bio"] .bio-main.bio-grid-page {
  margin-left: var(--site-menu-width);
  padding: var(--site-pad);
  min-height: 100vh;
  font-family: "Cardo", "Times New Roman", Times, serif;
  font-size: var(--site-font-size);
  font-weight: 400;
  line-height: var(--site-line-height);
}

body[data-page="bio"] .bio-grid-content {
  display: grid;
  grid-template-columns: minmax(190px, 0.42fr) minmax(0, 1fr);
  column-gap: var(--site-pad);
  align-items: start;
  margin: 0;
  padding: 0;
}

body[data-page="bio"] .bio-grid-content p,
body[data-page="bio"] .bio-grid-content a {
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: var(--site-line-height);
  letter-spacing: 0;
}

body[data-page="bio"] .bio-grid-content p {
  grid-column: 2;
  margin: 0 0 var(--site-line-height);
}

body[data-page="bio"] .bio-grid-content a {
  color: inherit;
  text-decoration: none;
}

body[data-page="bio"] .bio-grid-content a:hover,
body[data-page="bio"] .bio-grid-content a:focus-visible {
  font-style: italic;
}

/* Painting caption: exact top-edge alignment with each image */
body[data-page="paintings"] .archive-item {
  align-items: start !important;
}

body[data-page="paintings"] .archive-item > button,
body[data-page="paintings"] .archive-item-caption {
  align-self: start !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body[data-page="paintings"] .archive-item > button,
body[data-page="paintings"] .archive-item > button img {
  display: block;
  line-height: 0;
  vertical-align: top;
}

body[data-page="paintings"] .archive-item-caption,
body[data-page="paintings"] .archive-item-title {
  transform: translateY(0);
  line-height: var(--site-line-height);
}

@media (max-width: 900px) {
  body[data-page="bio"] .bio-main.bio-grid-page {
    margin-left: 0;
  }

  body[data-page="bio"] .bio-grid-content {
    display: block;
  }
}


/* Paintings: use the same second/third-column division as the homepage */
body[data-page="paintings"] .archive-item {
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr) !important;
  column-gap: 0 !important;
}

body[data-page="paintings"] .archive-item > button {
  grid-column: 1;
  padding-right: var(--site-pad);
}

body[data-page="paintings"] .archive-item-caption {
  grid-column: 2;
  padding-left: var(--site-pad) !important;
  margin: 0 !important;
  align-self: start !important;
}

body[data-page="paintings"] .archive-item-title,
body[data-page="paintings"] .archive-item-meta {
  margin: 0;
  padding: 0;
}

@media (max-width: 900px) {
  body[data-page="paintings"] .archive-item > button {
    padding-right: 0;
  }

  body[data-page="paintings"] .archive-item-caption {
    padding-left: 0 !important;
  }
}


/* Sitewide text is solid black */
:root {
  --text: #000;
  --muted: #000;
  --ink: #000;
}

html,
body,
body * {
  color: #000;
}

a,
a:visited,
button,
figcaption,
small,
.project-meta,
.archive-item-meta,
.archive-medium {
  color: #000 !important;
  opacity: 1;
}

/* Prevent horizontal scrolling, including the zine composition */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.zine-page {
  width: calc(100vw - var(--site-menu-width)) !important;
  max-width: calc(100vw - var(--site-menu-width)) !important;
  overflow-x: hidden !important;
  box-sizing: border-box;
}

.zine-page *,
.zine-page *::before,
.zine-page *::after {
  box-sizing: border-box;
}

/* Ceramics follows the same homepage grid and begins flush with the top baseline */
body[data-page="ceramics"] .archive-main {
  padding-top: var(--site-pad) !important;
}

body[data-page="ceramics"] .archive-item,
body[data-page="ceramics"] .archive-item-group {
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr) !important;
  column-gap: 0 !important;
  align-items: start !important;
  justify-content: start !important;
  min-height: calc(100vh - (var(--site-pad) * 2));
}

body[data-page="ceramics"] .archive-group-images {
  grid-column: 1;
  align-self: start;
  padding-right: var(--site-pad);
  align-items: flex-start;
}

body[data-page="ceramics"] .archive-item-caption {
  grid-column: 2;
  align-self: start !important;
  margin: 0 !important;
  padding: 0 0 0 var(--site-pad) !important;
}

body[data-page="ceramics"] .archive-item-title {
  display: block;
  white-space: nowrap;
  overflow: visible;
  line-height: var(--site-line-height);
}

body[data-page="ceramics"] .archive-item-meta {
  white-space: normal;
  margin-top: var(--site-line-height);
}

body[data-page="ceramics"] .archive-group-images button,
body[data-page="ceramics"] .archive-group-images img {
  margin-top: 0 !important;
  padding-top: 0 !important;
  vertical-align: top;
}

/* Ink uses the same top-aligned homepage grid */
body[data-page="ink"] .archive-item {
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr) !important;
  column-gap: 0 !important;
  align-items: start !important;
}

body[data-page="ink"] .archive-item > button {
  padding-right: var(--site-pad);
}

body[data-page="ink"] .archive-item-caption {
  padding-left: var(--site-pad) !important;
  margin: 0 !important;
  align-self: start !important;
}

/* Installation pages: media and text start at the top, never vertically centered */
body[data-page="sculpture-performance"] .projects-index,
body[data-page="sculpture-performance-project"] .project-split {
  align-items: start !important;
}

body[data-page="sculpture-performance"] .projects-preview,
body[data-page="sculpture-performance-project"] .project-media,
body[data-page="sculpture-performance-project"] .project-text {
  align-self: start !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  padding-top: var(--site-pad) !important;
}

body[data-page="sculpture-performance"] .projects-preview img,
body[data-page="sculpture-performance-project"] .project-media img,
body[data-page="sculpture-performance-project"] .project-media video {
  display: block;
  margin: 0;
  object-position: left top;
}

body[data-page="sculpture-performance-project"] .project-text {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  .zine-page {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  body[data-page="ceramics"] .archive-group-images,
  body[data-page="ink"] .archive-item > button {
    padding-right: 0;
  }

  body[data-page="ceramics"] .archive-item-caption,
  body[data-page="ink"] .archive-item-caption {
    padding-left: 0 !important;
  }

  body[data-page="ceramics"] .archive-item-title {
    white-space: normal;
  }
}
