@font-face {
  font-family:'FIMAG Space Grotesk';
  src:url('../fonts/SpaceGrotesk.woff2') format('woff2');
  font-style:normal;
  font-weight:300 700;
  font-display:swap
}

:root {
  --paper:#fff;
  --soft:#f8f7f4;
  --ink:#171716;
  --muted:#64645f;
  --line:#d8d8d3;
  --accent:#aa2254;
  --font-display-extra:'rocky-compressed',sans-serif;
  --font-display:'rocky-compressed',sans-serif;
  --font-body:'FIMAG Space Grotesk',sans-serif;
  --fs-display-xl:clamp(5rem,9vw,9rem);
  --fs-h1:clamp(3.5rem,7.5vw,7rem);
  --fs-h2:clamp(2.25rem,4vw,4rem);
  --fs-h3:clamp(1.5rem,2.4vw,2.25rem);
  --fs-lead:clamp(1.125rem,1.5vw,1.4rem);
  --fs-body:1rem;
  --fs-small:.875rem;
  --space-1:16px;
  --space-2:24px;
  --space-3:40px;
  --space-4:64px;
  --space-5:96px
}

body.fimag26-preview {
  --accent:#d62974
}

*,*::before,*::after {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:96px
}

body.fimag27 {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:400 var(--fs-body)/1.55 var(--font-body)
}

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

.fimag27 a {
  color:inherit;
  text-decoration:none
}

.fimag27 a:hover {
  color:var(--accent)
}

.fimag27 button,.fimag27 input {
  font:inherit
}

.fimag27 :focus-visible {
  outline:3px solid var(--accent);
  outline-offset:4px
}

.fimag27 .wrap {
  width:min(calc(100% - 48px),1320px);
  margin-inline:auto
}

.fimag27 .skip-link {
  position:absolute;
  top:-100px;
  left:16px;
  z-index:1000;
  background:var(--ink);
  color:#fff;
  padding:12px 18px
}

.fimag27 .skip-link:focus {
  top:12px
}

.fimag27 .site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:var(--paper);
  border-bottom:1px solid var(--line)
}

.fimag27.admin-bar .site-header {
  top:32px
}

.fimag27 .site-header__inner {
  display:flex;
  align-items:center;
  min-height:76px;
  gap:clamp(20px,3vw,48px)
}

.fimag27 .site-brand {
  font:400 36px/1 var(--font-display-extra);
  letter-spacing:-.04em;
  white-space:nowrap;
  color:var(--ink)!important
}

.fimag27 .site-brand span {
  font:600 var(--fs-small)/1 var(--font-body);
  letter-spacing:0;
  color:var(--accent);
  vertical-align:top;
  margin-left:3px
}

.fimag27 .site-nav {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(14px,1.7vw,30px);
  margin-left:auto
}

.fimag27 .site-nav a {
  font-size:var(--fs-small);
  font-weight:600;
  white-space:nowrap
}

.fimag27 .site-header__actions {
  display:flex;
  align-items:center;
  gap:18px
}

.fimag27 .site-lang {
  font-size:12px;
  font-weight:600;
  border-left:1px solid var(--line);
  padding-left:16px;
  white-space:nowrap
}

.fimag27 .button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 22px;
  border:1px solid var(--accent);
  font-family:var(--font-body);
  font-weight:600;
  font-size:var(--fs-small);
  line-height:1.2;
  transition:background .16s,color .16s,border-color .16s;
  white-space:nowrap
}

.fimag27 .button--accent {
  background:var(--accent);
  color:#fff!important
}

.fimag27 .button--accent:hover {
  background:#81183e;
  border-color:#81183e;
  color:#fff!important
}

.fimag27 .button--outline {
  background:transparent;
  color:var(--accent)!important
}

.fimag27 .button--outline:hover {
  background:var(--accent);
  color:#fff!important
}

.fimag27 .button--muted,.fimag27 .is-disabled {
  border-color:var(--line);
  background:var(--soft);
  color:var(--muted)!important;
  cursor:default
}

.fimag27 .site-menu-toggle {
  display:none;
  width:44px;
  height:44px;
  padding:0;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  border:0;
  background:transparent;
  cursor:pointer
}

.fimag27 .site-menu-toggle span {
  width:22px;
  height:2px;
  background:var(--ink);
  transition:transform .16s
}

