.creations-hero figure { background: #eae1d3; }
.creations-hero img { aspect-ratio: 1; }
.creations-gallery { padding: clamp(38px, 7vw, 100px) var(--editorial-edge); }
.creations-gallery > header { margin-bottom: clamp(24px, 4vw, 55px); }
.creations-gallery > header h2 { font-size: clamp(32px, 4.5vw, 62px); }
.creations-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 3vw, 42px); }
.creations-grid img { aspect-ratio: 1; object-fit: cover; background: #eae1d3; }
.creations-grid figcaption { margin-top: 10px; color: var(--dark-sage); font-size: clamp(14px, 2vw, 19px); font-weight: 600; }
.creations-celebrations { align-items: center; }
.creations-celebrations article { max-width: 44ch; padding-block: 10px; }
.creations-celebrations p { margin: 14px 0; }
.creations-celebrations a { color: var(--dark-sage); font-weight: 800; }
.creations-gallery h3 { color: var(--dark-sage); font-size: clamp(23px, 3vw, 38px); letter-spacing: 0; }
.creations-group { border-top: 1px solid var(--rule); margin-top: clamp(28px, 6vw, 75px); padding-top: clamp(24px, 4vw, 50px); }
.creations-group h3 { margin-bottom: 20px; }
.creations-close { padding: clamp(34px, 5vw, 70px) var(--editorial-edge); background: var(--editorial-cream); }
.creations-close p { margin: 16px 0 20px; }
@media (max-width: 540px) {
  .creations-celebrations { grid-template-columns: 1fr; }
  .creations-gallery h3 { text-wrap: balance; }
}

.creation-photo { display: block; position: relative; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.creation-photo::after { content: '+'; position: absolute; right: 8px; bottom: 8px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #292521e6; color: #fff; font: 600 24px/1 Aleo, Georgia, serif; }
.creation-viewer { width: min(100%, 1040px); max-width: 100%; max-height: 100%; max-height: 100dvh; padding: 0; border: 0; background: #252420; color: #fff; }
.creation-viewer::backdrop { background: #111d; }
body:has(.creation-viewer[open]) { overflow: hidden; }
.creation-viewer-header, .creation-viewer-controls { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 4px clamp(8px, 3vw, 20px); }
.creation-viewer-header h2 { color: inherit; font-size: clamp(18px, 4vw, 25px); letter-spacing: 0; }
.creation-viewer button { min-height: 44px; padding: 4px 12px; border: 1px solid #fff6; background: transparent; color: inherit; }
.creation-viewer button:focus-visible { outline-color: #fff; outline-offset: 2px; }
.creation-viewer-stage { display: grid; place-items: center; touch-action: pan-y pinch-zoom; }
.creation-viewer-stage img { width: auto; max-width: 100%; height: auto; max-height: calc(100vh - 180px); max-height: calc(100dvh - 180px); object-fit: contain; }
.creation-viewer-position { font-variant-numeric: tabular-nums; }
.creation-viewer-action { display: flex; justify-content: center; padding: 6px 8px 10px; }
.creation-viewer-action .button { text-align: center; }
.creation-viewer-action .button:focus-visible { outline-color: #fff; }
