@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500&family=Instrument+Serif:ital@0;1&display=swap");

:root {
  --ink: #11100f;
  --paper: #e9e4db;
  --line: rgba(17, 16, 15, 0.2);
  --blue: #7583a6;
  --red: #b75e54;
  --gold: #c7a27a;
  --sans: "DM Sans", sans-serif;
  --serif: "Instrument Serif", Georgia, serif;
  --mono: "DM Mono", monospace;
}

* { box-sizing: border-box; }
html { background: var(--ink); scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: var(--sans); overflow-x: hidden; }
button, a { color: inherit; font: inherit; }
a { text-decoration: none; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }

.grid { position: fixed; inset: 0 3.5vw; z-index: 5; display: grid; grid-template-columns: repeat(12, 1fr); pointer-events: none; }
.grid::before, .grid::after { content: ""; position: absolute; inset: 0; border-left: 1px solid rgba(233, 228, 219, 0.1); border-right: 1px solid rgba(233, 228, 219, 0.1); }
.grid::after { background: repeating-linear-gradient(90deg, transparent 0 calc(8.333% - 1px), rgba(233, 228, 219, 0.07) calc(8.333% - 1px) 8.333%); }

.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; display: flex; justify-content: space-between; align-items: flex-start; padding: 2rem 3.5vw; mix-blend-mode: difference; color: white; }
.brand { display: grid; font-family: var(--serif); font-size: 1.9rem; line-height: .72; letter-spacing: -.06em; }
.menu-toggle { display: inline-flex; gap: .8rem; align-items: center; padding: .3rem 0; border: 0; background: transparent; cursor: pointer; font-family: var(--mono); font-size: .67rem; letter-spacing: .02em; text-transform: uppercase; }
.menu-toggle i, .menu-toggle i::after { display: block; width: 1.8rem; height: 1px; background: currentColor; content: ""; transition: transform .35s ease; }
.menu-toggle i::after { transform: translateY(.4rem); }
.menu-toggle[aria-expanded="true"] i { transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] i::after { transform: rotate(-90deg); }

.site-menu { position: fixed; inset: 0; z-index: 40; display: grid; grid-template-columns: 7fr 5fr; align-items: end; padding: 8rem 3.5vw 3rem; background: var(--blue); color: var(--ink); clip-path: inset(0 0 100% 0); transition: clip-path .75s cubic-bezier(.76, 0, .24, 1); }
.site-menu.is-open { clip-path: inset(0); }
.site-menu nav { display: grid; gap: .25rem; }
.site-menu a { display: grid; grid-template-columns: 3rem 1fr; font-family: var(--serif); font-size: clamp(2.7rem, 6.2vw, 7rem); line-height: .78; letter-spacing: -.055em; transition: transform .3s ease; }
.site-menu a:hover { transform: translateX(1.5rem); }
.site-menu small { padding-top: .45em; font-family: var(--mono); font-size: .65rem; letter-spacing: 0; }
.site-menu p { align-self: end; margin: 0; padding-bottom: .3rem; font-size: .9rem; line-height: 1.25; }

.progress { position: fixed; right: 1.2rem; top: 30%; bottom: 30%; z-index: 20; width: 1px; background: rgba(233, 228, 219, .2); }
.progress span { display: block; width: 100%; height: 0; background: var(--paper); }

