body {
    background-color: white;
    font-family: 'usual', sans-serif;
    margin: 0;
}

/* 1. NAVBAR GRUNDSTRUKTUR */
.navbar {
    display: flex;
    /* Flexibles Layout */
    justify-content: space-between;
    /* Logo nach links, Links nach rechts */
    align-items: center;
    /* Zentriert Logo und Text vertikal auf eine Linie */
    padding: 10px 80px;
    /* Abstand zum Seitenrand (oben/unten, links/rechts) */
    background-color: #ffffff;
    /* Hintergrundfarbe der Leiste */
    /* Trennlinie */
    border-bottom: 0.5pt solid #B7B7B7;
}

/* 2. LINKS (archive & about) */
.nav-links {
    display: flex;
    /* Punkte stehen dadurch nebeneinander */
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 60px;
    /* Abstand zw. "archive" und "about" */
}

/* 3. Aussehen der Links */
.nav-links a {
    text-decoration: none;
    /* Entfernt den blauen Unterstrich */
    color: #3F3F3F;
    font-family: sans-serif;
    font-size: 16px;
}

/* Container für das GIF */
.hero-container {
    display: flex;
    /* Aktiviert Flexbox */
    justify-content: center;
    /* Zentriert GIF horizontal (links/rechts) */
    align-items: center;
    /* Zentriert GIF vertikal (falls nötig) */
    padding: 0px 20px;
    /* Abstand nach oben/unten und zu den Seiten */
    height: 100vh;
    width: 100%;
    /* Gesamte Breite des Headers */
    box-sizing: border-box;
}

/* Das GIF selbst */
.hero-gif {
    width: 1103px;
    height: 712px;
    max-width: 100%;
    padding: 50px 0;
    height: auto;
    display: block;
}

/* 1. FIXIERT äußeren Rahmen*/
.header-footer {
    position: fixed;
    bottom: 70px;
    left: 40px;
    z-index: 10000;

    width: 124px;
    height: 47px;
    display: block;
    padding: 0;
    margin: 0;
}

