/*
Theme Name:  Jordan Oldbury
Theme URI:   https://jordanoldbury.com
Description: Child theme for jordanoldbury.com — fine art photography
Author:      Jordan Oldbury
Author URI:  https://jordanoldbury.com
Template:    kadence
Version:     1.0.0
Tags:        photography, fine-art, dark, minimal
Text Domain: jordan-oldbury
*/

/* Fonts now enqueued via wp_enqueue_scripts in functions.php */

:root {
  --jo-black:      #111111;
  --jo-charcoal:   #1c1c1c;
  --jo-deep-grey:  #2e2e2e;
  --jo-gold:       #c8b89a;
  --jo-parchment:  #f5f0ea;
  --jo-muted:      #9a9490;
  --jo-body-dark:  #d4cfc8;
  --jo-serif:      'Cormorant Garamond', serif;
  --jo-sans:       'DM Sans', sans-serif;
  --jo-transition: 0.3s ease;

  /* Override Kadence palette variables to prevent conflicts */
  --global-palette1:          #111111;
  --global-palette2:          #1c1c1c;
  --global-palette3:          #2e2e2e;
  --global-palette4:          #9a9490;
  --global-palette5:          #d4cfc8;
  --global-palette6:          #f5f0ea;
  --global-palette7:          #f5f0ea;
  --global-palette8:          #111111;
  --global-palette9:          #111111;
  --global-body-font-color:   #f5f0ea;
  --global-heading-font-color:#f5f0ea;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html body {
  background-color: #111111 !important;
  color: #f5f0ea !important;
  font-family: 'DM Sans', sans-serif;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img, video { max-width: 100%; height: auto; display: block; }

h1, h2, h3 {
  font-family: var(--jo-serif);
  font-weight: 300;
  color: var(--jo-parchment);
  line-height: 1.05;
  letter-spacing: 0.02em;
}
h4, h5, h6 {
  font-family: var(--jo-sans);
  font-weight: 300;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--jo-muted);
}
p { color: var(--jo-body-dark); max-width: 66ch; }
blockquote {
  font-family: var(--jo-serif);
  font-style: italic;
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 300;
  color: var(--jo-parchment);
  border-left: 0.5px solid var(--jo-gold);
  padding-left: 2rem;
  margin: 3rem 0;
}
a { color: var(--jo-gold); text-decoration: none; transition: color var(--jo-transition); }
a:hover { color: var(--jo-parchment); }

.jo-btn {
  display: inline-block;
  font-family: var(--jo-sans);
  font-weight: 300;
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--jo-parchment);
  border: 0.5px solid var(--jo-parchment);
  padding: 14px 36px;
  background: transparent;
  cursor: pointer;
  transition: background var(--jo-transition), color var(--jo-transition);
}
.jo-btn:hover { background: var(--jo-parchment); color: var(--jo-black); }
.jo-btn--gold { border-color: var(--jo-gold); color: var(--jo-gold); }
.jo-btn--gold:hover { background: var(--jo-gold); color: var(--jo-black); }

.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 24px 48px;
  background: var(--jo-black);
  border-bottom: 0.5px solid transparent;
  transition: border-color var(--jo-transition), padding var(--jo-transition);
}
.site-header.scrolled { border-bottom-color: rgba(245,240,234,0.08); padding: 16px 48px; }
.site-logo {
  font-family: var(--jo-serif); font-weight: 300; font-size: 1.1rem;
  letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--jo-parchment); text-decoration: none; padding-right: 0.28em;
}
.site-logo:hover { color: var(--jo-parchment); }
.site-nav { display: flex; align-items: center; gap: 36px; list-style: none; margin: 0; padding: 0; }
.site-nav a {
  font-family: var(--jo-sans); font-weight: 300; font-size: 0.68rem;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--jo-muted); transition: color var(--jo-transition);
}
.site-nav a:hover, .site-nav a.active { color: var(--jo-parchment); }
.nav-toggle { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px; }
.nav-toggle span { display: block; width: 24px; height: 0.5px; background: var(--jo-parchment); transition: transform var(--jo-transition), opacity var(--jo-transition); }

