:root {
  color: #111;
  font-family: 'Lucida Console', 'Lucida Sans Typewriter', monospace;
  font-size: 15px;
  line-height: 1.45;
}
* {
  box-sizing: border-box;
}
body {
  margin: 32px;
  background: #fff;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
  color: inherit;
}
.site-shell {
  max-width: 1500px;
}
.site-header {
  letter-spacing: 0.02em;
}
.site-header a {
  font-size: 1.1rem;
}
.site-header a:hover,
.site-header a:focus-visible {
  color: var(--name-color, #127c80);
}
.site-layout {
  display: flex;
  align-items: flex-start;
  gap: 112px;
  margin-top: 28px;
}
.sidebar {
  /* 26 monospace characters, their letter spacing, and the link indent. */
  --menu-width: calc(26ch + 0.52em + 11px);
  width: var(--menu-width);
  max-width: 100%;
  flex: 0 0 auto;
}
.nav-label {
  margin: 0 0 9px;
  font-weight: bold;
  text-transform: lowercase;
}
.secondary-nav {
  margin-top: 34px;
}
.sidebar nav > a,
.nav-group > a,
.nav-group button {
  display: block;
  margin: 0 0 9px 10px;
  text-align: left;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  letter-spacing: 0.02em;
}
.nav-group button {
  max-width: calc(100% - 10px);
}
.sidebar a,
.nav-group button {
  overflow-wrap: break-word;
}
.sidebar a:hover,
.sidebar a.active,
.nav-group button:hover {
  color: var(--accent, #6145bc);
}
.nav-group button.active {
  color: var(--accent);
}
.subnav {
  margin: 0 0 10px 16px;
}
.subnav a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 0.35em;
  margin: 0 0 9px;
}
.sidebar .subnav a {
  color: #000;
}
.sidebar .subnav a.active,
.sidebar .subnav a:hover,
.sidebar .subnav a:focus-visible {
  color: var(--accent);
}
.content-area {
  flex: 1;
  min-width: 0;
  max-width: 950px;
}
.gallery-heading {
  margin-bottom: 18px;
}
.project-statement { max-width: 68ch; line-height: 1.65; }
.project-statement p { font-family: 'Times New Roman', Times, serif; margin: 0 0 1.5em; }
.project-statement hr { border: 0; border-top: 1px solid #111; margin: 2em 0; }
h1,
h2 {
  font-size: 1rem;
  font-weight: 400;
  margin: 0 0 16px;
}
.gallery-heading p {
  margin: 0;
}
.artwork {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
}
.artwork img {
  display: block;
  width: 100%;
  height: min(74vh, 760px);
  object-fit: contain;
  object-position: left center;
}
.bordered .artwork img {
  border: 12px solid #111;
  height: auto;
  max-height: none;
}
:is(.corridor-images, .tiguex-photographs) {
  --corridor-height: min(calc(100cqw / 1.6), 81.4vh, 836px);
  container-type: inline-size;
}
.corridor-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--corridor-height);
}
@media (min-width: 751px) {
  .content-area:has(> .corridor-images) {
    margin-left: -56px;
    margin-top: calc(-28px - 1.595rem);
    max-width: 1006px;
  }
  .corridor-images {
    --corridor-height: min(calc(100cqw / 1.22), 94vh, 1000px);
  }
}
:is(.corridor-images, .tiguex-photographs) .artwork {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}
:is(.corridor-images, .tiguex-photographs) .artwork img {
  /* Reveal only after the natural aspect ratio sets the border dimensions. */
  visibility: hidden;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-position: center;
}
:is(.corridor-images, .tiguex-photographs) .artwork img.corridor-ready {
  visibility: visible;
}
:is(.corridor-images, .tiguex-photographs).borderless .artwork img {
  border: 0;
}
:is(.corridor-images, .tiguex-photographs) .gallery-controls .caption {
  order: 0;
  flex-basis: 100%;
  margin-left: 0;
  text-align: right;
}
:is(.corridor-images, .tiguex-photographs) .gallery-controls {
  display: grid;
  grid-template-columns: auto 1fr;
  /* Landscape prints are 2000 × 1644; include their two 12px borders. */
  width: min(100%, calc((var(--corridor-height) - 24px) * (2000 / 1644) + 24px));
  margin-inline: auto;
}
:is(.corridor-images, .tiguex-photographs) .gallery-buttons {
  align-items: center;
}
:is(.corridor-images, .tiguex-photographs) .gallery-controls .caption {
  grid-column: 2;
  min-width: 0;
}
.corridor-portrait .tiguex-zones {
  inset-inline: -32px;
}
@media (max-width: 750px) {
  :is(.corridor-images, .tiguex-photographs) {
    --corridor-height: min(calc(100cqw / 1.6), 66vh);
  }
  .corridor-portrait .tiguex-zones {
    inset-inline: -20px;
  }
}
.vertical .artwork {
  max-width: 650px;
}
.vertical .artwork img {
  height: min(86vh, 880px);
}
.filmstrip .artwork img {
  object-position: left center;
}
.gallery-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
}
.gallery-buttons {
  display: flex;
  gap: 8px;
}
.gallery-controls button {
  background: #fff;
  border: 1px solid #111;
  padding: 4px 8px;
  cursor: pointer;
}
.caption {
  margin-left: auto;
  text-align: right;
}
.text-slide {
  display: grid;
  min-height: min(74vh, 760px);
  padding: 32px;
  place-items: center;
  text-align: center;
  border: 1px solid #eee;
}
.info-page {
  max-width: 700px;
  padding-top: 34px;
}
.info-page h2 {
  font-weight: bold;
  margin-top: 32px;
}
.info-page p {
  font-family: 'Times New Roman', Times, serif;
  font-size: 1.2rem;
}
.info-page.about { font-family: 'Times New Roman', Times, serif; line-height: 1.65; padding-top: 0; }
.info-page.about p,
.info-page.about .cv h2 { font-size: 1rem; }
.info-page.about p { margin: 0 0 1.5em; }
.info-page.about .cv h2 { font-weight: 700; }
.info-page.about > h1 { font-family: 'Lucida Console', 'Lucida Sans Typewriter', monospace; font-size: 1rem; }
.contact {
  font-family: inherit;
}
.contact p {
  font-family: inherit;
  font-size: 1rem;
}
.contact p a {
  font-family: 'Times New Roman', Times, serif;
  color: #000;
}
.info-page a:hover {
  color: #6145bc;
}
@media (max-width: 750px) {
  body {
    margin: 22px;
  }
  .site-layout {
    display: block;
  }
  .sidebar {
    margin-bottom: 36px;
  }
  .artwork img {
    height: 60vh;
  }
  .caption {
    display: none;
  }
}
:root {
  --eye-cursor: auto;
}
html,
html * {
  cursor: var(--eye-cursor) !important;
}
.image-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  height: min(74vh, 760px);
  padding: 32px;
  border: 1px dashed #ccc;
  background: #f7f7f5;
  color: #777;
  text-align: center;
}
.gallery-controls {
  flex-wrap: wrap;
}
.gallery-controls .caption {
  display: block;
}
.vertical .image-placeholder {
  max-width: 650px;
  height: min(86vh, 880px);
}
@media (max-width: 750px) {
  .image-placeholder,
  .vertical .image-placeholder {
    height: 60vh;
  }
}