.sticky-contact {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.sticky-contact img {
    display: block;
    width: 124px;
    height: 47px;
}

/* 3. Contact im Kringel*/
.contact-text {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);

    color: #3F3F3F;
    font-family: "usual", sans-serif;
    font-size: 11pt;
    font-weight: 500;
    pointer-events: none;
    margin: 0;
}
/* Herz */
.hero-container {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.heart-static {
    position: absolute;
    bottom: 40px;
    right: 80px;
    width: 11px;
    height: 13px;
    display: block;
}

/* Contact button bleibt links */
.header-footer {
    position: fixed;
    bottom: 40px;
    left: 40px;
    z-index: 10000;
    width: 124px;
}
.separator {
    border: none;
    border-top: 0.67px solid #B7B7B7;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 0;

    width: 100%;
}
.section-heading {
    font-family: 'usual', sans-serif;
    font-weight: 500;
    font-size: 20pt;
    color: #3F3F3F;

    padding: 120px 0 100px 80px;

    margin: 0;
}
.project-slider-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    padding-left: 80px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.project-slider-wrapper::-webkit-scrollbar {
    display: none;
}

/* Container hält alle Projekte in einer Reihe */
.project-track {
    display: flex;
    gap: 50px;
    padding-right: 80px;
    /* Abstand zwischen den Projekten */
    width: max-content;
}

/* Link um den Kasten und Text */
.project-item {
    text-decoration: none;
    /* Entfernt Unterstreichung vom Link */
    display: block;
}

/* Grauer Kasten */
.gray-box {
    width: 305px;
    height: 358px;
    background-color: #F7F7F7;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease;
    /* Kleiner Effekt beim Drüberfahren */
}

.gray-box:hover {
    opacity: 0.8;
}

.gray-box img {
    max-width: 80%;
    max-height: 80%;
    object-fit: contain;
}

/* Texte unter dem Kasten */
.project-info {
    margin-top: 25px;
    font-family: 'usual', sans-serif;
}

.project-title {
    font-size: 15px;
    color: #3F3F3F;
    margin: 0;
    font-weight: 500;
}

.project-category {
    font-size: 13px;
    color: #3F3F3F;
    margin: 2px 0 0 0;
    font-style: italic;
    /* Zweiter Schriftschnitt */
    opacity: 0.7;
}
/* Pfeil-Button Styling */
.slider-controls {
    display: flex;
    justify-content: flex-end;
    padding-right: 40px;
    /* Abstand vom rechten Rand */
    margin-top: 50px;
    margin-bottom: 130px;
}

.next-arrow {
    width: 28px;
    height: 9px;
    cursor: pointer;
}
.separator {
    border: none;
    border-top: 0.5px solid #B7B7B7;

    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

/* Das Design für alle Section-Überschriften */
.section-heading {
    font-family: 'usual', sans-serif;
    font-weight: 500;
    font-size: 20pt;
    color: #3F3F3F;

    padding-top: 120px;
    padding-bottom: 100px;
    padding-left: 100px;
    margin: 0;
    text-transform: lowercase;
}

.archive-section,
.about-section {
    margin-top: 20px;
}
.about-container {
    display: flex;
    justify-content: flex-start;
    /* Richtet Spalten nach links aus */
    padding-left: 100px;
    padding-top: 20px;
    /* Gleicher Abstand wie Headline */
    padding-right: 100px;
    gap: 80px;
    /* Abstand zwischen Text und GIF */
    margin-top: -90px;
}

/* Linke Spalte */
.about-text-column {
    flex: 1;
    max-width: 500px;
    /* Damit die Zeilen nicht zu lang werden */
}

.about-description {
    font-family: 'usual', sans-serif;
    font-weight: 200;
    font-size: 11pt;
    color: #3F3F3F;
    line-height: 1.5;
    margin: 0;
}

/* Rechte Spalte (GIF) */
.about-gif-column {
    flex-shrink: 0;
    /* Verhindert, dass GIF kleiner wird */
    display: flex;
    justify-content: center;
    flex: 1;
}

.gif-wrapper {
    position: relative;
    width: 400px;
    height: 594px;
}

.gif-wrapper {
    position: relative;
    /* Basis für die Positionierung des Icons */
    width: 400px;
    height: 594px;
}

.main-gif {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Das kleine Icon oben rechts im GIF */
.overlay-icon {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 11px;
    height: 13px;
    pointer-events: none;
}
.site-footer {
    width: 100%;
    margin-top: 100px;
    padding-bottom: 40px;
}

.footer-content {
    display: flex;
    justify-content: flex-end;
    padding-right: 100px;
    padding-top: 20px;
}

.footer-nav {
    display: flex;
    gap: 25px;
}

.footer-link {
    font-family: 'usual', sans-serif;
    font-weight: 500;
    font-size: 12pt;
    color: #3F3F3F;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

/* Hover Effekt */
.footer-link:hover {
    opacity: 0.6;
}

/* UNTERSEITE HEIMKOMMEN */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 80px;
    background-color: #ffffff;
    border-bottom: 0.5pt solid #B7B7B7;
}
body {
    font-family: 'usual', sans-serif;
    margin: 0;
}

.project-container {
    display: flex;
    padding-top: 0%;
    /* Abstand nach oben zur Navbar */
}

/* LINKE SPALTE */
.media-column {
    flex: 0 0 auto;
    margin-left: 25px;
}

.video-wrapper iframe {
    width: 873px;
    height: 489px;
    display: block;
}

.image-placeholder {
    margin-top: 20px;
    width: 873px;
}

.image-placeholder img {
    width: 100%;
    height: auto;
}
.image-placeholder-high {
    margin-top: 15px;
    width: 873px;
    display: flex;
    justify-content: flex-start;
}

.image-placeholder-high img {

    width: 450px;
    height: auto;
    display: block;
}

/* RECHTE SPALTE */
.text-column {
    flex: 1;
    padding-left: 200px;
    /* Abstand vom Bild zum Text */
    padding-top: 130px;
    position: relative;
}

.sticky-content {
    position: sticky;
    top: 130px;
    /* Abstand zur Navbar beim Scrollen */
    max-width: 400px;
    /* Damit der Text nicht zu breit läuft */
}

/* TEXT */
.project-title {
    font-size: 20px;
    font-weight: 500;
    margin: 0 0 5px 0;
    line-height: 1.2;
}

.project-category {
    font-size: 17px;
    font-weight: 300;
    font-style: italic;
    margin-bottom: 20px;
    color: #666;
}

.project-description {
    font-size: 15px;
    font-weight: 200;
    line-height: 1.6;
}

/* Basis Footer */
.site-footer {
    width: 100%;
    clear: both;
    /* Verhindert das Hochrutschen in die rechte Spalte */
    display: block;
    margin-top: 120px;
    padding-bottom: 40px;
}

.site-footer.footer-with-contact {
    width: 100%;
    position: relative;
    grid-column: 1 / -1;
}

.footer-with-contact .footer-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 60px 100px 0 80px;
    box-sizing: border-box;
}

/* 4. Kontakt-Button mit zentriertem Text */
.footer-with-contact .sticky-contact {
    position: relative;
    display: inline-block;
    text-decoration: none;
}

.footer-with-contact .contact-text {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #3F3F3F;
    font-family: "usual", sans-serif;
    font-size: 11pt;
    font-weight: 500;
    pointer-events: none;
    margin: 0;
    white-space: nowrap;
}

/* 5. Navigation rechts */
.footer-nav {
    display: flex;
    align-items: center;
    gap: 25px;
}

.footer-link {
    font-family: 'usual', sans-serif;
    font-weight: 500;
    font-size: 12pt;
    color: #3F3F3F;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.footer-link:hover {
    opacity: 0.6;
}

/* Instagram Icon Ausrichtung */
.footer-link img {
    width: 18px;
    height: auto;
    display: block;
    vertical-align: middle;
}
body {
    font-family: 'usual', sans-serif;
    margin: 0;
}

/* CANYON UNTERSEITE */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 80px;
    background-color: #ffffff;
    border-bottom: 0.5pt solid #B7B7B7;
    margin-bottom: 0; 
}

.project-container {
    display: flex;
    padding-top: 0;
}

/* 3. linke Spalte */
.media-column {
    flex: 0 0 auto;
    margin-left: 25px;
}

/* Video oben */
.media-column > div:first-child {
    margin-top: 0;
}

/* Alle folgenden Bilder/Videos mit Abstand */
.media-column > div {
    margin-top: 20px;
}

.video-wrapper iframe {
    width: 873px;
    height: 489px;
    display: block;
}

.image-placeholder {
    width: 873px;
}

.image-placeholder img {
    width: 100%;
    height: auto;
}

.image-placeholder-high {
    width: 873px;
    display: flex;
    justify-content: flex-start;
}

.image-placeholder-high img {
    width: 450px;
    height: auto;
    display: block;
}

/* RECHTE SPALTE */
.text-column {
    flex: 1;
    padding-left: 200px;
    padding-top: 130px;
    position: relative;
}

.sticky-content {
    position: sticky;
    top: 130px;
    max-width: 400px;
}

/* TEXT STYLES */
.project-title {
    font-size: 20px;
    font-weight: 400;
    margin: 0 0 5px 0;
    line-height: 1.2;
}

.project-category {
    font-size: 17px;
    font-weight: 300;
    font-style: italic;
    margin-bottom: 20px;
    color: #666;
}

.project-description {
    font-size: 15px;
    font-weight: 200;
    line-height: 1.6;
}
.project-link {
    display: inline-block;
    margin-top: 11px;
    color: #9C9C9C;
    text-decoration: underline;
    font-size: 0.8rem;
}

.project-link:hover {
    text-decoration: none;
    opacity: 0.7;
}

/* NAVBAR & LAYOUT */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 80px;
    background-color: #ffffff;
    border-bottom: 0.5pt solid #B7B7B7;
    margin-bottom: 0; 
}