.jo-hero {
  position: relative; width: 100%; height: 100vh; min-height: 600px;
  overflow: hidden; display: flex; align-items: flex-end; padding: 0 48px 80px;
}
.jo-hero__image { position: absolute; inset: 0; object-fit: cover; width: 100%; height: 100%; opacity: 0.75; }
.jo-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(17,17,17,0.85) 0%, rgba(17,17,17,0.1) 60%); }
.jo-hero__content { position: relative; z-index: 2; max-width: 680px; }
.jo-hero__eyebrow { font-family: var(--jo-sans); font-weight: 300; font-size: 0.68rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--jo-gold); margin-bottom: 1.5rem; display: block; }
.jo-hero__title { font-family: var(--jo-serif); font-weight: 300; font-size: clamp(2.8rem, 6vw, 5.5rem); line-height: 1.0; letter-spacing: 0.01em; color: var(--jo-parchment); margin: 0 0 2rem; }
.jo-hero__actions { display: flex; gap: 20px; flex-wrap: wrap; }

.jo-section { padding: clamp(60px, 10vw, 120px) 48px; max-width: 1280px; margin: 0 auto; }
.jo-section--full { max-width: none; padding-left: 0; padding-right: 0; }
.jo-section--light { background: var(--jo-parchment); color: var(--jo-black); }
.jo-section--light h1, .jo-section--light h2, .jo-section--light h3 { color: var(--jo-black); }
.jo-section--light p { color: #444; }
.jo-eyebrow { font-family: var(--jo-sans); font-weight: 300; font-size: 0.68rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--jo-gold); display: block; margin-bottom: 1rem; }
.jo-rule { width: 40px; height: 0.5px; background: var(--jo-gold); margin: 2rem 0; }

.jo-portfolio-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 3px; }
.jo-portfolio-grid .item { overflow: hidden; cursor: pointer; }
.jo-portfolio-grid .item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s ease, opacity 0.4s ease; opacity: 0.85; }
.jo-portfolio-grid .item:hover img { transform: scale(1.03); opacity: 1; }
.jo-portfolio-grid .item--wide  { grid-column: span 8; aspect-ratio: 4/3; }
.jo-portfolio-grid .item--tall  { grid-column: span 4; aspect-ratio: 3/4; }
.jo-portfolio-grid .item--half  { grid-column: span 6; aspect-ratio: 3/2; }
.jo-portfolio-grid .item--third { grid-column: span 4; aspect-ratio: 1; }

.jo-lightbox { display: none; position: fixed; inset: 0; z-index: 200; background: rgba(17,17,17,0.96); align-items: center; justify-content: center; padding: 40px; }
.jo-lightbox.open { display: flex; }
.jo-lightbox__img { max-width: 90vw; max-height: 90vh; object-fit: contain; }
.jo-lightbox__close { position: absolute; top: 24px; right: 32px; font-size: 1.5rem; color: var(--jo-muted); cursor: pointer; background: none; border: none; transition: color var(--jo-transition); }
.jo-lightbox__close:hover { color: var(--jo-parchment); }
.jo-lightbox__caption { position: absolute; bottom: 32px; left: 0; right: 0; text-align: center; font-family: var(--jo-serif); font-style: italic; font-size: 0.9rem; color: var(--jo-muted); }

.site-footer { border-top: 0.5px solid rgba(245,240,234,0.08); padding: 60px 48px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 48px; align-items: start; }
.site-footer__logo { font-family: var(--jo-serif); font-weight: 300; font-size: 1rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--jo-parchment); display: block; margin-bottom: 1rem; }
.site-footer__tagline { font-size: 0.75rem; color: var(--jo-muted); letter-spacing: 0.06em; }
.site-footer__nav { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.site-footer__nav a { font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--jo-muted); }
.site-footer__nav a:hover { color: var(--jo-parchment); }
.site-footer__copy { font-size: 0.68rem; color: rgba(154,148,144,0.5); margin-top: 48px; padding-top: 24px; border-top: 0.5px solid rgba(245,240,234,0.06); grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; }

