#home {
  overflow: clip;
}

.home-journal-dock { position:fixed; bottom:0; left:0; right:0; z-index:80; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; padding:10px .6rem max(10px,env(safe-area-inset-bottom)); border-top:0; box-shadow:0 -2px 8px rgba(0,0,0,.055); background:#fafafa; transition:transform .3s ease,visibility .3s; }
.home-journal-dock.is-hidden { transform:translateY(101%); visibility:hidden; pointer-events:none; }
.home-journal-dock:focus-within { transform:none; visibility:visible; }
.home-journal-teaser { display:grid; grid-template-columns:128px minmax(0,1fr); align-items:start; gap:.6rem; color:var(--ink); font:var(--type-sans-size)/var(--type-sans-leading) "GT Walsheim Regular",Arial,sans-serif; }
.home-journal-teaser img,.home-journal-placeholder { width:128px; height:96px; object-fit:cover; background:#fff; }
.home-journal-teaser small { display:block; margin-bottom:4px; font:var(--type-small-size)/var(--type-small-leading) "Courier New",monospace; color:var(--muted); }
.home-journal-teaser:hover { color:var(--muted); }
body:has(.home-journal-dock) .site-footer { padding-bottom:160px; }
@media(max-width:44.99rem) {
  .home-journal-dock { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:1rem; }
  .home-journal-teaser { flex:0 0 calc(100vw - 2.2rem); scroll-snap-align:start; }
}
@media(prefers-reduced-motion:reduce) { .home-journal-dock { transition:none; } }

.home-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-flow: row;
  align-items: start;
  column-gap: .8rem;
  row-gap: clamp(3.25rem, 6vw, 7rem);
  padding: clamp(1.5rem, 4vw, 4rem) .6rem clamp(6rem, 10vw, 10rem);
}

.home-item {
  grid-column: var(--home-start) / span var(--home-span);
  grid-row: var(--home-row);
  min-width: 0;
  margin-top: var(--home-offset);
  transition: opacity .75s ease;
}

.home-position-left {
  margin-left: min(var(--home-side-offset), 9vw);
}

.home-position-right {
  margin-right: min(var(--home-side-offset), 9vw);
}

.home-item figure {
  position: relative;
  display: flex;
  justify-content: center;
  max-height: calc(100dvh - 2rem);
  overflow: hidden;
  background: #fff;
}

.home-alt {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  place-items: center;
  padding: 1rem;
  color: rgba(0, 0, 0, .58);
  font-family: "Courier New", monospace;
  font-size: 10px;
  line-height: 12px;
  letter-spacing: .025em;
  text-align: center;
  transition: opacity .25s ease;
}

.home-alt.is-hidden {
  opacity: 0;
}

.home-item img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  max-height: calc(100dvh - 2rem);
  object-fit: contain;
  background: #fff;
}

.home-item figcaption {
  padding-top: .4rem;
}

.home-item a:hover img {
  filter: none;
}

@media (hover: hover) and (pointer: fine) {
  .home-grid:has(.home-item a:hover) .home-item {
    opacity: 1;
  }

  .home-grid:has(.home-item a:hover) .home-item:has(a:hover) {
    opacity: 1;
  }
}

@media (max-width: 64.99rem) {
  .home-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: .6rem;
    row-gap: clamp(3.5rem, 11vw, 6rem);
    padding-top: 2rem;
  }

  .home-item {
    grid-column: var(--home-mobile-start) / span var(--home-mobile-span);
    grid-row: auto;
    margin-top: min(var(--home-offset), 3rem);
    margin-right: 0;
    margin-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-item img {
    transition: none;
  }
}

.home-journal-title { text-transform:uppercase; letter-spacing:.04em; }

.home-journal-title { display:block; }
.home-journal-copy { display:flex; flex-direction:column; align-self:stretch; min-height:96px; height:100%; }
.home-journal-copy .home-journal-links { margin-top:auto; padding-top:var(--type-sans-leading); }
.home-journal-links .journal-link > .ui-arrow { flex-shrink:0; margin-top:calc((1.22 * var(--type-sans-size) - .8rem) / 2); }
.home-journal-link { margin-top:var(--type-sans-leading); color:var(--muted); text-transform:none; letter-spacing:var(--sans-tracking); }
.home-journal-teaser:hover .home-journal-link { color:var(--ink); }
