/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    -webkit-text-size-adjust: 100%;
    line-height: 1.15
    }
body {
    margin: 0
    }
main {
    display: block
    }
h1 {
    font-size: 2em;
    margin: 0.67em 0
    }
hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
    }
pre {
    font-family: monospace, monospace;
    font-size: 1em
    }
a {
    background-color: transparent
    }
abbr[title] {
    border-bottom: none;
    -webkit-text-decoration: underline;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
    }
b, strong {
    font-weight: bolder
    }
code, kbd, samp {
    font-family: monospace, monospace;
    font-size: 1em
    }
small {
    font-size: 80%
    }
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
    }
sub {
    bottom: -0.25em
    }
sup {
    top: -0.5em
    }
img {
    border-style: none
    }
button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
    }
button, input {
    overflow: visible
    }
button, select {
    text-transform: none
    }
[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button
    }
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    border-style: none;
    padding: 0
    }
[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
    outline: 1px dotted ButtonText
    }
fieldset {
    padding: 0.35em 0.75em 0.625em
    }
legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
    }
progress {
    vertical-align: baseline
    }
textarea {
    overflow: auto
    }
[type=checkbox], [type=radio] {
    box-sizing: border-box;
    padding: 0
    }
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto
    }
[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
    }
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
    }
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
    }
details {
    display: block
    }
summary {
    display: list-item
    }
[hidden], template {
    display: none
    }
*, :after, :before {
    box-sizing: border-box
    }
h1, h2, h3, h4, h5, h6, p {
    font: inherit;
    margin: 0
    }
button, input[type=file], input[type=submit], select {
    cursor: pointer
    }
fieldset {
    border: 0;
    margin: 0;
    padding: 0
    }
figure {
    margin: 0
    }
a {
    -webkit-text-decoration: none;
    text-decoration: none
    }
a, button {
    color: inherit
    }
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: inherit;
    border: initial;
    letter-spacing: inherit;
    padding: initial;
    text-transform: inherit
    }
::-moz-placeholder {
    opacity: 1
    }
::placeholder {
    opacity: 1
    }
ul {
    list-style: none;
    margin: initial;
    padding: initial
    }
img {
    max-width: 100%
    }
