/* ===================================================
   SCHRÖDER HOLZARBEITEN
   Premium Design 2026
=================================================== */

:root{

--gold:#b68b45;
--gold-light:#d8b06a;

--dark:#f6f3ee;
--dark2:#ffffff;
--dark3:#ece6dc;

--white:#ffffff;
--gray:#555555;

--radius:18px;

}

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

html{
scroll-behavior:smooth;
}

body{

font-family:'Montserrat',sans-serif;

background:var(--dark);

color:#222;

line-height:1.7;

overflow-x:hidden;

}

img{

display:block;

max-width:100%;

}

a{

text-decoration:none;

color:inherit;

}

.container{

width:min(1280px,90%);

margin:auto;

}

/* ========================================= */

section{

padding:110px 0;

}

/* ========================================= */

.section-small{

display:block;

color:var(--gold);

letter-spacing:4px;

font-size:14px;

margin-bottom:20px;

text-transform:uppercase;

font-weight:700;

}

h2{

font-size:50px;

margin-bottom:30px;

font-weight:800;

}

p{

color:#4d4d4d;

}

/* ========================================= */

header{

position:fixed;

top:0;

left:0;

width:100%;

z-index:9999;

background:rgba(255,255,255,.92);

backdrop-filter:blur(16px);

transition:.4s;

}

.navbar{

display:flex;

justify-content:space-between;

align-items:center;

height:90px;

}

.logo img{

height:70px;

}

nav ul{

display:flex;

gap:40px;

}

nav a{

font-weight:600;

transition:.35s;

}

nav a:hover{

color:var(--gold);

}

.button-nav{

padding:15px 28px;

background:var(--gold);

border-radius:50px;

font-weight:700;

transition:.35s;

}

.button-nav:hover{

transform:translateY(-3px);

background:var(--gold-light);

}

/* ========================================= */

.hero{

position:relative;

height:100vh;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

overflow:hidden;

}

.hero-image{

position:absolute;

width:100%;

height:100%;

object-fit:cover;

filter:brightness(.35);

animation:zoomHero 18s linear infinite alternate;

}

@keyframes zoomHero{

from{

transform:scale(1);

}

to{

transform:scale(1.15);

}

}

.overlay{

position:absolute;

inset:0;

background:linear-gradient(
rgba(0,0,0,.35),
rgba(0,0,0,.75)
);

}

.hero-content{

position:relative;

z-index:5;

max-width:900px;

padding:20px;

}

.hero-content span{

color:var(--gold);

letter-spacing:6px;

font-size:22px;

font-weight:800;

text-transform:uppercase;

text-shadow: 0 2px 6px rgba(0,0,0,.35);

}

.hero-content h1{

font-size:74px;

margin:30px 0;

line-height:1.1;

color:#fff;

font-weight:900;

-webkit-text-stroke: 1px #000000;

text-shadow:0 2px 8px rgba(0,0,0,.25);

}

.hero-content p{

color:#fff;

font-size:22px;

font-weight:500;

text-shadow:0 2px 8px rgba(0,0,0,.8);

margin-bottom:45px;

}

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.gold-button{

background:var(--gold);

padding:18px 38px;

border-radius:60px;

font-weight:700;

transition:.35s;

}

.gold-button:hover{

background:var(--gold-light);

transform:translateY(-4px);

}

.white-button{

border:2px solid white;

padding:18px 38px;

border-radius:60px;

font-weight:700;

transition:.35s;

}

.white-button:hover{

background:white;

color:#f6f3ee;

} 

/* ===========================================
   FAKTEN
=========================================== */

.facts{

background:#ffffff;

padding:70px 0;

}

.facts-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

text-align:center;

}

.fact{

background:#202020;

padding:40px 20px;

border-radius:18px;

transition:.35s;

border:1px solid rgba(255,255,255,.05);

}

