

@font-face {
    font-family: "D-DIN";
    src: url("/resources/fonts/D-DIN.otf") format("opentype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "D-DIN";
    src: url("/resources/fonts/D-DIN-Italic.otf") format("opentype");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "D-DIN";
    src: url("/resources/fonts/D-DIN-Bold.otf") format("opentype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "D-DIN Condensed";
    src: url("/resources/fonts/D-DINCondensed.otf") format("opentype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "D-DIN Condensed";
    src: url("/resources/fonts/D-DINCondensed-Bold.otf") format("opentype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}



/* Basis */
body {
    font-family: "D-DIN", sans-serif;
    font-weight: 400;
}


/* Koppen */


h1 {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: clamp(2.2rem, 5vw, 3.4rem);
    line-height: 1.15;
    color: var(--heading);
    margin: 0 0 12px;
    letter-spacing: -0.02em;
}
    

h2,
h3 {
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 600;
    color: var(--heading);
}


/* Kleine koppen / labels */
.label,
nav,
.button {
    font-family: "D-DIN", sans-serif;
    font-weight: 700;
}


/* Links */
a {
    font-family: "D-DIN", sans-serif;
}

   :root {
            --bg: #e8f1e7;
            --surface: #f5f8f3;
            --heading: #294936;
            --text: #405247;
            --muted: #68776d;
            --link: #397052;
            --link-hover: #3d2855;
            --border: #cbdacb;
        }

        * {
            box-sizing: border-box;
        }

        html,
        body {
            margin: 0;
            padding: 0;
            min-height: 100%;
        }

        body {
            font-family: "D-DIN", sans-serif;
            font-weight: 400;
            background: var(--bg);
            color: var(--text);
        }

        main {
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 40px 20px;
        }

        .landing {
            width: 100%;
            max-width: 900px;
            text-align: center;
        }

        h1,
        h2,
        h3 {
            color: var(--heading);
            font-weight: 600;
        }

        h1 {
            margin: 0 0 12px;
            font-size: clamp(2rem, 5vw, 3.2rem);
            line-height: 1.2;
        }

        .intro {
            max-width: 650px;
            margin: 0 auto 32px;
            font-size: 1.1rem;
            color: var(--text);
        }

        .splash {
            margin: 32px auto;
        }

        .splash img {
            display: block;
            max-width: 100%;
            height: auto;
            margin: 0 auto;
            border-radius: 10px;
            box-shadow: 0 8px 25px rgba(41, 73, 54, 0.12);
        }

        a {
            color: var(--link);
            text-decoration: none;
            border-bottom: 1px solid rgba(57, 112, 82, 0.35);
            transition:
                color 0.2s ease,
                border-color 0.2s ease;
        }

        a:hover,
        a:focus {
            color: var(--link-hover);
            border-color: var(--link-hover);
        }

        .content {
            max-width: 650px;
            margin: 35px auto 0;
            padding: 28px 30px;
            background: rgba(245, 248, 243, 0.65);
            border: 1px solid var(--border);
            border-radius: 12px;
            text-align: left;
        }

        .content p {
            margin: 0 0 1em;
        }

        .content p:last-child {
            margin-bottom: 0;
        }

        footer {
            margin-top: 35px;
            color: var(--muted);
            font-size: 0.9rem;
        }

        @media (max-width: 800px) {
            main {
                padding: 25px 15px;
            }

            .content {
                padding: 22px 20px;
            }

            .intro {
                font-size: 1rem;
            }
        }

      
.splash {
    width: min(850px, 100%);
    height: clamp(300px, 50vw, 500px);
    margin: 32px auto;
    position: relative;
    overflow: hidden;
    display: block;

    border-radius: 14px;
    background: rgba(245, 248, 243, 0.35);
    border: 1px solid var(--border);
}

.splash img {
    position: absolute;
    top: 0;
    left: 0;

    width: 430px;
    max-width: none;
    height: auto;

    border-radius: 10px;

    box-shadow:
        0 8px 25px rgba(41, 73, 54, 0.12);

    will-change: transform;
}

@media (max-width: 600px) {
    .splash {
        height: 260px;
    }

    .splash img {
        width: 280px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .splash img {
        position: relative;
        top: auto;
        left: auto;
        display: block;
        margin: 0 auto;
        transform: none !important;
    }
}
