#main strong {
    color: var(--colors-body-brand);
}

section.brand-primary-100,
section.brand-primary-500 {
  --colors-body-secondary: var(--colors-brand-tertiary-03-800);
  --colors-link-hover: var(--colors-neutral-800);
}


/* ---------- hgroup ---------- */

.header-visual .container>div .box-content hgroup:not(:last-child) {
  margin-bottom: var(--spacing-50);
}

main hgroup :first-child {
  color: var(--colors-body-brand);
  font-size: var(--body-large);
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 25.2px */
  margin: 0;
}

main hgroup :nth-child(2) {
  color: var(--colors-heading-primary);
  font-size: var(--heading-3);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 100%;
  margin: 0;
  /* max-width: unset; */
}



/* ---------- banner ---------- */

@media (min-width: 1024px) { 
  .bannerteaserblock {
    --grid-columns: 6;
    /*! aspect-ratio: 1; */
    order: 1;
    margin-left: 0 !important;
  }
  
  main section .container > .row > .bannerteaserblock.displaymode-full {
    --grid-columns: 6;
    grid-column: 7 / span var(--grid-columns);
    width: calc(100% + var(--grid-padding-inline)) !important;
    
  }

  main section .container > .row > .bannerteaserblock + .paragraphblock.displaymode-full {
    --grid-columns: 5;
  }
}



/* ---------- download ---------- */

#main section.brand-primary-500 #download-2 > * {
  opacity: 0;
  transition: opacity .4s ease-out 1s;
}

#main section.brand-primary-500 #download-2.active > * {
  opacity: 1;
  transition: opacity .4s ease-out 1s;
  text-align: center;
}

#main section.brand-primary-500 #download-2 > h2 {
  margin-bottom: 0;
}

#main section.brand-primary-500 img {
  margin-block: 0 var(--spacing-50);
  margin-inline: auto;
  width: 12rem;
  display: block;
}

#main section.brand-primary-500 h2 {
  font-weight: 700;
  margin-bottom: var(--spacing-50);
}

#main section.brand-primary-500 section {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-inline: auto;
  margin-block: unset;
}

#main section.brand-primary-500 form section[hidden] {
  display: none;
}

#main section.brand-primary-500 .button {
  background-color: var(--colors-brand-secondary-500);
  color: var(--colors-neutral-50);
  flex: 0 1 auto;
  height: var(--spacing-70);
  order: 1;
  right: 0;
  font-weight: 700;
  font-size: var(--heading-6);
}

#main section.brand-primary-500 .button:focus,
#main section.brand-primary-500 .button:hover {
  background-color: #6c0f10;
  border-color: #6c0f10;
  outline-color: transparent;
}

#main section.brand-primary-500 .button:focus-visible {
  --cta-box-shadow-color: transparent;
  background-color: #6c0f10;
  border-color: #6c0f10;
  outline-color: transparent;
}

@media (min-width: 640px){
  #main section.brand-primary-500 form .button {
    position: absolute;
  }  
}

#main section.brand-primary-500 form fieldset {
  align-items: baseline;
  border: unset;
  display: flex;
  gap: var(--spacing-15);
  margin: unset;
  padding: unset;
}

#main section.brand-primary-500 form fieldset:has(input[type=checkbox]) {
  margin-top: var(--spacing-30);
}

#main section.brand-primary-500 form h2 + fieldset {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-20);
  position: relative;
  width: 100%;
}

#main section.brand-primary-500 form input[type=email] {
  align-items: center;
  align-self: stretch;
  background-color: var(--colors-neutral-50);
  border: 0.0625rem solid var(--colors-neutral-50);
  border-radius: var(--radius-full);
  color: var(--colors-body-input-filled);
  display: flex;
  font-family: inherit;
  height: var(--spacing-70);
  justify-content: space-between;
  outline: 0.375rem solid transparent;
  padding-inline: var(--spacing-30);
  text-align: left;
  width: 100%;
  font-family: inherit;
  font-size: var(--cta-default, 1rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 105%;
  font-variant-numeric: tabular-nums;
  text-align: center;
}

#main section.brand-primary-500 form input[type=email]:hover {
  border-color: var(--colors-neutral-50);
}

#main section.brand-primary-500 form input[type=email]:focus,
#main section.brand-primary-500 form input[type=email]:focus-visible {  
  border-color: var(--colors-neutral-50);
  outline-color: #FFFFFF6e;
}

