/* ---------- fixes ---------- */

@media (min-width: 1280px) {
  main .header-visual .container > div {
    --grid-columns: 8;
    grid-column: 3/span var(--grid-columns);
  }
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.paragraphblock p:has(.button), 
.paragraphblock .button-container {
    margin-top: var(--spacing-50);
}

.paragraphblock :where(p, ul, ol, dl) + :where(picture, img),
.paragraphblock p > img:only-child {
  aspect-ratio: 16/9;
  display: block;
  height: auto;
  margin-block: var(--spacing-70);
  max-width: 64rem;
  object-fit: cover;
  width: 100%;
}

.paragraphblock p:first-child > img:only-child {
  margin-block: unset;
}

.paragraphblock :where(p, ul, ol, dl) + :where(picture, img):last-child,
.paragraphblock p:last-child > img:only-child {
  margin-bottom: unset;
}

.ordered-step-list > li:not(:last-child)::after {
  width: .25rem;
  background-color: var(--colors-brand-primary-500);
  top: calc(var(--spacing-50) + var(--spacing-15));
  height: calc(100% - var(--spacing-30));
}

.block:has(script:only-child) {
  position: absolute;
}



/* ---------- hgroup ---------- */

main hgroup {
  gap: var(--spacing-10);
}

main hgroup :first-child {
  color: var(--colors-body-brand);
  font-size: var(--body-large);
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  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;
}



/* ---------- description list ---------- */

.paragraphblock dl {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: var(--grid-column-gap);
  row-gap: var(--body-medium-margin-top);
}

.paragraphblock dl > div {
  display: contents;
}

.paragraphblock dl dt {
  grid-column: 1;
  font-weight: 700;
  white-space: nowrap;
}

.paragraphblock dl dd{
  font-size: inherit;
  grid-column: 2;
  margin: 0;
  min-width: 0;
}



/* ---------- article highlight content ---------- */

.article-highlight {
  background-color: transparent;
}

.article-highlight > div {
  display: block;
}

@media (min-width: 640px) {
  .article-highlight {
    grid-template-areas:
"content image";
  }

  .article-highlight > div {
    padding-left: var(--grid-padding-inline);
  }
}

@media (min-width: 1280px) {
  .article-highlight > div {
    padding-left: var(--grid-padding-inline);
  }
}




/* ---------- logos ---------- */

.logos {
  --scale-min: .75;
  --scale-max: 1.33333;
  --scale: clamp(calc(var(--scale-min) * 1px), calc(calc(var(--scale-min) * 1px) + (100vw - 320px) * (1 - var(--scale-min)) / (640 - 320)), 1px);
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  row-gap: var(--grid-row-gap);
  column-gap: var(--grid-column-gap);
  justify-content: space-between;
  list-style: none;
  margin: var(--spacing-50) 0 0 0 !important;
  max-width: unset;
  padding: unset;
}

@media (min-width: 640px) {
  .logos {
    --scale-min: .5;
    --scale: clamp(calc(var(--scale-min) * 1px), calc(calc(var(--scale-min) * 1px) + (100vw - 640px) * (1 - var(--scale-min)) / (1024 - 640)), 1px);
    flex-direction: row;
  }
}

@media (min-width: 1024px) {
  .logos {
    --scale: clamp(1px, calc(1px + (100vw - 1280px) * (var(--scale-max) - 1) / (1920 - 1280)), calc(var(--scale-max) * 1px));
    flex-direction: row;
  }
}

.js .logos img {
  aspect-ratio: var(--width) / var(--height);
  display: block;
  height: calc(var(--height) * var(--scale));
  object-fit: contain;
  width:  calc(var(--width)  * var(--scale));
}

.logos a {
  display: block;
  outline: 1px solid transparent;
  outline-offset: .375rem;
}

.logos a:active,
.logos a:focus,
.logos a:focus-visible,
.logos a:hover {
  outline-color: var(--colors-neutral-800);
}



/* ---------- timeline ---------- */

#timeline {
  counter-reset: year;
  list-style: none;
  padding-left: 0;
  max-width: unset;
  margin-block: var(--spacing-40) 0;
}

