*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Arial, Helvetica, sans-serif;
    background: white;
    color:black;

}

@font-face {
    font-family: "curlz";
    src: url("../fonts/curlz.ttf");
}

@font-face {
    font-family: "Quicksand";
    src: url("../fonts/quicksand-medium.ttf");
}

:root {
    --main-color: black;
    --text-color: white;
    --h2-size: 3.5rem;
    --h3-size: 2.5rem;
    --p-size: 1.3rem
}

/* Intro */



.intro{

    position:fixed;
    inset:0;

    display:flex;
    justify-content:center;
    align-items:center;
    color: black;
    background: white;

    z-index:999;

    animation:hideIntro 2.2s ease forwards;
    animation-delay:2.5s;
    animation: textZoom 2.5s ease forwards;

}

@keyframes textZoom{
    0%{
        transform:scale(1.2);
        opacity:1;
    }

    20%{
        opacity:1;
        transform:scale(1);
    }

    95%{
        opacity:0;
        transform:scale(0.98);

        
    }

    100%{
        opacity:0;
        transform:scale(0);

        
    }
}

h3{
    font-size: var(--h3-size);
}

.abstand{
    padding-top: 2rem;
}
.colorless{
        filter: grayscale(100%) contrast(1) brightness(1);
}

.colorless:hover {
    filter: none;
}

.colorless {
    filter: grayscale(100%) contrast(1) brightness(1);
    transition: filter 0.4s ease, transform 0.4s ease;
}

.colorless:hover {
    filter: none;
    transform: scale(1.03);
}

.distance-p{
    padding-top: 1rem;
}

.intro h1{

    font-size:5rem;
    letter-spacing:15px;

}

@keyframes hideIntro{

    to{

        opacity:0;
        visibility:hidden;

    }

}

/* Layout */

main{

    display:flex;

}

.left{
    position: sticky;
    top: 0;
    width: 60%;
    height: 100vh;
    overflow: hidden;
}

.right img {
    max-width: 100%;
    height: auto;
    display: block;
}

.left img{
    width: 100%;
    height: 100%;
    object-fit: cover;



    transition: opacity 1s ease, transform 1.5s ease;
}

.left img:hover {

    
}

.no-scroll{
    overflow: hidden;
    height: 100vh;
}

/* Weiße Vignette */
.left::after{
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background:
        radial-gradient(
            ellipse at center,
            rgba(255,255,255,0) 30%,
            rgba(255,255,255,0.7) 70%,
            rgba(255,255,255,1) 100%
        );
}

.overlay{

    position:absolute;
    inset:0;
    pointer-events: none;
    background:linear-gradient(
        to right,
        rgba(0,0,0,.1),
        rgba(0,0,0,.45)
    );

}

.right{

    width:40%;
    padding:10vh 5vw;

}

.chapter{

    min-height:100vh;

    display:flex;
    flex-direction:column;
    justify-content:center;

    opacity:.3;

    transition:.5s;

}

.chapter.active{

    opacity:1;

}

.chapter span{

    color:#777;
    letter-spacing:4px;
    margin-bottom:20px;

}

.chapter h2{

    font-size: var(--h2-size);
    margin-bottom:40px;


}

.ripple-container{
    position:absolute;
    inset:0;
    overflow:hidden;
    pointer-events:none;
}

/* nur Welle */
.ripple{
    position:absolute;
    width:20px;
    height:20px;
    border:2px solid rgba(255,255,255,0.35);
    border-radius:50%;
    transform:scale(0);
    animation:rippleAnim 2.2s ease-out forwards;
    filter: blur(0.3px);
}

@keyframes rippleAnim{
    to{
        transform:scale(10);
        opacity:0;
    }
}


p{
    font-family: "quicksand", Arial, sans-serif;
    font-size: var(--p-size);

}

.first-title{
    font-family: "curlz", Arial, sans-serif;
}

h1{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.curlz{
    font-family: "curlz", Arial, sans-serif;
    font-size: var(--h2-size);
}

.curlz-h3{
    font-family: "curlz", Arial, sans-serif;
    font-size: var(--h3-size);
}

.quicksand{
    font-family: "quicksand", Arial, sans-serif;
    font-size: var(--h2-size);
}
.quicksand-h3{
    font-family: "quicksand", Arial, sans-serif;
    font-size: var(--h3-size);
}

h1 p{
        font-size: var(--h2-size);
}


.back-button{
    position:fixed;
    top:40px;
    right:50px;
    font-weight: 700;
    color:black;
    text-decoration:none;
    font-size:2rem;
    letter-spacing:3px;
    text-transform:uppercase;

    z-index:1000;

    transition:.3s;
}

.back-button:hover{
    opacity:.6;
}


/* ============================================================
   MOBILE / RESPONSIVE  (≤ 768px)
   ============================================================ */

@media (max-width: 768px) {

    html, body { overflow-x: hidden; }

    :root {
        --h2-size: 2.1rem;
        --h3-size: 1.5rem;
        --p-size: 1.05rem;
    }

    /* stacked layout: image pinned on top, text scrolls below */
    main { flex-direction: column; }

    .left {
        position: sticky;
        top: 0;
        width: 100%;
        height: 42vh;
    }

    .right {
        width: 100%;
        padding: 5vh 7vw;
    }

    .chapter { min-height: 78vh; }
    .chapter h2 { margin-bottom: 24px; }

    .intro h1 { font-size: 2.6rem; letter-spacing: 6px; }

    .back-button { top: 16px; right: 20px; font-size: 1.2rem; }
}