#main section.brand-primary-500 form input[type=email]:user-invalid:not(:focus) {
  border-color: var(--colors-input-error);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cg clip-path='url(%23clip0_5626_1314)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 1.65385C4.49512 1.65385 1.65385 4.49512 1.65385 8C1.65385 11.5049 4.49512 14.3462 8 14.3462C11.5049 14.3462 14.3462 11.5049 14.3462 8C14.3462 4.49512 11.5049 1.65385 8 1.65385ZM0.5 8C0.5 3.85786 3.85786 0.5 8 0.5C12.1421 0.5 15.5 3.85786 15.5 8C15.5 12.1421 12.1421 15.5 8 15.5C3.85786 15.5 0.5 12.1421 0.5 8Z' fill='%23DB0512'/%3E%3Cpath d='M8.5 11C8.5 11.2761 8.27614 11.5 8 11.5C7.72386 11.5 7.5 11.2761 7.5 11C7.5 10.7239 7.72386 10.5 8 10.5C8.27614 10.5 8.5 10.7239 8.5 11Z' fill='%23DB0512'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 9.5C7.72386 9.5 7.5 9.2417 7.5 8.92308L7.5 5.07692C7.5 4.7583 7.72386 4.5 8 4.5C8.27614 4.5 8.5 4.7583 8.5 5.07692L8.5 8.92308C8.5 9.2417 8.27614 9.5 8 9.5Z' fill='%23DB0512'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_5626_1314'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-position: center left 1rem;
  background-repeat: no-repeat;
  padding-inline: var(--spacing-70);
}

@media (min-width: 640px){
  #main section.brand-primary-500 form h2 + fieldset {
    flex-direction: row;
  }
  
  #main section.brand-primary-500 form input[type='email'] {
    text-align: left;
  }
}

#main section.brand-primary-500 form fieldset input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  aspect-ratio: 1/1;
  background-color: var(--colors-neutral-50);
  background-position: center;
  background-repeat: no-repeat;
  background-size: var(--spacing-20);
  border: 0.0625rem solid var(--colors-neutral-50);
  height: var(--spacing-30);
  outline: 0.375rem solid transparent;
  outline-offset: 0;
  position: relative;
  top: 0.375rem;
  width: var(--spacing-30);
  opacity: 1;
  transition: all 0.1s ease-out;
}

#main section.brand-primary-500 form fieldset input[type=checkbox] {
  border-radius: var(--radius-5);
}

#main section.brand-primary-500 form fieldset input[type=checkbox]:hover {
  border-color: var(--colors-neutral-50);
}

#main section.brand-primary-500 form fieldset input[type=checkbox]:focus {
  border-color: var(--colors-neutral-50);
  outline-color: #FFFFFF6e;
}

#main section.brand-primary-500 form fieldset input[type=checkbox]:user-invalid:not(:focus) {
  border-color: var(--colors-input-error);
}

#main section.brand-primary-500 form fieldset input[type=checkbox]:checked {
  background-color: var(--colors-input-active);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cg clip-path='url(%23clip0_6901_1962)'%3E%3Cpath d='M2 7.5L7 12.5L14.5 2.5' stroke='%23FFFCF9' stroke-width='2'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_6901_1962'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  border-color: transparent;
}

#main section.brand-primary-500 form fieldset input[type=checkbox]:checked:focus {
  border: 0.125rem solid var(--colors-input-active);
  outline-color: var(--colors-input-activeoutline);
}

#main section.brand-primary-500 form fieldset input[type=checkbox] + label {
  color: var(--colors-body-secondary);
  font-size: var(--body-large);
  text-align: left;
}

#download input {
  outline: 6px solid transparent;
  outline-offset: 0;
}

#download input:focus-visible {
  outline-color: #FFFFFF6e;
  transition: all .1s ease-out;
}

#download .error {
  display: none;
  text-align: left;
  color: #AC030C;
  font-size: var(--body-medium);
  margin-inline: 0 auto;
}

#download .error strong {
  color: inherit;
  font-weight: inherit;
}

#download.invalid .error {
  display: block;
}



/* ---------- poll ---------- */

#leadcatcher [hidden] {display: none;}
#leadcatcher section {
  padding: unset;
  margin: unset;
}

#leadcatcher #step-1 > button[type='submit'] {
  display: none;
}

#leadcatcher > p:last-of-type {
  margin-bottom: var(--spacing-70);
}

#leadcatcher fieldset {
  border: 0 none;
  font: inherit;
  margin: unset;
  padding: unset;
  vertical-align: baseline;
}

#leadcatcher ul {
  display: grid;
  gap: 0 var(--spacing-30);
  list-style: none;
  margin: unset;
  padding: unset;
  transition: all .4s ease-out .4s;
}

