/* ==========================================
   EDT STREIT
   Engineering | Development | Training
========================================== */

:root{

    --primary:#0F172A;
    --secondary:#1E293B;

    --accent:#F97316;

    --light:#F8FAFC;
    --white:#FFFFFF;

    --text:#334155;

    --shadow:
    0 10px 30px rgba(0,0,0,0.08);

}

/* ==========================================
   RESET
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;

    background:
    linear-gradient(
    to bottom,
    #f8fafc,
    #ffffff);

    color:var(--text);

    line-height:1.7;
	
	padding-top:100px;

}

/* ==========================================
   CONTAINER
========================================== */

.container{

    width:90%;

    max-width:1400px;

    margin:auto;

}

/* ==========================================
   HEADER
========================================== */

header{

    height:110px;

    position:fixed;
    top:0;
    width:100%;

    z-index:1000;

    background:rgba(255,255,255,0.95);

    backdrop-filter:blur(12px);

    border-bottom:1px solid rgba(0,0,0,0.05);

}
header .container{

    display:flex;
    align-items:center;
    justify-content:space-between;

    width:98%;
    max-width:none;

    margin:0 auto;

    height:110px;

}

.logo{

    display:flex;
    align-items:center;
    gap:12px;

}

.logo img{

    height:80px;
    width:auto;

    display:block;

}

.logo-title{

    font-size:1.9rem;
    font-weight:800;

    line-height:1;

}

.logo-subtitle{
    font-size:0.85rem;
    white-space:nowrap;
}

.logo-text{

    display:flex;
    flex-direction:column;
    justify-content:center;

    margin-left:0;

}

nav{

    margin-left:auto;

}

nav ul{

    display:flex;
    gap:28px;

    list-style:none;
    margin:0;
    padding:0;

}

nav a{

    text-decoration:none;

    color:var(--primary);

    font-weight:600;

    transition:.3s;

}

nav a:hover{

    color:var(--accent);

}

/* ==========================================
   HERO
========================================== */

.hero{

    position:relative;

    min-height:100vh;

    background:
    linear-gradient(
    rgba(5,15,35,.85),
    rgba(15,23,42,.90)),
    url("../images/Waferhandling_XYPhi.png");

    background-size:cover;
    background-position:center;
    background-attachment:fixed;

    display:flex;
    align-items:center;

}

.hero-content{

    display:grid;

    grid-template-columns:1.4fr 320px;

    gap:80px;

    align-items:center;

}

.hero-left{

    color:white;

}

.hero-left h1{

    font-size:4.5rem;

    font-weight:800;

    letter-spacing:-2px;

    line-height:1.05;

    margin-bottom:30px;

}

.lead{

    font-size:1.3rem;

    margin-bottom:40px;

    color:#E2E8F0;

}

.hero-buttons{

    display:flex;

    gap:20px;

}

.btn-primary{

    background:var(--accent);

    color:white;

    padding:16px 30px;

    border-radius:8px;

    text-decoration:none;

    font-weight:600;

}

.btn-primary,
.btn-secondary{

    transition:
    all .3s ease;

}

.btn-primary:hover{

    background:#ea580c;

    transform:
    translateY(-2px);

}

.btn-secondary{

    border:2px solid white;

    color:white;

    padding:16px 30px;

    border-radius:8px;

    text-decoration:none;

}

.btn-secondary:hover{

    background:white;

    color:var(--primary);

}

.hero-right{

    display:flex;

    justify-content:center;

}

.hero-right img{

    width:100%;

    max-width:280px;

    margin-left:auto;

    display:block;

    border-radius:24px;

    border:4px solid rgba(249,115,22,0.5);

    box-shadow:
    0 25px 60px rgba(0,0,0,0.35);

}

/* ==========================================
   SECTION
========================================== */

section{

    padding:120px 0;

}

.section-header{

    text-align:center;

    margin-bottom:60px;

}

.section-header h2{

    font-size:3rem;

    color:var(--primary);

    margin-bottom:15px;

}

/* ==========================================
   CARDS
========================================== */

.card-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(320px,1fr));

    gap:30px;

}

.card{

    background:white;

    padding:40px;

    border-radius:20px;

    border-top:
    5px solid var(--accent);

    box-shadow:
    0 15px 40px rgba(15,23,42,0.08);

    transition:
    all .35s ease;

}

.card:hover{

    transform:
    translateY(-12px);

    box-shadow:
    0 25px 60px rgba(15,23,42,0.15);

}

.card h3{

    color:var(--primary);

    margin-bottom:20px;

}

.card ul{

    list-style:none;

}

.card li{

    margin-bottom:10px;

    padding-left:20px;

    position:relative;

}