#timeline > li:not(:last-child)::after {
  background-color: var(--colors-brand-primary-500);
  width: .25rem;
  top: calc(var(--spacing-50) + var(--spacing-15));
  height: calc(100% - var(--spacing-30));
}

@media (min-width: 1280px){
  #timeline {
    flex-direction: row;
    max-width: unset;   
  }

  #timeline > li {
    padding-top: calc(var(--spacing-60) + var(--spacing-15));
    padding-left: unset;
  }

  #timeline > li:not(:last-child)::after {
    height: .25rem;
    top: var(--spacing-15);
    left: var(--spacing-80);
    transform: translateY(-50%);
    width: calc(100% - var(--spacing-30));
  }

  #timeline > li[data-year="07"] {
    flex: 3 3 0%;
  }

  #timeline > li[data-year="07"] ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }
}

#timeline ul {
  color: var(--colors-body-primary);
  column-gap: var(--grid-column-gap);
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: unset;
  padding-left: unset;
  row-gap: var(--spacing-10);
}

#timeline > li {
  counter-increment: year;
  flex: 1 1 0%;
}

#timeline > li:last-of-type {
  flex: 0 0 auto;
}

#timeline > li::before {
  content: attr(data-year);
  font-variant-numeric: tabular-nums;
}

#timeline ul li {
  white-space: nowrap;
}



/* ---------- team ---------- */

.block .box .box-content > ul.team {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin-top: var(--grid-row-gap);
  max-width: unset;
  padding-left: unset;
  row-gap: var(--spacing-80);
}

.team article {
  display: grid;
  gap: var(--spacing-40) var(--grid-column-gap);
  grid-template-areas: 
    "image" 
    "heading"
    "content"
    "links";
  grid-template-rows: min-content min-content 1fr;
}

@media (min-width: 640px) {
  .team article {
    grid-template-areas: 
      "image heading"
      "image content"
      "image links";
    grid-template-columns: 1fr 1fr;
  }
  
  .team :nth-child(even) article {
    grid-template-areas: 
      "heading image"
      "content image"
      "links image";
  }  
}

.team ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  grid-area: links;
  list-style: none;
  margin: unset !important;
  padding-left: unset;  
  row-gap: var(--spacing-10);
}

@media (min-width: 1280px){
  .team ul {
    column-gap: var(--spacing-30);
    flex-direction: row;
  }
}

.team ul a {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath stroke='%23a0560f' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-4 0v7h-4v-7a6 6 0 0 1 6-6M6 9H2v12h4zM4 6a2 2 0 1 0 0-4 2 2 0 0 0 0 4'/%3E%3C/svg%3E");
  background-position: 0 0;
  background-repeat: no-repeat;
  padding-left: var(--spacing-40);
}

.team ul a[href^="mailto"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath stroke='%23a0560f' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath stroke='%23a0560f' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m21 7-9 6-9-6'/%3E%3C/svg%3E");
}

.team h3 {
  font-size: var(--heading-5) !important;
  grid-area: heading;
}

.team p {
  grid-area: content;
}

.team picture, .team img {
  aspect-ratio: 16/9;
  display: block;
  grid-area: image;
  height: auto;
  margin-block: unset;
  object-fit: cover;
  width: 100%;
}

@media (min-width: 640px) {
  .team picture, .team img {
    aspect-ratio: 1/1;
  }
}

@media (min-width: 1280px) {
  .team picture, .team img {
    aspect-ratio: 16/9;
  }
}

.block .box .box-content > .team article :is(h3, p, ul) {
  /*! margin: 0 calc(var(--grid-column-width) + var(--grid-column-gap)) 0 0; */ 
  margin: unset;
}



/* ---------- other ---------- */

.paragraphblock:has(.side-menu) .box {
  height: 100%;
}

.articlerelatedblock .reading-time {
  display: none;
}

.readmoreblock:has(#readmore-95003) {
  margin-top: auto;
}

.articlerelatedblock .col-4:has( button[disabled] + button[disabled]) {
  display: none;
}