#leadcatcher li {
  display: grid;
  gap: 0 var(--spacing-30);
  grid-template-columns: auto 1fr auto;
  padding: 0;
  transition: all .4s ease-out .4s;
}

#leadcatcher li::before {
  content: none;
}

#leadcatcher li label {
  color: var(--colors-body-primary);
  line-height: 140%;
  padding: var(--spacing-5) 0;
}

#leadcatcher input[type='checkbox']{
  appearance: none;
  background-color: var(--colors-neutral-50);
  border-radius: 50%;
  border: 1px solid var(--colors-input-default);
  grid-row: 1 / 3;
  height: 2.25rem;
  margin: -0.0625rem 0 0;
  position: relative;
  width: 2.25rem;
}

#leadcatcher input[type='checkbox']:focus-visible {
  outline: .375rem solid var(--colors-brand-primary-100a);
  outline-offset: 0;
  border: .125rem solid var(--colors-brand-primary-500);
}

#leadcatcher input[type='checkbox']:checked {
  background-color: var(--colors-input-active);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.6512 3.21967C13.9441 3.51256 13.9441 3.98744 13.6512 4.28033L6.58016 11.3514C6.28727 11.6443 5.81239 11.6443 5.5195 11.3514L2.21967 8.05157C1.92678 7.75867 1.92678 7.2838 2.21967 6.99091C2.51256 6.69801 2.98744 6.69801 3.28033 6.99091L6.04983 9.76041L12.5906 3.21967C12.8835 2.92678 13.3583 2.92678 13.6512 3.21967Z' fill='%23FFFCF9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: var(--spacing-25);
  border-color: var(--colors-input-active);
}

#leadcatcher input[type='checkbox']:checked:focus-visible {
  outline: 0.375rem solid var(--colors-input-activeoutline);
}

#leadcatcher meter {
  background: rgba(185, 136, 232, .3);
  border: 0 none;
  border-radius: .375rem;
  grid-row: 2;
  grid-column: 2 / 4;
  height: 0.75rem;
  opacity: 0;
  transition: all .4s ease-out 1.4s;
  width: 100%;
}

#leadcatcher meter::-webkit-meter-bar {
  background: rgba(140, 49, 207, 0);
  border: 0 none;
  height: .75rem;
  margin: 0;
}

#leadcatcher meter::-webkit-meter-optimum-value {
  background: #8C31CF;
  border: 0 none;
  border-radius: .375rem;
  height: .75rem;
  margin: 0;
  transition: all 1s ease-out 2.4s;
  transform: scaleX(0);
  transform-origin: 0 0;
}

#leadcatcher meter::-moz-meter-bar {
  background: #8C31CF;
  transition: all 1s ease-out 2.4s;
  transform: scaleX(0);
  transform-origin: 0 0;
}

#leadcatcher #ambition8-explanation {
  display: none;
  grid-column: 2;
}

#leadcatcher #ambition8-explanation ~ meter {
  grid-row: 3;
}

#leadcatcher #ambition8-checkbox:checked ~ #ambition8-explanation {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-30);
  width: 100%;
  grid-column: 2 / span 2;
}

#ambition8-textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid var(--colors-input-default);
  border-radius: var(--radius-20);
  color: inherit;
  field-sizing: content;
  font: inherit;
  margin-top: var(--spacing-30);
  max-width: 100%;
  outline: 0.375rem solid transparent;
  outline-offset: 0;
  padding: var(--spacing-25) var(--spacing-30);
  transition: border-color 0.1s ease-out;
  width: 100%;
  min-width: 100%;
  height: auto;
  min-height: 7rem;
}

#ambition8-textarea:user-invalid:not(:focus) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cg clip-path='url(%23clip0_5626_1314)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 1.65385C4.49512 1.65385 1.65385 4.49512 1.65385 8C1.65385 11.5049 4.49512 14.3462 8 14.3462C11.5049 14.3462 14.3462 11.5049 14.3462 8C14.3462 4.49512 11.5049 1.65385 8 1.65385ZM0.5 8C0.5 3.85786 3.85786 0.5 8 0.5C12.1421 0.5 15.5 3.85786 15.5 8C15.5 12.1421 12.1421 15.5 8 15.5C3.85786 15.5 0.5 12.1421 0.5 8Z' fill='%23DB0512'/%3E%3Cpath d='M8.5 11C8.5 11.2761 8.27614 11.5 8 11.5C7.72386 11.5 7.5 11.2761 7.5 11C7.5 10.7239 7.72386 10.5 8 10.5C8.27614 10.5 8.5 10.7239 8.5 11Z' fill='%23DB0512'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 9.5C7.72386 9.5 7.5 9.2417 7.5 8.92308L7.5 5.07692C7.5 4.7583 7.72386 4.5 8 4.5C8.27614 4.5 8.5 4.7583 8.5 5.07692L8.5 8.92308C8.5 9.2417 8.27614 9.5 8 9.5Z' fill='%23DB0512'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_5626_1314'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center left 1.125rem;
  background-size: 1rem;
  border-color: var(--colors-input-error);
  padding-left: var(--spacing-70);
}