.page { min-height: 100vh; padding-top: 7rem; }
.hero { position: relative; min-height: 100svh; display: grid; grid-template-columns: repeat(12, 1fr); align-content: end; padding: 0 3.5vw 6rem; overflow: hidden; }
.hero-kicker, .eyebrow, .meta, .back-link { font-family: var(--mono); font-size: .65rem; line-height: 1.4; letter-spacing: .02em; text-transform: uppercase; }
.hero-kicker { grid-column: 1 / 4; align-self: start; margin-top: 23svh; color: rgba(233, 228, 219, .68); }
.hero-title { grid-column: 1 / -1; max-width: 12ch; margin: 0; font-family: var(--serif); font-size: clamp(5rem, 17.3vw, 18rem); font-weight: 400; line-height: .72; letter-spacing: -.075em; }
.hero-title span { display: block; overflow: hidden; padding-bottom: .22em; margin-bottom: -.22em; }
.hero-title em { display: block; font-style: normal; transform: translateY(110%); animation: rise .9s cubic-bezier(.16, 1, .3, 1) forwards; }
.hero-title span:nth-child(2) em { animation-delay: .11s; }
.hero-title span:nth-child(3) em { animation-delay: .22s; }
.hero-note { grid-column: 10 / -1; margin: 1rem 0 0; align-self: end; font-size: clamp(.8rem, 1vw, 1rem); line-height: 1.2; }
.hero-art { position: absolute; inset: 0; z-index: -1; opacity: .55; }
.hero-art::before { content: ""; position: absolute; right: -8vw; bottom: -20vw; width: min(70vw, 65rem); aspect-ratio: 1; border: 1px solid rgba(233, 228, 219, .45); border-radius: 50%; animation: drift 15s linear infinite; }
.hero-art::after { content: ""; position: absolute; right: 14vw; bottom: 6vw; width: 1rem; height: 1rem; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4rem rgba(183, 94, 84, .08); }

.intro, .feature, .section-head, .about-layout { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; padding: 8rem 3.5vw; }
.intro { background: var(--paper); color: var(--ink); }
.intro p { grid-column: 4 / 12; max-width: 16ch; margin: 0; font-family: var(--serif); font-size: clamp(2.8rem, 6.6vw, 7.4rem); line-height: .83; letter-spacing: -.055em; }
.intro .meta { grid-column: 1 / 3; padding-top: .65rem; }
.feature { min-height: 85svh; align-items: end; background: var(--gold); color: var(--ink); }
.feature .feature-image { grid-column: 1 / 8; height: min(62vw, 55rem); overflow: hidden; }
.feature .feature-copy { grid-column: 9 / -1; padding-bottom: 1rem; }
.feature h2 { margin: 0 0 1.5rem; font-family: var(--serif); font-size: clamp(3rem, 6vw, 6.8rem); line-height: .78; letter-spacing: -.05em; }
.feature p { max-width: 21rem; margin: 0; font-size: .9rem; line-height: 1.3; }
.feature .arrow { display: inline-grid; place-items: center; width: 2.7rem; height: 2.7rem; margin-top: 2rem; border: 1px solid currentColor; border-radius: 50%; font-size: 1.3rem; transition: transform .3s ease; }
.feature:hover .arrow { transform: rotate(-45deg); }

.section-head { align-items: end; padding-bottom: 3rem; border-bottom: 1px solid var(--line); }
.section-head h1 { grid-column: 1 / 10; max-width: 10ch; margin: 0; font-family: var(--serif); font-size: clamp(4rem, 11vw, 12rem); font-weight: 400; line-height: .7; letter-spacing: -.07em; }
.section-head .meta { grid-column: 10 / -1; margin: 0 0 .45rem; }

.listing { padding: 0 3.5vw; }
.listing-item { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; min-height: 30rem; padding: 1rem 0; border-bottom: 1px solid var(--line); color: var(--paper); }
.listing-item:nth-child(odd) { background: var(--ink); }
.listing-item:nth-child(even) { background: var(--paper); color: var(--ink); margin-inline: -3.5vw; padding-inline: 3.5vw; }
.listing-image { grid-column: 1 / 6; min-height: 25rem; overflow: hidden; }
.listing-info { grid-column: 7 / -1; align-self: end; display: grid; grid-template-columns: 1fr auto; align-items: end; }
.listing-info h2 { grid-column: 1 / -1; max-width: 8ch; margin: 1rem 0 3rem; font-family: var(--serif); font-size: clamp(3.5rem, 7vw, 8rem); font-weight: 400; line-height: .73; letter-spacing: -.06em; }
.listing-info p { grid-column: 1 / 2; max-width: 20rem; margin: 0; font-size: .85rem; line-height: 1.35; }
.index { font-family: var(--mono); font-size: .65rem; }