.project-container {
    display: flex;
    padding-top: 0;
}

/* MEDIA SPALTE (LINKS) */
.media-column {
    flex: 0 0 auto;
    margin-left: 25px;
}

.media-column > div {
    margin-top: 20px;
}

.media-column > div:first-child {
    margin-top: 0;
}

.image-placeholder {
    width: 873px;
}

.image-placeholder img {
    width: 100%;
    height: auto;
    display: block;
}

.image-placeholder-high {
    width: 873px; 
    display: flex;
    justify-content: flex-start;
}

.image-placeholder-high img {
    width: 450px;
    height: auto;
    display: block;
}

/* TEXT SPALTE (RECHTS) */
.text-column {
    flex: 1;
    padding-left: 200px;
    padding-top: 130px;
    position: relative;
}

.sticky-content {
    position: sticky;
    top: 130px;
    max-width: 400px;
}

/* TEXT STYLES */
.project-title {
    font-size: 20px;
    font-weight: 400;
    margin: 0 0 5px 0;
}

.project-category {
    font-size: 17px;
    font-weight: 300;
    font-style: italic;
    margin-bottom: 20px;
    color: #666;
}

.project-description {
    font-size: 15px;
    font-weight: 200;
    line-height: 1.6;
    color: #000;
}

/* MODEL CREDITS */
.project-credits {
    margin-top: 15px;
    font-size: 12px;
    color: #9C9C9C;
    font-weight: 300;
}

