@font-face {
  font-family: 'Denim';
  src: url('../fonts/Denim-TRIAL-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Denim';
  src: url('../fonts/Denim-TRIAL-RegularItalic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Denim';
  src: url('../fonts/Denim-TRIAL-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Denim';
  src: url('../fonts/Denim-TRIAL-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Denim';
  src: url('../fonts/Denim-TRIAL-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Denim';
  src: url('../fonts/Denim-TRIAL-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Gravity';
  src: url('../fonts/ABCGravity-Extended.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --color-blue: #3152c0;
  --color-blue-hover: rgba(26, 81, 218, 0.5);
  --color-blue-light: color-mix(in srgb, var(--color-blue) 45%, #ffffff);
  --color-highlight: #d34e4e;
  --color-bg: #f0f0f0;
  --color-bg-active: #e6e6e6;
  --color-bg-active2: #d8d8d84b;
  --color-white: #ffffff;
  --color-black: #111111;
  --font-base: 'Denim', Arial, Helvetica, sans-serif;
  --fs-body: clamp(1.05rem, 0.9rem + 0.6vw, 1.65rem);
  --fs-body-big: clamp(1.26rem, 0.96rem + 1vw, 2.4rem);
  --fs-h1: clamp(1.68rem, 1.02rem + 2.5vw, 5.5rem);
  --fs-h2: clamp(1.41rem, 0.85rem + 1.9vw, 4.2rem);
  --fs-h3: clamp(1.23rem, 0.9rem + 1.25vw, 3rem);
  --fs-shout: clamp(3.37rem, 1.12rem + 12vw, 18rem);
  --fs-small: clamp(0.85rem, 0.73rem + 0.32vw, 1.35rem);
  --spacing: clamp(1rem, 0.25rem + 2.5vw, 3rem);
  --spacing-lg: clamp(2rem, 0.5rem + 5vw, 7rem);
  --border-w: clamp(2px, 1px + 0.1vw, 4px);
  --max-width: calc(100% - 2 * var(--spacing));
  --mid-width: var(--max-width);
  --header-height: 100px;
}

@media screen and (min-width: 750px) {
  :root {
    --mid-width: calc((100% - 2 * var(--spacing)) / 4 * 3);
  }
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -ms-overflow-style: none;
  scrollbar-width: none;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

html::-webkit-scrollbar {
  display: none;
}

body {
  font-family: var(--font-base);
  font-size: var(--fs-body);
  font-weight: 400;
  line-height: 1.4;
  color: var(--color-blue);
  background-color: var(--color-bg);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1 {
  font-weight: 500;
  line-height: 1.1;
}

h2, h3, h4 {
  font-weight: 400;
  line-height: 1.15;
}

h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); 
margin-bottom: calc(var(--spacing)/2);}

a {
  color: var(--color-highlight);
  text-decoration: none;
  transition: color 0.2s ease;
}

@media (hover: hover) {
  a:hover {
    color: var(--color-blue-hover);
  }
}

img, video {
  max-width: 100%;
  height: auto;
  display: block;
}

ul, ol {
  list-style: none;
}

button {
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

main {
  position: relative;
}

.wrap {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0;
}

@media screen and (min-width: 750px) {
  .wrap {
    padding: 0 var(--spacing);
  }
}

.shout {
  font-family: 'Gravity', var(--font-base);
  font-weight: 400;
  text-align: left;
  line-height: 0.95;
  letter-spacing: -0.02em;
  font-size: clamp(2.5rem, 14vw, 12rem);
  hyphens: auto;
  -webkit-hyphens: auto;
  overflow-wrap: break-word;
}

.section-blue {
  background-color: var(--color-blue);
  color: var(--color-bg);
  padding: var(--spacing-lg) 0;
  overflow: hidden;
}

.section-pad {
  padding: var(--spacing) 0;
}

.btn {
  display: inline-block;
  padding: 0.25em 0.5em;
  border: var(--border-w) solid var(--color-blue);
  border-radius: 0.75em;
  color: var(--color-bg);
  font-family: 'Gravity', var(--font-base);
  font-size: var(--fs-h2);
  font-weight: 400;
  background: var(--color-blue);
  box-shadow: inset 0 0 0 2em var(--color-blue), 0 4px 12px rgba(17, 17, 17, 0.12);
  transition: box-shadow 0.3s ease, color 0.3s ease, background 0.3s ease;
}

@media (hover: hover) {
  .btn:hover {
    box-shadow: inset 0 0 0 0 var(--color-blue), 0 4px 12px rgba(17, 17, 17, 0.12);
    background: transparent;
    color: var(--color-blue);
    cursor: pointer;
  }
}

.scroll-row {
  display: flex;
  gap: var(--spacing);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: var(--spacing) 0;
}

.scroll-row::-webkit-scrollbar {
  display: none;
}

.scroll-row > * {
  scroll-snap-align: start;
  flex-shrink: 0;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: var(--color-bg);
  border-bottom: var(--border-w) solid var(--color-blue);
  box-shadow: 0 4px 12px rgba(17, 17, 17, 0.12);
}

.header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.75em;
  padding-bottom: 0.75em;
}

.header__logo {
  font-size: var(--fs-body);
  color: var(--color-blue);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
}

@media (hover: hover) {
  .header__logo:hover {
    color: var(--color-blue);
  }
}

.header__toggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 28px;
  height: 28px;
  z-index: 110;
  cursor: pointer;
}

.header__toggle-bar {
  display: block;
  height: 2px;
  width: 100%;
  background: var(--color-blue);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.header__toggle-label {
  display: none;
  font-size: var(--fs-body);
  color: var(--color-blue);
}

body.menu-open .header__toggle-bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

body.menu-open .header__toggle-bar:nth-child(2) {
  opacity: 0;
}

body.menu-open .header__toggle-bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

@media screen and (min-width: 750px) {
  .header__toggle {
    width: auto;
    height: auto;
    gap: 0;
  }

  .header__toggle-bar {
    display: none;
  }

  .header__toggle-label {
    display: block;
  }
}

@media (hover: hover) {
  .header__toggle-label:hover {
    color: var(--color-blue-hover);
  }
}

.header__nav {
  display: none;
}

.header__nav.is-open {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background-color: var(--color-bg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 105;
}

.header__links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.header__links a {
  font-size: var(--fs-body);
  color: var(--color-blue);
}

.header__links a[aria-current="page"] {
  color: var(--color-blue-hover);
}

@media (hover: hover) {
  .header__links a:hover {
    color: var(--color-blue-hover);
  }
}


.header__right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.header__lang {
  display: flex;
  gap: 0.5rem;
}

@media screen and (min-width: 750px) {
  .header__right {
    gap: 1.5rem;
  }

  .header__lang {
    gap: 1rem;
  }
}

.header__lang a {
  font-size: var(--fs-body);
  color: var(--color-blue);
}

.header__lang a[aria-current="true"] {
  color: var(--color-blue-hover);
}

@media (hover: hover) {
  .header__lang a:hover {
    color: var(--color-blue-hover);
  }
}

.header__lang:not(.header__lang--nav) {
  display: none;
}

.header__lang--nav {
  display: none;
}

body.menu-open .header__lang--nav {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
}

@media screen and (min-width: 750px) {
  .header__lang:not(.header__lang--nav) {
    display: flex;
  }

  .header__lang--nav {
    display: none !important;
  }
}

body.menu-open {
  overflow: hidden;
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
}

body > main  {
  margin-top: var(--header-height);
  transition: margin-top 0.3s ease;
}

body:has(.header.no-anim) > main {
  transition: none;
}

@media screen and (min-width: 750px) {
  .header__nav {
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
    transition: grid-template-rows 0.3s ease, opacity 0.3s ease, padding-bottom 0.3s ease;
  }

  .header--collapsed .header__links {
    padding-bottom: 0;
  }

  .header--collapsed .header__nav {
    grid-template-rows: 0fr;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
  }

  .header.no-anim .header__nav,
  .header.no-anim .header__links,
  .header.no-anim .header__lang {
    transition: none !important;
  }

  .header__lang {
    transition: opacity 0.3s ease;
  }

  .header--collapsed .header__lang {
    opacity: 0;
    pointer-events: none;
  }

  .header__links {
    min-height: 0;
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
    padding-bottom: 0.75em;
  }

  .header__links a {
    display: block;
  }

}

.footer {
  background-color: var(--color-blue);
  border-top: var(--border-w) solid var(--color-bg);
  padding: var(--spacing) 0;
  font-size: var(--fs-body);
  color: var(--color-bg);
}

.footer__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing);
}

.footer__title {
  font-weight: 500;
}

.footer__col p {
  margin-bottom: 0.5em;
}

.footer__col a {
  color: var(--color-bg);
}

@media (hover: hover) {
  .footer__col a:hover {
    color: var(--color-highlight);
  }
}

.footer__social-list {
  display: flex;
  gap: 1rem;
  margin-top: 0.5em;
}

.footer__social-link {
  display: inline-flex;
  color: var(--color-bg);
  transition: color 0.2s ease;
}

.footer__social-link svg {
  width: 1.5em;
  height: 1.5em;
  display: block;
}

@media (hover: hover) {
  .footer__social-link:hover {
    color: var(--color-highlight);
  }
}

@media screen and (min-width: 750px) {
  .footer__inner {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.hero {
  padding-top: var(--spacing-lg);
  padding-bottom: var(--spacing-lg);
  font-size: var(--fs-body-big);
}

.hero__headline {
  max-width: var(--mid-width);
  margin-bottom: var(--spacing);
}

.hero__subline {
  color: var(--color-blue);
}

.section-shout {
  padding: var(--spacing-lg) 0;
  overflow: hidden;
}

.section-shout--blue {
  background-color: var(--color-blue);
  color: var(--color-bg);
}

.section-shout--highlight {
  background-color: var(--color-highlight);
  color: var(--color-bg);
}

.section-shout--white {
  background-color: var(--color-bg);
  color: var(--color-blue);
}

a.shout {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}

@media (hover: hover) {
  .section-shout--blue a.shout:hover      { color: var(--color-highlight); }
  .section-shout--highlight a.shout:hover { color: var(--color-blue); }
  .section-shout--white a.shout:hover     { color: var(--color-highlight); }
}

.smallshout {
  font-size: calc(var(--fs-h2) * 1.1);
  font-weight: 500;
  line-height: 1.2;
}

.smallshout p + p {
  margin-top: 0.5em;
}

.smallshout a {
  color: inherit;
}

@media (hover: hover) {
  .smallshout a:hover {
    color: var(--color-bg);
  }
}

.carousel {
  width: 100%;
  overflow: hidden;
  border-top: var(--border-w) solid var(--color-blue);
  border-bottom: var(--border-w) solid var(--color-blue);
}

.carousel__track {
  display: flex;
  gap: 0rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 0 0 calc(var(--spacing)/2) 0;
}


.carousel__track::-webkit-scrollbar {
  display: none;
}

.carousel__card {
  flex-shrink: 0;
  width: 100vw;
  display: block;
  color: inherit;
  text-decoration: none;
}

@media screen and (min-width: 750px) {
  .carousel__card {
    width: 80vw;
  }
}

.carousel__media {
  position: relative;
  max-height: 60dvh;
  overflow: hidden;
}

.carousel__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: filter 0.3s ease;
}

.carousel__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.8);
  color: var(--color-blue);
  font-family: 'Gravity', var(--font-base);
  font-size: var(--fs-body-big);
  text-align: center;
  padding: 1rem;
  opacity: 0;
  transition: opacity 0.5s ease;
}

@media (hover: hover) {
  a.carousel__card:hover .carousel__media img {
    filter: blur(8px);
  }

  a.carousel__card:hover .carousel__overlay {
    opacity: 1;
  }
}

.carousel__caption {
  display: block;
  margin-top: 1em;
  text-align: center;
  font-size: var(--fs-mid);
}

@media screen and (min-width: 750px) {
  .carousel__caption {
    text-align: left;
    margin-left: var(--spacing-lg);
  }
}

.carousel__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: calc(var(--spacing) / 2);
}

.carousel__prev, .carousel__next {
  background: none; border: none; cursor: pointer; padding: 0.5em; line-height: 1;
}

.carousel__arrow {
  display: block; width: 0.65em; height: 0.65em;
  border-right: var(--border-w) solid var(--color-blue); border-bottom: var(--border-w) solid var(--color-blue);
}

.carousel__arrow--right { transform: rotate(-45deg); }
.carousel__arrow--left { transform: rotate(135deg); }



.carousel__prev, .carousel__next {
  background: none; border: none; cursor: pointer; padding: 0.5em; line-height: 1;
}

.carousel__arrow {
  display: block; width: 0.65em; height: 0.65em;
  border-right: var(--border-w) solid var(--color-blue); border-bottom: var(--border-w) solid var(--color-blue);
}

.carousel__arrow--right { transform: rotate(-45deg); }
.carousel__arrow--left { transform: rotate(135deg); }
.carousel__counter { font-size: var(--fs-body); }

/* Carousel arrow hover feedback — directional nudge + highlight color */
.carousel__prev, .carousel__next,
.na__carousel__prev, .na__carousel__next,
.voicecarousel__prev, .voicecarousel__next {
  transition: transform 0.2s ease;
}

.carousel__arrow,
.na__carousel__arrow,
.voicecarousel__arrow {
  transition: border-color 0.2s ease;
}

@media (hover: hover) {
  .carousel__prev:not(:disabled):hover,
  .na__carousel__prev:not(:disabled):hover,
  .voicecarousel__prev:not(:disabled):hover {
    transform: translateX(-4px);
  }

  .carousel__next:not(:disabled):hover,
  .na__carousel__next:not(:disabled):hover,
  .voicecarousel__next:not(:disabled):hover {
    transform: translateX(4px);
  }

  .carousel__prev:not(:disabled):hover .carousel__arrow,
  .carousel__next:not(:disabled):hover .carousel__arrow,
  .na__carousel__prev:not(:disabled):hover .na__carousel__arrow,
  .na__carousel__next:not(:disabled):hover .na__carousel__arrow,
  .voicecarousel__prev:not(:disabled):hover .voicecarousel__arrow,
  .voicecarousel__next:not(:disabled):hover .voicecarousel__arrow {
    border-color: var(--color-highlight);
  }
}

.bigimg {
  margin: 0;
  padding: 0 var(--spacing); 
  max-width: var(--max-width);
  margin-inline: auto;
}

.bigimg__media {
  display: block;
  width: 100%;
  height: 40dvh;
  object-fit: cover;
  object-position: center;
  border-radius: 1.5rem;
}

@media screen and (min-width: 750px) {
  .bigimg__media {
    height: 50dvh;
  }
}

.bigimg__caption {
  display: block;
  padding: 0.5em var(--spacing);
  font-size: var(--fs-small);
  color: var(--color-blue);
}

.textsection :is(h1, h2, h3) {
  color: var(--color-blue);
  font-size: var(--fs-h3);
  margin-bottom: var(--spacing);
}

.home .textsection :is(h1, h2, h3),
.textsection--big :is(h1, h2, h3) {
  font-size: var(--fs-h2);
}

.shouttext {
  padding: var(--spacing) 0 var(--spacing);
}

.shouttext__shout {
  padding-bottom: calc(var(--spacing) / 2);
}

.shouttext__text {
  padding-top: calc(var(--spacing) / 2);
}

.shouttext__headline {
  margin-bottom: var(--spacing);
}

.shouttext__body {
  max-width: var(--max-width);
  margin-bottom: 1em;
}

.shouttext__body p + p {
  margin-top: 1em;
}

.shouttext__link {
  color: var(--color-highlight);
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: right 100%;
  background-size: 100% 2px;
  transition: background-size 0.3s ease;
}

@media (hover: hover) {
  .shouttext__link:hover {
    background-size: 0% 2px;
  }
}

.shouttext--blue {
  background-color: var(--color-blue);
  color: var(--color-bg);
}
.shouttext--blue .shouttext__headline,
.shouttext--blue .shouttext__link {
  color: var(--color-bg);
}

.shouttext--highlight {
  background-color: var(--color-highlight);
  color: var(--color-bg);
}
.shouttext--highlight .shouttext__headline,
.shouttext--highlight .shouttext__link {
  color: var(--color-bg);
}

.shouttext--white {
  background-color: var(--color-bg);
  color: var(--color-blue);
}
.shouttext--white .shouttext__headline {
  color: var(--color-blue);
}
.shouttext--white .shouttext__link {
  color: var(--color-highlight);
}

.shouttext .shout {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}
@media (hover: hover) {
  .shouttext--blue a.shout:hover      { color: var(--color-highlight); }
  .shouttext--highlight a.shout:hover { color: var(--color-blue); }
  .shouttext--white a.shout:hover     { color: var(--color-highlight); }
}


@supports (-webkit-text-stroke: 1px #000) {
  .shouttext .shout--link {
    -webkit-text-stroke: 0.018em transparent;
    transition: color 0.2s, -webkit-text-stroke-color 0.2s;
  }
  @media (hover: hover) {
    .shouttext--blue a.shout--link:hover {
      color: var(--color-blue);
      -webkit-text-stroke-color: var(--color-bg);
    }
    .shouttext--highlight a.shout--link:hover {
      color: var(--color-highlight);
      -webkit-text-stroke-color: var(--color-bg);
    }
    .shouttext--white a.shout--link:hover {
      color: var(--color-bg);
      -webkit-text-stroke-color: var(--color-blue);
    }
  }
}

.textsection__body {
  max-width: var(--mid-width);
  margin-bottom: 1em;
}

.home .textsection__body,
.textsection--big .textsection__body {
  font-size: var(--fs-body-big);
}

.textsection__body p + p {
  margin-top: 1em;
}

.textsection__body ul {
  list-style: disc;
  padding-left: 1.25em;
  margin-bottom: 1em;
}

.textsection__body ol {
  list-style: decimal;
  padding-left: 1.25em;
  margin-bottom: 1em;
}

.textsection__body li {
  margin-bottom: 0.4em;
}

@media screen and (min-width: 750px) {
  .textsection__body--two-col {
    max-width: none;
    columns: 2;
    column-gap: var(--spacing-lg);
  }
  .textsection__body--two-col p {
    break-inside: avoid;
  }
}

.textsection__link {
  color: var(--color-highlight);
}

.home .textsection__link,
.textsection--big .textsection__link {
  font-size: var(--fs-body-big);
}

/* Read-more links and in-text links: animated underline that
   retracts on hover — same logic as the voicecarousel read-more buttons */
.textsection__link,
.shouttext__link,
.textsection__body a,
.shouttext__body a,
.accordion__body a,
.accordion__sub-body a,
.na__item-body a,
.na__sub-body a,
.voicecarousel__body a {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: right 100%;
  background-size: 100% 2px;
  transition: background-size 0.3s ease, color 0.2s ease;
}

@media (hover: hover) {
  .textsection__link:hover,
  .shouttext__link:hover,
  .textsection__body a:hover,
  .shouttext__body a:hover,
  .accordion__body a:hover,
  .accordion__sub-body a:hover,
  .na__item-body a:hover,
  .na__sub-body a:hover,
  .voicecarousel__body a:hover {
    background-size: 0% 2px;
  }

  /* keep the resting colour on hover — only the underline animates.
     .shouttext__link is omitted: its per-variant colour rules already
     outrank the global a:hover. */
  .textsection__link:hover,
  .textsection__body a:hover,
  .shouttext__body a:hover,
  .accordion__body a:hover,
  .accordion__sub-body a:hover,
  .na__item-body a:hover,
  .na__sub-body a:hover,
  .voicecarousel__body a:hover {
    color: var(--color-highlight);
  }
}

/* footnote markers stay clean */
.na__item-body .fn-back,
.na__sub-body .fn-back,
.accordion__body .fn-back,
.accordion__sub-body .fn-back,
.na__item-body .fn-ref a,
.na__sub-body .fn-ref a,
.accordion__body .fn-ref a,
.accordion__sub-body .fn-ref a {
  background-image: none;
}

.cta {
  text-align: center;
}

@media screen and (min-width: 750px) {
  .carousel--many .carousel__card {
    width: 40vw;
  }
}

.demands {
  padding: var(--spacing-lg) 0;
}

.demands__headline {
  color: var(--color-bg);
  margin-bottom: var(--spacing);
}

.demands__list ul {
  list-style: disc;
  padding-left: 1.25em;
  font-size: var(--fs-body-big);
}

.demands__list li {
  margin-bottom: 0.5em;
}

.contactgrid__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing);
}

.contactgrid__country {
  margin-bottom: 0.5em;
}

.contactgrid__item p {
  margin-bottom: 0.5em;
}

.contactgrid__item a {
  color: var(--color-blue);
}

@media (hover: hover) {
  .contactgrid__item a:hover {
    color: var(--color-highlight);
  }
}

@media screen and (min-width: 750px) {
  .contactgrid__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.accordion {
  padding:  0;
}

.accordion__item {
  border-top: var(--border-w) solid var(--color-blue);
}

.accordion__item:last-child {
  border-bottom: var(--border-w) solid var(--color-blue);
}

.accordion__item[open] {
  background-color: var(--color-bg-active);
}

.accordion__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--spacing);
  font-size: var(--fs-h3);
  color: var(--color-blue);
  cursor: pointer;
  list-style: none;
}

@media (hover: hover) {
  .accordion__title:hover {
    background-color: var(--color-bg-active);
  }
}

.accordion__title::-webkit-details-marker {
  display: none;
}

.accordion__title::after {
  content: '';
  width: 0.75em;
  height: 0.75em;
  border-right: var(--border-w) solid var(--color-blue);
  border-bottom: var(--border-w) solid var(--color-blue);
  transform: translateY(-35%) rotate(45deg);
  transition: transform 0.2s ease, border-color 0.2s ease;
  flex-shrink: 0;
  margin-left: 1em;
  margin-right: var(--spacing);
}

.accordion__item[open] .accordion__title::after {
  transform: translateY(35%) rotate(-135deg);
}

@media (hover: hover) {
  .accordion__title:hover::after {
    border-color: var(--color-highlight);
  }
  .accordion__item:not([open]) .accordion__title:hover::after {
    transform: translateY(-35%) rotate(45deg) translate(2px, 2px);
  }
}

.accordion__body {
  padding-bottom: var(--spacing-lg);
}

.accordion__body p {
  margin-bottom: 0.75em;
}

.accordion__body a {
  color: var(--color-highlight);
}

@media screen and (min-width: 750px) {
  .accordion__body--two-col > .wrap {
    columns: 2;
    column-gap: var(--spacing-lg);
  }

  .accordion__body--two-col > .wrap p {
    break-inside: avoid;
  }
}

/* ── Nested Accordion (NA) – Campaign & Project pages ── */
.na__layout {
  padding: 0 var(--spacing);
}

@media (min-width: 900px) {
  .na__items,
  .wrap--na {
    padding-right: calc(180px + var(--spacing));
  }
}

.na__item {
  position: relative;
  scroll-margin-top: var(--header-height);
}

.na__item::after {
  content: '';
  position: absolute;
  left: calc(-1 * var(--spacing));
  bottom: 0;
  width: 100vw;
  height: 2px;
  background: var(--color-blue);
  pointer-events: none;
}

.na__item-head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1em var(--spacing);
  font-size: var(--fs-body-big);
  cursor: pointer;
}

.na__item-title {
  font-size: var(--fs-body-big);
  font-weight: 500;
  color: var(--color-blue);
}

.na__item-toggle {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  width: 1.5em;
  height: 1.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 1em;
}

.na__item-toggle::after {
  content: '';
  display: block;
  width: 0.75em;
  height: 0.75em;
  border-right: var(--border-w) solid var(--color-blue);
  border-bottom: var(--border-w) solid var(--color-blue);
  transform: translateY(-35%) rotate(45deg);
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.na__item-toggle[aria-expanded="true"]::after {
  transform: translateY(35%) rotate(-135deg);
}

@media (hover: hover) {
  .na__item-head:hover .na__item-toggle::after {
    border-color: var(--color-highlight);
  }
  .na__item-head:hover .na__item-toggle[aria-expanded="false"]::after {
    transform: translateY(-35%) rotate(45deg) translate(2px, 2px);
  }
}

.na__item-body {
  padding: 0 var(--spacing) calc(var(--spacing)/2);
}

.na__item-body p {
  margin-bottom: 0.75em;
  font-size: var(--fs-body-big);
}

.na__item-body :is(p, ul, ol) + :is(h1, h2, h3, h4, h5, h6),
.na__sub-body :is(p, ul, ol) + :is(h1, h2, h3, h4, h5, h6),
.accordion__body :is(p, ul, ol) + :is(h1, h2, h3, h4, h5, h6),
.accordion__sub-body :is(p, ul, ol) + :is(h1, h2, h3, h4, h5, h6) {
  margin-top: calc(var(--spacing)* 1.2);
}

.na__item-body a {
  color: var(--color-highlight);
}

@media screen and (min-width: 750px) {
  .na__item-body--two-col {
    columns: 2;
    column-gap: var(--spacing-lg);
  }

  .na__item-body--two-col p {
    break-inside: avoid;
  }

  .na__sub-body--two-col,
  .accordion__sub-body--two-col {
    columns: 2;
    column-gap: var(--spacing-lg);
  }

  .na__sub-body--two-col p,
  .accordion__sub-body--two-col p {
    break-inside: avoid;
  }
}

.footnotes {
  list-style: none;
  counter-reset: fn;
  padding: 0;
  margin: 0;
  font-size: var(--fs-small);
  line-height: 1.4;
  column-gap: var(--spacing-lg);
}

.footnotes > li {
  counter-increment: fn;
  break-inside: avoid;
  padding-left: 1.8em;
  position: relative;
  margin-bottom: 0.5em;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.footnotes > li::before {
  content: counter(fn);
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 500;
}

.footnotes a {
  color: inherit;
  text-decoration: underline;
}

.fn-back {
  text-decoration: none;
  margin-left: 0.25em;
  opacity: 0.5;
}

@media (hover: hover) {
  .fn-back:hover {
    opacity: 1;
  }
}

.fn-ref a {
  text-decoration: none;
  color: var(--color-highlight);
  font-weight: 500;
}

.footnotes > li,
.fn-ref,
.na__sub--footnotes,
.accordion__sub--footnotes {
  scroll-margin-top: var(--header-height);
}

@media screen and (min-width: 750px) {
  .footnotes {
    columns: 2;
  }
}

.na__item-subs[hidden] {
  display: none;
}

/* NA sub-accordion */
.na__sub {
  position: relative;
}

.na__sub::after {
  content: '';
  position: absolute;
  left: calc(-1 * var(--spacing));
  bottom: 0;
  width: 100vw;
  height: 2px;
  background: var(--color-blue);
  pointer-events: none;
}

.na__sub-title {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing) var(--spacing) var(--spacing) calc(var(--spacing) * 2);
  font-size: var(--fs-body-big);
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.na__sub-title span{
  padding-right: var(--spacing);
}

.na__sub-title::-webkit-details-marker {
  display: none;
}

.na__sub-title::after {
  content: '';
  flex-shrink: 0;
  width: 0.6em;
  height: 0.6em;
  margin-right: 0.45em;
  border-right: var(--border-w) solid var(--color-blue-light);
  border-bottom: var(--border-w) solid var(--color-blue-light);
  transform: translateY(-35%) rotate(45deg);
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.na__sub[open] .na__sub-title::after {
  transform: translateY(35%) rotate(-135deg);
}

@media (hover: hover) {
  .na__sub-title:hover::after {
    border-color: var(--color-highlight);
  }
  .na__sub:not([open]) .na__sub-title:hover::after {
    transform: translateY(-35%) rotate(45deg) translate(2px, 2px);
  }
}

@media (hover: hover) {
  .na__item:hover::before {
    content: '';
    position: absolute;
    left: calc(-1 * var(--spacing));
    width: 100vw;
    top: 0;
    bottom: 0;
    z-index: -1;
    background: var(--color-bg-active);
  }
}

.na__item:has(.na__item-toggle[aria-expanded="true"])::before {
  content: '';
  position: absolute;
  left: calc(-1 * var(--spacing));
  width: 100vw;
  top: 0;
  bottom: 0;
  z-index: -1;
  background: var(--color-bg-active);
}

@media (hover: hover) {
  .na__sub-title:hover::before {
    content: '';
    position: absolute;
    left: calc(-1 * var(--spacing));
    width: 100vw;
    top: 0;
    bottom: 0;
    z-index: -1;
    background: var(--color-bg-active2);
  }
}

.na__sub[open]::before {
  content: '';
  position: absolute;
  left: calc(-1 * var(--spacing));
  width: 100vw;
  top: 0;
  bottom: 0;
  z-index: -1;
  background: var(--color-bg-active2);
}

.na__sub-body {
  padding: 0 var(--spacing) var(--spacing) calc(var(--spacing) * 2);
}

.na__sub-body p {
  margin-bottom: 0.75em;
}

.na__sub-body a {
  color: var(--color-highlight);
}

.na__sub-media {
  display: block;
  width: 100%;
  margin-top: 0.75rem;
  max-height: 400px;
  object-fit: cover;
}

/* NA subnav – fixed right column, JS-generated from all NA items on page */
.na__subnav {
  position: fixed;
  right: 0;
  width: 180px;
  padding: calc(var(--spacing)/2);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
  text-align: right;
  z-index: 90;
  background: var(--color-blue);
  border: var(--border-w) solid var(--color-bg);
  border-radius: 0.5rem;
  box-shadow: 0 4px 12px rgba(17, 17, 17, 0.12);
  right: calc(var(--spacing) * 2);
  margin-top: calc(var(--spacing)/2);
  font-size: var(--fs-small);
}

.na__subnav-link {
  font-size: inherit;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--color-bg);
  text-decoration: none;
  opacity: 0.4;
  transition: opacity 0.2s;
  line-height: 1.43;
}

.na__subnav-link.is-active {
  opacity: 1;
}

@media (hover: hover) {
  .na__subnav-link:hover {
    color: var(--color-bg);
    opacity: 1;
  }
}

@media (max-width: 899px) {
  .na__subnav {
    display: none;
  }
}

/* NA shout item */
.na__item--shout {
  padding: var(--spacing);
}

/* NA sub smallshout — breaks out of na__layout padding to full viewport width */
.na__sub--shout {
  margin-left: calc(-1 * var(--spacing));
  width: 100vw;
  padding: var(--spacing) 0;
}

/* NA media carousel */
.na__carousel {
  --card-w: calc(100% - 2 * var(--spacing));
  margin-bottom: var(--spacing);
  margin-right: calc(-1 * var(--spacing));
  padding-left: var(--spacing);
  overflow: hidden;
  clip-path: inset(0 0 0 var(--spacing));
}

@media (min-width: 900px) {
  .na__carousel {
    --card-w: calc(100% - 180px - 3 * var(--spacing));
    margin-right: calc(-1 * (180px + 2 * var(--spacing)));
  }
}

.na__carousel__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: var(--card-w);
  margin-bottom: calc(var(--spacing) / 2);
}

.na__carousel__prev,
.na__carousel__next {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5em;
  line-height: 1;
}

.na__carousel__counter {
  font-size: var(--fs-small);
}

.na__carousel__arrow {
  display: block;
  width: 0.65em;
  height: 0.65em;
  border-right: var(--border-w) solid var(--color-blue);
  border-bottom: var(--border-w) solid var(--color-blue);
}

.na__carousel__arrow--right {
  transform: rotate(-45deg);
}

.na__carousel__arrow--left {
  transform: rotate(135deg);
}

.na__carousel__track {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing);
  transition: transform 0.4s ease;
  will-change: transform;
}

.na__carousel__card {
  flex-shrink: 0;
  width: var(--card-w);
}

.na__carousel__media {
  width: 100%;
  height: 60dvh;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 1.5rem;
  box-shadow: 0 4px 12px rgba(17, 17, 17, 0.12);
}

.na__carousel__embed {
  position: relative;
  height: 60dvh;
  border-radius: 1.5rem;
  overflow: hidden;
}

.na__carousel__embed iframe,
.na__carousel__embed .embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed {
  position: absolute;
  inset: 0;
  background: var(--color-bg);
  color: var(--color-blue);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.5rem;
  text-align: center;
}
.embed__notice {
  max-width: 40ch;
  font-size: 0.875rem;
  line-height: 1.4;
  margin: 0;
}
.embed__notice a {
  color: inherit;
  text-decoration: underline;
}
.embed__load {
  background: transparent;
  color: var(--color-blue);
  border: 1px solid var(--color-blue);
  padding: 0.6rem 1.2rem;
  cursor: pointer;
  font: inherit;
  transition: background 0.2s, color 0.2s;
}
@media (hover: hover) {
  .embed__load:hover {
    background: var(--color-blue);
    color: var(--color-bg);
  }
}
.embed--loaded {
  padding: 0;
}

.embed--poster {
  background-size: cover;
  background-position: center;
  color: var(--color-bg);
}
.embed--poster::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(17, 17, 17, 0.55);
}
.embed--poster .embed__notice,
.embed--poster .embed__load {
  position: relative;
  z-index: 1;
}
.embed--poster .embed__load {
  color: var(--color-bg);
  border-color: var(--color-bg);
}
@media (hover: hover) {
  .embed--poster .embed__load:hover {
    background: var(--color-bg);
    color: var(--color-blue);
  }
}

