@charset "UTF-8";
/* CSS Document */
:root {
    --dark:       #4A6060;
    --dark-mid:   #3d5050;
    --slate:      #4a5e5e;
    --slate-light:#6b8080;
    --terra:      #d4603a;
    --terra-mid:  #e07a56;
    --terra-light:#f5eeea;
    --sand:       #f5f0eb;
    --warm-white: #fdfaf7;
    --ink:        #1e2828;
    --muted:      #5a6e6e;
    --white:      #ffffff;

}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
    font-family: 'DM Sans', sans-serif;
    background: var(--sand);
    color: var(--ink);
    padding-top: 80px;
    min-height: 100vh;
}

/* ── NAV ── */
nav {
    background: var(--warm-white);
    padding: 0 48px;
    height: 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(122,96,64,0.12);
    position: fixed;
    top: 0; left: 0;
    width: 100vw;
    box-sizing: border-box;
    z-index: 3000;
}
.logo img { height: 52px; width: auto; display: block; }
.nav-right { display: flex; align-items: center; gap: 28px; }
.nav-title {
    font-family: 'DM Serif Display', serif;
    font-size: 1.1rem;
    color: var(--ink);
}
.nav-back {
    text-decoration: none;
    color: var(--slate);
    font-size: 0.88em;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: color 0.2s;
}
.nav-back:hover { color: var(--terra); }
.nav-back svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.burger { display: none; flex-direction: column; cursor: pointer; padding: 8px; gap: 6px; }
.burger span { display: block; width: 26px; height: 2px; background: var(--ink); }

@media (max-width: 700px) {
    nav { padding: 0 20px; }
    .nav-title { display: none; }
    .burger { display: flex; }
}

/* ── PAGE ── */
.page {
    max-width: 720px;
    margin: 0 auto;
    padding: 56px 24px 96px;
}

/* ── HEADER ── */
.page-eyebrow {
    font-size: 0.72em;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--terra);
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}
.page-eyebrow::before {
    content: '';
    display: block;
    width: 20px; height: 1px;
    background: var(--terra);
}
.page-title {
    font-family: 'DM Serif Display', serif;
    font-size: clamp(2rem, 4vw, 2.8rem);
    color: var(--ink);
    line-height: 1.1;
    margin-bottom: 48px;
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(122,96,64,0.12);
}

/* ── SECTIONS ── */
.imprint-section {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(122,96,64,0.1);
}
.imprint-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.section-label {
    font-size: 0.7em;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--terra);
    display: block;
    margin-bottom: 14px;
}

.section-heading {
    font-family: 'DM Serif Display', serif;
    font-size: 1.25rem;
    color: var(--ink);
    margin-bottom: 14px;
    line-height: 1.3;
}

.imprint-section p,
.imprint-section address {
    font-size: 0.95em;
    line-height: 1.9;
    color: var(--muted);
    font-style: normal;
}

.imprint-section a {
    color: var(--terra);
    text-decoration: none;
    border-bottom: 1px solid rgba(212,96,58,0.3);
    transition: border-color 0.2s;
}
.imprint-section a:hover {
    border-color: var(--terra);
}

/* Kontakt-Grid */
.contact-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px 20px;
    font-size: 0.95em;
    line-height: 1.9;
    color: var(--muted);
}
.contact-grid dt {
    font-weight: 500;
    color: var(--dark);
    white-space: nowrap;
}
.contact-grid dd a {
    color: var(--terra);
    text-decoration: none;
    border-bottom: 1px solid rgba(212,96,58,0.3);
    transition: border-color 0.2s;
}
.contact-grid dd a:hover { border-color: var(--terra); }

/* Hinweis-Box */
.notice-box {
    background: var(--terra-light);
    border-left: 3px solid var(--terra);
    border-radius: 0 4px 4px 0;
    padding: 16px 20px;
    margin-top: 16px;
}
.notice-box p {
    font-size: 0.88em;
    line-height: 1.7;
    color: var(--muted);
}

@media (max-width: 600px) {
    .page { padding: 40px 16px 72px; }
    .contact-grid { grid-template-columns: 1fr; gap: 2px; }
    .contact-grid dt { margin-top: 10px; }
}

