@font-face {
    font-family: 'ETmodules';
    src: url('/fonts/ETmodules.woff') format('woff');
    font-weight: normal; font-style: normal; font-display: swap;
}

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

:root {
    --bg:      #0c1c2c;
    --gold:    #E4A939;
    --white:   #ffffff;
    --text:    #d8e8f0;
    --muted:   #7a9ab0;
    --border:  rgba(255,255,255,0.08);

    /* Schriftgroessen */
    --fs-body: 1rem;
    --fs-sm:   0.75rem;
    --fs-xs:   0.65rem;
}

html { scroll-behavior: smooth; }

body {
    background-color: var(--bg);
    color: var(--white);
    font-family: 'Montserrat', sans-serif;
    font-size: var(--fs-body);
    font-weight: 400;
    line-height: 1.6;
    min-height: 100vh;
    background-image: linear-gradient(180deg,rgba(0,22,38,0.96) 12%,rgba(0,35,58,0.82) 31%),url(/images/kivent-bg.webp);
    background-size: cover;
    background-position: center top;
    background-attachment: fixed;
}

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

/* NAV */
.nav {
    position: sticky; top: 0; z-index: 100;
    background: rgba(12,28,44,0.96);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
}
.nav-inner {
    max-width: 1200px; margin: 0 auto; padding: 0 32px;
    height: 68px; display: flex; align-items: center;
}
.nav-logo img { height: 34px; width: auto; }

/* LAYOUT */
.main { max-width: 1200px; margin: 0 auto; padding: 0 32px; }

/* TYPOGRAPHY */
.label {
    font-size: var(--fs-xs); font-weight: 500;
    letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold);
}

.meta {
    font-size: var(--fs-sm); font-weight: 500;
    letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted);
}

h1 { font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 500; text-transform: uppercase; line-height: 1.05; }
h2 { font-size: clamp(1.3rem, 2.5vw, 1.9rem); font-weight: 500; text-transform: uppercase; line-height: 1.1; }
strong { color: var(--gold); font-weight: 500; }

/* BUTTONS */
.btn {
    display: inline-block; font-size: var(--fs-sm); font-weight: 500;
    letter-spacing: 0.1em; text-transform: uppercase;
    padding: 12px 24px; border-radius: 2px; cursor: pointer;
    transition: background 0.15s, color 0.15s, transform 0.15s;
}
.btn-outline { border: 2px solid var(--white); color: var(--white); background: transparent; }
.btn-outline:hover { background: var(--white); color: var(--bg); }
.btn-gold { background: var(--gold); color: var(--bg); border: none; }
.btn-gold:hover { opacity: 0.88; transform: translateY(-1px); }
.btn-gold-outline { border: 1px solid var(--gold); color: var(--muted); background: transparent; }
.btn-gold-outline:hover { color: var(--white); background: rgba(228,169,57,0.1); }
.btn--block { display: block; width: 100%; text-align: center; }
.text-gold { color: var(--gold); }

/* FORMS */
label {
    display: block; font-size: var(--fs-xs); font-weight: 500;
    letter-spacing: 0.06em; text-transform: uppercase;
    color: var(--muted); margin-bottom: 5px;
}
input, textarea, select {
    width: 100%; background: rgba(255,255,255,0.05);
    border: 1px solid var(--border); color: var(--white);
    padding: 11px 14px; border-radius: 2px;
    font-family: 'Montserrat', sans-serif; font-size: var(--fs-body);
    font-weight: 400; outline: none; transition: border-color 0.15s;
}
option {
    background-color: var(--bg);
}
input:focus, textarea:focus, select:focus { border-color: var(--gold); }
input[type="file"] { cursor: pointer; font-size: var(--fs-sm); }
.hint { font-size: var(--fs-xs); color: var(--muted); margin-top: 4px; }
.error-msg {
    font-size: var(--fs-sm);
    font-weight: 500;
    color: #ff9090;
    margin-top: 8px;
    line-height: 1.45;
}

/* DIVIDER */
hr, .divider { border: none; border-top: 1px solid var(--border); }

/* FOOTER */
.footer {
    border-top: 1px solid var(--border);
    margin-top: 100px;
    background: rgba(0,0,0,0.35);
}
.footer-main {
    max-width: 1200px; margin: 0 auto; padding: 56px 32px 40px;
    display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px; align-items: center;
}
.footer-nav { list-style: none; text-align: right; }
.footer-nav li + li { margin-top: 8px; }
.footer-nav a {
    font-size: 0.9rem; font-weight: 500;
    color: var(--white); transition: color 0.15s;
}
.footer-nav a:hover { color: var(--gold); }
.footer-center { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.footer-logo img { height: 48px; width: auto; }
.footer-social { display: flex; gap: 14px; list-style: none; }
.footer-social a {
    width: 36px; height: 36px; border-radius: 50%;
    border: 1px solid var(--border); display: flex; align-items: center; justify-content: center;
    color: var(--muted); transition: border-color 0.15s, color 0.15s;
}
.footer-social a:hover { border-color: var(--gold); color: var(--gold); }
.footer-social a::before {
    font-family: 'ETmodules'; font-size: 18px; line-height: 1;
}
.et-social-facebook a::before { content: "\e093"; }
.et-social-instagram a::before { content: "\e09a"; }
.et-social-linkedin a::before { content: "\e09d"; }
.footer-address {
    font-size: 0.9rem; color: var(--white); line-height: 1.8;
}
.footer-address strong { color: var(--white); font-weight: 600; }
.footer-bottom {
    border-top: 1px solid var(--border);
    padding: 18px 32px; text-align: center;
    font-size: var(--fs-sm); color: var(--white);
}
.footer-bottom a { color: var(--gold); transition: opacity 0.15s; }
.footer-bottom a:hover { opacity: 0.75; }
@media (max-width: 768px) {
    .footer-main { grid-template-columns: 1fr; text-align: center; padding: 40px 20px 28px; }
    .footer-nav { text-align: center; }
    .footer-bottom { padding-left: 20px; padding-right: 20px; }
    .nav-inner, .main, .footer-inner { padding-left: 20px; padding-right: 20px; }
}

.block {
    display: block;
}

.mx-auto {
    margin-inline: auto;
}