.na__carousel__caption {
  font-size: var(--fs-body);
  padding: 0.5em var(--spacing);
  text-align: center;
}

/* Nested accordion sub-items */
.accordion__subs {
  margin-top: 0.5rem;
}

.accordion__sub {
  border-top: var(--border-w) solid var(--color-blue);
}

.accordion__sub:last-child {
  border-bottom: var(--border-w) solid var(--color-blue);
}

.accordion__sub-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.6rem 0;
  font-size: var(--fs-body);
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.accordion__sub-title::-webkit-details-marker {
  display: none;
}

.accordion__sub-title::after {
  content: '';
  flex-shrink: 0;
  width: 0.6em;
  height: 0.6em;
  border-right: var(--border-w) solid var(--color-blue);
  border-bottom: var(--border-w) solid var(--color-blue);
  transform: translateY(-35%) rotate(45deg);
  transition: transform 0.2s ease, border-color 0.2s ease;
  margin-right: 0.1rem;
}

.accordion__sub[open] .accordion__sub-title::after {
  transform: translateY(35%) rotate(-135deg);
}

@media (hover: hover) {
  .accordion__sub-title:hover::after {
    border-color: var(--color-highlight);
  }
  .accordion__sub:not([open]) .accordion__sub-title:hover::after {
    transform: translateY(-35%) rotate(45deg) translate(2px, 2px);
  }
}