.project-credits a {
    color: #9C9C9C;
    text-decoration: underline;
    transition: opacity 0.3s;
}

.project-credits a:hover {
    opacity: 0.7;
}

/* RESPONSIVE DESIGN INTERNE SEITEN (DESKTOP ABWÄRTS) */
@media screen and (max-width: 768px) {
    .project-container {
        flex-direction: column;
    }

    .media-column {
        margin-left: 0;
        padding: 0 25px;
        width: 100%;
        box-sizing: border-box;
    }

    .image-placeholder, .image-placeholder-high {
        width: 100%;
    }

    .image-placeholder img {
        width: 100% !important;
    }

    .image-placeholder-high img {
        width: 60% !important;
    }

    .text-column {
        padding: 40px 25px;
        width: 100%;
        box-sizing: border-box;
    }
    
    .sticky-content {
        position: static;
        max-width: 100%;
    }
}

/* --- FINALE IMPRESSUM STYLES --- */
.heart-static {
    position: fixed !important;
    bottom: 40px;
    right: 80px;
    width: 11px;
    height: 13px;
    z-index: 10000;
}

.imprint-layout-adjust {
    align-items: flex-start !important;
    margin-top: 120px !important;
    padding-left: 80px !important;
}

.imprint-legal-column {
    flex: 3;
    padding-left: 150px;
}

.legal-content-wrapper {
    font-family: 'usual', sans-serif;
    font-weight: 200;
    font-size: 11pt;
    color: #3F3F3F;
    line-height: 2.0;
    max-width: 600px;
}

.legal-block h3 {
    font-weight: 500;
    font-size: 11pt;
    margin-bottom: 30px;
    margin-top: 30px;
}

.legal-block:first-child h3 {
    margin-top: 0;
    padding-top: 6px;
}

@media (max-width: 900px) {
    .imprint-legal-column {
        padding-left: 0;
        margin-top: 50px;
    }
    .heart-static {
        right: 40px;
    }
}


/* ============================================================
   NUR MOBIL (AKTIV UNTER 768px)
   ============================================================ */