.fimag27 .site-menu-toggle[aria-expanded=true] span:first-child {
  transform:translateY(4px) rotate(45deg)
}

.fimag27 .site-menu-toggle[aria-expanded=true] span:last-child {
  transform:translateY(-4px) rotate(-45deg)
}

.fimag27 .eyebrow {
  margin:0 0 12px;
  color:var(--accent);
  font-size:12px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase
}

.fimag27 h1,.fimag27 h2,.fimag27 h3 {
  color:var(--ink);
  font-weight:700
}

.fimag27 .hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(40px,5vw,88px);
  align-items:center;
  padding-block:var(--space-4)
}

.fimag27 .hero__text {
  max-width:650px
}

.fimag27 .hero h1 {
  font:900 var(--fs-display-xl)/.9 var(--font-display-extra);
  letter-spacing:-.02em;
  margin:0 0 30px
}

.fimag27 .hero h1 em {
  font-style:normal;
  color:var(--accent)
}

.fimag27 .hero h1 span {
  display:block;
  font:700 var(--fs-h2)/.96 var(--font-display-extra);
  letter-spacing:-.01em;
  margin-top:28px
}

.fimag27 .hero__description {
  font-size:var(--fs-lead);
  line-height:1.5;
  margin:0 0 30px
}

.fimag27 .hero__description strong {
  font-weight:600
}

.fimag27 .hero__actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px
}

.fimag27 .hero__visual {
  position:relative;
  min-height:560px;
  margin:0;
  overflow:hidden;
  background:var(--soft)
}

.fimag27 .hero__visual img {
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover
}

.fimag27 .hero__visual--poster {
  background:#fdca4f
}

.fimag27 .hero__visual--poster img {
  object-fit:contain
}

.fimag27 .hero__visual--placeholder {
  display:grid;
  place-items:center;
  border:1px solid var(--line)
}

.fimag27 .hero__visual--placeholder>span {
  font:400 clamp(80px,11vw,160px)/1 var(--font-display-extra);
  color:var(--accent);
  opacity:.25
}

.fimag27 .hero__visual figcaption {
  position:absolute;
  left:20px;
  bottom:16px;
  color:var(--muted);
  font-size:13px
}

.fimag27 .facts {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink)
}

.fimag27 .facts div {
  display:flex;
  align-items:baseline;
  gap:12px;
  padding:24px 18px 24px 0
}

.fimag27 .facts div+div {
  border-left:1px solid var(--line);
  padding-left:25px
}

.fimag27 .facts strong {
  font:700 var(--fs-h2)/.96 var(--font-display-extra);
  letter-spacing:-.01em
}

.fimag27 .facts span {
  font-size:15px
}

.fimag27 .home-section {
  padding-top:var(--space-5)
}

.fimag27 .section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:32px
}

.fimag27 .section-heading h2,.fimag27 .pro-section h2,.fimag27 .show-copy h2,.fimag27 .show-sessions h2,.fimag27 .show-artists h2,.fimag27 .related-shows h2,.fimag27 .profile-copy h2,.fimag27 .plan-section h2 {
  font:700 var(--fs-h2)/.96 var(--font-display-extra);
  letter-spacing:-.01em;
  margin:0
}

.fimag27 .text-link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:14px;
  font-weight:600;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
  width:max-content;
  max-width:100%
}

.fimag27 .text-link span {
  font-size:18px;
  font-weight:400
}

.fimag27 .featured-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px
}

.fimag27 .featured-show {
  min-width:0
}

.fimag27 .featured-show__image {
  display:block;
  aspect-ratio:4/5;
  background:var(--soft);
  overflow:hidden;
  margin-bottom:18px
}

.fimag27 .featured-show__image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .2s
}

.fimag27 .featured-show__image:hover img {
  transform:scale(1.025)
}

.fimag27 .featured-show h3,.fimag27 .artist-card h2,.fimag27 .related-grid h3 {
  font:700 var(--fs-h3)/.96 var(--font-display);
  letter-spacing:-.01em;
  margin:0 0 7px
}

.fimag27 .featured-show p {
  margin:0 0 6px
}

.fimag27 .featured-show__title {
  font-size:var(--fs-body);
  line-height:1.45
}

.fimag27 .featured-show .eyebrow {
  margin-bottom:7px
}

.fimag27 .featured-show__meta {
  font-size:13px;
  color:var(--muted)
}