.accordion__sub-body {
  padding-bottom: 1rem;
}

.accordion__sub-body p {
  margin-bottom: 0.75em;
}

.accordion__sub-media {
  display: block;
  width: 100%;
  margin-top: 0.75rem;
  max-height: 400px;
  object-fit: cover;
}

/* FAQ Block – Hotline only */
.faq {
  border-bottom: none;
}

.faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing);
}

.faq__item {
  background-color: var(--color-bg);
  color: var(--color-blue);
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(17, 17, 17, 0.12);
  outline: var(--border-w) solid transparent;
  outline-offset: calc(-1 * var(--border-w));
  transition: background-color 0.25s ease, outline-color 0.25s ease;
}

.faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.5rem;
  font-size: var(--fs-body-big);
  font-weight: 400;
  cursor: pointer;
  list-style: none;
  user-select: none;
  color: var(--color-blue);
  transition: color 0.25s ease;
}

@media (hover: hover) {
  .faq__item:has(.faq__question:hover) {
    background-color: var(--color-blue);
    outline: var(--border-w) solid var(--color-bg);
    outline-offset: calc(-1 * var(--border-w));
  }
  .faq__item:has(.faq__question:hover) .faq__question,
  .faq__item:has(.faq__question:hover) .faq__answer,
  .faq__item:has(.faq__question:hover) .faq__answer a {
    color: var(--color-bg);
  }
}

