/* Scoped presentation for the six public index / information pages. */
body.site-public-enhanced {
  --site-width: 100%;
  --site-public-max: 960px;
  --site-public-gutter: clamp(20px, 4vw, 48px);
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body.site-public-enhanced #site-root,
body.site-public-enhanced #PAGES_CONTAINER,
body.site-public-enhanced #SITE_PAGES { min-width: 0 !important; }
body.site-public-enhanced .site-public-flow,
body.site-public-enhanced .site-public-section {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  left: 0 !important;
  grid-area: auto !important;
}
body.site-public-enhanced .site-public-content {
  display: block !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: calc(var(--site-public-max) + 2 * var(--site-public-gutter));
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 24px var(--site-public-gutter) 64px !important;
}
body.site-public-enhanced .site-public-content > [id] {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  left: 0 !important;
  margin: 0 !important;
  grid-area: auto !important;
}

/* Keep the original seven links; the mobile control opens those same links. */
body.site-public-enhanced [data-mesh-id="SITE_HEADERinlineContent-gridContainer"],
body.site-public-enhanced [data-mesh-id="SITE_FOOTERinlineContent-gridContainer"] {
  display: block !important;
  min-height: 0 !important;
}
body.site-public-enhanced .site-public-menu {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  left: 0 !important;
  margin: 12px auto !important;
  padding: 0 var(--site-public-gutter);
  box-sizing: border-box;
  grid-area: auto !important;
}
body.site-public-enhanced .site-public-menu nav {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  height: auto !important;
}
body.site-public-enhanced .site-public-menu ul {
  display: flex !important;
  position: relative !important;
  inset: auto !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0 18px;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.site-public-enhanced .site-public-menu li {
  display: block !important;
  position: relative !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  left: auto !important;
  top: auto !important;
}
body.site-public-enhanced .site-public-menu li[id$="__more__"],
body.site-public-enhanced .site-public-menu .replica-menu-dropdown { display: none !important; }
body.site-public-enhanced .site-public-menu a {
  display: block;
  min-height: 44px;
  padding: 0 3px !important;
  color: #292929;
}
body.site-public-enhanced .site-public-menu a p {
  line-height: 44px !important;
  font-size: 15px !important;
}
body.site-public-enhanced .site-public-menu a[aria-current="page"] p {
  color: #111 !important;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}
.site-menu-toggle { display: none; }
body.site-public-enhanced :is(a, button):focus-visible {
  outline: 2px solid #303030;
  outline-offset: 4px;
}

/* The images and captions are always visible. No hover state carries content. */
body.site-public-enhanced .site-visible-matrix {
  height: auto !important;
  --text-align: left;
}
body.site-public-enhanced .site-visible-matrix [data-testid="matrix-gallery-items-container"] {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 44px 36px !important;
  margin: 0 !important;
}
body.site-public-enhanced .site-visible-matrix--exhibitions [data-testid="matrix-gallery-items-container"] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 36px 24px !important;
}
body.site-public-enhanced .site-visible-matrix [data-testid="gallery-item-item"],
body.site-public-enhanced .site-visible-matrix :is(.e4hutI, .nm6fdU, .VTWzFZ, .rETykE) {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
  aspect-ratio: auto !important;
}
body.site-public-enhanced .site-visible-matrix wow-image {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2;
  opacity: 1 !important;
  background: #fff;
}
body.site-public-enhanced .site-visible-matrix--exhibitions wow-image {
  aspect-ratio: 3 / 2 !important;
  overflow: hidden !important;
}
body.site-public-enhanced .site-visible-matrix img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1 !important;
  filter: none !important;
}
body.site-public-enhanced .site-visible-matrix--exhibitions img {
  object-fit: contain !important;
}
body.site-public-enhanced .site-visible-matrix [data-testid="gallery-item-panel"] {
  display: block !important;
  position: static !important;
  width: 100% !important;
  height: auto !important;
  margin-top: 14px;
  opacity: 1 !important;
  background: transparent !important;
}
body.site-public-enhanced .site-visible-matrix .WFsZav {
  display: block !important;
  padding: 0 !important;
}
body.site-public-enhanced .site-visible-matrix [data-testid="gallery-item-title"],
body.site-public-enhanced .site-visible-matrix [data-testid="gallery-item-description"] {
  display: block;
  height: auto !important;
  max-height: none !important;
  text-align: left !important;
  white-space: normal !important;
  text-overflow: clip !important;
  overflow: visible !important;
  overflow-wrap: anywhere;
  color: #202020 !important;
  font-family: Arial, sans-serif;
  font-size: 17px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}
body.site-public-enhanced .site-visible-matrix [data-testid="gallery-item-description"] {
  color: #5c5c5c !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-top: 5px !important;
}
body.site-public-enhanced .site-visible-matrix--books [data-testid="gallery-item-description"] {
  color: #202020 !important;
  font-size: 17px !important;
}

/* About: original paragraphs, ordered years, and real chapter anchors. */
body.site-public-about .site-public-content {
  display: grid !important;
  grid-template-columns: 180px minmax(0, 720px);
  justify-content: center;
  gap: 56px;
}
.site-about-sections {
  position: sticky;
  top: 24px;
  align-self: start;
  font: 14px/1.45 Arial, sans-serif;
}
.site-about-sections-label {
  margin: 0 0 12px;
  color: #717171;
  font-size: 12px;
  letter-spacing: .04em;
}
.site-about-sections a {
  display: block;
  padding: 10px 0;
  color: #303030;
  text-decoration: underline;
  text-decoration-color: #c9c9c9;
  text-underline-offset: 4px;
}
body.site-public-about .site-about-text {
  grid-column: 2;
  max-width: 720px;
  font: 16px/1.7 Arial, sans-serif;
}
body.site-public-about .site-about-text p {
  margin: 0 0 12px !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}
body.site-public-about .site-about-text .site-about-name {
  font-size: 20px !important;
  letter-spacing: .03em;
  margin-bottom: 10px !important;
}
body.site-public-about .site-about-text .site-about-intro:not(.site-about-bio) {
  font-size: 14px !important;
  color: #555;
  margin-bottom: 5px !important;
}
body.site-public-about .site-about-text .site-about-bio { margin: 24px 0 36px !important; }
body.site-public-about .site-about-text .site-about-spacer { display: none; }
body.site-public-about .site-about-text .site-cv-heading {
  border-top: 1px solid #dedede;
  padding-top: 20px;
  margin: 40px 0 22px !important;
  font-size: 17px !important;
  scroll-margin-top: 24px;
}
.site-cv-row {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  column-gap: 20px;
  margin-bottom: 20px;
}
body.site-public-about .site-about-text .site-cv-start { display: contents; }
.site-cv-year { grid-column: 1; color: #626262; font-size: 14px; line-height: 1.95; font-variant-numeric: tabular-nums; }
.site-cv-entries,
.site-cv-continuation { grid-column: 2; min-width: 0; }
.site-cv-year-break,
.site-cv-entries[hidden] { display: none; }
body.site-public-about .site-about-text .site-cv-continuation { margin: 0 !important; }

/* Home: retain all 43 original NEWS entries and the full first image. */
body.site-public-home #comp-ifkq7o6h { height: auto !important; aspect-ratio: 980 / 725; }
body.site-public-home #comp-ifkq7o6h :is(wow-image, wix-image, img) {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
body.site-public-home #comp-ifkq7o6i { margin: 40px 0 24px !important; }
body.site-public-home #comp-ifkq7o6i :is(p, h1, h2) { font-size: 17px !important; line-height: 1.5 !important; }
body.site-public-home .site-home-project-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 24px;
  margin: 20px 0 0;
  font: 13px/1.5 Arial, sans-serif;
}
body.site-public-home .site-home-project-label { color: #737373; }
body.site-public-home .site-home-project-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #333;
  text-decoration: underline;
  text-decoration-color: #c9c9c9;
  text-underline-offset: 4px;
}
body.site-public-home .replica-masonry-caption { padding: 16px 16px 24px !important; }
body.site-public-home .replica-masonry-caption h3 {
  font-size: 17px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-overflow: clip !important;
  overflow: visible !important;
}
body.site-public-home .replica-masonry-description {
  margin-top: 8px;
  font-size: 14px !important;
  line-height: 1.65 !important;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

/* The same-origin film document gets a natural height, avoiding nested scrolling. */
body.site-public-wawawow .site-public-content { padding-top: 0 !important; }
body.site-public-wawawow #comp-mvgw2m38 { min-height: 0 !important; }
body.site-public-wawawow #comp-mvgw2m38 iframe { display: block; width: 100%; border: 0; }
body.site-wawawow-document { font-size: 18px; line-height: 1.65; }
body.site-wawawow-document main {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 24px 0 40px;
}
body.site-wawawow-document h1 { font-size: 36px; line-height: 1.2; }
body.site-wawawow-document blockquote { margin: 28px auto 38px; }
body.site-wawawow-document .video-link { margin-top: 12px; font-size: 14px; }
body.site-wawawow-document .video-link a { display: inline-block; padding: 10px 0; }
body.site-wawawow-document section { margin-top: 52px; }
body.site-wawawow-document figure { margin-bottom: 24px; }
body.site-wawawow-document .references { margin-top: 64px; }

/* Contact: the real form handler and its status remain authoritative. */
body.site-public-contact .site-public-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
  gap: 24px 72px;
  max-width: calc(1000px + 2 * var(--site-public-gutter));
}
body.site-public-contact .site-public-content > #i10hb0ru { grid-area: 1 / 1 / 2 / 3 !important; }
body.site-public-contact .site-public-content > #i10jdi1s {
  grid-area: 2 / 1 / 3 / 2 !important;
  height: auto !important;
  max-width: 456px;
  aspect-ratio: 456 / 472;
}
body.site-public-contact #i10jdi1s :is(wow-image, wix-image, img) {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
body.site-public-contact .site-public-content > #i10ijuvk { grid-area: 3 / 1 / 4 / 2 !important; height: 44px !important; }
body.site-public-contact #i10ijuvk ul { display: flex; gap: 12px; }
body.site-public-contact #i10ijuvk li,
body.site-public-contact #i10ijuvk li a { width: 44px !important; height: 44px !important; position: relative !important; }
body.site-public-contact #i10ijuvk li img { width: 18px !important; height: 18px !important; object-fit: contain; }
body.site-public-contact .site-public-content > #i10il9wd { grid-area: 2 / 2 / 4 / 3 !important; }
body.site-public-contact #i10il9wd [data-testid="mesh-container-content"] {
  display: flex !important;
  flex-direction: column;
  min-height: 0 !important;
  gap: 16px;
}
body.site-public-contact #i10il9wd [data-testid="inline-content"],
body.site-public-contact #i10il9wd form,
body.site-public-contact #i10il9wd .replica-contact-field {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  left: 0 !important;
}
body.site-public-contact #i10il9wd .replica-contact-field { display: flex; flex-direction: column; }
body.site-public-contact #i10il9wd .replica-contact-label {
  position: static;
  order: -1;
  display: block;
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0 0 6px;
  font: 14px/1.4 Arial, sans-serif;
  color: #454545;
}
body.site-public-contact #i10il9wd .replica-contact-control {
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid #a9a9a9;
  font: 16px/1.5 Arial, sans-serif;
}
body.site-public-contact #i10il9wd textarea.replica-contact-control { min-height: 160px; resize: vertical; }
body.site-public-contact #i10il9wd #comp-kf56tiat {
  order: 6;
  width: 96px !important;
  height: 44px !important;
  margin: 0 !important;
  left: 0 !important;
}
body.site-public-contact #i10il9wd #comp-kf56tiat button { min-height: 44px; font-size: 15px; }
body.site-public-contact #i10il9wd #comp-kf56tib2 {
  order: 7;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  left: 0 !important;
}
body.site-public-contact #i10il9wd .replica-contact-direct {
  margin: 0 0 10px;
  font: 14px/1.65 Arial, sans-serif;
  color: #666;
}
body.site-public-contact #i10il9wd .replica-contact-direct a {
  display: inline-block;
  padding: 6px 0;
  color: #222;
  font-size: 18px;
  text-underline-offset: 4px;
}