.fimag27 .day-tabs {
  display:flex;
  align-items:center;
  gap:0;
  border-bottom:1px solid var(--ink);
  overflow-x:auto
}

.fimag27 .day-tabs a {
  flex:0 0 auto;
  min-width:90px;
  text-align:center;
  padding:15px 22px;
  color:var(--muted);
  font-weight:600;
  border-bottom:3px solid transparent;
  white-space:nowrap
}

.fimag27 .day-tabs a:hover,.fimag27 .day-tabs a[aria-current] {
  color:var(--accent);
  border-color:var(--accent)
}

.fimag27 .program-list {
  border-bottom:1px solid var(--line)
}

.fimag27 .program-row {
  display:grid;
  grid-template-columns:78px 110px minmax(0,1fr) 160px 95px;
  align-items:center;
  gap:22px;
  padding:18px 0;
  border-top:1px solid var(--line)
}

.fimag27 .program-row__time {
  font-weight:600;
  white-space:nowrap
}

.fimag27 .program-row__image {
  display:block;
  aspect-ratio:4/3;
  background:var(--soft)
}

.fimag27 .program-row__image img {
  width:100%;
  height:100%;
  object-fit:cover
}

.fimag27 .program-row__main .eyebrow {
  margin-bottom:3px
}

.fimag27 .program-row__main h3 {
  font:700 var(--fs-h3)/.96 var(--font-display);
  letter-spacing:-.01em;
  margin:0 0 3px
}

.fimag27 .program-row__main p:last-child {
  margin:0;
  font-size:14px
}

.fimag27 .program-row__meta {
  display:grid;
  gap:5px;
  font-size:14px;
  min-width:0;
  overflow-wrap:anywhere
}

.fimag27 .packs-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px
}

.fimag27 .pack-card {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  min-height:175px;
  border-top:2px solid var(--accent);
  background:var(--soft);
  padding:22px;
  font-weight:600
}

.fimag27 .pack-card strong {
  margin-top:auto;
  font:700 var(--fs-h3)/1 var(--font-display)
}

.fimag27 .pack-card span:last-child {
  color:var(--accent)
}

.fimag27 .program-row__meta span {
  color:var(--muted)
}

.fimag27 .program-row__action {
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
  text-align:right;
  color:var(--accent)!important
}

.fimag27 .program-row__action.is-muted {
  color:var(--muted)!important
}

.fimag27 .empty-state {
  margin:0;
  padding:40px 0;
  color:var(--muted);
  border-top:1px solid var(--line)
}

.fimag27 .visit-links {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--line)
}

.fimag27 .visit-links a {
  display:flex;
  align-items:center;
  gap:18px;
  min-height:96px;
  font-size:20px;
  border-right:1px solid var(--line);
  padding:20px 24px 20px 0
}

.fimag27 .visit-links a:not(:first-child) {
  padding-left:24px
}

.fimag27 .visit-links a:last-child {
  border-right:0
}

.fimag27 .visit-links span {
  font-size:23px;
  color:var(--accent)
}

.fimag27 .pro-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  border-top:1px solid var(--ink);
  padding-block:var(--space-4);
  margin-top:var(--space-5)
}

.fimag27 .pro-section p:not(.eyebrow) {
  font-size:20px;
  margin:0 0 24px
}

.fimag27 .pro-section .text-link+.text-link {
  margin:16px 0 0
}

.fimag27 .site-footer {
  background:var(--soft);
  border-top:1px solid var(--line);
  margin-top:var(--space-4);
  padding-block:var(--space-4) 24px
}

.fimag27 .site-footer__top {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:24px;
  padding-bottom:var(--space-4)
}

.fimag27 .site-footer__top p {
  margin:0;
  font-size:14px
}

.fimag27 .site-footer__links {
  display:flex;
  justify-content:space-between;
  gap:48px;
  border-top:1px solid var(--line);
  padding-top:var(--space-2)
}

.fimag27 .site-footer__links nav {
  display:flex;
  flex-wrap:wrap;
  gap:12px 25px
}

.fimag27 .site-footer__links a,.fimag27 .site-footer__bottom a {
  font-size:14px
}

.fimag27 .site-footer__bottom {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-top:var(--space-4);
  font-size:13px;
  color:var(--muted)
}

.fimag27 .site-footer__bottom p {
  max-width:360px;
  margin:0
}

