:root {
  --paper:#eee9dd;
  --ink:#22231f;
  --red:#b92e23;
  --line:#b9b4a7;
  --muted:#66665d;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Arial,Helvetica,sans-serif;
  --mono:'Courier New',monospace;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px;
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:17px/1.6 var(--sans);
  -webkit-font-smoothing:antialiased;
}
::selection {
  background:var(--red);
  color:var(--paper);
}
a {
  color:inherit;
  text-underline-offset:5px;
}
a:hover {
  color:var(--red);
}
button,input,textarea {
  font:inherit;
  color:inherit;
}
button {
  cursor:pointer;
  border:1px solid var(--line);
  background:transparent;
  min-height:44px;
  padding:9px 13px;
  border-radius:0;
}
button:hover {
  border-color:var(--ink);
}
button:disabled {
  cursor:not-allowed;
  opacity:.45;
}
button[aria-pressed=true] {
  background:var(--ink);
  color:var(--paper);
  border-color:var(--ink);
}
:focus-visible {
  outline:3px solid var(--red);
  outline-offset:4px;
}
img {
  display:block;
  max-width:100%;
  height:auto;
}
figure {
  margin:0;
}
p {
  margin:0 0 1em;
}
h1,h2,h3 {
  font-weight:400;
  margin:0;
  line-height:1.06;
}
h1 {
  font-family:var(--serif);
  font-size:clamp(54px,6.8vw,100px);
  letter-spacing:-.055em;
}
h1 em {
  font-weight:400;
  color:var(--red);
}
h2 {
  font-size:32px;
  letter-spacing:-.025em;
}
h3 {
  font-size:28px;
}
em {
  font-family:var(--serif);
}
[hidden] {
  display:none!important;
}
.site-header,main,.site-footer {
  width:90%;
  max-width:1320px;
  margin:auto;
}
.masthead {
  display:flex;
  align-items:center;
  gap:24px;
  min-height:94px;
  border-bottom:3px solid var(--ink);
}
.brand {
  font:bold 25px/.95 var(--sans);
  letter-spacing:-1.3px;
  text-decoration:none;
}
.edition {
  font:11px/1.4 var(--mono);
  color:var(--muted);
  margin-right:auto;
}
.languages {
  display:flex;
  gap:3px;
  flex-shrink:0;
}
.languages button {
  font:12px var(--mono);
  padding:8px 10px;
  border-color:transparent;
}
.nav-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--ink);
  gap:16px;
}
nav {
  display:flex;
  flex-wrap:wrap;
  gap:25px;
}
nav a {
  min-height:52px;
  display:flex;
  align-items:center;
  gap:7px;
  text-decoration:none;
  font-size:13px;
}
nav a[aria-current=page] {
  color:var(--red);
  box-shadow:inset 0 -3px var(--red);
}
.nav-number {
  font:10px var(--mono);
  color:var(--muted);
}
.preview-label {
  font:10px var(--mono);
  text-transform:uppercase;
  letter-spacing:.08em;
  white-space:nowrap;
  color:var(--red);
}
.skip {
  position:absolute;
  top:-100px;
  left:16px;
  background:var(--ink);
  color:white;
  padding:10px;
  z-index:10;
}
.skip:focus {
  top:10px;
}
.eyebrow,.micro {
  font:11px/1.5 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.eyebrow {
  color:var(--red);
  margin-bottom:22px;
}
.small {
  font-size:13px;
  color:var(--muted);
}
.serif {
  font-family:var(--serif);
  font-size:27px;
  line-height:1.4;
}
.lead {
  font-family:var(--serif);
  font-size:26px;
  line-height:1.4;
}
.home-hero {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:9%;
  padding:58px 0 50px;
  align-items:start;
}
.name {
  font:400 clamp(90px,10.8vw,152px)/.79 var(--serif);
  letter-spacing:-.075em;
  margin:25px 0 36px;
}
.name>span {
  color:var(--red);
}
.hero-thought {
  font:400 clamp(22px,2.6vw,36px)/1.15 var(--serif);
  letter-spacing:-.025em;
  margin-bottom:20px;
}
.intro {
  font-size:15px;
  max-width:440px;
  line-height:1.75;
}
.hero-portrait {
  padding-top:10px;
  position:relative;
}
.hero-portrait:before {
  content:'01 / 03';
  font:10px var(--mono);
  position:absolute;
  top:-12px;
  right:0;
  color:var(--red);
}
.portrait-frame {
  position:relative;
  background:#d8d2c5;
  aspect-ratio:4/5;
  max-height:510px;
  overflow:hidden;
}
.portrait-frame img {
  height:100%;
  width:100%;
  object-fit:cover;
  object-position:center 36%;
}
.hero-portrait figcaption {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:15px;
  border-top:1px solid var(--ink);
  margin-top:12px;
  padding-top:8px;
}
.hero-portrait figcaption>.micro {
  max-width:160px;
  font-size:9px;
}
.portrait-controls {
  display:flex;
  gap:2px;
}
.portrait-controls button {
  font:10px var(--mono);
  padding:6px 9px;
  border-color:transparent;
  min-width:34px;
}
.now-strip {
  display:grid;
  grid-template-columns:145px 1fr;
  border-top:3px solid var(--ink);
  border-bottom:1px solid var(--ink);
  padding:22px 0;
  gap:22px;
}
.now-label h2 {
  font-family:var(--serif);
  font-size:37px;
  color:var(--red);
  font-style:italic;
}
.now-label p {
  font:10px/1.5 var(--mono);
  max-width:125px;
  margin:8px 0 0;
  color:var(--muted);
}
.now-items {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.now-item {
  display:flex;
  flex-direction:column;
  align-items:start;
  position:relative;
  gap:11px;
  padding:3px 25px 3px 18px;
  border-left:1px solid var(--line);
  text-decoration:none;
}
.now-item .micro {
  color:var(--muted);
  font-size:10px;
  letter-spacing:.03em;
}
.now-item strong {
  font:400 20px/1.15 var(--serif);
}
.now-item .arrow {
  position:absolute;
  right:8px;
  bottom:0;
  color:var(--red);
}
.explore-section {
  padding:55px 0;
}
.section-label {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--ink);
  padding-bottom:15px;
  margin-bottom:24px;
}
.section-label h2 {
  font:11px/1.5 var(--mono);
  text-transform:uppercase;
  letter-spacing:.1em;
}
.explore-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.teaser {
  position:relative;
  min-height:340px;
  padding:0 24px 0;
  text-decoration:none;
  border-right:1px solid var(--line);
  overflow:hidden;
}
.teaser:first-child {
  padding-left:0;
}
.teaser:last-child {
  border:0;
  padding-right:0;
}
.teaser>.micro {
  color:var(--red);
}
.teaser h3 {
  font-family:var(--serif);
  font-size:32px;
  margin:14px 0;
}
.teaser p {
  font-size:13px;
  max-width:230px;
}
.teaser-arrow {
  position:absolute;
  top:0;
  right:16px;
  font-size:22px;
  color:var(--red);
}
.atlas-stamp {
  font:13px/1.5 var(--mono);
  color:var(--red);
  border:1px solid var(--red);
  width:fit-content;
  padding:15px;
  margin-top:30px;
  transform:rotate(-8deg);
}
.photo-mini {
  width:115px;
  margin:20px auto 0;
  transform:rotate(5deg);
}
.photo-mini img {
  aspect-ratio:5/4;
  object-fit:cover;
  object-position:center 40%;
}
.list-scribble {
  font:italic 27px/1.4 var(--serif);
  color:var(--red);
  transform:rotate(-5deg);
  margin-top:24px;
}
.archive-letter {
  font:100px/.8 var(--serif);
  color:var(--red);
  margin-top:25px;
}
.work-note {
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:10%;
  border-top:1px solid var(--ink);
  padding:35px 0 60px;
}
.work-note h2 {
  font:11px var(--mono);
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:16px;
}
.work-note p:not(.serif) {
  font-size:14px;
}
.work-note a {
  font-size:12px;
}
.site-footer {
  border-top:3px solid var(--ink);
  padding:35px 0 20px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}
.site-footer p {
  font:11px/1.6 var(--mono);
  margin:18px 0 0;
  color:var(--muted);
  max-width:280px;
}
.footer-links {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:start;
}
.footer-links a {
  font-size:12px;
  min-height:44px;
}
.colophon {
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:15px;
  font:10px/1.5 var(--mono);
  padding-top:20px;
  border-top:1px solid var(--line);
  color:var(--muted);
}
.page-heading {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:10%;
  padding:65px 0 50px;
  align-items:end;
}
.page-heading>div>p:last-child {
  margin-bottom:0;
}
.page-heading .lead {
  font-size:23px;
}
.page-heading>div>p:not(.eyebrow):not(.lead) {
  font-size:14px;
}
.travel-heading h1 {
  font-size:clamp(52px,6.3vw,89px);
}
.atlas-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  border-top:2px solid var(--ink);
  padding:15px 0;
}
.region-filters {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.region-filters button {
  font-size:12px;
  border:0;
  padding:9px 12px;
}
.atlas-count {
  font-size:9px;
  max-width:100px;
  text-align:right;
}
.map-paper {
  position:relative;
  background:#e5dfd0;
  border:1px solid var(--line);
  height:clamp(260px,39vw,530px);
  overflow:hidden;
  padding:20px;
}
.map-grid {
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(#aaa58b22 1px,transparent 1px),linear-gradient(90deg,#aaa58b22 1px,transparent 1px);
  background-size:10% 20%;
}
.atlas-map {
  width:100%;
  height:100%;
  display:block;
  position:relative;
}
.atlas-map path {
  fill:#cdc8b9;
  stroke:var(--paper);
  stroke-width:.6;
}
.atlas-map .atlas-country {
  fill:var(--red);
  cursor:pointer;
  stroke:var(--paper);
  stroke-width:.7;
}
.atlas-map .atlas-country.is-muted {
  fill:#bba69a;
}
.atlas-map .atlas-country:hover,.atlas-map .atlas-country:focus {
  fill:#252b28;
  outline:none;
  stroke:#252b28;
  stroke-width:1.8;
}
.atlas-map .atlas-country[aria-pressed=true] {
  fill:#252b28;
  stroke:#252b28;
  stroke-width:1.8;
}
.map-key {
  position:absolute;
  bottom:10px;
  left:15px;
  right:15px;
  display:flex;
  justify-content:space-between;
  font:10px var(--mono);
}
.map-key i {
  display:inline-block;
  background:var(--red);
  width:9px;
  height:9px;
  margin-right:5px;
}

.regional-map-shell {
  position:absolute;
  inset:0;
  z-index:3;
  padding:14px 18px 12px;
  background:#e5dfd0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:8px;
}
.regional-map-topline {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid var(--line);
  padding-bottom:7px;
}
.regional-map-topline button {
  min-height:34px;
  padding:5px 8px;
  border:0;
  font:10px/1.4 var(--mono);
  text-transform:uppercase;
}
.regional-map-heading {
  display:flex;
  align-items:baseline;
  gap:10px;
  min-width:0;
}
.regional-map-heading strong {
  font:400 23px/1 var(--serif);
}
.regional-map-heading .micro {
  color:var(--red);
}
.regional-map-canvas {
  min-height:0;
  overflow:hidden;
}
.regional-map-canvas svg {
  width:100%;
  height:100%;
  display:block;
}
.regional-map-canvas .region-province {
  fill:#cbc6b8;
  stroke:var(--paper);
  stroke-width:.7;
  vector-effect:non-scaling-stroke;
  transition:fill .14s ease,opacity .14s ease;
}
.regional-map-canvas .region-province.is-visited {
  fill:var(--red);
  cursor:pointer;
}
.regional-map-canvas .region-province.is-visited:hover,
.regional-map-canvas .region-province.is-visited:focus {
  fill:var(--ink);
  outline:none;
}
.regional-map-canvas .region-province.is-selected {
  fill:var(--ink);
}
.regional-map-list {
  display:flex;
  gap:4px;
  overflow-x:auto;
  padding-top:6px;
  border-top:1px solid var(--line);
  scrollbar-width:thin;
  scrollbar-color:var(--red) transparent;
}
.regional-map-list button {
  flex:0 0 auto;
  min-height:34px;
  padding:6px 9px;
  border:0;
  font:10px/1.4 var(--mono);
  text-transform:uppercase;
  white-space:nowrap;
}
.map-paper.is-regional .map-key {
  display:none;
}
.atlas>.micro {
  margin:13px 0 25px;
  color:var(--muted);
}
.atlas-bottom {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:45px;
  padding:25px 0 35px;
  border-top:1px solid var(--ink);
}
label {
  display:block;
  font:11px/1.5 var(--mono);
  letter-spacing:.05em;
  margin-bottom:10px;
}
.country-index input {
  width:100%;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--ink);
  padding:12px 0;
  font-size:18px;
  margin-bottom:14px;
  border-radius:0;
}
.country-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 15px;
  max-height:268px;
  overflow:auto;
  scrollbar-color:var(--red) transparent;
  padding:5px;
}
.country-list button {
  text-align:left;
  font-size:13px;
  padding:10px 8px;
  border:0;
  border-bottom:1px solid var(--line);
  min-width:0;
  overflow-wrap:anywhere;
}
.country-list button:hover {
  color:var(--red);
}
.country-detail {
  border-left:1px solid var(--line);
  padding-left:35px;
  min-width:0;
}
.country-detail h2 {
  font:40px/1.1 var(--serif);
  margin-bottom:18px;
}
.country-detail>p:not(.eyebrow) {
  font-size:14px;
}
.country-detail dl {
  margin:20px 0 0;
  font-size:12px;
}
.country-detail dl>div {
  display:grid;
  grid-template-columns:80px 1fr;
  border-top:1px solid var(--line);
  padding:10px 0;
}
.country-detail dt {
  font:10px/1.7 var(--mono);
  text-transform:uppercase;
}
.country-detail dd {
  margin:0;
  color:var(--muted);
}
.trip-gallery-stage {
  margin:10px 0 36px;
  padding:16px 0 22px;
  border-top:3px solid var(--ink);
  border-bottom:1px solid var(--ink);
}
.trip-gallery-main {
  position:relative;
  height:clamp(380px,57vw,720px);
  overflow:hidden;
  background:#171714;
}
.trip-gallery-hero {
  width:100%;
  height:100%;
  min-height:0;
  padding:0;
  border:0;
  background:#171714;
  display:block;
  cursor:zoom-in;
}
.trip-gallery-hero:hover {
  border:0;
}
.trip-gallery-hero img {
  width:100%;
  height:100%;
  object-fit:contain;
}
.trip-gallery-arrow {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:52px;
  height:64px;
  min-height:0;
  padding:0;
  border:0;
  background:#171714b8;
  color:#f4efe4;
  font:42px/1 var(--serif);
}
.trip-gallery-arrow:hover {
  background:#171714e8;
  border:0;
}
.trip-gallery-prev {
  left:14px;
}
.trip-gallery-next {
  right:14px;
}
.trip-gallery-caption {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:baseline;
  padding:10px 0 12px;
  border-bottom:1px solid var(--line);
  font:11px/1.5 var(--mono);
  color:var(--muted);
}
.trip-gallery-caption span:first-child {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.trip-gallery-caption span:last-child {
  color:var(--red);
  flex-shrink:0;
}
.trip-gallery-thumbs {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:112px;
  gap:8px;
  overflow-x:auto;
  padding:10px 2px 3px;
  scrollbar-color:var(--red) transparent;
  scrollbar-width:thin;
}
.trip-gallery-thumb {
  min-height:0;
  padding:0;
  border:2px solid transparent;
  background:transparent;
  aspect-ratio:4/3;
  overflow:hidden;
  opacity:.58;
}
.trip-gallery-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.trip-gallery-thumb:hover,
.trip-gallery-thumb[aria-pressed=true] {
  opacity:1;
  border-color:var(--red);
  outline:0;
  background:transparent;
}
.trip-lightbox {
  width:100vw;
  max-width:100vw;
  height:100vh;
  max-height:100vh;
  padding:0;
  margin:auto;
  background:#111;
  color:#fff;
  overflow:hidden;
}
.trip-lightbox::backdrop {
  background:#111f;
}
.trip-lightbox-frame {
  position:relative;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
}
.trip-lightbox-image {
  max-width:calc(100vw - 110px);
  max-height:calc(100vh - 70px);
  width:auto;
  height:auto;
  object-fit:contain;
}
.trip-lightbox-close,
.trip-lightbox-nav {
  position:absolute;
  z-index:3;
  min-height:0;
  border:0;
  background:#ffffff1a;
  color:#fff;
}
.trip-lightbox-close:hover,
.trip-lightbox-nav:hover {
  border:0;
  background:#ffffff2e;
}
.trip-lightbox-close {
  top:18px;
  right:18px;
  width:48px;
  height:48px;
  padding:0;
  font:36px/1 var(--sans);
}
.trip-lightbox-nav {
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:70px;
  padding:0;
  font:44px/1 var(--serif);
}
.trip-lightbox-prev {
  left:18px;
}
.trip-lightbox-next {
  right:18px;
}
.trip-lightbox-caption {
  position:absolute;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  font:11px/1.5 var(--mono);
  letter-spacing:.08em;
}
@media(max-width:800px) {
  .trip-gallery-main {
    height:clamp(300px,66vw,520px);
  }
  .trip-gallery-thumbs {
    grid-auto-columns:96px;
  }
}
@media(max-width:540px) {
  .trip-gallery-stage {
    margin:5px 0 30px;
    padding-top:10px;
  }
  .trip-gallery-main {
    height:72vw;
    min-height:260px;
  }
  .trip-gallery-arrow {
    width:42px;
    height:54px;
    font-size:34px;
  }
  .trip-gallery-prev {
    left:6px;
  }
  .trip-gallery-next {
    right:6px;
  }
  .trip-gallery-caption {
    font-size:9px;
  }
  .trip-gallery-thumbs {
    grid-auto-columns:84px;
    gap:6px;
  }
  .trip-lightbox-image {
    max-width:100vw;
    max-height:calc(100vh - 76px);
  }
  .trip-lightbox-nav {
    width:42px;
    height:60px;
  }
  .trip-lightbox-prev {
    left:6px;
  }
  .trip-lightbox-next {
    right:6px;
  }
  .trip-lightbox-close {
    top:10px;
    right:10px;
  }
}
.atlas-foot {
  font:10px/1.6 var(--mono);
  color:var(--muted);
  max-width:850px;
  margin:0 0 50px;
}
#country-status {
  font-size:12px;
}
.photos-heading {
  border-bottom:3px solid var(--ink);
  padding-bottom:45px;
}
.contact-sheet {
  padding:25px 0 70px;
}
.photo-grid {
  display:grid;
  grid-template-columns:1fr .85fr 1.1fr;
  align-items:start;
  gap:35px;
  padding:20px 0;
}
.photo-item-1 {
  margin-top:125px;
}
.photo-item-2 {
  margin-top:40px;
}
.photo-button {
  padding:0;
  border:0;
  display:block;
  width:100%;
  background:transparent;
}
.photo-button img {
  width:100%;
  height:auto;
}
.photo-button:hover img {
  outline:3px solid var(--red);
  outline-offset:6px;
}
.photo-item figcaption {
  display:flex;
  gap:14px;
  align-items:baseline;
  border-top:1px solid var(--ink);
  padding-top:12px;
  margin-top:14px;
  font-size:12px;
}
.photo-item figcaption>:last-child {
  margin-left:auto;
  color:var(--red);
}
.photo-item .micro {
  color:var(--red);
}
dialog {
  background:var(--paper);
  color:var(--ink);
  border:0;
  max-width:min(94vw,1100px);
  width:fit-content;
  max-height:94vh;
  padding:20px;
}
dialog::backdrop {
  background:#171714ed;
}
.viewer-tools {
  display:flex;
  justify-content:space-between;
  gap:25px;
  margin-bottom:15px;
}
.viewer-tools div {
  display:flex;
  gap:8px;
}
.viewer-tools button {
  font-size:12px;
}
dialog figure img {
  max-height:68vh;
  max-width:85vw;
  width:auto;
  height:auto;
  margin:auto;
}
dialog figcaption {
  font-family:var(--serif);
  text-align:center;
  margin:10px;
}
dialog>.micro {
  text-align:center;
  margin:0;
}
.lists-heading {
  border-bottom:3px solid var(--ink);
}
.film-section {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:60px;
  padding:45px 0 60px;
}
.big-number {
  font:105px/.9 var(--serif);
  letter-spacing:-.07em;
  color:var(--red);
  margin:30px 0 20px;
}
.big-number span {
  font-size:35px;
  vertical-align:top;
}
.list-margin>p:last-child {
  max-width:235px;
  font-size:13px;
}
.film-list {
  list-style:none;
  margin:0;
  padding:0;
}
.film-list li {
  display:grid;
  grid-template-columns:30px 1fr 20px;
  align-items:baseline;
  gap:15px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
  font:35px/1.15 var(--serif);
}
.film-list li:first-child {
  padding-top:0;
}
.film-list .micro {
  color:var(--red);
}
.film-list li>:last-child {
  font-size:20px;
  color:var(--red);
}
.music-section {
  background:var(--ink);
  color:var(--paper);
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:50px;
  padding:45px;
}
.music-section h2 {
  font-family:var(--serif);
  font-size:39px;
  margin-bottom:25px;
}
.music-section .eyebrow {
  color:#e18e7b;
}
.music-section .serif {
  font-size:20px;
  color:#c5c0b5;
}
.artist-cloud {
  display:flex;
  align-content:center;
  align-items:baseline;
  flex-wrap:wrap;
  gap:8px 18px;
}
.artist-cloud span {
  font:22px/1.4 var(--serif);
}
.artist-cloud span:nth-child(3n+1) {
  font-size:31px;
}
.artist-cloud span:nth-child(4n) {
  color:#e18e7b;
}
.books-section {
  display:grid;
  grid-template-columns:100px 1fr;
  gap:55px;
  max-width:960px;
  margin:60px auto;
  align-items:stretch;
}
.book-spine {
  background:var(--red);
  color:var(--paper);
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  padding:25px;
  font:18px/1.5 var(--serif);
  letter-spacing:.07em;
  min-height:260px;
  text-align:center;
  border-left:4px double #ead8c477;
}
.books-section h2 {
  font-size:28px;
  margin-bottom:20px;
}
.books-section p {
  font-size:14px;
}
.recommend-section {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:65px;
  border-top:2px solid var(--ink);
  padding:45px 0 60px;
}
.recommend-section h2 {
  font:45px/1.04 var(--serif);
  margin-bottom:25px;
}
.recommend-section>div p {
  font-size:16px;
}
.recommend-section input,.recommend-section textarea {
  width:100%;
  border:1px solid var(--line);
  border-bottom-color:var(--ink);
  border-radius:0;
  background:#f5f0e7;
  padding:12px;
  margin-bottom:10px;
  min-height:48px;
  font-size:15px;
}
.recommend-section textarea {
  resize:vertical;
}
.recommend-section label {
  margin-top:20px;
}
.recommend-section form>label:first-child {
  margin-top:0;
}
#track-status {
  font-size:12px;
  color:var(--red);
  margin:10px 0;
}
#song-submit {
  background:var(--red);
  border-color:var(--red);
  color:var(--paper);
  margin:10px 0;
  font-size:14px;
}
#spotify-preview iframe {
  width:100%;
  height:152px;
  border:0;
  margin-top:15px;
}
#song-form>a:last-child {
  font-size:12px;
}
.archive-cover {
  padding:50px 50px 20px;
  margin:45px 0;
  border:1px solid var(--ink);
  border-top:5px solid var(--ink);
  position:relative;
}
.archive-title {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
}
.archive-title h1 {
  font-size:clamp(60px,7.6vw,110px);
}
.archive-monogram {
  font:220px/1 var(--serif);
  color:var(--red);
  opacity:.75;
  border-bottom:1px solid var(--red);
  padding:0 20px;
}
.archive-cover>.lead {
  max-width:520px;
  margin:35px 0;
}
.archive-cover-foot {
  border-top:1px solid var(--line);
  padding-top:18px;
  display:flex;
  justify-content:space-between;
  font:11px/1.5 var(--mono);
}
.archive-preface {
  display:grid;
  grid-template-columns:100px 1fr;
  gap:40px;
  max-width:860px;
  margin:55px auto;
}
.archive-preface .serif {
  font-size:29px;
}
.archive-catalogue {
  max-width:1000px;
  margin:0 auto 55px;
}
.archive-catalogue details {
  border-bottom:1px solid var(--line);
}
.archive-catalogue summary {
  display:flex;
  align-items:center;
  gap:30px;
  padding:23px 0;
  font:27px/1.2 var(--serif);
  cursor:pointer;
  list-style:none;
}
.archive-catalogue summary::-webkit-details-marker {
  display:none;
}
.archive-catalogue summary>:last-child {
  margin-left:auto;
  color:var(--red);
}
.archive-catalogue details>div {
  padding:0 0 20px 48px;
  font-size:15px;
  max-width:650px;
}
.archive-catalogue .micro {
  color:var(--red);
}
.archive-invite {
  border-top:1px solid var(--ink);
  text-align:center;
  padding:45px 10px 60px;
}
.archive-invite h2 {
  font:35px/1.2 var(--serif);
  margin-bottom:15px;
}
.archive-invite p {
  font-size:14px;
}
.archive-invite a {
  font-size:13px;
}
.noscript {
  padding:20px;
  text-align:center;
  font-size:13px;
}
:lang(ja),:lang(zh) {
  line-break:strict;
  word-break:normal;
  overflow-wrap:anywhere;
}
:lang(ja) h1,:lang(zh) h1 {
  font-size:clamp(39px,5.6vw,78px);
  letter-spacing:-.035em;
  line-height:1.23;
}
:lang(ja) .name,:lang(zh) .name {
  font-size:clamp(90px,10.8vw,152px);
  line-height:.85;
  letter-spacing:-.07em;
  overflow-wrap:normal;
}
:lang(ja) .hero-thought,:lang(zh) .hero-thought {
  line-height:1.55;
  font-size:26px;
}
:lang(ja) .teaser h3,:lang(zh) .teaser h3 {
  font-size:26px;
  line-height:1.4;
}
:lang(ja) .micro,:lang(zh) .micro {
  letter-spacing:.02em;
}
:lang(ja) .lead,:lang(zh) .lead {
  line-height:1.65;
}
@media(min-width:1500px) {
  .home-hero {
    gap:12%;
  }
  .hero-portrait {
    max-width:430px;
  }
}
@media(max-width:1100px) {
  .edition {
    display:none;
  }
  .languages {
    margin-left:auto;
  }
  .home-hero {
    gap:6%;
  }
  .name {
    font-size:12vw;
  }
  .hero-portrait figcaption {
    flex-direction:column;
    gap:4px;
  }
  .hero-portrait figcaption>.micro {
    max-width:none;
  }
  .now-strip {
    grid-template-columns:110px 1fr;
    gap:10px;
  }
  .now-item {
    padding-left:12px;
    padding-right:16px;
  }
  .now-item strong {
    font-size:18px;
  }
  .teaser {
    padding-left:16px;
    padding-right:16px;
    min-height:325px;
  }
  .teaser h3 {
    font-size:26px;
  }
  .page-heading {
    gap:6%;
  }
  .film-list li {
    font-size:29px;
  }
  .music-section {
    padding:30px;
    gap:30px;
  }
  .archive-monogram {
    font-size:170px;
  }
  .archive-cover {
    padding:35px 35px 20px;
  }
  nav {
    gap:17px;
  }
}
@media(max-width:800px) {
  body {
    font-size:16px;
  }
  .site-header,main,.site-footer {
    width:92%;
  }
  .brand {
    font-size:23px;
  }
  .masthead {
    min-height:80px;
  }
  .nav-number {
    display:none;
  }
  nav {
    gap:17px;
  }
  nav a {
    font-size:12px;
    min-height:50px;
  }
  .preview-label {
    font-size:9px;
  }
  .home-hero {
    padding-top:40px;
    grid-template-columns:1.05fr 1fr;
    gap:6%;
  }
  .name {
    font-size:12.5vw;
    margin-bottom:30px;
  }
  .hero-thought {
    font-size:25px;
  }
  .intro {
    font-size:13px;
  }
  .now-strip {
    grid-template-columns:100px 1fr;
  }
  .now-items {
    grid-template-columns:1fr 1fr;
    row-gap:20px;
  }
  .now-item strong {
    font-size:19px;
  }
  .explore-grid {
    grid-template-columns:1fr 1fr;
    gap:28px 0;
  }
  .teaser:nth-child(2) {
    border-right:0;
  }
  .teaser:nth-child(3) {
    padding-left:0;
  }
  .teaser {
    min-height:290px;
  }
  .work-note {
    gap:6%;
  }
  .page-heading {
    padding:40px 0;
    grid-template-columns:1fr;
    gap:25px;
  }
  .page-heading>div:last-child {
    max-width:600px;
  }
  .page-heading .lead {
    font-size:23px;
  }
  .travel-heading h1 {
    font-size:65px;
  }
  .atlas-count {
    display:none;
  }
  .map-paper {
    padding:8px;
    height:330px;
  }
  .atlas-bottom {
    gap:20px;
  }
  .country-detail {
    padding-left:20px;
  }
  .country-detail h2 {
    font-size:32px;
  }
  .photo-grid {
    gap:20px;
  }
  .photo-item figcaption {
    gap:7px;
    font-size:10px;
  }
  .photo-item-1 {
    margin-top:80px;
  }
  .film-section {
    gap:30px;
    grid-template-columns:1fr 1.7fr;
  }
  .film-list li {
    font-size:26px;
  }
  .music-section {
    grid-template-columns:1fr;
    gap:10px;
  }
  .artist-cloud {
    gap:8px 20px;
  }
  .books-section {
    gap:30px;
    grid-template-columns:80px 1fr;
  }
  .book-spine {
    padding:20px;
  }
  .recommend-section {
    gap:35px;
    grid-template-columns:1fr 1.3fr;
  }
  .recommend-section h2 {
    font-size:35px;
  }
  .archive-cover {
    padding:30px 25px 20px;
  }
  .archive-title h1 {
    font-size:70px;
  }
  .archive-monogram {
    font-size:130px;
    padding:0 10px;
  }
  .archive-preface {
    grid-template-columns:40px 1fr;
    gap:15px;
  }
  .footer-links {
    gap:15px;
  }
  .site-footer {
    gap:20px;
  }
  :lang(ja) .hero-thought,:lang(zh) .hero-thought {
    font-size:20px;
  }
}
@media(max-width:540px) {
  .site-header,main,.site-footer {
    width:calc(100% - 36px);
  }
  .masthead {
    flex-wrap:wrap;
    gap:10px;
    padding:20px 0 12px;
    min-height:unset;
  }
  .brand {
    font-size:24px;
  }
  .languages {
    width:100%;
    justify-content:flex-end;
    border-top:1px solid var(--line);
    padding-top:8px;
    margin-top:5px;
  }
  .languages button {
    min-width:44px;
    padding:8px;
  }
  .nav-row {
    align-items:flex-start;
    gap:5px;
    padding:4px 0;
  }
  .nav-row nav {
    gap:0;
    width:100%;
    justify-content:space-between;
  }
  .nav-row nav a {
    font-size:11px;
    min-height:44px;
  }
  .preview-label {
    display:none;
  }
  .home-hero {
    grid-template-columns:1fr;
    gap:28px;
    padding:32px 0;
  }
  .name {
    font-size:111px;
    margin:24px 0 27px;
  }
  .hero-thought {
    font-size:30px;
  }
  .intro {
    font-size:15px;
  }
  .hero-portrait {
    width:85%;
    margin-left:auto;
    padding-top:0;
  }
  .portrait-frame {
    max-height:390px;
  }
  .hero-portrait:before {
    left:-35px;
    top:20px;
    right:auto;
    writing-mode:vertical-rl;
  }
  .hero-portrait figcaption {
    flex-direction:row;
  }
  .hero-portrait figcaption>.micro {
    max-width:120px;
    font-size:8px;
  }
  .portrait-controls button {
    padding:6px 8px;
  }
  .now-strip {
    grid-template-columns:1fr;
    gap:17px;
    padding:20px 0;
  }
  .now-label {
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
  }
  .now-label h2 {
    font-size:35px;
  }
  .now-label p {
    max-width:150px;
    margin:0;
  }
  .now-items {
    row-gap:22px;
  }
  .now-item:nth-child(odd) {
    padding-left:0;
    border-left:0;
  }
  .now-item strong {
    font-size:20px;
  }
  .explore-section {
    padding:35px 0;
  }
  .teaser {
    min-height:310px;
    padding-left:14px;
    padding-right:14px;
  }
  .teaser h3 {
    font-size:26px;
  }
  .teaser p {
    font-size:12px;
  }
  .teaser-arrow {
    right:10px;
  }
  .atlas-stamp {
    font-size:10px;
    padding:12px;
    margin-top:22px;
  }
  .photo-mini {
    width:100px;
    margin-top:23px;
  }
  .list-scribble {
    font-size:23px;
  }
  .archive-letter {
    font-size:80px;
  }
  .work-note {
    grid-template-columns:1fr;
    gap:12px;
    padding:28px 0 40px;
  }
  .work-note .serif {
    font-size:25px;
  }
  .work-note p {
    margin-bottom:15px;
  }
  .site-footer {
    grid-template-columns:1fr;
    padding-top:25px;
  }
  .site-footer p {
    max-width:100%;
  }
  .footer-links {
    justify-content:flex-start;
    gap:20px;
  }
  .colophon {
    font-size:9px;
    gap:12px;
  }
  .colophon>span:nth-child(2) {
    flex-basis:100%;
    order:3;
  }
  .page-heading {
    padding:35px 0;
    gap:24px;
  }
  h1,.travel-heading h1 {
    font-size:57px;
    line-height:1.05;
  }
  .page-heading .lead {
    font-size:22px;
  }
  .eyebrow {
    font-size:10px;
    margin-bottom:20px;
  }
  .region-filters {
    gap:1px;
    justify-content:space-between;
    width:100%;
  }
  .region-filters button {
    font-size:11px;
    padding:7px 10px;
  }
  .map-paper {
    height:260px;
    padding:5px;
  }
  .map-paper.is-regional {
    height:320px;
  }
  .regional-map-shell {
    padding:10px 8px 8px;
  }
  .regional-map-heading strong {
    font-size:19px;
  }
  .regional-map-heading .micro {
    display:none;
  }
  .regional-map-list button {
    font-size:9px;
    padding:6px 8px;
  }
  .atlas-map {
    min-width:0;
  }
  .map-key {
    font-size:9px;
  }
  .atlas>.micro {
    font-size:9px;
  }
  .atlas-bottom {
    grid-template-columns:1fr;
    gap:28px;
  }
  .country-list {
    max-height:205px;
  }
  .country-detail {
    border-left:0;
    border-top:1px solid var(--ink);
    padding:24px 0 0;
    min-height:225px;
  }
  .atlas-foot {
    font-size:9px;
  }
  .photo-grid {
    grid-template-columns:1fr;
    gap:35px;
    padding-top:0;
  }
  .photo-item-0 {
    width:86%;
    margin:0;
  }
  .photo-item-1 {
    width:74%;
    margin:0 0 0 auto;
  }
  .photo-item-2 {
    width:100%;
    margin:0;
  }
  .photo-item figcaption {
    font-size:12px;
  }
  .contact-sheet {
    padding-bottom:45px;
  }
  .section-label h2 {
    font-size:10px;
  }
  .viewer-tools {
    gap:12px;
    flex-wrap:wrap;
  }
  .viewer-tools button {
    font-size:11px;
    padding:8px;
  }
  dialog {
    padding:15px;
    width:94vw;
  }
  dialog figure img {
    max-width:100%;
    max-height:60vh;
  }
  .film-section {
    grid-template-columns:1fr;
    gap:15px;
    padding:30px 0 40px;
  }
  .list-margin .big-number {
    font-size:80px;
    margin:16px 0;
  }
  .list-margin>p:last-child {
    max-width:100%;
  }
  .film-list li {
    font-size:29px;
    grid-template-columns:20px 1fr 18px;
    padding:19px 0;
  }
  .music-section {
    padding:25px 20px;
  }
  .music-section h2 {
    font-size:35px;
  }
  .artist-cloud span {
    font-size:20px;
  }
  .artist-cloud span:nth-child(3n+1) {
    font-size:26px;
  }
  .books-section {
    grid-template-columns:48px 1fr;
    gap:22px;
    margin:40px 0;
  }
  .book-spine {
    font-size:14px;
    padding:12px;
  }
  .books-section h2 {
    font-size:24px;
  }
  .books-section p {
    font-size:13px;
  }
  .recommend-section {
    grid-template-columns:1fr;
    gap:22px;
    padding:30px 0 40px;
  }
  .recommend-section h2 {
    font-size:42px;
  }
  .archive-cover {
    margin:30px 0;
    padding:25px 19px 17px;
  }
  .archive-title h1 {
    font-size:53px;
  }
  .archive-monogram {
    display:none;
  }
  .archive-cover>.lead {
    font-size:22px;
    margin:25px 0;
  }
  .archive-cover-foot {
    gap:20px;
    align-items:center;
    font-size:10px;
  }
  .archive-cover-foot .micro {
    font-size:9px;
  }
  .archive-preface {
    margin:35px 0;
    grid-template-columns:22px 1fr;
    gap:10px;
  }
  .archive-preface .serif {
    font-size:24px;
  }
  .archive-catalogue summary {
    font-size:23px;
    gap:15px;
  }
  .archive-catalogue details>div {
    padding-left:32px;
  }
  .archive-invite h2 {
    font-size:31px;
  }
  :lang(ja) h1,:lang(zh) h1 {
    font-size:41px;
  }
  :lang(ja) .name,:lang(zh) .name {
    font-size:111px;
  }
  :lang(ja) .hero-thought,:lang(zh) .hero-thought {
    font-size:24px;
  }
  :lang(ja) .teaser h3,:lang(zh) .teaser h3 {
    font-size:22px;
  }
  :lang(ja) .nav-row nav a,:lang(zh) .nav-row nav a {
    font-size:11px;
  }
  :lang(ja) .now-item strong,:lang(zh) .now-item strong {
    font-size:18px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
  }
}