.fact:hover{

transform:translateY(-8px);

border-color:var(--gold);

box-shadow:0 20px 45px rgba(0,0,0,.35);

}

.fact h2{

font-size:42px;

margin-bottom:10px;

color:var(--gold);

}

.fact p{

color:#555555;

}

/* ===========================================
   LEISTUNGEN
=========================================== */

.leistungen{

background:#f6f3ee;

}

.leistungen-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(270px,1fr));

gap:35px;

margin-top:60px;

}

.card{

background:#ffffff;

border-radius:22px;

overflow:hidden;

transition:.4s;

border:1px solid rgba(255,255,255,.06);

box-shadow:0 10px 25px rgba(0,0,0,.25);

}

.card:hover{

transform:translateY(-12px);

box-shadow:0 25px 60px rgba(0,0,0,.45);

border-color:var(--gold);

}

.card img{

width:100%;

height:240px;

object-fit:cover;

transition:.5s;

}

.card:hover img{

transform:scale(1.08);

}

.card h3{

padding:25px 25px 10px;

font-size:26px;

color:#222;

}

.card p{

padding:0 25px 30px;

color:#bfbfbf;

}

/* Goldene Linie */

.card::after{

content:"";

display:block;

width:0;

height:4px;

background:var(--gold);

transition:.4s;

}

.card:hover::after{

width:100%;

} 
/* ===========================================
   PROJEKTE / GALERIE
=========================================== */

.projects{
    background:var(--dark2);
}

.gallery{
    margin-top:60px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.gallery img{
    width:100%;
    height:320px;
    object-fit:cover;
    border-radius:20px;
    transition:.45s;
    cursor:pointer;
    box-shadow:0 15px 40px rgba(0,0,0,.35);
}

.gallery img:hover{
    transform:scale(1.04);
    filter:brightness(.85);
}

/* ===========================================
   ÜBER MICH
=========================================== */

.about{
    background:#f6f3ee;
}

.about-grid{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:70px;
    align-items:center;
}

.about-image img{
    width:100%;
    border-radius:22px;
    box-shadow:0 25px 60px rgba(0,0,0,.45);
}

.about-content span{
    color:var(--gold);
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
}

.about-content h2{
    margin:20px 0 30px;
}

.about-content p{
    margin-bottom:20px;
    color:#555555;
    font-size:18px;
}

.about-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-top:45px;
}

.about-stats div{
    background:#1d1d1d;
    padding:30px;
    border-radius:18px;
    text-align:center;
    transition:.35s;
}

.about-stats div:hover{
    transform:translateY(-8px);
    border:1px solid var(--gold);
}

.about-stats h3{
    color:var(--gold);
    font-size:34px;
    margin-bottom:8px;
}

.about-stats p{
    margin:0;
    font-size:15px;
} 
/* ==========================
   ABOUT
========================== */

.about{
    padding:120px 0;
    background:#f6f3ee;
}

.about-grid{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:70px;
    align-items:center;
}

.about-image img{
    width:100%;
    border-radius:20px;
    box-shadow:0 25px 60px rgba(0,0,0,.45);
}

.about-content span{
    color:var(--gold);
    letter-spacing:3px;
    font-weight:700;
    text-transform:uppercase;
}

.about-content h2{
    font-size:52px;
    line-height:1.2;
    margin:15px 0 30px;
}

.about-content p{
    color:#555555;
    line-height:1.8;
    margin-bottom:20px;
    font-size:18px;
}

.about-features{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    margin:35px 0;
}

.feature{
    background:#ffffff;
    padding:18px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.05);
    transition:.3s;
}

.feature:hover{
    border-color:var(--gold);
    transform:translateY(-5px);
}

@media(max-width:900px){

.about-grid{
    grid-template-columns:1fr;
}

.about-content h2{
    font-size:38px;
}

.about-features{
    grid-template-columns:1fr;
}

} 
/* ==========================
   CONTACT
========================== */
.contact{
    padding:120px 0;
    background:#f6f3ee;
}

