/*
Theme Name: EA333 Demo
Theme URI: https://localhost/ea333-demo
Author: Jack Dai
Description: Exhibition theme for the EA333 course digital humanities demo.
Version: 0.2.12
Text Domain: song-dh-demo
*/

:root {
  --song-bg: #fbf8e9;
  --song-ink: #1a2d38;
  --song-muted: #707682;
  --song-border: rgba(26, 45, 56, 0.14);
  --song-border-strong: rgba(26, 45, 56, 0.24);
  --song-accent: #002169;
  --song-accent-soft: rgba(0, 33, 105, 0.08);
  --song-serif: "Bodoni Moda", "Times New Roman", Georgia, serif;
  --song-sans: "Manrope", "Avenir Next", "Helvetica Neue", sans-serif;
  --song-content: min(1180px, calc(100vw - 3rem));
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--song-bg);
  color: var(--song-ink);
  font-family: var(--song-sans);
  line-height: 1.6;
}

a {
  color: inherit;
  text-decoration-color: rgba(139, 74, 44, 0.45);
  text-underline-offset: 0.18em;
}

a:hover {
  color: var(--song-accent);
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

.screen-reader-text {
  position: absolute;
  left: -9999px;
}

.song-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(251, 248, 233, 0.94);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--song-border);
}

.song-site-header__inner,
.song-site-footer__inner,
.song-page-shell,
.song-home,
.song-archive-shell,
.song-taxonomy-shell {
  width: var(--song-content);
  margin: 0 auto;
}

.song-site-header__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 2rem;
  padding: 1rem 0;
}

.song-site-brand {
  display: inline-flex;
  flex-direction: column;
  gap: 0.18rem;
  text-decoration: none;
}

.song-site-brand__title {
  font-family: var(--song-serif);
  font-size: clamp(0.9rem, 0.87rem + 0.18vw, 1.06rem);
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: -0.02em;
  max-width: 28rem;
}

