:root {
  --concrete:#dff571;
  --letter:#e41515f4;
  --ink:#e6fd76;
  --ochre:#20211d;
  --mono:'Space Mono',monospace;
  --display:'Big Shoulders Display','Arial Narrow',Impact,sans-serif
}

* {
  box-sizing:border-box
}

body {
  margin:0;
  background:var(--concrete);
  color:var(--ink);
  font-family:var(--mono);
  min-height:100vh
}

button,a {
  -webkit-tap-highlight-color:transparent
}

button {
  font:inherit;
  color:inherit
}

button:focus-visible,a:focus-visible {
  outline:3px solid #efe9d4;
  outline-offset:5px
}

.letters {
  position:fixed;
  inset:0;
  z-index:-1;
  display:flex;
  justify-content:space-between;
  overflow:hidden;
  pointer-events:none;
  color:var(--letter);
}

.letters span {
  font-family:'Arial', sans-serif;
  font-weight:400;
  font-size:40vw;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:scaleX(.75);
}

header {
  padding:25px 30px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between
}

.wordmark {
  font-family:var(--display);
  font-weight:900;
  font-size:33px;
  color:inherit;
  text-decoration:none;
  letter-spacing:.05em
}

.descriptor {
  font-size:12px;
  line-height:1.6;
  margin-left:auto;
  margin-right:9vw
}

header button {
  background:none;
  border:0;
  font-size:14px;
  cursor:pointer;
  padding:10px 0 10px 15px
}

header button span {
  margin-left:30px
}

main {
  padding:0 30px,
}
.index-line {
  width:100%;
  padding:0;
  margin:0;
  overflow:hidden;
  background:#e41515f4;
}

.index-line button {
  display:block;
  width:100%;
  border:0;
  color:#dff571;
  padding:4px 0;
  margin:0;
  background:transparent;
  font:inherit;
  font-size:25px;
  text-align:left;
  overflow:hidden;
  cursor:pointer;
}

.marquee-track {
  display:flex;
  width:max-content;
  animation:marquee-right 20s linear infinite;
}

.marquee-track {
  display:inline-flex;
  width:max-content;
  white-space:nowrap;
  animation:marquee-right 20s linear infinite;
  will-change:transform;
}

.marquee-track > span {
  display:inline-block;
  flex:none;
  white-space:nowrap;
  padding-right:2ch;
}

@keyframes marquee-right {
  0% {
    transform:translateX(-50%);
  }

  100% {
    transform:translateX(0);
  }
}

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

.cell {
  aspect-ratio:1;
  position:relative;
  min-width:0
}

.empty {
  pointer-events:none
}

.card {
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  perspective:1200px;
  display:block;
  cursor:pointer;
  text-align:left
}

.inner {
  display:block;
  width:100%;
  height:100%;
  position:relative;
  transform-style:preserve-3d;
  transition:transform .65s cubic-bezier(.2,.65,.2,1)
}

.card.is-flipped .inner {
  transform:rotateY(180deg)
}

.face {
  position:absolute;
  inset:0;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  overflow:hidden
}

.front img {
  height:100%;
  width:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.65);
  transition:filter .5s
}

.front:after {
  content:'';
  position:absolute;
  inset:0;
  background:#393b2912
}

.back {
  transform:rotateY(180deg);
  background:var(--letter);
  padding:4px;
  display:flex;
  flex-direction:column;
}

.back h2 {
  font-family:Arial, Helvetica, sans-serif;+
  font-weight: 300;
  font-size:clamp(15px,2vw,42px);
  line-height:.9;
  margin: auto 0;
  letter-spacing: -0.04cm;
  overflow-wrap: break-word;
}

.back .year,
.back .medium {
  font-family: Arial, sans-serif;
  font-size: clamp(9px, 0.8vw, 13px);
  line-height: 1.2;
}

.back .medium {
  margin-top:auto;
}

footer {
  display:flex;
  justify-content:space-between;
  padding:25px 30px;
  font-size:12px;
  gap:20px
}

.footer-line {
  width:100%;
  padding:0;
  margin:0;
  overflow:hidden;
  background:#e41515f4;
}

.footer-line button {
  display:block;
  width:100%;
  border:0;
  color:#dff571;
  padding:4px 0;
  margin:0;
  background:transparent;
  font:inherit;
  font-size:25px;
  text-align:left;
  overflow:hidden;
  cursor:pointer;
}

.footer-marquee {
  display:flex;
  width:max-content;
  white-space:nowrap;
  animation:marquee-left 12s linear infinite;
}

.footer-marquee > span {
  display:block;
  flex-shrink:0;
  white-space:nowrap;
}

@keyframes marquee-left {
  from {
    transform:translateX(0);
  }
  to {
    transform:translateX(-50%);
  }
}

dialog {
  border:0;
  background:var(--letter);
  color:var(--ink);
  padding:40px;
  width:min(900px,calc(100% - 32px));
  max-height:85vh
}

dialog::backdrop {
  background:#2226;
  backdrop-filter:blur(5px)
}

dialog button {
  float:right;
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:14px
}

dialog h1 {
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:clamp(28px,4vw,60px);
  line-height:1;
  white-space:nowrap;
}

dialog p {
  font-size:16px;
  line-height:1.7
}

dialog .eyebrow {
  font-size:12px
}

@media(min-width:1600px) {
  main {
  max-width:1600px;
  margin:auto
}


}

@media(max-width:700px) {
  header {
  padding:17px 16px
}

.wordmark {
  font-size:28px
}

.descriptor {
  font-size:10px;
  margin-right:5vw
}

header button span {
  margin-left:12px
}

main {
  padding:0 16px
}

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

.back {
  padding:14px
}

.back h2 {
  font-size:clamp(27px,7vw,48px);
  margin:8px 0
}

.back .meta,.back .top,.back .sample {
  font-size:12px
}

.letters span {
  font-size:130vh;
  transform:scaleX(.9);
  width:33%
}

.letters {
  padding:0;
  justify-content:center
}

.index-line {
  font-size:11px
}

footer {
  padding:22px 16px;
  flex-wrap:wrap;
  font-size:11px
}

.instruction {
  width:100%
}

dialog {
  padding:24px
}


}

@media(prefers-reduced-motion:reduce) {
  .inner {
  transition:none
}


}