.faq__question::-webkit-details-marker {
  display: none;
}

.faq__question::after {
  content: '';
  flex-shrink: 0;
  width: 0.7em;
  height: 0.7em;
  border-right: var(--border-w) solid var(--color-blue);
  border-bottom: var(--border-w) solid var(--color-blue);
  transform: translateY(-35%) rotate(45deg);
  transition: transform 0.25s ease, border-color 0.25s ease;
  margin-right: 0.25rem;
}

.faq__item[open] .faq__question::after {
  transform: translateY(35%) rotate(-135deg);
}

@media (hover: hover) {
  .faq__item:has(.faq__question:hover) .faq__question::after {
    border-color: var(--color-bg);
  }
  .faq__item:not([open]):has(.faq__question:hover) .faq__question::after {
    transform: translateY(-35%) rotate(45deg) translate(2px, 2px);
  }
}

.faq__item[open] .faq__question {
  padding-bottom: 0.5rem;
}

.faq__answer {
  padding: 0 1.5rem 1.25rem;
  font-size: var(--fs-body);
  color: var(--color-blue);
  transition: color 0.25s ease;
}

.faq__answer p {
  margin-bottom: 0.75em;
}

.faq__answer p:last-child {
  margin-bottom: 0;
}

.faq__answer a {
  color: var(--color-blue);
  text-decoration: underline;
  transition: color 0.25s ease;
}