/* Desktop uses a quieter reading scale; touch layouts retain their text size. */
@media (min-width: 768px) {
  body.site-public-enhanced .site-public-content { padding-top: 18px !important; padding-bottom: 52px !important; }
  body.site-public-enhanced .site-public-menu { margin: 8px auto !important; }
  body.site-public-enhanced .site-public-menu ul { gap: 0 16px; }
  body.site-public-enhanced .site-public-menu a p { font-size: 14px !important; }
  body.site-public-enhanced .site-visible-matrix [data-testid="gallery-item-panel"] { margin-top: 10px; }
  body.site-public-enhanced .site-visible-matrix [data-testid="gallery-item-title"],
  body.site-public-enhanced .site-visible-matrix--books [data-testid="gallery-item-description"],
  body.site-public-home .replica-masonry-caption h3 { font-size: 15px !important; line-height: 1.45 !important; }
  body.site-public-enhanced .site-visible-matrix--exhibitions [data-testid="gallery-item-description"],
  body.site-public-home .replica-masonry-description { font-size: 13px !important; line-height: 1.6 !important; }
  body.site-public-home .replica-masonry-caption { padding: 12px 12px 18px !important; }
  body.site-public-home #comp-ifkq7o6i { margin: 32px 0 20px !important; }
  body.site-public-about .site-public-content { grid-template-columns: 156px minmax(0, 660px); gap: 40px; }
  body.site-public-about .site-about-text,
  body.site-public-about .site-about-text p { font-size: 15px !important; line-height: 1.65 !important; }
  body.site-public-about .site-about-text .site-about-name { font-size: 18px !important; }
  body.site-public-about .site-about-text .site-cv-heading { font-size: 16px !important; }
  body.site-public-contact .site-public-content { grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); gap: 24px 56px; max-width: calc(900px + 2 * var(--site-public-gutter)); }
  body.site-public-contact #i10il9wd .replica-contact-direct a { font-size: 16px; }
  body.site-wawawow-document { font-size: 16px; }
  body.site-wawawow-document h1 { font-size: 30px; }
}

