*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

body{
background:linear-gradient(135deg,#030814,#07152c,#0a1f3f);
color:white;
overflow-x:hidden;
}

/* GLOW */
.glow{
position:fixed;
border-radius:50%;
filter:blur(160px);
z-index:-1;
}

.g1{
width:450px;
height:450px;
background:#00c3ff;
top:-150px;
left:-150px;
opacity:.2;
}

.g2{
width:500px;
height:500px;
background:#0044ff;
bottom:-200px;
right:-200px;
opacity:.15;
}

/* NAVBAR */
.navbar{
background:rgba(5,10,25,.6);
backdrop-filter:blur(20px);
border-bottom:1px solid rgba(255,255,255,.08);
}

.brand{
color:white;
font-weight:700;
margin-left:10px;
}

.nav-link{
color:#cfe9ff !important;
transition:.3s;
}

.nav-link:hover{
color:#4fd1ff !important;
}

/* HERO */
.hero{
height:100vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
}

.tag{
display:inline-block;
padding:6px 18px;
border-radius:30px;
border:1px solid rgba(0, 0, 0, 0.2);
background:rgba(255,255,255,.05);
margin-bottom:20px;
color: #5975b8;
}

.title{
font-size:clamp(7rem,18vw,15rem);
font-weight:900;
letter-spacing:14px;

background:linear-gradient(180deg,#fff,#8fdfff,#3ab8ff);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;

text-shadow:0 0 25px rgba(0,200,255,.6);
animation:float 5s ease-in-out infinite;
}

@keyframes float{
50%{transform:translateY(-10px);}
}

.line{
width:300px;
height:3px;
margin:20px auto;
background:linear-gradient(90deg,transparent,#4fd1ff,transparent);
box-shadow:0 0 20px #4fd1ff;
}

.hero p{
color:#cfe6ff;
max-width:600px;
margin:auto;
}

/* PROJECTS */
.projects{
padding:120px 10%;
text-align:center;
}

.projects h2{
font-size:3rem;
margin-bottom:60px;
font-weight:800;
}

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:25px;
}

.card{
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.1);
backdrop-filter:blur(20px);
padding:20px;
border-radius:20px;
transition:.4s;
}

.card:hover{
transform:translateY(-10px) scale(1.03);
box-shadow:0 0 35px rgba(0,195,255,.25);
}

/* Platzhalter Bild */
.img{
width:100%;
height:180px;
border-radius:15px;
background:linear-gradient(135deg,#0f2b5a,#1b4fa0);
margin-bottom:15px;
}

/* FOOTER */
footer{
padding:40px;
text-align:center;
border-top:1px solid rgba(255,255,255,.1);
}

footer a{
color:#9fd6ff;
margin:0 15px;
text-decoration:none;
}

footer a:hover{
color:#4fd1ff;
}



.collage{
padding:120px 10%;
text-align:center;
}

.collage h2{
font-size:3rem;
font-weight:800;
margin-bottom:60px;
}

/* GRID WIE MOODBOARD */
.moodboard{
display:grid;
grid-template-columns:repeat(4,1fr);
grid-auto-rows:180px;
gap:18px;
}

/* BASIS TILE */
.tile{
position:relative;
border-radius:20px;
overflow:hidden;
background:linear-gradient(135deg,#0f2b5a,#0b1f3f);
backdrop-filter:blur(20px);
border:1px solid rgba(255,255,255,.08);
transition:.5s;
cursor:pointer;
}

/* HOVER */
.tile:hover{
transform:scale(1.03);
box-shadow:0 0 40px rgba(0,195,255,.25);
}

/* GRÖSSEN */
.big{
grid-column:span 2;
grid-row:span 2;
}

.medium{
grid-column:span 2;
}

.small{
grid-column:span 1;
}

.wide{
grid-column:span 3;
}

/* FARBE EXTRA */
.blue{
background:linear-gradient(135deg,#005eff,#00c3ff);
}

/* OVERLAY TEXT */
.overlay{
position:absolute;
bottom:0;
left:0;
right:0;
padding:20px;

background:linear-gradient(to top,rgba(0,0,0,.6),transparent);
text-align:left;
}

.overlay h3{
margin:0;
font-size:1.3rem;
}

.overlay p{
margin:5px 0 0;
font-size:.9rem;
color:#cfe8ff;
}

.gallery-section{

    padding:120px 10%;
}

.gallery-section h2{

    text-align:center;

    font-size:3rem;

    margin-bottom:60px;

    font-weight:800;

    color:white;
}

.gallery-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    grid-auto-rows:260px;

    gap:25px;
}

.gallery-card{

    position:relative;

    overflow:hidden;

    border-radius:25px;

    background:
    rgba(255,255,255,.05);

    border:
    1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    transition:.5s;
}

.gallery-card img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s;
}

.gallery-card:hover{

    transform:
    translateY(-10px);

    box-shadow:
    0 0 35px rgba(0,180,255,.25);
}

.gallery-card:hover img{

    transform:scale(1.08);
}

.gallery-overlay{

    position:absolute;

    inset:0;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:25px;

    background:
    linear-gradient(
    transparent,
    rgba(0,0,0,.85)
    );
}

.gallery-overlay h3{

    color:white;

    font-size:1.5rem;

    font-weight:700;

    margin-bottom:5px;

    text-shadow:
    0 0 15px rgba(95,216,255,.4);
}

.gallery-overlay p{

    color:#d7e8ff;
}

/* Layout */

.large{

    grid-column:span 2;
    grid-row:span 2;
}

.wide{

    grid-column:span 2;
}

/* Responsive */

@media(max-width:900px){

.gallery-grid{

    grid-template-columns:1fr;
}

.large,
.wide{

    grid-column:span 1;
    grid-row:span 1;
}

}


.gallery-card::before{

    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:70%;
    height:100%;

    background:
    linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.15),
    transparent
    );

    transform:skewX(-25deg);

    transition:.8s;

    z-index:2;
}

.gallery-card:hover::before{

    left:150%;
}

.gallery-card:hover{

    border-color:
    rgba(100,220,255,.4);

    box-shadow:
    0 0 20px rgba(0,180,255,.2),
    0 0 40px rgba(0,180,255,.15);
}

.navbar-toggler {
  border: none;
  box-shadow: none !important;
}

/* Burger Linien */
.burger-line {
  display: block;
  width: 28px;
  height: 3px;
  background: white;
  margin: 5px 0;
  border-radius: 10px;
  transition: 0.3s;
}

/* X Animation wenn Menü offen ist */
.navbar-toggler[aria-expanded="true"] .burger-line:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.navbar-toggler[aria-expanded="true"] .burger-line:nth-child(2) {
  opacity: 0;
}

.navbar-toggler[aria-expanded="true"] .burger-line:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}