.donation__inner {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--spacing);
}

.donation__text {
  max-width: var(--mid-width);
}

.donation__headline {
  color: var(--color-blue);
  margin-bottom: var(--spacing);
}

.donation__body {
  margin-bottom: var(--spacing);
}

.donation__body p {
  margin-bottom: 0.75em;
}

.donation__link {
  color: var(--color-highlight);
  font-weight: 500;
}

.donation__img {
  width: 120px;
  height: 120px;
  object-fit: contain;
}

@media screen and (min-width: 750px) {
  .donation__img {
    width: 150px;
    height: 150px;
  }
}

.voicecarousel {
  overflow: hidden;
  border-bottom: var(--border-w) solid var(--color-blue);
}

.voicecarousel__headline {
  margin-bottom: var(--spacing);
}

.voicecarousel__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing);
}

.voicecarousel__prev,
.voicecarousel__next {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5em;
  line-height: 1;
}

.voicecarousel__arrow {
  display: block;
  width: 0.65em;
  height: 0.65em;
  border-right: var(--border-w) solid var(--color-blue);
  border-bottom: var(--border-w) solid var(--color-blue);
}

.voicecarousel__arrow--right {
  transform: rotate(-45deg);
}

.voicecarousel__arrow--left {
  transform: rotate(135deg);
}

