.cms-preview-banner{position:sticky;top:0;z-index:1000;background:#d2ff68;color:#14200d;padding:12px 24px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:13px}.cms-preview-banner a{text-decoration:underline;color:inherit}.cms-preview-banner strong{font-size:15px}.hero-art.cms-hero-image{overflow:hidden}.cms-hero-image>img{width:100%;height:100%;object-fit:cover;display:block}.cms-partner-logo{width:96px;height:60px;object-fit:contain;display:block;margin-bottom:12px}.cms-preview-banner~.site-header{position:relative}
.hero-with-background {
  display: grid;
  isolation: isolate;
}
.hero-with-background > .hero-backdrop,
.hero-with-background > .hero-shade,
.hero-with-background > .wrap {
  grid-area: 1 / 1;
  min-width: 0;
}
.hero-with-background > .hero-backdrop {
  align-self: start;
  pointer-events: none;
}
/* Let the full image set the height, keeping its original aspect ratio. */
.hero-with-background .hero-backdrop > img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}
.hero-with-background > .hero-shade {
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, #0006, #0001 65%, transparent),
    linear-gradient(180deg, transparent 55%, #0008);
}
.hero-with-background > .wrap {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.hero-with-background .hero-inner {
  display: block;
  min-height: 0;
}
.hero-with-background .hero-copy {
  position: relative;
  top: clamp(-56px, -3vw, -20px);
  max-width: 760px;
  padding: clamp(48px, 5vw, 96px) 0 56px;
}
.hero-with-background .hero-en,
.hero-with-background .hero-desc,
.hero-with-background .hero-facts {
  color: #d2d4cc;
}
.hero-with-background .hero-bottom {
  position: relative;
  z-index: 2;
}
@media (max-width: 620px) {
  .hero-with-background .hero-copy {
    padding: 38px 0 28px;
  }
  .hero-with-background > .hero-shade {
    background: linear-gradient(180deg, #0002, #0008 220px, #000 360px);
  }
}

.page-home .contact-section {
  max-width: 960px;
  margin-inline: auto;
  padding: 28px 0 40px;
}
.home-submission-prompt {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 100px 20px;
  text-align: center;
}
.home-submission-prompt h2 {
  margin: 0;
  color: var(--paper);
  font: 700 clamp(28px, 2.6vw, 40px)/1.4 var(--display);
  overflow-wrap: anywhere;
}
.home-submission-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 36px;
}
.home-submission-actions .btn.primary {
  min-width: 152px;
  min-height: 56px;
  border-radius: 0;
}
.home-submission-guide {
  padding: 10px 0 6px;
  border-bottom: 1px solid var(--muted);
  color: var(--muted);
  font-size: 14px;
}
.home-submission-guide:hover {
  color: var(--lime);
  border-color: var(--lime);
}
.home-submission-prompt a:focus-visible {
  outline: 2px solid var(--lime);
  outline-offset: 5px;
}
@media (max-width: 700px) {
  .home-submission-prompt {
    min-height: 320px;
    padding: 72px 0;
  }
  .home-submission-actions {
    gap: 12px 16px;
    margin-top: 28px;
  }
}
.page-home .contact-section h2 {
  margin-bottom: 28px;
  font-size: 26px;
}
.page-home .contact-grid {
  grid-template-columns: minmax(0, 1fr) 200px;
  gap: clamp(40px, 7vw, 100px);
}
.page-home .contact-details > div {
  padding: 16px 0 18px;
}
.page-home .contact-details > div:first-child {
  padding-top: 0;
}
.page-home .contact-details dt,
.page-home .contact-qr figcaption {
  font-size: 14px;
}
.page-home .contact-details dd {
  margin-top: 6px;
  font-size: clamp(20px, 1.8vw, 24px);
}
.page-home .contact-qr figcaption {
  margin-bottom: 16px;
}
.page-home .contact-qr img {
  width: 200px;
}
@media (max-width: 700px) {
  .page-home .contact-section {
    padding: 20px 0 32px;
  }
  .page-home .contact-section h2 {
    margin-bottom: 24px;
    font-size: 24px;
  }
  .page-home .contact-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .page-home .contact-qr img {
    width: 160px;
  }
}
.about-page-content > .imported-festival[data-imported-page="about"] {
  margin-top: 0;
}
.about-page-content > .imported-festival[data-imported-page="about"] > .festival-section:first-child {
  border-top: 0;
}
.open-call-page + .imported-festival[data-imported-page="categories"] {
  margin-top: 0;
}
.open-call-page + .imported-festival[data-imported-page="categories"] > .festival-preparation {
  padding-top: 0;
}
.submission-unit-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(var(--unit-rows), auto);
  grid-auto-flow: column;
  column-gap: 40px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.submission-unit-list > li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 20px 0;
  border-top: 1px solid var(--line);
}
.submission-unit-number { padding-top: 4px; color: var(--lime); font-size: 11px; }
.festival-preparation-section:has(> .submission-unit-list) > h3 { margin-bottom: 20px; font-size: 20px; }
.submission-unit-list h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.4; }
.submission-unit-list p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .submission-unit-list { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-flow: row; }
  .submission-unit-list > li { gap: 10px; padding: 18px 0; }
  .festival-preparation-section:has(> .submission-unit-list) > h3,
  .submission-unit-list h3 { font-size: 18px; }
}