@media screen and (max-width: 768px) {

    /* GLOBAL FIX */
    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
        position: relative;
    }

    /* Zu Punkt 1) Logo ganz nach links schieben, Nav-Links ganz nach rechts */
    .navbar {
        padding: 10px 25px !important;
    }
    .nav-links {
        gap: 25px !important;
    }

    /* Zu Punkt 2) Größerer Contact Button */
    .header-footer {
        position: fixed !important;
        left: 25px !important;
        bottom: 25px !important;
        transform: scale(0.95) !important;
        transform-origin: left bottom;
        z-index: 10000 !important;
    }

    /* Zu Punkt 3) Kacheln starten bündig auf Höhe der Überschrift */
    .project-slider-wrapper {
        padding-left: 25px !important;
    }
    .project-track {
        padding-right: 25px !important;
    }

    /* Zu Punkt 4) Pfeil komplett ausblenden */
    .slider-controls {
        display: none !important;
    }

    /* ANPASSUNG 1) Größerer Abstand bei Trennlinie vor About auf der Startseite */
    .separator {
        margin-top: 80px !important;   /* Mehr Abstand nach den Kacheln */
        margin-bottom: 40px !important;/* Abstand zur "about"-Headline */
    }

    /* Zu Punkt 6) Abstand verringern zwischen Überschrift und Fließtext */
    .about-section {
        margin-top: 0 !important;
    }
    .about-container {
        display: block !important;
        padding: 0px 25px 0px 25px !important; /* Weißraum unten komplett entfernt */
        margin-top: -20px !important;
    }

    .about-text-column {
        width: 100% !important;
        margin-bottom: 35px !important;
    }

    /* Projekttitel und Projektbeschreibungen mobil auf exakt 11pt angehoben */
    .about-description, 
    .project-description, 
    .legal-content-wrapper,
    .project-title {
        font-size: 11pt !important;
        line-height: 1.6 !important;
        max-width: 100% !important;
    }

    .about-gif-column {
        display: block !important;
        width: 100% !important;
    }

    /* Zu Punkt 6) Größeres GIF unten bei about */
    .gif-wrapper {
        width: 300px !important;
        height: auto !important;
        aspect-ratio: 400 / 594;
    }

    /* STARTSEITE: HERO & GIF STYLING */
    .hero-container {
        height: 65vh !important;
        width: 100% !important;
        overflow: hidden !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        position: relative !important;
    }

    .hero-gif {
        width: 150% !important;
        max-width: none !important;
        height: auto !important;
        transform: scale(1.1);
    }

    /* ========================================================
       UNTERSEITEN (PROJEKTE) OPTIMIERUNGEN MOBIL
       ======================================================== */
    .project-container {
        display: flex !important;
        flex-direction: column !important;
        padding-top: 15px !important;
    }

    .text-column {
        order: 1 !important;
        padding: 20px 25px 25px 25px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .media-column {
        order: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .media-column > div {
        margin-top: 20px !important;
    }

    .media-column > div:first-child {
        margin-top: 0 !important;
    }

    .image-placeholder {
        width: 100% !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;
    }

    .image-placeholder img {
        width: 100% !important;
        height: auto !important;
    }

    .image-placeholder-high {
        width: 100% !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;
    }

    .image-placeholder-high img {
        width: 65% !important;
        height: auto !important;
    }

    .video-wrapper {
        padding: 0 15px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    iframe {
        width: 100% !important;
        height: 56.25vw !important;
        border: none;
    }

    /* HEADLINES */
    .section-heading {
        font-size: 14pt !important;
        padding: 60px 0 30px 25px !important;
    }

    .project-category {
        font-size: 11px !important;
        opacity: 0.75 !important;
        display: block;
        margin-bottom: 15px !important;
    }

    /* ========================================================
       ANPASSUNG: PERFEKTER & KOMPAKTER MOBIL-FOOTER
       ======================================================== */
    .site-footer,
    .site-footer.footer-with-contact {
        margin-top: 30px !important; /* Weniger Weißraum nach dem oberen GIF */
        padding-bottom: 30px !important;
    }

    .site-footer .footer-content,
    .footer-with-contact .footer-content {
        display: flex !important;
        flex-direction: row !important; /* Alle Elemente zwingend in eine Reihe */
        justify-content: space-between !important;
        align-items: center !important; /* Hält alles absolut mittig auf einer Linie */
        padding: 15px 25px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    /* Contact-Button links halten */
    .footer-with-contact .sticky-contact {
        margin-right: auto !important;
        white-space: nowrap !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Navigations-Leiste rechts daneben */
    .footer-nav {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important; /* Hält Text, Insta & Herz auf gleicher Höhe */
        gap: 15px !important; /* Kompakter Abstand */
        width: auto !important;
    }

    .footer-link {
        font-size: 10pt !important;
        white-space: nowrap !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Das statische Herz flexibel machen und einreihen */
    .heart-static {
        position: static !important; /* Löst die feste Bildschirm-Position auf */
        display: inline-block !important;
        width: 11px !important;
        height: auto !important;
        margin: 0 !important;
        z-index: auto !important;
        transform: none !important;
    }
}