.voicecarousel__counter {
  font-size: var(--fs-body);
}

.voicecarousel__track {
  display: flex;
  transition: transform 0.4s ease;
  will-change: transform;
}

@media screen and (min-width: 750px) {
  .voicecarousel__track {
    padding-left: var(--spacing);
    margin-left: var(--spacing);
  }
}

.voicecarousel__card {
  --vc-card-w: 100vw;
  width: var(--vc-card-w);
  flex-shrink: 0;
  padding: 0 var(--spacing);
}

@media screen and (min-width: 750px) {
  .voicecarousel__card {
    --vc-card-w: calc(100vw - 2 * var(--spacing));
    padding: 0;
    margin-right: var(--spacing);
  }
}

.voicecarousel__meta {
  font-size: var(--fs-small);
  color: var(--color-blue);
  margin-bottom: calc(var(--spacing) / 2);
  padding-left: var(--spacing);
}

.voicecarousel__card-inner {
  background-color: var(--color-blue);
  color: var(--color-bg);
  padding: var(--spacing);
  padding-right: calc(var(--spacing) / 4);
  border-radius: 1.6rem;
  box-shadow: 0 4px 12px rgba(17, 17, 17, 0.12);
}

.voicecarousel--alt {
  background-color: var(--color-blue);
  border-bottom-color: var(--color-bg);
}