.contact-grid{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:80px;
    align-items:start;
}

.contact-info h2{
    font-size:58px;
    line-height:1.2;
    margin:20px 0 30px;
}

.contact-info p{
    color:#555555;
    font-size:18px;
    line-height:1.8;
    margin-bottom:35px;
}

.contact-box{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:25px;
}

.contact-box i{
    width:55px;
    height:55px;
    background:var(--gold);
    color:#f6f3ee;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:22px;
}

.contact-box h4{
    margin:0;
    color:#222;
    font-size:18px;
}

.contact-box p{
    margin:4px 0 0;
    color:#bbb;
}

.contact-form{
    background:#ffffff;
    padding:40px;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.4);
    width:100%;
    max-width:700px;
    padding:45px;
}

.contact-form .row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-bottom:20px;
}

.contact-form input,
.contact-form textarea{
    width:100%;
    background:#fff;
    color:#222;
    border:1px solid #333;
    border-radius:12px;
    padding:20px;
    font-size:17px;
    margin-bottom:20px;
}

.contact-form textarea{
    min-height:180px;
    resize:none;
    margin-top:20px;
}

.contact-form input:focus,
.contact-form textarea:focus{
    outline:none;
    border-color:var(--gold);
}

.contact-form button{
    width:100%;
    margin-top:25px;
    background:var(--gold);
    color:#f6f3ee;
    padding:20px;
    border:none;
    border-radius:12px;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
    transition:.3s;
}

.contact-form button:hover{
    transform:translateY(-3px);
} 

/* ==========================
   FOOTER
========================== */

footer{
    background:#efefef;
    padding:60px 0;
    border-top:1px solid rgba(255,255,255,.08);
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:40px;
}

footer h3{
    margin-bottom:20px;
}

footer p,
footer a{
    color:#bcbcbc;
    text-decoration:none;
    display:block;
    margin-bottom:10px;
}

.copyright{
    text-align:center;
    margin-top:40px;
    color:#777;
} 
/* ==========================
   HOVER EFFEKTE
========================== */

.project-card{
    transition:.4s;
    overflow:hidden;
}

.project-card img{
    transition:.6s;
}

.project-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(0,0,0,.45);
}

.project-card:hover img{
    transform:scale(1.08);
}

.button-gold,
.button-outline,
.contact-form button{
    transition:.35s;
}

.button-gold:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 35px rgba(212,175,55,.45);
}

.button-outline:hover{
    background:#d4af37;
    color:#f6f3ee;
    transform:translateY(-4px);
}

.contact-form button:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 35px rgba(212,175,55,.45);
}

/* ==========================
   SCROLL ANIMATIONEN
========================== */

.fade-up{
    opacity:0;
    transform:translateY(50px);
    transition:1s;
}

.fade-up.show{
    opacity:1;
    transform:translateY(0);
}

/* ==========================
   SCROLLBAR
========================== */

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#f6f3ee;
}

::-webkit-scrollbar-thumb{
    background:#d4af37;
    border-radius:50px;
}

::-webkit-scrollbar-thumb:hover{
    background:#f0c64f;
}

/* ==========================
   SELECTION
========================== */

::selection{
    background:#d4af37;
    color:#f6f3ee;
}

/* ==========================
   BILDER
========================== */

img{
    max-width:100%;
    display:block;
}

/* ==========================
   MOBILE
========================== */

@media(max-width:1100px){

.hero h1{
font-size:60px;
}

.about-grid,
.contact-grid,
.footer-grid{
grid-template-columns:1fr;
}

.about-image{
order:-1;
}

.gallery-grid{
grid-template-columns:repeat(2,1fr);
}

.nav-links{
display:none;
}

}