:root {
    --breakpoint-0: 0;
    --breakpoint-s: 375px;
    --breakpoint-m: 1024px;
    --breakpoint-l: 1440px;
    --breakpoint-xl: 1680px;
    --color-black: #000;
    --color-white: #fff;
    --color-grey: #f7f7f7;
    --color-grey-dark: #d9d9d9;
    --color-gradient: linear-gradient(0deg, #020024, #cbc4bc 0, #fff 33%, #00adef 55%);
    --wrapper-s: 375px;
    --wrapper-m: 1024px;
    --wrapper-l: 1440px;
    --wrapper-xl: 1680px;
    --spacer-0: 0;
    --spacer-xxxs: 2px;
    --spacer-xxs: 6px;
    --spacer-xs: 8px;
    --spacer-s: 12px;
    --spacer-m: 24px;
    --spacer-l: 72px;
    --spacer-xl: 96px;
    --spacer-xxl: 192px;
    --spacer-height: 30px;
    --spacer-height-medium: 40px;
    --spacer-height-big: 60px;
    --gap-0: 0;
    --gap-xxxs: 2px;
    --gap-xxs: 6px;
    --gap-xs: 8px;
    --gap-s: 12px;
    --gap-m: 24px;
    --gap-l: 72px;
    --gap-xl: 96px;
    --gap-xxl: 192px;
    --gap-height: 30px;
    --gap-height-medium: 40px;
    --gap-height-big: 60px;
    --ease-out: cubic-bezier(0.33, 1, 0.68, 1);
    --ease-in: cubic-bezier(0.32, 0, 0.67, 0)
    }
@media (min-width: 1024px) {
    :root {
        --spacer-0: 0;
        --spacer-xxxs: 2px;
        --spacer-xxs: 6px;
        --spacer-xs: 8px;
        --spacer-s: 12px;
        --spacer-m: 24px;
        --spacer-l: 72px;
        --spacer-xl: 96px;
        --spacer-xxl: 192px;
        --spacer-height: 30px;
        --spacer-height-medium: 40px;
        --spacer-height-big: 60px
        }
    }
@media (min-width: 1680px) {
    :root {
        --spacer-0: 0;
        --spacer-xxxs: max(2px, min(0.139vw, 3px));
        --spacer-xxs: max(6px, min(0.417vw, 8px));
        --spacer-xs: max(8px, min(0.556vw, 11px));
        --spacer-s: max(12px, min(0.833vw, 16px));
        --spacer-m: max(24px, min(1.667vw, 32px));
        --spacer-l: max(72px, min(5vw, 96px));
        --spacer-xl: max(96px, min(6.667vw, 128px));
        --spacer-xxl: max(192px, min(13.333vw, 256px));
        --spacer-height: max(30px, min(2.083vw, 40px));
        --spacer-height-medium: max(40px, min(2.778vw, 53px));
        --spacer-height-big: max(60px, min(4.166vw, 80px))
        }
    }
@media (min-width: 1024px) {
    :root {
        --gap-0: 0;
        --gap-xxxs: 2px;
        --gap-xxs: 6px;
        --gap-xs: 8px;
        --gap-s: 12px;
        --gap-m: 24px;
        --gap-l: 72px;
        --gap-xl: 96px;
        --gap-xxl: 192px;
        --gap-height: 30px;
        --gap-height-medium: 40px;
        --gap-height-big: 60px
        }
    }
@media (min-width: 1680px) {
    :root {
        --gap-0: 0;
        --gap-xxxs: max(2px, min(0.139vw, 3px));
        --gap-xxs: max(6px, min(0.417vw, 8px));
        --gap-xs: max(8px, min(0.556vw, 11px));
        --gap-s: max(12px, min(0.833vw, 16px));
        --gap-m: max(24px, min(1.667vw, 32px));
        --gap-l: max(72px, min(5vw, 96px));
        --gap-xl: max(96px, min(6.667vw, 128px));
        --gap-xxl: max(192px, min(13.333vw, 256px));
        --gap-height: max(30px, min(2.083vw, 40px));
        --gap-height-medium: max(40px, min(2.778vw, 53px));
        --gap-height-big: max(60px, min(4.166vw, 80px))
        }
    }
@font-face {
    font-family: FTAktual;
    font-stretch: normal;
    font-style: normal;
    font-weight: 450;
    src: url(./FTAktual-Book.33310d8f.woff2) format("woff2"), url(./FTAktual-Book.d792159d.woff) format("woff")
    }
@font-face {
    font-family: FTAktual;
    font-stretch: normal;
    font-style: italic;
    font-weight: 450;
    src: url(./FTAktual-BookItalic.d1803b3a.woff2) format("woff2"), url(./FTAktual-BookItalic.51ae5b78.woff) format("woff")
    }
.wrapper {
    margin-left: calc(50% - var(--vw) * 50);
    width: calc(var(--vw) * 100)
    }
.wrapper > * {
    --w-pad: inherit;
    margin: 0 auto;
    max-width: var(--w-width);
    padding: 0 var(--w-pad)
    }
.wrapper > * > * {
    --w-pad: initial
    }
.spacer {
    --s-top: var(--spacer-s);
    --s-right: var(--spacer-s);
    --s-bottom: var(--spacer-s);
    --s-left: var(--spacer-s);
    margin: var(--s-top) var(--s-right) var(--s-bottom) var(--s-left)
    }
.padder {
    --p-top: var(--spacer-s);
    --p-right: var(--spacer-s);
    --p-bottom: var(--spacer-s);
    --p-left: var(--spacer-s);
    padding: var(--p-top) var(--p-right) var(--p-bottom) var(--p-left)
    }
.layout {
    --l-gap: var(--gap-s);
    --l-overlap: inherit;
    grid-gap: var(--gap-s);
    grid-gap: var(--l-gap);
    align-content: var(--l-align);
    align-items: var(--l-align);
    display: grid;
    gap: var(--gap-s);
    gap: var(--l-gap);
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-columns: var(--l-auto);
    grid-auto-flow: var(--l-dir);
    grid-auto-rows: minmax(0, auto);
    justify-content: var(--l-justify);
    justify-items: var(--l-justify)
    }
.layout > * {
    grid-area: var(--l-overlap)
    }
.layout > * > * {
    --l-overlap: initial
    }
.overlap {
    display: grid
    }
.overlap > * {
    grid-area: 1/1
    }
.grid {
    --g-col-gap: var(--gap-s);
    --g-row-gap: var(--gap-s);
    --g-align: initial;
    --g-justify: initial;
    grid-column-gap: var(--gap-s);
    grid-column-gap: var(--g-col-gap);
    grid-row-gap: var(--gap-s);
    grid-row-gap: var(--g-row-gap);
    align-content: var(--g-align);
    align-items: var(--g-align);
    -moz-column-gap: var(--gap-s);
    column-gap: var(--gap-s);
    -moz-column-gap: var(--g-col-gap);
    column-gap: var(--g-col-gap);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-columns: repeat(var(--g-cols), minmax(var(--g-min), 1fr));
    justify-content: var(--g-justify);
    justify-items: var(--g-justify);
    row-gap: var(--gap-s);
    row-gap: var(--g-row-gap)
    }
.cols {
    --c-cols: initial;
    grid-column: var(--c-cols)
    }
.ratio-container {
    height: 0;
    overflow: hidden;
    padding-top: 100%;
    padding-top: calc(var(--r-height) / var(--r-width) * 100%);
    position: relative
    }
.ratio-container .ratio {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
    }
.ratio {
    aspect-ratio: 1/1;
    aspect-ratio: var(--r-width)/var(--r-height);
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-fit: var(--r-fit);
    object-fit: var(--r-fit)
    }
.accordion .trigger {
    cursor: pointer
    }
.accordion .content {
    height: var(--a-height);
    overflow-y: hidden;
    transition: height var(--a-speed)
    }
.wrapper {
    --w-width: initial;
    --w-pad: initial
    }
.spacer {
    --s-top: var(--spacer-0);
    --s-right: var(--spacer-0);
    --s-bottom: var(--spacer-0);
    --s-left: var(--spacer-0)
    }
.padder {
    --p-top: var(--spacer-0);
    --p-right: var(--spacer-0);
    --p-bottom: var(--spacer-0);
    --p-left: var(--spacer-0)
    }
.layout {
    --l-gap: var(--gap-0);
    --l-dir: initial;
    --l-overlap: initial;
    --l-align: initial;
    --l-justify: initial;
    --l-auto: minmax(0, 1fr)
    }
.grid {
    --g-col-gap: var(--gap-0);
    --g-row-gap: var(--gap-0);
    --g-min: 0;
    --g-cols: 4
    }
.cols {
    --g-cols: initial
    }
.ratio, .ratio-container {
    --r-width: 1;
    --r-height: 1
    }
.ratio {
    --r-fit: cover
    }
.accordion {
    --a-speed: 0.2s;
    --a-height: 0
    }
#app, body, html {
    height: 100%;
    overscroll-behavior: none
    }