.voicecarousel--alt .voicecarousel__headline,
.voicecarousel--alt .voicecarousel__meta,
.voicecarousel--alt .voicecarousel__counter,
.voicecarousel--alt .voicecarousel__summary {
  color: var(--color-bg);
}

.voicecarousel--alt .voicecarousel__arrow {
  border-right-color: var(--color-bg);
  border-bottom-color: var(--color-bg);
}

.voicecarousel--alt .voicecarousel__card-inner {
  background-color: var(--color-bg);
  color: var(--color-blue);
}

.voicecarousel--alt .voicecarousel__body {
  scrollbar-color: rgba(26,81,192,0.4) transparent;
}

.voicecarousel--alt .voicecarousel__body::-webkit-scrollbar-thumb {
  background: rgba(26,81,192,0.4);
}

.voicecarousel__card-inner p{
padding-right: var(--spacing);
}

.voicecarousel__body {
  font-size: var(--fs-body);
  max-height: 50dvh;
  overflow-y: scroll;
  overscroll-behavior: contain;
  touch-action: pan-y;
  padding-right: calc(var(--spacing) / 4);
  scrollbar-width: auto;
  scrollbar-color: rgba(255,255,255,0.4) transparent;
}

.voicecarousel__body::-webkit-scrollbar {
  width: calc(var(--spacing) / 4);
}