.fimag27 .inner-page {
  padding-block:var(--space-4) var(--space-5);
  min-height:65vh
}

.fimag27 .page-intro {
  max-width:760px;
  margin-bottom:var(--space-4)
}

.fimag27 .page-intro h1,.fimag27 .show-hero h1,.fimag27 .profile-hero h1 {
  font:900 var(--fs-h1)/.9 var(--font-display-extra);
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
  margin:0 0 22px
}

.fimag27 .page-intro>p:not(.eyebrow) {
  font-size:var(--fs-lead);
  margin:0;
  max-width:700px
}

.fimag27 .edition-overview__hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);
  gap:var(--space-4);
  align-items:center;
  margin-bottom:var(--space-5)
}

.fimag27 .edition-overview__hero figure { margin:0 }
.fimag27 .edition-overview__hero img { width:100%;height:auto;display:block }
.fimag27 .edition-overview__actions { display:flex;flex-wrap:wrap;gap:12px;margin-top:30px }
.fimag27 .edition-overview__tickets>p { max-width:640px;margin:0 0 24px }

.fimag27 .program-page .day-tabs {
  margin-bottom:18px
}

.fimag27 .program-filters {
  display:flex;
  flex-wrap:wrap;
  gap:6px 24px;
  padding:7px 0 30px
}

.fimag27 .program-filters a {
  font-size:13px;
  color:var(--muted);
  border-bottom:1px solid transparent;
  padding:6px 0
}

.fimag27 .program-filters a:hover,.fimag27 .program-filters a[aria-current] {
  color:var(--accent);
  border-color:var(--accent)
}

.fimag27 .program-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  gap:var(--space-4)
}

.fimag27 .program-date {
  font:700 var(--fs-h3)/1 var(--font-display);
  margin:0 0 20px;
  text-transform:capitalize
}

.fimag27 .program-page .program-row {
  grid-template-columns:70px 90px minmax(0,1fr) 120px 75px;
  gap:16px
}

.fimag27 .day-agenda {
  border-left:1px solid var(--line);
  padding-left:24px
}

.fimag27 .day-agenda h2 {
  font:700 var(--fs-h3)/1 var(--font-display);
  margin:0 0 20px
}

.fimag27 .day-agenda ol {
  list-style:none;
  padding:0;
  margin:0
}

.fimag27 .day-agenda li {
  display:grid;
  grid-template-columns:54px 1fr;
  gap:10px;
  padding:10px 0;
  border-top:1px solid var(--line);
  font-size:13px
}

.fimag27 .day-agenda time {
  font-weight:600;
  color:var(--accent)
}

.fimag27 .breadcrumbs {
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin:0 0 30px;
  font-size:13px;
  color:var(--muted)
}

.fimag27 .show-hero,.fimag27 .profile-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
  gap:var(--space-4);
  align-items:start
}

.fimag27 .show-hero__text {
  padding-top:12px
}

.fimag27 .show-hero__artist,.fimag27 .profile-hero__descriptor {
  font:700 var(--fs-h3)/1 var(--font-display);
  margin:0 0 24px
}

.fimag27 .show-hero__excerpt {
  max-width:640px;
  font:400 var(--fs-lead)/1.5 var(--font-body);
  margin:0
}

.fimag27 .show-hero__image,.fimag27 .profile-hero figure {
  margin:0;
  background:var(--soft)
}

.fimag27 .show-hero__image img,.fimag27 .profile-hero img {
  width:100%;
  max-height:650px;
  object-fit:cover
}

.fimag27 .show-facts {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--line);
  gap:16px;
  margin:var(--space-4) 0 24px;
  padding:22px 0
}

.fimag27 .show-facts div {
  min-width:0
}

.fimag27 .show-facts dt {
  color:var(--muted);
  font-size:12px;
  margin-bottom:5px
}

.fimag27 .show-facts dd {
  margin:0;
  font-size:15px;
  font-weight:600
}

.fimag27 .show-actions {
  display:flex;
  align-items:center;
  gap:26px;
  margin:0 0 var(--space-5)
}

.fimag27 .show-copy {
  margin:var(--space-5) 0
}

.fimag27 .show-copy h2,.fimag27 .show-sessions h2,.fimag27 .show-artists h2,.fimag27 .related-shows h2 {
  margin-bottom:30px
}

.fimag27 .prose {
  max-width:65ch;
  font-size:18px;
  line-height:1.6
}