@media(max-width:768px){

.hero{
padding:140px 20px 100px;
text-align:center;
}

.hero h1{
font-size:42px;
line-height:1.2;
}

.hero p{
font-size:18px;
}

.hero-buttons{
flex-direction:column;
align-items:center;
}

.gallery-grid{
grid-template-columns:1fr;
}

.about-content h2,
.contact-info h2{
font-size:36px;
}

.about-stats{
grid-template-columns:1fr;
}

.container{
width:92%;
}

section{
padding:90px 0;
}

}

/* ==========================
   SANFTE ANIMATION
========================== */

@keyframes float{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-8px);
}

100%{
transform:translateY(0);
}

}

.hero-buttons a:first-child{
animation:float 3s ease-in-out infinite;
}

/* ==========================
   GLAS EFFEKT
========================== */

.glass{
background:rgba(255,255,255,.04);
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.08);
}

/* ==========================
   GOLDENER LICHTSCHEIN
========================== */

.gold-glow{
box-shadow:
0 0 15px rgba(212,175,55,.25),
0 0 40px rgba(212,175,55,.15);
}
/* ==========================
   RECHTLICHE SEITEN
========================== */

.legal{

padding:100px 0;

background:#f6f3ee;

}

.legal .container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:30px;

}

.legal .card{

background:#1a1a1a;

padding:35px;

border-radius:18px;

border:1px solid rgba(255,255,255,.06);

transition:.35s;

}

.legal .card:hover{

transform:translateY(-8px);

border-color:#d4af37;

box-shadow:0 25px 60px rgba(0,0,0,.4);

}

.legal h2{

font-size:26px;

margin-bottom:20px;

color:#d4af37;

}

.legal p{

line-height:1.8;

color:#d7d7d7;

} 
/* ===========================
   Impressum & Datenschutz
=========================== */

.legal-page{
    padding:120px 20px;
    background:#f6f3ee;
    min-height:80vh;
}

.container-small{
    max-width:900px;
    margin:auto;
    background:#ffffff;
    padding:50px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 20px 50px rgba(0,0,0,.35);
}

.container-small h1{
    font-size:48px;
    margin-bottom:40px;
    color:#d4af37;
}

.container-small h2{
    margin-top:35px;
    margin-bottom:12px;
    color:#222;
}

.container-small p{
    color:#555555;
    line-height:1.9;
}

.copyright{
    text-align:center;
    padding:30px;
    background:#0b0b0b;
    color:#888;
} 
/* =========================
   COOKIE BANNER
========================= */

.cookie-banner{
    position: fixed;
    left: 20px;
    right: 20px;
    bottom: 20px;
    background: #171717;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    padding: 25px;
    box-shadow: 0 15px 40px rgba(0,0,0,.45);
    z-index: 9999;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
}

.cookie-text h3{
    color:#222;
    margin-bottom:10px;
    font-size:24px;
}

.cookie-text p{
    color:#555555;
    line-height:1.7;
    max-width:700px;
}

.cookie-text a{
    color:#d8a13b;
    text-decoration:none;
}

.cookie-buttons{
    display:flex;
    gap:15px;
}

.cookie-btn{
    padding:14px 28px;
    border-radius:40px;
    border:none;
    font-size:16px;
    cursor:pointer;
    transition:.3s;
    font-weight:600;
}

.cookie-btn.accept{
    background:#d8a13b;
    color:#222;
}

.cookie-btn.accept:hover{
    background:#bf8b29;
}

.cookie-btn.decline{
    background:transparent;
    border:2px solid #555;
    color:#222;
}

.cookie-btn.decline:hover{
    border-color:#d8a13b;
}

@media(max-width:900px){

.cookie-banner{
    flex-direction:column;
    text-align:center;
}

.cookie-buttons{
    width:100%;
    justify-content:center;
    flex-wrap:wrap;
}

.cookie-btn{
    width:220px;
}

} 
/* =====================================
   WhatsApp Floating Button
===================================== */

