:root {
  --ink: #080808;
  --paper: #f5f1e9;
  --paper-2: #e9e1d5;
  --panel: #fffaf1;
  --line: #ded7ca;
  --gold: #a8853f;
  --gold-light: #dcc79d;
  --black: #000;
  --construction-height: 62px;
  --header-height: 132px;
  color-scheme: light;
  font-family: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--construction-height) + var(--header-height) + 12px); }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
button, input { font: inherit; }
img { display: block; max-width: 100%; }

.construction-banner {
  position: sticky;
  top: 0;
  z-index: 100;
  min-height: var(--construction-height);
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) 150px;
  align-items: center;
  gap: 18px;
  padding: 6px 22px;
  background: #ddc79e;
  border-bottom: 1px solid #8d7546;
}
.construction-banner__logo { width: 190px; height: 48px; object-fit: contain; object-position: center; }
.construction-banner__copy { display: flex; justify-content: center; align-items: baseline; gap: 14px; text-align: center; font-family: Georgia, 'Times New Roman', serif; }
.construction-banner__copy strong { font-size: 15px; letter-spacing: .07em; white-space: nowrap; }
.construction-banner__copy span { font-size: 13px; font-weight: 700; }
.construction-banner__mark { justify-self: end; display: grid; border: 1px solid #8d7546; background: rgba(255,255,255,.12); font-family: 'Courier New', monospace; font-size: 11px; line-height: 1.2; text-align: center; }
.construction-banner__mark b { padding: 3px 7px; }
.construction-banner__mark b + b { border-top: 1px solid #8d7546; }

.site-header {
  position: sticky;
  top: var(--construction-height);
  z-index: 90;
  height: var(--header-height);
  display: grid;
  grid-template-areas: "classic center new";
  grid-template-columns: 222px minmax(0, 1fr) 205px;
  align-items: stretch;
  background: rgba(245,241,233,.98);
  border-bottom: 1px solid #d9d0c1;
  backdrop-filter: blur(12px);
}
.site-header__menu { display: none; grid-area: menu; }
.campus-bay {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  overflow: hidden;
  text-decoration: none;
  background: linear-gradient(90deg, rgba(255,255,255,.25), rgba(255,255,255,.62), rgba(255,255,255,.25));
}
.campus-bay--classic { grid-area: classic; padding: 6px 16px; border-right: 1px solid #d9d0c1; }
.campus-bay--new { grid-area: new; padding: 5px 15px; border-left: 1px solid #d9d0c1; }
.campus-bay img {
  width: auto;
  height: calc(var(--header-height) - 14px);
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 3px 3px rgba(0,0,0,.12));
  transition: transform .18s ease;
}
.campus-bay:hover img, .campus-bay:focus-visible img { transform: scale(1.035); }
.site-header__center {
  grid-area: center;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 1.45vw, 30px);
  padding: 0 24px;
}
.main-nav { display: flex; flex: 0 1 auto; align-items: center; justify-content: center; gap: clamp(14px, 1.25vw, 25px); min-width: 0; padding: 0; }
.main-nav a { position: relative; padding: 12px 0; color: var(--ink); font-size: 13px; font-weight: 900; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.main-nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 4px; height: 2px; transform: scaleX(0); background: var(--gold); transition: transform .16s ease; }
.main-nav a:hover::after, .main-nav a:focus-visible::after, .main-nav a.is-active::after { transform: scaleX(1); }
.site-header__actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 14px; padding: 0; }
.icon-button, .account-button { width: 46px; height: 46px; display: inline-grid; place-items: center; border: 2px solid #111; background: #fffaf1; color: #111; text-decoration: none; cursor: pointer; }
.icon-button { font-family: Georgia, serif; font-size: 30px; line-height: 1; }
.account-button { border: 0; background: transparent; }
.account-button img { width: 44px; height: 44px; object-fit: contain; }

.hero { display: grid; grid-template-columns: 42% 58%; min-height: 478px; background: var(--paper-2); }
.hero__copy { padding: 44px 38px 34px max(5.5vw, 40px); }
.hero__heading-wrap { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(190px, 260px); align-items: center; gap: 14px; }
.hero h1 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(45px, 3.35vw, 66px); font-style: italic; font-weight: 900; line-height: .87; letter-spacing: -.035em; text-transform: uppercase; }
.hero h1 span { display: block; }
.hero h1 .gold { color: #bd8d30; }
.hero__seal { width: 100%; max-width: 255px; justify-self: center; filter: drop-shadow(0 8px 8px rgba(0,0,0,.13)); }
.hero__copy > p { max-width: 660px; margin: 22px 0 20px; font-family: 'Courier New', monospace; font-size: 16px; line-height: 1.5; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero__image { min-width: 0; overflow: hidden; }
.hero__image img { width: 100%; height: 100%; min-height: 478px; object-fit: cover; object-position: center; }
.button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 22px; border: 1px solid #000; font-size: 13px; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.button--dark { background: #000; color: #fff; }
.button--light { background: rgba(255,255,255,.56); color: #000; }
.button--gold { background: var(--gold); color: #000; border-color: var(--gold); }
.button:hover, .button:focus-visible { transform: translateY(-1px); box-shadow: 3px 3px 0 rgba(0,0,0,.16); }

.process-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: -2px 16px 0; overflow: hidden; background: var(--panel); border: 1px solid var(--line); border-radius: 0 0 12px 12px; box-shadow: 0 8px 18px rgba(0,0,0,.1); }
.process-grid article { min-height: 185px; padding: 22px 18px; text-align: center; border-right: 1px solid var(--line); }
.process-grid article:last-child { border-right: 0; }
.process-grid__icon { height: 38px; margin-bottom: 7px; font-size: 30px; line-height: 38px; }
.process-grid__icon--brand { width: 42px; margin-left: auto; margin-right: auto; background: url('/assets/careless_avatar_01_ce_seal_obPlaxzb1Z_XE4t4imXZa.png') center/contain no-repeat; }
.process-grid h2 { margin: 0; font-size: 14px; font-weight: 900; text-transform: uppercase; }
.process-grid p { margin: 11px auto 0; font-family: 'Courier New', monospace; font-size: 13px; line-height: 1.4; }

.content-dashboard { display: grid; grid-template-columns: 235px minmax(0, 1fr) 330px; gap: 12px; padding: 14px 16px 22px; }
.panel { min-width: 0; padding: 16px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,.09); }
.panel h2 { margin: 0; font-size: 21px; line-height: 1.15; text-transform: uppercase; }
.panel p { margin: 6px 0 0; font-family: 'Courier New', monospace; font-size: 13px; line-height: 1.4; }
.panel__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.panel__heading > span { color: var(--gold); font-size: 12px; }
.text-link { color: var(--gold); font-size: 10px; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.trend-list { list-style: none; margin: 0; padding: 0; }
.trend-list li { display: grid; grid-template-columns: 28px 1fr; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.trend-list__number { font-family: 'Courier New', monospace; font-weight: 900; }
.trend-list strong { display: block; font-size: 11px; line-height: 1.25; }
.trend-list small { display: block; margin-top: 5px; color: #7d6a43; font-size: 9px; }
.trending-panel .text-link { display: inline-block; margin-top: 14px; }

.panel__heading--feed { align-items: center; }
.feed-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px; }
.feed-filters button { padding: 2px 0; border: 0; border-bottom: 2px solid transparent; background: transparent; font-size: 9px; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.feed-filters button.is-active { border-bottom-color: var(--gold); }
.feed-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.feed-card { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: white; }
.feed-card[hidden] { display: none; }
.feed-card > img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.feed-card > div { display: grid; gap: 3px; padding: 10px; font-size: 10px; }
.feed-card strong { font-size: 10px; }
.feed-card small { color: #697180; }
.feed-card span { margin-top: 5px; }

.radio-panel h2 span { color: var(--gold); }
.radio-tabs { display: flex; gap: 6px; margin: 14px 0; }
.radio-tabs button { flex: 1; min-width: 0; padding: 7px 4px; border: 1px solid #000; background: transparent; font-size: 9px; font-weight: 800; cursor: pointer; }
.radio-tabs button:first-child { background: #000; color: #fff; }
.radio-card { display: grid; grid-template-columns: 64px minmax(0, 1fr) 42px; align-items: center; gap: 10px; padding: 12px; border-radius: 8px; background: #000; color: #fff; }
.radio-card img { width: 64px; height: 64px; object-fit: cover; }
.radio-card div { display: grid; gap: 2px; }
.radio-card strong { font-size: 11px; }
.radio-card span, .radio-card small { font-size: 9px; }
.radio-card button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: white; color: black; cursor: pointer; }
.radio-panel__link { display: block; margin-top: 14px; text-align: center; color: #000; }

.merch-panel { grid-column: span 2; }
.panel__heading--merch { align-items: center; }
.panel__heading--merch h2 span { display: inline-block; margin-left: 7px; padding: 2px 4px; border: 1px solid var(--gold); border-radius: 3px; color: var(--gold); font-size: 8px; vertical-align: middle; }
.merch-panel__image { overflow: hidden; border-radius: 8px; background: #ece5da; }
.merch-panel__image img { width: 100%; height: 136px; object-fit: contain; }
.stats-panel h2 { margin-bottom: 18px; }
.stats-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; text-align: center; }
.stats-grid div { display: grid; gap: 3px; }
.stats-grid strong { font-size: 21px; }
.stats-grid span { font-size: 9px; text-transform: uppercase; }
.challenge-panel { grid-column: span 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; min-height: 160px; }
.challenge-panel .eyebrow { color: var(--gold); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.challenge-panel h2 { margin-top: 8px; font-size: 25px; }
.challenge-panel .button { min-width: 170px; }
.contributors-panel ol { list-style: none; margin: 0; padding: 0; }
.contributors-panel li { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; font-size: 10px; }
.post-panel { grid-column: span 3; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 22px; padding: 24px; border-radius: 10px; background: #000; color: #c7ad6a; }
.post-panel h2 { margin: 0; font-size: 28px; line-height: 1.25; text-transform: uppercase; }

.site-footer { min-height: 120px; display: grid; grid-template-columns: 1fr auto 1fr auto; align-items: end; gap: 22px; padding: 22px 16px 12px; border-top: 1px solid #d9d0c1; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.site-footer > span:nth-of-type(2) { text-align: right; }
.site-footer__brand { align-self: center; display: grid; justify-items: center; gap: 3px; width: 210px; color: inherit; text-decoration: none; }
.site-footer__brand img { width: 160px; height: 70px; object-fit: cover; object-position: center; }
.site-footer__brand small { font-size: 8px; }
.site-revision { display: inline-flex; align-items: center; justify-content: center; min-height: 22px; padding: 3px 7px; border: 1px solid currentColor; opacity: .62; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 9px; font-weight: 800; letter-spacing: .12em; white-space: nowrap; }

.site-search { width: min(680px, calc(100vw - 28px)); border: 1px solid #111; padding: 0; background: var(--panel); box-shadow: 8px 8px 0 rgba(0,0,0,.28); }
.site-search::backdrop { background: rgba(0,0,0,.62); }
.site-search__panel { position: relative; display: grid; gap: 14px; padding: 28px; }
.site-search__panel label { font-family: Georgia, serif; font-size: 26px; font-weight: 900; }
.site-search__panel input { width: 100%; padding: 13px 14px; border: 2px solid #111; background: #fff; }
.site-search__close { position: absolute; right: 10px; top: 8px; border: 0; background: transparent; font-size: 28px; cursor: pointer; }
.site-search__results { display: grid; gap: 8px; }
.site-search__results a { padding: 10px 12px; border: 1px solid var(--line); text-decoration: none; }
.site-search__results a:hover { background: var(--paper-2); }

@media (max-width: 1500px) {
  :root { --header-height: 118px; }
  .site-header { grid-template-columns: 190px minmax(0, 1fr) 180px; }
  .site-header__center { gap: 20px; padding-inline: 18px; }
  .main-nav { gap: 15px; }
  .main-nav a { font-size: 11px; }
  .hero__copy { padding-left: 38px; }
  .hero__heading-wrap { grid-template-columns: minmax(230px, 1fr) minmax(165px, 225px); }
  .hero h1 { font-size: clamp(44px, 3.6vw, 58px); }
}

@media (max-width: 1180px) {
  :root { --header-height: 104px; }
  .construction-banner { grid-template-columns: 150px 1fr 110px; padding-inline: 12px; }
  .construction-banner__logo { width: 140px; }
  .construction-banner__copy span { display: none; }
  .site-header { grid-template-columns: 155px minmax(0, 1fr) 145px; }
  .site-header__center { gap: 12px; padding-inline: 10px; }
  .main-nav { gap: 10px; }
  .main-nav a { font-size: 10px; }
  .site-header__actions { gap: 7px; padding: 0 8px; }
  .icon-button, .account-button { width: 38px; height: 38px; }
  .account-button img { width: 38px; height: 38px; }
  .hero { grid-template-columns: 46% 54%; }
  .hero__copy { padding: 34px 26px; }
  .hero__heading-wrap { grid-template-columns: 1fr 170px; }
  .hero h1 { font-size: 46px; }
  .content-dashboard { grid-template-columns: 210px minmax(0, 1fr); }
  .radio-panel, .stats-panel, .contributors-panel { grid-column: auto; }
  .feed-panel { grid-column: 2; grid-row: span 2; }
  .merch-panel, .challenge-panel { grid-column: span 2; }
  .radio-panel { grid-column: 1; }
  .stats-panel { grid-column: 1; }
  .contributors-panel { grid-column: 1; }
  .post-panel { grid-column: span 2; }
}

@media (max-width: 900px) {
  :root { --construction-height: 50px; --header-height: 104px; }
  .construction-banner { grid-template-columns: 120px 1fr; gap: 8px; min-height: var(--construction-height); padding: 4px 8px; }
  .construction-banner__logo { width: 112px; height: 38px; }
  .construction-banner__copy strong { font-size: 11px; }
  .construction-banner__mark { display: none; }
  .site-header { grid-template-areas: "menu classic actions new"; grid-template-columns: 54px 105px minmax(0,1fr) 105px; }
  .site-header__center { display: contents; }
  .site-header__menu { display: block; width: 42px; height: 42px; align-self: center; justify-self: center; border: 1px solid #111; background: var(--panel); font-weight: 900; cursor: pointer; }
  .campus-bay { padding: 5px 8px; }
  .main-nav { position: fixed; left: 0; right: 0; top: calc(var(--construction-height) + var(--header-height)); display: none; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 10px; background: var(--paper); border-bottom: 2px solid #111; box-shadow: 0 8px 20px rgba(0,0,0,.16); }
  .main-nav.is-open { display: grid; }
  .main-nav a { padding: 13px 8px; text-align: center; border: 1px solid var(--line); }
  .site-header__actions { grid-area: actions; padding: 0 4px; }
  .icon-button { width: 36px; height: 36px; }
  .account-button { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero__copy { padding: 30px 24px; }
  .hero__heading-wrap { grid-template-columns: minmax(220px,1fr) minmax(150px,210px); }
  .hero h1 { font-size: clamp(44px, 8vw, 61px); }
  .hero__image img { min-height: 300px; }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .process-grid article { border-bottom: 1px solid var(--line); }
  .process-grid article:nth-child(even) { border-right: 0; }
  .process-grid article:last-child { grid-column: span 2; border-bottom: 0; }
  .content-dashboard { grid-template-columns: 1fr; }
  .feed-panel, .merch-panel, .challenge-panel, .radio-panel, .stats-panel, .contributors-panel, .post-panel { grid-column: auto; grid-row: auto; }
  .trending-panel { order: 1; }
  .feed-panel { order: 2; }
  .radio-panel { order: 3; }
  .merch-panel { order: 4; }
  .stats-panel { order: 5; }
  .challenge-panel { order: 6; }
  .contributors-panel { order: 7; }
  .post-panel { order: 8; }
  .site-footer { grid-template-columns: 1fr auto; align-items: center; }
  .site-footer__brand { order: -1; grid-column: span 2; justify-self: center; }
}

@media (max-width: 620px) {
  :root { --header-height: 78px; }
  html { scroll-padding-top: calc(var(--construction-height) + var(--header-height) + 8px); }
  .construction-banner { grid-template-columns: 92px 1fr; }
  .construction-banner__logo { width: 88px; height: 34px; }
  .construction-banner__copy { justify-content: flex-start; text-align: left; }
  .construction-banner__copy strong { font-size: 9px; white-space: normal; }
  .site-header { grid-template-areas: "menu classic actions new"; grid-template-columns: 48px 78px minmax(0,1fr) 78px; }
  .site-header__menu { width: 36px; height: 36px; }
  .campus-bay img { height: calc(var(--header-height) - 12px); }
  .site-header__actions { justify-content: center; }
  .main-nav { grid-template-columns: repeat(2, 1fr); }
  .hero__copy { padding: 26px 20px 24px; }
  .hero__heading-wrap { grid-template-columns: 1fr 126px; gap: 4px; }
  .hero h1 { font-size: clamp(41px, 12vw, 54px); }
  .hero__copy > p { font-size: 14px; }
  .hero__actions { display: grid; grid-template-columns: 1fr; }
  .button { width: 100%; }
  .hero__image img { min-height: 205px; }
  .process-grid { margin-inline: 8px; }
  .process-grid article { min-height: 170px; padding: 18px 12px; }
  .content-dashboard { padding-inline: 8px; }
  .panel__heading--feed { align-items: flex-start; flex-direction: column; }
  .feed-filters { justify-content: flex-start; }
  .feed-grid { grid-template-columns: repeat(2, 1fr); }
  .challenge-panel, .post-panel { grid-template-columns: 1fr; }
  .challenge-panel .button, .post-panel .button { width: 100%; }
  .site-footer { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .site-footer__brand { grid-column: auto; }
  .site-footer > span:nth-of-type(2) { text-align: center; }
  .site-revision { margin-top: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* r24: Music is a real destination rather than a decorative anchor. */
.radio-tabs a {
  flex: 1;
  min-width: 0;
  padding: 7px 4px;
  border: 1px solid #000;
  color: #000;
  background: transparent;
  font-size: 9px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}
.radio-tabs a:first-child { background: #000; color: #fff; }
.radio-tabs a:hover, .radio-tabs a:focus-visible { background: var(--gold); color: #000; }
.radio-card { text-decoration: none; }
.radio-card:hover, .radio-card:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.radio-card__go {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #fff;
  color: #000;
  font-size: 14px;
}

.button--coming-soon {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-width: 190px;
  cursor: not-allowed;
  opacity: 1;
}
.button--coming-soon > span { opacity: .55; }
.button--coming-soon > b {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  display: inline-block;
  min-width: 128%;
  padding: 4px 12px;
  transform: translate(-50%, -50%) rotate(-9deg);
  border-top: 2px solid #b11f24;
  border-bottom: 2px solid #b11f24;
  background: rgba(255,250,241,.94);
  color: #b11f24;
  font-family: 'Courier New', monospace;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  text-shadow: none;
}
.button--coming-soon:disabled { color: inherit; }
.button--dark.button--coming-soon:disabled { color: #fff; background: #000; }
.button--gold.button--coming-soon:disabled { color: #000; background: var(--gold); }
.button--coming-soon:hover,
.button--coming-soon:focus-visible { transform: none; box-shadow: none; }

.content-dashboard {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
.homepage-gallery-panel,
.merch-panel,
.challenge-panel,
.post-panel {
  grid-column: 1 / -1;
}
.homepage-gallery-panel { padding: 18px; }
.homepage-gallery-panel__heading {
  align-items: end;
  margin-bottom: 16px;
}
.homepage-gallery-panel__heading > div { max-width: 860px; }
.homepage-gallery-panel .eyebrow,
.merch-panel .eyebrow {
  display: block;
  margin-bottom: 6px;
  color: var(--gold);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.homepage-gallery-panel__heading p { max-width: 760px; }
.homepage-gallery-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.homepage-gallery-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #cfc5b5;
  border-radius: 8px;
  background: #16130f;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0,0,0,.08);
}
.homepage-gallery-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform .28s ease, filter .28s ease;
}
.homepage-gallery-card > .homepage-gallery-card__copy {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: 3px;
  min-height: 42%;
  align-content: end;
  padding: 28px 11px 11px;
  background: linear-gradient(transparent, rgba(0,0,0,.9));
}
.homepage-gallery-card small {
  color: #e2c176;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.homepage-gallery-card strong {
  display: -webkit-box;
  overflow: hidden;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 14px;
  line-height: 1.12;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.homepage-gallery-card:hover img,
.homepage-gallery-card:focus-visible img,
.homepage-gallery-card:hover .homepage-gallery-card__preview-video,
.homepage-gallery-card:focus-visible .homepage-gallery-card__preview-video { transform: scale(1.045); filter: contrast(1.04); }
.homepage-gallery-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

.merch-panel--random { padding: 18px; }
.random-merch-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.random-merch-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #cfc5b5;
  border-radius: 8px;
  background: #f0e7d8;
  color: #111;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease;
}
.random-merch-card:hover,
.random-merch-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 5px 7px 0 rgba(0,0,0,.13);
}
.random-merch-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.random-merch-card__stage {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 185px;
  overflow: hidden;
  padding: 18px;
  background:
    radial-gradient(circle at 25% 20%, rgba(255,255,255,.9), transparent 32%),
    linear-gradient(145deg, #eee4d5, #d7c8b2);
}
.random-merch-card__stage::after {
  content: '';
  position: absolute;
  inset: auto 12% 9px;
  height: 12px;
  border-radius: 50%;
  background: rgba(0,0,0,.15);
  filter: blur(5px);
}
.random-merch-mockup {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 128px;
  height: 128px;
  filter: drop-shadow(0 8px 7px rgba(0,0,0,.24));
}
.random-merch-mockup img {
  position: relative;
  z-index: 2;
  width: 74px;
  height: 74px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.35);
}
.random-merch-mockup::before,
.random-merch-mockup::after {
  content: '';
  position: absolute;
  z-index: 0;
  background: #111;
}
.random-merch-mockup--tee::before {
  inset: 6px 10px 0;
  clip-path: polygon(26% 0, 40% 8%, 60% 8%, 74% 0, 100% 24%, 83% 43%, 72% 35%, 72% 100%, 28% 100%, 28% 35%, 17% 43%, 0 24%);
}
.random-merch-mockup--tee img { margin-top: 22px; width: 58px; height: 58px; }
.random-merch-mockup--poster::before {
  inset: 0 13px;
  border: 8px solid #14110d;
  background: #d4c19d;
  box-shadow: inset 0 0 0 2px #8c6a31;
}
.random-merch-mockup--poster img { width: 92px; height: 108px; object-fit: cover; }
.random-merch-mockup--mug::before {
  left: 17px;
  top: 17px;
  width: 91px;
  height: 96px;
  border-radius: 4px 4px 18px 18px;
}
.random-merch-mockup--mug::after {
  right: 3px;
  top: 35px;
  width: 35px;
  height: 49px;
  border: 11px solid #111;
  border-left: 0;
  border-radius: 0 28px 28px 0;
  background: transparent;
}
.random-merch-mockup--mug img { width: 58px; height: 58px; margin-left: -18px; }
.random-merch-mockup--tote::before {
  left: 13px;
  right: 13px;
  bottom: 0;
  height: 103px;
  clip-path: polygon(10% 10%, 90% 10%, 100% 100%, 0 100%);
  background: #d4b982;
}
.random-merch-mockup--tote::after {
  left: 37px;
  top: 0;
  width: 54px;
  height: 48px;
  border: 9px solid #6c532d;
  border-bottom: 0;
  border-radius: 30px 30px 0 0;
  background: transparent;
}
.random-merch-mockup--tote img { width: 64px; height: 64px; margin-top: 27px; }
.random-merch-mockup--cap::before {
  left: 8px;
  top: 21px;
  width: 104px;
  height: 78px;
  border-radius: 65% 65% 24% 24% / 74% 74% 26% 26%;
}
.random-merch-mockup--cap::after {
  right: 1px;
  bottom: 18px;
  width: 72px;
  height: 27px;
  clip-path: ellipse(52% 44% at 47% 50%);
  background: #201c16;
  transform: rotate(7deg);
}
.random-merch-mockup--cap img { width: 48px; height: 48px; margin-top: -8px; border-radius: 50%; }
.random-merch-mockup--sticker::before {
  inset: 4px;
  border-radius: 50%;
  background: #fffdf5;
  box-shadow: 0 0 0 5px #111, 0 0 0 8px #fffdf5;
}
.random-merch-mockup--sticker img { width: 105px; height: 105px; border-radius: 50%; }
.random-merch-card__copy {
  display: grid;
  gap: 3px;
  min-height: 72px;
  padding: 11px 12px 13px;
  border-top: 1px solid #cfc5b5;
}
.random-merch-card__copy small {
  color: #8a2724;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.random-merch-card__copy strong {
  display: -webkit-box;
  overflow: hidden;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 14px;
  line-height: 1.15;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media (max-width: 1500px) {
  .homepage-gallery-grid,
  .random-merch-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .random-merch-card__stage { min-height: 165px; padding: 12px; }
  .random-merch-mockup { transform: scale(.9); }
}

@media (max-width: 1180px) {
  .homepage-gallery-grid,
  .random-merch-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .random-merch-card__stage { min-height: 190px; }
  .random-merch-mockup { transform: none; }
}

@media (max-width: 900px) {
  .homepage-gallery-panel__heading,
  .panel__heading--merch { align-items: flex-start; }
}

@media (max-width: 620px) {
  .homepage-gallery-panel,
  .merch-panel--random { padding: 14px; }
  .homepage-gallery-panel__heading,
  .panel__heading--merch { flex-direction: column; }
  .homepage-gallery-grid,
  .random-merch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .homepage-gallery-card strong,
  .random-merch-card__copy strong { font-size: 13px; }
  .random-merch-card__stage { min-height: 155px; padding: 8px; }
  .random-merch-mockup { transform: scale(.82); }
  .random-merch-card__copy { min-height: 68px; padding: 9px 10px 11px; }
  .button--coming-soon { width: 100%; min-width: 0; }
}

/* Preserve the legible CREATE / COMING SOON treatment. */
.button--coming-soon {
  position: relative;
  overflow: visible;
  isolation: auto;
  min-width: 218px;
  gap: 11px;
  cursor: not-allowed;
  opacity: 1;
}
.button--coming-soon > span { opacity: 1; white-space: nowrap; }
.button--coming-soon > b {
  position: static;
  z-index: auto;
  left: auto;
  top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 4px 7px 3px;
  transform: rotate(-3deg);
  border: 1px solid #b11f24;
  background: #fffaf1;
  color: #b11f24;
  font-family: 'Courier New', monospace;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .11em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  text-shadow: none;
  white-space: nowrap;
}
@media (max-width: 620px) {
  .button--coming-soon { gap: 8px; }
  .button--coming-soon > b { font-size: 8px; padding-inline: 5px; }
}

/* r36: real lazy video preview frames for Featured homepage evidence. */
.homepage-gallery-card > .homepage-gallery-card__video{position:relative;inset:auto;display:block;width:100%;min-height:0;padding:0;aspect-ratio:1/1;overflow:hidden;background:radial-gradient(circle at 50% 42%,#3b3021,#090806 72%)}
.homepage-gallery-card__video>img,.homepage-gallery-card__preview-video{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:transform .28s ease,filter .28s ease,opacity .22s ease}
.homepage-gallery-card__preview-video{position:relative;z-index:1;opacity:0;background:transparent;pointer-events:none}
.homepage-gallery-card__preview-video.is-ready,.homepage-gallery-card__video.has-poster>img{opacity:1}
.homepage-gallery-card__video-placeholder{position:absolute;inset:0;z-index:0;display:grid;place-items:center;padding:16px;background:linear-gradient(110deg,rgba(255,255,255,.025) 30%,rgba(255,255,255,.10) 50%,rgba(255,255,255,.025) 70%);background-size:220% 100%;color:#c5ad7e;font-family:Georgia,'Times New Roman',serif;font-size:11px;font-style:italic;text-align:center;animation:ce-home-video-preview-shimmer 1.5s linear infinite;transition:opacity .18s ease}
.homepage-gallery-card__video.is-preview-ready .homepage-gallery-card__video-placeholder{opacity:0;animation:none}
.homepage-gallery-card__video.is-preview-error .homepage-gallery-card__video-placeholder{background:linear-gradient(145deg,#17130f,#050403);color:#9f8961;animation:none}
.homepage-gallery-card__video-badge{position:absolute;right:8px;top:8px;z-index:3;padding:5px 7px;border:1px solid rgba(255,255,255,.45);background:rgba(8,7,5,.76);color:#e9cf9b;font-size:7px;font-weight:900;letter-spacing:.12em;line-height:1;text-transform:uppercase}
.homepage-gallery-empty{grid-column:1/-1;margin:0;padding:24px;border:1px dashed #b9aa92;background:#f3eadc;color:#665947;font-family:Georgia,'Times New Roman',serif;text-align:center}
@keyframes ce-home-video-preview-shimmer{to{background-position:-220% 0}}
@media(prefers-reduced-motion:reduce){.homepage-gallery-card__video-placeholder{animation:none}}

