@font-face { font-family: "Poppins"; src: url("/assets/fonts/Poppins-Light.ttf") format("truetype"); font-style: normal; font-weight: 300; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/assets/fonts/Poppins-Regular.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/assets/fonts/Poppins-Medium.ttf") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/assets/fonts/Poppins-SemiBold.ttf") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/assets/fonts/Poppins-Bold.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }

:root {
  --site-font: "Poppins", Arial, sans-serif;
  --ink: #25282a;
  --muted: #71767a;
  --line: #d9dcde;
  --paper: #f4f5f5;
  --surface: #fff;
  --soft: #e9ebec;
  --sidebar: #282828;
  --sidebar-text: #e8e8e8;
  --sidebar-muted: #9ca1a4;
  --sidebar-line: #3b3f42;
  --sidebar-active: #e1e3e4;
  --sidebar-active-ink: #202426;
  --panel-head: #808080;
  --accent: #4e565c;
  --accent-strong: #262b2f;
  --sidebar-width: 252px;
}

:root[data-theme="parchment"] {
  --ink: #29251f;
  --muted: #766f65;
  --line: #ddd4c5;
  --paper: #f4efe5;
  --surface: #fffdf8;
  --soft: #eae1d2;
  --sidebar: #2c2925;
  --sidebar-text: #e6a365;
  --sidebar-muted: #c99b72;
  --sidebar-line: #5d5045;
  --sidebar-active: #775f4a;
  --sidebar-active-ink: #fff;
  --panel-head: #775f4a;
  --accent: #775f4a;
  --accent-strong: #3f352b;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--site-font); line-height: 1.7; }
body, body * { font-family: var(--site-font) !important; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select { font: inherit; }

.layout { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; scroll-behavior: smooth; background: var(--sidebar); color: var(--sidebar-text); z-index: 30; transition: background-color .25s ease, color .25s ease; }
.brand-mark { padding: 28px 22px 20px; text-align: center; }
.brand-mark img { width: 150px; max-height: 70px; object-fit: contain; margin: 0 auto 24px; }
.brand-mark strong { display: block; color: #ff0000; letter-spacing: .08em; font-size: 1rem; }
.sidebar nav { padding: 10px 0 12px; border-top: 1px solid var(--sidebar-line); }
.sidebar nav a { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 10px 22px; color: var(--sidebar-text); transition: background-color .24s ease, color .24s ease, padding-left .24s ease; }
.sidebar nav a:hover, .sidebar nav a.active { background: var(--sidebar-active); color: var(--sidebar-active-ink); padding-left: 26px; }
.sidebar nav a span { min-width: 24px; padding: 1px 7px; border-radius: 999px; background: #424242; color: #ccc; font-size: .72rem; text-align: center; }
.nav-heading { padding: 25px 22px 7px; color: #858585; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
.nav-group { border-top: 1px solid var(--sidebar-line); }
.nav-group summary { display: flex; justify-content: space-between; align-items: center; padding: 11px 22px; color: var(--sidebar-text); cursor: pointer; list-style: none; user-select: none; transition: background-color .2s ease; }
.nav-group summary:hover { background: rgba(255,255,255,.055); }
.nav-group summary::-webkit-details-marker { display: none; }
.nav-group summary span { color: #8f9497; transition: transform 1.15s cubic-bezier(.22,.61,.36,1); }
.nav-group[open] summary span { transform: rotate(180deg); }
.nav-group > div {
  display: block;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  padding: 0;
  background: var(--sidebar);
  opacity: 0;
  transform: translateY(-8px);
}
.nav-group[open] > div {
  height: auto;
  visibility: visible;
  padding: 1px 0 8px;
  opacity: 1;
  transform: translateY(0);
}
.nav-group > div > a { padding: 8px 22px 8px 32px; color: var(--sidebar-text); font-size: .82rem; }
.catalog-menu > div { max-height: 330px; overflow-y: auto; }
.external-navigation { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--sidebar-line); }
.external-navigation a { color: var(--sidebar-muted); font-size: .8rem; }
.sidebar-footer { margin: 0 0 24px; padding: 18px 22px 0; border-top: 1px solid var(--sidebar-line); color: var(--sidebar-muted); font-size: .75rem; }
.lirm-signature { display: block; max-width: 132px; margin: 0 auto; opacity: .82; }
.lirm-signature img { width: 100%; max-height: 72px; object-fit: contain; }

.content { min-width: 0; padding: 0 34px; }
.topbar { min-height: 72px; display: flex; align-items: center; gap: 18px; border-bottom: 1px solid var(--line); }
.menu-button { display: none; border: 0; background: #666; color: #fff; border-radius: 3px; padding: 9px 13px; cursor: pointer; }
.top-link { color: #666; }
.top-link:hover { color: #000; }
.prototype-badge { margin-left: auto; color: #777; border: 1px solid #ddd; padding: 5px 9px; border-radius: 3px; font-size: .68rem; letter-spacing: .08em; }
.theme-button { border: 1px solid var(--line); background: var(--surface); color: var(--muted); padding: 6px 10px; cursor: pointer; font-size: .7rem; }

.eyebrow { margin: 0 0 8px; color: var(--accent); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.page-intro { max-width: 920px; padding: 70px 0 35px; }
.page-intro.compact { padding-bottom: 24px; }
.page-intro h1, .work-heading h1, .home-copy h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.035em; line-height: 1; }
.page-intro h1, .work-heading h1 { font-size: clamp(2.8rem, 7vw, 6.2rem); }
.work-heading h1 { overflow-wrap: anywhere; }
.page-intro > p:last-child { max-width: 760px; color: #777; font-size: 1.05rem; }

.home-hero { display: grid; grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr); grid-template-areas: "photo intro" "photo body"; column-gap: clamp(35px, 6vw, 100px); row-gap: 18px; align-items: start; min-height: calc(100vh - 73px); padding: 55px 4vw; }
.home-intro { grid-area: intro; align-self: end; }
.home-body { grid-area: body; }
.home-copy { max-width: 720px; }
.home-copy h1 { font-size: clamp(4rem, 10vw, 9rem); }
.home-copy .lead { max-width: 640px; margin: 25px 0 20px; color: #555; font-family: Georgia, serif; font-size: clamp(1.35rem, 2.3vw, 2.2rem); line-height: 1.35; }
.home-copy > p:not(.lead):not(.eyebrow) { max-width: 680px; color: #777; }
.home-hero figure { grid-area: photo; align-self: start; margin: 0; }
.home-hero figure img { width: 100%; max-height: 72vh; object-fit: cover; filter: grayscale(100%); }
.home-hero figcaption { margin-top: 9px; color: #888; font-size: .75rem; }
.home-hero .home-current-portrait { align-self: start; }
.home-hero .home-current-portrait img { width: 100%; max-height: 76vh; object-fit: contain; object-position: center bottom; filter: none; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.primary-action, .secondary-action { display: inline-block; padding: 12px 19px; border: 1px solid var(--panel-head); }
.primary-action { background: var(--panel-head); color: #fff; }
.primary-action:hover { background: var(--accent); border-color: var(--accent); }
.secondary-action:hover { background: var(--soft); }

.architecture-strip { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-width: 1px 0; }
.architecture-strip div { padding: 28px; display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; }
.architecture-strip div + div { border-left: 1px solid var(--line); }
.architecture-strip strong { grid-row: 1 / 3; min-width: 52px; color: var(--accent); font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; }
.architecture-strip span { font-weight: 600; }
.architecture-strip small { color: #888; }

.featured { padding: 80px 0; }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 28px; }
.section-heading h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 400; }
.section-heading > a { color: #777; }

.filters { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(220px, 320px) auto auto; gap: 12px; align-items: end; padding: 20px; background: var(--soft); }
.filters label { display: grid; gap: 6px; color: #666; font-size: .75rem; }
.filters input, .filters select { width: 100%; min-height: 44px; border: 1px solid #d7d7d7; background: #fff; padding: 9px 11px; color: #333; }
.filters button { min-height: 44px; border: 0; padding: 0 22px; background: #444; color: #fff; cursor: pointer; }
.filters button:hover { background: var(--accent); }
.filters .reset { min-height: 44px; display: grid; place-items: center; padding: 0 10px; color: #777; }
.result-line { padding: 20px 0 14px; color: #888; font-size: .8rem; }
.result-line strong { color: #333; }
.pagination { display: flex; flex-wrap: wrap; gap: 7px; justify-content: center; padding: 50px 0 20px; }
.pagination a { min-width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); font-size: .78rem; }
.pagination a:hover, .pagination .current { border-color: #333; background: #333; color: #fff; }

.work-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 25px; }
.compact-grid { grid-template-columns: repeat(4, 1fr); }
.work-card { min-width: 0; border: 1px solid var(--line); background: var(--surface); transition: transform .2s ease, box-shadow .2s ease; }
.work-card:hover { transform: translateY(-3px); box-shadow: 0 16px 38px rgba(0,0,0,.08); }
.work-cover { aspect-ratio: 3 / 2; display: grid; place-items: center; overflow: hidden; background: #eee; }
.work-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.work-card-preparation .work-cover img, .work-card-instance .work-cover img, .work-card-reserved .work-cover img { object-fit: contain; }
.work-card:hover .work-cover img { transform: scale(1.018); }
.cover-placeholder { color: #aaa; letter-spacing: .2em; }
.work-card-body { padding: 18px; }
.collection-label { color: var(--accent); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.work-card h2 { margin: 6px 0 10px; font-family: Georgia, serif; font-size: 1.35rem; font-weight: 400; }
.work-card p { min-height: 3.1em; color: #888; font-size: .82rem; }
.work-card .work-subtitle { min-height: 0; margin: 5px 0; color: #555; font-family: Georgia, serif; font-size: .95rem; }
.work-card .work-opus { min-height: 0; margin: 10px 0 15px; font-size: .72rem; }
.detail-link { color: #555; font-size: .8rem; }
.detail-link:hover { color: var(--accent); }

.work-detail { max-width: 1420px; margin: 0 auto; padding: 34px 0 80px; }
.breadcrumbs { display: flex; gap: 10px; color: #888; font-size: .76rem; }
.breadcrumbs a:hover { color: var(--accent); }
.work-heading { padding: 50px 0 38px; }
.work-code { color: #888; letter-spacing: .08em; }
.work-deck { max-width: 900px; margin: 16px 0 8px; color: #555; font-family: Georgia, serif; font-size: clamp(1.15rem, 2vw, 1.65rem); }
.work-primary { display: block; }
.hero-artwork { margin: 0; background: #f0f0ee; }
.hero-artwork .image-zoom { display: block; cursor: zoom-in; }
.hero-artwork img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
.hero-artwork figcaption { padding: 10px 0; background: var(--paper); color: #888; font-size: .7rem; }
.metadata-card { position: static; margin-top: 28px; border-top: 4px solid #333; padding: 20px 0; }
.metadata-card h2, .description-panel h2, .media-panel h2, .resource-list h2 { margin-top: 0; font-family: Georgia, serif; font-weight: 400; font-size: 1.8rem; }
.metadata-card dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
}
.metadata-card dl > div {
  min-width: 0;
  padding: 8px 12px 9px;
  border: 1px solid var(--line);
  background: var(--surface);
}
.metadata-card dl > .metadata-wide { grid-column: span 2; }
.metadata-card dl > .metadata-full { grid-column: 1 / -1; }
.metadata-card dt { margin-bottom: 3px; color: #888; font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; }
.metadata-card dd { margin: 0; font-size: .82rem; line-height: 1.35; overflow-wrap: anywhere; }
.metadata-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.digital-place-actions { display: flex; justify-content: flex-end; margin-top: 22px; }
.preparation-notice { margin: 0 0 28px; padding: 22px 25px; border-left: 5px solid var(--accent); background: var(--soft); }
.preparation-notice strong { font-family: Georgia, serif; font-size: 1.35rem; font-weight: 400; }
.preparation-notice p { margin: 8px 0 0; color: #777; font-size: .84rem; }
.preparation-artwork { margin-bottom: 26px; }
.entry-metadata { margin-top: 0; }
.preparation-audio { margin-top: 36px; }
.entry-parent-link { margin-top: 35px; }
.reserved-label, .reserved-status { display: flex; align-items: center; gap: 8px; }
.reserved-label i, .reserved-status i { display: inline-block; flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; background: #f00; box-shadow: 0 0 0 3px rgba(255,0,0,.1); }
.reserved-status { margin: 0 0 14px; color: #555; font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.description-panel { max-width: 880px; margin: 55px 0; }
.description-panel p, .media-panel p { color: #777; }
.media-panel { margin: 25px 0; padding: 28px; border: 1px solid var(--line); background: var(--soft); }
.media-panel:not(details) { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(300px, 1.4fr); gap: 30px; align-items: center; }
.media-panel audio { width: 100%; }
.audio-with-spatial-note { min-width: 0; width: 100%; }
.audio-with-spatial-note audio { display: block; width: 100%; margin-bottom: 0; }
.spatial-audio-note { margin: 6px 0 0 !important; color: #888 !important; font-size: .66rem !important; font-style: normal; line-height: 1.4; text-align: left !important; }
.video-panel summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; }
.video-panel summary::-webkit-details-marker { display: none; }
.video-panel summary strong { display: block; font-family: Georgia, serif; font-size: 1.5rem; font-weight: 400; }
.video-panel .plus { font-size: 2rem; }
.video-panel[open] .plus { transform: rotate(45deg); }
.video-panel video { width: 100%; max-height: 75vh; margin-top: 24px; background: #111; }
.resource-list { margin-top: 50px; }
.resource-list > a { display: flex; justify-content: space-between; gap: 25px; padding: 15px 5px; border-top: 1px solid var(--line); }
.resource-list > a:hover { color: var(--accent); }
.resource-list h3 { margin: 32px 0 0; padding-bottom: 8px; border-bottom: 2px solid #333; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.resource-list a span:first-child { display: grid; grid-template-columns: 95px 1fr; gap: 15px; }
.resource-list small { color: #777; font-size: .68rem; letter-spacing: .08em; overflow-wrap: anywhere; }
.resource-list strong { font-size: .82rem; overflow-wrap: anywhere; }
.resource-list em { grid-column: 2; margin-top: -10px; color: #999; font-size: .68rem; font-style: normal; overflow-wrap: anywhere; }
.sonography-preview { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; margin: 22px 0 38px; }
.sonography-preview figure { margin: 0; border: 1px solid var(--line); background: var(--soft); }
.sonography-preview a { display: grid; place-items: center; min-height: 220px; padding: 14px; }
.sonography-preview img { max-height: 420px; object-fit: contain; }
.sonography-preview figcaption { padding: 10px 14px 13px; border-top: 1px solid var(--line); font-size: .78rem; }
.sonography-preview figcaption small { display: block; margin-top: 4px; color: #888; font-size: .66rem; }
.empty { min-height: 70vh; display: grid; place-content: center; text-align: center; }
.backdrop { position: fixed; inset: 0; border: 0; background: rgba(0,0,0,.28); z-index: 20; }
.footer { margin-top: 70px; min-height: 80px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid var(--line); color: #999; font-size: .72rem; }
.footer img { width: 78px; height: auto; opacity: .82; }

.catalog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 28px; padding-bottom: 80px; }
.catalog-card { display: grid; grid-template-columns: 170px 1fr; gap: 24px; padding: 22px; border: 1px solid var(--line); background: var(--surface); align-items: center; }
.catalog-cover { min-height: 215px; display: grid; place-items: center; background: var(--soft); }
.catalog-cover img { width: 100%; max-height: 250px; object-fit: contain; }
.catalog-card h2 { margin: 0 0 12px; font-family: Georgia, serif; font-size: 1.55rem; font-weight: 400; line-height: 1.15; }
.catalog-card p:not(.eyebrow) { color: #777; font-size: .82rem; }
.catalog-card strong { font-size: .75rem; }
.catalog-detail { max-width: 1420px; margin: auto; padding: 55px 0 90px; }
.catalog-hero { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: start; padding-bottom: 55px; border-bottom: 1px solid var(--line); }
.catalog-hero h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(2.7rem, 6vw, 5.8rem); font-weight: 400; line-height: 1; }
.catalog-hero-cover { display: block; max-width: 360px; cursor: zoom-in; }
.catalog-hero-cover img { width: 100%; max-height: 480px; object-fit: contain; }
.catalog-series { color: var(--accent); font-weight: 600; }
.catalog-index { max-width: 1000px; padding: 50px 0; }
.catalog-index h2 { font-family: Georgia, serif; font-size: 2.2rem; font-weight: 400; }
.catalog-index::after { content: ""; display: table; clear: both; }
.catalog-index-cover {
  display: block;
  float: left;
  width: clamp(210px, 28vw, 320px);
  margin: 2px clamp(24px, 4vw, 42px) 22px 0;
  cursor: zoom-in;
}
.catalog-index-cover img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  object-fit: contain;
}
.catalog-index > .catalog-index-copy {
  margin-top: 0;
  color: #666;
  font-size: .833rem;
  font-style: italic;
  line-height: 1.65;
  text-align: justify;
  text-justify: inter-word;
}
.catalog-meta { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 25px; font-size: .8rem; }
.catalog-meta a { color: var(--accent); }

.digital-place-intro { padding: 35px; border-left: 5px solid var(--accent); background: var(--soft); }
.digital-address { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 25px; font-size: .85rem; }
.digital-address span { color: #888; text-transform: uppercase; letter-spacing: .1em; }
.digital-address strong { overflow-wrap: anywhere; }
.copyright-note { margin-top: 50px; color: #999; font-size: .72rem; }

.qim-intro { max-width: 1050px; }
.qim-intro h1 { color: var(--accent); }
.issn { color: #222 !important; font-size: .8rem !important; font-weight: 700; letter-spacing: .12em; }
.issue-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 24px; padding-bottom: 80px; }
.issue-card { display: grid; grid-template-columns: 105px 1fr; gap: 18px; min-height: 190px; padding: 18px; border: 1px solid var(--line); align-items: start; }
.issue-card > img { width: 100%; max-height: 160px; object-fit: contain; }
.issue-card h2 { margin: 2px 0 18px; font-family: Georgia, serif; font-size: 1.2rem; font-weight: 400; line-height: 1.2; }
.archive-note { color: #aaa; font-size: .72rem; }

.research-grid { display: grid; gap: 28px; padding-bottom: 80px; }
.research-card { display: grid; grid-template-columns: minmax(180px, 30%) 1fr; min-height: 250px; border: 1px solid var(--line); }
.research-card > img { width: 100%; height: 100%; max-height: 360px; object-fit: cover; background: var(--soft); }
.research-card > div { padding: clamp(25px, 5vw, 55px); }
.research-card h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 400; }
.research-card p:not(.eyebrow) { max-width: 720px; color: #777; }
.research-card a { color: var(--accent); }

.archive-page { max-width: 1220px; margin: 0 auto; padding: 55px 0 90px; }
.archive-heading { max-width: 940px; padding: 20px 0 42px; border-bottom: 1px solid var(--line); }
.archive-heading h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.7rem, 6vw, 5.7rem); font-weight: 400; line-height: 1; letter-spacing: -.035em; }
.archive-heading > p:last-child { max-width: 720px; color: var(--muted); }
.contact-intro {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 820px;
  margin-right: auto;
  margin-left: auto;
}
.legacy-content { padding: 45px 0; color: var(--ink); overflow-wrap: anywhere; }
.contact-intro ~ * { position: relative; z-index: 1; }
.legacy-content [align="justify"] { text-align: justify; }
.legacy-content > br:first-child, .legacy-content center > h3, .legacy-content blockquote { display: none; }
.legacy-content .card { margin: 0 0 24px; border: 1px solid var(--line); background: var(--surface); box-shadow: 0 8px 24px rgba(0,0,0,.025); }
.legacy-content .card-header { padding: 14px 20px; border-bottom: 1px solid var(--line); background: var(--panel-head); color: #fff; font-family: Georgia, serif; font-size: 1.14rem; }
.legacy-content .card-header *, .legacy-content .accordion-button * { color: #fff !important; }
.legacy-content .card-body { padding: clamp(20px, 4vw, 38px); }
.legacy-content h1, .legacy-content h2, .legacy-content h3, .legacy-content h4, .legacy-content h5, .legacy-content h6 { color: var(--accent-strong); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.legacy-content h2 { font-size: 2rem; }
.legacy-content h5 { font-size: 1.2rem; }
.legacy-content a:not(.image-zoom) { color: var(--accent-strong); text-decoration: underline; text-decoration-color: #aeb2b4; text-underline-offset: 3px; }
.legacy-content a.primary-action { color: #fff; text-decoration: none; }
.legacy-content img { max-width: 100%; height: auto; margin: 10px auto; }
.legacy-content img.legacy-image-left, .legacy-content a:has(> img.legacy-image-left) { float: left; margin: 8px clamp(18px, 3vw, 34px) 18px 0; }
.legacy-content img.legacy-image-right, .legacy-content a:has(> img.legacy-image-right) { float: right; margin: 8px 0 18px clamp(18px, 3vw, 34px); }
.legacy-content img.legacy-image-center, .legacy-content a:has(> img.legacy-image-center) { display: block; float: none; margin: 20px auto; }
.legacy-content .card-body::after, .legacy-content .accordion-body::after { content: ""; display: table; clear: both; }
.legacy-content .image-zoom { display: inline-block; max-width: 100%; cursor: zoom-in; }
.legacy-content .image-zoom img { margin: 12px 20px 12px 0; }
.legacy-content .row { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; }
.legacy-content [class*="col-"] { flex: 1 1 260px; min-width: 0; }
.legacy-content table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; }
.legacy-content td, .legacy-content th { padding: 9px 12px; border: 1px solid var(--line); }
.legacy-content td:has(img[src*="amazon" i]) { text-align: center; }
.legacy-content td:has(img[src*="amazon" i]) a { display: flex; justify-content: center; align-items: center; width: 100%; }
.legacy-content td img[src*="amazon" i] { margin-left: auto; margin-right: auto; }

/* Saggi: ogni tabella delle edizioni occupa l'intera larghezza del pannello.
   Le celle storiche sono <th>, non <td>: centriamo quindi ogni marchio
   editoriale (Amazon, Apple e AevoStore) nello spazio che gli compete. */
.page-pubblicazioni-saggi .legacy-content table.table:has(img[src*="amazon" i]) {
  display: table;
  width: 100% !important;
  max-width: none;
  table-layout: fixed;
  overflow: visible;
}
.page-pubblicazioni-saggi .legacy-content table.table:has(img[src*="amazon" i]) th,
.page-pubblicazioni-saggi .legacy-content table.table:has(img[src*="amazon" i]) td {
  text-align: center;
  vertical-align: middle;
}
.page-pubblicazioni-saggi .legacy-content table.table:has(img[src*="amazon" i]) tbody a {
  display: flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
}
.page-pubblicazioni-saggi .legacy-content table.table:has(img[src*="amazon" i]) tbody img {
  display: block;
  float: none !important;
  max-width: 100%;
  height: auto;
  margin: 0 auto !important;
}

/* Romanzi: il testo deve iniziare subito nel pannello; la lunga nota del
   Consenso dei Pari resta editoriale e va letta come un paragrafo, non come
   un'etichetta centrata della tabella. */
.page-pubblicazioni-romanzi .legacy-content .accordion-body > br:first-child {
  display: none;
}
.page-pubblicazioni-romanzi .legacy-content > .card > .card-body {
  padding-top: 0;
}
.page-pubblicazioni-romanzi .legacy-content > .card > .card-body > div > .accordion:first-child {
  margin-top: 12px;
}
.page-pubblicazioni-romanzi .legacy-content #rm1 {
  margin-top: 0;
}
.page-pubblicazioni-romanzi .legacy-content .accordion-header {
  margin-bottom: 12px;
}
.page-pubblicazioni-romanzi .legacy-content .accordion-button {
  display: flex;
  align-items: center;
  padding: 10px 18px;
  font-size: .82rem;
  line-height: 1.25;
}
.page-pubblicazioni-romanzi .legacy-content .accordion-button > div {
  align-self: center;
}
.page-pubblicazioni-romanzi .legacy-content .accordion-button::after {
  float: none;
  align-self: center;
  margin-left: auto;
}
.page-pubblicazioni-romanzi .legacy-content .accordion-button h5 {
  margin: 0 0 3px;
  font-size: 1.18rem;
  line-height: 1.15;
}
.page-pubblicazioni-romanzi .legacy-content .accordion-body {
  padding-top: 12px;
}
.page-pubblicazioni-romanzi .legacy-content .accordion-body > div[align="left"] {
  margin: 0 0 10px;
  line-height: 1.15;
  text-align: left !important;
}
.page-pubblicazioni-romanzi .legacy-content .accordion-body > div[align="left"] h5 {
  margin: 2px 0;
  font-size: 1.2rem;
  line-height: 1.1;
}
.page-pubblicazioni-romanzi .legacy-content .accordion-body > div[align="left"] small {
  display: block;
  line-height: 1.2;
}
.page-pubblicazioni-romanzi .legacy-content .accordion-body > div[align="left"] > br {
  display: none;
}
.page-pubblicazioni-romanzi .legacy-content caption.consenso-note {
  text-align: justify !important;
  text-justify: inter-word;
  hyphens: auto;
}
.page-pubblicazioni-romanzi .legacy-content table.table:has(img[src*="amazon" i]) {
  display: table;
  width: 100% !important;
  max-width: none;
  table-layout: fixed;
  overflow: visible;
}
.page-pubblicazioni-romanzi .legacy-content table.table:has(img[src*="amazon" i]) th,
.page-pubblicazioni-romanzi .legacy-content table.table:has(img[src*="amazon" i]) td {
  text-align: center;
  vertical-align: middle;
}
.page-pubblicazioni-romanzi .legacy-content table.table:has(img[src*="amazon" i]) tbody a {
  display: flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
}
.page-pubblicazioni-romanzi .legacy-content table.table:has(img[src*="amazon" i]) tbody img {
  display: block;
  float: none !important;
  max-width: 100%;
  height: auto;
  margin: 0 auto !important;
}
.page-pubblicazioni-saggi .saggi-demo-resources {
  display: grid;
  gap: 14px;
  margin: 18px 0 8px;
}
.page-pubblicazioni-saggi .saggi-demo-video .ratio {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #111;
}
.page-pubblicazioni-saggi .saggi-demo-video .media-preview-button,
.page-pubblicazioni-saggi .saggi-demo-video video {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
}
.page-pubblicazioni-saggi .saggi-demo-link {
  padding: 12px 16px;
  border: 1px solid var(--line);
  background: var(--soft);
}
.page-pubblicazioni-saggi .saggi-demo-link br {
  display: none;
}
.legacy-content .accordion { margin: 18px 0; border: 1px solid var(--line); background: var(--surface); }
.legacy-content .accordion-button { width: 100%; border: 0; padding: 15px 20px; background: var(--panel-head); color: #fff; text-align: left; font-size: 1.15rem; cursor: pointer; transition: background-color .2s ease; }
.legacy-content .accordion .accordion .accordion-button { font-size: 1rem; }
.legacy-content .accordion-button::after { content: "+"; float: right; font-size: 1.2rem; }
.legacy-content .accordion-button[aria-expanded="true"]::after { content: "−"; }
.legacy-content .accordion-collapse { display: none; }
.legacy-content .accordion-collapse.open { display: block; }
.legacy-content .accordion-body { padding: clamp(18px, 4vw, 34px); }
.legacy-content .btn { display: inline-block; border: 1px solid var(--line); padding: 7px 11px; background: var(--soft); color: var(--ink); cursor: pointer; }
.legacy-content hr { border: 0; border-top: 1px solid var(--line); }
.legacy-content audio { display: block; width: min(100%, 980px); margin: 18px auto; }
.legacy-content video, .legacy-content iframe { max-width: 100%; }
.deferred-media { min-height: 230px; display: grid; place-items: center; margin: 16px 0; border: 1px solid var(--line); background: var(--panel-head); }
.deferred-media iframe { width: 100%; min-height: 400px; border: 0; }
.media-loader { border: 1px solid #ddd; padding: 12px 20px; background: transparent; color: #fff; cursor: pointer; }
.media-preview-button {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  overflow: hidden;
  background: #111;
}
.media-preview-button img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}
.media-preview-play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 66px;
  height: 46px;
  border-radius: 10px;
  background: rgba(28, 28, 28, .84);
  box-shadow: 0 4px 18px rgba(0, 0, 0, .28);
  transform: translate(-50%, -50%);
  transition: background-color .2s ease, transform .2s ease;
}
.media-preview-play::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 52%;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 17px solid #fff;
  transform: translate(-50%, -50%);
}
.media-preview-button:hover .media-preview-play,
.media-preview-button:focus-visible .media-preview-play {
  background: #d10b0b;
  transform: translate(-50%, -50%) scale(1.06);
}
.legacy-content .pdf-unavailable { color: var(--muted) !important; text-decoration-style: dotted !important; cursor: not-allowed; }
.legacy-content .image-reference { font-weight: 600; }
.study-portrait { display: block !important; float: none !important; width: min(100%, 560px); margin: 22px auto !important; }
.legacy-content .biography-home-portrait { display: block; float: left; width: min(31%, 350px); height: auto; margin: 4px 36px 20px 0; filter: grayscale(100%); }
.legacy-content .biography-research-body { position: relative; isolation: isolate; overflow: hidden; }
.legacy-content .biography-research-copy { position: relative; z-index: 1; }
.legacy-content .biography-research-background { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; object-fit: fill; object-position: center bottom; opacity: .22; pointer-events: none; }
.lirm-opening-logo-frame { display: block; float: left; width: min(320px, 45%); height: auto; overflow: visible; margin: 2px 30px 20px 0; background: transparent; }
.legacy-content .lirm-opening-logo { display: block; width: 100%; max-width: 100% !important; height: auto; margin: 0; object-fit: contain; object-position: left top; }
.legacy-content .lirm-colour-portrait { display: block; float: none; width: min(100%, 560px); height: auto; margin: 24px auto 28px; }
.page-biografia-esperienze .legacy-content img[src*="altoparlante.png"] { display: inline-block; float: none; width: auto; height: auto; margin: 6px 8px 0 0; vertical-align: middle; }
.page-biografia-evs .legacy-content .card-body > div:has(> video) { float: left; width: min(42%, 430px); margin: 4px 26px 18px 0; }
.page-biografia-evs .legacy-content .card-body > div:has(> video) video { display: block; width: 100%; height: auto; margin: 0; }

.page-attivita-documentazione .legacy-content .row { display: block; }
.page-attivita-documentazione .legacy-content .horizontal-gallery {
  display: flex;
  width: 100%;
  max-width: 100%;
  gap: clamp(20px, 3vw, 36px);
  overflow-x: auto;
  overflow-y: hidden;
  padding: 14px 18px 26px 0;
  scroll-padding-inline: 0 18px;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.page-attivita-documentazione .legacy-content .horizontal-gallery .image-zoom {
  display: grid;
  flex: 0 0 343px;
  place-items: center;
  scroll-snap-align: start;
}
.page-attivita-documentazione .legacy-content .horizontal-gallery .image-zoom img {
  display: block;
  width: 343px;
  max-width: 100%;
  height: 430px;
  margin: 0;
  object-fit: contain;
}
.page-attivita-documentazione .legacy-content table { display: table; table-layout: fixed; margin-bottom: 2rem; }
.page-attivita-mostre .legacy-content table td { vertical-align: top; }
.page-attivita-mostre .legacy-content table img { margin-top: 0; }
.page-attivita-interessi .legacy-content .accordion-button { font-size: 1rem; }

/* Le immagini di Interact I costituiscono una sequenza unica: rimangono
   nell'ordine originale e scorrono orizzontalmente, aprendo l'originale al
   clic senza allungare verticalmente la pagina. */
.page-pubblicazioni-video .legacy-content #video .row {
  display: block;
}
.page-pubblicazioni-video .legacy-content #video .horizontal-gallery {
  display: flex;
  width: 100%;
  max-width: 100%;
  gap: clamp(18px, 3vw, 32px);
  overflow-x: auto;
  overflow-y: hidden;
  padding: 12px 4px 26px;
  scroll-padding-inline: 4px;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.page-pubblicazioni-video .legacy-content #video .horizontal-gallery .image-zoom {
  display: block;
  flex: 0 0 min(568px, 78vw);
  scroll-snap-align: start;
}
.page-pubblicazioni-video .legacy-content #video .horizontal-gallery img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  aspect-ratio: 568 / 358;
  margin: 0;
  object-fit: cover;
}

.page-pubblicazioni-sonemi .legacy-content table { display: table; table-layout: auto; }
.page-pubblicazioni-sonemi .legacy-content table th, .page-pubblicazioni-sonemi .legacy-content table td { width: auto !important; }
/* Teoria dei Sonemi: la cella Apple Books e' un <th> e l'immagine storica
   conserva align="left"; neutralizziamo entrambi senza toccare le altre
   immagini editoriali della pagina. */
.page-pubblicazioni-sonemi .legacy-content th:has(img[src*="standard-black.png" i]) {
  text-align: center;
  vertical-align: middle;
}
.page-pubblicazioni-sonemi .legacy-content th:has(img[src*="standard-black.png" i]) a {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}
.page-pubblicazioni-sonemi .legacy-content th img[src*="standard-black.png" i] {
  display: block;
  float: none !important;
  margin: 0 auto !important;
}
/* Le tre serie della Mostra 2012 conservano l'allestimento orizzontale:
   ogni opera resta completa e le serie si consultano tramite scorrimento. */
.page-pubblicazioni-sonemi #sub-accordionMostra .horizontal-gallery {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 8px 0 22px;
  scroll-snap-type: x proximity;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.page-pubblicazioni-sonemi #sub-accordionMostra > .accordion-header > .accordion-button,
.page-pubblicazioni-sonemi #sub-accordionMostra > .accordion-item > .accordion-header > .accordion-button {
  font-size: 1rem;
}
.page-pubblicazioni-sonemi #sub-accordionMostra .horizontal-gallery table {
  display: table;
  width: max-content !important;
  max-width: none;
  overflow: visible;
  table-layout: auto;
}
.page-pubblicazioni-sonemi #sub-accordionMostra .horizontal-gallery td[valign="top"] {
  width: min(750px, 68vw) !important;
  min-width: min(750px, 68vw);
  scroll-snap-align: start;
}
.page-pubblicazioni-sonemi #sub-accordionMostra .horizontal-gallery td[valign="top"] img {
  width: 100%;
  max-width: 750px;
  height: min(250px, 22.6667vw);
  object-fit: fill;
}
.page-pubblicazioni-opere-uniche .legacy-content video { float: left; width: min(42%, 430px); max-height: 320px; margin: 0 26px 18px 0; background: #111; }
.page-pubblicazioni-opere-uniche .legacy-content video + table { width: auto; min-width: 48%; }
.page-pubblicazioni-opere-uniche .legacy-content hr { clear: both; margin: 30px 0; }
.page-pubblicazioni-musicxii .legacy-content .row, .page-pubblicazioni-ricerca-musicale .legacy-content .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-items: center; }
.page-pubblicazioni-ricerca-musicale .legacy-content .accordion-body > .row:first-of-type { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.musicxii-archive-link { display: block; margin: 16px 0 28px; padding: 16px 18px; border-left: 4px solid var(--accent); background: var(--soft); font-weight: 700; }
.audisonium-logo { display: block; width: min(100%, 560px); height: auto; margin: 0 auto 28px !important; }
.page-mostre .legacy-content > .audisonium-logo {
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0 0 28px !important;
  background: transparent;
}
.page-mostre .legacy-content > .card > .card-header {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 15px;
  background: transparent;
  color: #111;
  text-align: center;
}
.page-mostre .legacy-content > .card > .card-header * {
  color: #111 !important;
}
.page-mostre .legacy-content sup {
  position: static;
  font-size: .55em;
  line-height: 0;
  vertical-align: super;
}
.page-mostre .legacy-content #accordionEXP {
  margin: 7px 0;
}
.page-mostre .legacy-content #accordionEXP .accordion-header {
  margin: 0;
}
.page-mostre .legacy-content #accordionEXP .accordion-button {
  display: flex;
  align-items: center;
  min-height: 0;
  padding: 7px 15px;
  font-size: .78rem;
  line-height: 1.08;
}
.page-mostre .legacy-content #accordionEXP .accordion-button > div {
  display: block;
  flex: 1 1 auto;
  line-height: 1.08;
}
.page-mostre .legacy-content #accordionEXP .accordion-button h5 {
  margin: 0;
  padding: 0;
  font-size: 1.08rem;
  line-height: 1.08;
}
.page-mostre .legacy-content #accordionEXP .accordion-button::after {
  float: none;
  margin-left: auto;
}
.page-mostre .legacy-content #EXP2 td:has(img[src*="manifesto_sonemi2" i]) {
  vertical-align: top;
}
.page-mostre .legacy-content #EXP2 td:has(img[src*="manifesto_sonemi2" i]) img {
  margin-top: 0;
}

/* Linoleum 1.1: le due serie numeriche si leggono per colonne da sinistra a
   destra. Su schermi stretti rimangono complete e scorrono orizzontalmente. */
.page-pubblicazioni-ricerca-musicale #flush-collapse30a table[width="350"] {
  display: table;
  width: min(100%, 640px) !important;
  margin: 20px auto;
  overflow: visible;
  table-layout: auto;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30a table[width="350"] td {
  text-align: center;
  vertical-align: middle;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30a table[width="14%"],
.page-pubblicazioni-ricerca-musicale #flush-collapse30a table[width="90%"] {
  display: block;
  width: 100% !important;
  max-width: 100%;
  margin: 18px auto;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30a table[width="14%"] tbody,
.page-pubblicazioni-ricerca-musicale #flush-collapse30a table[width="90%"] tbody {
  display: flex;
  width: max-content;
  min-width: 100%;
  justify-content: safe center;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30a table[width="14%"] tr {
  display: grid;
  flex: 0 0 78px;
  grid-template-rows: repeat(2, minmax(42px, auto));
  scroll-snap-align: start;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30a table[width="14%"] td {
  display: grid;
  width: auto !important;
  min-width: 78px;
  place-items: center;
  padding: 8px 10px;
  text-align: center;
  white-space: nowrap;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30a table[width="90%"] tr {
  display: block;
  flex: 0 0 auto;
  scroll-snap-align: start;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30a table[width="90%"] td {
  display: block;
  min-width: 86px;
  padding: 11px 13px;
  text-align: center;
  white-space: nowrap;
}

/* La copia anastatica conserva tutte le tavole e il loro ordine, presentate
   come un'unica sequenza orizzontale con apertura dell'originale al clic. */
.page-pubblicazioni-ricerca-musicale #flush-collapse30a .row {
  display: block;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30a .horizontal-gallery {
  display: flex;
  width: 100%;
  max-width: 100%;
  gap: clamp(18px, 3vw, 32px);
  overflow-x: auto;
  overflow-y: hidden;
  padding: 12px 4px 26px;
  scroll-padding-inline: 4px;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30a .horizontal-gallery .image-zoom {
  display: grid;
  flex: 0 0 min(318px, 76vw);
  place-items: center;
  scroll-snap-align: start;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30a .horizontal-gallery img {
  display: block;
  width: 318px;
  max-width: 100%;
  height: 430px;
  margin: 0;
  object-fit: contain;
}

/* Le quattro tavole dell'analisi della Sonata K.V. 283 formano una sequenza
   orizzontale, mantenendo l'apertura dell'immagine originale al clic. */
.page-pubblicazioni-ricerca-musicale #flush-collapse30b .row {
  display: block;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30b .horizontal-gallery {
  display: flex;
  width: 100%;
  max-width: 100%;
  gap: clamp(18px, 3vw, 32px);
  overflow-x: auto;
  overflow-y: hidden;
  padding: 12px 4px 26px;
  scroll-padding-inline: 4px;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30b .horizontal-gallery .image-zoom {
  display: grid;
  flex: 0 0 min(318px, 76vw);
  place-items: center;
  scroll-snap-align: start;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30b .horizontal-gallery img {
  display: block;
  width: 318px;
  max-width: 100%;
  height: 430px;
  margin: 0;
  object-fit: contain;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30b .legacy-audio + br,
.page-pubblicazioni-ricerca-musicale #flush-collapse30b .legacy-audio + br + br {
  display: none;
}

/* Le venti tavole di Tecnica del Movimento restano in ordine in una sola
   sequenza orizzontale e continuano ad aprire l'originale al clic. */
.page-pubblicazioni-ricerca-musicale #flush-collapse30c .card-body:has(img[src*="/imago/tecnica/tumb/"]) .row {
  display: block;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30c .horizontal-gallery:has(img[src*="/imago/tecnica/tumb/"]) {
  display: flex;
  width: 100%;
  max-width: 100%;
  gap: clamp(18px, 3vw, 32px);
  overflow-x: auto;
  overflow-y: hidden;
  padding: 12px 4px 26px;
  scroll-padding-inline: 4px;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30c .horizontal-gallery:has(img[src*="/imago/tecnica/tumb/"]) .image-zoom {
  display: grid;
  flex: 0 0 min(343px, 76vw);
  place-items: center;
  scroll-snap-align: start;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30c .horizontal-gallery img[src*="/imago/tecnica/tumb/"] {
  display: block;
  width: 343px;
  max-width: 100%;
  height: 430px;
  margin: 0;
  object-fit: contain;
}

/* Le partiture MusicXII restano nell'ordine editoriale originale, ma si
   consultano come una sequenza orizzontale senza allungare la pagina. */
.page-pubblicazioni-musicxii #flush-collapse30 .row {
  display: block;
}
.page-pubblicazioni-musicxii #flush-collapse30 .horizontal-gallery {
  display: flex;
  width: 100%;
  max-width: 100%;
  gap: clamp(18px, 3vw, 32px);
  overflow-x: auto;
  overflow-y: hidden;
  padding: 12px 4px 26px;
  scroll-padding-inline: 4px;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.page-pubblicazioni-musicxii #flush-collapse30 .horizontal-gallery .image-zoom {
  display: block;
  flex: 0 0 min(600px, 78vw);
  scroll-snap-align: start;
}
.page-pubblicazioni-musicxii #flush-collapse30 .horizontal-gallery img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  aspect-ratio: 3 / 2;
  margin: 0;
  object-fit: contain;
}

.contact-intro { margin-bottom: 26px; }
.contact-form {
  box-sizing: border-box;
  width: 100%;
  max-width: 820px;
  margin: 0 auto 60px;
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid var(--line);
  background: var(--surface);
  text-align: left;
}
.contact-form label { display: block; margin: 18px 0 7px; font-weight: 700; }
.contact-form label:first-of-type { margin-top: 0; }
.contact-form input, .contact-form textarea { box-sizing: border-box; width: 100%; border: 1px solid var(--line); border-radius: 0; padding: 12px 14px; background: var(--page); color: var(--ink); font: inherit; }
.contact-form textarea { resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { outline: 2px solid var(--accent); outline-offset: 2px; }
.contact-form button { margin-top: 22px; border: 0; cursor: pointer; font: inherit; }

/* I testi editoriali sono giustificati; titoli, navigazione, comandi e dati
   tabellari conservano invece l'allineamento funzionale. */
.home-copy > p:not(.eyebrow), .page-intro > p:not(.eyebrow),
.work-deck, .description-panel, .catalog-index > p,
.catalog-card p, .work-card p, .research-card p:not(.eyebrow),
.archive-bridge p, .contact-intro p,
.legacy-content .card-body, .legacy-content .accordion-body { text-align: justify; text-justify: inter-word; hyphens: auto; }
.page-periodici-qim .legacy-content .card-body { hyphens: none; word-break: normal; overflow-wrap: normal; }
.page-periodici-qim .legacy-content #collapse1 > .list-group { margin: 0; padding: 0; list-style: none; }
.page-periodici-qim .legacy-content #collapse1 > .list-group > .list-group-item { margin: 0; padding: 0; border: 0; list-style: none; }
.page-periodici-qim .qim-unique-note { margin: 5px 0 16px; font-size: .78rem; line-height: 1.4; font-style: italic; }
.page-periodici-qim .qim-archive-controls { display: flex; justify-content: flex-end; gap: 10px; margin: 6px 0 4px; }
.page-periodici-qim .qim-archive-controls .primary-action { border: 0; font: inherit; cursor: pointer; }
.page-periodici-qim .qim-archive-shell { display: none; }
.page-periodici-qim .qim-archive-shell.open { display: block; }
.page-periodici-qim .legacy-content #accordionQIM .accordion-button,
.page-periodici-ad-magazine .legacy-content #accordionAD .accordion-button {
  padding: 7px 15px;
  min-height: 0;
  font-size: .78rem;
  line-height: 1.08;
}
.page-periodici-qim .legacy-content #accordionQIM .accordion-button > div,
.page-periodici-ad-magazine .legacy-content #accordionAD .accordion-button > div {
  display: block;
  flex: 1 1 auto;
  line-height: 1.08;
}
.page-periodici-qim .legacy-content #accordionQIM .accordion-button h5,
.page-periodici-ad-magazine .legacy-content #accordionAD .accordion-button h5 {
  margin: 0;
  padding: 0;
  font-size: 1.08rem;
  line-height: 1.08;
}
.page-periodici-ad-magazine .legacy-content #accordionAD {
  margin: 2px 0;
}
.page-periodici-ad-magazine .legacy-content #accordionAD.ad-accordion-normalized {
  margin-top: 30px;
}
.page-periodici-ad-magazine .legacy-content #accordionAD.ad-accordion-normalized > .accordion-item + .accordion-item {
  margin-top: 7px;
}
.page-periodici-qim .legacy-content #accordionQIM > .accordion-item + .accordion-item {
  margin-top: 7px;
}
.page-periodici-ad-magazine .legacy-content #accordionAD .accordion-header {
  margin: 0;
}
.page-periodici-qim .legacy-content #accordionQIM .accordion-header {
  margin: 0;
}
.page-periodici-qim .legacy-content #accordionQIM .accordion-button,
.page-periodici-ad-magazine .legacy-content #accordionAD .accordion-button {
  display: flex;
  align-items: center;
}
.page-periodici-qim .legacy-content #accordionQIM .accordion-button::after,
.page-periodici-ad-magazine .legacy-content #accordionAD .accordion-button::after {
  margin-left: auto;
}
.page-periodici-ad-magazine .legacy-content #accordionAD .ad-issue-lead {
  display: grid;
  grid-template-columns: minmax(210px, 257px) minmax(0, 1fr);
  gap: clamp(22px, 4vw, 42px);
  align-items: start;
  margin: 4px 0 22px;
}
.page-periodici-ad-magazine .legacy-content #accordionAD .ad-issue-cover,
.page-periodici-ad-magazine .legacy-content #accordionAD .ad-issue-cover img {
  display: block;
  float: none !important;
  width: 100%;
  max-width: 257px;
  margin: 0 !important;
}
.page-periodici-ad-magazine .legacy-content #accordionAD .ad-issue-copy {
  min-width: 0;
}
.page-periodici-ad-magazine .legacy-content #accordionAD .ad-issue-copy > small:first-of-type > div[align="left"] {
  margin: 0 0 18px;
  text-align: left !important;
}
.page-periodici-ad-magazine .legacy-content #accordionAD .ad-issue-body .table-scrollable {
  clear: both;
  width: 100%;
}
.page-periodici-ad-magazine .legacy-content #AD0 .accordion-body,
.page-periodici-ad-magazine .legacy-content #AD0 .ad-metadata-copy {
  text-align: justify !important;
  text-justify: inter-word;
}
.page-periodici-ad-magazine .legacy-content .ad-thumbnail-link {
  color: var(--ink);
  text-decoration: none;
}
.ad-thumbnail-page { padding: clamp(32px, 6vw, 72px) 0; }
.ad-thumbnail-page .archive-heading { margin-bottom: 16px; }
.ad-thumbnail-page .archive-heading p:last-child { color: var(--muted); }
.ad-thumbnail-actions { margin: 0 0 28px; }
.ad-thumbnail-actions .secondary-action { cursor: pointer; font: inherit; }
.ad-thumbnail-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(8px, 1.4vw, 18px);
  align-items: start;
}
.ad-thumbnail-grid figure {
  margin: 0;
  padding: 0;
  background: transparent;
}
.ad-thumbnail-grid img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
.page-periodici-ad-magazine .legacy-content #accordionAD + br {
  display: none;
}
.page-periodici-ad-magazine .legacy-content br:has(+ #accordionAD) {
  display: none;
}
@media (max-width: 760px) {
  .page-periodici-ad-magazine .legacy-content #accordionAD .ad-issue-lead {
    grid-template-columns: 1fr;
  }
  .page-periodici-ad-magazine .legacy-content #accordionAD .ad-issue-cover {
    margin: 0 auto !important;
  }
  .ad-thumbnail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.page-periodici-qim .legacy-content button[data-bs-target^="#collapseExample_"] { margin: 4px 5px 4px 0; }
.page-periodici-qim .legacy-content .collapse[id^="collapseExample_"] {
  display: none;
  margin: 12px 0 18px;
  padding: 18px;
  border: 1px solid var(--line);
  background: var(--surface);
}
.page-periodici-qim .legacy-content .collapse[id^="collapseExample_"].open { display: block; }
.page-periodici-qim .legacy-content .nav-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; }
.page-periodici-qim .legacy-content .nav-tabs .nav-link {
  border: 1px solid var(--line);
  padding: 7px 11px;
  background: var(--soft);
  color: var(--ink);
  cursor: pointer;
}
.page-periodici-qim .legacy-content .nav-tabs .nav-link.active { background: var(--panel-head); color: #fff; }
.page-periodici-qim .legacy-content .tab-content { padding-top: 12px; }
.page-periodici-qim .legacy-content .tab-content > .tab-pane { display: none; }
.page-periodici-qim .legacy-content .tab-content > .tab-pane.active { display: block; }
.page-periodici-qim .legacy-content .collapse[id^="collapseExample_"] video {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  background: #111;
}
.page-periodici-qim .legacy-content .qim-extract-link {
  display: inline-flex;
  align-items: start;
  gap: 7px;
  vertical-align: top;
}
.page-periodici-qim .legacy-content .qim-extract-arrow {
  padding-top: 10px;
}
.page-periodici-qim .legacy-content .qim-extract-link .pdf-reader-link {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  column-gap: 5px;
  align-items: baseline;
}
.page-periodici-qim .legacy-content .qim-extract-link .pdf-reader-link > img {
  grid-column: 1 / -1;
  grid-row: 1;
  display: block;
  float: none !important;
  margin: 10px 0 6px !important;
}
.page-periodici-qim .legacy-content .qim-extract-link .pdf-reader-link > b {
  grid-column: 1;
  grid-row: 2;
}
.page-periodici-qim .legacy-content .qim-extract-meta {
  grid-column: 2;
  grid-row: 2;
  white-space: nowrap;
}
.page-periodici-qim .legacy-content .qim-editorial-small {
  display: inline;
  font-size: .833rem;
  line-height: 1.65;
  font-style: italic;
}
.page-periodici-qim .legacy-content .qim-index-tail {
  display: block;
  margin: 0;
  font-size: .833rem;
  line-height: 1.03;
  font-style: italic;
  text-align: justify;
  text-justify: inter-word;
}
.page-periodici-qim .legacy-content .qim-index-tail br { display: none; }
.page-periodici-qim .legacy-content .accordion-body { font-size: 1rem; line-height: 1.65; }
.page-periodici-qim .legacy-content .accordion-body small { font-size: .95rem; }
.page-periodici-qim .legacy-content .accordion-body > div[align="left"] h5 {
  margin-bottom: 0;
}
.page-periodici-qim .legacy-content .accordion-body > div[align="left"] h5 + small {
  display: block;
  margin-top: 0;
}
.page-periodici-ad-magazine .legacy-content .accordion-body div[align="left"] h5 {
  margin-bottom: 0;
}
.page-periodici-ad-magazine .legacy-content .accordion-body div[align="left"] h5 + small {
  display: block;
  margin-top: 0;
}
.page-periodici-qim .legacy-content .qim-errata-note {
  margin: 28px 0 22px;
  padding: 2px 0 2px 16px;
  border-left: 2px solid var(--line);
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.45;
  text-align: justify;
}
.page-periodici-qim .legacy-content .qim-errata-heading {
  margin: 0 0 7px;
  color: var(--ink);
  font-size: .9rem;
}
.page-periodici-qim .legacy-content .qim-errata-meta { margin: 0 0 7px; }
.page-periodici-qim .legacy-content .qim-errata-note > p:last-child { margin: 0; }
.page-periodici-qim .legacy-content .qim-errata-note code {
  color: var(--ink);
  font-size: .95em;
}
.page-periodici-qim .legacy-content .qim-errata-note > br:first-of-type { display: none; }
.page-periodici-qim .legacy-content .accordion-body .table-scrollable { clear: both; width: 100%; margin: 18px 0 0; }
.page-periodici-qim .legacy-content .accordion-body table.table:has(img[src*="amazon" i]),
.page-periodici-ad-magazine .legacy-content .accordion-body table.table:has(img[src*="amazon" i]) {
  display: table;
  width: 100% !important;
  max-width: none;
  table-layout: fixed;
  overflow: visible;
}
.page-periodici-qim .legacy-content .accordion-body table.table:has(img[src*="amazon" i]) th,
.page-periodici-qim .legacy-content .accordion-body table.table:has(img[src*="amazon" i]) td,
.page-periodici-ad-magazine .legacy-content .accordion-body table.table:has(img[src*="amazon" i]) th,
.page-periodici-ad-magazine .legacy-content .accordion-body table.table:has(img[src*="amazon" i]) td {
  text-align: center;
  vertical-align: middle;
}
.page-periodici-qim .legacy-content .accordion-body table.table:has(img[src*="amazon" i]) h6,
.page-periodici-ad-magazine .legacy-content .accordion-body table.table:has(img[src*="amazon" i]) h6 {
  font-size: .9rem !important;
}
.page-periodici-qim .legacy-content .accordion-body table.table:has(img[src*="amazon" i]) tbody a,
.page-periodici-ad-magazine .legacy-content .accordion-body table.table:has(img[src*="amazon" i]) tbody a {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.page-periodici-qim .legacy-content .accordion-body table.table:has(img[src*="amazon" i]) tbody a > br,
.page-periodici-ad-magazine .legacy-content .accordion-body table.table:has(img[src*="amazon" i]) tbody a > br { display: none; }
.page-periodici-qim .legacy-content .accordion-body table.table:has(img[src*="amazon" i]) tbody img,
.page-periodici-ad-magazine .legacy-content .accordion-body table.table:has(img[src*="amazon" i]) tbody img {
  display: block;
  float: none !important;
  max-width: 100%;
  height: auto;
  margin: 7px auto !important;
}
.legacy-content table, .legacy-content th, .legacy-content td,
.eyebrow, .topbar, .sidebar, .footer, .pdf-reader-page > header,
.contact-form label, .contact-form .form-note { text-align: left; }

.pdf-reader-page { min-height: calc(100vh - 72px); padding: 32px 0 0; }
.pdf-reader-page > header { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 20px; }
.pdf-reader-page h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(1.6rem, 4vw, 3rem); font-weight: 400; }
.pdf-reader-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.pdf-reader-actions button { cursor: pointer; }
.pdf-reader-page iframe { display: block; width: 100%; height: calc(100vh - 205px); min-height: 620px; border: 1px solid var(--line); background: #525659; }
.archive-subtitle { display: block; margin-top: 7px; color: var(--muted); font-family: system-ui, sans-serif; font-size: .42em; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.archive-bridge { margin: 28px 0; padding: clamp(22px, 4vw, 38px); border: 1px solid var(--line); background: var(--soft); }
.archive-bridge h3 { margin-top: 0; }
.archive-bridge:not(.sonotipie-catalog) .primary-action { display: table; margin-left: auto; }
.catalog-link-only { display: flex; justify-content: flex-end; margin: 10px 0 16px; }
.archive-bridge.sonotipie-catalog { display: grid; grid-template-columns: minmax(120px, 210px) 1fr; gap: 28px; align-items: start; }
.archive-bridge.sonotipie-catalog img { margin: 0; }
.sonotipie-catalog-media { min-width: 0; }
.legacy-content .amazon-links { display: table; width: 100%; max-width: 480px; margin: 18px 0 0; table-layout: fixed; overflow: visible; }
.legacy-content .amazon-links th, .legacy-content .amazon-links td { padding: 6px 4px; text-align: center; vertical-align: middle; }
.legacy-content .amazon-links th { font-size: .72rem; font-weight: 500; }
.legacy-content .amazon-links a { display: flex; justify-content: center; align-items: center; }
.legacy-content .amazon-links img { display: block; width: 150px; max-width: 100%; height: auto; margin: 0 auto; }

.page-pubblicazioni-opere-uniche .sonotipie-video-panel { padding: 20px; }
.page-pubblicazioni-opere-uniche .sonotipie-video-panel > br:first-child { display: none; }
.page-pubblicazioni-opere-uniche .sonotipie-video-card {
  display: block;
  min-width: 0;
  margin: 0 0 22px;
  border: 1px solid var(--line);
  background: var(--surface);
}
.page-pubblicazioni-opere-uniche .sonotipie-video-card:last-child { margin-bottom: 0; }
.page-pubblicazioni-opere-uniche .sonotipie-video-layout {
  display: grid;
  grid-template-columns: minmax(280px, 42%) minmax(0, 1fr);
  align-items: stretch;
}
.page-pubblicazioni-opere-uniche .sonotipie-video-media { padding: 18px; }
.page-pubblicazioni-opere-uniche .sonotipie-video-data {
  min-width: 0;
  border-left: 1px solid var(--line);
}
.page-pubblicazioni-opere-uniche .legacy-content .sonotipie-video-table {
  display: table;
  width: 100%;
  margin: 0;
  table-layout: fixed;
  overflow: visible;
  background: var(--surface);
  font-size: .78rem;
}
.page-pubblicazioni-opere-uniche .sonotipie-video-table td,
.page-pubblicazioni-opere-uniche .sonotipie-video-table th { padding: 7px 8px; }
.page-pubblicazioni-opere-uniche .sonotipie-video-title {
  display: block;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  background: var(--panel-head);
  color: #fff;
  text-align: center;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .92rem;
  line-height: 1.35;
}
.page-pubblicazioni-opere-uniche .sonotipie-video-title > small {
  display: block;
  margin-top: 3px;
  color: inherit;
  font-family: inherit;
  font-size: .72rem;
  font-weight: 400;
}
.page-pubblicazioni-opere-uniche .sonotipie-video-media .embed-responsive,
.page-pubblicazioni-opere-uniche .sonotipie-video-media .sonotipie-local-video,
.page-pubblicazioni-opere-uniche .sonotipie-video-media .deferred-media {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.page-pubblicazioni-opere-uniche .sonotipie-video-media .sonotipie-local-video {
  position: relative;
  overflow: hidden;
  background: #111;
}
.page-pubblicazioni-opere-uniche .sonotipie-video-media .deferred-media {
  min-height: 0;
  margin: 0;
}
.page-pubblicazioni-opere-uniche .sonotipie-video-media .deferred-media iframe {
  width: 100%;
  height: 100%;
  min-height: 0;
}
.page-pubblicazioni-opere-uniche .legacy-content .sonotipie-video-media video {
  display: block;
  float: none;
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  object-fit: contain;
  background: #111;
}
.page-pubblicazioni-opere-uniche .legacy-content .sonotipie-video-media video[hidden] {
  display: none !important;
}
video.deferred-local-video[hidden] { display: none !important; }
.page-pubblicazioni-opere-uniche .sonotipie-video-media .embed-responsive > .media-preview-button {
  width: 100%;
  height: 100%;
}
.page-pubblicazioni-opere-uniche .sonotipie-video-media .sonotipie-local-video > .media-preview-button {
  width: 100%;
  height: 100%;
}
.page-pubblicazioni-opere-uniche .sonotipie-video-table audio {
  width: 100%;
  margin: 8px 0;
}

.lightbox { width: min(96vw, 1500px); height: min(94vh, 1100px); border: 0; padding: 44px 20px 20px; background: #17191a; color: #fff; }
.lightbox::backdrop { background: rgba(0,0,0,.82); }
.lightbox img { width: 100%; height: calc(100% - 35px); object-fit: contain; }
.lightbox button { position: absolute; top: 6px; right: 12px; border: 0; background: transparent; color: #fff; font-size: 2rem; cursor: pointer; }
.lightbox p { margin: 7px 0 0; color: #c6c8c9; text-align: center; font-size: .75rem; }
.catalog-cover.image-zoom { cursor: zoom-in; }

@media (max-width: 1180px) {
  .compact-grid { grid-template-columns: repeat(2, 1fr); }
  .home-hero { padding-left: 0; padding-right: 0; }
}

@media (max-width: 1458px) {
  .legacy-content .biography-research-background { display: none; }
}

@media (max-width: 900px) {
  .layout { display: block; }
  .sidebar { position: fixed; left: 0; transform: translateX(-100%); width: var(--sidebar-width); transition: transform .25s ease; }
  .menu-open .sidebar { transform: translateX(0); }
  .content { padding: 0 18px; }
  .menu-button { display: inline-block; }
  .home-hero { grid-template-columns: 1fr; min-height: auto; }
  .home-hero { grid-template-areas: "intro" "photo" "body"; }
  .home-hero figure { max-width: 600px; }
  .architecture-strip { grid-template-columns: 1fr; }
  .architecture-strip div + div { border-left: 0; border-top: 1px solid var(--line); }
  .metadata-card dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metadata-card dl > .metadata-wide,
  .metadata-card dl > .metadata-full { grid-column: 1 / -1; }
  .catalog-hero { grid-template-columns: 1fr; }
  .catalog-hero-cover { max-width: 300px; }
}

@media (max-width: 680px) {
  .prototype-badge { display: none; }
  .theme-button { font-size: 0; padding: 9px; }
  .theme-button::after { content: "◐"; font-size: 1rem; }
  .catalog-index-cover {
    float: none;
    width: min(100%, 300px);
    margin: 0 auto 24px;
  }
  .top-link { margin-left: auto; font-size: .8rem; }
  .work-heading h1 { font-size: 2rem; }
  .metadata-card dl { grid-template-columns: 1fr; }
  .metadata-card dl > .metadata-wide,
  .metadata-card dl > .metadata-full { grid-column: 1; }
  .home-hero { padding-top: 35px; gap: 35px; }
  .filters { grid-template-columns: 1fr; }
  .work-grid, .compact-grid { grid-template-columns: 1fr; }
  .catalog-grid { grid-template-columns: 1fr; }
  .catalog-card { grid-template-columns: 100px 1fr; gap: 16px; padding: 15px; }
  .catalog-cover { min-height: 140px; }
  .research-card { grid-template-columns: 1fr; }
  .research-card > img { max-height: 230px; }
  .issue-grid { grid-template-columns: 1fr; }
  .media-panel:not(details) { grid-template-columns: 1fr; }
  .resource-list > a { align-items: start; font-size: .78rem; }
  .resource-list a span:first-child { grid-template-columns: 1fr; gap: 3px; }
  .resource-list em { grid-column: 1; margin-top: 0; }
  .footer { align-items: start; flex-direction: column; justify-content: center; }
  .legacy-content .image-zoom { display: block; }
  .legacy-content .image-zoom img { margin: 12px auto; }
  .legacy-content img.legacy-image-left, .legacy-content img.legacy-image-right,
  .legacy-content a:has(> img.legacy-image-left), .legacy-content a:has(> img.legacy-image-right) { display: block; float: none; margin: 18px auto; }
  .page-biografia .legacy-content .card:nth-of-type(3) .card-body::before { display: none; }
  .legacy-content .biography-home-portrait { float: none; width: min(100%, 560px); margin: 0 auto 24px; }
  .legacy-content .biography-research-background { display: none; }
  .lirm-opening-logo-frame { width: min(220px, 58%); height: auto; margin-right: 20px; }
  .legacy-content .lirm-opening-logo { width: 100%; height: auto; }
  .legacy-content .lirm-colour-portrait { width: 100%; }
  .page-biografia-evs .legacy-content .card-body > div:has(> video) { float: none; width: 100%; margin: 18px 0; }
  .page-pubblicazioni-opere-uniche .legacy-content video { float: none; width: 100%; max-height: 380px; margin: 0 0 16px; }
  .page-pubblicazioni-musicxii .legacy-content .row, .page-pubblicazioni-ricerca-musicale .legacy-content .row,
  .page-pubblicazioni-ricerca-musicale .legacy-content .accordion-body > .row:first-of-type { grid-template-columns: 1fr; }
  .pdf-reader-page > header { align-items: start; flex-direction: column; }
  .archive-bridge.sonotipie-catalog { grid-template-columns: 1fr; }
  .page-pubblicazioni-opere-uniche .sonotipie-video-panel { padding: 14px; }
  .page-pubblicazioni-opere-uniche .sonotipie-video-layout { grid-template-columns: 1fr; }
  .page-pubblicazioni-opere-uniche .sonotipie-video-data { border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 560px) {
  .contact-intro::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* I simboli delle risorse Sonemi restano affiancati alle informazioni anche
   quando le immagini editoriali passano alla disposizione mobile. */
.page-pubblicazioni-sonemi .legacy-content img[src*="altoparlante.png"],
.page-pubblicazioni-sonemi .legacy-content img[src*="logo_youtube"] {
  display: inline-block;
  float: none;
  width: auto;
  max-width: none;
  height: auto;
  margin: 0 .5rem 0 0;
  vertical-align: middle;
}
.page-pubblicazioni-sonemi .legacy-content img[src*="altoparlante.png"] + i {
  white-space: nowrap;
}

/* In MusicXII > Studi l'icona identifica il file audio: resta quindi sulla
   stessa riga, a sinistra di formato e dimensione, anche nella vista stretta. */
.page-pubblicazioni-musicxii .legacy-content img[src*="altoparlante.png"] {
  display: inline-block;
  float: none;
  width: auto;
  max-width: none;
  height: auto;
  margin: 0 .5rem 0 0;
  vertical-align: middle;
}
.page-pubblicazioni-musicxii .legacy-content img[src*="altoparlante.png"] + i {
  white-space: nowrap;
}

/* In Didattica > Microvar l'altoparlante e i dati del file MP3 costituiscono
   un'unica indicazione e non devono separarsi nelle finestre strette. */
.page-pubblicazioni-ricerca-musicale #flush-collapse30c img[src*="altoparlante.png"] {
  display: inline-block;
  float: none;
  width: auto;
  max-width: none;
  height: auto;
  margin: 0 .5rem 0 0;
  vertical-align: middle;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30c img[src*="altoparlante.png"] + i {
  white-space: nowrap;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30c .microvar-audio-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .65rem;
  width: 100%;
  margin: .5rem 0 0;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30c .microvar-audio-row img[src*="altoparlante.png"] {
  display: block;
  float: none !important;
  width: 20px;
  height: 20px;
  max-width: none;
  margin: 0 !important;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30c .microvar-audio-row .legacy-audio {
  width: 100%;
  min-width: 0;
  margin: 0;
}

/* Anche in Ricerca Musicale > Divertimenti l'icona audio resta a sinistra
   delle informazioni MP3 in ogni larghezza della finestra. */
.page-pubblicazioni-ricerca-musicale #flush-collapse30d img[src*="altoparlante.png"] {
  display: block;
  float: none;
  width: auto;
  max-width: none;
  height: auto;
  margin: .35rem auto .35rem 0;
  vertical-align: middle;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30d img[src*="altoparlante.png"] + i {
  white-space: nowrap;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30d .divertimenti-audio-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .65rem;
  width: 100%;
  margin: 1rem 0 0;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30d .divertimenti-audio-row img[src*="altoparlante.png"] {
  margin: 0;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30d .divertimenti-audio-row .legacy-audio {
  width: 100%;
  min-width: 0;
  margin: 0;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30d .card-body:has(> .divertimenti-audio-row) {
  padding-bottom: 6px;
}
.page-pubblicazioni-ricerca-musicale #flush-collapse30d .card:has(> .card-body > .divertimenti-audio-row) + br {
  display: none;
}

/* Ricerca Musicale > Prove d'orchestra: simbolo e lettore formano un'unica
   riga fluida, con il simbolo sempre ancorato sul lato sinistro. */
.page-pubblicazioni-ricerca-musicale .orchestra-audio-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .65rem;
  width: 100%;
  margin: 1rem 0 0;
}
.page-pubblicazioni-ricerca-musicale .orchestra-audio-row img[src*="altoparlante.png"] {
  display: block;
  float: none !important;
  width: 20px;
  height: 20px;
  max-width: none;
  margin: 0 !important;
}
.page-pubblicazioni-ricerca-musicale .orchestra-audio-row .legacy-audio {
  width: 100%;
  min-width: 0;
  margin: 0;
}

/* Schede delle tre opere Modali Pentatonali in Tritono: lo stesso impianto
   leggibile dei video di Opere Uniche, senza perdere metadati o Luogo Digitale. */
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-cards {
  display: grid;
  gap: 24px;
  width: 100%;
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .row {
  display: block;
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card {
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--surface);
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card-title {
  display: grid;
  gap: 4px;
  padding: 14px 20px;
  background: var(--panel-head);
  color: #fff;
  text-align: left;
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card-title > b {
  font-size: 1.05rem;
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card-title > small {
  color: #fff;
  font-size: .88rem;
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card-media,
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card-data {
  min-width: 0;
  padding: 20px;
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card-media {
  display: grid;
  align-content: start;
  gap: 18px;
  border-bottom: 1px solid var(--line);
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card-media .image-zoom,
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card-media img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card-media .legacy-audio {
  width: 100%;
  min-width: 0;
  margin: 0;
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card-data > div {
  text-align: left;
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card-data table {
  display: table;
  width: 100%;
  table-layout: fixed;
  overflow: visible;
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-card-data td {
  overflow-wrap: anywhere;
  vertical-align: top;
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-digital-place {
  margin: 16px 0 0;
  text-align: right;
}
.page-pubblicazioni-ricerca-musicale #sub-collapse3 .mpt-digital-place::before {
  content: "→ ";
}