.song-site-brand__subtitle {
  color: var(--song-muted);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.song-site-nav .menu,
.song-site-nav ul {
  display: flex;
  align-items: center;
  gap: 1.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.song-site-nav a {
  font-size: 0.92rem;
  font-weight: 600;
  text-decoration: none;
}

.song-site-nav .current-menu-item > a,
.song-site-nav .current_page_item > a {
  color: var(--song-accent);
}

.song-page-shell {
  padding: 2.75rem 0 5rem;
}

.song-kicker,
.song-exhibit-header__eyebrow,
.song-editorial-list__meta,
.song-record-list__meta,
.song-item-header__meta,
.song-exhibit-sidebar__eyebrow,
.song-exhibit-sidebar__label,
.song-exhibit-pager__label,
.song-person-meta dt,
.song-item-meta dt,
.song-meta-list dt,
.song-network-panel h3,
.song-term-chip,
.song-item-link {
  font-family: var(--song-sans);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.song-kicker,
.song-exhibit-header__eyebrow,
.song-exhibit-sidebar__eyebrow,
.song-exhibit-sidebar__label,
.song-exhibit-pager__label,
.song-editorial-list__meta,
.song-record-list__meta,
.song-item-header__meta,
.song-person-meta dt,
.song-item-meta dt,
.song-meta-list dt,
.song-network-panel h3 {
  color: var(--song-muted);
}

.song-home {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.song-home-intro {
  display: block;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--song-border);
}

.song-home-intro__copy h1,
.song-exhibit-header h1,
.song-page-header h1,
.song-person-header h1,
.song-item-header h1,
.song-archive-shell h1,
.song-taxonomy-shell h1 {
  margin: 0;
  font-family: var(--song-serif);
  font-size: clamp(1.48rem, 1.32rem + 0.72vw, 2.18rem);
  line-height: 1.22;
  letter-spacing: -0.02em;
}

.song-home-intro__copy h1 {
  max-width: 28ch;
}

.song-home-intro__copy > p,
.song-page-intro,
.song-person-header p,
.song-item-header p,
.song-archive-header p,
.song-taxonomy-header p {
  max-width: 42rem;
  color: var(--song-muted);
  font-size: 1.02rem;
}

.song-home-intro__copy > p,
.song-page-intro,
.song-person-header p,
.song-item-header p,
.song-archive-header p,
.song-taxonomy-header p {
  margin: 0.95rem 0 0;
}

.song-home-intro__lede {
  font-size: 1.06rem;
  color: var(--song-ink);
}

.song-home-intro__copy {
  max-width: 52rem;
}

.song-home-intro__body {
  margin-top: 1rem;
}

.song-home-intro__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.75rem;
}

.song-button,
.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.82rem 1.2rem;
  border: 1px solid var(--song-accent);
  border-radius: 999px;
  background: var(--song-accent);
  color: var(--song-bg);
  font-weight: 700;
  text-decoration: none;
}

.song-button--ghost {
  background: transparent;
  color: var(--song-accent);
}

.song-exhibit-directory {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem 1.6rem;
}

.song-exhibit-directory__item {
  min-width: 0;
}

.song-exhibit-directory__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.song-exhibit-directory__image {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid var(--song-border);
  background: rgba(255, 255, 255, 0.2);
}

.song-exhibit-directory__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.song-exhibit-directory__meta {
  padding-top: 0.85rem;
  border-top: 1px solid var(--song-border);
  margin-top: 0.85rem;
}

.song-exhibit-directory__eyebrow {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.6rem;
  margin-bottom: 0.4rem;
  color: var(--song-muted);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.song-exhibit-directory__external {
  color: var(--song-accent);
}

.song-exhibit-directory__meta h2 {
  margin: 0;
  font-family: var(--song-serif);
  font-size: clamp(1.3rem, 1.12rem + 0.45vw, 1.65rem);
  letter-spacing: -0.03em;
}

.song-exhibit-directory__meta p {
  margin: 0.4rem 0 0;
  color: var(--song-muted);
  font-size: 0.95rem;
  line-height: 1.55;
}

.song-home-intro__media {
  margin: 0;
}

.song-home-intro__media img,
.song-exhibit-media img,
.song-person-profile__image img,
.song-item-featured img {
  width: 100%;
  border: 1px solid var(--song-border);
}

.song-home-intro__media figcaption,
.song-exhibit-media figcaption {
  margin-top: 0.75rem;
  color: var(--song-muted);
  font-size: 0.88rem;
  line-height: 1.55;
}

.song-home-section + .song-home-section,
.song-archive-shell > * + *,
.song-taxonomy-shell > * + * {
  margin-top: 2.5rem;
}

.song-section-heading {
  margin-bottom: 1rem;
}

.song-section-heading h2,
.song-home-section h2 {
  margin: 0;
  font-family: var(--song-serif);
  font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.8rem);
  letter-spacing: -0.03em;
}

.song-section-heading p {
  max-width: 42rem;
  margin: 0.45rem 0 0;
  color: var(--song-muted);
}

.song-editorial-list,
.song-record-list {
  border-top: 1px solid var(--song-border);
}

.song-editorial-list__item,
.song-record-list__item {
  padding: 1rem 0 1.1rem;
  border-bottom: 1px solid var(--song-border);
}

.song-editorial-list__item h2,
.song-editorial-list__item h3,
.song-record-list__item h2,
.song-record-list__item h3 {
  margin: 0.18rem 0 0.3rem;
  font-family: var(--song-serif);
  font-size: clamp(1.18rem, 1.06rem + 0.38vw, 1.45rem);
  letter-spacing: -0.03em;
}

.song-editorial-list__item p,
.song-record-list__item p {
  max-width: 46rem;
  margin: 0;
  color: var(--song-muted);
}

.song-record-list__meta,
.song-editorial-list__meta,
.song-item-header__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.7rem;
}

.song-page-shell--exhibit {
  display: grid;
  grid-template-columns: minmax(210px, 240px) minmax(0, 1fr);
  gap: clamp(2rem, 3vw, 4.25rem);
  align-items: start;
}

.song-exhibit-sidebar {
  position: sticky;
  top: 5.75rem;
  align-self: start;
  padding-top: 0.25rem;
}

.song-exhibit-sidebar__title {
  margin: 0.2rem 0 1rem;
  font-family: var(--song-serif);
  font-size: 1.28rem;
  letter-spacing: -0.03em;
}