.jo-form input, .jo-form textarea, .jo-form select { width: 100%; background: transparent; border: none; border-bottom: 0.5px solid rgba(245,240,234,0.2); padding: 16px 0; color: var(--jo-parchment); font-family: var(--jo-sans); font-weight: 300; font-size: 0.9rem; letter-spacing: 0.04em; outline: none; transition: border-color var(--jo-transition); -webkit-appearance: none; }
.jo-form input:focus, .jo-form textarea:focus, .jo-form select:focus { border-bottom-color: var(--jo-gold); }
.jo-form input::placeholder, .jo-form textarea::placeholder { color: var(--jo-muted); font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; }
.jo-form textarea { min-height: 140px; resize: vertical; }
.jo-form label { display: block; font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--jo-muted); margin-bottom: 4px; }
.jo-form__group { margin-bottom: 2.5rem; }

.jo-reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.8s ease, transform 0.8s ease; }
.jo-reveal.visible { opacity: 1; transform: none; }

@media (max-width: 1024px) {
  .site-header { padding: 20px 32px; }
  .jo-hero { padding: 0 32px 64px; }
  .jo-section { padding: 60px 32px; }
  .site-footer { grid-template-columns: 1fr 1fr; padding: 48px 32px; }
  .jo-portfolio-grid .item--wide { grid-column: span 12; }
  .jo-portfolio-grid .item--tall { grid-column: span 6; }
}
@media (max-width: 768px) {
  .site-header { padding: 18px 24px; }
  .site-nav { display: none; }
  .site-nav.open { display: flex; flex-direction: column; position: fixed; inset: 0; background: var(--jo-black); align-items: center; justify-content: center; gap: 40px; z-index: 99; }
  .site-nav.open a { font-size: 1rem; letter-spacing: 0.24em; }
  .nav-toggle { display: flex; }
  .jo-hero { padding: 0 24px 56px; }
  .jo-section { padding: 48px 24px; }
  .jo-portfolio-grid { grid-template-columns: 1fr 1fr; gap: 2px; }
  .jo-portfolio-grid .item--wide, .jo-portfolio-grid .item--tall, .jo-portfolio-grid .item--half, .jo-portfolio-grid .item--third { grid-column: span 2; aspect-ratio: 3/2; }
  .site-footer { grid-template-columns: 1fr; padding: 40px 24px; }
}
@media (max-width: 480px) {
  .jo-portfolio-grid { grid-template-columns: 1fr; }
  .jo-portfolio-grid .item { grid-column: span 1; aspect-ratio: 3/2; }
  .jo-hero__actions { flex-direction: column; }
  .jo-btn { text-align: center; }
}

/* ==========================================================================
   GALLERY ARCHITECTURE — Collections, Exhibitions, Artwork
   ========================================================================== */

/* ── Homepage: fullscreen ─────────────────────────────────────────────────── */

.jo-fullscreen {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background: var(--jo-black);
}
.jo-fullscreen__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.6s ease;
}
.jo-fullscreen__image.active { opacity: 0.88; }
.jo-fullscreen__credit {
  position: absolute;
  bottom: 40px;
  left: 48px;
  font-family: var(--jo-sans);
  font-size: 0.62rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(245,240,234,0.35);
  z-index: 2;
}
.jo-fullscreen__scroll {
  position: absolute;
  bottom: 40px;
  right: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 2;
  cursor: pointer;
}
.jo-fullscreen__scroll span {
  font-family: var(--jo-sans);
  font-size: 0.58rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: rgba(245,240,234,0.3);
  writing-mode: vertical-rl;
}
.jo-fullscreen__scroll::after {
  content: '';
  display: block;
  width: 0.5px;
  height: 40px;
  background: rgba(245,240,234,0.2);
  animation: jo-scroll-pulse 2s ease-in-out infinite;
}
@keyframes jo-scroll-pulse {
  0%, 100% { opacity: 0.2; transform: scaleY(1); }
  50%       { opacity: 0.5; transform: scaleY(0.6); }
}

/* ── Work page: collection grid ───────────────────────────────────────────── */

.jo-work-header {
  padding: clamp(120px, 16vw, 180px) 48px 48px;
}
.jo-work-header h1 {
  font-family: var(--jo-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4vw, 3.5rem);
  letter-spacing: 0.04em;
  margin: 0;
}