@media (max-width: 767px) {
  body.site-public-enhanced { --site-public-gutter: 20px; }
  body.site-public-enhanced .site-public-content { padding-top: 16px !important; padding-bottom: 40px !important; }
  body.site-public-enhanced .site-public-menu { margin: 8px 0 !important; }
  body.site-public-enhanced #i10cyktx nav { min-height: 44px; }
  body.site-public-enhanced #i10cyktx ul { display: flex !important; flex-direction: column; align-items: stretch; gap: 0; }
  body.site-public-enhanced #i10cyktx li { text-align: left !important; }
  body.site-public-enhanced #i10cyktx li:first-child { margin-right: 76px !important; }
  body.site-public-enhanced #i10cyktx li:not(:first-child) { display: none !important; }
  body.site-public-enhanced #i10cyktx[data-site-menu-open="true"] li:not(:first-child):not([id$="__more__"]) { display: block !important; }
  body.site-public-enhanced #i10cyktx a p { text-align: left !important; }
  body.site-public-enhanced .site-menu-toggle {
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    min-width: 60px;
    min-height: 44px;
    padding: 0 0 0 16px;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: #252525;
    font: 15px/44px Arial, sans-serif;
    text-align: right;
    cursor: pointer;
  }
  body.site-public-enhanced #i10k47da ul { gap: 0 16px; }
  body.site-public-enhanced #i10k47da a p { font-size: 14px !important; }
  body.site-public-enhanced .site-visible-matrix [data-testid="matrix-gallery-items-container"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 36px !important;
  }
  body.site-public-about .site-public-content { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  body.site-public-about .site-about-text { grid-column: 1; }
  .site-about-sections { position: static; display: flex; flex-wrap: wrap; gap: 0 18px; border-bottom: 1px solid #dedede; padding-bottom: 18px; }
  .site-about-sections-label { flex-basis: 100%; margin-bottom: 4px; }
  .site-about-sections a { padding: 10px 0; }
  .site-cv-row { grid-template-columns: 68px minmax(0, 1fr); column-gap: 12px; }
  .site-cv-year { font-size: 13px; line-height: 2.1; }
  body.site-public-home #comp-ifkq7o6i { margin: 28px 0 20px !important; }
  body.site-public-home .site-home-project-links { margin-top: 16px; column-gap: 22px; }
  body.site-public-home .site-home-project-label { flex-basis: 100%; }
  body.site-public-home .replica-masonry-caption { padding: 14px 8px 22px !important; }
  body.site-public-contact .site-public-content { grid-template-columns: minmax(0, 1fr); gap: 22px; max-width: 560px; }
  body.site-public-contact .site-public-content > #i10hb0ru { grid-area: 1 / 1 !important; }
  body.site-public-contact .site-public-content > #i10jdi1s { grid-area: 2 / 1 !important; max-width: 360px; justify-self: center; }
  body.site-public-contact .site-public-content > #i10ijuvk { grid-area: 3 / 1 !important; }
  body.site-public-contact .site-public-content > #i10il9wd { grid-area: 4 / 1 !important; }
}
@media (max-width: 600px) {
  body.site-wawawow-document { font-size: 17px; }
  body.site-wawawow-document main { padding-top: 12px; }
  body.site-wawawow-document h1 { font-size: 30px; }
  body.site-wawawow-document blockquote { font-size: 16px; margin: 24px auto 30px; }
  body.site-wawawow-document section { margin-top: 40px; }
  body.site-wawawow-document .references { gap: 16px; margin-top: 48px; }
}

/* Books: three complete images share one desktop row, with their original
   titles below. The wider page and navigation spacing apply only to Book. */
body.site-public-books { --site-public-max: 1040px; }
body.site-public-books .site-public-content {
  padding-top: 56px !important;
  padding-bottom: 96px !important;
}
body.site-public-books .site-visible-matrix--books [data-testid="matrix-gallery-items-container"] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 64px 40px !important;
}
body.site-public-books .site-visible-matrix--books wow-image {
  height: auto !important;
  aspect-ratio: 3 / 2 !important;
  overflow: hidden !important;
}
body.site-public-books .site-visible-matrix--books img {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
  object-fit: contain !important;
}
body.site-public-books .site-visible-matrix--books [data-testid="gallery-item-panel"] {
  margin-top: 16px !important;
}
body.site-public-books .site-visible-matrix--books [data-testid="gallery-item-description"] {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  body.site-public-books .site-public-content { padding-top: 40px !important; }
  body.site-public-books .site-visible-matrix--books [data-testid="matrix-gallery-items-container"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 64px !important;
  }
}
