* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --color-primary: #cfe6dd;
    --color-secondary: #244f40;
    --color-background: #f3f3f2;
}

body {
    font-family: "neue-haas-grotesk-text", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    font-size: 18px;
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
    margin: 0;
}


h1{
    font-family: "neue-haas-grotesk-text", sans-serif;
    font-size: 28px;
    font-weight: 500;
    font-style: normal;
}



.container {
    max-width: 1600px;
    margin: 0 auto;

    display: flex; /* Für die zweispaltigen Layouts */
}


header {
    background-color: var(--color-background);
    
}

header .container {
    padding: 10px 0px;
}



/* Main - volle Breite Hintergrund */
main {
    background-color: var(--color-primary);
    color: var(--color-secondary);
    flex: 1;
}

main .container {
    padding: 20px 75px;
}

main .container > div {
    flex: 1;
}

/* Footer - volle Breite Hintergrund */
footer {
    background-color: var(--color-background);
    color: var(--color-secondary); 
}

footer .container {
    padding: 20px 75px;
}

footer .container > div {
    flex: 1;
}

.fw-500 {
    font-weight: 500;
}

sup {
    font-size: 0.6em;
    vertical-align: super;
}

a {
    color: inherit;
    text-decoration: none;
}


/* Mobile Layout */
@media (max-width: 768px) {
    main .container,
    footer .container {
        flex-direction: column;
        padding-right: 5px;
    }

}