/* Lists v2.1 — richer taxonomy */
.list-jump-nav{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line);margin-bottom:0}
.list-jump-nav a{padding:14px 10px;border-right:1px solid var(--line);text-transform:uppercase;font-size:11px;letter-spacing:.08em;display:flex;gap:8px}
.list-jump-nav a:last-child{border-right:0}.list-jump-nav a span:first-child{color:var(--red)}
.rotation-section{padding:42px 0 55px;border-bottom:2px solid var(--ink)}
.section-kicker{display:grid;grid-template-columns:1fr 2fr auto;gap:30px;align-items:end;margin-bottom:24px}
.section-kicker h2{font:30px/1.12 var(--serif);margin:0;max-width:720px}
.rotation-updated{white-space:nowrap}.rotation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink)}
.rotation-card{background:var(--paper);padding:22px;min-height:130px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;gap:12px}
.rotation-card .micro{grid-column:1/-1;color:var(--red)}.rotation-card strong{font:24px/1.12 var(--serif)}.rotation-card>:last-child{color:var(--red)}
.list-stack{min-width:0}.list-tabs{display:flex;gap:6px;margin:0 0 24px;border-bottom:1px solid var(--line)}
.list-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:9px 14px 11px;text-transform:uppercase;font-size:11px;letter-spacing:.07em}
.list-tabs button[aria-selected="true"]{border-bottom-color:var(--red);color:var(--red)}
.versus-list p{display:grid;grid-template-columns:1fr 30px 1fr;gap:15px;align-items:center;margin:0;padding:22px 0;border-bottom:1px solid var(--line);font:34px/1.1 var(--serif)}
.versus-list p span{text-align:center;color:var(--red)}.versus-list del{opacity:.55;text-decoration-thickness:1px}.panel-note{margin-top:25px;font-size:19px}
.comfort-word{font:clamp(70px,12vw,150px)/.8 var(--serif);letter-spacing:-.07em;color:var(--red);margin:30px 0}
.film-editorial{display:block;padding:52px 0 68px}
.film-editorial-head{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);gap:60px;align-items:end;border-bottom:3px solid var(--ink);padding-bottom:26px}
.film-editorial-head .big-number{margin:22px 0 0}
.film-editorial-head>p{max-width:520px;margin:0 0 8px;font:24px/1.3 var(--serif)}
.film-ledger{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid var(--ink)}
.film-ledger article{display:grid;grid-template-columns:74px 1fr;gap:22px;padding:24px 24px 24px 0;border-bottom:1px solid var(--line)}
.film-ledger article:nth-child(odd){border-right:1px solid var(--line)}
.film-ledger article:nth-last-child(-n+2){border-bottom:0}
.film-ledger article:nth-child(even){padding-left:24px;padding-right:0}
.film-ledger-meta{display:flex;flex-direction:column;justify-content:space-between;gap:20px;font:10px/1 var(--mono);letter-spacing:.12em;color:var(--red)}
.film-ledger h3{font:clamp(25px,2.4vw,36px)/1.02 var(--serif);letter-spacing:-.035em;margin:0 0 10px;transition:color .16s ease}
.film-ledger article:hover h3{color:var(--red)}
.film-ledger p{margin:0;font-size:13px;line-height:1.5;max-width:330px;color:#5f5a50}
.film-footnotes{display:grid;grid-template-columns:1.15fr .85fr;gap:0;border-bottom:1px solid var(--ink)}
.film-footnotes>article{padding:28px 28px 30px 0}
.film-footnotes>article+article{border-left:1px solid var(--line);padding-left:30px;padding-right:0}
.film-footnotes .micro{display:block;color:var(--red);margin-bottom:20px}
.film-law{display:grid;grid-template-columns:1fr 24px 1fr;gap:10px;align-items:baseline;margin:0;padding:10px 0;border-top:1px solid var(--line);font:23px/1.15 var(--serif)}
.film-law span{text-align:center;color:var(--red)}.film-law del{opacity:.5;text-decoration-thickness:1px}
.film-footnotes .serif{font-size:16px;margin:18px 0 0;max-width:440px}
.film-comfort>strong{display:block;font:clamp(58px,8vw,108px)/.82 var(--serif);letter-spacing:-.07em;color:var(--red);margin:5px 0 18px}
@media(max-width:760px){.film-editorial-head{grid-template-columns:1fr;gap:12px}.film-editorial-head>p{font-size:20px}.film-ledger{grid-template-columns:1fr}.film-ledger article,.film-ledger article:nth-child(even){padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.film-ledger article:nth-last-child(2){border-bottom:1px solid var(--line)}.film-ledger article:last-child{border-bottom:0}.film-footnotes{grid-template-columns:1fr}.film-footnotes>article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.film-comfort>strong{font-size:72px}}
@media(prefers-reduced-motion:reduce){.film-ledger h3{transition:none}}
.music-expanded{grid-template-columns:.72fr 1.45fr;align-items:start;position:relative}
.music-expanded>div:nth-child(2) h3{font:30px/1.05 var(--serif);margin:0}.music-intro{color:#c5c0b5;margin:10px 0 24px}
.song-explain-list{list-style:none;margin:0;padding:0}.song-card{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:15px 0;border-top:1px solid #ffffff2a}
.song-card .micro{color:#e18e7b}.song-card strong,.song-card span{display:block}.song-card strong{font:20px/1.1 var(--serif)}.song-card div>span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#c5c0b5;margin-top:3px}
.song-card p{margin:8px 0 0;font-size:13px;color:#c5c0b5}
.taste-shuffle{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;border-top:2px solid #e18e7b;margin-top:22px;padding-top:18px}
.taste-shuffle p{font-size:12px;color:#c5c0b5;margin:4px 0 8px}.taste-shuffle strong{font:22px/1.1 var(--serif)}.taste-shuffle button{background:#e18e7b;border-color:#e18e7b;color:var(--ink)}
.artist-cloud-wrap{grid-column:1/-1;border-top:1px solid #ffffff2a;padding-top:25px}.artist-cloud-wrap>.micro{color:#e18e7b;margin-bottom:12px}
.games-section{display:grid;grid-template-columns:.72fr 1.45fr;gap:50px;padding:60px 0;border-bottom:2px solid var(--ink)}
.section-number>span:last-child{display:block;margin-top:35px;font:44px/1 var(--serif);letter-spacing:.12em;color:var(--red)}
.games-section h2,.collections-section h2,.opinions-section h2{font:38px/1.05 var(--serif);margin:0 0 30px}
.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.game-grid article{background:var(--paper);padding:22px;min-height:240px}.game-grid h3{font:26px/1 var(--serif);margin:28px 0 12px}.game-grid p{font-size:13px}
.games-caveat{font:18px/1.35 var(--serif);border-left:4px solid var(--red);padding-left:18px;margin:25px 0 0}
.books-expanded{grid-template-columns:280px 1fr;max-width:none;align-items:start}
.book-shelf{height:390px;display:flex;align-items:flex-end;border-bottom:12px solid var(--ink);padding:0 12px;gap:4px}
.spine{writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;justify-content:center;padding:14px 10px;font:15px/1 var(--serif);letter-spacing:.06em;color:var(--paper)}
.spine-a{height:72%;background:var(--red)}.spine-b{height:94%;background:var(--ink)}.spine-c{height:84%;background:#726b5f}.spine-d{height:66%;background:#a45c4d}
.book-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:28px 0}
.book-mini-grid>div{background:var(--paper);padding:18px}.book-mini-grid strong{display:block;font:18px/1.2 var(--serif);margin-top:13px}.book-mini-grid p{margin:4px 0 0}
.collections-section{display:grid;grid-template-columns:.72fr 1.45fr;gap:50px;padding:60px 0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.collection-grid article{border-top:5px solid var(--red);padding-top:16px}.collection-count{font:48px/.9 var(--serif);color:var(--red)}
.collection-grid h3{font:25px/1 var(--serif);margin:14px 0 9px}.collection-grid p{font-size:13px}
.opinions-section{display:grid;grid-template-columns:.72fr 1.45fr;gap:50px;padding:60px 0}
.opinion-list p{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:18px 0;border-top:1px solid var(--line);margin:0}.opinion-list p:last-child{border-bottom:1px solid var(--line)}
.opinion-list span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}.opinion-list strong{font:23px/1.2 var(--serif);font-weight:400}
.recommend-expanded{border-top:3px solid var(--ink)}.verdict-preview{margin-top:40px;border-top:1px solid var(--line);padding-top:18px}.verdict-preview>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.verdict-preview>div span{border:1px solid var(--ink);padding:5px 8px;font-size:10px;letter-spacing:.05em}
@media(max-width:850px){
  .list-jump-nav{grid-template-columns:repeat(3,1fr)}.list-jump-nav a:nth-child(3){border-right:0}
  .section-kicker{grid-template-columns:1fr}.rotation-grid{grid-template-columns:1fr}
  .music-expanded,.games-section,.collections-section,.opinions-section{grid-template-columns:1fr}.game-grid,.collection-grid,.book-mini-grid{grid-template-columns:1fr}
  .books-expanded{grid-template-columns:1fr}.book-shelf{height:230px}.spine{writing-mode:horizontal-tb;transform:none;align-items:flex-end;justify-content:flex-start}
}
@media(max-width:560px){
  .list-jump-nav{grid-template-columns:repeat(2,1fr)}.list-jump-nav a:nth-child(3){border-right:1px solid var(--line)}.list-jump-nav a:nth-child(even){border-right:0}
  .film-section{grid-template-columns:1fr;gap:30px}.big-number{font-size:78px}.versus-list p{font-size:25px}
  .music-section{padding:30px 22px}.taste-shuffle{grid-template-columns:1fr}.game-grid article{min-height:0}
  .opinion-list p{grid-template-columns:1fr;gap:6px}.books-expanded{margin:40px auto}
}

.games-list-block{margin-top:28px;border-top:2px solid var(--ink);padding-top:20px}
.games-list-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:10px}
.games-list-heading p{margin:0;font:17px/1.3 var(--serif)}
.games-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.games-list li{padding:14px 0;border-bottom:1px solid var(--line);font:28px/1.1 var(--serif)}


/* Compact life-songs scroller */
.song-scroll-shell{position:relative;margin-top:18px;padding-top:28px}
.song-scroll-meta{position:absolute;top:0;left:0;right:22px;display:flex;justify-content:space-between;align-items:center;color:#e18e7b}
.song-scroll{max-height:510px;overflow-y:auto;overscroll-behavior:contain;padding-right:28px;scroll-snap-type:y proximity;scrollbar-width:thin;scrollbar-color:#e18e7b transparent;position:relative}
.song-scroll::-webkit-scrollbar{width:8px}
.song-scroll::-webkit-scrollbar-track{background:transparent}
.song-scroll::-webkit-scrollbar-thumb{background:#e18e7b;border-radius:999px}
.song-scroll .song-card{scroll-snap-align:start}
.song-scroll-shell::before,.song-scroll-shell::after{content:"";position:absolute;left:0;right:24px;height:28px;z-index:2;pointer-events:none}
.song-scroll-shell::before{top:28px;background:linear-gradient(to bottom,var(--ink),transparent)}
.song-scroll-shell::after{bottom:0;background:linear-gradient(to top,var(--ink),transparent)}
.song-scroll-progress{position:absolute;top:36px;right:3px;bottom:8px;width:3px;background:#ffffff1d;overflow:hidden}
.song-scroll-progress span{display:block;width:100%;height:100%;background:#e18e7b;transform:scaleY(var(--song-scroll-progress,.08));transform-origin:top;transition:transform .12s linear}
.song-scroll:focus-visible{outline:1px solid #e18e7b;outline-offset:6px}
@media(max-width:560px){
  .song-scroll{max-height:430px;padding-right:20px}
  .song-scroll-shell::before,.song-scroll-shell::after{right:16px}
}


/* One-player Spotify treatment for life songs */
.song-card{grid-template-columns:34px minmax(0,1fr) auto}
.song-card-actions{display:flex;align-items:center;gap:6px;margin-left:10px}
.song-card-actions button,.song-card-actions a{width:32px;height:32px;display:grid;place-items:center;border:1px solid #ffffff38;background:transparent;color:var(--paper);font:13px/1 var(--sans);text-decoration:none;padding:0}
.song-card-actions button:hover,.song-card-actions a:hover,.song-card-actions button:focus-visible,.song-card-actions a:focus-visible{border-color:#e18e7b;color:#e18e7b}
.song-card.is-playing{background:#ffffff08}
.song-card.is-playing .micro,.song-card.is-playing .song-play{color:#e18e7b}
.song-player{margin-top:14px;border-top:1px solid #ffffff33;padding-top:12px}
.song-player[hidden]{display:none}
.song-player-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:8px}
.song-player-head>span{display:flex;align-items:baseline;gap:12px;min-width:0}
.song-player-head .micro{color:#e18e7b;white-space:nowrap}
.song-player-head strong{font:17px/1.2 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#song-player-close{border:0;background:transparent;color:#c5c0b5;font-size:24px;line-height:1;padding:4px 8px}
#song-player-close:hover{color:#e18e7b}
#song-player-embed iframe{width:100%;height:152px;border:0;border-radius:2px;display:block}
@media(max-width:560px){
  .song-card{grid-template-columns:28px minmax(0,1fr) auto;gap:8px}
  .song-card-actions{gap:4px;margin-left:4px}
  .song-card-actions button,.song-card-actions a{width:29px;height:29px}
  .song-player-head>span{display:block}
  .song-player-head strong{display:block;margin-top:3px}
}


/* Video games — card showcase */
.games-showcase{align-items:start}
.games-showcase .section-number{position:sticky;top:28px}
.games-glyphs{display:block;margin-top:34px;font:46px/1 var(--serif);letter-spacing:.12em;color:var(--red)}
.games-no-order{max-width:210px;margin:24px 0 0;font:18px/1.35 var(--serif)}
.games-showcase-main{min-width:0}
.games-showcase-head{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:end;margin-bottom:26px}
.games-showcase-head h2{margin:0}
.games-showcase-head p{margin:0;font-size:13px;max-width:360px}
.game-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.game-card{position:relative;min-height:230px;border:1px solid var(--line);padding:20px 22px 24px;background:var(--paper);overflow:hidden;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.game-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.game-card:hover{transform:translateY(-3px);border-color:var(--ink);background:#f5f0e7}
.game-card:hover::after{transform:scaleX(1)}
.game-card-meta{display:flex;justify-content:space-between;gap:18px;padding-bottom:13px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.game-card-meta span:first-child{color:var(--red)}
.game-card h3{font:clamp(28px,3.2vw,46px)/.95 var(--serif);letter-spacing:-.035em;margin:30px 0 20px}
.game-card p{font-size:13px;line-height:1.45;margin:0;max-width:42ch}
.games-readout{display:grid;grid-template-columns:190px 1fr;gap:28px;margin-top:28px;padding:22px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
.games-readout .micro{color:var(--red)}
.games-readout p{font:22px/1.28 var(--serif);margin:0}
.games-also{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline;padding-top:17px;font-size:12px}
.games-also .micro{color:var(--red);margin-right:10px}
.games-also i{font-style:normal;color:var(--red)}
@media(max-width:850px){
  .games-showcase .section-number{position:static}
  .games-showcase-head{grid-template-columns:1fr}
}
@media(max-width:620px){
  .game-cards{grid-template-columns:1fr}
  .game-card{min-height:190px}
  .games-readout{grid-template-columns:1fr;gap:8px}
  .games-readout p{font-size:20px}
}


/* Game card vector illustrations — crisp, local and deliberately graphic. */
.game-card{padding-right:42%;isolation:isolate}
.game-card>*{position:relative;z-index:2}
.game-card::before{
  content:"";
  position:absolute;
  z-index:1;
  right:8px;
  bottom:8px;
  width:40%;
  aspect-ratio:1;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.34;
  transform:scale(.96) rotate(-2deg);
  transform-origin:center;
  transition:opacity .2s ease,transform .2s ease;
  pointer-events:none
}
.game-card:hover::before{opacity:.62;transform:scale(1.03) rotate(0)}
@media(max-width:620px){
  .game-card{padding-right:118px}
  .game-card::before{width:112px;right:4px;bottom:6px;opacity:.30}
}
.game-doom::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20160%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23b92e23%22%20stroke-width%3D%227%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M34%2048%2052%2027h56l18%2021-8%2067-38%2021-38-21Z%22%2F%3E%3Cpath%20d%3D%22m54%2066%2018%2010-20%2012M106%2066%2088%2076l20%2012%22%2F%3E%3Cpath%20d%3D%22M64%20111h32M70%20111v15M80%20111v18M90%20111v15%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M46%2045h68%22%20stroke%3D%22%2322231f%22%20stroke-width%3D%225%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E")}
.game-civilization::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20160%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23b92e23%22%20stroke-width%3D%226%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2278%22%20r%3D%2246%22%2F%3E%3Cpath%20d%3D%22M34%2078h92M80%2032c18%2016%2027%2031%2027%2046s-9%2030-27%2046c-18-16-27-31-27-46s9-30%2027-46Z%22%2F%3E%3Cpath%20d%3D%22M24%20132h112M42%20132v-19M58%20132v-27M102%20132v-27M118%20132v-19%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M52%20104h56%22%20stroke%3D%22%2322231f%22%20stroke-width%3D%225%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E")}
.game-ff7::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20160%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23b92e23%22%20stroke-width%3D%227%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%22111%22%20cy%3D%2249%22%20r%3D%2223%22%2F%3E%3Cpath%20d%3D%22M93%2063%2037%20119M55%20124l-15-15M47%20112l60-60M104%2034l22-18M119%2042l22-7M122%2056l20%208%22%2F%3E%3Cpath%20d%3D%22m29%20129%2018-5%209%209-5%2018Z%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M88%2029c9-11%2020-16%2034-15%22%20stroke%3D%22%2322231f%22%20stroke-width%3D%225%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E")}
.game-dune2::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20160%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23b92e23%22%20stroke-width%3D%226%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%22111%22%20cy%3D%2244%22%20r%3D%2220%22%2F%3E%3Cpath%20d%3D%22M18%20111c20-15%2036-18%2054-7%2018%2012%2034%2013%2070-5M18%20129c23-12%2040-11%2057%200%2018%2011%2037%2010%2067-2%22%2F%3E%3Cpath%20d%3D%22M55%20101c4-31%2017-47%2037-47%2019%200%2028%2017%2022%2037-5%2017-24%2019-31%206-6-11%200-23%2012-22%22%2F%3E%3Cpath%20d%3D%22M83%2097c7-3%2015-3%2024%201%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M92%2055c-8%207-13%2015-16%2025%22%20stroke%3D%22%2322231f%22%20stroke-width%3D%225%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E")}
.game-elden-ring::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20160%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23b92e23%22%20stroke-width%3D%226%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2258%22%20r%3D%2231%22%2F%3E%3Ccircle%20cx%3D%2258%22%20cy%3D%2289%22%20r%3D%2231%22%2F%3E%3Ccircle%20cx%3D%22102%22%20cy%3D%2289%22%20r%3D%2231%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%22104%22%20r%3D%2231%22%2F%3E%3Cpath%20d%3D%22M80%2018v124M58%2018l22%2018%2022-18M52%20142h56%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M80%2035v84%22%20stroke%3D%22%2322231f%22%20stroke-width%3D%224%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E")}
.game-monkey-island::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20160%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23b92e23%22%20stroke-width%3D%226%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%20126c23-12%2045-12%2066%200%2018%2010%2036%2010%2054%200%22%2F%3E%3Cpath%20d%3D%22M78%20118c-3-29%202-51%2018-67%22%2F%3E%3Cpath%20d%3D%22M96%2051c-15-7-26-3-34%2010M96%2051c5-15%2015-23%2029-25M96%2051c16-4%2029%201%2038%2013M96%2051c-3-15-11-25-24-31%22%2F%3E%3Ccircle%20cx%3D%2248%22%20cy%3D%2276%22%20r%3D%2222%22%2F%3E%3Cpath%20d%3D%22m38%2072%208%205-9%207M58%2072l-8%205%209%207M41%2092h14%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M31%20104c10%207%2021%208%2033%202%22%20stroke%3D%22%2322231f%22%20stroke-width%3D%225%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E")}
.game-resident-evil-4::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20160%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23b92e23%22%20stroke-width%3D%227%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M27%2082c16-25%2034-37%2053-37s37%2012%2053%2037c-16%2025-34%2037-53%2037S43%20107%2027%2082Z%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2282%22%20r%3D%2217%22%2F%3E%3Cpath%20d%3D%22M115%2025%2094%2058M132%2039l-24%2027M137%2061l-24%2015%22%2F%3E%3Cpath%20d%3D%22M28%20130h82%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M80%2065v34%22%20stroke%3D%22%2322231f%22%20stroke-width%3D%225%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E")}


/* Video games — compact strip */
.games-section.games-showcase.games-compact{
  display:block;
  padding:42px 0 38px;
  border-bottom:2px solid var(--ink)
}
.games-compact-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:32px;
  margin-bottom:18px
}
.games-compact-head .eyebrow{margin-bottom:8px}
.games-compact-head h2{
  margin:0;
  font:34px/1 var(--serif);
  letter-spacing:-.03em
}
.games-compact-head>p{
  margin:0 0 2px;
  max-width:320px;
  font:16px/1.3 var(--serif);
  text-align:right
}
.games-compact .game-cards{
  display:grid;
  grid-template-columns:repeat(7,minmax(125px,1fr));
  gap:7px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  padding-bottom:3px
}
.games-compact .game-card{
  min-height:156px;
  padding:13px 12px;
  padding-right:12px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  scroll-snap-align:start
}
.games-compact .game-card-meta{
  padding-bottom:8px;
  font-size:9px;
  gap:8px
}
.games-compact .game-card h3{
  margin:14px 0 0;
  max-width:8ch;
  font:22px/.98 var(--serif);
  letter-spacing:-.035em;
  transition:transform .2s ease
}
.games-compact .game-card-note{
  position:absolute;
  left:12px;
  right:10px;
  bottom:12px;
  z-index:3;
  font:9px/1.15 var(--sans);
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--red);
  opacity:0;
  transform:translateY(5px);
  transition:opacity .18s ease,transform .18s ease;
  pointer-events:none
}
.games-compact .game-card:hover h3,
.games-compact .game-card:focus-visible h3{transform:translateY(-2px)}
.games-compact .game-card:hover .game-card-note,
.games-compact .game-card:focus-visible .game-card-note{opacity:1;transform:translateY(0)}
.games-compact .game-card:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.games-compact .game-card p{display:none}
.games-compact .game-card::before{
  width:70%;
  right:-8%;
  bottom:-10%;
  opacity:.28;
  transform:rotate(-3deg)
}
.games-compact .game-card:hover::before,
.games-compact .game-card:focus-visible::before{
  opacity:.52;
  transform:scale(1.07) rotate(0)
}
.games-compact .game-card:hover{transform:translateY(-2px)}
.games-compact .games-also{
  padding-top:12px;
  margin-top:12px;
  border-top:1px solid var(--line)
}
@media(max-width:980px){
  .games-compact .game-cards{
    grid-template-columns:repeat(7,145px);
    scroll-snap-type:x proximity
  }
}
@media(max-width:620px){
  .games-section.games-showcase.games-compact{padding:34px 0 30px}
  .games-compact-head{display:block;margin-bottom:14px}
  .games-compact-head h2{font-size:30px}
  .games-compact-head>p{text-align:left;margin-top:8px}
  .games-compact .game-cards{grid-template-columns:repeat(7,138px)}
  .games-compact .game-card{min-height:148px;padding:12px}
  .games-compact .game-card::before{width:92px;right:-8px;bottom:-8px;opacity:.26}
  .games-compact .game-card h3{font-size:20px}
}

@media (hover:none){
  .games-compact .game-card-note{opacity:.72;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .games-compact .game-card h3,
  .games-compact .game-card-note,
  .games-compact .game-card::before{transition:none}
}


/* 80s coin-op marquee */
.arcade-block{
  margin-top:18px;
  padding:18px 0 16px;
  border-top:2px solid var(--ink);
  border-bottom:1px solid var(--line)
}
.arcade-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
  margin-bottom:12px
}
.arcade-head .micro{color:var(--red);white-space:nowrap}
.arcade-head p{margin:0;font:17px/1.25 var(--serif);text-align:right}
.arcade-marquee{
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--paper) 92%,var(--ink) 8%);
  mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)
}
.arcade-track{
  display:flex;
  width:max-content;
  animation:arcade-scroll 24s linear infinite
}
.arcade-marquee:hover .arcade-track,
.arcade-marquee:focus-within .arcade-track{animation-play-state:paused}
.arcade-group{display:flex;flex:none}
.arcade-item{
  min-width:230px;
  height:84px;
  padding:13px 18px 12px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto 1fr;
  align-items:end;
  column-gap:12px;
  border-right:1px solid var(--line);
  color:var(--ink);
  text-decoration:none;
  position:relative
}
.arcade-year{
  grid-column:1;
  grid-row:1;
  font:9px/1 var(--sans);
  letter-spacing:.12em;
  color:var(--red)
}
.arcade-item strong{
  grid-column:1/3;
  grid-row:2;
  align-self:end;
  font:24px/.95 var(--serif);
  letter-spacing:-.025em;
  white-space:nowrap
}
.arcade-play{
  grid-column:2;
  grid-row:1;
  justify-self:end;
  font:9px/1 var(--sans);
  letter-spacing:.1em;
  color:var(--red);
  opacity:.7;
  transition:opacity .18s ease,transform .18s ease
}
.arcade-item.is-playable::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:var(--red);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease
}
.arcade-item.is-playable:hover::after,
.arcade-item.is-playable:focus-visible::after{transform:scaleX(1)}
.arcade-item.is-playable:hover .arcade-play,
.arcade-item.is-playable:focus-visible .arcade-play{opacity:1;transform:translateX(2px)}
.arcade-item.is-playable:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.arcade-note{margin:10px 0 0;font:12px/1.3 var(--sans);color:var(--muted)}
@keyframes arcade-scroll{to{transform:translateX(-50%)}}
@media(max-width:620px){
  .arcade-head{display:block}
  .arcade-head p{text-align:left;margin-top:6px}
  .arcade-item{min-width:205px;height:78px;padding:12px 15px}
  .arcade-item strong{font-size:21px}
  .arcade-track{animation-duration:20s}
}
@media(prefers-reduced-motion:reduce){
  .arcade-track{animation:none}
  .arcade-marquee{overflow-x:auto;mask-image:none}
  .arcade-group[aria-hidden="true"]{display:none}
}
