*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--y:#FFD600;--b:#0A0A0A;--d:#111;--gm:#2A2A2A;--gl:#888;--w:#FFF;--f:'Montserrat',sans-serif}
html{scroll-behavior:smooth}
body{font-family:var(--f);background:var(--b);color:var(--w);line-height:1.7;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.ctn{max-width:1200px;margin:0 auto;padding:0 24px}
nav{position:fixed;top:0;left:0;width:100%;z-index:1000;
background:rgba(10,10,10,.92);backdrop-filter:blur(12px);
border-bottom:1px solid rgba(255,214,0,.1)}
.nav-i{max-width:1200px;margin:0 auto;padding:0 24px;
display:flex;align-items:center;justify-content:space-between;height:80px}
.nav-i .logo img{height:50px}
.nav-l{display:flex;list-style:none;gap:32px}
.nav-l a{font-size:.82rem;font-weight:600;
text-transform:uppercase;letter-spacing:2px;transition:color .3s}
.nav-l a:hover{color:var(--y)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer}
.burger span{width:28px;height:2px;background:var(--w);transition:.3s}
.hero{position:relative;height:100vh;display:flex;
align-items:center;justify-content:center;text-align:center}
.hero-ov{position:absolute;top:0;left:0;width:100%;height:100%;
background:linear-gradient(180deg,rgba(10,10,10,.3),rgba(10,10,10,.95))}
.hero-c{position:relative;z-index:2;max-width:800px;padding:0 24px}
.hero-c h1{font-size:3rem;font-weight:800;letter-spacing:3px;
text-transform:uppercase;margin-bottom:16px}
.hero-c h1 span{color:var(--y)}
.hero-c p{font-size:1.1rem;color:var(--gl);margin-bottom:32px}
.btn{display:inline-block;padding:14px 40px;background:var(--y);
color:var(--b);font-weight:700;font-size:.85rem;
text-transform:uppercase;letter-spacing:2px;border:none;
cursor:pointer;transition:.3s}
.btn:hover{background:var(--w)}
section{padding:100px 0}
.sec-title{text-align:center;margin-bottom:60px}
.sec-title h2{font-size:2rem;font-weight:800;
text-transform:uppercase;letter-spacing:3px;margin-bottom:12px}
.sec-title h2 span{color:var(--y)}
.sec-title p{color:var(--gl);font-size:.95rem;max-width:600px;margin:0 auto}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.card{background:var(--d);padding:40px 30px;
border:1px solid var(--gm);transition:.3s}
.card:hover{border-color:var(--y);transform:translateY(-6px)}
.card h3{font-size:1.1rem;font-weight:700;margin-bottom:12px;
text-transform:uppercase;letter-spacing:1px}
.card p{color:var(--gl);font-size:.9rem}
.card .icon{font-size:2rem;margin-bottom:20px;color:var(--y)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-grid img{width:100%;border:2px solid var(--gm)}
.about-text h3{font-size:1.4rem;font-weight:700;margin-bottom:16px}
.about-text p{color:var(--gl);font-size:.95rem;margin-bottom:16px}
.kontakt-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.kontakt-grid input,.kontakt-grid textarea{width:100%;padding:14px 18px;
background:var(--d);border:1px solid var(--gm);color:var(--w);
font-family:var(--f);font-size:.9rem;margin-bottom:16px}
.kontakt-grid textarea{height:150px;resize:vertical}
.kontakt-grid input:focus,.kontakt-grid textarea:focus{
outline:none;border-color:var(--y)}
.kontakt-info h3{font-size:1.2rem;margin-bottom:20px;font-weight:700}
.kontakt-info p{color:var(--gl);font-size:.9rem;margin-bottom:10px}
footer{background:var(--d);padding:40px 0;text-align:center;
border-top:1px solid var(--gm)}
footer p{color:var(--gl);font-size:.8rem}
footer a{color:var(--y)}
@media(max-width:768px){
.nav-l{display:none;position:fixed;top:0;left:0;width:100%;height:100vh;
background:var(--b);flex-direction:column;align-items:center;
justify-content:center;gap:30px}
.nav-l.open{display:flex}
.burger{display:flex}
.hero-c h1{font-size:1.8rem}
.grid3{grid-template-columns:1fr}
.about-grid{grid-template-columns:1fr}
.kontakt-grid{grid-template-columns:1fr}
}
.btn-sm{margin-top:20px;padding:10px 20px;font-size:.8rem}

.gallery-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;
background:rgba(0,0,0,.92);z-index:2000;overflow-y:auto}
.gallery-modal{max-width:1100px;margin:40px auto;padding:20px 30px}
.gallery-close{position:fixed;top:20px;right:30px;background:none;border:none;
color:var(--w);font-size:2.5rem;cursor:pointer;z-index:2100}
.gallery-close:hover{color:var(--y)}
.gallery-title{text-align:center;font-size:1.4rem;font-weight:700;
text-transform:uppercase;letter-spacing:2px;margin-bottom:30px;color:var(--w)}
.gallery-title span{color:var(--y)}

.gallery-grid{columns:3;column-gap:16px}
.gallery-grid img{width:100%;margin-bottom:16px;border:2px solid var(--gm);
cursor:pointer;transition:transform .3s,border-color .3s;display:block}
.gallery-grid img:hover{transform:scale(1.03);border-color:var(--y)}

.lightbox-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;
background:rgba(0,0,0,.96);z-index:3000;align-items:center;justify-content:center}
.lightbox-overlay.active{display:flex}
.lightbox-overlay img{max-width:90%;max-height:85vh;border:3px solid var(--gm)}
.lightbox-close{position:fixed;top:20px;right:30px;background:none;border:none;
color:var(--w);font-size:2.5rem;cursor:pointer;z-index:3100}
.lightbox-close:hover{color:var(--y)}
.lightbox-prev,.lightbox-next{position:fixed;top:50%;transform:translateY(-50%);
background:rgba(0,0,0,.5);border:1px solid var(--gm);color:var(--w);
font-size:2rem;padding:12px 18px;cursor:pointer;z-index:3100;transition:background .3s}
.lightbox-prev{left:20px}
.lightbox-next{right:20px}
.lightbox-prev:hover,.lightbox-next:hover{background:var(--y);color:var(--d)}

@media(max-width:768px){
.gallery-grid{columns:2;column-gap:10px}
.gallery-modal{padding:15px}
.lightbox-prev,.lightbox-next{font-size:1.4rem;padding:8px 12px}
}
@media(max-width:480px){
.gallery-grid{columns:1}
}
.brand-text {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.5px;
}

.brand-yellow {
    color: #f0c040;
}

.brand-separator {
    color: #ffffff;
}

.brand-white {
    color: #ffffff;
}

/* Auf kleinen Bildschirmen Text kleiner */
@media (max-width: 576px) {
    .brand-text {
        font-size: 11px;
    }
}
.navbar-brand {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px;
}

.navbar-brand img {
    flex-shrink: 0;
    height: 40px;
    width: auto;
}

.brand-text {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.5px;
    white-space: nowrap;
}
.footer-link {
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
}

.footer-link:hover {
    color: #f0c040;
    text-decoration: underline;
}

.footer-separator {
    color: #ffffff;
    margin: 0 10px;
    font-size: 14px;
}