.jo-collections-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  padding: 0 3px 3px;
}
.jo-collection-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  aspect-ratio: 3/4;
  background: var(--jo-charcoal);
}
.jo-collection-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.8;
  transition: opacity 0.9s ease, transform 1.1s ease;
}
.jo-collection-card:hover .jo-collection-card__image {
  opacity: 1;
  transform: scale(1.02);
}
.jo-collection-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(17,17,17,0.75) 0%, transparent 50%);
  transition: opacity 0.4s ease;
}
.jo-collection-card__meta {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 2.5rem 2rem 2rem;
  z-index: 2;
}
.jo-collection-card__title {
  font-family: var(--jo-serif);
  font-weight: 300;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  letter-spacing: 0.02em;
  color: var(--jo-parchment);
  margin: 0 0 0.4rem;
  line-height: 1.1;
}
.jo-collection-card__count {
  font-family: var(--jo-sans);
  font-size: 0.62rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(245,240,234,0.4);
}

/* ── Single collection ────────────────────────────────────────────────────── */

.jo-collection-hero {
  padding: clamp(120px, 16vw, 180px) 48px clamp(40px, 5vw, 60px);
  border-bottom: 0.5px solid rgba(245,240,234,0.07);
  max-width: 1280px;
  margin: 0 auto;
}
.jo-collection-hero__back {
  display: inline-block;
  font-family: var(--jo-sans);
  font-size: 0.62rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--jo-muted);
  margin-bottom: 3rem;
  transition: color var(--jo-transition);
}
.jo-collection-hero__back:hover { color: var(--jo-parchment); }
.jo-collection-hero__title {
  font-family: var(--jo-serif);
  font-weight: 300;
  font-size: clamp(2.8rem, 6vw, 5.5rem);
  letter-spacing: 0.02em;
  color: var(--jo-parchment);
  margin: 0 0 3rem;
  line-height: 1.0;
}
.jo-collection-statement {
  max-width: 620px;
  font-family: var(--jo-serif);
  font-weight: 300;
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  line-height: 1.8;
  color: var(--jo-body-dark);
  font-style: italic;
}
.jo-collection-statement p { color: inherit; max-width: none; }

.jo-collection-images {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 3px;
  margin-top: 3px;
}
.jo-collection-images .img-item {
  overflow: hidden;
  background: var(--jo-charcoal);
  cursor: pointer;
}
.jo-collection-images .img-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.85;
  transition: opacity 0.6s ease, transform 0.9s ease;
}
.jo-collection-images .img-item:hover img { opacity: 1; transform: scale(1.02); }
.jo-collection-images .img-item--full  { grid-column: span 12; aspect-ratio: 16/9; }
.jo-collection-images .img-item--half  { grid-column: span 6;  aspect-ratio: 3/2;  }
.jo-collection-images .img-item--third { grid-column: span 4;  aspect-ratio: 3/4;  }
.jo-collection-images .img-item--wide  { grid-column: span 8;  aspect-ratio: 4/3;  }
.jo-collection-images .img-item--tall  { grid-column: span 4;  aspect-ratio: 2/3;  }

.jo-artwork-details {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(48px, 8vw, 80px) 48px;
  border-top: 0.5px solid rgba(245,240,234,0.07);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px 80px;
  align-items: start;
}
.jo-artwork-details__label {
  display: block;
  font-family: var(--jo-sans);
  font-size: 0.6rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--jo-muted);
  margin-bottom: 0.5rem;
}
.jo-artwork-details__value {
  font-family: var(--jo-serif);
  font-size: 1rem;
  font-weight: 300;
  color: var(--jo-parchment);
}
.jo-artwork-details__enquire {
  grid-column: 1 / -1;
  padding-top: 2rem;
  border-top: 0.5px solid rgba(245,240,234,0.07);
}
.jo-artwork-details__enquire p {
  font-size: 0.8rem;
  color: var(--jo-muted);
  margin-bottom: 1.5rem;
}

/* ── About ────────────────────────────────────────────────────────────────── */