.song-exhibit-sidebar__title a {
  text-decoration: none;
}

.song-exhibit-sidebar__label {
  display: block;
  margin-bottom: 0.65rem;
}

.song-exhibit-sidebar__details {
  display: block;
}

.song-exhibit-sidebar__summary {
  display: none;
}

.song-exhibit-sidebar__summary::-webkit-details-marker {
  display: none;
}

@media (min-width: 1025px) {
  .song-exhibit-sidebar__details > .song-local-nav {
    display: block !important;
  }
}

@media (max-width: 1024px) {
  .song-exhibit-sidebar__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    list-style: none;
    font-family: var(--song-sans);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--song-muted);
    padding: 0.15rem 0 0.5rem;
  }

  .song-exhibit-sidebar {
    position: static;
    top: auto;
    padding-top: 0;
    border-bottom: 0;
    padding-bottom: 0.5rem;
  }

  .song-exhibit-sidebar__title {
    margin-bottom: 0.6rem;
  }

  .song-exhibit-sidebar__details {
    border-top: 1px solid var(--song-border);
    padding-top: 0.55rem;
  }

  .song-exhibit-sidebar__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    list-style: none;
    font-family: var(--song-sans);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--song-muted);
    padding: 0.15rem 0 0.5rem;
  }

  .song-exhibit-sidebar__summary::after {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 160ms ease;
  }

  .song-exhibit-sidebar__details[open] .song-exhibit-sidebar__summary::after {
    transform: rotate(225deg);
  }

  .song-exhibit-sidebar__details > .song-local-nav {
    margin-top: 0.2rem;
  }
}


.song-local-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.song-local-nav > li + li {
  margin-top: 0.22rem;
}

.song-local-nav__branch {
  list-style: none;
  margin: 0.18rem 0 0;
  padding: 0;
}

.song-local-nav__item + .song-local-nav__item {
  margin-top: 0.22rem;
}

.song-local-nav a {
  display: block;
  padding: 0.48rem 0 0.48rem 0.9rem;
  border-left: 2px solid transparent;
  color: var(--song-muted);
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

.song-local-nav__item--depth-1 > a {
  padding-left: 1.1rem;
}

.song-local-nav__item--depth-2 > a {
  padding-left: 1.9rem;
  font-size: 0.9rem;
}

.song-local-nav__item--depth-3 > a,
.song-local-nav__item--depth-4 > a,
.song-local-nav__item--depth-5 > a {
  padding-left: 2.7rem;
  font-size: 0.88rem;
}

.song-local-nav .current_page_item > a,
.song-local-nav .current_page_ancestor > a,
.song-local-nav .current-menu-item > a,
.song-local-nav a[aria-current="page"] {
  border-left-color: var(--song-accent);
  color: var(--song-accent);
}

.song-local-nav .current_page_ancestor > a {
  border-left-color: rgba(0, 33, 105, 0.35);
  color: var(--song-ink);
}

.song-exhibit-main article,
.song-page-default article,
.song-person-shell article,
.song-item-shell article {
  max-width: 48rem;
}

.song-exhibit-main article {
  max-width: 44rem;
}

.song-exhibit-header,
.song-page-header,
.song-person-header,
.song-item-header,
.song-archive-header,
.song-taxonomy-header {
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--song-border);
}

.song-exhibit-header {
  margin-bottom: 1.6rem;
}

.song-exhibit-media {
  margin: 0 0 1.75rem;
}

.song-post-body,
.song-person-profile__body {
  font-family: var(--song-serif);
  font-size: 1.06rem;
  line-height: 1.78;
}

.song-post-body > *:first-child,
.song-person-profile__body > *:first-child {
  margin-top: 0;
}

.song-post-body > *:last-child,
.song-person-profile__body > *:last-child {
  margin-bottom: 0;
}

.song-post-body h2,
.song-post-body h3,
.song-post-body h4,
.song-person-profile__body h2,
.song-person-profile__body h3,
.song-person-profile__body h4 {
  margin: 2rem 0 0.8rem;
  font-family: var(--song-serif);
  line-height: 1.18;
  letter-spacing: -0.02em;
}