/* Horizontal Half (Re)turns panoramas retain their full width. */
.image-viewport {
  width: 100%;
  overflow: hidden;
}
.filmstrip-track {
  display: flex;
  width: max-content;
}
.filmstrip-track img {
  display: block;
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  height: min(74vh, 760px);
}
@media (max-width: 750px) {
  .filmstrip-track img {
    height: 60vh;
  }
}

/* Vertical panoramas use the original side controls and rotated caption. */
.vertical-filmstrip {
  display: grid;
  margin-top: -3em;
  grid-template-columns: 42px minmax(0, 650px) minmax(180px, 240px);
  column-gap: 10px;
}
.vertical-filmstrip .gallery-heading {
  grid-column: 1 / -1;
}
.vertical-filmstrip .image-viewport,
.vertical-filmstrip .image-placeholder {
  grid-column: 2;
  grid-row: 2;
  height: min(90vh, 1050px);
}
.vertical-filmstrip .filmstrip-track {
  display: block;
  width: 100%;
}
.vertical-filmstrip .filmstrip-track img {
  width: 100%;
  height: auto;
}
.vertical-filmstrip .gallery-controls {
  grid-column: 1 / -1;
  grid-row: 2;
  position: relative;
  display: block;
  margin: 0;
  pointer-events: none;
}
.vertical-filmstrip .gallery-controls [data-scroll] {
  position: absolute;
  bottom: 42px;
  left: 21px;
  transform: translateX(-50%) rotate(-90deg);
  white-space: nowrap;
  pointer-events: auto;
}
.vertical-filmstrip .caption {
  position: absolute;
  top: 16px;
  left: calc(100% - 34px);
  margin: 0;
  transform: rotate(90deg);
  transform-origin: top left;
  white-space: nowrap;
  text-align: left;
}
.scroll-details {
  grid-column: 3;
  grid-row: 2;
  align-self: start;
  margin-top: min(22.5vh, 262.5px);
  text-align: left;
  padding-left: 8px;
}
.scroll-details h1 { margin: 0 0 12px; }
.scroll-details p { margin: 0; line-height: 1.5; }
.lightbox-photo-link { text-decoration: underline; cursor: pointer !important; }
.lightbox-photo-link:hover,
.lightbox-photo-link:focus-visible { color: #0000ee; }
.lightbox-photo-dialog { width: min(96vw, 1400px); }
.lightbox-photo-stage { display: grid; grid-template-columns: 32px minmax(0, 1fr) 32px; gap: 12px; align-items: center; }
.lightbox-photo-viewport { height: min(78vh, 900px); overflow: auto; }
.lightbox-photo-zoom { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; }
.lightbox-photo-dialog .lightbox-photo-zoom img { width: 100%; height: 100%; object-fit: contain; }
.lightbox-photo-zoom,
.lightbox-photo-zoom img { cursor: zoom-in !important; }
.lightbox-photo-stage > button { border: 0; background: none; font-size: 24px; cursor: pointer !important; }
.lightbox-photo-controls { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 12px; }
.lightbox-photo-controls button,
.lightbox-photo-dialog [data-close-enlarged] { cursor: pointer !important; }
@media (max-width: 750px) {
  .scroll-details { margin-top: 19.5vh; }
  .vertical-filmstrip {
    grid-template-columns: 32px minmax(0, 520px) minmax(110px, 150px);
    column-gap: 6px;
  }
  .vertical-filmstrip .image-viewport,
  .vertical-filmstrip .image-placeholder {
    height: 78vh;
  }
  .vertical-filmstrip .gallery-controls [data-scroll] {
    left: 16px;
  }
  .vertical-filmstrip .caption {
    left: calc(100% - 26px);
  }
}

.single-artwork .artwork {
  width: fit-content;
  max-width: 100%;
}
.single-artwork .artwork img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(74vh, 760px);
}
@media (min-width: 751px) {
  .content-area:has(> .single-artwork) {
    margin-top: calc(-28px - 1.595rem);
    max-width: 1100px;
  }
  .single-artwork .artwork img {
    max-height: min(86vh, 900px);
  }
}
@media (max-width: 750px) {
  .single-artwork .artwork img {
    max-height: 60vh;
  }
}
.single-artwork .artwork,
.single-artwork .artwork img {
  cursor: pointer !important;
}
.single-artwork .gallery-controls {
  display: block;
}
.single-artwork .caption {
  margin: 0;
  text-align: left;
}
.artwork-description {
  margin: 8px 0 0;
}
.artwork-dialog {
  width: 96vw;
  max-width: none;
  max-height: 96vh;
  padding: 44px 12px 12px;
  border: 0;
  background: #fff;
}
.artwork-dialog::backdrop {
  background: rgb(0 0 0 / 80%);
}
.zoom-viewport {
  height: calc(96vh - 60px);
  overflow: auto;
}
.artwork-dialog .zoom-artwork,
.artwork-dialog .zoom-artwork img {
  cursor: zoom-in !important;
}
.zoom-artwork {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
}
.artwork-dialog [data-reset-zoom] {
  position: absolute;
  top: 10px;
  left: 12px;
}
.artwork-dialog img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.artwork-dialog [data-close-enlarged] {
  position: absolute;
  right: 10px;
  top: 4px;
  border: 0;
  background: none;
  font-size: 28px;
  padding: 0 8px;
}