.whatsapp-button{

position:fixed;

right:30px;

bottom:30px;

width:72px;

height:72px;

border-radius:50%;

background:#25D366;

color:#222;

display:flex;

justify-content:center;

align-items:center;

box-shadow:0 12px 35px rgba(37,211,102,.45);

z-index:9999;

transition:.35s;

animation:whatsappFloat 2.5s ease-in-out infinite;

}

.whatsapp-button:hover{

transform:scale(1.12);

box-shadow:0 20px 50px rgba(37,211,102,.55);

}

@keyframes whatsappFloat{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-8px);

}

100%{

transform:translateY(0);

}

}

@media(max-width:768px){

.whatsapp-button{

width:62px;

height:62px;

right:18px;

bottom:18px;

}

} 
/*=============================
 GOOGLE BEWERTUNGEN
=============================*/

.review-box{

margin-top:50px;

background:#ffffff;

padding:45px;

border-radius:20px;

border:1px solid rgba(255,255,255,.08);

text-align:center;

}

.review-box h3{

font-size:32px;

margin-bottom:20px;

color:#222;

}

.review-box p{

max-width:650px;

margin:auto;

color:#555555;

line-height:1.8;

margin-bottom:35px;

} 
/* ==========================
   Google Maps
========================== */

.map-section{
    padding:100px 0;
    background:#f6f3ee;
}

.map-section span{
    color:#d9a441;
    font-weight:700;
    letter-spacing:2px;
}

.map-section h2{
    color:#222;
    font-size:48px;
    margin:15px 0 40px;
}

.map-section iframe{
    border-radius:20px;
    box-shadow:0 10px 40px rgba(0,0,0,.35);
} 

/* ==========================
   ENDE
========================== */ 

/* === Mobile Optimierungen === */
@media (max-width:900px){
nav ul{display:none;}
.navbar{height:auto;padding:15px 0;}
.hero{min-height:90vh;padding:120px 20px 60px;}
.hero-content h1{font-size:42px!important;}
.hero-content p{font-size:18px!important;}
.hero-buttons{flex-direction:column;align-items:center;}
.hero-buttons a{width:100%;max-width:320px;text-align:center;}
.facts-grid,.gallery,.about-grid,.contact-grid,.footer-grid{grid-template-columns:1fr!important;}
.about-stats{grid-template-columns:1fr!important;}
.contact-form .row{grid-template-columns:1fr!important;}
.contact-form{padding:25px!important;}
section{padding:70px 0!important;}
h2{font-size:34px!important;}
.gallery img{height:240px!important;}
.cookie-banner{flex-direction:column;text-align:center;}
.whatsapp-button{width:60px;height:60px;right:15px;bottom:15px;}
}

