html, body { margin: 0; padding: 0; }

.canvas {
  position: relative;
  min-height: 120vh;
  padding: 7vh 6vw;
}

.block { position: absolute; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%); width: calc(var(--w) * 1%); }

.block-writing, .block-writing * { font-family: "Times New Roman", Times, serif; }

.writing-list { list-style: none; padding: 0; margin: 0; }
.writing-list li { line-height: 1.9; font-size: 1.05rem; white-space: nowrap; }

.writing-link { color: #61b6ff; text-decoration: underline; font-style: italic; }
.writing-link:visited { color: #61b6ff; }

.writing-by { margin-left: 0.35rem; color: #000; font-style: normal; }
.block-writing h2 {
  font-family: "Times New Roman", Times, serif;
  font-size: 1.05rem;
  font-weight: normal;
  text-decoration: underline;
  margin: 0 0 0.6rem 0;
}
/* REMOVE BULLETS AND FORCE CV STYLE */
.block-solo ul {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.block-solo li {
  list-style: none;
}
/* FORCE solo block to match selected writing */
.block-solo h2 {
  font-family: "Times New Roman", Times, serif;
  font-size: 1.05rem;
  font-weight: normal;
  text-decoration: underline;
  margin: 0 0 0.8rem 0;
}

.block-solo .cv-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

.block-solo .cv-list li {
  font-family: "Times New Roman", Times, serif;
  font-size: 1.05rem;
  line-height: 1.9;
  white-space: nowrap;
}

.block-solo .year {
  display: inline-block;
  width: 4rem;
}

.block-solo .cv-link,
.block-solo .cv-link:visited,
.block-solo .cv-link:hover,
.block-solo .cv-link:active {
  color: #61b6ff;
  text-decoration: underline;
  font-style: italic;
}
.block-solo .venue {
  margin-left: 0.6rem;
}
body {
  font-family: Georgia, "Times New Roman", serif;
  background: #EDEEEE;
  color: #000;
}
.plain-title {
  font-style: italic;
}

/* FORCE group exhibitions to match CV style */
.block-group,
.block-group * {
  font-family: "Times New Roman", Times, serif;
}

.block-group h2 {
  font-size: 1.05rem;
  font-weight: normal;
  text-decoration: underline;
  margin: 0 0 0.8rem 0;
}

.block-group ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.block-group li {
  font-size: 1.05rem;
  line-height: 1.9;
  white-space: nowrap;
}

.block-group .year {
  display: inline-block;
  width: 4rem;
}

.block-group .cv-link,
.block-group .cv-link:visited,
.block-group .cv-link:hover,
.block-group .cv-link:active {
  color: #61b6ff;
}
/* awards/residencies block heading matches others */
.block-awards h2 {
  font-family: "Times New Roman", Times, serif;
  font-size: 1.05rem;
  font-weight: normal;
  text-decoration: underline;
  margin: 0 0 0.8rem 0;
}

/* ensure venue spacing matches */
.block-awards .venue {
  margin-left: 0.6rem;
}

/* if not already present in your CSS */
.plain-title { font-style: italic; }
.block-awards ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.block-awards li {
  font-size: 1.05rem;
  line-height: 1.9;
  white-space: nowrap;
}

.block-awards .year {
  display: inline-block;
  width: 4rem;
}

.block-awards .venue {
  margin-left: 0.6rem;
}

.block-awards h2 {
  font-family: "Times New Roman", Times, serif;
  font-size: 1.05rem;
  font-weight: normal;
  text-decoration: underline;
  margin: 0 0 0.8rem 0;
}
/* residencies & awards — match CV link style */
.block-awards li {
  font-family: "Times New Roman", Times, serif;
  font-size: 1.05rem;      /* matches other sections */
  line-height: 1.9;
  white-space: nowrap;
}

/* make titles blue + italic */
.block-awards .plain-title {
  color: #61b6ff;
  font-style: italic;
}

/* year column alignment */
.block-awards .year {
  display: inline-block;
  width: 4rem;
}

/* venue spacing */
.block-awards .venue {
  margin-left: 0.6rem;
}
/* global bottom breathing space */
body {
  padding-bottom: 8rem;
}
/* global bottom breathing space */
body {
  padding-bottom: 8rem;
}
/* bottom breathing space for canvas-based layout */
.canvas {
  padding-bottom: 10rem;
}
.image-exhibitions {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
}

.image-column img {
  max-width: 140px;
  height: auto;
  display: block;
}


.text-column {
  flex: 1;
}
.image-column {
  margin-top: 3.5rem;
}
.image-exhibitions { 
  align-items: flex-start; 
}

.image-column { 
  margin-top: 3.5rem; 
}

.image-column img {
  max-width: 140px !important;
  width: 140px !important;
  height: auto !important;
  display: block;
}
.block-image img {
  width: 100%;
  height: auto;
  display: block;
}
/* match page background to artwork photo */
body {
  background: #EDEEEE;
}

/* ensure nothing paints a box */
main,
.canvas,
section {
  background: transparent;
}

.artwork img {
  display: block;
  background: transparent;
}
/* Match page background to the artwork photo background (remove the “box” look) */
html, body {
  background: #FFFFFF;
}

/* Make sure your main wrapper is not painting a different background */
.canvas,
main.canvas,
.page,
.wrapper {
  background: transparent;
}

/* If your image sits inside a container that might have a background, kill it */
.artwork,
.artwork img,
.artwork-wrap,
.figure,
figure {
  background: transparent;
  box-shadow: none;
  border: 0;
}
.artwork {
  position: absolute;
  right: 6vw;
  top: 38vh;
  width: 22vw;
}

.artwork img {
  width: 100%;
  height: auto;
  display: block;
}

.block-image img{
  display:block;
  max-width:100%;
  height:auto;

  /* no global fade */
  -webkit-mask-image: none;
  mask-image: none;

}
/* spacing between title and venue in selected group exhibitions */
.block-group .venue {
  margin-left: 0.6rem;
}
/* italics for titles in selected group exhibitions */
.block-group .cv-link {
  font-style: italic;
}
/* Mobile adaptation: stack content, preserve order */
@media (max-width: 768px) {
  .canvas {
    padding: 1.25rem;
  }

  .block {
    position: static;     /* stop absolute positioning */
    width: auto;
    margin-bottom: 1.5rem;
  }

  /* Headings and lists remain readable */
  h2 {
    margin-bottom: 0.5rem;
  }

  /* Links and text sizing for touch */
  body {
    font-size: 16px;
  }
}
/* Mobile adaptation: stack content, preserve order */
@media (max-width: 768px) {
  .canvas {
    padding: 1.25rem;
  }

  .block {
    position: static;     /* stop absolute positioning */
    width: auto;
    margin-bottom: 1.5rem;
  }

  /* Headings and lists remain readable */
  h2 {
    margin-bottom: 0.5rem;
  }

  /* Links and text sizing for touch */
  body {
    font-size: 16px;
  }
}
/* Mobile correction for absolute-positioned CV layout */
@media (max-width: 768px) {

  /* Make the canvas tall enough for all blocks */
  .canvas {
    min-height: 260vh;
  }

  /* Compress vertical spacing uniformly */
  .block {
    transform: translateY(calc(var(--y) * -0.45vh));
  }

}
/* Mobile layout reset: let content flow naturally */
@media (max-width: 768px) {

  .canvas {
    position: static;
    height: auto;
    min-height: auto;
  }

  .block {
    position: static !important;
    transform: none !important;
    width: auto;
    margin: 0 1rem 2.5rem 1rem;
  }

}
/* Mobile: stop text being forced onto one line */
@media (max-width: 768px) {

  /* allow the CV rows to wrap instead of running off screen */
  .cv-list li,
  .block-solo li,
  .block-group li,
  .block-awards li {
    white-space: normal !important;
  }

  /* make long venue text wrap nicely */
  .venue {
    white-space: normal !important;
    display: inline;
  }

  /* prevent the year column from reserving a huge fixed width */
  .year {
    width: auto !important;
    margin-right: 0.75rem;
  }

  /* safety: never hide horizontal overflow */
  body {
    overflow-x: hidden;
  }
}
/* Mobile: keep the desktop layout, just scale the whole page down */
@property --page-scale {
  syntax: "<number>";
  inherits: true;
  initial-value: 1;
}

@media (max-width: 900px) {
  :root {
    /* IMPORTANT: set this to your “desktop design width” (the width your layout was built for) */
    --page-w: 1200px;
    --page-scale: min(1, calc(100vw / var(--page-w)));
  }

  .page {
    width: var(--page-w);
    position: relative;
    left: 50%;
    transform-origin: top center;
    transform: translateX(-50%) scale(var(--page-scale));
  }

  body {
    margin: 0;
    overflow-x: hidden;
  }
}
body {
  background-color: #FADA5E;
}
body {
  background-color: #F6E27F;
}
body {
  background-color: #F3E6A1;
}
body {
  background-color: #DED0B6;
}
body {
  background-color: #E6D8C3;
}
body {
  background-color: #EFE4D3;
}