.project-list { padding: 0 3.5vw 7rem; }
.project-list-item { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; min-height: 34rem; padding: 1rem 0 4rem; border-bottom: 1px solid var(--line); }
.project-list-image { grid-column: 1 / 5; min-height: 19rem; align-self: start; overflow: hidden; background: #d5d0c7; }
.project-list-image--empty { background: transparent; }
.project-list-copy { grid-column: 5 / 11; display: grid; align-content: start; padding-top: .15rem; }
.project-list-copy h2 { display: grid; max-width: 9ch; margin: .7rem 0 1.7rem; font-family: var(--serif); font-size: clamp(3.5rem, 7.3vw, 8.5rem); font-weight: 400; line-height: .72; letter-spacing: -.06em; }
.project-list-copy h2 span { display: block; }
.project-year, .project-medium, .project-exhibition { max-width: 24rem; margin: 0; font-size: .88rem; line-height: 1.35; }
.project-medium { margin-top: 1.3rem; }
.project-exhibition { margin-top: .15rem; }
.view-link, .project-note { width: fit-content; margin-top: 3rem; font-family: var(--mono); font-size: .67rem; letter-spacing: .02em; text-transform: uppercase; }
.view-link { border-bottom: 1px solid currentColor; padding-bottom: .25rem; }

.gallery-page { background: var(--paper); color: var(--ink); }
.gallery-page .site-header { color: white; }
.gallery-page .grid::before, .gallery-page .grid::after { border-color: rgba(17, 16, 15, .1); background: repeating-linear-gradient(90deg, transparent 0 calc(8.333% - 1px), rgba(17,16,15,.06) calc(8.333% - 1px) 8.333%); }
.gallery-page .progress { background: rgba(17,16,15,.2); }.gallery-page .progress span { background: var(--ink); }
.gallery-page .section-head { background: var(--ink); color: var(--paper); padding-top: 10rem; }
.gallery-page .section-head .meta { color: rgba(233,228,219,.7); }
.project-copy { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; padding: 6rem 3.5vw; }
.project-copy .raw-copy { grid-column: 5 / 11; white-space: pre-line; font-family: var(--serif); font-size: clamp(1.35rem, 2.1vw, 2.4rem); line-height: 1; letter-spacing: -.03em; }
.project-copy .meta { grid-column: 1 / 4; }
.project-link { display: inline-flex; gap: .8rem; align-items: center; margin-top: 2rem; padding: .85rem 1rem; border: 1px solid var(--ink); font-family: var(--mono); font-size: .65rem; letter-spacing: .02em; text-transform: uppercase; transition: color .25s ease, background .25s ease; }
.project-link:hover { background: var(--ink); color: var(--paper); }
.project-link span { font-size: 1rem; line-height: .5; }
.project-statement { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; padding: 6rem 3.5vw 8rem; border-top: 1px solid var(--line); }
.project-statement > .meta { grid-column: 1 / 4; }
.project-statement > div { grid-column: 5 / 11; }
.project-statement h2 { display: grid; margin: 0 0 3rem; font-family: var(--serif); font-size: clamp(2.6rem, 4.5vw, 5.3rem); font-weight: 400; line-height: .78; letter-spacing: -.05em; }
.project-statement h2 span { display: block; }
.project-statement p { margin: 0 0 1.2rem; font-size: clamp(1rem, 1.3vw, 1.3rem); line-height: 1.35; }
.project-statement .project-date { margin-top: 2rem; font-family: var(--mono); font-size: .7rem; }
.project-detail--full { background: var(--ink); color: var(--paper); }
.project-detail--full .section-head { border-bottom-color: rgba(233, 228, 219, .18); }
.cargo-project { padding: 1rem 3.5vw 8rem; }
.cargo-columns { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(.65rem, 1.2vw, 1.4rem); align-items: start; grid-auto-flow: row dense; margin: 0 0 clamp(2.5rem, 7vw, 7rem); }
.cargo-column { grid-column: span var(--span); min-width: 0; }
.cargo-columns[data-count="1"] > .cargo-column { grid-column: 1 / -1; }
.cargo-columns[data-count="2"] > .cargo-column { grid-column: span 6; }
.cargo-columns[data-count="2"][data-kind="mixed"] > .cargo-column[data-has-text="true"]:not([data-has-media="true"]) { grid-column: span 5; }
.cargo-columns[data-count="2"][data-kind="mixed"] > .cargo-column[data-has-media="true"] { grid-column: span 7; }
.cargo-columns[data-count="3"] > .cargo-column { grid-column: span 4; }
.cargo-columns[data-count="4"] > .cargo-column { grid-column: span 3; }
.cargo-columns[data-count="5"] > .cargo-column, .cargo-columns[data-count="6"] > .cargo-column { grid-column: span 4; }
.cargo-column[data-has-text="true"] { align-self: center; }
.cargo-project .caption, .cargo-project .small-indented { font-family: var(--mono); font-size: .68rem; line-height: 1.4; letter-spacing: .02em; text-transform: uppercase; }
.cargo-project .caption-indented { display: block; max-width: 38rem; font-size: clamp(.98rem, 1.25vw, 1.25rem); line-height: 1.35; }
.cargo-project .small-indented { display: inline-block; margin-top: .6rem; }
.cargo-rule { border: 0; border-top: 1px solid rgba(233, 228, 219, .35); margin: .3rem 0 1.25rem; }
.cargo-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); gap: clamp(.45rem, .8vw, .85rem); align-items: start; width: 100%; }
.cargo-gallery--justify { grid-template-columns: 1fr; }
.cargo-gallery--slideshow { grid-template-columns: repeat(auto-fit, minmax(min(10rem, 100%), 1fr)); }
.cargo-gallery--columnized { grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); }
.cargo-gallery[data-count="1"] { grid-template-columns: 1fr; }
.cargo-gallery[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cargo-media { margin: 0; overflow: hidden; background: #26231f; }
.cargo-column > .cargo-media { width: 100%; }
.cargo-gallery .cargo-media { width: 100%; }
.cargo-media img { transform: scale(1.04); transition: transform 1.1s cubic-bezier(.16, 1, .3, 1), filter .5s ease; }
.cargo-media:hover img { transform: scale(1.01); filter: saturate(1.08); }
.cargo-project a.caption { display: inline-flex; width: fit-content; border-bottom: 1px solid currentColor; padding-bottom: .25rem; }
.gallery { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(.5rem, 1.5vw, 1.3rem); padding: 0 3.5vw 7rem; }
.photo { grid-column: span 4; margin: 0; overflow: hidden; background: #d5d0c7; }
.photo:nth-child(5n + 1) { grid-column: span 8; }.photo:nth-child(7n + 3) { grid-column: span 3; }.photo:nth-child(7n + 4) { grid-column: span 5; }
.photo-frame { height: 100%; min-height: 18rem; overflow: hidden; background: #c1bcb3; }
.photo img { transform: scale(1.08); transition: transform 1.1s cubic-bezier(.16, 1, .3, 1), filter .5s ease; }
.photo:hover img { transform: scale(1.01); filter: saturate(1.1); }
.topic-sections { padding: 0 3.5vw 7rem; }
.topic-section { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; padding: 1rem 0 6rem; border-bottom: 1px solid var(--line); }
.topic-section-head { grid-column: 1 / 4; position: sticky; top: 7rem; align-self: start; padding-top: .35rem; }
.topic-section-head h2 { max-width: 7ch; margin: 1rem 0 1.6rem; font-family: var(--serif); font-size: clamp(3rem, 5.8vw, 6.8rem); font-weight: 400; line-height: .74; letter-spacing: -.06em; }
.topic-section-head p { margin: 0; font-family: var(--mono); font-size: .65rem; line-height: 1.4; letter-spacing: .02em; text-transform: uppercase; }
.topic-grid { grid-column: 5 / -1; display: grid; grid-template-columns: repeat(8, 1fr); gap: clamp(.5rem, 1vw, 1rem); }
.topic-grid .photo { grid-column: span 4; }
.topic-grid .photo:nth-child(5n + 1) { grid-column: span 5; }
.topic-grid .photo:nth-child(6n + 3) { grid-column: span 3; }
.topic-grid .photo:nth-child(9n + 5) { grid-column: span 8; }
.topic-grid .photo-frame { min-height: 15rem; }

.about-layout { background: var(--paper); color: var(--ink); min-height: 100svh; padding-top: 10rem; }
.about-copy { grid-column: 1 / 7; white-space: pre-line; font-family: var(--serif); font-size: clamp(1.3rem, 2vw, 2.2rem); line-height: 1.02; letter-spacing: -.03em; }
.about-image { grid-column: 8 / -1; align-self: start; margin: 4rem 0 0; }
.about-image img { aspect-ratio: 3 / 4; overflow: hidden; }
.about-contact { display: grid; gap: .45rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); font-family: var(--mono); font-size: .68rem; line-height: 1.35; letter-spacing: .02em; text-transform: uppercase; }
.about-contact span { margin-bottom: .35rem; }
.about-contact a { width: fit-content; border-bottom: 1px solid transparent; transition: border-color .25s ease; }
.about-contact a:hover { border-color: currentColor; }

.back-link { display: inline-flex; gap: .5rem; padding: 2rem 3.5vw 5rem; }
.back-link::before { content: "←"; }
.loading { display: grid; min-height: 100vh; place-items: center; font-family: var(--mono); font-size: .7rem; text-transform: uppercase; }
.reveal { opacity: 0; transform: translateY(3rem); transition: opacity .8s ease, transform .8s cubic-bezier(.16, 1, .3, 1); }
.reveal.is-revealed { opacity: 1; transform: translateY(0); }
.cursor { position: fixed; left: 0; top: 0; z-index: 70; display: none; width: 4rem; height: 4rem; place-items: center; border-radius: 50%; background: var(--red); color: var(--paper); pointer-events: none; transform: translate(-50%, -50%) scale(0); transition: transform .25s ease; mix-blend-mode: difference; font-family: var(--mono); font-size: .6rem; text-transform: uppercase; }
.cursor.is-active { transform: translate(-50%, -50%) scale(1); }

@keyframes rise { to { transform: translateY(0); } }
@keyframes drift { to { transform: rotate(360deg); } }

@media (pointer: fine) { .cursor { display: grid; } }
@media (max-width: 1100px) {
  .cargo-columns { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .cargo-column, .cargo-columns[data-count] > .cargo-column, .cargo-columns[data-count="2"][data-kind="mixed"] > .cargo-column[data-has-media="true"], .cargo-columns[data-count="2"][data-kind="mixed"] > .cargo-column[data-has-text="true"] { grid-column: span 6; }
  .cargo-columns[data-count="2"][data-kind="mixed"] > .cargo-column[data-has-text="true"]:not([data-has-media="true"]) { grid-column: span 6; }
  .cargo-columns[data-count="3"] > .cargo-column, .cargo-columns[data-count="4"] > .cargo-column, .cargo-columns[data-count="5"] > .cargo-column, .cargo-columns[data-count="6"] > .cargo-column { grid-column: span 3; }
  .cargo-gallery { grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr)); }
}
@media (max-width: 720px) {
  .grid { inset-inline: 1.25rem; }.site-header { padding: 1.35rem 1.25rem; }.site-menu { grid-template-columns: 1fr; padding: 7rem 1.25rem 1.5rem; }.site-menu a { grid-template-columns: 2.4rem 1fr; font-size: clamp(2.6rem, 12vw, 5rem); }.site-menu p { display: none; }
  .progress { display: none; }.hero, .intro, .feature, .section-head, .about-layout { padding-inline: 1.25rem; }.hero { padding-bottom: 1.5rem; }.hero-kicker { grid-column: 1 / -1; }.hero-title { font-size: clamp(5rem, 24vw, 9rem); }.hero-note { grid-column: 6 / -1; }
  .intro { padding-block: 5rem; }.intro .meta { grid-column: 1 / -1; }.intro p { grid-column: 1 / -1; }.feature { display: flex; flex-direction: column; align-items: stretch; min-height: auto; padding-block: 1.25rem 4rem; }.feature .feature-image { height: 100vw; }.feature .feature-copy { padding: 2rem 0 0; }
  .section-head { padding-block: 8rem 2rem; }.section-head h1 { grid-column: 1 / -1; }.section-head .meta { grid-column: 1 / -1; margin-top: 2rem; }.listing { padding-inline: 1.25rem; }.listing-item { display: flex; flex-direction: column; min-height: auto; padding: 1.25rem 0 3rem; }.listing-item:nth-child(even) { margin-inline: -1.25rem; padding-inline: 1.25rem; }.listing-image { min-height: 75vw; }.listing-info h2 { margin-bottom: 1.5rem; }
  .project-list { padding: 0 1.25rem 4rem; }.project-list-item { display: block; min-height: 0; padding-block: 1.25rem 3rem; }.project-list-image { min-height: 80vw; }.project-list-image--empty { display: none; }.project-list-copy { padding-top: 1.2rem; }.project-list-copy h2 { font-size: clamp(3.7rem, 15vw, 6rem); margin-bottom: 1.3rem; }.view-link, .project-note { margin-top: 2rem; }
  .project-copy, .project-statement { display: block; padding: 4rem 1.25rem; }.project-copy .meta, .project-statement > .meta { margin-bottom: 2rem; }.project-statement > div { display: block; }.cargo-project { padding: 1rem 1.25rem 4rem; }.cargo-columns { display: block; margin-bottom: 4rem; }.cargo-column { margin-bottom: 1rem; }.cargo-gallery { grid-template-columns: repeat(2, 1fr); gap: .5rem; }.cargo-gallery--justify { grid-template-columns: 1fr; }.cargo-media, .cargo-column > .cargo-media { min-height: 62vw; }.cargo-gallery .cargo-media { min-height: 44vw; }.cargo-project .caption-indented { max-width: none; }.gallery { grid-template-columns: repeat(2, 1fr); gap: .5rem; padding: 0 1.25rem 4rem; }.photo, .photo:nth-child(5n + 1), .photo:nth-child(7n + 3), .photo:nth-child(7n + 4) { grid-column: span 1; }.photo:nth-child(5n + 1) { grid-column: span 2; }.photo-frame { min-height: 10rem; }.topic-sections { padding: 0 1.25rem 4rem; }.topic-section { display: block; padding: 1.25rem 0 4rem; }.topic-section-head { position: static; margin-bottom: 1.2rem; }.topic-section-head h2 { max-width: 9ch; }.topic-grid { grid-template-columns: repeat(2, 1fr); gap: .5rem; }.topic-grid .photo, .topic-grid .photo:nth-child(5n + 1), .topic-grid .photo:nth-child(6n + 3), .topic-grid .photo:nth-child(9n + 5) { grid-column: span 1; }.topic-grid .photo:nth-child(5n + 1) { grid-column: span 2; }.about-layout { display: flex; flex-direction: column; padding: 7rem 1.25rem 4rem; }.about-image { margin-top: 3rem; }.back-link { padding-inline: 1.25rem; }
}
@media (max-width: 720px) {
  .cargo-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-bottom: 3.5rem; }
  .cargo-column, .cargo-columns[data-count] > .cargo-column, .cargo-columns[data-count="2"][data-kind="mixed"] > .cargo-column[data-has-media="true"], .cargo-columns[data-count="2"][data-kind="mixed"] > .cargo-column[data-has-text="true"] { grid-column: 1 / -1; margin-bottom: 0; }
  .cargo-columns[data-count="2"][data-kind="mixed"] > .cargo-column[data-has-text="true"]:not([data-has-media="true"]) { grid-column: 1 / -1; }
  .cargo-columns[data-kind="media"][data-count="3"] > .cargo-column, .cargo-columns[data-kind="media"][data-count="4"] > .cargo-column, .cargo-columns[data-kind="media"][data-count="5"] > .cargo-column, .cargo-columns[data-kind="media"][data-count="6"] > .cargo-column { grid-column: span 1; }
  .cargo-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
  .cargo-gallery[data-count="1"], .cargo-gallery--justify { grid-template-columns: 1fr; }
  .cargo-media, .cargo-column > .cargo-media, .cargo-gallery .cargo-media { min-height: 0; }
}
