/* =====================================================
   LUMACA'S REFUGIUM
   ALPHA 0.6
=====================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    background:#090909;

    color:#fff;

    font-family:'Rajdhani',sans-serif;

    overflow-x:hidden;

}

/* ============================
            HEADER
============================= */

header{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    height:90px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:0 70px;

    background:rgba(8,8,8,.45);

    backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(255,140,0,.18);

    z-index:9999;

    transition:.35s;

}

.logo{

    font-size:34px;

    font-weight:700;

    letter-spacing:2px;

    color:#ff9800;

    text-transform:uppercase;

    text-shadow:

        0 0 18px rgba(255,150,0,.45);

}

/* ============================
          NAVIGATION
============================= */

nav{

    display:flex;

    gap:42px;

}

nav a{

    color:white;

    text-decoration:none;

    font-size:26px;

    font-weight:600;

    letter-spacing:1px;

    transition:.35s;

    position:relative;

}

nav a:hover{

    color:#ff9800;

}

nav a.active{

    color:#ff9800;

}

nav a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:#ff9800;

    transition:.35s;

}

nav a:hover::after,
nav a.active::after{

    width:100%;

}

/* ============================
            HERO
============================= */

.hero{

    position:relative;

    width:100%;

    height:100vh;

    overflow:hidden;

}

.hero-image{

    position:absolute;

    inset:0;

    background:url("assets/images/landingpage2.png");

    background-size:cover;

    background-position:center;

    animation:zoom 30s ease-in-out infinite alternate;

}

@keyframes zoom{

    from{

        transform:scale(1);

    }

    to{

        transform:scale(1.08);

    }

}

.overlay{

    position:absolute;

    inset:0;

    background:

    linear-gradient(

        rgba(0,0,0,.10),

        rgba(0,0,0,.28),

        rgba(0,0,0,.68)

    );

}

/* ============================
         HERO CONTENT
============================= */

.hero-content{

    position:relative;

    z-index:5;

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding-top:60px;

}

.subtitle{

    color:#ff9800;

    font-size:28px;

    letter-spacing:8px;

    margin-bottom:25px;

    text-shadow:

        0 0 12px rgba(255,140,0,.45);

}

.hero h1{

    font-size:145px;

    line-height:.9;

    font-weight:700;

    letter-spacing:4px;

    text-shadow:

        0 0 35px rgba(0,0,0,.75);

}

.hero h2{

    margin-top:18px;

    font-size:48px;

    font-weight:500;

    letter-spacing:3px;

}

.hero p{

    margin-top:55px;

    font-size:34px;

    line-height:1.7;

    color:#e5e5e5;

    max-width:900px;

}

/* ============================
        START BUTTON
============================= */

.start-btn{

    margin-top:65px;

    padding:24px 85px;

    background:#ff9800;

    color:#fff;

    text-decoration:none;

    font-size:32px;

    font-weight:700;

    letter-spacing:2px;

    border-radius:10px;

    position:relative;

    overflow:hidden;

    transition:.35s;

    box-shadow:

        0 0 30px rgba(255,150,0,.35);

}

.start-btn::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:70%;

    height:100%;

    background:linear-gradient(

        90deg,

        transparent,

        rgba(255,255,255,.45),

        transparent

    );

    transition:.7s;

}

.start-btn:hover{

    transform:translateY(-4px);

    box-shadow:

        0 0 40px rgba(255,150,0,.75);

}

.start-btn:hover::before{

    left:150%;

}

/* ============================
         ALPHA TEXT
============================= */

.alpha{

    margin-top:28px;

    color:#ddd;

    font-size:22px;

    letter-spacing:4px;

    opacity:.85;

}

/* ============================
        SCROLL INDICATOR
============================= */

.scroll{

    margin-top:45px;

    font-size:24px;

    color:white;

    opacity:.85;

    animation:bounce 2s infinite;

}

@keyframes bounce{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(12px);

    }

}

/* ============================
      HEADER ON SCROLL
============================= */