.song-post-body h2,
.song-person-profile__body h2 {
  font-size: 1.55rem;
}

.song-post-body h3,
.song-person-profile__body h3 {
  font-size: 1.26rem;
}

.song-post-body p,
.song-post-body ul,
.song-post-body ol,
.song-post-body blockquote,
.song-person-profile__body p,
.song-person-profile__body ul,
.song-person-profile__body ol,
.song-person-profile__body blockquote {
  margin: 0 0 1.15rem;
}

.song-post-body ul,
.song-post-body ol,
.song-person-profile__body ul,
.song-person-profile__body ol {
  padding-left: 1.3rem;
}

.song-post-body blockquote,
.song-person-profile__body blockquote {
  padding-left: 1rem;
  border-left: 2px solid var(--song-border-strong);
  color: var(--song-muted);
}

.song-person-meta,
.song-item-meta,
.song-meta-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.8rem;
  margin: 1.5rem 0 0;
}

.song-person-meta div,
.song-item-meta div,
.song-meta-list div {
  padding-top: 0.72rem;
  border-top: 1px solid var(--song-border);
}

.song-person-meta dt,
.song-item-meta dt,
.song-meta-list dt {
  margin: 0 0 0.2rem;
}

.song-person-meta dd,
.song-item-meta dd,
.song-meta-list dd {
  margin: 0;
  color: var(--song-muted);
}

.song-term-chips,
.song-item-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.9rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--song-border);
}

.song-term-chip,
.song-item-link {
  display: inline-flex;
  align-items: center;
  color: var(--song-muted);
  text-decoration: none;
}

.song-term-chip:hover,
.song-item-link:hover {
  color: var(--song-accent);
}

.song-person-profile {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 1.5rem 2rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--song-border);
}

.song-person-profile h2 {
  grid-column: 1 / -1;
  margin: 0;
  font-family: var(--song-serif);
  font-size: 1.72rem;
  letter-spacing: -0.03em;
}

.song-person-profile__lede {
  margin: 0 0 1rem;
  font-size: 1.02rem;
  line-height: 1.65;
  color: var(--song-ink);
}

.song-person-profile__row {
  padding-top: 0.75rem;
  border-top: 1px solid var(--song-border);
}

.song-person-profile__row strong {
  display: block;
  margin-bottom: 0.2rem;
  font-family: var(--song-sans);
  font-size: 0.76rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--song-muted);
}

.song-person-profile__row p {
  margin: 0;
  color: var(--song-muted);
  font-family: var(--song-sans);
  font-size: 0.96rem;
  line-height: 1.6;
}

.song-network-panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.4rem 2rem;
  margin-top: 2rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--song-border);
}

.song-network-panel {
  min-width: 0;
}

.song-network-panel h3 {
  margin: 0 0 0.5rem;
}

.song-network-panel ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.song-network-panel li {
  padding: 0.45rem 0;
  border-bottom: 1px solid rgba(30, 38, 33, 0.08);
  color: var(--song-muted);
}

.song-network-panel li:last-child {
  border-bottom: 0;
}

.song-archive-grid {
  margin-top: 2rem;
}

.song-exhibit-pager {
  margin-top: 3rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--song-border);
}

.song-exhibit-pager__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.5rem;
}

.song-exhibit-pager__item {
  display: block;
  padding-top: 0.55rem;
  border-top: 1px solid var(--song-border);
  text-decoration: none;
}

.song-exhibit-pager__item strong {
  display: block;
  margin-top: 0.3rem;
  font-family: var(--song-serif);
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.song-exhibit-pager__item--next {
  text-align: right;
}

.song-exhibit-pager__item--empty {
  visibility: hidden;
}

.song-site-footer {
  padding: 2rem 0 3rem;
}

.song-site-footer__inner {
  padding-top: 1rem;
  border-top: 1px solid var(--song-border);
  color: var(--song-muted);
  font-size: 0.9rem;
  display: flex;
  justify-content: center;
}

.song-site-footer__brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.7rem;
  max-width: 42rem;
  margin: 0 auto;
}

