/* Eigene Schrift laden */
@font-face {
    font-family: "MeineSchrift";
    src: url("fonts/novela-regular-webfont.woff2") format("woff2");
}

/* Farben, Schrift und Base-System */
:root {
    --background: #fffaf5;
    --text: #0000ff;
    --accent: #00009b;

    --font-main: "MeineSchrift";

    /* 🔥 zentrale Schrift-Basis */
    --font-base: 2rem;
}

/* Reset */
* {
    box-sizing: border-box;
}

/* Layout */
body {
    margin: 0;
    min-height: 100vh;

    display: flex;
    justify-content: flex-start;
    align-items: flex-start;

    background: var(--background);
    color: var(--text);

    font-family: var(--font-main);

    /* globale Basis */
    font-size: var(--font-base);
}

/* Card */
.card {
    text-align: left;
    padding: 3rem;
    max-width: 600px;

    font-size: var(--font-base);
}

/* Typografie basiert auf Base */
h1 {
    margin: 0;
    font-size: calc(var(--font-base) * 1);
    font-weight: normal;
}

.subtitle {
    margin-top: 0;
    font-size: calc(var(--font-base) * 1);
    opacity: 0.8;
}

p {
    margin: 0;
    font-size: calc(var(--font-base) * 1);
    line-height: 1.05;
}

.contact-item {
    font-size: calc(var(--font-base) * 1);
    line-height: 1.05;
}

/* Links */
a {
    color: var(--text);
    text-decoration: none;
}

a:hover {
    color: var(--accent);
}

/* Divider */
.divider {
    width: 80px;
    height: 1px;
    background: var(--accent);
    margin: 2rem auto;
}

/* Mobilgeräte */
@media (max-width: 700px) {
    :root {
        /* 🔥 einzige mobile Steuerung */
        --font-base: 1.6rem;
    }

    .card {
        padding: 2rem;
    }
}