.jo-about-layout {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(120px, 16vw, 180px) 48px clamp(60px, 8vw, 100px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.jo-about-statement {
  font-family: var(--jo-serif);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 300;
  font-style: italic;
  line-height: 1.6;
  color: var(--jo-parchment);
}
.jo-about-statement p { color: var(--jo-parchment); max-width: none; font-size: inherit; }
.jo-about-bio {
  font-family: var(--jo-sans);
  font-weight: 300;
  font-size: 0.9rem;
  line-height: 1.9;
  color: var(--jo-body-dark);
}
.jo-about-bio p { color: var(--jo-body-dark); font-size: inherit; }

/* ── Exhibitions ──────────────────────────────────────────────────────────── */

.jo-exhibitions-layout {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(120px, 16vw, 180px) 48px clamp(60px, 8vw, 100px);
}
.jo-exhibitions-layout h1 {
  font-family: var(--jo-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4vw, 3.5rem);
  letter-spacing: 0.04em;
  margin: 0 0 4rem;
}
.jo-exhibitions-group { margin-bottom: 4rem; }
.jo-exhibitions-group__type {
  font-family: var(--jo-sans);
  font-size: 0.6rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--jo-muted);
  margin-bottom: 1.5rem;
  display: block;
}
.jo-exhibition-row {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 24px 40px;
  align-items: baseline;
  padding: 1.25rem 0;
  border-top: 0.5px solid rgba(245,240,234,0.07);
}
.jo-exhibition-row:last-child { border-bottom: 0.5px solid rgba(245,240,234,0.07); }
.jo-exhibition-row__year {
  font-family: var(--jo-serif);
  font-size: 0.9rem;
  font-weight: 300;
  color: var(--jo-gold);
}
.jo-exhibition-row__title {
  font-family: var(--jo-serif);
  font-size: 1rem;
  font-weight: 300;
  color: var(--jo-parchment);
}
.jo-exhibition-row__venue {
  font-family: var(--jo-sans);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--jo-muted);
  text-align: right;
}

/* ── Contact ──────────────────────────────────────────────────────────────── */

.jo-contact-layout {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(120px, 16vw, 180px) 48px clamp(60px, 8vw, 100px);
}
.jo-contact-layout h1 {
  font-family: var(--jo-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4vw, 3.5rem);
  letter-spacing: 0.04em;
  margin: 0 0 1.5rem;
}
.jo-contact-layout > p {
  font-family: var(--jo-serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--jo-body-dark);
  max-width: 480px;
  margin-bottom: 4rem;
}
.jo-contact-email {
  font-family: var(--jo-serif);
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  font-weight: 300;
  color: var(--jo-parchment);
  letter-spacing: 0.02em;
  text-decoration: none;
  border-bottom: 0.5px solid rgba(245,240,234,0.2);
  transition: border-color var(--jo-transition), color var(--jo-transition);
}
.jo-contact-email:hover {
  color: var(--jo-gold);
  border-bottom-color: var(--jo-gold);
}
.jo-contact-note {
  margin-top: 2rem;
  font-family: var(--jo-sans);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: var(--jo-muted);
}

/* ── Responsive updates ───────────────────────────────────────────────────── */

@media (max-width: 1024px) {
  .jo-collections-grid { grid-template-columns: repeat(2, 1fr); }
  .jo-about-layout      { grid-template-columns: 1fr; gap: 48px; }
  .jo-artwork-details   { grid-template-columns: 1fr 1fr; }
  .jo-collection-hero   { padding: 120px 32px 48px; }
  .jo-work-header       { padding: 120px 32px 48px; }
  .jo-exhibitions-layout, .jo-contact-layout { padding: 120px 32px 60px; }
}
@media (max-width: 768px) {
  .jo-collections-grid  { grid-template-columns: 1fr; }
  .jo-collection-images { grid-template-columns: 1fr 1fr; }
  .jo-collection-images .img-item--full,
  .jo-collection-images .img-item--wide,
  .jo-collection-images .img-item--half,
  .jo-collection-images .img-item--third,
  .jo-collection-images .img-item--tall { grid-column: span 2; aspect-ratio: 3/2; }
  .jo-artwork-details   { grid-template-columns: 1fr; }
  .jo-exhibition-row    { grid-template-columns: 60px 1fr; }
  .jo-exhibition-row__venue { grid-column: 2; text-align: left; }
  .jo-fullscreen__credit, .jo-fullscreen__scroll { display: none; }
}
@media (max-width: 480px) {
  .jo-collection-images { grid-template-columns: 1fr; }
  .jo-collection-images .img-item { grid-column: span 1; aspect-ratio: 3/2; }
  .jo-collection-hero   { padding: 100px 24px 40px; }
  .jo-work-header, .jo-exhibitions-layout, .jo-contact-layout { padding-left: 24px; padding-right: 24px; }
}