.song-site-footer__logo {
  width: clamp(5.25rem, 6vw, 7.5rem);
  height: auto;
  flex: 0 0 auto;
}

.song-site-footer__copy {
  min-width: 0;
  text-align: center;
}

.song-site-footer__title,
.song-site-footer__text {
  margin: 0;
}

.song-site-footer__title {
  color: var(--song-ink);
  font-weight: 700;
  line-height: 1.4;
}

.song-site-footer__text {
  margin-top: 0.25rem;
  color: var(--song-muted);
  line-height: 1.5;
}

.song-site-footer__logo-link {
  display: inline-flex;
  text-decoration: none;
}

@media (max-width: 1024px) {
  .song-page-shell--exhibit,
  .song-person-profile,
  .song-network-panels {
    grid-template-columns: 1fr;
  }

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

  .song-exhibit-sidebar {
    position: static;
    top: auto;
    padding-top: 0;
    border-bottom: 1px solid var(--song-border);
    padding-bottom: 1rem;
  }

  .song-local-nav {
    display: block;
    overflow: visible;
    padding-bottom: 0;
  }

  .song-local-nav li {
    min-width: 0;
  }

  .song-local-nav > li + li {
    margin-top: 0.22rem;
  }

  .song-local-nav a {
    padding: 0.48rem 0 0.48rem 0.9rem;
    border-left: 2px solid transparent;
    border-bottom: 0;
  }

  .song-local-nav__branch {
    display: block;
    margin-top: 0.18rem;
  }

  .song-local-nav__item {
    min-width: 0;
  }

  .song-local-nav__item--depth-1 > a {
    padding-left: 1.1rem;
  }

  .song-local-nav__item--depth-2 > a {
    padding-left: 1.95rem;
  }

  .song-local-nav__item--depth-3 > a,
  .song-local-nav__item--depth-4 > a,
  .song-local-nav__item--depth-5 > a {
    padding-left: 2.8rem;
  }

  .song-local-nav .current_page_item > a,
  .song-local-nav .current_page_ancestor > a,
  .song-local-nav .current-menu-item > a,
  .song-local-nav a[aria-current="page"] {
    border-left-color: var(--song-accent);
  }

  .song-home-intro__body .wp-block-gallery.has-nested-images,
  .song-home-intro__body .blocks-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(720px, 100%) !important;
    max-width: 720px !important;
  }
}

@media (max-width: 760px) {
  .song-site-header__inner {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  .song-site-nav .menu,
  .song-site-nav ul {
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
  }

  .song-page-shell,
  .song-home,
  .song-archive-shell,
  .song-taxonomy-shell {
    width: min(100vw - 1.5rem, var(--song-content));
  }

  .song-person-meta,
  .song-item-meta,
  .song-meta-list,
  .song-exhibit-pager__grid {
    grid-template-columns: 1fr;
  }

  .song-exhibit-directory {
    grid-template-columns: 1fr;
  }

  .song-home-intro__copy h1,
  .song-exhibit-header h1,
  .song-page-header h1,
  .song-person-header h1,
  .song-item-header h1,
  .song-archive-shell h1,
  .song-taxonomy-shell h1 {
    font-size: clamp(1.28rem, 1.16rem + 1vw, 1.72rem);
    line-height: 1.24;
  }

  .song-site-nav .menu-item-has-children > a {
    padding-right: 0 !important;
  }
}

.song-site-nav .menu-item-has-children > a::after,
.song-site-nav .menu-item-has-children > a::before,
.song-site-nav .menu-item-has-children::after,
.song-site-nav .menu-item-has-children::before,
.song-site-nav .wp-block-navigation__submenu-icon,
.song-site-nav .wp-block-page-list__submenu-icon,
.song-site-nav .wp-block-navigation-submenu__toggle,
.song-site-nav .wp-block-navigation-submenu__toggle svg,
.song-site-nav .wp-block-navigation-item__content + svg,
.song-site-nav .menu-item-has-children > button,
.song-site-nav .menu-item-has-children > button svg,
.song-site-nav .menu-item-has-children .submenu-toggle,
.song-site-nav .menu-item-has-children .dropdown-toggle {
  display: none !important;
  content: none !important;
}

.song-site-nav .menu-item-has-children > a,
.song-site-nav .wp-block-navigation-item__content {
  padding-right: 0 !important;
}

.song-nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0.22rem;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 1px solid var(--song-border-strong);
  background: rgba(251, 248, 233, 0.96);
  color: var(--song-ink);
  cursor: pointer;
}

