/* Alternate large posters and stacked squares; artwork is never cropped. */
.case-page[data-project="doric"] .case-gallery > .gallery-grid { display: block; }
.doric-gallery-heading { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin: 30px 0; }
.doric-gallery-heading .eyebrow { color: var(--lime); }
.doric-gallery-heading h2 { margin-top: 16px; font-size: clamp(32px, 4.3vw, 60px); line-height: 1.14; letter-spacing: -.045em; }
.doric-gallery-heading > p { max-width: 340px; color: #b2bca6; font-size: 13px; line-height: 1.9; }
.doric-certificate { padding-bottom: clamp(44px, 6vw, 80px); margin-bottom: clamp(28px, 4vw, 54px); border-bottom: 1px solid #aed43430; scroll-margin-top: 100px; }
.doric-certificate-slider { --certificate-split: 50%; padding: clamp(12px, 2.2vw, 28px); border: 1px solid #aed43445; border-radius: 16px; background: #10120e; }
.doric-certificate-labels { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 16px; color: #dce5cf; font-size: 12px; }
.doric-certificate-labels > :last-child { text-align: right; color: var(--lime); }
.doric-certificate-stage { position: relative; width: 100%; aspect-ratio: 2048 / 1463; max-height: 650px; overflow: hidden; border-radius: 8px; background: #e7e7e7; cursor: ew-resize; touch-action: pan-y pinch-zoom; user-select: none; }
.doric-certificate-stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.doric-certificate-overlay { position: absolute; inset: 0; clip-path: inset(0 0 0 var(--certificate-split)); background: #e7e7e7; }
.doric-certificate-divider { position: absolute; top: 0; bottom: 0; left: var(--certificate-split); width: 2px; transform: translateX(-50%); background: var(--lime); box-shadow: 0 0 12px #0006; pointer-events: none; }
.doric-certificate-divider > span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 48px; height: 48px; display: grid; place-items: center; border: 2px solid #10120e; border-radius: 50%; background: var(--lime); color: #10120e; font-size: 24px; box-shadow: 0 4px 20px #0004; }
.doric-certificate-controls { display: flex; align-items: center; gap: 20px; padding-top: 14px; }
.doric-certificate-controls label { font-size: 12px; color: #dce5cf; white-space: nowrap; }
.doric-certificate-controls label span { color: var(--lime); margin-left: 8px; }
.doric-certificate-controls input { min-width: 0; flex: 1; height: 44px; margin: 0; padding: 0; accent-color: var(--lime); cursor: ew-resize; }
.doric-certificate-value { width: 62px; text-align: right; white-space: nowrap; font-size: 11px; font-variant-numeric: tabular-nums; color: var(--lime); }
.doric-certificate-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 4px; }
.doric-certificate-zoom { min-height: 44px; padding: 8px 0; background: none; border: 0; color: #b2bca6; text-align: left; font-size: 12px; cursor: pointer; }
.doric-certificate-zoom span { color: var(--lime); margin-left: 5px; }
.doric-certificate-zoom:hover { color: var(--lime); }
.doric-certificate-zoom:focus-visible, .doric-certificate-controls input:focus-visible { outline: 2px solid var(--lime); outline-offset: 4px; }
#doric-gallery-title { scroll-margin-top: 100px; }
.doric-bento { --doric-gap: clamp(10px, 1.4vw, 20px); display: grid; gap: var(--doric-gap); }
.doric-bento-cluster, .doric-square-stack { display: grid; gap: var(--doric-gap); min-width: 0; min-height: 0; }
.doric-cluster-one { grid-template-columns: 1fr 1.696fr 1.6fr; }
.doric-cluster-two { grid-template-columns: 1.373fr 1fr 1.621fr; }
.doric-cluster-three { grid-template-columns: 1fr .811fr .8fr; }
.doric-square-stack { grid-template-rows: repeat(2, minmax(0, 1fr)); }
.doric-image { min-width: 0; min-height: 0; }
.doric-image .zoom-image {
  height: 100%; min-height: 0; border: 1px solid #aed43430; border-radius: 12px;
  background: #10120e; transition: border-color .25s, box-shadow .25s;
}
.doric-image .zoom-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.doric-image .zoom-image:hover img { transform: none; }
.doric-square .zoom-image, .doric-art-1 .zoom-image { height: auto; aspect-ratio: var(--art-ratio); }
.doric-image .zoom-image:focus-visible { outline: 2px solid var(--lime); outline-offset: 4px; }
.doric-image .zoom-image > .doric-zoom-hint {
  display: grid; place-items: center; width: 34px; height: 34px; padding: 0;
  right: 12px; bottom: 12px; font-size: 20px; opacity: 0; transition: opacity .2s;
}
.doric-image .zoom-image:hover, .doric-image .zoom-image:focus-visible { border-color: #aed43499; box-shadow: 0 0 25px #aed43418; }
.doric-image .zoom-image:hover > .doric-zoom-hint, .doric-image .zoom-image:focus-visible > .doric-zoom-hint { opacity: 1; }
.doric-image figcaption.sr-only { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.doric-archive { margin-top: clamp(42px, 5vw, 70px); padding-top: 28px; border-top: 1px solid #aed43430; }
.doric-archive h3 { margin: 0 0 24px; font-size: clamp(22px, 2.4vw, 32px); letter-spacing: -.035em; }
.doric-archive-image .zoom-image { height: auto; }
.doric-archive-image .zoom-image img { position: static; height: auto; }
@media (max-width: 760px) {
  .doric-certificate-slider { border-radius: 10px; }
  .doric-certificate-labels { font-size: 10px; margin-bottom: 12px; gap: 8px; }
  .doric-certificate-stage { max-height: none; border-radius: 5px; }
  .doric-certificate-divider > span { width: 38px; height: 38px; font-size: 20px; }
  .doric-certificate-controls { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding-top: 14px; }
  .doric-certificate-controls label { font-size: 11px; }
  .doric-certificate-controls input { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .doric-certificate-value { grid-column: 2; grid-row: 1; }
  .doric-certificate-actions { gap: 10px; margin-top: 0; }
  .doric-certificate-zoom { font-size: 10px; }
  .doric-gallery-heading { display: block; margin: 24px 0; }
  .doric-gallery-heading > p { max-width: none; margin-top: 18px; font-size: 12px; }
  .doric-gallery-heading > p br { display: none; }
  .doric-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .doric-bento-cluster, .doric-square-stack { display: contents; }
  .doric-bento .doric-image .zoom-image { height: auto; aspect-ratio: var(--art-ratio); }
  .doric-art-1, .doric-art-6 { grid-column: 1 / -1; }
  .doric-image .zoom-image { border-radius: 8px; }
  .case-page[data-project="doric"] .case-gallery > .section-top { display: block; }
  .case-page[data-project="doric"] .case-gallery > .section-top .small { display: block; margin-top: 12px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .doric-image .zoom-image, .doric-image .zoom-image > .doric-zoom-hint { transition: none; }
}