.fimag27 .prose p {
  margin:0 0 22px
}

.fimag27 .prose a {
  text-decoration:underline;
  text-underline-offset:3px
}

.fimag27 .prose--legacy {
  max-width:none
}

/* Keep the historical Elementor layouts while aligning their typography. */
.fimag27 .prose--legacy h1.elementor-heading-title {
  font-family:var(--font-display-extra);
  font-weight:900;
  line-height:.9;
  letter-spacing:-.02em
}

.fimag27 .prose--legacy h2.elementor-heading-title {
  /* Elementor's per-page selector has higher specificity. */
  font-family:var(--font-display) !important;
  font-weight:700;
  line-height:.96;
  letter-spacing:-.01em
}

.fimag27 .prose--legacy h3.elementor-heading-title {
  font-family:var(--font-display);
  font-weight:700;
  line-height:.96;
  letter-spacing:-.01em
}

.fimag27 .show-sessions,.fimag27 .show-artists,.fimag27 .related-shows,.fimag27 .profile-copy {
  padding-top:var(--space-4);
  border-top:1px solid var(--line);
  margin-top:var(--space-5)
}

.fimag27 .table-scroll {
  overflow-x:auto
}

.fimag27 table {
  border-collapse:collapse;
  width:100%;
  text-align:left;
  min-width:650px
}

.fimag27 th,.fimag27 td {
  padding:17px 15px 17px 0;
  border-bottom:1px solid var(--line);
  vertical-align:top
}

.fimag27 th {
  font-size:12px;
  color:var(--muted);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.08em
}

.fimag27 td a {
  color:var(--accent)
}

.fimag27 .artist-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:40px
}

.fimag27 .artist-summary {
  display:grid;
  grid-template-columns:130px 1fr;
  gap:24px
}

.fimag27 .artist-summary img {
  width:130px;
  height:150px;
  object-fit:cover
}

.fimag27 .artist-summary h3 {
  font:700 var(--fs-h3)/.96 var(--font-display);
  margin:0 0 10px
}

.fimag27 .artist-summary p {
  margin:0 0 12px
}

.fimag27 .related-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}

.fimag27 .related-grid img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  margin-bottom:15px
}

.fimag27 .related-grid .eyebrow {
  margin-bottom:4px
}

.fimag27 .search-form {
  max-width:650px;
  margin-bottom:var(--space-4)
}

.fimag27 .search-form label {
  display:block;
  font-weight:600;
  margin-bottom:10px
}

.fimag27 .search-form>div {
  display:flex;
  border-bottom:1px solid var(--ink)
}

.fimag27 .search-form input {
  min-width:0;
  flex:1;
  border:0;
  padding:13px 0;
  outline-offset:3px
}

.fimag27 .search-form button {
  border:0;
  background:transparent;
  font-weight:600;
  cursor:pointer;
  color:var(--accent)
}

.fimag27 .artists-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:40px 24px
}

.fimag27 .artist-card__image {
  aspect-ratio:4/5;
  background:var(--soft);
  margin-bottom:15px;
  overflow:hidden
}

.fimag27 .artist-card__image img {
  width:100%;
  height:100%;
  object-fit:cover
}

.fimag27 .artist-card h2 {
  margin-bottom:4px
}

.fimag27 .artist-card p {
  margin:0 0 10px;
  color:var(--muted)
}

.fimag27 .artist-card .text-link {
  font-size:13px
}

.fimag27 .section-nav {
  display:flex;
  flex-wrap:wrap;
  gap:10px 30px;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--line);
  padding:18px 0
}

.fimag27 .section-nav a {
  font-weight:600;
  font-size:14px
}

.fimag27 .plan-section {
  padding:var(--space-4) 0;
  border-bottom:1px solid var(--line)
}

.fimag27 .plan-section h2 {
  margin-bottom:24px
}

.fimag27 .plan-section>p {
  max-width:720px;
  font-size:18px
}

.fimag27 .plan-map {
  width:min(100%,820px);
  height:auto;
  margin:0 auto var(--space-4)
}

.fimag27 .venue-shows {
  margin-top:var(--space-4)
}

.fimag27 .venue-shows h3 {
  font:700 var(--fs-h3)/1 var(--font-display);
  margin:0 0 24px
}

.fimag27 .venue-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px 32px
}