.card li::before{

    content:"✓";

    position:absolute;

    left:0;

    color:var(--accent);

}

/* ==========================================
   BRANCHEN
========================================== */

#branchen{

    background:var(--primary);

    color:white;

}

#branchen h2{

    color:white;

}

.branchen-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(250px,1fr));

    gap:20px;

}

.branche{

    background:
    rgba(255,255,255,.10);

    backdrop-filter:blur(6px);

    border:
    1px solid rgba(255,255,255,.15);

    padding:30px;

    border-radius:15px;

    transition:
    all .3s ease;

}

.branche:hover{

    background:
    rgba(249,115,22,.2);

    transform:
    translateY(-5px);

}

/* ==========================================
   ABOUT
========================================== */

.about-grid{

    display:grid;

    grid-template-columns:
    350px 1fr;

    gap:60px;

    align-items:center;

}

.about-image img{

    width:100%;

    max-width:280px;

    border-radius:20px;

    box-shadow:var(--shadow);

}

.about-content h2{

    margin-bottom:20px;

    color:var(--primary);

}

.about-content p{

    margin-bottom:20px;

}

.linkedin-btn{

    display:inline-block;

    background:#0077b5;

    color:white;

    text-decoration:none;

    padding:12px 25px;

    border-radius:6px;

}

#engineering{
    padding-top:40px;
    padding-bottom:40px;
}

#ueber{
    padding-top:80px;
    padding-bottom:40px;
}

/* ==========================================
   REFERENZEN
========================================== */

.reference-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(350px,1fr));

    gap:30px;

}

.reference-card{

    overflow:hidden;

    border-radius:20px;

    background:white;

    box-shadow:
    0 15px 40px rgba(0,0,0,0.1);

    transition:
    all .35s ease;

    cursor:pointer;

}

.reference-card:hover{

    transform:
    translateY(-10px);

}

.reference-card img{

    width:100%;
    height:220px;
    object-fit:cover;
	display:block;
    transition:
    transform .6s ease;

}

.reference-card:hover img{

    transform:
    scale(1.05);

}

.reference-card h3{

    padding:20px;

}

.engineering-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    max-width: 900px;
    margin: 0 auto;
}

/* ==========================================
   KONTAKT
========================================== */

#kontakt{

    background:var(--primary);

    color:white;

}

#kontakt h2{

    color:white;

}

.contact-grid{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:60px;

}

form{

    display:flex;

    flex-direction:column;

}

.form-note{

    margin-top:15px;

    font-size:0.85rem;

    color:#cbd5e1;

}

.form-note a{

    color:var(--accent);

    text-decoration:none;

}

input,
textarea{

    padding:15px;

    margin-bottom:20px;

    border:none;

    border-radius:6px;

}

textarea{

    min-height:180px;

}

button{

    background:var(--accent);

    color:white;

    border:none;

    padding:16px;

    cursor:pointer;

    border-radius:6px;

    font-size:1rem;

}

button:hover{

    background:#ea580c;

}


/* ==========================================
   FOOTER
========================================== */

footer{

    background:#020617;

    color:white;

    text-align:center;

    padding:30px;

}

footer a{

    color:#CBD5E1;

    text-decoration:none;

    margin:0 10px;

}

footer a:hover{

    color:var(--accent);

}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:992px){

.hero-content{

    grid-template-columns:1fr;

}

.about-grid{

    grid-template-columns:1fr;

}

.contact-grid{

    grid-template-columns:1fr;

}

.hero-left h1{

    font-size:3rem;

}

}

@media(max-width:768px){

    .hero-content{
        display:flex;
        flex-direction:column;
    }

    .hero-right{
        order:2;
    }

    .hero-left{
        order:1;
    }

    .hero-left h1{
        font-size:2rem;
        line-height:1.15;
    }

    .hero-right img{
        max-width:220px;
    }

    nav{
        display:none;
    }

    .section-header h2{
        font-size:2rem;
    }

    .hero-buttons{
        flex-direction:column;
    }

}

/* ==========================================
   LIGHTBOX
========================================== */

.lightbox{

    display:none;

    position:fixed;

    z-index:9999;

    left:0;
    top:0;

    width:100%;
    height:100%;

    background:rgba(0,0,0,0.9);

    justify-content:center;
    align-items:center;

}

.lightbox-content{

    max-width:90%;
    max-height:90%;

    border-radius:10px;

    box-shadow:0 0 30px rgba(0,0,0,0.5);

}

.lightbox-close{

    position:absolute;

    top:20px;
    right:40px;

    color:white;

    font-size:50px;

    cursor:pointer;

    font-weight:bold;

}