.blue-light-men {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 34px;
  grid-template-rows: auto minmax(32px, auto);
  column-gap: 10px;
  width: min(100%, calc(69vh + 96px), 816px);
}
@media (min-width: 751px) {
  .blue-light-men {
    margin-inline: auto;
  }
  .blue-light-men,
  .vertical-filmstrip {
    margin-top: calc(-28px - 1.595rem);
  }
  .gallery.vertical-filmstrip .panorama-interaction,
  .gallery.vertical-filmstrip .image-viewport,
  .gallery.vertical-filmstrip .image-placeholder {
    height: min(94vh, 1100px);
  }
  .vertical-filmstrip .scroll-details {
    margin-top: min(23.5vh, 275px);
  }
}
.blue-light-viewport {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  aspect-ratio: 3 / 4;
  overflow: hidden;
}
.blue-light-frame {
  position: absolute;
  inset: 0;
}
.blue-light-frame img,
.blue-light-frame .image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.blue-light-men .gallery-controls {
  display: contents;
}
.blue-light-men [data-blue-scroll] {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  justify-self: start;
  margin-left: 7px;
  margin-bottom: 0;
  transform-origin: bottom left;
  transform: rotate(-90deg);
  white-space: nowrap;
}
.blue-light-men .caption {
  grid-column: 2;
  grid-row: 2;
  margin: 8px 0 0;
  text-align: right;
}
.blue-light-banner {
  position: relative;
  grid-column: 3;
  grid-row: 1;
  min-height: 0;
  align-self: stretch;
  overflow: hidden;
  border: 1px solid #111;
  background: #fff;
}
.blue-light-banner-track {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  animation: blue-light-banner-scroll 70s linear infinite;
}
.blue-light-banner-text {
  flex: none;
  padding: 14px 7px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: pre;
  line-height: 1;
}
.blue-light-banner:hover .blue-light-banner-track,
.blue-light-banner:focus .blue-light-banner-track {
  animation-play-state: paused;
}
@keyframes blue-light-banner-scroll {
  from { transform: translateY(0); }
  to { transform: translateY(-50%); }
}
@media (max-width: 750px) {
  .blue-light-men {
    width: min(100%, calc(60vw + 96px), 556px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .blue-light-banner {
    overflow-y: auto;
  }
  .blue-light-banner-track {
    animation: none;
  }
  .blue-light-banner-text[aria-hidden] {
    display: none;
  }
}

/* Fixed hit areas sit above the moving artwork. */
.panorama-interaction {
  position: relative;
  min-width: 0;
}
.vertical-filmstrip .panorama-interaction {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  height: min(90vh, 1050px);
}
@media (max-width: 750px) {
  .vertical-filmstrip .panorama-interaction { height: 78vh; }
}
.image-zones {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.image-zone {
  position: absolute;
  padding: 0;
  border: 0;
  background: transparent;
  color: transparent;
  pointer-events: auto;
}
.image-zone:focus-visible,
.modal-previous:focus-visible,
.modal-next:focus-visible {
  outline: 2px solid #127c80;
  outline-offset: -3px;
  background: rgb(255 255 255 / 25%);
  color: #111;
}
.horizontal-zones .zone-enlarge { inset: 0 25% 0 0; }
.horizontal-zones .zone-next { inset: 0 0 0 75%; }
.vertical-zones .zone-enlarge { inset: 0 0 25% 0; }
.vertical-zones .zone-next,
.blue-zones .zone-next { inset: 75% 0 0 0; }
.blue-zones .zone-previous { inset: 0 0 75% 0; }
.blue-zones .zone-enlarge { inset: 25% 0; }
[data-enlarge],
[data-enlarge] img {
  cursor: pointer !important;
}
.enlarged-stage {
  position: relative;
  width: 100%;
  height: 100%;
}
.enlarged-caption {
  margin: 8px 0 0;
  font-size: 0.9rem;
}
.artwork-dialog .zoom-viewport {
  height: calc(96vh - 96px);
}
.modal-previous,
.modal-next {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  border: 0;
  background: transparent;
  color: transparent;
}
.modal-previous { left: 0; }
.modal-next { right: 0; }

.horizontal-zones .zone-next, .tiguex-zones .zone-next, .modal-next {
  cursor: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20transform%3D%22rotate%280%208%208%29%22%20d%3D%22M2%207H9V3H11V5H13V7H15V9H13V11H11V13H9V9H2Z%22%20fill%3D%22black%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22miter%22%20paint-order%3D%22stroke%22%2F%3E%3C%2Fsvg%3E") 8 8, pointer !important;
}

.tiguex-zones .zone-previous, .modal-previous {
  cursor: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20transform%3D%22rotate%28180%208%208%29%22%20d%3D%22M2%207H9V3H11V5H13V7H15V9H13V11H11V13H9V9H2Z%22%20fill%3D%22black%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22miter%22%20paint-order%3D%22stroke%22%2F%3E%3C%2Fsvg%3E") 8 8, pointer !important;
}

.vertical-zones .zone-next, .blue-zones .zone-next {
  cursor: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20transform%3D%22rotate%2890%208%208%29%22%20d%3D%22M2%207H9V3H11V5H13V7H15V9H13V11H11V13H9V9H2Z%22%20fill%3D%22black%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22miter%22%20paint-order%3D%22stroke%22%2F%3E%3C%2Fsvg%3E") 8 8, pointer !important;
}

.blue-zones .zone-previous {
  cursor: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20transform%3D%22rotate%28270%208%208%29%22%20d%3D%22M2%207H9V3H11V5H13V7H15V9H13V11H11V13H9V9H2Z%22%20fill%3D%22black%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22miter%22%20paint-order%3D%22stroke%22%2F%3E%3C%2Fsvg%3E") 8 8, pointer !important;
}

.blue-light-men .blue-scroll-up {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  justify-self: start;
  margin-left: 7px;
  margin-top: 0;
  transform-origin: top left;
  transform: rotate(-90deg) translateX(-100%);
  white-space: nowrap;
}
.blue-light-dialog .modal-navigation,
.book-dialog .modal-navigation {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}
.blue-light-dialog .modal-navigation button,
.book-dialog .modal-navigation button {
  position: static;
  width: auto;
  color: #111;
  background: #fff;
  border: 1px solid #111;
  padding: 4px 8px;
}
.blue-light-dialog .zoom-viewport,
.book-dialog .zoom-viewport {
  height: calc(96vh - 140px);
}

/* Tiguex landscapes retain their own proportions and viewport size. */
.tiguex-photographs {
  --corridor-height: min(calc((100cqw - 24px) / 1.501 + 24px), 90vh, 920px);
}
.tiguex-photographs .gallery-controls .caption {
  grid-column: 1 / -1;
  text-align: left;
}
@media (min-width: 751px) {
  .content-area:has(> .tiguex-photographs) {
    margin-top: calc(-28px - 1.595rem);
  }
}
.tiguex-photographs .gallery-controls {
  width: min(100%, calc((var(--corridor-height) - 24px) * 1.501 + 24px));
}
@media (max-width: 750px) {
  .tiguex-photographs {
    --corridor-height: min(calc((100cqw - 24px) / 1.501 + 24px), 60vh);
  }
}

.tiguex-navigation {
  position: relative;
  width: fit-content;
  max-width: 100%;
}
.tiguex-navigation img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(74vh, 760px);
}
.tiguex-zones .zone-previous { inset: 0 66.666667% 0 0; }
.tiguex-zones .zone-enlarge { inset: 0 33.333333%; }
.tiguex-zones .zone-next { inset: 0 0 0 66.666667%; }
.corridor-zones .zone-previous { inset: 0 50% 0 0; }
.corridor-zones .zone-next { inset: 0 0 0 50%; }
.corridor-portrait .corridor-zones { inset: 0; }
.corridor-zones .zone-grid {
  inset: 0 0 75%;
  z-index: 2;
  cursor: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20transform%3D%22rotate%28270%208%208%29%22%20d%3D%22M2%207H9V3H11V5H13V7H15V9H13V11H11V13H9V9H2Z%22%20fill%3D%22black%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22miter%22%20paint-order%3D%22stroke%22%2F%3E%3C%2Fsvg%3E") 8 8, pointer !important;
}
.image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 20px;
}
.grid-return { margin-bottom: 20px; }
.grid-image {
  border: 0;
  padding: 0;
  background: none;
  cursor: pointer !important;
}
.grid-image img {
  display: block;
  width: 100%;
  height: 150px;
  object-fit: contain;
  cursor: pointer !important;
}
@media (max-width: 750px) {
  .tiguex-navigation img { max-height: 60vh; }
}

.book-dialog {
  padding-top: 56px;
}
.book-zoom-controls {
  position: absolute;
  top: 10px;
  left: 12px;
  right: 52px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.book-dialog .book-zoom-controls [data-reset-zoom] {
  position: static;
}
.book-zoom-controls button {
  background: #fff;
  border: 1px solid #111;
  padding: 3px 7px;
  cursor: pointer !important;
}
@media (max-width: 400px) {
  .book-dialog { padding-top: 88px; }
  .book-dialog .zoom-viewport { height: calc(96vh - 184px); }
}

.book-dialog img {
  cursor: zoom-in !important;
  user-select: none;
  -webkit-user-drag: none;
}
.book-dialog.book-zoomed img {
  cursor: grab !important;
  touch-action: none;
}
.book-dialog.book-dragging img {
  cursor: grabbing !important;
}

/* Page-turning zones yield to dragging while the book is magnified. */
.book-dialog .enlarged-stage .book-edge {
  width: 12.5%;
}
.book-dialog.book-zoomed .book-edge {
  display: none;
}
.my-way-dialog .modal-previous,
.my-way-dialog .modal-next {
  width: 33.333333%;
}
.my-way-navigation {
  width: 100%;
}
.my-way-navigation img {
  width: 100%;
  height: auto;
  max-height: none;
}

.corridor-book,
.tiguex-book {
  width: fit-content;
  max-width: 100%;
}
.book-order-link {
  display: block;
  margin-left: auto;
  text-align: right;
}
.book-sample-label {
  margin: 0 0 8px;
  text-align: left;
}
.book-order-link:hover,
.book-order-link:focus-visible {
  color: #c72828;
}
.tiguex-more {
  flex-basis: 100%;
  margin: 0;
  text-align: right;
}
.tiguex-more a:hover,
.tiguex-more a:focus-visible {
  color: #359f89;
}
