:root {
  color-scheme: light;
  --paper: #f7f7f4;
  --ink: #101010;
  --soft-ink: #4f4f4f;
  --line: rgba(16, 16, 16, 0.16);
  --blue: #8cc7d8;
  --yellow: #e6ef69;
  --pink: #efa0c7;
  --green: #dfe9d1;
  --max: 1180px;
  --font-heading: Georgia, "Times New Roman", serif;
  --font-body: Arial, Helvetica, sans-serif;
  --font-meta: "Courier New", Courier, monospace;
  --font-statement: Georgia, "Times New Roman", serif;
  --align-artist: left;
  --align-nav: left;
  --align-hero: left;
  --align-section: left;
  --align-about: left;
  --align-statement: left;
  --align-gallery: left;
  --align-work: left;
  --cover-display-width: 100%;
  --font-size-base: 16px;
  --font-size-artist: 80px;
  --font-size-nav: 19px;
  --font-size-hero: 80px;
  --font-size-hero-subtitle: 18px;
  --font-size-section: 102px;
  --font-size-category-list: 42px;
  --font-size-gallery-title: 80px;
  --font-size-work-title: 22px;
  --font-size-work-meta: 14px;
  --font-size-statement-title: 72px;
  --font-size-statement: 18px;
  --font-size-meta: 14px;
  --line-height-body: 1.45;
  --mobile-font-size-base: 16px;
  --mobile-font-size-nav: 16px;
  --mobile-font-size-hero: 54px;
  --mobile-font-size-hero-subtitle: 16px;
  --mobile-font-size-section: 58px;
  --mobile-font-size-category-list: 34px;
  --mobile-font-size-gallery-title: 56px;
  --mobile-font-size-work-title: 24px;
  --mobile-font-size-work-meta: 13px;
  --mobile-font-size-meta: 12px;
  --mobile-line-height-body: 1.45;
  --mobile-page-padding: 24px;
  --mobile-section-gap: 72px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  line-height: var(--line-height-body);
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.skip-link {
  position: fixed;
  left: 12px;
  top: -40px;
  z-index: 100;
  background: var(--ink);
  color: var(--paper);
  padding: 8px 12px;
}

.skip-link:focus {
  top: 12px;
}

.portfolio-shell {
  display: grid;
  grid-template-columns: minmax(230px, 25vw) 1fr;
  min-height: 100vh;
}

.portfolio-nav {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: clamp(24px, 4vw, 44px);
  border-right: 1px solid var(--line);
  text-align: var(--align-nav);
}

.artist-name {
  display: block;
  margin-bottom: clamp(36px, 8vh, 82px);
  font-family: var(--font-heading);
  font-size: clamp(2rem, var(--font-size-artist), 18vw);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.9;
  text-align: var(--align-artist);
}

.project-menu {
  display: grid;
  gap: 13px;
  align-content: start;
  font-size: clamp(0.95rem, var(--font-size-nav), 8vw);
}

.home-stage {
  display: grid;
  align-content: center;
  min-height: 100vh;
  padding: clamp(22px, 5vw, 64px);
}

.feature-work {
  width: min(100%, 980px);
  margin: 0 auto;
}

.feature-work canvas,
.feature-work .cover-image {
  display: block;
  width: var(--cover-display-width);
  margin-inline: auto;
  background: #dde3e3;
  border: 1px solid var(--line);
}

.feature-work canvas {
  aspect-ratio: 4 / 3;
}

.feature-work .cover-image {
  height: auto;
}

.feature-work .cover-fit-cover,
.feature-work .cover-fit-contain {
  aspect-ratio: 4 / 3;
  height: auto;
}

.feature-work .cover-fit-cover {
  object-fit: cover;
}

.feature-work .cover-fit-contain {
  object-fit: contain;
  background: #fff;
}

.feature-work figcaption {
  display: grid;
  gap: 24px;
  margin-top: 18px;
  color: var(--soft-ink);
  text-align: var(--align-hero);
}

.feature-work figcaption p {
  font-size: var(--font-size-hero-subtitle);
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2 {
  font-family: var(--font-heading);
  font-weight: 400;
  line-height: 1;
}

h1 {
  margin-bottom: 0;
  color: var(--ink);
  font-size: clamp(2rem, var(--font-size-hero), 18vw);
}

h2 {
  font-size: clamp(2.4rem, var(--font-size-section), 18vw);
}

.view-index-link {
  justify-self: center;
  margin-top: 28px;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--soft-ink);
  cursor: pointer;
  font: inherit;
}

.selected-work,
.about-panel {
  width: min(100% - 40px, var(--max));
  margin: 0 auto;
  padding: clamp(70px, 10vw, 130px) 0;
  border-top: 1px solid var(--line);
}

.selected-work {
  text-align: var(--align-section);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(180px, 0.33fr) 1fr;
  gap: 28px;
  align-items: start;
  margin-bottom: clamp(34px, 6vw, 70px);
}

.section-heading h2 {
  margin-bottom: 0;
}

.series-list {
  border-top: 1px solid var(--line);
}

.series-row {
  display: grid;
  grid-template-columns: 64px minmax(220px, 0.8fr) minmax(260px, 1fr) auto;
  gap: 20px;
  align-items: baseline;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.series-row:hover {
  text-decoration: none;
}

.series-row:hover .series-title,
.series-row:hover .series-arrow {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.series-number,
.series-arrow {
  color: var(--soft-ink);
  font-family: var(--font-meta);
  font-size: var(--font-size-meta);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.series-title {
  font-size: clamp(1.35rem, var(--font-size-category-list), 10vw);
  font-weight: 700;
  line-height: 1.08;
}

.series-copy {
  color: var(--soft-ink);
  font-size: clamp(1rem, calc(var(--font-size-base) * 1.15), 5vw);
}

.work-index {
  padding-top: clamp(42px, 7vw, 76px);
}

.index-grid,
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.index-card,
.art-card,
.collection-card {
  display: grid;
  gap: 10px;
}

.index-card canvas,
.index-card img,
.art-card canvas,
.art-card img,
.collection-card canvas,
.collection-card img {
  width: 100%;
  aspect-ratio: 4 / 5;
  background: #ddd;
  border: 1px solid var(--line);
}

.art-card img,
.index-card img,
.collection-card img {
  display: block;
  object-fit: cover;
}

.index-card span,
.work-meta,
.section-kicker,
.gallery-note,
.site-footer {
  color: var(--soft-ink);
  font-family: var(--font-meta);
  font-size: var(--font-size-meta);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.about-panel {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(300px, 1fr);
  gap: clamp(32px, 8vw, 120px);
  text-align: var(--align-about);
}

.about-panel h2 {
  grid-column: 1 / -1;
  max-width: 900px;
}

.about-panel > *,
.artist-statement-panel > * {
  min-width: 0;
  max-width: 100%;
}

.about-copy {
  color: var(--soft-ink);
  font-size: clamp(1rem, calc(var(--font-size-base) * 1.2), 5vw);
}

.email-link {
  align-self: end;
  font-size: clamp(1.1rem, calc(var(--font-size-base) * 2), 8vw);
  overflow-wrap: anywhere;
}

.artist-statement-panel {
  width: min(100% - 40px, var(--max));
  margin: 0 auto;
  padding: clamp(82px, 12vw, 150px) 0;
  border-top: 1px solid var(--line);
  text-align: var(--align-statement);
}

.artist-statement-panel h2 {
  max-width: 960px;
  margin-bottom: clamp(28px, 5vw, 54px);
  font-family: var(--font-statement);
  font-size: clamp(2rem, var(--font-size-statement-title), 16vw);
}

.statement-copy {
  max-width: 860px;
  margin-inline: auto;
  color: var(--soft-ink);
  font-family: var(--font-statement);
  font-size: clamp(1rem, var(--font-size-statement), 5vw);
  line-height: 1.68;
}

.statement-copy p {
  margin-bottom: 1.35em;
}

.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 22px clamp(20px, 4vw, 44px);
  border-top: 1px solid var(--line);
}

.site-footer p {
  margin: 0;
}

.gallery-page {
  min-height: 100vh;
}

.gallery-hero {
  display: grid;
  grid-template-columns: minmax(230px, 25vw) 1fr;
  min-height: 56vh;
  border-bottom: 1px solid var(--line);
}

.gallery-title-panel {
  padding: clamp(24px, 4vw, 44px);
  border-right: 1px solid var(--line);
}

.gallery-title-panel .artist-name {
  margin-bottom: 34px;
}

.gallery-intro {
  display: grid;
  align-content: end;
  padding: clamp(28px, 6vw, 72px);
  text-align: var(--align-gallery);
}

.gallery-intro h1 {
  max-width: 920px;
  margin-bottom: 22px;
}

.gallery-intro p {
  max-width: 680px;
  color: var(--soft-ink);
  font-size: clamp(1.04rem, calc(var(--font-size-base) * 1.3), 5vw);
}

.gallery-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  max-width: 760px;
  margin-top: 34px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  color: var(--soft-ink);
  font-family: var(--font-meta);
  font-size: var(--font-size-meta);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gallery-section {
  width: min(100% - 40px, var(--max));
  margin: 0 auto;
  padding: clamp(54px, 8vw, 96px) 0;
}

.gallery-grid {
  grid-template-columns: repeat(12, 1fr);
}

.art-card {
  grid-column: span 4;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: var(--align-work);
}

.collection-card {
  grid-column: span 6;
}

.art-card:nth-child(1),
.art-card:nth-child(4) {
  grid-column: span 6;
}

.art-card:nth-child(1) canvas,
.art-card:nth-child(1) img,
.art-card:nth-child(4) canvas,
.art-card:nth-child(4) img {
  aspect-ratio: 16 / 10;
}

.collection-grid .collection-card:nth-child(1),
.collection-grid .collection-card:nth-child(4) {
  grid-column: span 6;
}

.collection-card:hover {
  text-decoration: none;
}

.art-card:hover {
  text-decoration: none;
}

.art-card:hover .work-meta span:first-child,
.collection-card:hover .work-meta span:first-child {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.work-meta {
  display: grid;
  gap: 4px;
  text-align: var(--align-work);
}

.art-card .work-meta span:first-child,
.collection-card .work-meta span:first-child {
  font-family: var(--font-heading);
  font-size: var(--font-size-work-title);
  text-transform: none;
}

.art-card .work-meta span:not(:first-child),
.collection-card .work-meta span:not(:first-child) {
  font-size: var(--font-size-work-meta);
}

.gallery-intro h1 {
  font-size: clamp(2.2rem, var(--font-size-gallery-title), 18vw);
}

.work-dialog {
  width: min(100% - 28px, 1120px);
  max-height: min(88vh, 860px);
  padding: 0;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
}

.work-dialog::backdrop {
  background: rgba(10, 10, 10, 0.42);
}

.work-dialog-shell {
  display: grid;
  grid-template-columns: minmax(260px, 0.65fr) minmax(280px, 0.35fr);
  min-height: 56vh;
}

.dialog-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  min-height: 36px;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  cursor: pointer;
  font-family: var(--font-meta);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.detail-image {
  display: grid;
  min-height: 420px;
  margin: 0;
  background: #fff;
  border-right: 1px solid var(--line);
}

.detail-image img {
  width: 100%;
  height: 100%;
  max-height: 86vh;
  object-fit: contain;
}

.detail-placeholder {
  display: grid;
  place-items: center;
  min-height: 420px;
  background: linear-gradient(90deg, var(--blue), var(--yellow));
  color: var(--ink);
  font-family: var(--font-meta);
  letter-spacing: 0.04em;
}

.detail-copy {
  align-self: end;
  padding: clamp(26px, 4vw, 48px);
}

.detail-copy h2 {
  margin: 12px 0 26px;
  font-family: var(--font-heading);
  font-size: clamp(2rem, var(--font-size-work-title), 12vw);
}

.detail-copy dl {
  display: grid;
  gap: 12px;
  margin: 0 0 26px;
}

.detail-copy dl div {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 14px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.detail-copy dt {
  color: var(--soft-ink);
  font-family: var(--font-meta);
  font-size: var(--font-size-work-meta);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.detail-copy dd {
  margin: 0;
}

.detail-description {
  color: var(--soft-ink);
  white-space: pre-line;
}

.gallery-actions {
  display: flex;
  gap: 18px;
  padding-top: 44px;
}

.button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 1px solid var(--ink);
}

.button.primary {
  background: var(--ink);
  color: var(--paper);
}

.admin-page {
  min-height: 100vh;
}

.draft-preview-page {
  padding-top: 64px;
}

.draft-preview-toolbar {
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
  display: flex;
  min-height: 64px;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding: 10px clamp(16px, 3vw, 28px);
  border-bottom: 1px solid var(--line);
  background: #fff;
  font-family: var(--font-meta);
  font-size: var(--font-size-meta);
}

.draft-preview-toolbar span {
  color: var(--soft-ink);
}

.draft-preview-toolbar button,
.project-menu button,
.gallery-subnav button,
.draft-series-button {
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-align: inherit;
}

.draft-preview-toolbar button {
  min-height: 34px;
  border: 1px solid var(--line);
  padding: 0 10px;
}

.draft-shell .feature-work img,
.draft-image-placeholder {
  display: block;
  width: var(--cover-display-width);
  margin-inline: auto;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--line);
  object-fit: cover;
}

.draft-image-placeholder {
  display: grid;
  place-items: center;
  background: linear-gradient(90deg, var(--blue), var(--yellow));
  font-family: var(--font-meta);
}

.draft-series-button {
  width: 100%;
}

.draft-active-collection {
  padding-bottom: 28px;
}

.admin-shell {
  width: min(100% - 40px, var(--max));
  margin: 0 auto;
  padding: clamp(28px, 5vw, 56px) 0 80px;
}

.admin-header {
  display: grid;
  grid-template-columns: minmax(220px, 0.35fr) 1fr;
  gap: 28px;
  align-items: end;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--line);
}

.admin-header .artist-name {
  margin-bottom: 0;
}

.admin-login {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: end;
  padding: 34px 0;
}

.admin-login label,
.admin-form-grid label,
.editor-fields label,
.mobile-control-group label {
  display: grid;
  gap: 7px;
  align-content: start;
  color: var(--soft-ink);
  font-family: "Courier New", Courier, monospace;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.field-cluster {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 14px;
  border: 1px solid rgba(16, 16, 16, 0.1);
  background: rgba(255, 255, 255, 0.42);
}

.field-cluster > label:first-child {
  color: var(--ink);
}

.inline-control-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.toggle-field {
  display: flex !important;
  min-height: 44px;
  flex-direction: row !important;
  align-items: center;
  gap: 9px !important;
}

.toggle-field input[type="checkbox"] {
  width: 18px;
  min-height: 18px;
  accent-color: var(--ink);
}

.admin-login input,
.admin-form-grid input,
.admin-form-grid select,
.admin-form-grid textarea,
.editor-fields input,
.editor-fields textarea,
.mobile-control-group input {
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: #fff;
  color: var(--ink);
  font: 1rem Arial, Helvetica, sans-serif;
  padding: 9px 10px;
}

.range-field {
  align-content: start;
  gap: 9px !important;
}

.range-field span {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) 72px;
  gap: 10px;
  align-items: center;
}

.range-field input[type="range"] {
  width: 100%;
  min-height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  accent-color: var(--ink);
  cursor: ew-resize;
}

.range-field input[type="number"] {
  min-height: 34px;
  padding: 6px 8px;
  text-align: right;
}

.admin-form-grid textarea,
.editor-fields textarea {
  min-height: 112px;
  resize: vertical;
  line-height: 1.4;
}

.font-controls {
  display: grid;
  gap: 18px;
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}

.font-controls h2 {
  margin-bottom: 0;
  font-size: clamp(1.8rem, 4vw, 4rem);
}

.custom-nav-editor {
  display: grid;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(16, 16, 16, 0.12);
}

.custom-nav-head {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  color: var(--soft-ink);
  font-family: "Courier New", Courier, monospace;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.custom-nav-list {
  display: grid;
  gap: 10px;
}

.custom-nav-row {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(16, 16, 16, 0.12);
  background: rgba(255, 255, 255, 0.55);
}

.custom-nav-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.custom-nav-actions button {
  min-height: 34px;
  border: 1px solid var(--line);
  background: transparent;
  cursor: pointer;
  font-family: "Courier New", Courier, monospace;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.custom-nav-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.35;
}

.home-category-cover-head {
  color: var(--soft-ink);
  font-family: "Courier New", Courier, monospace;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.home-category-cover-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.home-category-cover-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(16, 16, 16, 0.12);
  background: rgba(255, 255, 255, 0.56);
}

.home-category-cover-card img,
.home-category-cover-card .admin-image-placeholder {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.home-category-cover-card strong {
  display: block;
  margin-bottom: 8px;
  font-family: var(--font-meta);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-tabs,
.admin-toolbar,
.editor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-tabs {
  padding: 28px 0 16px;
  border-bottom: 1px solid var(--line);
}

.admin-tabs button,
.editor-actions button {
  min-height: 38px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-family: "Courier New", Courier, monospace;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-tabs button {
  padding: 0 12px;
}

.admin-tabs button.active {
  background: var(--ink);
  color: var(--paper);
}

.admin-toolbar {
  justify-content: space-between;
  padding: 22px 0;
}

.admin-mode-tabs {
  position: sticky;
  top: 0;
  z-index: 5;
  background: var(--paper);
}

.admin-status,
.empty-editor {
  color: var(--soft-ink);
  font-family: "Courier New", Courier, monospace;
  font-size: 0.86rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-status.is-error {
  color: #9b1c1c;
}

.editor-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.admin-section {
  padding-top: 12px;
}

.admin-editor-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(340px, 0.42fr);
  gap: clamp(20px, 4vw, 44px);
  align-items: start;
}

.admin-editor-forms {
  min-width: 0;
}

.admin-preview {
  position: sticky;
  top: 76px;
  max-height: calc(100vh - 96px);
  overflow: auto;
  border: 1px solid var(--line);
  background: #fff;
}

.preview-header {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 16px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.preview-header p {
  margin: 0;
}

.preview-header p:last-child {
  margin-top: 7px;
  color: var(--soft-ink);
  font-size: 0.92rem;
}

.preview-canvas {
  padding: 16px;
}

.preview-page {
  display: grid;
  gap: 16px;
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  line-height: var(--line-height-body);
}

.preview-highlight {
  position: relative;
  outline: 2px solid var(--yellow);
  outline-offset: 3px;
  background: rgba(230, 239, 105, 0.32) !important;
  box-shadow: 0 0 0 6px rgba(230, 239, 105, 0.18);
}

[data-edit-target] {
  cursor: pointer;
  transition: background-color 160ms ease, outline-color 160ms ease, box-shadow 160ms ease;
}

[data-edit-target]:hover {
  outline: 1px dashed rgba(16, 16, 16, 0.45);
  outline-offset: 3px;
  background: rgba(140, 199, 216, 0.16);
}

.editor-field-pulse {
  animation: editorPulse 1.2s ease;
}

@keyframes editorPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(230, 239, 105, 0.65);
  }
  45% {
    box-shadow: 0 0 0 8px rgba(230, 239, 105, 0.28);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(230, 239, 105, 0);
  }
}

.preview-side,
.preview-gallery-nav {
  display: grid;
  gap: 7px;
  padding: 14px;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--soft-ink);
  font-family: var(--font-meta);
  font-size: var(--font-size-nav);
  letter-spacing: 0.04em;
  text-align: var(--align-nav);
  text-transform: uppercase;
}

.preview-side strong,
.preview-gallery-nav strong {
  color: var(--ink);
  font-family: var(--font-heading);
  font-size: var(--font-size-artist);
  font-weight: 400;
  line-height: 1;
  text-align: var(--align-artist);
}

.preview-stage,
.preview-gallery-hero,
.preview-work-head,
.preview-detail,
.preview-selected,
.preview-about,
.preview-statement {
  padding: 16px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.preview-stage {
  text-align: var(--align-hero);
}

.preview-selected {
  text-align: var(--align-section);
}

.preview-about {
  text-align: var(--align-about);
}

.preview-statement {
  text-align: var(--align-statement);
}

.preview-gallery-hero {
  text-align: var(--align-gallery);
}

.preview-work-head,
.preview-detail,
.preview-work-card,
.preview-collection-card {
  text-align: var(--align-work);
}

.preview-browser-title {
  margin-bottom: 10px;
  color: var(--soft-ink);
  font-family: var(--font-meta);
  font-size: var(--font-size-meta);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.preview-cover {
  margin: 0;
}

.preview-cover img,
.preview-cover .preview-placeholder {
  width: var(--cover-display-width);
  margin-inline: auto;
}

.preview-cover .preview-placeholder,
.preview-cover img.cover-fit-cover,
.preview-cover img.cover-fit-contain {
  aspect-ratio: 4 / 3;
}

.preview-placeholder {
  display: grid;
  place-items: center;
  min-height: 92px;
  border: 1px solid var(--line);
  background: linear-gradient(90deg, var(--blue), var(--yellow));
  color: var(--ink);
  font-family: var(--font-meta);
  font-size: var(--font-size-meta);
  letter-spacing: 0.04em;
}

.preview-cover img,
.preview-collection-card img,
.preview-work-card img {
  display: block;
  width: 100%;
}

.preview-cover img.cover-fit-cover,
.preview-collection-card img,
.preview-work-card img {
  object-fit: cover;
}

.preview-cover img.cover-fit-contain {
  object-fit: contain;
  background: #fff;
}

.preview-cover img.cover-fit-adaptive {
  height: auto;
  object-fit: unset;
}

.preview-cover figcaption {
  display: grid;
  gap: 5px;
  margin-top: 10px;
}

.preview-cover figcaption span:first-child,
.preview-selected h3,
.preview-about h3,
.preview-statement h3,
.preview-gallery-hero h3,
.preview-work-head h3,
.preview-detail h3 {
  font-family: var(--font-heading);
  font-weight: 400;
  line-height: 1;
}

.preview-cover figcaption span:first-child {
  font-size: clamp(1.8rem, var(--font-size-hero), 18vw);
}

.preview-cover figcaption span:last-child {
  font-size: var(--font-size-hero-subtitle);
}

.preview-cover figcaption span:last-child,
.preview-about p,
.preview-gallery-hero p,
.preview-work-head p,
.preview-detail p {
  color: var(--soft-ink);
}

.preview-link {
  display: inline-block;
  margin-top: 12px;
  color: var(--soft-ink);
}

.preview-selected h3,
.preview-about h3,
.preview-statement h3,
.preview-gallery-hero h3,
.preview-work-head h3,
.preview-detail h3 {
  margin: 7px 0 14px;
  font-size: clamp(1.8rem, var(--font-size-section), 18vw);
}

.preview-gallery-hero h3 {
  font-size: clamp(1.8rem, var(--font-size-gallery-title), 18vw);
}

.preview-statement h3 {
  font-family: var(--font-statement);
  font-size: clamp(1.8rem, var(--font-size-statement-title), 18vw);
}

.preview-statement div {
  color: var(--soft-ink);
  font-family: var(--font-statement);
  font-size: var(--font-size-statement);
  line-height: 1.62;
}

.preview-selected h3 {
  font-size: clamp(1.8rem, var(--font-size-section), 18vw);
}

.preview-series-row strong,
.preview-collection-card strong {
  font-size: var(--font-size-category-list);
}

.preview-work-card strong,
.preview-detail h3 {
  font-size: var(--font-size-work-title);
}

.preview-work-card span,
.preview-work-card small {
  font-size: var(--font-size-work-meta);
}

.preview-series-row {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 8px 12px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}

.preview-series-row em,
.preview-series-row small {
  grid-column: 2;
  color: var(--soft-ink);
  font-style: normal;
}

.preview-subnav,
.preview-collections,
.preview-work-grid {
  display: grid;
  gap: 10px;
}

.preview-subnav {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.preview-subnav span {
  border-top: 1px solid var(--line);
  padding-top: 8px;
  color: var(--soft-ink);
  font-family: var(--font-meta);
  font-size: var(--font-size-meta);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.preview-collections,
.preview-work-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.preview-collection-card,
.preview-work-card {
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.preview-collection-card.active,
.preview-work-card.active {
  background: #fff;
}

.preview-collection-card img,
.preview-collection-card .preview-placeholder,
.preview-work-card img,
.preview-work-card .preview-placeholder {
  aspect-ratio: 4 / 5;
}

.preview-collection-card span,
.preview-collection-card small,
.preview-work-card span,
.preview-work-card small,
.preview-detail dl {
  color: var(--soft-ink);
  font-family: var(--font-meta);
  font-size: var(--font-size-work-meta);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.preview-detail dl {
  display: grid;
  gap: 8px;
  margin: 0 0 14px;
}

.preview-detail dl div {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 10px;
  border-top: 1px solid var(--line);
  padding-top: 8px;
}

.preview-detail dd {
  margin: 0;
}

.preview-desktop-shell {
  display: grid;
  gap: 12px;
}

.preview-desktop {
  --desktop-scale: 0.42;
  width: 100%;
  min-height: 260px;
  overflow: hidden;
  border: 1px solid rgba(16, 16, 16, 0.24);
  background:
    linear-gradient(90deg, rgba(16, 16, 16, 0.04) 1px, transparent 1px),
    linear-gradient(rgba(16, 16, 16, 0.04) 1px, transparent 1px),
    #f0f0ed;
  background-size: 24px 24px;
}

.preview-desktop-screen {
  width: 1440px;
  height: 900px;
  overflow: auto;
  background: var(--paper);
  box-shadow: 0 18px 50px rgba(16, 16, 16, 0.12);
  transform: scale(var(--desktop-scale));
  transform-origin: top left;
}

.preview-desktop .preview-page {
  min-height: 900px;
}

.preview-desktop .preview-home {
  grid-template-columns: 360px 1fr;
  gap: 0;
}

.preview-desktop .preview-side {
  align-content: start;
  padding: 48px;
  border-top: 0;
  border-left: 0;
  border-bottom: 0;
}

.preview-desktop .preview-stage {
  display: grid;
  align-content: center;
  padding: 64px;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
}

.preview-desktop .preview-selected,
.preview-desktop .preview-about {
  grid-column: 1 / -1;
  padding: 72px;
  border-right: 0;
  border-left: 0;
}

.preview-desktop .preview-series-row {
  grid-template-columns: 64px minmax(320px, 0.8fr) minmax(320px, 1fr) auto;
  align-items: baseline;
}

.preview-desktop .preview-series-row em,
.preview-desktop .preview-series-row small {
  grid-column: auto;
}

.preview-desktop .preview-gallery {
  grid-template-columns: 360px 1fr;
  gap: 0;
}

.preview-desktop .preview-gallery-nav {
  align-content: start;
  padding: 48px;
  border-top: 0;
  border-left: 0;
  border-bottom: 0;
}

.preview-desktop .preview-gallery-hero {
  align-content: end;
  padding: 72px;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
}

.preview-desktop .preview-collections,
.preview-desktop .preview-work-grid {
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 72px;
}

.preview-desktop .preview-workspace {
  padding: 72px;
  align-content: start;
}

.mobile-console-head {
  display: grid;
  gap: 8px;
  padding: 24px 0 18px;
  border-bottom: 1px solid var(--line);
}

.mobile-console-head h2 {
  margin: 0;
  font-size: clamp(2rem, 5vw, 4rem);
}

.mobile-console-head p:last-child {
  max-width: 680px;
  margin: 0;
  color: var(--soft-ink);
}

.mobile-control-stack {
  display: grid;
  gap: 0;
}

.mobile-control-group {
  display: grid;
  grid-template-columns: minmax(170px, 0.34fr) 1fr;
  gap: 16px 22px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}

.mobile-control-group > div {
  display: grid;
  align-content: start;
  gap: 8px;
}

.mobile-control-group > div span {
  color: var(--soft-ink);
  font-family: var(--font-meta);
  font-size: var(--font-size-meta);
  letter-spacing: 0.04em;
}

.mobile-control-group h3 {
  margin: 0;
  font-size: clamp(1.35rem, 2.6vw, 2rem);
  line-height: 1.08;
}

.mobile-control-group .range-field {
  align-self: start;
}

.preview-phone-shell {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 8px 0 18px;
}

.preview-device-label {
  display: flex;
  justify-content: space-between;
  width: min(100%, 390px);
  color: var(--soft-ink);
  font-family: var(--font-meta);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.preview-phone {
  width: min(100%, 390px);
  aspect-ratio: 390 / 844;
  padding: 12px;
  border: 1px solid rgba(16, 16, 16, 0.36);
  border-radius: 28px;
  background: #101010;
  box-shadow: 0 24px 70px rgba(16, 16, 16, 0.16);
}

.preview-phone-screen {
  height: 100%;
  overflow: auto;
  border-radius: 18px;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  line-height: var(--line-height-body);
}

.mobile-preview-nav,
.mobile-preview-stage,
.mobile-preview-selected,
.mobile-preview-gallery,
.mobile-preview-about,
.mobile-preview-statement,
.preview-phone-screen footer {
  padding: var(--mobile-page-padding);
}

.mobile-preview-nav {
  display: grid;
  gap: 10px;
  min-height: auto;
  border-bottom: 1px solid var(--line);
  font-family: var(--font-meta);
  font-size: var(--font-size-nav);
  letter-spacing: 0.04em;
  text-align: var(--align-nav);
  text-transform: uppercase;
}

.mobile-preview-nav strong {
  margin-bottom: 12px;
  font-family: var(--font-heading);
  font-size: var(--font-size-hero);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.9;
  text-align: var(--align-artist);
  text-transform: none;
}

.mobile-preview-stage,
.mobile-preview-selected,
.mobile-preview-gallery,
.mobile-preview-about,
.mobile-preview-statement {
  border-bottom: 1px solid var(--line);
}

.mobile-preview-stage {
  text-align: var(--align-hero);
}

.mobile-preview-selected {
  text-align: var(--align-section);
}

.mobile-preview-gallery {
  text-align: var(--align-gallery);
}

.mobile-preview-about {
  text-align: var(--align-about);
}

.mobile-preview-statement {
  text-align: var(--align-statement);
}

.mobile-preview-cover {
  margin: 0;
}

.mobile-preview-cover img,
.mobile-preview-cover .preview-placeholder,
.mobile-preview-work img,
.mobile-preview-work .preview-placeholder {
  width: 100%;
}

.mobile-preview-cover img,
.mobile-preview-cover .preview-placeholder {
  width: var(--cover-display-width);
  margin-inline: auto;
}

.mobile-preview-cover .preview-placeholder,
.mobile-preview-cover img.cover-fit-cover,
.mobile-preview-cover img.cover-fit-contain,
.mobile-preview-work img,
.mobile-preview-work .preview-placeholder {
  aspect-ratio: 4 / 5;
}

.mobile-preview-cover img.cover-fit-adaptive {
  height: auto;
}

.mobile-preview-cover img.cover-fit-cover {
  object-fit: cover;
}

.mobile-preview-cover img.cover-fit-contain {
  object-fit: contain;
  background: #fff;
}

.mobile-preview-cover figcaption {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.mobile-preview-cover figcaption span:first-child,
.mobile-preview-selected h3,
.mobile-preview-gallery h3,
.mobile-preview-about h3,
.mobile-preview-statement h3 {
  font-family: var(--font-heading);
  font-weight: 400;
  line-height: 1;
}

.mobile-preview-cover figcaption span:first-child {
  font-size: var(--font-size-hero);
}

.mobile-preview-cover figcaption span:last-child {
  color: var(--soft-ink);
  font-size: var(--font-size-hero-subtitle);
}

.mobile-preview-selected,
.mobile-preview-gallery,
.mobile-preview-about,
.mobile-preview-statement {
  padding-top: var(--mobile-section-gap);
  padding-bottom: var(--mobile-section-gap);
}

.mobile-preview-selected h3,
.mobile-preview-about h3,
.mobile-preview-statement h3 {
  margin: 8px 0 24px;
  font-size: var(--font-size-section);
}

.mobile-preview-statement h3 {
  font-family: var(--font-statement);
  font-size: var(--font-size-statement-title);
}

.mobile-preview-statement div {
  color: var(--soft-ink);
  font-family: var(--font-statement);
  font-size: var(--font-size-statement);
  line-height: 1.62;
}

.mobile-preview-gallery h3 {
  margin: 8px 0 24px;
  font-size: var(--font-size-gallery-title);
}

.mobile-preview-row {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 8px 12px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
}

.mobile-preview-row strong {
  font-size: var(--font-size-category-list);
  line-height: 1.08;
}

.mobile-preview-row em {
  grid-column: 2;
  color: var(--soft-ink);
  font-style: normal;
}

.mobile-preview-work {
  display: grid;
  gap: 10px;
  text-align: var(--align-work);
}

.mobile-preview-work strong {
  font-family: var(--font-heading);
  font-size: var(--font-size-work-title);
  font-weight: 400;
}

.mobile-preview-work span,
.preview-phone-screen .section-kicker,
.preview-phone-screen footer {
  color: var(--soft-ink);
  font-family: var(--font-meta);
  font-size: var(--font-size-meta);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.mobile-preview-work span {
  font-size: var(--font-size-work-meta);
}

.mobile-preview-about p:last-child {
  color: var(--soft-ink);
}

.admin-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}

.admin-form-grid .wide {
  grid-column: 1 / -1;
}

.admin-form-grid > label,
.admin-form-grid > .field-cluster {
  align-self: start;
}

.cover-preview {
  width: min(100%, 520px);
  margin-top: 18px;
}

.cover-preview img {
  display: block;
  width: 100%;
  border: 1px solid var(--line);
}

.cover-preview img.cover-fit-cover,
.cover-preview img.cover-fit-contain {
  aspect-ratio: 4 / 3;
}

.cover-preview img.cover-fit-cover {
  object-fit: cover;
}

.cover-preview img.cover-fit-contain {
  object-fit: contain;
  background: #fff;
}

.category-settings-grid {
  display: grid;
  gap: 28px;
}

.collection-manager {
  display: grid;
  grid-template-columns: minmax(220px, 0.35fr) 1fr;
  gap: 18px;
  padding: 18px 0 28px;
  border-top: 1px solid var(--line);
}

.collection-manager h2 {
  margin-bottom: 0;
  font-size: clamp(1.8rem, 4vw, 4.2rem);
}

.collection-list {
  display: grid;
  gap: 10px;
}

.bulk-upload-panel {
  display: grid;
  grid-template-columns: minmax(220px, 0.5fr) minmax(220px, 0.5fr);
  gap: 18px;
  align-items: stretch;
  margin-bottom: 28px;
  padding: 18px;
  border: 1px solid var(--line);
  background: #fff;
}

.bulk-upload-panel h2 {
  margin: 0 0 10px;
  font-size: clamp(1.7rem, 3vw, 3rem);
}

.bulk-upload-panel p:last-child {
  max-width: 560px;
  margin-bottom: 0;
  color: var(--soft-ink);
}

.bulk-upload-drop {
  display: grid;
  place-items: center;
  min-height: 150px;
  border: 1px dashed rgba(16, 16, 16, 0.36);
  background: rgba(230, 239, 105, 0.22);
  color: var(--ink);
  cursor: pointer;
  font-family: var(--font-meta);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.bulk-upload-drop:hover {
  background: rgba(140, 199, 216, 0.2);
}

.bulk-upload-drop input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.collection-editor-card {
  display: grid;
  grid-template-columns: auto minmax(92px, 128px) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
}

.collection-editor-card.active {
  background: #fff;
}

.collection-editor-card label {
  display: grid;
  gap: 6px;
  color: var(--soft-ink);
  font-family: "Courier New", Courier, monospace;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.collection-cover-editor img,
.collection-cover-editor .admin-image-placeholder {
  width: 100%;
  aspect-ratio: 4 / 3;
}

.collection-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
}

.collection-editor-card input {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 0;
  padding: 8px;
  font: 0.95rem Arial, Helvetica, sans-serif;
}

.collection-editor-card button {
  min-height: 38px;
  min-width: 0;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-family: "Courier New", Courier, monospace;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: normal;
}

.category-editor-card {
  padding: 22px 0;
  border-top: 1px solid var(--line);
}

.category-editor-card h2 {
  margin-bottom: 20px;
  font-size: clamp(1.8rem, 4vw, 4rem);
}

.category-home-cover {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 12px;
  border: 1px solid rgba(16, 16, 16, 0.12);
  background: rgba(255, 255, 255, 0.5);
}

.category-home-cover img,
.category-home-cover .admin-image-placeholder {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.editor-card {
  display: grid;
  grid-template-columns: minmax(120px, 0.38fr) minmax(0, 0.62fr);
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.48);
}

.editor-image img,
.admin-image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  border: 1px solid var(--line);
  object-fit: cover;
}

.admin-image-placeholder {
  display: grid;
  place-items: center;
  background: linear-gradient(90deg, var(--blue), var(--yellow));
  color: var(--ink);
  font-family: "Courier New", Courier, monospace;
  font-size: 0.86rem;
  letter-spacing: 0.04em;
}

.editor-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  align-content: start;
  min-width: 0;
}

.editor-fields .wide {
  grid-column: 1 / -1;
}

.editor-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-content: start;
}

.editor-actions button {
  width: 100%;
  min-height: 34px;
  padding: 0 10px;
  white-space: normal;
}

.compact-description textarea {
  min-height: 78px;
}

.collection-actions {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.editor-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.35;
}

@media (max-width: 860px) {
  body {
    font-size: var(--mobile-font-size-base);
    line-height: var(--mobile-line-height-body);
  }

  .portfolio-shell,
  .gallery-hero,
  .work-dialog-shell,
  .admin-editor-layout,
  .about-panel,
  .section-heading,
  .series-row,
  .admin-header,
  .editor-card,
  .collection-manager,
  .collection-editor-card {
    grid-template-columns: 1fr;
  }

  .portfolio-nav,
  .gallery-title-panel {
    position: static;
    height: auto;
    padding: var(--mobile-page-padding);
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .home-stage,
  .gallery-intro {
    min-height: auto;
    padding: var(--mobile-page-padding);
  }

  .selected-work,
  .about-panel,
  .artist-statement-panel,
  .gallery-section {
    width: calc(100% - (var(--mobile-page-padding) * 2));
    padding: var(--mobile-section-gap) 0;
  }

  .section-heading {
    margin-bottom: calc(var(--mobile-section-gap) * 0.52);
  }

  h1,
  .artist-name {
    font-size: clamp(2rem, var(--mobile-font-size-hero), 24vw);
  }

  h2 {
    font-size: clamp(2rem, var(--mobile-font-size-section), 22vw);
  }

  .feature-work figcaption p {
    font-size: var(--mobile-font-size-hero-subtitle);
  }

  .project-menu {
    font-size: var(--mobile-font-size-nav);
  }

  .section-kicker,
  .series-number,
  .series-arrow,
  .gallery-note,
  .site-footer,
  .index-card span,
  .work-meta {
    font-size: var(--mobile-font-size-meta);
  }

  .series-title {
    font-size: var(--mobile-font-size-category-list);
  }

  .gallery-intro h1 {
    font-size: clamp(2rem, var(--mobile-font-size-gallery-title), 24vw);
  }

  .art-card .work-meta span:first-child,
  .collection-card .work-meta span:first-child,
  .detail-copy h2 {
    font-size: var(--mobile-font-size-work-title);
  }

  .art-card .work-meta span:not(:first-child),
  .collection-card .work-meta span:not(:first-child) {
    font-size: var(--mobile-font-size-work-meta);
  }

  .detail-image {
    min-height: 300px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .admin-preview {
    position: static;
    max-height: none;
  }

  .artist-name {
    margin-bottom: 24px;
  }

  .project-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .index-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .series-row {
    gap: 8px;
  }

  .series-arrow {
    justify-self: start;
  }

  .editor-actions {
    justify-content: start;
  }

  .editor-actions button {
    width: auto;
  }

  .admin-form-grid {
    grid-template-columns: 1fr;
  }

  .collection-fields {
    grid-template-columns: 1fr;
  }

  .mobile-control-group {
    grid-template-columns: 1fr;
  }

  .collection-editor-card {
    grid-template-columns: minmax(86px, 0.22fr) minmax(110px, 0.28fr) minmax(0, 1fr);
  }

  .collection-editor-card > .collection-actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .bulk-upload-panel,
  .home-category-cover-list,
  .editor-list {
    grid-template-columns: 1fr;
  }

  .art-card,
  .art-card:nth-child(1),
  .art-card:nth-child(4),
  .collection-card,
  .collection-grid .collection-card:nth-child(1),
  .collection-grid .collection-card:nth-child(4) {
    grid-column: span 6;
  }
}

@media (max-width: 560px) {
  .feature-work figcaption,
  .site-footer,
  .gallery-actions {
    flex-direction: column;
  }

  .project-menu,
  .index-grid {
    grid-template-columns: 1fr;
  }

  .collection-editor-card {
    grid-template-columns: 1fr;
  }

  .collection-editor-card > button[data-collection-action="select"] {
    justify-self: start;
  }

  .collection-cover-editor {
    width: min(100%, 220px);
  }

  .collection-editor-card > .collection-actions {
    grid-template-columns: 1fr;
  }

  .editor-card {
    grid-template-columns: 1fr;
  }

  .editor-image {
    width: min(100%, 260px);
  }

  .editor-fields {
    grid-template-columns: 1fr;
  }

  .preview-phone {
    border-radius: 22px;
    padding: 9px;
  }

  .art-card,
  .art-card:nth-child(1),
  .art-card:nth-child(4),
  .collection-card,
  .collection-grid .collection-card:nth-child(1),
  .collection-grid .collection-card:nth-child(4) {
    grid-column: 1 / -1;
  }
}