header.scrolled{

    background:rgba(8,8,8,.85);

    backdrop-filter:blur(22px);

    border-bottom:1px solid rgba(255,140,0,.35);

}

/* ============================
       RESPONSIVE
============================= */

@media(max-width:1200px){

.hero h1{

    font-size:110px;

}

nav{

    gap:26px;

}

nav a{

    font-size:22px;

}

}

@media(max-width:900px){

header{

    flex-direction:column;

    justify-content:center;

    height:auto;

    padding:18px;

}

.logo{

    font-size:34px;

    font-weight:700;

    letter-spacing:2px;

    color:#ff9800;

    text-transform:uppercase;

    text-shadow:

        0 0 18px rgba(255,150,0,.45);

}

nav{

    margin-top:18px;

    flex-wrap:wrap;

    justify-content:center;

    gap:18px;

}

nav a{

    font-size:18px;

}

.hero-content{

    padding:120px 20px 0;

}

.subtitle{

    font-size:18px;

    letter-spacing:3px;

}

.hero h1{

    font-size:60px;

}

.hero h2{

    font-size:24px;

}

.hero p{

    font-size:20px;

    margin-top:35px;

}

.start-btn{

    font-size:22px;

    padding:18px 38px;

}

.alpha{

    font-size:16px;

}

.scroll{

    font-size:18px;

}

}


/* =========================================================
   IMPRESSUM
========================================================= */

.impressum-page {

    min-height: 100vh;

    margin: 0;

    background:
        linear-gradient(
            rgba(0, 0, 0, 0.45),
            rgba(0, 0, 0, 0.65)
        ),
        url("assets/kraemerladen/kraemerladen.png")
        center center / cover
        no-repeat fixed;

    font-family: "Rajdhani", sans-serif;

    color: #f2ead6;

    overflow-y: auto;
}


.impressum-container {

    min-height: 100vh;

    display: flex;

    justify-content: center;

    align-items: center;

    padding: 60px 20px;
}


.impressum-box {

    width: min(850px, 92vw);

    padding: 50px 60px;

    background: rgba(18, 13, 8, 0.92);

    border: 1px solid rgba(200, 155, 76, 0.65);

    border-radius: 12px;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.65);

    text-align: center;
}


.impressum-box h1 {

    margin: 0;

    font-family: "Cinzel", serif;

    font-size: 42px;

    font-weight: 600;

    color: #ddb96c;
}


.impressum-line {

    width: 180px;

    height: 2px;

    margin: 22px auto 35px;

    background: #c89b4c;
}


.impressum-box h2 {

    margin-top: 32px;

    margin-bottom: 12px;

    font-family: "Cinzel", serif;

    font-size: 20px;

    color: #ddb96c;
}


.impressum-box p {

    margin: 8px 0;

    font-size: 17px;

    line-height: 1.6;

    color: #e5dac2;
}


.impressum-box strong {

    color: #f0d28c;
}


.copyright {

    margin-top: 40px;

    padding-top: 25px;

    border-top: 1px solid rgba(200, 155, 76, 0.3);

    font-size: 15px;

    color: #b9a887;
}


.ai-credit {

    margin-top: 22px;

    font-size: 13px;

    line-height: 1.5;

    color: rgba(220, 205, 175, 0.65);
}


.ai-credit strong {

    color: #c89b4c;

    font-weight: 600;
}


.impressum-back {

    display: inline-block;

    margin-top: 30px;

    padding: 10px 25px;

    border: 1px solid #c89b4c;

    border-radius: 6px;

    color: #f4e4b8;

    background: rgba(35, 25, 14, 0.8);

    text-decoration: none;

    font-family: "Cinzel", serif;

    transition: 0.25s ease;
}


.impressum-back:hover {

    background: rgba(200, 155, 76, 0.2);

    color: #fff1c7;

    box-shadow:
        0 0 15px rgba(200, 155, 76, 0.35);
}
.ai-credit {

    margin-top: 22px;

    font-size: 13px;

    line-height: 1.5;

    color: rgba(220, 205, 175, .65);
}

.ai-credit strong {

    color: #c89b4c;

    font-weight: 600;
}