#leadcatcher output {
  color: #8C31CF;
  font-kerning: none;
  font-size: 1.9rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  opacity: 0;
  line-height: 2.25rem;
  transition: all .4s ease-out 2s;
}

#leadcatcher[data-show-results] ul {
  gap: 1.5rem;
}

#leadcatcher[data-show-results] li {
  gap: .375rem var(--spacing-30);
}

#leadcatcher[data-show-results] meter,
#leadcatcher[data-show-results] output {
  opacity: 1;
}

#leadcatcher[data-show-results] meter::-webkit-meter-optimum-value {
  transform: scaleX(1);
}

#leadcatcher[data-show-results] meter::-moz-meter-bar {
  transform: scaleX(1);
}

#leadcatcher #step-2 {
  margin-top: var(--grid-section-padding-block);
  text-align: center;
}
 
#leadcatcher #step-2 h2 {
  margin-inline: auto;
}

#leadcatcher #step-2 p {
  margin-inline: auto;
}



/* ---------- posters ---------- */

.filmposters h2 {
  font-weight: 700;
  margin-bottom: var(--spacing-50);
  text-transform: uppercase;
}

.filmposters h2 span {
  font-weight: 400;
  white-space: nowrap;
}

.filmposters ul {
  display: flex;
  list-style: none;
  margin-inline: calc(var(--grid-padding-inline) * -1);
  max-width: unset;
  overflow-x: scroll;
  padding: unset;
  scroll-behavior: smooth;
  -ms-scroll-snap-type: both mandatory;
  scroll-snap-type: both mandatory;
  scrollbar-width: none;
}

@media(min-width: 1280px){
  .filmposters ul {
    margin-inline: auto;
    max-width: 1280px;
  }
}

.filmposters li {
  padding: 0;
  scroll-snap-align: start;
}

.filmposters li::before {
  content: none;
}

.filmposters figure {
  margin: unset;
}

.filmposters figcaption {
  display: none;
}

.filmposters button {
  appearance: none;
  border: 0 none;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  outline: 0 none;
  padding: 0;
  transition: all .1s ease-out;
}

.filmposters ul:focus-within:not(:hover) button:not(:focus),
.filmposters ul:focus-within:hover button:not(:hover) {
  opacity: .3;
  mix-blend-mode: luminosity;
}

.filmposters img {
  border-radius: 0;
  display: block;
  height: auto;
  margin: 0;
  min-width: min(272px, 80vw);
  width: 100%;
}



/* ---------- posters ---------- */

main section.section--wide .container>.row {
  scrollbar-width: none;
}

.filmposters h2 {
  font-weight: 700;
  margin-bottom: var(--spacing-50);
  text-transform: uppercase;
}

.filmposters h2 span {
  font-weight: 400;
  white-space: nowrap;
}

.filmposters ul {
  display: flex;
  list-style: none;
  margin-inline: calc(var(--grid-padding-inline) * -1);
  max-width: unset;
  overflow-x: scroll;
  padding: unset;
  scroll-behavior: smooth;
  -ms-scroll-snap-type: both mandatory;
  scroll-snap-type: both mandatory;
  scrollbar-width: none;
}

@media(min-width: 1280px){
  .filmposters ul {
    margin-inline: auto;
    max-width: 1280px;
  }
}

.filmposters li {
  padding: 0;
  scroll-snap-align: start;
}

.filmposters li::before {
  content: none;
}

.filmposters figure {
  margin: unset;
}

.filmposters figcaption {
  display: none;
}

.filmposters button {
  appearance: none;
  border: 0 none;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  outline: 0 none;
  padding: 0;
  transition: all .1s ease-out;
}

.filmposters ul:focus-within:not(:hover) button:not(:focus),
.filmposters ul:focus-within:hover button:not(:hover) {
  opacity: .3;
  mix-blend-mode: luminosity;
}

.filmposters img {
  border-radius: 0;
  display: block;
  height: auto;
  margin: 0;
  min-width: min(272px, 80vw);
  width: 100%;
}