/* ===== Projektstories 2026 ===== */
.projects-showcase{padding:110px 0;background:#f3efe7;overflow:hidden}.projects-showcase .container>h2{max-width:850px;margin:10px 0 16px}.projects-intro{max-width:760px;font-size:1.08rem;line-height:1.75;color:#5d584f;margin:0 0 48px}.project-story-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.project-story{background:#171914;border-radius:3px;overflow:hidden;box-shadow:0 18px 50px rgba(25,22,15,.12)}.project-story-featured{grid-row:span 2}.project-open{display:flex;flex-direction:column;width:100%;height:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.project-cover{position:relative;min-height:300px;overflow:hidden;background:#222}.project-story-featured .project-cover{min-height:520px}.project-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.48))}.project-cover img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project-open:hover .project-cover img{transform:scale(1.035)}.project-number{position:absolute;right:22px;bottom:16px;z-index:2;font-family:Georgia,serif;font-size:3.4rem;color:rgba(255,255,255,.85);line-height:1}.project-copy{padding:28px 30px 32px;color:#f6f1e7}.project-copy h3{font-size:1.8rem;margin:8px 0 12px}.project-copy p{color:#c8c3b9;line-height:1.65;margin:0 0 20px}.project-kicker,.project-modal-kicker{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#c6a45f}.project-cta{display:inline-flex;gap:12px;align-items:center;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#e6cf9c}.project-cta b{font-size:1.3rem;transition:transform .25s}.project-open:hover .project-cta b{transform:translateX(5px)}.more-work{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:end;margin-top:70px;padding-top:34px;border-top:1px solid #d4cbbb}.more-work h3{font-size:1.6rem;margin:8px 0 0}.mini-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mini-gallery img{width:100%;height:150px;object-fit:cover;filter:saturate(.82);transition:.3s}.mini-gallery img:hover{filter:saturate(1);transform:translateY(-3px)}
.project-modal{position:fixed;inset:0;z-index:9999;display:none}.project-modal.is-open{display:block}.project-modal-backdrop{position:absolute;inset:0;background:rgba(10,11,9,.82);backdrop-filter:blur(7px)}.project-modal-panel{position:absolute;inset:3vh 3vw;overflow:auto;background:#f5f1e9;color:#24241f;box-shadow:0 25px 90px rgba(0,0,0,.45);padding:58px clamp(24px,5vw,80px) 70px}.project-modal-close{position:sticky;top:0;float:right;z-index:4;width:46px;height:46px;border:1px solid #9d927f;background:#f5f1e9;font-size:2rem;line-height:1;cursor:pointer}.project-modal-head{max-width:800px;padding-top:20px}.project-modal-head h2{font-size:clamp(2.3rem,5vw,4.8rem);line-height:1.02;margin:10px 0 18px}.project-modal-head p{max-width:680px;line-height:1.7;color:#655f55}.project-progress{display:flex;align-items:center;gap:14px;margin:40px 0 22px;font-size:.7rem;letter-spacing:.14em;color:#817766}.project-progress i{height:1px;flex:1;background:#c9beac}.project-modal-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.project-shot{grid-column:span 6;margin:0;position:relative;background:#ddd;overflow:hidden}.project-shot:nth-child(3n+1){grid-column:span 7}.project-shot:nth-child(3n+2){grid-column:span 5}.project-shot img{display:block;width:100%;height:460px;object-fit:cover;transition:transform .4s}.project-shot:hover img{transform:scale(1.015)}.project-shot figcaption{position:absolute;left:0;bottom:0;background:rgba(17,18,15,.86);color:#eee6d8;padding:9px 13px;font-size:.75rem;letter-spacing:.06em}.project-shot:last-child:nth-child(odd){grid-column:span 12}.project-shot:last-child:nth-child(odd) img{height:560px}.modal-lock{overflow:hidden}
@media(max-width:850px){.projects-showcase{padding:80px 0}.project-story-grid{grid-template-columns:1fr}.project-story-featured{grid-row:auto}.project-story-featured .project-cover,.project-cover{min-height:330px}.more-work{grid-template-columns:1fr}.mini-gallery{grid-template-columns:repeat(2,1fr)}.project-modal-panel{inset:0;padding:28px 18px 50px}.project-shot,.project-shot:nth-child(3n+1),.project-shot:nth-child(3n+2),.project-shot:last-child:nth-child(odd){grid-column:span 12}.project-shot img,.project-shot:last-child:nth-child(odd) img{height:auto;max-height:70vh;object-fit:contain;background:#1a1b17}}

/* ===== Kontakt / Projekt-Konfigurator v2 ===== */
.contact-v2{background:linear-gradient(135deg,#eee8de 0%,#f8f5ef 58%,#eee6d8 100%);position:relative;overflow:hidden}
.contact-v2:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(181,129,43,.16);border-radius:50%;right:-180px;top:-220px;box-shadow:0 0 0 70px rgba(181,129,43,.025),0 0 0 140px rgba(181,129,43,.018)}
.contact-v2 .contact-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:58px;align-items:start;position:relative;z-index:1}
.contact-copy h2{font-size:clamp(2.6rem,4.8vw,5rem);line-height:1.02;margin:12px 0 22px;max-width:620px}
.contact-lead{font-size:1.08rem;line-height:1.75;color:#5c574f;max-width:590px;margin-bottom:28px}
.contact-v2 .contact-info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:30px 0}
.contact-v2 .contact-info p{margin:0;padding:16px 14px;background:rgba(255,255,255,.55);border:1px solid rgba(78,65,43,.11);border-radius:12px;font-size:.92rem;line-height:1.5}
.partner-card{margin-top:34px;background:#171914;color:#f4eee4;padding:30px;border-radius:18px;box-shadow:0 18px 48px rgba(20,17,12,.14);position:relative;overflow:hidden}
.partner-card:after{content:"K";position:absolute;right:-10px;bottom:-50px;font-family:Georgia,serif;font-size:180px;color:rgba(255,255,255,.035);line-height:1}
.partner-label{font-size:.7rem;letter-spacing:.16em;color:#c8a45b;font-weight:700}
.partner-card h3{font-size:1.7rem;line-height:1.18;margin:10px 0 12px;color:#fff}
.partner-card p{color:#c8c3b8;line-height:1.65;margin:0 0 18px}
.partner-link{display:inline-flex;align-items:center;gap:9px;color:#e9c36f;text-decoration:none;font-weight:700;position:relative;z-index:1}
.partner-link span{font-size:1.2rem;transition:transform .2s}.partner-link:hover span{transform:translate(3px,-3px)}
.project-request-card{background:rgba(255,255,255,.82);border:1px solid rgba(92,77,52,.14);border-radius:24px;padding:34px;box-shadow:0 28px 70px rgba(54,45,31,.12);backdrop-filter:blur(12px)}
.request-head h3{font-size:2rem;margin:8px 0}.request-head p{color:#6a645c;margin:0 0 22px}
.contact-form-v2{padding:0!important;background:none!important;box-shadow:none!important;border-radius:0!important}
.project-picker{border:0;padding:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.project-choice{position:relative;cursor:pointer;display:flex;align-items:center;gap:10px;padding:14px 15px;border:1px solid #d8d0c2;border-radius:13px;background:#fff;min-height:58px;transition:.2s;color:#282721}
.project-choice input{position:absolute;opacity:0;pointer-events:none}
.project-choice span{font-size:1.18rem}.project-choice b{font-size:.9rem;line-height:1.25}
.project-choice:has(input:checked){border-color:#b87a1f;background:#fff4df;box-shadow:0 0 0 2px rgba(184,122,31,.12)}
.project-choice:has(input:checked):after{content:"✓";margin-left:auto;width:22px;height:22px;border-radius:50%;background:#b87a1f;color:white;display:grid;place-items:center;font-size:.75rem;font-weight:800}
.contact-form-v2 input,.contact-form-v2 select,.contact-form-v2 textarea{background:#fff;border:1px solid #cfc7ba;border-radius:12px;outline:none;transition:.2s}
.contact-form-v2 input:focus,.contact-form-v2 select:focus,.contact-form-v2 textarea:focus{border-color:#b87a1f;box-shadow:0 0 0 3px rgba(184,122,31,.10)}
.contact-form-v2 select{width:100%;padding:18px;font:inherit;color:#666}
.contact-form-v2 button{display:flex;justify-content:center;align-items:center;gap:12px;border-radius:12px;font-weight:800;letter-spacing:.02em}.contact-form-v2 button span{font-size:1.3rem;transition:.2s}.contact-form-v2 button:hover span{transform:translateX(4px)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:980px){.contact-v2 .contact-grid{grid-template-columns:1fr;gap:34px}.contact-v2 .contact-info{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:650px){.project-request-card{padding:22px 16px}.project-picker{grid-template-columns:1fr}.contact-v2 .contact-info{grid-template-columns:1fr}.contact-copy h2{font-size:2.65rem!important}.partner-card{padding:24px 20px}.contact-form-v2 .row{grid-template-columns:1fr!important}}


/* ===== Galerie/Modal Korrekturen v3 ===== */
.mini-gallery-item{
  position:relative;display:block;width:100%;padding:0;border:0;background:#171914;cursor:zoom-in;overflow:hidden;
}
.mini-gallery-item img{display:block;width:100%;height:150px;object-fit:cover;filter:saturate(.82);transition:transform .35s ease,filter .35s ease}
.mini-gallery-item span{position:absolute;left:10px;bottom:10px;padding:7px 10px;background:rgba(20,20,17,.82);color:#fff;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;opacity:0;transform:translateY(5px);transition:.25s}
.mini-gallery-item:hover img,.mini-gallery-item:focus-visible img{filter:saturate(1);transform:scale(1.035)}
.mini-gallery-item:hover span,.mini-gallery-item:focus-visible span{opacity:1;transform:none}
.mini-gallery-item:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.project-shot{background:#1a1b17}
.project-shot-open{display:block;width:100%;height:100%;padding:0;border:0;background:#1a1b17;cursor:zoom-in;position:relative}
.project-shot-open img{display:block;width:100%;height:460px;object-fit:contain;background:#1a1b17;transition:transform .35s ease}
.project-shot-open:hover img{transform:scale(1.01)}
.project-shot:last-child:nth-child(odd) .project-shot-open img{height:560px}

.image-lightbox{position:fixed;inset:0;z-index:12000;display:none;align-items:center;justify-content:center;padding:24px}
.image-lightbox.is-open{display:flex}
.image-lightbox-backdrop{position:absolute;inset:0;background:rgba(8,9,7,.94);backdrop-filter:blur(8px)}
.image-lightbox-content{position:relative;z-index:1;max-width:min(96vw,1500px);max-height:94vh;display:flex;flex-direction:column;align-items:center;justify-content:center}
.image-lightbox-content img{display:block;max-width:100%;max-height:86vh;width:auto;height:auto;object-fit:contain;box-shadow:0 20px 70px rgba(0,0,0,.5)}
.image-lightbox-content p{color:#eee7d9;margin:10px 0 0;font-size:.9rem;text-align:center}
.image-lightbox-close{position:absolute;right:-8px;top:-8px;z-index:2;width:46px;height:46px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#f4efe6;color:#1a1a17;font-size:2rem;line-height:1;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.lightbox-lock{overflow:hidden}

@media(max-width:900px){
  .button-nav{padding:12px 18px;font-size:.86rem;white-space:nowrap}
  .logo img{height:54px}
  .navbar{gap:12px}
  .projects-intro{font-size:1rem;margin-bottom:32px}
  .project-copy{padding:22px 20px 25px}
  .project-copy h3{font-size:1.5rem}
  .more-work{margin-top:48px;gap:22px}
  .mini-gallery-item img{height:180px}
  .mini-gallery-item span{opacity:1;transform:none;font-size:.66rem}
  .project-shot-open img,.project-shot:last-child:nth-child(odd) .project-shot-open img{height:auto;max-height:74vh;object-fit:contain}
}
@media(max-width:560px){
  .container{width:min(92%,1200px)}
  .navbar{padding:10px 0}
  .logo img{height:46px}
  .button-nav{padding:10px 13px;font-size:.75rem}
  .hero{padding-left:16px!important;padding-right:16px!important}
  .hero-content h1{font-size:34px!important;line-height:1.06}
  .mini-gallery{grid-template-columns:1fr}
  .mini-gallery-item img{height:230px}
  .project-story-featured .project-cover,.project-cover{min-height:260px}
  .project-modal-head h2{font-size:2.2rem}
  .image-lightbox{padding:10px}
  .image-lightbox-close{right:4px;top:4px;width:42px;height:42px}
  .image-lightbox-content img{max-height:82vh}
}