.voicecarousel__body::-webkit-scrollbar-track {
  background: transparent;
}

.voicecarousel__body::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.4);
  border-radius: calc(var(--spacing) / 8);
}

.voicecarousel__body p + p {
  margin-top: calc(var(--spacing) / 2);
}

.voicecarousel__body img,
.voicecarousel__body video {
  width: calc(100% - var(--spacing) / 2);
  border-radius: 0.5rem;
  margin-top: calc(var(--spacing) / 2);
}

.voicecarousel__summary {
  margin-top: var(--spacing);
  color: var(--color-blue);
}

.voicecarousel__summary a {
  color: var(--color-highlight);
}

.voicecarousel__summary-full[hidden] {
  display: none;
}

.voicecarousel__readmore-btn,
.voicecarousel__readless-btn {
  display: inline;
  padding: 0;
  border: none;
  background-color: transparent;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: right 100%;
  background-size: 100% 2px;
  cursor: pointer;
  color: var(--color-highlight);
  font-size: inherit;
  transition: background-size 0.3s ease;
}

@media (hover: hover) {
  .voicecarousel__readmore-btn:hover,
  .voicecarousel__readless-btn:hover {
    background-size: 0% 2px;
  }
}

/* alt (blue background) — white text + underline */
.voicecarousel--alt .voicecarousel__readmore-btn,
.voicecarousel--alt .voicecarousel__readless-btn {
  color: var(--color-bg);
}

@media (min-width: 600px) {
  .voicecarousel__card {
    --vc-card-w: 62vw;
  }
}

@media (min-width: 1000px) {
  .voicecarousel__card {
    --vc-card-w: 38vw;
  }
}

@media (min-width: 1600px) {
  .voicecarousel__card {
    --vc-card-w: 28vw;
  }
}

html.landing-active {
  overflow: hidden;
}

/* Landing overlay */
#landing {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
}

#landing__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: var(--max-width);
  font-family: 'Gravity', var(--font-base);
  font-weight: 400;
  text-align: left;
  line-height: 0.95;
  letter-spacing: -0.02em;
  font-size: clamp(2.5rem, 14vw, 12rem);
  color: var(--color-blue);
}

.landing__word {
  display: block;
  white-space: nowrap;
  will-change: letter-spacing, transform;
}