.song-nav-toggle__bar {
  display: block;
  width: 1.05rem;
  height: 1.5px;
  background: currentColor;
  border-radius: 999px;
}

.song-submenu-toggle {
  display: none;
}

@media (max-width: 760px) {
  .song-site-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem 1rem;
    align-items: center;
  }

  .song-nav-toggle {
    display: inline-flex;
    flex-direction: column;
    justify-self: end;
  }

  .song-site-nav {
    grid-column: 1 / -1;
    display: none;
    width: 100%;
    padding-top: 0.35rem;
    border-top: 1px solid var(--song-border);
  }

  .song-site-nav.is-open {
    display: block;
  }

  .song-site-nav .menu {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .song-site-nav .menu > .menu-item {
    width: 100%;
    padding: 0.05rem 0;
    border-bottom: 1px solid rgba(26, 45, 56, 0.1);
  }

  .song-site-nav .menu > .menu-item > a {
    padding: 0.75rem 2.5rem 0.75rem 0;
  }

  .song-site-nav .menu-item-has-children > a {
    padding-right: 3rem !important;
  }

  .song-site-nav .sub-menu {
    display: none;
    position: static;
    min-width: 0;
    margin-top: 0.15rem;
    margin-left: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .song-site-nav .menu-item-has-children.is-submenu-open > .sub-menu {
    display: block;
  }

  .song-site-nav .sub-menu::before {
    display: none;
  }

  .song-site-nav .sub-menu a {
    padding: 0.45rem 0 0.45rem 1rem;
    white-space: normal;
    color: var(--song-muted);
  }

  .song-site-nav .sub-menu a:hover,
  .song-site-nav .sub-menu a:focus {
    background: transparent;
    color: var(--song-accent);
  }

  .song-site-nav .menu-item-has-children > a::after {
    display: none !important;
  }

  .song-submenu-toggle {
    display: inline-flex;
    position: absolute;
    top: 0.48rem;
    right: 0;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--song-ink);
    cursor: pointer;
  }

  .song-submenu-toggle span {
    display: block;
    width: 0.55rem;
    height: 0.55rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 160ms ease;
  }

  .song-site-nav .menu-item-has-children.is-submenu-open > .song-submenu-toggle span {
    transform: rotate(225deg);
  }
}


.song-home-intro__copy {
  max-width: none;
}

.song-home-intro__copy > p,
.song-home-intro__body > p,
.song-home-intro__body > ul,
.song-home-intro__body > ol,
.song-home-intro__body > blockquote {
  max-width: 52rem;
}

.song-home-intro__body {
  width: 100%;
  max-width: none;
}

.song-home-intro__body .wp-block-gallery,
.song-home-intro__body .blocks-gallery-grid,
.song-home-intro__body .wp-block-image,
.song-home-intro__body .alignwide,
.song-home-intro__body .alignfull,
.song-home-intro__body .wp-block-group,
.song-home-intro__body .wp-block-columns {
  width: 100%;
  max-width: none;
}

.song-home-intro__body .wp-block-gallery {
  margin-left: 0;
  margin-right: 0;
}

.song-home-intro__body .wp-block-gallery.has-nested-images,
.song-home-intro__body .blocks-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.65rem !important;
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.song-home-intro__body .wp-block-gallery.has-nested-images figure.wp-block-image,
.song-home-intro__body .blocks-gallery-grid .blocks-gallery-item {
  width: 100% !important;
  margin: 0 !important;
}

.song-home-intro__body .wp-block-gallery.has-nested-images img,
.song-home-intro__body .blocks-gallery-grid img {
  width: 100%;
  height: auto;
}

@media (max-width: 640px) {
  .song-home-intro__body .wp-block-gallery.has-nested-images,
  .song-home-intro__body .blocks-gallery-grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: none !important;
  }
}