body, html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    font-synthesis: none;
    text-rendering: optimizeLegibility
    }
::-moz-selection {
    background: var(--color-black);
    color: var(--color-white)
    }
::selection {
    background: var(--color-black);
    color: var(--color-white)
    }
pre {
    white-space: break-spaces
    }
.t-ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
    }
.t-indent {
    text-indent: calc(16.66667% + var(--spacer-s) / 6)
    }
.t-tab {
    padding-left: calc(16.666% + var(--spacer-s) / 6)
    }
.t-italic {
    font-style: Italic
    }
body:not(.loaded) {
    opacity: 0;
    visibility: hidden
    }
img, svg {
    display: block
    }
svg {
    overflow: visible
    }
.debug {
    grid-gap: 1px;
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(60, 1fr);
    grid-template-rows: repeat(75, 1fr);
    height: 100%;
    left: 0;
    opacity: 0.1;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%
    }
#iubenda-cs-banner {
    background: var(--color-white);
    bottom: 0;
    height: var(--spacer-height-big);
    left: 0;
    position: fixed;
    width: 100%;
    z-index: 100
    }
@media (min-width: 1024px) {
    #iubenda-cs-banner {
        height: var(--spacer-height)
        }
    }
.iubenda-cs-container, .iubenda-cs-content, .iubenda-cs-rationale {
    height: 100%
    }
.iubenda-cs-rationale {
    background: var(--color-black);
    color: var(--color-white);
    display: flex;
    justify-content: space-between;
    overflow: hidden;
    width: calc(100% - var(--spacer-s))
    }
.iubenda-custom-content {
    height: 100%;
    padding: var(--spacer-xxxs) var(--spacer-m) 0 var(--spacer-s);
    white-space: nowrap
    }
@media (min-width: 375px) {
    .iubenda-custom-content {
        padding: var(--spacer-xxxs) var(--spacer-l) 0 var(--spacer-s)
        }
    }
@media (min-width: 1024px) {
    .iubenda-custom-content {
        width: 80%
        }
    }
.iubenda-cs-opt-group {
    display: flex;
    flex: 1 1 0;
    height: 100%
    }
.iubenda-cs-opt-group > * {
    height: 100%;
    width: 100%
    }
.iubenda-cs-opt-group > * button {
    background: var(--color-grey);
    color: var(--color-black);
    display: flex;
    height: 100%;
    padding: var(--spacer-xxxs) var(--spacer-s) 0 var(--spacer-s);
    width: 100%
    }
@media (hover: hover) {
    .iubenda-cs-opt-group > * button:hover {
        background: var(--color-black);
        color: var(--color-white)
        }
    }
.typo--s {
    font-size: max(14px, min(0.7vw, 24px));
    line-height: 120%
    }
.typo--m, .typo--s {
    font-family: FTAktual, Helvetica, Arial;
    font-weight: 450
    }
.typo--m {
    font-size: max(22px, min(1.6vw, 40px));
    line-height: 110%
    }
@media (min-width: 1440px) {
    .typo--m {
        line-height: 108%
        }
    }
.typo--l {
    font-family: FTAktual, Helvetica, Arial;
    font-size: max(32px, min(2.5vw, 60px));
    font-weight: 450;
    line-height: 110%
    }
@media (min-width: 1440px) {
    .typo--l {
        line-height: 100%
        }
    }
body {
    font-family: FTAktual, Helvetica, Arial;
    font-size: max(14px, min(0.7vw, 24px));
    font-weight: 450;
    line-height: 120%
    }
.t-ellipsis > * {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
    }
.t-indent--5 {
    text-indent: calc(20% + var(--spacer-s) / 5)
    }
.t-tab--5 {
    padding-left: calc(20% + var(--spacer-s) / 5)
    }
.debug .cell {
    background: #000;
    display: block;
    overflow: hidden
    }