.fimag27 .venue-list article {
  border-top:1px solid var(--line);
  padding-top:18px
}

.fimag27 .venue-list h3 {
  font:700 var(--fs-h3)/1 var(--font-display);
  margin:0 0 6px
}

.fimag27 .venue-list p {
  margin:0;
  color:var(--muted);
  font-size:14px
}

.fimag27 .history-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-4) 24px
}

.fimag27 .history-card {
  display:grid;
  grid-template-columns:110px 1fr;
  gap:18px;
  border-top:1px solid var(--line);
  padding-top:20px
}

.fimag27 .history-card img {
  width:110px;
  aspect-ratio:2/3;
  object-fit:cover
}

.fimag27 .history-card h2 {
  font:700 var(--fs-h2)/.96 var(--font-display-extra);
  margin:0 0 4px
}

.fimag27 .history-card p {
  font-size:14px;
  margin:0 0 12px
}

.fimag27 .history-card a {
  display:table;
  margin:8px 0;
  font-size:13px
}

.fimag27 .edition-poster {
  max-width:600px;
  margin:0 0 var(--space-4)
}

.fimag27 .edition-actions {
  display:flex;
  gap:25px;
  margin-top:32px
}

.fimag27 .simple-list article {
  border-top:1px solid var(--line);
  padding:24px 0
}

.fimag27 .simple-list h2 {
  font:700 var(--fs-h2)/.96 var(--font-display-extra);
  margin:0 0 8px
}

@media(max-width:1150px) {
  .fimag27 .site-nav {
    gap:15px
  }
  .fimag27 .site-nav a {
    font-size:13px
  }
  .fimag27 .site-header__inner {
    gap:20px
  }
  .fimag27 .program-layout {
    grid-template-columns:minmax(0,1fr) 205px;
    gap:30px
  }
  .fimag27 .program-page .program-row {
    grid-template-columns:62px 72px minmax(0,1fr) 95px 70px;
    gap:12px
  }
}

@media(max-width:920px) {
  .fimag27 .site-header__inner {
    min-height:68px
  }
  .fimag27 .site-menu-toggle {
    display:flex
  }
  .fimag27 .site-nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    padding:24px max(24px,calc((100vw - 1320px)/2));
    margin:0;
    flex-direction:column;
    align-items:stretch;
    gap:0
  }
  .fimag27 .site-nav.is-open {
    display:flex
  }
  .fimag27 .site-nav a {
    font-size:20px;
    padding:12px 0;
    border-bottom:1px solid var(--line)
  }
  .fimag27 .site-header__actions {
    margin-left:auto
  }
  .fimag27 .hero {
    gap:40px
  }
  .fimag27 .hero__visual {
    min-height:440px
  }
  .fimag27 .featured-grid,.fimag27 .artists-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .fimag27 .packs-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .fimag27 .program-layout {
    display:block
  }
  .fimag27 .day-agenda {
    display:none
  }
  .fimag27 .history-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .fimag27 .show-facts {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}

@media(max-width:700px) {
  :root {
    --space-4:48px;
    --space-5:72px
  }
  .fimag27 .wrap {
    width:min(calc(100% - 32px),1320px)
  }
  .fimag27.admin-bar .site-header {
    top:46px
  }
  .fimag27 .site-brand {
    font-size:32px
  }
  .fimag27 .site-header__actions {
    gap:8px
  }
  .fimag27 .site-header__actions .button {
    min-height:40px;
    padding:10px 12px;
    font-size:12px
  }
  .fimag27 .site-lang {
    padding-left:8px
  }
  .fimag27 .hero {
    grid-template-columns:1fr;
    padding-top:48px;
    gap:36px
  }
  .fimag27 .hero h1 {
    font-size:clamp(4rem,16vw,6.25rem);
    margin-bottom:22px
  }
  .fimag27 .hero h1 span {
    font-size:clamp(2.3rem,9vw,3.5rem);
    margin-top:16px
  }
  .fimag27 .hero__description {
    font-size:16px
  }
  .fimag27 .hero__visual {
    min-height:410px
  }
  .fimag27 .facts {
    grid-template-columns:repeat(2,1fr)
  }
  .fimag27 .facts div {
    padding:18px 10px 18px 0
  }
  .fimag27 .facts div:nth-child(3) {
    border-left:0;
    padding-left:0;
    border-top:1px solid var(--line)
  }
  .fimag27 .facts div:nth-child(4) {
    border-top:1px solid var(--line)
  }
  .fimag27 .facts strong {
    font-size:42px
  }
  .fimag27 .facts span {
    font-size:13px
  }
  .fimag27 .section-heading {
    align-items:start;
    display:block
  }
  .fimag27 .section-heading .text-link {
    margin-top:16px
  }
  .fimag27 .featured-grid {
    gap:36px 16px
  }
  .fimag27 .featured-show h3 {
    font-size:var(--fs-h3)
  }
  .fimag27 .program-row,.fimag27 .program-page .program-row {
    grid-template-columns:64px minmax(0,1fr) 76px;
    gap:9px 12px;
    padding:17px 0
  }
  .fimag27 .program-row__image {
    display:none
  }
  .fimag27 .program-row__time {
    align-self:start;
    font-size:14px
  }
  .fimag27 .program-row__main h3 {
    font-size:var(--fs-h3)
  }
  .fimag27 .program-row__main .eyebrow {
    font-size:10px
  }
  .fimag27 .program-row__meta {
    grid-column:2;
    font-size:12px
  }
  .fimag27 .program-row__action {
    grid-column:3;
    grid-row:1/3;
    align-self:center;
    font-size:12px
  }
  .fimag27 .visit-links {
    grid-template-columns:repeat(2,1fr)
  }
  .fimag27 .visit-links a {
    min-height:75px;
    font-size:17px;
    padding:12px 10px 12px 0
  }
  .fimag27 .visit-links a:nth-child(2) {
    border-right:0
  }
  .fimag27 .visit-links a:nth-child(n+3) {
    border-top:1px solid var(--line)
  }
  .fimag27 .visit-links a:not(:first-child) {
    padding-left:10px
  }
  .fimag27 .pro-section {
    grid-template-columns:1fr;
    gap:16px
  }
  .fimag27 .site-footer__top,.fimag27 .site-footer__bottom {
    display:block
  }
  .fimag27 .site-footer__top p {
    margin-top:12px
  }
  .fimag27 .site-footer__links {
    display:block
  }
  .fimag27 .site-footer__links nav+nav {
    margin-top:22px
  }
  .fimag27 .site-footer__bottom>* {
    display:block;
    margin:14px 0!important
  }
  .fimag27 .inner-page {
    padding-top:48px
  }
  .fimag27 .page-intro h1,.fimag27 .show-hero h1,.fimag27 .profile-hero h1 {
    font-size:clamp(3.625rem,12vw,5.2rem)
  }
  .fimag27 .show-hero,.fimag27 .profile-hero {
    grid-template-columns:1fr;
    gap:28px
  }
  .fimag27 .edition-overview__hero { grid-template-columns:1fr;gap:28px }
  .fimag27 .edition-overview__hero figure { max-width:460px }
  .fimag27 .show-hero__image {
    order:-1
  }
  .fimag27 .show-facts {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px
  }
  .fimag27 .show-actions {
    flex-wrap:wrap
  }
  .fimag27 .artist-list {
    grid-template-columns:1fr
  }
  .fimag27 .related-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px
  }
  .fimag27 .venue-list {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .fimag27 .history-grid {
    gap:30px 16px
  }
}

@media(max-width:430px) {
  .fimag27 .page-intro h1,.fimag27 .show-hero h1,.fimag27 .profile-hero h1 {
    font-size:clamp(2.625rem,12vw,3.25rem)
  }
  .fimag27 .facts {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .fimag27 .facts div {
    min-width:0;
    display:block
  }
  .fimag27 .facts strong,.fimag27 .facts span {
    display:block
  }
  .fimag27 .site-lang {
    display:none
  }
  .fimag27 .hero__visual {
    min-height:340px
  }
  .fimag27 .featured-grid,.fimag27 .artists-grid,.fimag27 .related-grid,.fimag27 .venue-list,.fimag27 .history-grid {
    grid-template-columns:1fr
  }
  .fimag27 .packs-grid {
    grid-template-columns:1fr
  }
  .fimag27 .featured-show__image {
    aspect-ratio:5/4
  }
  .fimag27 .history-card {
    grid-template-columns:105px 1fr
  }
  .fimag27 .artist-summary {
    grid-template-columns:95px 1fr;
    gap:16px
  }
  .fimag27 .artist-summary img {
    width:95px;
    height:112px
  }
}

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