/* =====================================================
   GLOBAL
   ===================================================== */

html{
    scroll-behavior:smooth;
}

#quellen {
    scroll-margin-top: 400px;
}

.subheadline{
    font-weight:600;
}



/* Auf Mobile Nav immer vor allem */


@media(max-width:991px){

    :root{
        --mobile-header-height:78px;
    }

    #content-area{
        padding-top:var(--mobile-header-height);
    }

}

/* =====================================================
   GLOBALE BLOCKABSTÄNDE
   ===================================================== */

section > .wrapper{
    margin-bottom:90px;
}


/* =====================================================
   BUTTONS
   ===================================================== */

.gemini-package-card > .wrapper {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.gemini-package-card > .wrapper .contactbutton {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.gemini-package-card > .wrapper .contactbutton a {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    min-height: 50px;
    padding: 10px 12px;
    box-sizing: border-box;
    /*white-space: normal;*/
    line-height: 1.2;
    text-align: center;
    justify-content: center;
}


.contactbutton{
    margin:0;
    text-align:left;
}


/* Button-Pulse-Wrapper */

.button-pulse{
    display:inline-block;
}

.button-pulse .contactbutton{
    position:relative;
    display:inline-block;
}


/* Pulseffekt */

.button-pulse .contactbutton::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:999px;
    box-shadow:0 0 0 0 rgba(255,115,0,.45);
    pointer-events:none;
    animation:buttonPulse 6s ease-out infinite;
}

@keyframes buttonPulse{

    0%{
        box-shadow:0 0 0 0 rgba(255,115,0,.40);
    }

    35%{
        box-shadow:0 0 0 22px rgba(255,115,0,.12);
    }

    42%{
        box-shadow:0 0 0 30px rgba(255,115,0,.03);
    }

    45%,
    100%{
        box-shadow:0 0 0 34px rgba(255,115,0,0);
    }

}


/* Button-Grunddesign */

.wrapper .contactbutton a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:auto;
    min-width:0;
    height:50px;
    padding:0 30px;
    box-sizing:border-box;
    border:2px solid #ef6c00;
    border-radius:999px;
    background:#ef6c00;
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    font-size:18px;
    font-weight:700;
    line-height:1;
    /*white-space:nowrap;*/
    transition:
        background-color .3s ease,
        color .3s ease,
        border-color .3s ease;
}


/* Button-Icon */

.wrapper .contactbutton a i{
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    line-height:1;
}


/* Button-Text */

.wrapper .contactbutton a span{
    display:block;
    line-height:1;
}


/* Button-Hover */

.wrapper .contactbutton a:hover{
    background:#fff;
    color:#ef6c00;
    border-color:#ef6c00;
}

.wrapper .contactbutton a:hover i,
.wrapper .contactbutton a:hover span{
    color:inherit;
}


/* Button-Reihe */

.button-row{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}

.button-row .contactbutton{
    flex:0 0 auto;
    margin:0;
}


/* Outline-Button */

.wrapper .contactbutton--outline a{
    background:#fff;
    color:#ef6c00;
    border-color:#ef6c00;
}

.wrapper .contactbutton--outline a:hover{
    background:#ef6c00;
    color:#fff;
    border-color:#ef6c00;
}

/* =====================================================
   GEO BRANCHEN – FEATURE BRIDGE
===================================================== */

.geo-branch-features{
    position:relative;

    z-index:5;

    width:100%;

    margin-top:-100px;
    margin-bottom:60px;
}


/* FEATURE BOX */

.geo-branch-features__box{
    position:relative;

    width:100%;

    box-sizing:border-box;

    background:#ffffff;

    border:1px solid #eeeeee;
    border-radius:18px;

    box-shadow:
        0 12px 30px
        rgba(0,0,0,.10);

    overflow:hidden;
}


/* GRID */

.geo-branch-features__grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    width:100%;
}


/* FEATURE */

.geo-branch-feature{
    position:relative;

    display:grid;

    grid-template-rows:
        56px
        auto;

    row-gap:14px;

    justify-items:center;
    align-content:start;

    min-width:0;
    min-height:162px;

    padding:
        26px
        18px
        20px;

    box-sizing:border-box;

    color:#555555;

    font-weight:700;

    text-align:center;
}


/* TRENNLINIEN */

.geo-branch-feature:not(:last-child)::after{
    content:"";

    position:absolute;

    top:20px;
    right:0;
    bottom:20px;

    width:1px;

    background:#e5e5e5;
}


/* FEATURE ICONS */

.geo-branch-feature__icon{
    display:flex;

    align-items:center;
    justify-content:center;

    width:56px;
    height:56px;

    color:#ffffff;

    background:#b9b9b9;

    border-radius:50%;
}


.geo-branch-feature__icon i{
    font-size:24px;
}


/* FEATURE TEXT */

.geo-branch-feature__text,
.geo-branch-feature > span:last-child{
    display:block;

    width:100%;

    margin:0;

    line-height:1.35;
}


/* TABLET */

@media(max-width:1050px){

    .geo-branch-features{
        margin-top:-175px;
        margin-bottom:125px;
    }


    .geo-branch-feature{
        padding:
            26px
            12px
            20px;
    }

}


/* MOBILE */

@media(max-width:767.98px){

    /* Gemeinsamer Wert für Header + Feature-Bridge */

    :root{
        --geo-mobile-feature-overlap:280px;
    }


    .geo-branch-features{
        margin-top:
            calc(
                -1 *
                var(--geo-mobile-feature-overlap)
            );

        margin-bottom:125px;
    }


    .geo-branch-features__box{
        border-radius:16px;
    }


    .geo-branch-features__grid{
        grid-template-columns:1fr;
    }


    /* FEATURE MOBILE */

    .geo-branch-feature{
        display:grid;

        grid-template-columns:
            40px
            minmax(0,1fr);

        grid-template-rows:auto;

        column-gap:14px;
        row-gap:0;

        align-items:center;
        justify-items:start;

        min-height:82px;

        padding:
            16px
            18px;

        text-align:left;
    }


    /* HORIZONTALE TRENNLINIEN */

    .geo-branch-feature:not(:last-child)::after{
        top:auto;
        left:18px;
        right:18px;
        bottom:0;

        width:auto;
        height:1px;
    }


    /* ICON MOBILE */

    .geo-branch-feature__icon{
        width:40px;
        height:40px;
    }


    .geo-branch-feature__icon i{
        font-size:18px;
    }


    /* TEXT MOBILE */

    .geo-branch-feature__text,
    .geo-branch-feature > span:last-child{
        margin:0;

        align-self:center;
    }

}

/* =====================================================
   GEO INTRO / H1-BLOCK
   ===================================================== */

.geo-intro{
    position:relative;
    background:#fff;
}


/* Standardvariante ohne Bild */

.geo-intro__inner{
    display:block;
}

.geo-intro__content{
    width:100%;
    min-width:0;
}

.geo-intro__eyebrow{
    display:inline-block;
    margin:0 0 20px;
    padding:8px 13px;
    background:#ef6c00;
    color:#fff;
    font-size:16px;
    font-weight:700;
    line-height:1.25;
}


/* Abstand zwischen Einleitung und Buttons */

.geo-intro .button-row{
    margin-top:30px;
}


/* Variante mit Bild: 60 % Text / 40 % Bild */

.geo-intro--with-image .geo-intro__inner{
    display:grid;
    grid-template-columns:minmax(0, 3fr) minmax(0, 2fr);
    column-gap:70px;
}

.geo-intro--with-image .geo-intro__content{
    width:100%;
    min-width:0;
    align-self:start;
}

.geo-intro__media{
    position:relative;
    z-index:0;
    width:100%;
    min-width:0;
}

.geo-intro__media img{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:auto;
    object-fit:cover;
}


/* H1-Block: Tablet */

@media (max-width:1050px){

    .geo-intro--with-image .geo-intro__inner{
        gap:0px;
    }

    .geo-intro{
        margin-top: -90px;
    }

}


/* H1-Block: Mobile */

@media (max-width:991px){

    .geo-intro--with-image .geo-intro__inner{
        grid-template-columns:minmax(0, 1fr);
        gap:0;
        width:100%;
        min-width:0;
    }

      .geo-intro--with-image .button-row.wrapper{
        width:100%;
        max-width:100%;
        min-width:0;
        box-sizing:border-box;
    }

    .geo-intro__media::before{
        inset:16px -16px -16px 16px;
    }

      .geo-intro{
        margin-top: -90px;
    }


}


/* H1-Block: Smartphone */

@media (max-width:768px){

    .geo-intro__eyebrow{
        margin-bottom:18px;
        padding:7px 10px;
    }

    .geo-intro .button-row{
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:12px;

        width:100%;
        max-width:100%;
        min-width:0;

        box-sizing:border-box;
    }

    .geo-intro .button-row .button-pulse,
    .geo-intro .button-row > .contactbutton{
        width:100%;
        max-width:340px;
        min-width:0;
    }

    .geo-intro .button-row .button-pulse .contactbutton{
        width:100%;
    }

    .geo-intro .button-row .contactbutton a{
        width:100%;
        max-width:100%;
        min-width:0;

        height:auto;
        min-height:50px;

        padding:10px 18px;

        white-space:normal;
        text-align:center;
        line-height:1.2;

        box-sizing:border-box;
    }

}

/* =====================================================
   TEXT-BILD / BILD-TEXT
===================================================== */

.content-split{
    position:relative;
}


/* GRUNDLAYOUT DESKTOP */

.content-split__inner{
    display:grid;

    grid-template-columns:
        minmax(0,3fr)
        minmax(0,2fr);

    grid-template-rows:
        auto
        auto;

    column-gap:70px;
    row-gap:30px;

    align-items:start;
}


/* TEXTSPALTE */

.content-split__content{
    grid-column:1;
    grid-row:1 / 3;

    display:grid;
    grid-template-rows:subgrid;

    min-width:0;
}

.content-split__text-main{
    grid-row:1;

    min-width:0;
}


.content-split__text-main h2{
    margin-top:0;
}

.content-split__content a{
    max-width:100%;

    overflow-wrap:anywhere;
    word-break:normal;
}


/* MERKE-BOX */

.geo-note{
    width:100%;
    max-width:100%;

    padding:
        22px
        28px;

    box-sizing:border-box;

    background:#fafafa;

    border-left:4px solid #ef6c00;

    box-shadow:
        0 8px 24px
        rgba(0,0,0,.05);
}


.geo-note strong{
    display:inline;

    font-weight:700;
}


.geo-note p{
    display:inline;

    margin:0;
}

.content-split__content > .geo-note{
    grid-row:2;

    margin:0;
}


/* BILD + CTA */

.content-split__media{
    grid-column:2;
    grid-row:1 / 3;

    display:grid;
    grid-template-rows:subgrid;

    min-width:0;
    min-height:0;
}


/* DESKTOP-BILD */

.content-split__image{
    min-width:0;
    min-height:0;
}


/* Hochformat auf Desktop anzeigen */

.content-split__image.image-v{
    position:relative;

    grid-row:1;

    display:block;

    min-width:0;
    min-height:0;

    overflow:hidden;
}


.content-split__image.image-v img{
    position:absolute;

    inset:0;

    display:block;

    width:100%;
    height:100%;

    max-width:100%;
    max-height:100%;

    object-fit:contain;
    object-position:center top;
}


/* Mobile-Bild auf Desktop ausblenden */

.content-split__image.image-h{
    display:none;
}


/* CTA */

.content-split__media > .button-row{
    grid-row:2;

    align-self:end;

    display:flex;
    justify-content:flex-start;

    width:100%;
    max-width:100%;
    min-width:0;

    margin:0;

    box-sizing:border-box;
}


.content-split__media .contactbutton{
    max-width:100%;
    min-width:0;

    margin:0;

    box-sizing:border-box;
}


.content-split__media .contactbutton a{
    max-width:100%;
    min-width:0;

    box-sizing:border-box;

    white-space:normal;
}


.content-split__media .contactbutton a span{
    min-width:0;
    max-width:100%;

    white-space:normal;

    overflow-wrap:break-word;
    word-break:normal;
}


/* =====================================================
   BILD LINKS / TEXT RECHTS
===================================================== */

.content-split--reverse
.content-split__inner{
    grid-template-columns:
        minmax(0,2fr)
        minmax(0,3fr);
}


/* Text rechts */

.content-split--reverse
.content-split__content{
    grid-column:2;
}


/* Bild + CTA links */

.content-split--reverse
.content-split__media{
    grid-column:1;
}


/* CTA zur Textspalte ausrichten */

.content-split--reverse
.content-split__media
> .button-row{
    justify-content:flex-end;
}


/* TABLET / MOBILE */

@media(max-width:991px){

    /* GRUNDLAYOUT */

    .content-split__inner,
    .content-split--reverse
    .content-split__inner{
        grid-template-columns:
            minmax(0,1fr);

        grid-template-rows:auto;

        row-gap:30px;
        column-gap:0;

        width:100%;
        min-width:0;
        max-width:100%;
    }


    /* TEXTSPALTE */

    .content-split__content,
    .content-split--reverse
    .content-split__content{
        grid-column:1;
        grid-row:auto;

        display:grid;

        grid-template-rows:auto;

        row-gap:30px;

        width:100%;
        min-width:0;
        max-width:100%;

        box-sizing:border-box;

        order:1;
    }


    .content-split__text-main{
        grid-row:auto;
    }


    .content-split__content > .geo-note{
        grid-row:auto;

        margin:0;

        padding:
            20px
            18px;
    }


    /* MEDIA */

    .content-split__media,
    .content-split--reverse
    .content-split__media{
        grid-column:1;
        grid-row:auto;

        display:grid;

        grid-template-rows:
            auto
            auto;

        row-gap:30px;

        width:100%;
        min-width:0;
        max-width:100%;

        order:2;
    }


    /* DESKTOP-BILD AUS */

    .content-split__image.image-v{
        display:none;
    }


    /* MOBILE-BILD AN */

    .content-split__image.image-h{
        grid-row:1;

        display:flex;

        align-items:center;
        justify-content:center;

        width:100%;
        min-width:0;
    }


    .content-split__image.image-h img{
        position:static;

        display:block;

        width:70%;
        max-width:100%;
        height:auto;
        max-height:none;

        margin:0 auto;

        object-fit:contain;
        object-position:center;
    }


    /* CTA MOBILE */

    .content-split__media > .button-row{
        grid-row:2;

        width:100%;
        max-width:100%;
        min-width:0;

        margin:0;

        box-sizing:border-box;
    }

}

/* =====================================================
   FAKTEN ZAHLEN TEXT
===================================================== */

.geo-facts-text{
    position:relative;
}


/* GRUNDLAYOUT */

.geo-facts-text__inner{
    display:grid;

    grid-template-columns:
        minmax(240px,1fr)
        minmax(0,2fr);

    column-gap:70px;

    align-items:start;

    padding:
        32px
        0;
}


/* ZAHLEN / FAKTEN */

.geo-facts-text__facts{
    display:flex;
    flex-direction:column;

    min-width:0;
}


/* Einzelner Fakt */

.geo-facts-text__fact{
    position:relative;

    padding:
        18px
        0
        18px
        20px;

    border-bottom:1px solid #e8e8e8;
}


/* Erster Fakt ohne zusätzlichen Abstand oben */

.geo-facts-text__fact:first-child{
    padding-top:0;
}


/* Letzter Fakt ohne Abstand und Linie unten */

.geo-facts-text__fact:last-child{
    padding-bottom:0;

    border-bottom:0;
}


/* ORANGER AKZENT */

.geo-facts-text__value{
    position:relative;
}


.geo-facts-text__value::before{
    content:"";

    position:absolute;

    left:-20px;
    top:50%;

    width:6px;
    height:6px;

    transform:translateY(-50%);

    background:#ef6c00;

    border-radius:50%;
}


/* ZAHL */

.geo-facts-text__value{
    display:block;

    margin-bottom:4px;

    color:#555;

    font-size:clamp(24px,2.3vw,34px);
    font-weight:700;

    line-height:1.15;
}


/* Erklärung unter der Zahl */

.geo-facts-text__label{
    display:block;

    color:#777;

    line-height:1.5;
}


/* TEXT */

.geo-facts-text__content{
    min-width:0;
}


.geo-facts-text__content h3{
    margin-top:0;
}


.geo-facts-text__content p:last-child{
    margin-bottom:0;
}


/* Link im vorhandenen Seitenstil */

.geo-facts-text__content a,
.geo-facts-text__content a:visited,
.geo-facts-text__content a:hover,
.geo-facts-text__content a:focus,
.quelle-link,
.quelle-link:visited,
.quelle-link:hover,
.quelle-link:focus {
    color:#444444;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:3px;
}


/* TABLET */

@media(max-width:900px){

    .geo-facts-text__inner{
        column-gap:45px;
    }

}


/* MOBILE */

@media(max-width:700px){

    .geo-facts-text__inner{
        grid-template-columns:1fr;

        row-gap:30px;

        padding:
            28px
            0;
    }


    /* Fakten auf Mobile kompakter untereinander */

    .geo-facts-text__facts{
        display:grid;

        grid-template-columns:1fr;

        gap:0;
    }


    .geo-facts-text__fact{
        padding:
            15px
            0
            15px
            20px;
    }


    .geo-facts-text__fact:first-child{
        padding-top:0;
    }


    .geo-facts-text__fact:last-child{
        padding-bottom:0;
    }

}

/* =====================================================
   GEO DEFINITION / ZITATBLOCK
   ===================================================== */

.geo-definition{
    position:relative;
    background:#fff;
}

.geo-definition__inner{
    width:100%;
}

.geo-definition__quote{
    position:relative;
    max-width:1000px;
    margin:30px 0 0;
    padding:32px 38px 32px 42px;
    border-left:5px solid #ef6c00;
    background:#f7f7f7;
}

.geo-definition__quote p{
    margin:0;
}


/* Dekoratives Anführungszeichen */

.geo-definition__quote::before{
    content:"“";
    position:absolute;
    top:8px;
    right:24px;
    color:rgba(239,108,0,.16);
    font-family:Georgia, serif;
    font-size:90px;
    line-height:1;
    pointer-events:none;
}


/* Definitionsblock: Tablet */

@media (max-width:991px){

    .geo-definition__quote{
        margin-top:24px;
        padding:28px 30px 28px 34px;
    }

    .geo-definition__quote::before{
        right:18px;
        font-size:72px;
    }

}


/* Definitionsblock: Smartphone */

@media (max-width:768px){

    .geo-definition__quote{
        padding:24px 22px 24px 26px;
        border-left-width:4px;
    }

    .geo-definition__quote::before{
        top:8px;
        right:12px;
        font-size:58px;
    }

}

/* =====================================================
   GEO METHODIK
===================================================== */

.geo-methodik {
    width: 100%;
    margin-bottom: 90px;
}


/* INTRO */

.geo-methodik-intro {
    max-width: 900px;
    margin-bottom: 36px;
}

.geo-methodik-intro h2 {
    margin: 0 0 18px;
}

.geo-methodik-intro p {
    margin: 0;
    line-height: 1.65;
}


/* TABELLE */

.geo-methodik-table-wrap {
    width: 100%;
    margin-top: 30px;
    overflow-x: auto;
}

.geo-methodik-table {
    width: 100%;

    border-collapse: collapse;
    table-layout: fixed;

    background: #fff;
    border-top: 3px solid #ff6600;
}

.geo-methodik-table th,
.geo-methodik-table td {
    padding: 22px 24px;

    text-align: left;
    vertical-align: top;

    border-bottom: 1px solid #e6e6e6;

    line-height: 1.55;
}

.geo-methodik-table th {
    background: #f7f7f7;

    color: #333;

    font-size: 15px;
    font-weight: 700;
}

.geo-methodik-table td {
    color: #555;
}


/* Spaltenbreiten */

.geo-methodik-table th:nth-child(1),
.geo-methodik-table td:nth-child(1) {
    width: 25%;
}

.geo-methodik-table th:nth-child(2),
.geo-methodik-table td:nth-child(2) {
    width: 45%;
}

.geo-methodik-table th:nth-child(3),
.geo-methodik-table td:nth-child(3) {
    width: 30%;
}


/* Erste Spalte */

.geo-methodik-table td:first-child strong {
    display: block;

    color: #333;
    font-weight: 700;
}


/* Dezenter Hover */

.geo-methodik-table tbody tr {
    transition: background-color 0.2s ease;
}

.geo-methodik-table tbody tr:hover {
    background-color: #fafafa;
}


/* MERKE / ZIEL */

.geo-methodik-merke {
    margin-top: 28px;
    padding: 22px 26px;

    background: #f7f7f7;
    border-left: 3px solid #ff6600;

    line-height: 1.6;
}

.geo-methodik-merke strong {
    color: #333;
}


/* SWIPE-HINWEIS
   Desktop ausgeblendet */

.geo-methodik-next {
    display: none;
}


/* MOBILE */

@media (max-width: 767px) {

    .geo-methodik {
        margin-bottom: 60px;
    }


    /* INTRO */

    .geo-methodik-intro {
        margin-bottom: 25px;
    }


    /* TABELLEN-WRAPPER */

    .geo-methodik-table-wrap {
        width: 100%;
        margin-top: 25px;
        overflow: visible;
    }


    /* TABELLE AUF MOBILE */

    .geo-methodik-table {
        display: block;
        width: 100%;

        border: 0;
        background: transparent;
    }

    .geo-methodik-table thead {
        display: none;
    }


    /* HORIZONTALER SWIPE-BEREICH */

    .geo-methodik-table tbody {
        display: flex;
        gap: 16px;

        width: 100%;

        overflow-x: auto;

        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;

        padding-bottom: 12px;

        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .geo-methodik-table tbody::-webkit-scrollbar {
        display: none;
    }


    /* EINZELNE KARTE */

    .geo-methodik-table tr {
        display: block;

        flex: 0 0 85%;

        scroll-snap-align: start;

        background: #fff;

        border-top: 3px solid #ff6600;
        border-bottom: 1px solid #e6e6e6;
    }

    .geo-methodik-table tbody tr:hover {
        background: #fff;
    }


    /* ZELLEN */

    .geo-methodik-table td {
        display: block;

        width: 100% !important;

        padding: 16px 18px;

        border-bottom: 1px solid #ededed;
    }

    .geo-methodik-table td:last-child {
        border-bottom: 0;
    }


    /* MOBILE LABELS */

    .geo-methodik-table td::before {
        content: attr(data-label);

        display: block;

        margin-bottom: 6px;

        color: #888;

        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    /* Beim Bereich selbst kein zusätzliches Label */
    .geo-methodik-table td:first-child::before {
        display: none;
    }


    /* KARTEN-HEADLINE */

    .geo-methodik-table td:first-child {
        position: relative;

        /* Platz für den Swipe-Pfeil */
        padding-right: 70px;

        min-height: 72px;
    }

    .geo-methodik-table td:first-child strong {
        display: block;

        color: #333;

        font-size: 18px;
        font-weight: 700;
        line-height: 1.35;
    }


    /* ORANGER SWIPE-PFEIL
       Nur Karte 1 bis 5 */

   /* ORANGER SWIPE-KREIS
   Nur Karte 1 bis 5 */

.geo-methodik-table tr:not(:last-child) td:first-child::after {
    content: "";

    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);

    width: 40px;
    height: 40px;

    background: #ff6600;
    border-radius: 50%;
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.16);

    pointer-events: none;
    z-index: 1;
}


/* WEISSER ZENTRIERTER PFEIL IM KREIS */

.geo-methodik-table tr:not(:last-child) td:first-child strong::after {
    content: "→";

    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);

    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;

    pointer-events: none;
    z-index: 2;
}

    /* MERKE / DAS ZIEL */

    .geo-methodik-merke {
        margin-top: 24px;
        padding: 20px;
    }

}

/* =====================================================
   GEO HOW COMPACT wurde durch Methodik ersetzt
===================================================== */


/* INTRO */

.geo-how-compact__intro{
    max-width:850px;
    margin-bottom:30px;
}

.geo-how-compact__intro h2{
    margin-top:0;
}

.geo-how-compact__lead{
    max-width:760px;
    margin-bottom:0;
}


/* OBERER 60 / 40 BEREICH */

.geo-how-compact__top{
    display:grid;

    grid-template-columns:
        minmax(0,3fr)
        minmax(0,2fr);

    column-gap:70px;

    align-items:start;
}


/* SCHRITTE LINKS */

.geo-how-compact__steps{
    border-top:1px solid #dddddd;
    border-bottom:1px solid #dddddd;
}


.geo-how-compact__step{
    display:grid;

    grid-template-columns:
        42px
        minmax(0,1fr);

    column-gap:18px;

    padding:22px 0;

    border-bottom:1px solid #e5e5e5;
}


.geo-how-compact__step:last-child{
    border-bottom:0;
}


.geo-how-compact__step h3{
    margin:0 0 6px;
}


.geo-how-compact__step p{
    margin:0;
}


.geo-how-compact__number{
    color:#ef6c00;
    font-weight:700;
}


/* BILD RECHTS */

.geo-how-compact__media{
    min-width:0;
}


.geo-how-compact__media img{
    display:block;

    width:100%;
    max-width:100%;
    height:auto;
}


/* UNTERER 60 / 40 BEREICH */

.geo-how-compact__bottom{
    display:grid;

    grid-template-columns:
        minmax(0,3fr)
        minmax(0,2fr);

    column-gap:70px;

    align-items:stretch;

    width:100%;
    max-width:none;

    margin-top:24px;
}


/* BEISPIEL LINKS */

.geo-how-compact__example{
    grid-column:1;

    min-width:0;

    padding:18px 22px;

    box-sizing:border-box;

    background:#fafafa;

    border-left:4px solid #ef6c00;
}

.geo-how-compact__example strong{
    display:block;
    margin-bottom:5px;
}

.geo-how-compact__example p{
    margin:0;
}


/* CTA RECHTS UNTER DEM BILD */

.geo-how-compact__cta{
    grid-column:2;

    display:flex;

    justify-content:flex-start;
    align-items:flex-end;

    width:100%;
    min-width:0;
    height:100%;

    margin:0;

    box-sizing:border-box;
}

.geo-how-compact__cta .contactbutton{
    width:auto;
    max-width:100%;

    margin:0;
}

.geo-how-compact__cta .contactbutton a{
    width:fit-content;
    max-width:100%;

    height:auto;
    min-height:50px;

    padding:10px 24px;

    box-sizing:border-box;

    white-space:normal;
}

.geo-how-compact__cta .contactbutton a span{
    min-width:0;
    max-width:100%;

    text-align:center;

    white-space:normal;

    overflow-wrap:break-word;
    word-break:normal;
}


/* TABLET */

@media(max-width:900px){

    .geo-how-compact__top{
        column-gap:40px;
    }


    .geo-how-compact__bottom{
        column-gap:40px;
    }

}


/* MOBILE */

@media(max-width:768px){

    /* INTRO */

    .geo-how-compact__intro{
        max-width:none;
        margin-bottom:24px;
    }


    /* OBERER BEREICH */

    .geo-how-compact__top{
        grid-template-columns:1fr;

        row-gap:24px;
        column-gap:0;
    }


    /* BILD VOR DIE SCHRITTE */

    .geo-how-compact__media{
        order:-1;
    }


    .geo-how-compact__media img{
        width:70%;

        margin:0 auto;
    }


    /* SCHRITTE */

    .geo-how-compact__step{
        grid-template-columns:
            32px
            minmax(0,1fr);

        column-gap:12px;

        padding:20px 0;
    }


    /* UNTERER BEREICH */

    .geo-how-compact__bottom{
        grid-template-columns:1fr;

        row-gap:24px;
        column-gap:0;

        width:100%;

        margin-top:22px;
    }


    /* BEISPIEL */

    .geo-how-compact__example{
        grid-column:1;

        width:100%;

        padding:16px 18px;
    }


    /* CTA */

    .geo-how-compact__cta{
        grid-column:1;
        align-items: center;
        justify-content:flex-start;

        width:100%;

        margin:0;
    }


    .geo-how-compact__cta .contactbutton{
        width:auto;
        max-width:100%;
    }


    .geo-how-compact__cta .contactbutton a{
        width:fit-content;
        max-width:100%;

        white-space:normal;
    }

}
/* =====================================================
   GEO VIDEO EYECATCHER
   ===================================================== */

.geo-video-eyecatcher{
    position:relative;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-bottom:90px;
    background:#000;
    overflow:hidden;
}

.geo-video-eyecatcher .wrapper{
    margin-bottom:0;
}


/*CONTENTAREA / GRID*/

.geo-video-eyecatcher__inner{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);

    width:100%;
    max-width:1480px;
    min-height:450px;

    margin-inline:auto;
    padding-inline:40px;
    box-sizing:border-box;
}


/*VIDEO*/

.geo-video-eyecatcher__media{
    position:relative;
    min-width:0;
    overflow:hidden;
    background:#000;
}

.geo-video-eyecatcher__media video{
    position:absolute;
    inset:0;

    display:block;
    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center;
}


/* Verlauf Video -> Schwarz */

.geo-video-eyecatcher__media::after{
    content:"";
    position:absolute;
    z-index:2;

    top:0;
    right:-1px;
    bottom:0;

    width:30%;

    background:linear-gradient(
        to right,
        rgba(0,0,0,0),
        #000
    );

    pointer-events:none;
}


/*CONTENT*/

.geo-video-eyecatcher__content{
    position:relative;
    z-index:3;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-end;

    min-width:0;
    padding:60px 0 60px 70px;

    box-sizing:border-box;
    color:#fff;
    text-align:right;
}

.geo-video-eyecatcher__content h2,
.geo-video-eyecatcher__content p{
    max-width:650px;
    color:#fff;
}

.geo-video-eyecatcher__content h2{
    margin:0 0 18px;
    color:#ffffff;
    font-size:56px;
    line-height:1.05;
    font-weight:800;
    letter-spacing:-.03em;
    text-align:centre;
}

.geo-video-eyecatcher__content p{
    max-width:620px;
    margin:0 0 30px;
    color:#ffffff;
    font-size:26px;
    line-height:1.35;
    font-weight:500;
    text-align:centre;
}

.geo-video-eyecatcher__content .button-row{
    justify-content:flex-end;
    margin-top:30px;
}


/* MOBILE */

@media(max-width:800px){

    .geo-video-eyecatcher{
        margin-bottom:70px;
    }


    .geo-video-eyecatcher__inner{
        grid-template-columns:1fr;

        max-width:none;
        min-height:0;

        padding-inline:0;
    }


    /* VIDEO VOLLE BREITE */

    .geo-video-eyecatcher__media{
        aspect-ratio:16 / 9;

        background:#000;
    }


    /* Verlauf nach unten */

    .geo-video-eyecatcher__media::after{
        top:auto;
        right:0;
        bottom:-2px;
        left:0;

        width:100%;
        height:35%;

        background:linear-gradient(
            to bottom,
            rgba(0,0,0,0),
            #000
        );
    }

      .geo-video-eyecatcher__media{
        aspect-ratio:16 / 9;
        background:#000;
    }

    .geo-video-eyecatcher__media video{
        top:0;
        bottom:auto;

        width:100%;
        height:100%;

        object-fit:cover;
        object-position:center top;
    }


    /* CONTENT */

    .geo-video-eyecatcher__content{
        align-items:center;

        width:100%;
        min-width:0;

        margin-top:-2px;

        padding:
            30px
            24px
            45px;

        box-sizing:border-box;

        background:#000;

        text-align:center;
    }


    /* TYPOGRAFIE MOBILE */

    .geo-video-eyecatcher__content h2{
        width:100%;
        max-width:600px;

        margin:
            0
            auto
            16px;

        font-size:40px;
        line-height:1.08;

        text-align:center;
    }


    .geo-video-eyecatcher__content p{
        width:100%;
        max-width:560px;

        margin:
            0
            auto;

        font-size:20px;
        line-height:1.4;

        text-align:center;
    }


    /* CTA */

    .geo-video-eyecatcher__content .button-row{
        display:flex;
        justify-content:center;

        width:100%;
        max-width:100%;
        min-width:0;

        margin-top:26px;

        box-sizing:border-box;
    }


    .geo-video-eyecatcher__content .contactbutton{
        display:block;
        max-width:100%;
        min-width:0;

        margin:0;

        box-sizing:border-box;
    }


    .geo-video-eyecatcher__content .contactbutton a{
        display:flex !important;

        align-items:center;
        justify-content:center;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        height:auto !important;
        min-height:0;

        padding:
            12px
            16px !important;

        box-sizing:border-box;

        white-space:normal !important;

        text-align:center;
    }


    .geo-video-eyecatcher__content .contactbutton a span{
        display:block;

        flex:0 1 auto;

        min-width:0;
        max-width:100%;

        white-space:normal !important;

        overflow-wrap:break-word;
        word-break:normal;

        text-align:center;
    }

}


/* SMARTPHONE */

@media(max-width:600px){

    .geo-video-eyecatcher{
        margin-bottom:50px;
    }


    .geo-video-eyecatcher__content{
        padding:
            24px
            18px
            38px;
    }


    .geo-video-eyecatcher__content h2{
        font-size:34px;
        line-height:1.08;
    }


    .geo-video-eyecatcher__content p{
        font-size:18px;
        line-height:1.4;
    }


    .geo-video-eyecatcher__content .button-row{
        margin-top:22px;
    }

}

/* =====================================================
   EYECATCHER – SVG ANIMATION
   ===================================================== */

.geo-video-eyecatcher--svg .geo-video-eyecatcher__media{
    display:flex;
    align-items:center;
    justify-content:center;

    overflow:visible;
}


/* Bei SVG-Animation kein Video-Verlauf */

.geo-video-eyecatcher--svg .geo-video-eyecatcher__media::after{
    display:none;
}

/* =====================================================
   GEMEINSAME SVG-EINSTELLUNGEN
   ===================================================== */

.geo-energy-animation__sun,
.geo-energy-animation__wind,
.geo-energy-animation__rotor,
.geo-energy-animation__solar{
    position:absolute;
    display:block;

    height:auto;

    filter:brightness(0) invert(1);

    will-change:transform;
}

/* =====================================================
   LOGISTIK LKW ANIMATION*/

.geo-truck-animation{
    position:relative;

    width:min(520px, 85%);

    aspect-ratio:356.38 / 157.25;

    flex:0 0 auto;
    overflow:visible;

    animation:geoTruckBump 6s ease-in-out infinite;
}


/*LKW BODY*/

.geo-truck-animation__truck{
    position:absolute;
    inset:0;
filter:brightness(0) invert(1);
    display:block;
    width:100%;
    height:100%;

    object-fit:contain;
    z-index:2;
    transform-origin:55% 70%;

    animation:geoTruckIdle .55s ease-in-out infinite;

    will-change:transform;
}


/*REIFEN*/

.geo-truck-animation__wheel{
    position:absolute;

    width:13%;
    height:auto;

    z-index:3;

    transform-origin:50% 50%;
    will-change:transform;

    animation:geoTruckWheelRotate 2.4s linear infinite;
}


/*DREI HINTERRÄDER*/

.geo-truck-animation__wheel--1{
    left:3.3%;
    top:86%;
}


.geo-truck-animation__wheel--2{
    left:15.4%;
    top:86%;
}


.geo-truck-animation__wheel--3{
    left:27.5%;
    top:86%;
}


/*FAHRERHAUS / VORDERACHSE*/

.geo-truck-animation__wheel--4{
    left:58%;
    top:86%;
}


.geo-truck-animation__wheel--5{
    left:80.3%;
    top:86%;
}


/*LKW – GELEGENTLICHER HÜPFER*/

@keyframes geoTruckBump{

    0%,
    82%,
    100%{
        transform:translateY(0);
    }

    84%{
        transform:translateY(-8px);
    }

    86%{
        transform:translateY(0);
    }

    88%{
        transform:translateY(-4px);
    }

    90%{
        transform:translateY(0);
    }

}


/*LKW BODY – MOTOR-TUCKERN*/

@keyframes geoTruckIdle{

    0%{
        transform:
            translateY(0)
            rotate(0deg);
    }

    25%{
        transform:
            translateY(-1px)
            rotate(.15deg);
    }

    50%{
        transform:
            translateY(0)
            rotate(-.1deg);
    }

    75%{
        transform:
            translateY(-1px)
            rotate(.1deg);
    }

    100%{
        transform:
            translateY(0)
            rotate(0deg);
    }

}


/*REIFENROTATION*/

@keyframes geoTruckWheelRotate{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}


/*MOBILE*/

@media(max-width:800px){

    .geo-truck-animation{
        width:min(360px, 82%);
    }

}


/* =====================================================
   IT MONITOR + ZAHNRÄDER*/

.geo-it-gear-animation{
    position:relative;

    width:min(360px, 75%);
    aspect-ratio:1 / 1;

    flex:0 0 auto;
}


/* Monitor */

.geo-it-gear-animation__desktop{
    position:absolute;
    inset:0;

    display:block;
    width:100%;
    height:100%;

    object-fit:contain;

    z-index:1;

    filter:brightness(0) invert(1);
}


/* Zahnräder */

.geo-it-gear-animation__gear{
    position:absolute;

    display:block;
    height:auto;

    z-index:2;

    transform-origin:50% 50%;
    will-change:transform;
}


/* Mittleres Zahnrad */

.geo-it-gear-animation__gear--medium{
    width:18%;
    left:17%;
    top:44%;

    animation:geoGearLeft 6s linear infinite;
}


/* Kleines Zahnrad */

.geo-it-gear-animation__gear--small{
    width:11%;
    left:38%;
    top:31%;

    animation:geoGearRight 4s linear infinite;
}


/* Großes Zahnrad */

.geo-it-gear-animation__gear--large{
    width:26%;
    left:39%;
    top:51%;

    animation:geoGearRight 8s linear infinite;
}


/*ZAHNRAD ROTATION*/

@keyframes geoGearRight{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}


@keyframes geoGearLeft{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(-360deg);
    }

}


/*MOBILE*/

@media(max-width:800px){

    .geo-video-eyecatcher--svg .geo-video-eyecatcher__media{
        aspect-ratio:16 / 9;
        min-height:260px;
    }


    /* Zahnrad-Animation */

    .geo-it-gear-animation{
        width:min(200px, 62%);
    }


    /* LKW-Animation */

    .geo-truck-animation{
        width:min(360px, 82%);
    }


    /* Beide Animationen optisch leicht nach links */
   /* Nope */

    .geo-it-gear-animation,
    .geo-truck-animation{
        position:relative;
        /*left: 6px;*/
    }

}

/* =====================================================
   ENERGIE – WINDRAD + SOLAR + SONNE*/


/* Gemeinsame Zentrierung aller SVG-Animationen */

.geo-svg-animation-center{
    display:flex;
    align-items:center;
    justify-content:center;

    width:100%;
    height:100%;

    box-sizing:border-box;
}


/*GESAMTE ENERGIE-GRAFIK*/

.geo-energy-animation{
    position:relative;

    width:min(520px, 85%);
    aspect-ratio:1.35 / 1;

    flex:0 0 auto;
    overflow:visible;

    margin-inline:auto;
}


/*GEMEINSAME SVG-EINSTELLUNGEN*/

.geo-energy-animation__sun,
.geo-energy-animation__wind,
.geo-energy-animation__rotor,
.geo-energy-animation__solar{
    display:block;

    filter:brightness(0) invert(1);
}


/*SONNE*/

.geo-energy-animation__sun{
    position:absolute;

    width:17%;
    height:auto;

    left:8%;
    top:8%;

    z-index:1;

    transform-origin:50% 50%;
    will-change:transform, opacity;

    animation:geoEnergySun 4s ease-in-out infinite;
}


/*SOLARPANEL*/

.geo-energy-animation__solar{
    position:absolute;

    width:55%;
    height:auto;

    left:3%;
    bottom:8%;

    z-index:3;
}


/*WINDRAD-GRUPPE*/

.geo-energy-animation__turbine{
    position:absolute;

    width:34%;
    height:86%;

    right:3%;
    bottom:4%;

    z-index:2;

    overflow:visible;
}


/*WINDRAD-MAST*/

.geo-energy-animation__wind{
    position:absolute;

    left:50%;
    bottom:0;

    width:70%;
    height:72%;

    object-fit:contain;
    object-position:center bottom;

    transform:translateX(-50%);

    z-index:1;
}


/*ROTOR-WRAPPER*/

.geo-energy-animation__rotor-wrap{
    position:absolute;

    width:92%;
    aspect-ratio:1 / 1;

    left:50%;
    top:-1%;

    transform-origin:50% 50%;
    transform:translateX(-50%);

    z-index:2;

    will-change:transform;

    animation:geoEnergyRotor 8s linear infinite;
}


/*ROTOR SVG*/

.geo-energy-animation__rotor{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:contain;

    z-index:1;
}


/*ROTORROTATION*/

@keyframes geoEnergyRotor{

    from{
        transform:
            translateX(-50%)
            rotate(0deg);
    }

    to{
        transform:
            translateX(-50%)
            rotate(360deg);
    }

}


/*SONNE – SUBTILES PULSIEREN*/

@keyframes geoEnergySun{

    0%,
    100%{
        transform:scale(1);
        opacity:.75;
    }

    50%{
        transform:scale(1.07);
        opacity:1;
    }

}


/*MOBILE*/

@media(max-width:800px){

    .geo-svg-animation-center{
        width:100%;

        justify-content:center;

        padding-inline:20px;

        box-sizing:border-box;
    }


    .geo-energy-animation{
        width:min(360px, 82%);
        margin-inline:auto;
    }


    .geo-energy-animation__solar{
        width:55%;

        left:3%;
        bottom:8%;
    }


    .geo-energy-animation__sun{
        width:17%;

        left:8%;
        top:8%;
    }


    /* Windrad auf Mobile ebenfalls etwas größer */

    .geo-energy-animation__turbine{
        width:34%;
        height:86%;

        right:3%;
        bottom:4%;
    }

}


/*REDUCED MOTION*/

@media(prefers-reduced-motion:reduce){

    .geo-energy-animation__sun,
    .geo-energy-animation__rotor-wrap{
        animation:none;
    }

}

/* =====================================================
   PHARMA – DNA DOPPELHELIX
   ===================================================== */


/*GESAMTER ANIMATIONSBEREICH*/

.geo-dna-animation{
    position:relative;

    /* etwas kleiner als bisher */
    width:min(310px, 54%);
    aspect-ratio:435.87 / 505.05;

    flex:0 0 auto;

    perspective:900px;

    overflow:visible;
}


/*SCHATTEN AM BODEN*/

.geo-dna-animation::after{
    content:"";

    position:absolute;

    left:50%;
    bottom:-22px;

    width:58%;
    height:16px;

    border-radius:50%;

    background:rgba(255,255,255,.65);

    filter:blur(8px);

    transform:
        translateX(-50%)
        scaleX(1);

    transform-origin:center;

    z-index:0;

    pointer-events:none;

    animation:
        geoDNAShadow 4s ease-in-out infinite;
}


/*DNA-GRUPPE*/

.geo-dna-animation__helix{
    position:absolute;
    inset:0;

    z-index:2;

    transform-style:preserve-3d;
    transform-origin:50% 50%;

    animation:
        geoDNAFloat 4s ease-in-out infinite,
        geoDNATurn 4.5s ease-in-out infinite alternate;

    will-change:transform;
}


/*AUSSENSTRUKTUR*/

.geo-dna-animation__outer{
    position:absolute;
    inset:0;

    display:block;

    width:100%;
    height:100%;

    object-fit:contain;

    z-index:1;

    filter:brightness(0) invert(1);
}


/*INNERE DNA-VERBINDUNGEN*/

.geo-dna-animation__inner{
    position:absolute;

    width:86%;
    height:86%;

    left:50%;
    top:50%;

    object-fit:contain;

    transform:translate(-50%, -50%);

    z-index:2;

    filter:brightness(0) invert(1);
}


/* LEICHTES SCHWEBEN*/

@keyframes geoDNAFloat{

    0%,
    100%{
        translate:0 0;
    }

    50%{
        translate:0 -7px;
    }

}


/*DURCHGEHENDE RÄUMLICHE BEWEGUNG*/

@keyframes geoDNATurn{

    from{
        rotate:y -14deg;
    }

    to{
        rotate:y 14deg;
    }

}


/*SCHATTENREAKTION AUF DAS SCHWEBEN */

@keyframes geoDNAShadow{

    0%,
    100%{
        transform:
            translateX(-50%)
            scaleX(1);

        opacity:.7;
    }

    50%{
        transform:
            translateX(-50%)
            scaleX(.82);

        opacity:.4;
    }

}


/*MOBILE*/

@media(max-width:800px){

    .geo-dna-animation{
        width:min(215px, 50%);
    }

    .geo-dna-animation::after{
        bottom:-18px;

        width:58%;
        height:13px;

        filter:blur(7px);
    }

}


/*REDUCED MOTION*/

@media(prefers-reduced-motion:reduce){

    .geo-dna-animation__helix,
    .geo-dna-animation::after{
        animation:none;
    }

}

/*
   FINANZEN – FINANZKREISLAUF
===================================================== */


/* Gesamte Finanz-Grafik */

.geo-finance-animation{
    position:relative;

    width:min(390px, 68%);
    aspect-ratio:244.74 / 277.7;

    flex:0 0 auto;
    overflow:visible;

    margin-inline:auto;
}


/* ÄUSSERER KREISLAUF*/

.geo-finance-animation__outer-wrap{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    z-index:1;

    transform-origin:50% 50%;

    will-change:transform;

    animation:geoFinanceRotate 20s linear infinite;
}

.geo-finance-animation__outer{
    display:block;

    width:100%;
    height:100%;

    object-fit:contain;

    filter:brightness(0) invert(1);

    transform:scaleX(-1);
    transform-origin:50% 50%;
}


/* FINANZMITTEL IN DER MITTE */

.geo-finance-animation__inner{
    position:absolute;

    width:49%;
    height:auto;

    left:50%;
    top:50%;

    filter:brightness(0) invert(1);

    z-index:2;

    will-change:transform;

    animation:geoFinanceInnerBounce 3.8s ease-in-out infinite;
}


/* SUBTILES SPRINGEN DER MITTE */

@keyframes geoFinanceInnerBounce{

    0%,
    100%{
        transform:translate(-50%, -50%);
    }

    50%{
        transform:translate(-50%, calc(-50% - 8px));
    }

}


/* ROTATION IM UHRZEIGERSINN */

@keyframes geoFinanceRotate{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}


/* LEICHTES WIPPEN DER MITTE */

@keyframes geoFinanceInnerWobble{

    0%,
    100%{
        transform:
            translate(-50%, -50%)
            rotate(-2.5deg);
    }

    50%{
        transform:
            translate(-50%, -50%)
            rotate(2.5deg);
    }

}


/* MOBILE */

@media(max-width:800px){

    .geo-finance-animation{
        width:min(280px, 50%);
        margin-inline:auto;
    }

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

    .geo-finance-animation__outer-wrap,
    .geo-finance-animation__inner{
        animation:none;
    }

    .geo-finance-animation__inner{
        transform:translate(-50%, -50%);
    }

}

/* =====================================================
   MASCHINENBAU ANIMATION*/


/* GESAMTE ANIMATION */

.geo-machine-animation{
    position:relative;

    width:min(500px,82%);
    max-width:100%;

    aspect-ratio:1.15 / 1;

    flex:0 1 auto;

    margin-inline:auto;

    box-sizing:border-box;

    overflow:visible;
}


/* GEMEINSAME SVG-EINSTELLUNGEN */

.geo-machine-animation__arm,
.geo-machine-animation__finger,
.geo-machine-animation__gear,
.geo-machine-animation__wrench{
    position:absolute;

    display:block;

    height:auto;

    filter:
        brightness(0)
        invert(1);
}


/* ARM */

.geo-machine-animation__arm{
    width:34%;

    left:14%;
    top:14%;

    z-index:2;
}


/* FINGER */

.geo-machine-animation__finger{
    width:3.2%;

    left:44.5%;
    top:23%;

    z-index:3;

    transform-origin:50% 0%;

    will-change:transform;

    animation:
        geoMachineFingerMove
        6s
        ease-in-out
        infinite;
}


/* ZAHNRAD */

.geo-machine-animation__gear{
    width:24%;

    left:36.5%;
    top:37.5%;

    z-index:2;

    transform-origin:50% 50%;

    will-change:transform;

    animation:
        geoMachineGearSpin
        7s
        linear
        infinite;
}


/* SCHRAUBENSCHLÜSSEL */

.geo-machine-animation__wrench{
    width:26%;

    left:60%;
    top:58%;

    z-index:2;

    transform-origin:22% 18%;

    will-change:transform;

    animation:
        geoMachineWrenchWiggle
        6s
        ease-in-out
        infinite;
}


/* ZAHNRAD – DAUERROTATION */

@keyframes geoMachineGearSpin{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}


/* FINGER */

@keyframes geoMachineFingerMove{

    0%,
    8%{
        transform:translateY(0);
    }

    18%,
    26%{
        transform:translateY(18px);
    }

    36%,
    100%{
        transform:translateY(0);
    }

}


/* SCHRAUBENSCHLÜSSEL */

@keyframes geoMachineWrenchWiggle{

    0%,
    46%{
        transform:rotate(0deg);
    }

    52%{
        transform:rotate(-5deg);
    }

    58%{
        transform:rotate(5deg);
    }

    64%{
        transform:rotate(-4deg);
    }

    70%{
        transform:rotate(4deg);
    }

    76%{
        transform:rotate(-2deg);
    }

    82%{
        transform:rotate(2deg);
    }

    88%,
    100%{
        transform:rotate(0deg);
    }

}


/* MOBILE */

@media(max-width:800px){

    .geo-machine-animation{
        width:min(340px,82%);
        max-width:100%;

        margin-inline:auto;
    }

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

    .geo-machine-animation__finger,
    .geo-machine-animation__gear,
    .geo-machine-animation__wrench{
        animation:none;
    }

}

/* =====================================================
   CONSULTING – KOMPASS ANIMATION*/


/*GESAMTE ANIMATION*/

.geo-consulting-animation{
    position:relative;

    width:min(440px, 82%);
    aspect-ratio:1 / 1;

    flex:0 0 auto;
    overflow:visible;

    margin-inline:auto;
}


/*KOMPASS*/

.geo-consulting-animation__compass{
    position:absolute;

    width:38%;
    aspect-ratio:1 / 1;

    left:50%;
    top:50%;

    transform:translate(-50%, -50%);

    z-index:3;
}


/* Kompass außen */

.geo-consulting-animation__compass-outer{
    position:absolute;
    inset:0;

    display:block;

    width:100%;
    height:100%;

    object-fit:contain;

    filter:brightness(0) invert(1);

    z-index:1;
}


/*KOMPASS-NADEL*/

.geo-consulting-animation__compass-inner{
    position:absolute;

    left:50%;
    top:50%;

    width:auto;
    height:64%;

    transform:
        translate(-50%, -50%)
        rotate(-90deg);

    transform-origin:50% 50%;

    filter:brightness(0) invert(1);

    z-index:2;

    will-change:transform;

    animation:
        geoConsultingNeedle
        16s
        ease-in-out
        infinite;
}


/*ÄUSSERE ELEMENTE*/

.geo-consulting-animation__item{
    position:absolute;

    z-index:2;
}


/* SVG innerhalb des Containers */

.geo-consulting-animation__item img{
    display:block;

    width:100%;
    height:auto;

    filter:brightness(0) invert(1);

    opacity:.35;

    transform:scale(1);

    transform-origin:50% 50%;

    will-change:transform, opacity;
}


/*PROBLEM – LINKS*/

.geo-consulting-animation__item--problem{
    width:17%;

    left:3%;
    top:50%;

    transform:translateY(-50%);
}

.geo-consulting-animation__item--problem img{
    animation:
        geoConsultingProblem
        16s
        ease-in-out
        infinite;
}


/*EXPERTE – OBEN*/

.geo-consulting-animation__item--expert{
    width:11%;

    left:50%;
    top:2%;

    transform:translateX(-50%);
}

.geo-consulting-animation__item--expert img{
    animation:
        geoConsultingExpert
        16s
        ease-in-out
        infinite;
}


/*METHODE – RECHTS*/

.geo-consulting-animation__item--method{
    width:22%;

    right:1%;
    top:50%;

    transform:translateY(-50%);
}

.geo-consulting-animation__item--method img{
    animation:
        geoConsultingMethod
        16s
        ease-in-out
        infinite;
}


/*ERGEBNIS – UNTEN*/

.geo-consulting-animation__item--result{
    width:20%;

    left:50%;
    bottom:1%;

    transform:translateX(-50%);
}

.geo-consulting-animation__item--result img{
    animation:
        geoConsultingResult
        16s
        ease-in-out
        infinite;
}


/*KOMPASS-NADEL*/

@keyframes geoConsultingNeedle{

    /* Problem */

    0%,
    18%{
        transform:
            translate(-50%, -50%)
            rotate(-90deg);
    }


    /* Experte */

    25%,
    43%{
        transform:
            translate(-50%, -50%)
            rotate(0deg);
    }


    /* Methode */

    50%,
    68%{
        transform:
            translate(-50%, -50%)
            rotate(90deg);
    }


    /* Ergebnis */

    75%,
    93%{
        transform:
            translate(-50%, -50%)
            rotate(180deg);
    }


    /* zurück zum Problem */

    100%{
        transform:
            translate(-50%, -50%)
            rotate(270deg);
    }

}


/*PROBLEM AKTIV*/

@keyframes geoConsultingProblem{

    0%,
    18%{
        opacity:1;
        transform:scale(1.1);
    }

    23%,
    92%{
        opacity:.35;
        transform:scale(1);
    }

    100%{
        opacity:1;
        transform:scale(1.1);
    }

}


/*EXPERTE AKTIV*/

@keyframes geoConsultingExpert{

    0%,
    23%{
        opacity:.35;
        transform:scale(1);
    }

    25%,
    43%{
        opacity:1;
        transform:scale(1.1);
    }

    48%,
    100%{
        opacity:.35;
        transform:scale(1);
    }

}


/*METHODE AKTIV*/

@keyframes geoConsultingMethod{

    0%,
    48%{
        opacity:.35;
        transform:scale(1);
    }

    50%,
    68%{
        opacity:1;
        transform:scale(1.1);
    }

    73%,
    100%{
        opacity:.35;
        transform:scale(1);
    }

}


/*ERGEBNIS AKTIV*/

@keyframes geoConsultingResult{

    0%,
    73%{
        opacity:.35;
        transform:scale(1);
    }

    75%,
    93%{
        opacity:1;
        transform:scale(1.1);
    }

    98%,
    100%{
        opacity:.35;
        transform:scale(1);
    }

}


/*MOBILE*/

@media(max-width:800px){

    .geo-consulting-animation{
        width:min(320px, 78%);
    }


    .geo-consulting-animation__compass{
        width:38%;
    }


    .geo-consulting-animation__item--problem{
        width:17%;
        left:1%;
    }


    .geo-consulting-animation__item--expert{
        width:11%;
        top:1%;
    }


    .geo-consulting-animation__item--method{
        width:22%;
        right:0;
    }


    .geo-consulting-animation__item--result{
        width:20%;
        bottom:0;
    }

}


/*REDUCED MOTION*/

@media(prefers-reduced-motion:reduce){

    .geo-consulting-animation__compass-inner,
    .geo-consulting-animation__item img{
        animation:none;
    }


    .geo-consulting-animation__item img{
        opacity:1;
        transform:none;
    }


    .geo-consulting-animation__compass-inner{
        transform:
            translate(-50%, -50%)
            rotate(0deg);
    }

}

/* =====================================================
   RECHT / STEUERN / PRÜFUNG – DOKUMENT ANIMATION
===================================================== */
/*GESAMTE ANIMATION*/

.geo-law-animation{
    position:relative;

    width:min(430px, 78%);
    aspect-ratio:1 / 1;

    display:flex;
    align-items:center;
    justify-content:center;

    flex:0 0 auto;

    margin-inline:auto;
}


/*DOKUMENT-STAGE*/

.geo-law-animation__document-stage{
    position:relative;

    width:52%;

    /* Original-Seitenverhältnis Dokument.svg */
    aspect-ratio:293.69 / 378.11;

    overflow:hidden;

    flex:0 0 auto;
}


/*DOKUMENT*/

.geo-law-animation__document{
    position:absolute;
    inset:0;

    display:block;

    width:100%;
    height:100%;

    object-fit:contain;

    /* Dokument weiß */
    filter:brightness(0) invert(1);

    z-index:1;
}


/*LUPE*/

.geo-law-animation__loupe{
    position:absolute;

    width:42%;
    aspect-ratio:226.98 / 228.71;

    /*
     * Startposition = Prüfpunkt 1
     */
    left:5%;
    top:6%;

    z-index:3;

    will-change:left, top;

    animation:
        geoLawMagnifierMove
        12s
        ease-in-out
        infinite;
}

/*LUPE SELBST*/

.geo-law-animation__loupe-image{
    position:absolute;
    inset:0;

    display:block;

    width:100%;
    height:100%;

    object-fit:contain;

    /* Lupe schwarz */
    filter:brightness(0);

    z-index:2;
}


/*SYMBOLE IM LUPENGLAS*/

.geo-law-animation__loupe-symbol{
    position:absolute;

    left:40.5%;
    top:40.2%;

    display:block;

    object-fit:contain;

    transform:
        translate(-50%, -50%)
        scale(.78);

    transform-origin:50% 50%;

    opacity:0;

    /* Symbole schwarz */
    filter:brightness(0);

    z-index:3;

    will-change:opacity, transform;
}


/*PARAGRAPH*/

.geo-law-animation__loupe-symbol--paragraph{
    width:20%;

    animation:
        geoLawParagraph
        12s
        ease-in-out
        infinite;
}


/*EURO*/

.geo-law-animation__loupe-symbol--euro{
    width:20%;

    animation:
        geoLawEuro
        12s
        ease-in-out
        infinite;
}


/*KALENDER*/

.geo-law-animation__loupe-symbol--calendar{
    width:31%;

    animation:
        geoLawCalendar
        12s
        ease-in-out
        infinite;
}


/*LUPE – BEWEGUNG INNERHALB DES DOKUMENTS*/

@keyframes geoLawMagnifierMove{


    /* Punkt 1 */

    0%,
    14%{
        left:5%;
        top:6%;
    }


    /* Punkt 2 */

    30%,
    44%{
        left:53%;
        top:34%;
    }


    /* Punkt 3 */

    60%,
    74%{
        left:7%;
        top:61%;
    }


    /* Zurück zu Punkt 1 */

    94%,
    100%{
        left:5%;
        top:6%;
    }

}


/*PARAGRAPH*/

@keyframes geoLawParagraph{


    /* Start / Punkt 1 */

    0%,
    14%{
        opacity:1;

        transform:
            translate(-50%, -50%)
            scale(1);
    }


    /* Lupe verlässt Punkt 1 */

    19%,
    88%{
        opacity:0;

        transform:
            translate(-50%, -50%)
            scale(.78);
    }


    94%,
    100%{
        opacity:1;

        transform:
            translate(-50%, -50%)
            scale(1);
    }

}


/*EURO*/

@keyframes geoLawEuro{


    0%,
    28%{
        opacity:0;

        transform:
            translate(-50%, -50%)
            scale(.78);
    }


    30%,
    44%{
        opacity:1;

        transform:
            translate(-50%, -50%)
            scale(1);
    }


    49%,
    100%{
        opacity:0;

        transform:
            translate(-50%, -50%)
            scale(.78);
    }

}


/*KALENDER*/

@keyframes geoLawCalendar{


    0%,
    58%{
        opacity:0;

        transform:
            translate(-50%, -50%)
            scale(.78);
    }


    60%,
    74%{
        opacity:1;

        transform:
            translate(-50%, -50%)
            scale(1);
    }


    79%,
    100%{
        opacity:0;

        transform:
            translate(-50%, -50%)
            scale(.78);
    }

}


/*MOBILE*/

@media(max-width:800px){

    .geo-law-animation{
        width:min(310px, 76%);
    }


    .geo-law-animation__document-stage{
        width:55%;
    }

}


/* REDUCED MOTION*/

@media(prefers-reduced-motion:reduce){

    .geo-law-animation__loupe,
    .geo-law-animation__loupe-symbol{
        animation:none;
    }


    .geo-law-animation__loupe{
        left:5%;
        top:6%;
    }


    .geo-law-animation__loupe-symbol--paragraph{
        opacity:1;

        transform:
            translate(-50%, -50%)
            scale(1);
    }

}

/* =====================================================
   ANWÄLTE & KANZLEIEN – KI JOURNEY ANIMATION
===================================================== */


/* ANIMATIONS-WRAPPER */

.geo-svg-animation-center{
    display:flex;
    align-items:center;
    justify-content:center;

    width:100%;
    max-width:100%;
    min-width:0;

    box-sizing:border-box;
}


/* GESAMTE ANIMATION */

.geo-lawyer-journey{
    position:relative;

    width:min(460px,82%);
    max-width:100%;

    aspect-ratio:1.35 / 1;

    flex:0 1 auto;

    margin:0 auto;

    box-sizing:border-box;

    overflow:visible;
}


/* SZENEN */

.geo-lawyer-journey__scene{
    position:absolute;
    inset:0;

    opacity:0;

    pointer-events:none;

    transform-origin:50% 50%;

    will-change:
        opacity,
        transform;
}


/* SVG GRUNDEINSTELLUNGEN */

.geo-lawyer-journey__person,
.geo-lawyer-journey__robot,
.geo-lawyer-journey__match-person,
.geo-lawyer-journey__match-lawyer,
.geo-lawyer-journey__bubble-shape{
    display:block;

    filter:
        brightness(0)
        invert(1);
}


/* Sprechblasen spiegeln */

.geo-lawyer-journey__bubble--question
.geo-lawyer-journey__bubble-shape,
.geo-lawyer-journey__bubble--lawyer
.geo-lawyer-journey__bubble-shape{
    transform:scaleX(-1);
    transform-origin:50% 50%;
}


/* Schwarze Elemente innerhalb der weißen Sprechblasen */

.geo-lawyer-journey__paragraph,
.geo-lawyer-journey__questionmark,
.geo-lawyer-journey__lawyer-in-bubble{
    display:block;

    filter:brightness(0);
}


/* SZENE 1 – RECHTSFRAGE */

.geo-lawyer-journey__scene--question{
    animation:
        geoLawyerSceneQuestion
        12s
        ease-in-out
        infinite;
}


/* Person */

.geo-lawyer-journey__person--question{
    position:absolute;

    left:20%;
    bottom:11%;

    width:18%;
    height:auto;
}


/* Sprechblase */

.geo-lawyer-journey__bubble{
    position:absolute;

    aspect-ratio:109.26 / 101.31;
}


.geo-lawyer-journey__bubble--question{
    left:43%;
    top:12%;

    width:31%;
}


/* Sprechblasenform */

.geo-lawyer-journey__bubble-shape{
    position:absolute;
    inset:0;

    z-index:1;

    width:100%;
    height:100%;

    object-fit:contain;
}


/* Paragraph */

.geo-lawyer-journey__paragraph{
    position:absolute;

    left:40%;
    top:45%;

    z-index:2;

    width:18%;
    height:auto;

    transform:
        translate(-50%,-50%);
}


/* Fragezeichen */

.geo-lawyer-journey__questionmark{
    position:absolute;

    left:65%;
    top:45%;

    z-index:2;

    width:14%;
    height:auto;

    transform:
        translate(-50%,-50%);
}


/* SZENE 2 – KI-EINORDNUNG */

.geo-lawyer-journey__scene--ai{
    animation:
        geoLawyerSceneAI
        12s
        ease-in-out
        infinite;
}


/* Roboter */

.geo-lawyer-journey__robot{
    position:absolute;

    left:16%;
    top:48%;

    width:32%;
    height:auto;

    transform:
        translateY(-50%);
}


/* Sprechblase */

.geo-lawyer-journey__bubble--lawyer{
    left:55%;
    top:11%;

    width:31%;
}


/* Anwalt in der Sprechblase */

.geo-lawyer-journey__lawyer-in-bubble{
    position:absolute;

    left:50%;
    top:40%;

    z-index:2;

    width:22%;
    height:auto;

    transform:
        translate(-50%,-50%);
}


/* SZENE 3 – MATCHING */

.geo-lawyer-journey__scene--match{
    animation:
        geoLawyerSceneMatch
        12s
        ease-in-out
        infinite;
}


/* Person */

.geo-lawyer-journey__match-person{
    position:absolute;

    left:27%;
    bottom:17%;

    width:20%;
    height:auto;

    transform:
        translateX(-38px);

    will-change:transform;

    animation:
        geoLawyerPersonMatch
        12s
        ease-in-out
        infinite;
}


/* Anwalt */

.geo-lawyer-journey__match-lawyer{
    position:absolute;

    right:27%;
    bottom:17%;

    width:20%;
    height:auto;

    transform:
        translateX(38px);

    will-change:transform;

    animation:
        geoLawyerLawyerMatch
        12s
        ease-in-out
        infinite;
}


/* SZENEN-TIMING */


/* Szene 1 */

@keyframes geoLawyerSceneQuestion{

    0%,
    24%{
        opacity:1;
        transform:scale(1);
    }

    30%,
    96%{
        opacity:0;
        transform:scale(.97);
    }

    100%{
        opacity:1;
        transform:scale(1);
    }

}


/* Szene 2 */

@keyframes geoLawyerSceneAI{

    0%,
    25%{
        opacity:0;
        transform:scale(.97);
    }

    31%,
    53%{
        opacity:1;
        transform:scale(1);
    }

    60%,
    100%{
        opacity:0;
        transform:scale(.97);
    }

}


/* Szene 3 */

@keyframes geoLawyerSceneMatch{

    0%,
    55%{
        opacity:0;
    }

    62%,
    90%{
        opacity:1;
    }

    97%,
    100%{
        opacity:0;
    }

}


/* PERSON + ANWALT RUTSCHEN AUFEINANDER ZU */

@keyframes geoLawyerPersonMatch{

    0%,
    58%{
        transform:
            translateX(-38px);
    }

    68%,
    100%{
        transform:
            translateX(0);
    }

}


@keyframes geoLawyerLawyerMatch{

    0%,
    58%{
        transform:
            translateX(38px);
    }

    68%,
    100%{
        transform:
            translateX(0);
    }

}


/* MOBILE */

@media(max-width:800px){

    .geo-video-eyecatcher--svg
    .geo-video-eyecatcher__media{
        display:flex;
        align-items:center;
        justify-content:center;

        width:100%;
        max-width:100%;
        min-width:0;

        box-sizing:border-box;

        overflow:hidden;
    }


    .geo-video-eyecatcher--svg
    .geo-svg-animation-center{
        display:flex;
        align-items:center;
        justify-content:center;

        width:100%;
        max-width:100%;
        min-width:0;

        padding-inline:20px;

        box-sizing:border-box;

        overflow:hidden;
    }


    .geo-lawyer-journey{
        width:min(330px,100%);
        max-width:100%;

        flex:0 1 auto;

        margin:0 auto;
    }

}


/* SEHR KLEINE SMARTPHONES */

@media(max-width:450px){

    .geo-video-eyecatcher--svg
    .geo-svg-animation-center{
        padding-inline:16px;
    }


    .geo-lawyer-journey{
        width:min(310px,100%);
    }

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

    .geo-lawyer-journey__scene,
    .geo-lawyer-journey__match-person,
    .geo-lawyer-journey__match-lawyer{
        animation:none;
    }


    .geo-lawyer-journey__scene--question,
    .geo-lawyer-journey__scene--ai{
        opacity:0;
    }


    .geo-lawyer-journey__scene--match{
        opacity:1;
    }


    .geo-lawyer-journey__match-person,
    .geo-lawyer-journey__match-lawyer{
        transform:none;
    }

}

/* =====================================================
   GEO WARUM WESHALB
   ===================================================== */

.geo-insight{
    position:relative;
}

.geo-insight__header{

    max-width:900px;
    margin-bottom:60px;

}

.geo-insight__list{

    display:grid;
    gap:38px;

}

.geo-insight__item{

    display:grid;
    grid-template-columns:16px 1fr;
    gap:28px;
    align-items:start;

}

.geo-insight__line{

    position:relative;
    width:2px;
    height:100%;
    background:#e5e5e5;
    border-radius:999px;

}

.geo-insight__line::before{

    content:"";
    position:absolute;
    top:0;
    left:50%;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#ef6c00;
    transform:translateX(-50%);

}

.geo-insight__item h3{
    margin-bottom:12px;
}

.geo-insight__item p{
    margin:0;
}

/*RESPONSIVE*/

@media(max-width:800px){

    /* Medienbereich darf niemals breiter als
       der Eyecatcher selbst werden */

    .geo-video-eyecatcher--svg
    .geo-video-eyecatcher__media{
        display:flex;
        align-items:center;
        justify-content:center;

        width:100%;
        max-width:100%;
        min-width:0;

        box-sizing:border-box;
        overflow:hidden;
    }


    /* Wrapper der Animation exakt auf
       die verfügbare Breite begrenzen */

    .geo-svg-animation-center{
        display:flex;
        align-items:center;
        justify-content:center;

        width:100%;
        max-width:100%;
        min-width:0;

        padding-inline:20px;

        box-sizing:border-box;
        overflow:hidden;
    }


    /* Eigentliche Animation */

    .geo-lawyer-journey{
        flex:0 1 auto;

        width:min(330px, 100%);
        max-width:100%;

        margin:0 auto;

        aspect-ratio:1.35 / 1;

        box-sizing:border-box;
    }

}

/* =====================================================
   GEO PROBLEME
   ===================================================== */

.geo-problems{
    position:relative;
}

.geo-problems__header{
    max-width:900px;
    margin-bottom:60px;
}

.geo-problems__list{

    display:grid;
    gap:40px;
}

.geo-problems__item{

    display:grid;
    grid-template-columns:18px 1fr;
    gap:28px;
    align-items:start;
}

.geo-problems__marker{

    position:relative;
    width:2px;
    height:100%;
    background:#e6e6e6;
}

.geo-problems__marker::before{

    content:"";
    position:absolute;
    top:0;
    left:50%;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#ef6c00;
    transform:translateX(-50%);

}

.geo-problems__label{

    display:inline-block;
    margin-bottom:10px;
    color:#8a8a8a;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:.8rem;
}

.geo-problems__item h3{
    margin-bottom:12px;
}

.geo-problems__item p{
    margin:0;
}

@media (max-width:700px){

    .geo-problems__header{
        margin-bottom:40px;
    }

    .geo-problems__item{
        gap:20px;
    }

}

/* =====================================================
   KOMPAKTER GEO ÜBERGANGSBLOCK
===================================================== */

.geo-logistics-bridge{
    margin:0 0 90px;
}

.geo-logistics-bridge .wrapper{
    margin-bottom:0;
}


/*GRUNDAUFBAU*/

.geo-logistics-bridge__inner{
    position:relative;

    display:grid;

    /* Desktop:
       Content links / Bild rechts */
    grid-template-columns:
        minmax(0,1.45fr)
        minmax(280px,.75fr);

    align-items:stretch;

    min-height:220px;

    background:#f7f7f7;

    overflow:visible;

    isolation:isolate;
}


/*GRAUEN HINTERGRUND NACH LINKS BIS ZUM SEITENRAND*/

.geo-logistics-bridge__inner::before{
    content:"";

    position:absolute;

    top:0;
    bottom:0;

    right:100%;

    width:100vw;

    background:#f7f7f7;

    z-index:-1;
}


/*DESKTOP-POSITIONIERUNG*/


/* Text links */

.geo-logistics-bridge__content{
    grid-column:1;
    grid-row:1;

    display:flex;
    flex-direction:column;
    justify-content:center;

    min-width:0;

    padding:28px 34px;

    box-sizing:border-box;
}


/* Bild rechts */

.geo-logistics-bridge__media{
    grid-column:2;
    grid-row:1;

    position:relative;

    min-width:0;
    min-height:220px;

    overflow:hidden;
}


/* BILD*/

.geo-logistics-bridge__media img{
    position:absolute;
    inset:0;

    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center;
}


/*CONTENT*/

.geo-logistics-bridge__content h3{
    margin-top:0;
}

.geo-logistics-bridge__content > p{
    max-width:720px;
    margin-bottom:22px;
}


/*DREI SCHRITTE*/

.geo-logistics-bridge__steps{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        auto
        minmax(0,1fr)
        auto
        minmax(0,1fr);

    align-items:center;

    gap:16px;

    padding-top:18px;

    border-top:1px solid #dedede;
}


.geo-logistics-bridge__step{
    min-width:0;
}


.geo-logistics-bridge__step span{
    display:block;

    margin-bottom:4px;

    color:#999;

    font-size:11px;
    font-weight:700;

    letter-spacing:.05em;
}


.geo-logistics-bridge__step strong{
    display:block;
}


.geo-logistics-bridge__arrow{
    color:#aaa;

    font-size:18px;
    line-height:1;
}


/*CTA*/

.geo-logistics-bridge__cta{
    display:flex;
    justify-content:flex-start;

    margin-top:26px;
}


.geo-logistics-bridge__cta .contactbutton{
    margin:0;
}


/*TABLET*/

@media(max-width:950px){

    .geo-logistics-bridge__inner{
        grid-template-columns:
            minmax(0,1.3fr)
            minmax(240px,.7fr);
    }


    .geo-logistics-bridge__content{
        padding:25px 28px;
    }


    .geo-logistics-bridge__steps{
        gap:10px;
    }

}


/*MOBILE*/

@media(max-width:750px){

    .geo-logistics-bridge{
        margin-bottom:40px;
    }


    .geo-logistics-bridge__inner{
        grid-template-columns:1fr;

        min-height:0;
    }

    .geo-logistics-bridge__inner::before{
        display:none;
    }

    .geo-logistics-bridge__media{
        grid-column:1;
        grid-row:1;

        min-height:0;

        aspect-ratio:16 / 7;

    }

    .geo-logistics-bridge__content{
        grid-column:1;
        grid-row:2;

        padding:24px 22px;
    }


    .geo-logistics-bridge__content > p{
        margin-bottom:18px;
    }

}


/*KLEINES MOBILE*/

@media(max-width:550px){

    .geo-logistics-bridge__media{
        aspect-ratio:16 / 9;
    }


    .geo-logistics-bridge__steps{
        grid-template-columns:1fr;

        gap:0;

        padding-top:10px;
    }


    .geo-logistics-bridge__step{
        padding:9px 0;

        border-bottom:1px solid #e2e2e2;
    }


    .geo-logistics-bridge__step:last-child{
        border-bottom:0;
    }


    .geo-logistics-bridge__arrow{
        display:none;
    }

}

/* =====================================================
   GEO ENTITY MAP – KANZLEIEN
===================================================== */


/*HEADER*/

.geo-entity-map__header{
    max-width:780px;
    margin-bottom:35px;
}


/* Mobile-Hinweis standardmäßig ausblenden */

.geo-entity-map__mobile-hint{
    display:none;
}


/*VISUAL*/

.geo-entity-map__visual{
    position:relative;

    display:grid;

    grid-template-columns:
        minmax(340px, 1.2fr)
        190px
        minmax(260px, .85fr);

    align-items:center;

    gap:36px;

    width:100%;
    max-width:1180px;

    margin-left:0;
    margin-right:auto;
    margin-bottom:30px;

    padding:30px;

    box-sizing:border-box;

    background:#f7f7f7;

    border:1px solid #e5e5e5;
    border-radius:24px;
}


/*QUELLEN / SIGNALE*/

.geo-entity-map__sources{
    position:relative;

    display:flex;
    flex-direction:column;

    gap:14px;
}


/* Verbindung Richtung Kanzlei */

.geo-entity-map__sources::after{
    content:"";

    position:absolute;

    top:50%;
    right:-36px;

    width:36px;

    border-top:2px dashed #d4d4d4;

    transform:translateY(-50%);
}


/*KARTEN*/

.geo-entity-map__card{
    padding:20px;

    box-sizing:border-box;

    background:#fff;

    border:1px solid #e2e2e2;
    border-radius:16px;

    box-shadow:0 7px 20px rgba(0,0,0,.035);
}


/*LABEL*/

.geo-entity-map__label{
    display:block;

    margin-bottom:6px;

    color:#ef6c00;

    font-size:12px;
    font-weight:700;

    text-transform:uppercase;
    letter-spacing:.06em;
}


/*CHIPS*/

.geo-entity-map__chips{
    display:flex;
    flex-wrap:wrap;

    gap:7px;

    margin-top:12px;
}


.geo-entity-map__chip{
    display:inline-flex;
    align-items:center;

    padding:6px 10px;

    background:#f3f3f3;

    border-radius:999px;

    color:#444;

    font-size:13px;
    line-height:1.2;
}


/*ENTITY – IHRE KANZLEI*/

.geo-entity-map__entity{
    position:relative;

    display:flex;
    align-items:center;
    justify-content:center;
}


/* Linie zum Ergebnis */

.geo-entity-map__entity::after{
    content:"";

    position:absolute;

    top:50%;
    left:100%;

    width:36px;

    border-top:2px solid #ef6c00;

    transform:translateY(-50%);
}


.geo-entity-map__center{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    width:170px;
    height:170px;

    padding:20px;

    box-sizing:border-box;

    background:#fff;

    border:2px solid #ef6c00;
    border-radius:50%;

    text-align:center;

    box-shadow:0 10px 28px rgba(0,0,0,.05);
}


.geo-entity-map__center-label{
    margin-bottom:6px;

    color:#ef6c00;

    font-size:11px;
    font-weight:700;

    text-transform:uppercase;
    letter-spacing:.08em;
}


.geo-entity-map__center-title{
    display:block;
}


.geo-entity-map__center-text{
    display:block;

    margin-top:7px;

    color:#666;

    font-size:12px;
    line-height:1.4;
}


/*ERGEBNIS – KI-EINORDNUND*/

.geo-entity-map__result{
    position:relative;

    padding:28px 24px;

    box-sizing:border-box;

    background:#fff;

    border:2px solid #ef6c00;
    border-radius:18px;

    box-shadow:0 10px 28px rgba(0,0,0,.05);
}


/* kleiner Eingangspunkt */

.geo-entity-map__result::before{
    content:"";

    position:absolute;

    left:-7px;
    top:50%;

    width:12px;
    height:12px;

    border-radius:50%;

    background:#ef6c00;

    transform:translateY(-50%);
}


.geo-entity-map__result-title{
    display:block;
}


.geo-entity-map__result-copy{
    margin-top:10px;
    margin-bottom:16px;
}


.geo-entity-map__platforms{
    display:flex;
    flex-wrap:wrap;

    gap:7px;
}


.geo-entity-map__platforms span{
    display:inline-flex;

    padding:6px 9px;

    background:#f3f3f3;

    border-radius:999px;

    color:#444;

    font-size:12px;
    line-height:1.2;
}


/*NOTE*/

.geo-entity-map .geo-note{
    width:100%;
    max-width:1180px;

    margin-left:0;
    margin-right:auto;
}


/*TABLET*/

@media(max-width:1000px){

    .geo-entity-map__visual{
        grid-template-columns:
            minmax(300px, 1fr)
            150px
            minmax(230px, .8fr);

        gap:25px;

        padding:24px;
    }


    .geo-entity-map__sources::after{
        right:-25px;
        width:25px;
    }


    .geo-entity-map__entity::after{
        width:25px;
    }


    .geo-entity-map__center{
        width:145px;
        height:145px;
    }

}


/*MOBILE – HORIZONTALER SLIDER*/

@media(max-width:800px){

    .geo-entity-map__header{
        margin-bottom:20px;
    }


    /*SWIPE-HINWEIS*/

    .geo-entity-map__mobile-hint{
        display:flex;
        align-items:center;

        gap:8px;

        margin-bottom:12px;

        color:#666;

        font-size:13px;
        font-weight:600;
    }


    .geo-entity-map__mobile-hint i{
        color:#ef6c00;

        font-size:12px;
    }


    /*SLIDER*/

    .geo-entity-map__visual{
        display:flex;

        align-items:stretch;

        gap:14px;

        width:100%;

        padding:0 16% 12px 0;

        margin:0 0 25px 0;

        box-sizing:border-box;

        background:transparent;

        border:0;
        border-radius:0;

        overflow-x:auto;
        overflow-y:hidden;

        scroll-snap-type:x mandatory;
        scroll-padding-left:0;

        -webkit-overflow-scrolling:touch;

        scrollbar-width:none;

        overscroll-behavior-inline:contain;
    }


    .geo-entity-map__visual::-webkit-scrollbar{
        display:none;
    }


    /*QUELLENKARTEN DIREKT ALS SLIDES*/

    .geo-entity-map__sources{
        display:contents;
    }


    .geo-entity-map__sources::after{
        display:none;
    }


    /* ALLE SLIDES*/

    .geo-entity-map__card,
    .geo-entity-map__entity,
    .geo-entity-map__result{
        position:relative;

        left:auto;
        right:auto;
        top:auto;
        bottom:auto;

        flex:0 0 84%;

        width:auto;
        min-width:0;

        margin:0;

        scroll-snap-align:start;
        scroll-snap-stop:always;
    }


    /* QUELLENKARTEN*/

    .geo-entity-map__card{
        display:flex;
        flex-direction:column;

        padding:20px;

        box-sizing:border-box;

        background:#fff;

        border:1px solid #e2e2e2;
        border-radius:16px;
    }


    /* VISUELLE PFEILE ZWISCHEN DEN SLIDES*/

    .geo-entity-map__card::after,
    .geo-entity-map__entity::after{
        content:"→";

        position:absolute;

        top:50%;
        right:-25px;
        left:auto;

        display:flex;
        align-items:center;
        justify-content:center;

        width:34px;
        height:34px;

        box-sizing:border-box;

        transform:translateY(-50%);

        background:#fff;

        border:1px solid #ddd;
        border-radius:50%;

        color:#999;

        font-size:17px;
        font-weight:600;
        line-height:1;

        z-index:10;

        pointer-events:none;
    }


    /* Letzter Übergang:
       Ihre Kanzlei → KI-Einordnung */

    .geo-entity-map__entity::after{
        border-color:#ef6c00;

        color:#ef6c00;
    }


    /* KANZLEI-SLIDE*/

    .geo-entity-map__entity{
        display:flex;

        align-items:stretch;
        justify-content:stretch;
    }


    .geo-entity-map__center{
        width:100%;
        height:auto;
        min-height:180px;

        padding:24px;

        box-sizing:border-box;

        align-items:flex-start;
        justify-content:center;

        background:#fff;

        border:2px solid #ef6c00;
        border-radius:16px;

        text-align:left;

        transform:none;
    }


    .geo-entity-map__center-text{
        margin-top:7px;
    }


    /*KI-ERGEBNIS*/

    .geo-entity-map__result{
        display:flex;
        flex-direction:column;
        justify-content:center;

        min-height:180px;

        padding:24px;

        box-sizing:border-box;

        background:#fff;

        border:2px solid #ef6c00;
        border-radius:16px;
    }


    .geo-entity-map__result::before{
        display:none;
    }

}


/*SMALL MOBILE*/

@media(max-width:600px){

    .geo-entity-map__card,
    .geo-entity-map__entity,
    .geo-entity-map__result{
        flex-basis:88%;
    }


    .geo-entity-map__card{
        padding:18px;
    }


    .geo-entity-map__chips{
        gap:6px;
    }


    .geo-entity-map__chip{
        padding:6px 9px;
    }

}

/* =====================================================
   REFERENZ SLIDER
===================================================== */

.geo-ref-band {
    position: relative;
    left: 50%;
    right: 50%;

    width: 100vw;

    margin-left: -50vw;
    margin-right: -50vw;
    margin-bottom: 90px;

    background: #f1f1f1;

    padding: 20px 0;

    overflow: hidden;
}


.geo-ref-band-inner {
    max-width: 1300px;

    margin: 0 auto;
    padding: 0 20px;

    display: grid;
    grid-template-columns: 44px 1fr 44px;

    align-items: center;

    gap: 20px;
}


/* STAGE */

.geo-ref-stage {
    position: relative;

    height: 230px;

    overflow: hidden;
}


.geo-ref-logos {
    position: relative;

    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0;

    list-style: none;
}


/* EINZELNE LOGOS */

.geo-ref-logo-item {
    position: absolute;

    top: 50%;
    left: 50%;

    width: 350px;
    height: 190px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 12px;

    opacity: 0;

    pointer-events: none;

    transform: translate(-50%, -50%) scale(0.7);

    transition:
        transform 0.45s ease,
        opacity 0.45s ease;
}


/* LOGO */

.geo-ref-logo-item img {
    width: auto;
    height: 135px;

    max-width: 130%;
    max-height: 135px;

    object-fit: contain;
    display: block;

    transform: scale(1.45);
    transform-origin: center;
}


/* FIRMENNAME */

.geo-ref-name {
    display: none;

    width: 100%;

    color: #717171;

    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;

    text-align: center;

    white-space: nowrap;
}


.geo-ref-logo-item.is-center .geo-ref-name {
    color: #717171;
} 


/* POSITIONEN */


.geo-ref-logo-item.is-left {
    opacity: 0.6;

    transform:
        translate(-135%, -50%)
        scale(0.92);
}


.geo-ref-logo-item.is-center {
    opacity: 1;

    transform:
        translate(-50%, -50%)
        scale(1.45);

    z-index: 3;
}


.geo-ref-logo-item.is-left {
    opacity: 0.6;

    transform:
        translate(-135%, -50%)
        scale(0.6);
}

.geo-ref-logo-item.is-right {
    opacity: 0.6;

    transform:
        translate(35%, -50%)
        scale(0.6);
}


.geo-ref-logo-item.is-hidden {
    opacity: 0;

    transform:
        translate(-50%, -50%)
        scale(0.6);

    z-index: 1;
}


/* FADES */

.geo-ref-fade {
    position: absolute;

    top: 0;
    bottom: 0;

    width: 100px;

    z-index: 4;

    pointer-events: none;
}


.geo-ref-fade-left {
    left: 0;

    background:
        linear-gradient(
            to right,
            #f1f1f1 0%,
            rgba(241, 241, 241, 0) 100%
        );
}


.geo-ref-fade-right {
    right: 0;

    background:
        linear-gradient(
            to left,
            #f1f1f1 0%,
            rgba(241, 241, 241, 0) 100%
        );
}


/* PFEILE */

.geo-ref-arrow {
    width: 38px;
    height: 38px;

    border: 0;
    border-radius: 50%;

    background: #666666;
    color: #ffffff;

    font-size: 18px;
    line-height: 1;
    font-weight: 700;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.geo-ref-arrow:hover {
    background: #4f4f4f;

    transform: scale(1.05);
}



/* MOBILE – NUR EIN LOGO SICHTBAR */

@media (max-width: 991px) {

    .geo-ref-band {
        padding: 15px 0;
        margin-bottom: 60px;
    }


    .geo-ref-band-inner {
        grid-template-columns: 34px 1fr 34px;

        gap: 8px;

        padding: 0 12px;
    }


    /* Größere Bühne für ein einzelnes Logo */

    .geo-ref-stage {
        height: 190px;
    }


    /* Einzelnes Logo bekommt deutlich mehr Platz */

    .geo-ref-logo-item {
        width: 280px;
        height: 165px;

        gap: 10px;
    }


    /* Logo selbst deutlich größer */

    .geo-ref-logo-item img {
        width: auto;
        height: 105px;

        max-width: 115%;
        max-height: 105px;

        object-fit: contain;

        transform: scale(1.2);
        transform-origin: center;
    }


    /* Firmenname */

    .geo-ref-name {
        color: #717171;

        font-size: 14px;
        font-weight: 600;
        line-height: 1.2;

        text-align: center;
    }


    /* SEITENLOGOS MOBILE KOMPLETT AUSBLENDEN */

    .geo-ref-logo-item.is-left,
    .geo-ref-logo-item.is-right {
        opacity: 0;

        transform:
            translate(-50%, -50%)
            scale(0.8);
    }

    .geo-ref-logo-item.is-center {
        opacity: 1;

        transform:
            translate(-50%, -50%)
            scale(1.08);

        z-index: 3;
    }


    /* Versteckte Logos */

    .geo-ref-logo-item.is-hidden {
        opacity: 0;

        transform:
            translate(-50%, -50%)
            scale(0.8);
    }


    /* Seitliche Fade-Flächen brauchen wir mobil nicht */

    .geo-ref-fade {
        display: none;
    }


    /* Pfeile */

    .geo-ref-arrow {
        width: 32px;
        height: 32px;

        font-size: 15px;
    }

}

/* =====================================================
   GEO PROZESS
===================================================== */

.geo-process{
    position:relative;
}


/* GESAMTAUFBAU */

.geo-process__inner{
    display:grid;

    grid-template-columns:
        minmax(0,1fr);

    row-gap:50px;

    width:100%;
    min-width:0;
}


/* ZEILE 1 – INTRO + BILD */

.geo-process__top{
    display:grid;

    grid-template-columns:
        minmax(0,3fr)
        minmax(0,2fr);

    column-gap:55px;

    align-items:stretch;

    width:100%;
    min-width:0;
}


/* INTRO */

.geo-process__intro{
    width:100%;
    min-width:0;
}


.geo-process__intro h2{
    margin-top:0;
}


.geo-process__intro p:last-child{
    margin-bottom:0;
}


/* INTRO-BILD */

.geo-process__top-image{
    position:relative;

    width:100%;
    min-width:0;
    min-height:0;

    overflow:hidden;
}


.geo-process__top-image-v{
    position:relative;

    display:block;

    width:100%;
    height:100%;
    min-width:0;
    min-height:0;

    overflow:hidden;
}


.geo-process__top-image-v img{
    position:absolute;

    inset:0;

    display:block;

    width:100%;
    height:100%;

    max-width:100%;
    max-height:100%;

    object-fit:contain;
    object-position:right center;
}


.geo-process__top-image-h{
    display:none;
}


/* ZEILE 2 – TEXTFELD + NAVIGATION */

.geo-process__main{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        230px;

    column-gap:55px;

    align-items:start;

    width:100%;
    min-width:0;
}


/* TEXTFELD-BEREICH */

.geo-process-tabs__content{
    width:100%;
    min-width:0;

    padding-top:26px;

    border-top:1px solid #e5e5e5;
}


/* PANEL ALS KARTE */

.geo-process-panel{
    width:100%;
    min-width:0;

    padding:
        28px
        30px
        30px;

    box-sizing:border-box;

    background:#f7f7f7;

    border:1px solid #e8e8e8;
    border-radius:18px;

    box-shadow:
        0 8px 24px
        rgba(0,0,0,.04);
}


.geo-process-panel[hidden]{
    display:none;
}


/* PANEL HEADER */

.geo-process-panel__header{
    display:grid;

    grid-template-columns:
        72px
        minmax(0,1fr);

    column-gap:20px;

    align-items:start;

    margin-bottom:24px;
}


.geo-process-panel__month{
    color:#ef6c00;

    font-weight:700;
}


.geo-process-panel__header h3{
    margin:0;
}


/* PANEL INHALT */

.geo-process-panel__body{
    position:relative;

    width:100%;
    min-width:0;

    max-height:none;

    overflow:visible;
}


.geo-process-panel__body p:last-child{
    margin-bottom:0;
}


/* Expand-Button nur Mobile */

.geo-process-panel__expand{
    display:none;
}


/* NAVIGATION RECHTS */

.geo-process-tabs__nav{
    position:relative;

    display:flex;
    flex-direction:column;

    width:100%;
    min-width:0;

    padding-left:22px;

    box-sizing:border-box;
}


/* Vertikale Verbindungslinie */

.geo-process-tabs__nav::before{
    content:"";

    position:absolute;

    top:24px;
    bottom:24px;
    left:6px;

    width:1px;

    background:#dddddd;

    pointer-events:none;
}


/* NAVIGATIONSPUNKT */

.geo-process-tab{
    position:relative;

    display:grid;

    grid-template-columns:
        14px
        minmax(0,1fr);

    column-gap:12px;

    align-items:start;

    width:100%;
    min-width:0;

    padding:
        14px
        30px
        14px
        10px;

    box-sizing:border-box;

    appearance:none;

    background:transparent;

    border:1px solid transparent;
    border-radius:10px;

    color:inherit;

    font:inherit;

    text-align:left;

    cursor:pointer;

    transition:
        background .25s ease,
        border-color .25s ease;
}


/* Kleiner Pfeil */

.geo-process-tab::after{
    content:"";

    position:absolute;

    top:50%;
    right:12px;

    width:7px;
    height:7px;

    border-top:2px solid #c2c2c2;
    border-right:2px solid #c2c2c2;

    transform:
        translateY(-50%)
        rotate(45deg);

    transition:
        right .25s ease,
        border-color .25s ease;
}


/* TIMELINE-PUNKT */

.geo-process-tab__dot{
    position:relative;

    display:block;

    width:11px;
    height:11px;

    margin-top:4px;
    margin-left:-31px;

    box-sizing:border-box;

    background:#ffffff;

    border:2px solid #cfcfcf;
    border-radius:50%;

    z-index:2;

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;
}


/* NAVIGATIONSTEXT */

.geo-process-tab__text{
    display:block;

    min-width:0;
}


.geo-process-tab__month{
    display:block;

    color:#777;

    font-weight:700;

    transition:color .25s ease;
}


.geo-process-tab__title{
    display:block;

    margin-top:3px;

    color:#777;

    transition:color .25s ease;
}


/* HOVER */

.geo-process-tab:hover{
    background:#f7f7f7;

    border-color:#eeeeee;
}


.geo-process-tab:hover::after{
    right:9px;

    border-color:#ef6c00;
}


.geo-process-tab:hover
.geo-process-tab__dot{
    border-color:#ef6c00;
}


.geo-process-tab:hover
.geo-process-tab__month{
    color:#555;
}


.geo-process-tab:hover
.geo-process-tab__title{
    color:#444;
}


/* AKTIVER TAB */

.geo-process-tab.active{
    background:#fafafa;

    border-color:#e8e8e8;
}


.geo-process-tab.active::after{
    border-color:#ef6c00;
}


.geo-process-tab.active
.geo-process-tab__dot{
    background:#ef6c00;

    border-color:#ef6c00;

    transform:scale(1.15);
}


.geo-process-tab.active
.geo-process-tab__month{
    color:#ef6c00;
}


.geo-process-tab.active
.geo-process-tab__title{
    color:#444;
}


/* FOKUS */

.geo-process-tab:focus-visible,
.geo-process-panel__expand:focus-visible{
    outline:2px solid #ef6c00;

    outline-offset:3px;
}


/* CTA UNTEN */

.geo-process__cta{
    display:flex;
    justify-content:flex-start;

    width:100%;
    max-width:100%;
    min-width:0;

    margin:0;

    box-sizing:border-box;
}


.geo-process__cta
.contactbutton{
    margin:0;
}


/* TABLET */

@media(max-width:900px){

    .geo-process__inner{
        row-gap:40px;
    }


    /* Intro + Bild */

    .geo-process__top{
        grid-template-columns:
            minmax(0,3fr)
            minmax(0,2fr);

        column-gap:35px;
    }


    /* Text + Navigation */

    .geo-process__main{
        grid-template-columns:
            minmax(0,1fr)
            200px;

        column-gap:35px;
    }

}


/* MOBILE */

@media(max-width:768px){

    /* GESAMTAUFBAU */

    .geo-process__inner{
        row-gap:30px;
    }


    /* INTRO + BILD EINSPALTIG */

    .geo-process__top{
        grid-template-columns:
            minmax(0,1fr);

        row-gap:30px;
        column-gap:0;

        width:100%;
        min-width:0;
    }


    /* BILDBEREICH MOBILE RESET */

    .geo-process__top-image{
        position:static;

        display:block;

        width:100%;
        min-width:0;
        min-height:0;

        overflow:visible;
    }


    .geo-process__top-image-v{
        display:none;
    }


    .geo-process__top-image-h{
        position:static;

        display:flex;

        align-items:center;
        justify-content:center;

        width:100%;
        min-width:0;

        overflow:visible;
    }


    .geo-process__top-image-h img{
        position:static;

        display:block;

        width:70%;
        max-width:100%;
        height:auto;
        max-height:none;

        margin:0 auto;

        object-fit:contain;
        object-position:center;
    }

    /* PANEL MOBILE */

    .geo-process-panel{
        padding:
            22px
            20px
            24px;

        border-radius:14px;
    }


    .geo-process-panel__header{
        grid-template-columns:1fr;

        row-gap:8px;

        margin-bottom:18px;
    }


    /* EINGEKLAPPTER PANEL-INHALT */

    .geo-process-panel__body{
        max-height:150px;

        overflow:hidden;

        transition:
            max-height .35s ease;
    }


    /* Verlauf am unteren Rand */

    .geo-process-panel__body::after{
        content:"";

        position:absolute;

        left:0;
        right:0;
        bottom:0;

        height:48px;

        pointer-events:none;

        background:
            linear-gradient(
                to bottom,
                rgba(247,247,247,0),
                rgba(247,247,247,.94) 65%,
                #f7f7f7 100%
            );

        opacity:1;

        transition:
            opacity .25s ease;
    }


    /* Geöffnet */

    .geo-process-panel.is-expanded
    .geo-process-panel__body::after{
        opacity:0;
    }


    /* MEHR ERFAHREN */

    .geo-process-panel__expand{
        display:inline-flex;

        align-items:center;

        gap:8px;

        margin:
            14px
            0
            0;

        padding:0;

        appearance:none;

        background:transparent;

        border:0;

        color:#555555;

        font:inherit;
        font-weight:700;

        text-align:left;

        cursor:pointer;
    }


    /* Pfeil */

    .geo-process-panel__expand::after{
        content:"";

        display:block;

        width:6px;
        height:6px;

        margin-top:-3px;

        border-right:1.5px solid #777777;
        border-bottom:1.5px solid #777777;

        transform:rotate(45deg);

        transition:
            transform .25s ease,
            margin-top .25s ease,
            border-color .25s ease;
    }


    /* Pfeil geöffnet */

    .geo-process-panel.is-expanded
    .geo-process-panel__expand::after{
        margin-top:3px;

        transform:rotate(225deg);
    }

/* ZEILE 2 – MOBILE */

.geo-process__main{
    display:flex;
    flex-direction:column;

    width:100%;
    min-width:0;

    gap:22px;
}


/* ÜBERLAPPENDE MONATSNAVIGATION */

.geo-process-tabs__nav{
    position:relative;

    order:1;

    display:block;

    width:100%;
    min-width:0;

    height:104px;

    padding:0;

    box-sizing:border-box;

    overflow:hidden;
}


/* Alte Timeline entfernen */

.geo-process-tabs__nav::before{
    display:none;
}


/* MONATSKARTEN */

.geo-process-tab{
    position:absolute;

    top:7px;

    display:block;

    width:60%;
    min-width:0;
    min-height:76px;

    padding:
        11px
        14px;

    box-sizing:border-box;

    appearance:none;

    background:#eeeeee;

    border:1px solid #dddddd;
    border-radius:12px;

    color:inherit;

    font:inherit;

    text-align:left;

    cursor:pointer;

    opacity:.52;

    transform:scale(.94);

    transition:
        top .25s ease,
        min-height .25s ease,
        opacity .25s ease,
        transform .25s ease,
        background .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}


/* Feste Kartenpositionen */

.geo-process-tab:nth-child(1){
    left:0;
}


.geo-process-tab:nth-child(2){
    left:20%;
}


.geo-process-tab:nth-child(3){
    left:40%;
}


/* Desktop-Pfeil entfernen */

.geo-process-tab::after{
    display:none;
}


/* Timeline-Punkt entfernen */

.geo-process-tab__dot{
    display:none;
}


/* INAKTIVE MONATE */

.geo-process-tab:not(.active){
    top:7px;

    background:#eeeeee;

    border-color:#dddddd;

    opacity:.55;

    transform:scale(.94);
}


.geo-process-tab:not(.active)
.geo-process-tab__title{
    display:none;
}


.geo-process-tab:not(.active)
.geo-process-tab__text{
    position:absolute;

    top:50%;

    width:auto;

    transform:translateY(-50%);
}


.geo-process-tab:not(.active)
.geo-process-tab__month{
    margin:0;

    white-space:nowrap;

    color:#999999;
}


/* AKTIVER MONAT */

.geo-process-tab.active{
    top:0;

    min-height:90px;

    background:#ffffff;

    border-color:#ef6c00;

    opacity:1;

    transform:scale(1);

    box-shadow:
        0 5px 14px
        rgba(0,0,0,.05);

    z-index:4;
}


.geo-process-tab.active
.geo-process-tab__text{
    position:static;

    transform:none;
}


.geo-process-tab.active
.geo-process-tab__month{
    color:#ef6c00;
}


.geo-process-tab.active
.geo-process-tab__title{
    display:block;

    margin-top:3px;

    color:#444444;
}


/* MONAT 1 AKTIV */

.geo-process-tabs__nav[data-active-index="0"]
.geo-process-tab:nth-child(1){
    z-index:4;
}


.geo-process-tabs__nav[data-active-index="0"]
.geo-process-tab:nth-child(2){
    z-index:3;
}


.geo-process-tabs__nav[data-active-index="0"]
.geo-process-tab:nth-child(3){
    z-index:2;
}


.geo-process-tabs__nav[data-active-index="0"]
.geo-process-tab:nth-child(2)
.geo-process-tab__text,

.geo-process-tabs__nav[data-active-index="0"]
.geo-process-tab:nth-child(3)
.geo-process-tab__text{
    right:8px;

    text-align:right;
}


/* MONAT 2 AKTIV */

.geo-process-tabs__nav[data-active-index="1"]
.geo-process-tab:nth-child(1){
    z-index:3;
}


.geo-process-tabs__nav[data-active-index="1"]
.geo-process-tab:nth-child(2){
    z-index:4;
}


.geo-process-tabs__nav[data-active-index="1"]
.geo-process-tab:nth-child(3){
    z-index:3;
}


.geo-process-tabs__nav[data-active-index="1"]
.geo-process-tab:nth-child(1)
.geo-process-tab__text{
    left:8px;

    text-align:left;
}


.geo-process-tabs__nav[data-active-index="1"]
.geo-process-tab:nth-child(3)
.geo-process-tab__text{
    right:8px;

    text-align:right;
}


/* MONAT 3 AKTIV */

.geo-process-tabs__nav[data-active-index="2"]
.geo-process-tab:nth-child(1){
    z-index:2;
}


.geo-process-tabs__nav[data-active-index="2"]
.geo-process-tab:nth-child(2){
    z-index:3;
}


.geo-process-tabs__nav[data-active-index="2"]
.geo-process-tab:nth-child(3){
    z-index:4;
}


.geo-process-tabs__nav[data-active-index="2"]
.geo-process-tab:nth-child(1)
.geo-process-tab__text,

.geo-process-tabs__nav[data-active-index="2"]
.geo-process-tab:nth-child(2)
.geo-process-tab__text{
    left:8px;

    text-align:left;
}


/* INHALTSKARTE DIREKT DANACH */

.geo-process-tabs__content{
    order:2;

    width:100%;
    min-width:0;

    padding-top:0;

    border-top:0;
}

  
    /* CTA MOBILE */

    .geo-process__cta{
        display:flex;

        width:100%;
        max-width:100%;
        min-width:0;

        margin:0;

        box-sizing:border-box;
    }


    .geo-process__cta
    .contactbutton{
        display:block;
        max-width:100%;
        min-width:0;

        margin:0;

        box-sizing:border-box;
    }


    .geo-process__cta
    .contactbutton a{
        display:flex !important;

        align-items:center;
        justify-content:center;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        height:auto !important;

        padding:
            12px
            16px !important;

        box-sizing:border-box;

        white-space:normal !important;

        text-align:center;
    }


    .geo-process__cta
    .contactbutton a span{
        min-width:0;
        max-width:100%;

        white-space:normal !important;

        overflow-wrap:break-word;
        word-break:normal;

        text-align:center;
    }

}


/* KLEINE SMARTPHONES */

@media(max-width:480px){

    .geo-process-panel__body{
        max-height:135px;
    }

}

/* =====================================================
   GEO MONITORING LAYOUT
===================================================== */

.geo-monitoring-section {
    display: grid;

    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;

    grid-template-areas:
        "table content"
        "table note";

    column-gap: 55px;
    row-gap: 25px;

    align-items: stretch;
    margin-bottom: 90px;
}


/* TEXT */

.geo-monitoring-content {
    grid-area: content;
}


/* TABELLE */

.geo-monitoring-table {
    grid-area: table;
}


/* MERKE-BOX */

.geo-monitoring-note {
    grid-area: note;

    width: 100%;
    margin: 0;

    align-self: end;
}


/* MOBILE */

@media (max-width: 991px) {

    .geo-monitoring-section {
        grid-template-columns:  minmax(0, 1fr);
        grid-template-rows: auto;

        grid-template-areas:
            "content"
            "table"
            "note";

        gap: 25px;
        margin-bottom: 60px;
    }

    .geo-monitoring-note {
        align-self: auto;
    }

}

/* =====================================================
   GEO VORTEILSVERGLEICH
   ===================================================== */

.geo-comparison{
    position:relative;
}

.geo-comparison__intro{
    max-width:900px;
    margin-bottom:45px;
}


/*VERGLEICHSRASTER*/

.geo-comparison__grid{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    gap:140px;
    align-items:stretch;
}


/*KARTEN*/

.geo-comparison__card{
    min-width:0;
    padding:36px 44px 28px;
    border:1px solid #d9d9d9;
    border-radius:12px;
    background:#fff;
}

.geo-comparison__label{
    display:inline-block;
    margin:0 0 28px;
    padding:10px 16px;
    border-radius:7px;
    background:#f0f0f0;
    color:#333;
    font-weight: 700;
}

.geo-comparison__card h3{
    margin-top:0;
    margin-bottom:24px;
}


/*LISTEN*/

.geo-comparison__list{
    margin:0;
    padding:0;
    list-style:none;
    border-top:1px solid #dedede;
}

.geo-comparison__list li{
    position:relative;
    min-height:94px;
    display:flex;
    align-items:center;
    padding:22px 0 22px 76px;
    border-bottom:1px solid #dedede;
}

.geo-comparison__list li:last-child{
    border-bottom:0;
}


/* Kreis vor jedem Eintrag */

.geo-comparison__list li::before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:48px;
    height:48px;
    border-radius:50%;
    background:#f0f0f0;
    transform:translateY(-50%);
}


/* Minus / Haken */

.geo-comparison__list li::after{
    position:absolute;
    top:50%;
    left:24px;
    color:#222;
    font-size:25px;
    font-weight:700;
    line-height:1;
    transform:translate(-50%, -50%);
}

.geo-comparison__list--negative li::after{
    content:"−";
}

.geo-comparison__list--positive li::after{
    content:"✓";
    font-size:22px;
}


/*VS-ELEMENT*/

.geo-comparison__vs{
    position:absolute;
    z-index:2;
    top:50%;
    left:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    width:76px;
    height:76px;
    border:1px solid #d9d9d9;
    border-radius:50%;
    background:#fff;
    box-shadow:0 5px 14px rgba(0,0,0,.06);
    font-size:22px;
    font-weight:700;
    transform:translate(-50%, -50%);
}

.geo-comparison__vs::before,
.geo-comparison__vs::after{
    content:"";
    position:absolute;
    top:50%;
    width:32px;
    height:1px;
    background:#d9d9d9;
}

.geo-comparison__vs::before{
    right:100%;
}

.geo-comparison__vs::after{
    left:100%;
}


/*TABLET*/

@media (max-width:1050px){

    .geo-comparison__grid{
        gap:100px;
    }

    .geo-comparison__list li{
        min-height:105px;
        padding-left:66px;
    }

    .geo-comparison__list li::before{
        width:44px;
        height:44px;
    }

    .geo-comparison__list li::after{
        left:22px;
    }

}


/*MOBILE*/

@media (max-width:991px){

    .geo-comparison__intro{
        margin-bottom:36px;
    }

    .geo-comparison__grid{
        grid-template-columns:1fr;
        gap:36px;
    }

    .geo-comparison__vs{
        position:relative;
        top:auto;
        left:auto;
        justify-self:center;
        width:60px;
        height:60px;
        margin:-10px 0;
        transform:none;
    }

    .geo-comparison__vs::before,
    .geo-comparison__vs::after{
        display:none;
    }

}


/*SMARTPHONE*/

@media (max-width:768px){

    .geo-comparison__card{
        padding:26px 22px 18px;
    }

    .geo-comparison__label{
        margin-bottom:22px;
        padding:8px 12px;
    }

    .geo-comparison__list li{
        min-height:0;
        padding:20px 0 20px 58px;
    }

    .geo-comparison__list li::before{
        width:38px;
        height:38px;
    }

    .geo-comparison__list li::after{
        left:19px;
        font-size:21px;
    }

    .geo-comparison__list--positive li::after{
        font-size:18px;
    }

}

/* =====================================================
   GEO OPTIMIERUNGSHEBEL
===================================================== */

.geo-levers-column{
    min-width:0;
    align-self:flex-start;
}

.geo-levers{
    position:relative;
    width:100%;
    min-width:0;
}

.geo-levers .wrapper{
    min-width:0;
}


/* EINLEITUNG*/

.geo-levers__intro{
    max-width:900px;
    margin-bottom:32px;
}


/* MATRIX*/

.geo-levers__matrix{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    column-gap:50px;

    border-top:1px solid #dedede;
}


/* Einzelner Hebel */

.geo-levers__matrix-item{
    position:relative;

    min-width:0;

    padding:18px 0;

    border-bottom:1px solid #e5e5e5;
}


/* Linke Spalte bekommt eine dezente Trennung */

.geo-levers__matrix-item:nth-child(odd){
    padding-right:25px;
}

.geo-levers__matrix-item:nth-child(even){
    padding-left:25px;
}


/* Titel */

.geo-levers__matrix-title{
    display:block;
    margin-bottom:7px;
}


/* Text */

.geo-levers__matrix-item p{
    margin:0;
}


/* TABLET*/

@media(max-width:900px){

    .geo-levers__matrix{
        column-gap:35px;
    }

    .geo-levers__matrix-item:nth-child(odd){
        padding-right:18px;
    }

    .geo-levers__matrix-item:nth-child(even){
        padding-left:18px;
    }

    .geo-levers__matrix-item:nth-child(even)::before{
        left:18px;
    }

}


/* MOBILE*/

@media(max-width:700px){

    .geo-levers__intro{
        margin-bottom:25px;
    }

    .geo-levers__matrix{
        grid-template-columns:1fr;
    }

    .geo-levers__matrix-item,
    .geo-levers__matrix-item:nth-child(odd),
    .geo-levers__matrix-item:nth-child(even){
        padding:16px 0;
    }

    .geo-levers__matrix-item::before,
    .geo-levers__matrix-item:nth-child(even)::before{
        left:0;
        top:16px;
    }

}

/* =====================================================
   GEO VS SEO
   ===================================================== */

.geo-seo-comparison{
    position:relative;
}

.geo-seo-comparison__intro{
    max-width:900px;
    margin-bottom:45px;
}


/*VERGLEICHSRASTER*/

.geo-seo-comparison__grid{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:140px;
    align-items:stretch;
}


/*KARTEN*/

.geo-seo-comparison__card{
    min-width:0;
    padding:36px 40px 28px;
    border:1px solid #d9d9d9;
    border-radius:12px;
    background:#fff;
}

.geo-seo-comparison__label{
    display:inline-block;
    margin:0 0 28px;
    padding:10px 16px;
    border-radius:7px;
    background:#f3f3f3;
    font-weight:600;
}

.geo-seo-comparison__card h3{
    margin-top:0;
    margin-bottom:24px;
}


/*VERGLEICHSLISTE*/

.geo-seo-comparison__list{
    margin-top:26px;
    border-top:1px solid #dedede;
}

.geo-seo-comparison__row{
    display:grid;
    grid-template-columns:140px 1fr;
    gap:26px;
    padding:20px 0;
    border-bottom:1px solid #dedede;
}

.geo-seo-comparison__row:last-child{
    border-bottom:none;
}

.geo-seo-comparison__property{
    font-weight:600;
}

.geo-seo-comparison__value{
    min-width:0;
}


/*VS*/

.geo-seo-comparison__vs{
    position:absolute;
    top:50%;
    left:50%;
    width:72px;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d9d9d9;
    border-radius:50%;
    background:#fff;
    box-shadow:0 5px 14px rgba(0,0,0,.06);
    font-weight:700;
    transform:translate(-50%,-50%);
}

.geo-seo-comparison__vs::before,
.geo-seo-comparison__vs::after{
    content:"";
    position:absolute;
    top:50%;
    width:34px;
    height:1px;
    background:#d9d9d9;
}

.geo-seo-comparison__vs::before{
    right:100%;
}

.geo-seo-comparison__vs::after{
    left:100%;
}


/*RESPONSIVE*/

@media (max-width:900px){

    .geo-seo-comparison__grid{
        grid-template-columns:1fr;
        gap:36px;
    }

    .geo-seo-comparison__vs{
        position:relative;
        top:auto;
        left:auto;
        margin:-10px auto;
        transform:none;
    }

    .geo-seo-comparison__vs::before,
    .geo-seo-comparison__vs::after{
        display:none;
    }

}

@media (max-width:768px){


    .geo-seo-comparison__row{
        grid-template-columns:1fr;
        gap:5px;
        padding:10px 0;
    }

}

/*GEO VS SEO – KOMPAKTER VERGLEICH*/

.geo-seo-comparison--compact .geo-seo-comparison__intro{
    margin-bottom:45px;
}

.geo-seo-compact__grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);
    gap:28px;
    align-items:start;
}

.geo-seo-compact__card{
    min-width:0;
    padding:28px;
    border:1px solid #e2e2e2;
    border-radius:8px;
    background:#fff;
}

.geo-seo-compact__card--geo{
    border-top:3px solid #ef6c00;
}

.geo-seo-compact__content{
    margin-top:28px;
    border-top:1px solid #e5e5e5;
}

.geo-seo-compact__item{
    padding:20px 0;
    border-bottom:1px solid #e5e5e5;
}

.geo-seo-compact__item p,
.geo-seo-compact__example p{
    margin-bottom:0;
}

.geo-seo-compact__property{
    display:block;
    margin-bottom:7px;
    font-weight:700;
}

.geo-seo-compact__example{
    margin:20px 0;
    padding:18px 20px;
    background:#fafafa;
    border-left:3px solid #d5d5d5;
}

.geo-seo-compact__card--geo .geo-seo-compact__example{
    border-left-color:#ef6c00;
}

.geo-seo-compact__vs{
    align-self:center;
    justify-self:center;

    display:flex;
    align-items:center;
    justify-content:center;

    width:46px;
    height:46px;

    border:1px solid #ddd;
    border-radius:50%;
    background:#fff;

    font-weight:700;
}

.geo-seo-compact__conclusion{
    margin-top:30px;
}


/*RESPONSIVE*/

@media (max-width:900px){

    .geo-seo-compact__grid{
        grid-template-columns:1fr;
        gap:24px;
    }

    .geo-seo-compact__vs{
        width:42px;
        height:42px;
    }

}

@media (max-width:600px){

    .geo-seo-compact__card{
        padding:22px;
    }

    .geo-seo-compact__example{
        padding:16px;
    }

}


/* =====================================================
   FAQ SPALTEN
   ===================================================== */

.geo-faq-columns{
    margin-top: 90px;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:60px;
    width:100%;
    align-items:start;
}

.geo-faq-column{
    min-width:0;
}

.geo-faq-item{
    border-bottom:1px solid rgba(0,0,0,.12);
}

.geo-faq-question{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    width:100%;
    padding:22px 0;
    border:0;
    background:none;
    color:#333;
    font-size:20px;
    font-weight:700;
    text-align:left;
    cursor:pointer;
}

.geo-faq-question span{
    display:flex;
    flex:0 0 30px;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    color:#ef6c00;
    font-size:28px;
    font-weight:400;
    line-height:1;
    transition:transform .25s ease;
}

.geo-faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease;
}

.geo-faq-answer p{
    margin:0;
    padding:0 0 24px;
}

.geo-faq-item.active .geo-faq-question span{
    transform:rotate(45deg);
}


/*RESPONSIVE*/

@media (max-width:991px){

    .geo-faq-columns{
        grid-template-columns:1fr;
        gap:0;
        margin-top: -40px;
    }

}




/*.geo-intro__inner{
    display:grid;
    grid-template-columns:3fr 2fr;
}

@media (max-width:768px){

    .geo-intro__inner{
        grid-template-columns:1fr;
    }

    .button-row.wrapper{
        grid-column:auto;
        margin-top:30px;
    }

}*/

/* =====================================================
   GEO BUSINESS FIT – KANZLEIEN
===================================================== */

/*HEADER*/

.geo-business-fit__header{
    max-width:820px;
    margin-bottom:40px;
}


/*ZWEISPALTIGER AUFBAU*/

.geo-business-fit__grid{
    display:grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(340px, .8fr);

    align-items:start;

    gap:70px;
}


/*LINKE SEITE – GEO FIT*/

.geo-business-fit__check{
    min-width:0;
}


.geo-business-fit__check h3{
    margin-top:0;
    margin-bottom:18px;
}


/*CHECKLISTE*/

.geo-business-fit__list{
    border-top:1px solid #e5e5e5;
}


.geo-business-fit__item{
    display:grid;

    grid-template-columns:
        30px
        minmax(0, 1fr);

    align-items:start;

    gap:14px;

    padding:16px 0;

    border-bottom:1px solid #e5e5e5;
}


.geo-business-fit__item p{
    margin:0;
}


/* Check-Icon */

.geo-business-fit__checkmark{
    display:flex;
    align-items:center;
    justify-content:center;

    width:24px;
    height:24px;

    margin-top:1px;

    border:1px solid #d5d5d5;
    border-radius:50%;

    color:#555;

    font-size:10px;
}


/*RECHTE SEITE – BUSINESS IMPACT*/

.geo-business-fit__impact{
    min-width:0;

    padding:30px;

    box-sizing:border-box;

    background:#f7f7f7;

    border-radius:18px;
}


.geo-business-fit__impact h3{
    margin-top:0;
    margin-bottom:0;
}


/*10.000 BESUCHER ≠ 10.000 MANDATE*/

.geo-business-fit__equation{
    display:grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto
        minmax(0, 1fr);

    align-items:center;
    justify-items:center;

    gap:18px;

    margin:25px 0;

    padding:24px 0;

    border-top:1px solid #dedede;
    border-bottom:1px solid #dedede;

    text-align:center;
}


.geo-business-fit__equation-part{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    min-width:0;

    text-align:center;
}


.geo-business-fit__number{
    display:block;

    font-size:36px;
    line-height:1;
}


.geo-business-fit__equation-part span{
    display:block;

    margin-top:7px;

    color:#666;

    line-height:1.4;

    text-align:center;
}


.geo-business-fit__not-equal{
    display:flex;
    align-items:center;
    justify-content:center;

    color:#777;

    font-size:30px;
    font-weight:400;
    line-height:1;
}


/*BUSINESS-KRITERIEN*/

.geo-business-fit__criteria{
    display:grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    column-gap:24px;
    row-gap:0;

    margin-top:22px;

    border-top:1px solid #dedede;
}


.geo-business-fit__criterion{
    display:grid;

    grid-template-columns:
        28px
        minmax(0, 1fr);

    align-items:center;

    gap:8px;

    padding:12px 0;

    border-bottom:1px solid #dedede;
}

.geo-business-fit__criterion span{
    color:#999;

    font-size:11px;
    font-weight:700;

    letter-spacing:.05em;
}

.geo-business-fit__criterion strong{
    line-height:1.4;
}


/*CTA*/

.geo-business-fit__impact .button-row{
    margin-top:28px;
}


/*TABLET*/

@media(max-width:1000px){

    .geo-business-fit__grid{
        grid-template-columns:
            minmax(0, 1fr)
            minmax(300px, .8fr);

        gap:40px;
    }


    .geo-business-fit__impact{
        padding:25px;
    }

}


/*MOBILE*/

@media(max-width:800px){

    .geo-business-fit__header{
        margin-bottom:30px;
    }


    .geo-business-fit__grid{
        grid-template-columns:1fr;

        gap:35px;
    }


    .geo-business-fit__impact{
        padding:24px 20px;

        border-radius:16px;
    }

}


/*SMALL MOBILE*/

@media(max-width:500px){

    .geo-business-fit__equation{
        grid-template-columns:
            minmax(0, 1fr)
            auto
            minmax(0, 1fr);

        gap:10px;
    }


    .geo-business-fit__number{
        font-size:29px;
    }


    .geo-business-fit__not-equal{
        font-size:24px;
    }


    .geo-business-fit__criteria{
        grid-template-columns:1fr;
    }

}

/* =====================================================
   GEO TEXT + INFO-BALKEN
===================================================== */

.geo-benefit-split{
    position:relative;
}


/*GRUNDLAYOUT*/

.geo-benefit-split__inner{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr);

    grid-template-rows:
        auto
        auto;

    column-gap:70px;

    align-items:start;
}


/*ÜBERSCHRIFT*/

.geo-benefit-split__headline{
    grid-column:1;
    grid-row:1;

    margin-top:0;
    margin-bottom:28px;
}


/*TEXT LINKS*/

.geo-benefit-split__content{
    grid-column:1;
    grid-row:2;

    min-width:0;
}


.geo-benefit-split__content p:first-child{
    margin-top:0;
}


.geo-benefit-split__content p:last-of-type{
    margin-bottom:0;
}


/*CTA*/

.geo-benefit-split__cta{
    margin-top:30px;
}


.geo-benefit-split__cta .contactbutton{
    margin:0;

    text-align:left;
}


/*AUFZÄHLUNG RECHTS*/

.geo-benefit-split__list{
    grid-column:2;
    grid-row:2;

    display:flex;
    flex-direction:column;

    gap:14px;

    min-width:0;

    margin:0;
    padding:0;

    list-style:none;
}


/*EINZELNES INFO-KÄSTCHEN*/

.geo-benefit-split__list li{
    position:relative;

    display:flex;
    align-items:center;

    min-height:56px;

    padding:
        15px
        18px
        15px
        46px;

    box-sizing:border-box;

    background:#f7f7f7;

    border:1px solid #e6e6e6;
    border-radius:12px;

    color:#555;

    line-height:1.55;
}


/*ORANGER STICHPUNKT*/

.geo-benefit-split__list li::before{
    content:"";

    position:absolute;

    left:20px;
    top:50%;

    width:8px;
    height:8px;

    transform:translateY(-50%);

    background:#ef6c00;

    border-radius:50%;
}


/*KEIN HOVER-EFFEKT*/

.geo-benefit-split__list li:hover{
    background:#f7f7f7;
    border-color:#e6e6e6;
}


/* MOBILE */

@media(max-width:750px){

    /* GRUNDLAYOUT */

    .geo-benefit-split__inner{
        display:grid;
        grid-template-columns:1fr;
        grid-template-rows:none;

        width:100%;
        min-width:0;

        row-gap:0;
    }


    /* ÜBERSCHRIFT */

    .geo-benefit-split__headline{
        grid-column:1;
        grid-row:auto;

        order:0;

        width:100%;
        min-width:0;

        margin:
            0
            0
            30px;
    }


    /* CONTENT AUFLÖSEN */

    .geo-benefit-split__content{
        display:contents;
    }


    /* TEXT */

    .geo-benefit-split__content > p{
        grid-column:1;
        grid-row:auto;

        order:1;

        min-width:0;
    }


    .geo-benefit-split__content > p:first-child{
        margin-top:0;
    }


    .geo-benefit-split__content > p:last-of-type{
        margin-bottom:30px;
    }


    /* STICHPUNKTE */

    .geo-benefit-split__list{
        grid-column:1;
        grid-row:auto;

        order:2;

        width:100%;
        min-width:0;

        margin:
            0
            0
            30px;

        padding:0;
    }


    /* CTA */

    .geo-benefit-split__cta{
        grid-column:1;
        grid-row:auto;

        order:3;

        display:flex;
        justify-content:flex-start;

        width:100%;
        max-width:100%;
        min-width:0;

        margin:0;

        box-sizing:border-box;
    }


    .geo-benefit-split__cta .contactbutton{
        max-width:100%;

        margin:0;

        box-sizing:border-box;
    }


    .geo-benefit-split__cta .contactbutton a{
        max-width:100%;

        box-sizing:border-box;

        white-space:normal;
    }

}


/* KLEINES MOBILE */

@media(max-width:550px){

    .geo-benefit-split__list{
        gap:10px;
    }


    .geo-benefit-split__list li{
        min-height:52px;

        padding:
            14px
            16px
            14px
            42px;
    }


    .geo-benefit-split__list li::before{
        left:17px;
    }

}

/* =====================================================
   TEXT – TEXT – TABELLE – TEXT
===================================================== */

.geo-text-table-text{
    position:relative;
}


/* ZWEI TEXTSPALTEN OBEN */

.geo-text-table-text__top{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr);

    column-gap:70px;

    align-items:start;
}


.geo-text-table-text__top-column{
    min-width:0;
}


/* Linke H2 */

.geo-text-table-text__top-column h2{
    margin-top:0;
}


/* Rechte H3 oben sauber ausrichten */

.geo-text-table-text__top-column h3{
    margin-top:0;
}


/* Letzte Absätze ohne unnötigen Zusatzabstand */

.geo-text-table-text__top-column p:last-child{
    margin-bottom:0;
}


/* TABELLE */

.geo-text-table-text__table-wrap{
    width:80%;

    margin-top:40px;
    margin-right:auto;
    margin-bottom:40px;
    margin-left:auto;

    overflow-x:auto;

    -webkit-overflow-scrolling:touch;
}


.geo-text-table-text__table{
    width:100%;

    border-collapse:collapse;

    table-layout:auto;
}


/* Tabellenzellen */

.geo-text-table-text__table th,
.geo-text-table-text__table td{
    padding:18px 20px;

    border:1px solid #ddd;

    text-align:left;
    vertical-align:top;

    line-height:1.65;
}


/* Tabellenkopf */

.geo-text-table-text__table th{
    background:#f4f6f8;

    font-weight:700;
}


/* Erste Spalte */

.geo-text-table-text__table th:first-child,
.geo-text-table-text__table td:first-child{
    width:34%;
}


.geo-text-table-text__table td:first-child{
    background:#fafafa;

    font-weight:700;
}


/* Restliche Spalten */

.geo-text-table-text__table th:not(:first-child),
.geo-text-table-text__table td:not(:first-child){
    width:22%;
}


/* TEXT UNTEN */

.geo-text-table-text__outro{
    width:100%;
}


.geo-text-table-text__outro h3{
    margin-top:0;
}


.geo-text-table-text__outro p:last-child{
    margin-bottom:0;
}


/* TABLET */

@media(max-width:900px){

    .geo-text-table-text__top{
        column-gap:45px;
    }

    .geo-text-table-text__table-wrap{
        width:80%;

        margin-top:34px;
        margin-right:auto;
        margin-bottom:34px;
        margin-left:auto;
    }

}


/* MOBILE */

@media(max-width:700px){

    .geo-text-table-text__top{
        grid-template-columns:1fr;

        row-gap:30px;
    }


    .geo-text-table-text__table-wrap{
        width:100%;

        margin-top:30px;
        margin-right:auto;
        margin-bottom:30px;
        margin-left:auto;

        overflow-x:auto;

        -webkit-overflow-scrolling:touch;
    }


    .geo-text-table-text__table{
        min-width:680px;
    }


    .geo-text-table-text__table th,
    .geo-text-table-text__table td{
        padding:15px 16px;
    }

}

/* =====================================================
   GEO CASE STUDY – KANZLEI
===================================================== */

.geo-case-study{
    position:relative;
}


/* =====================================================
   GEMEINSAMES RASTER
===================================================== */

.geo-case-study__intro,
.geo-case-study__results-row,
.geo-case-study__bottom{
    display:grid;

    grid-template-columns:
        minmax(0,2fr)
        minmax(260px,1fr);

    column-gap:70px;

    width:100%;
    min-width:0;
}


/* =====================================================
   INTRO
===================================================== */

.geo-case-study__intro{
    align-items:end;
}


.geo-case-study__intro-main{
    min-width:0;
}


.geo-case-study__intro-main h2{
    margin-top:0;
}


.geo-case-study__intro-main p:last-child{
    margin-bottom:0;
}


/* =====================================================
   META-INFOS
===================================================== */

.geo-case-study__meta{
    display:flex;
    flex-direction:column;

    gap:18px;

    min-width:0;

    padding-left:24px;

    border-left:1px solid #dddddd;
}


.geo-case-study__meta-label{
    display:block;

    color:#ef6c00;

    font-weight:700;
}


.geo-case-study__meta-item{
    display:flex;
    flex-direction:column;

    gap:2px;
}


.geo-case-study__meta-item span{
    color:#777777;
}


/* =====================================================
   ERGEBNIS-BEREICH
===================================================== */

.geo-case-study__results-row{
    margin-top:45px;
}


.geo-case-study__results{
    grid-column:1;

    width:100%;
    min-width:0;
}


/* =====================================================
   ERGEBNIS-INTRO
===================================================== */

.geo-case-study__results-intro{
    width:100%;
    min-width:0;

    margin-bottom:24px;
}


.geo-case-study__results-intro h3{
    margin-top:0;
}


.geo-case-study__results-intro p:last-child{
    margin-bottom:0;
}


/* =====================================================
   KOMPAKTER VERGLEICH
===================================================== */

.geo-case-study__comparison{
    width:100%;
    min-width:0;

    padding:
        8px
        18px;

    box-sizing:border-box;

    background:#f7f7f7;

    border-radius:14px;
}


/* =====================================================
   KOPFZEILE
===================================================== */

.geo-case-study__comparison-head{
    display:grid;

    grid-template-columns:
        minmax(190px,1.55fr)
        minmax(85px,.7fr)
        minmax(85px,.7fr)
        minmax(125px,1fr);

    column-gap:18px;

    align-items:center;

    padding:
        10px
        0
        8px;

    color:#777777;

    font-weight:700;

    border-bottom:1px solid #dddddd;
}


/* =====================================================
   VERGLEICHSZEILEN
===================================================== */

.geo-case-study__comparison-row{
    display:grid;

    grid-template-columns:
        minmax(190px,1.55fr)
        minmax(85px,.7fr)
        minmax(85px,.7fr)
        minmax(125px,1fr);

    column-gap:18px;

    align-items:center;

    width:100%;
    min-width:0;

    padding:
        13px
        0;

    border-bottom:1px solid #e3e3e3;
}


.geo-case-study__comparison-row:last-child{
    border-bottom:0;
}


/* =====================================================
   TABELLENPARAMETER
===================================================== */

.geo-case-study__comparison-name{
    min-width:0;

    font-weight:700;
}


/* =====================================================
   WERTE
===================================================== */

.geo-case-study__comparison-value{
    min-width:0;

    color:#666666;
}


/* =====================================================
   VERÄNDERUNG
===================================================== */

.geo-case-study__comparison-change{
    min-width:0;

    color:#ef6c00;

    font-weight:700;

    text-align:left;
}


/* =====================================================
   RESPONSIVE WERTE
===================================================== */

.geo-case-study__value-mobile{
    display:none;
}


/* =====================================================
   EINORDNUNG UNTEN
===================================================== */

.geo-case-study__bottom{
    align-items:start;

    margin-top:38px;
}


.geo-case-study__conclusion{
    min-width:0;
}


.geo-case-study__conclusion h3{
    margin-top:0;
}


.geo-case-study__conclusion p:last-child{
    margin-bottom:0;
}


/* =====================================================
   BUSINESS-HIGHLIGHT
===================================================== */

.geo-case-study__highlight{
    width:100%;
    min-width:0;

    padding:
        24px
        26px;

    box-sizing:border-box;

    background:#f7f7f7;

    border-left:4px solid #ef6c00;

    box-shadow:
        0 8px 24px
        rgba(0,0,0,.04);
}


.geo-case-study__highlight-label{
    display:block;

    margin-bottom:12px;

    color:#666666;

    font-weight:700;
}


.geo-case-study__highlight-value{
    display:block;

    margin-bottom:8px;
}


.geo-case-study__highlight p{
    margin:0;
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:900px){

    .geo-case-study__intro,
    .geo-case-study__results-row,
    .geo-case-study__bottom{
        grid-template-columns:
            minmax(0,1.8fr)
            minmax(230px,1fr);

        column-gap:45px;
    }


    .geo-case-study__comparison-head,
    .geo-case-study__comparison-row{
        grid-template-columns:
            minmax(0,1.4fr)
            minmax(70px,.7fr)
            minmax(70px,.7fr)
            minmax(100px,.9fr);

        column-gap:14px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:768px){

    /* =================================================
       GRUNDAUFBAU
    ================================================= */

    .geo-case-study__intro,
    .geo-case-study__results-row,
    .geo-case-study__bottom{
        grid-template-columns:1fr;

        row-gap:26px;
    }


    .geo-case-study__intro{
        align-items:start;
    }


    /* =================================================
       META KOMPAKT
    ================================================= */

    .geo-case-study__meta{
        display:grid;

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:
            14px
            20px;

        padding:
            18px
            0;

        border-left:0;

        border-top:1px solid #e5e5e5;
        border-bottom:1px solid #e5e5e5;
    }


    .geo-case-study__meta-label{
        grid-column:
            1 / -1;
    }


    .geo-case-study__meta-item{
        gap:2px;
    }


    /* =================================================
       ERGEBNIS-BEREICH
    ================================================= */

    .geo-case-study__results-row{
        margin-top:26px;
    }


    .geo-case-study__results{
        grid-column:auto;
    }


    .geo-case-study__results-intro{
        margin-bottom:18px;
    }


    /* =================================================
       VERGLEICH
    ================================================= */

    .geo-case-study__comparison{
        width:100%;
        min-width:0;

        padding:
            7px
            12px;

        box-sizing:border-box;

        border-radius:12px;
    }


    /* =================================================
       KOMPAKTE KOPFZEILE
    ================================================= */

    .geo-case-study__comparison-head{
        display:grid;

        grid-template-columns:
            minmax(0,1.6fr)
            minmax(42px,.5fr)
            minmax(42px,.5fr)
            minmax(58px,.7fr);

        column-gap:6px;

        align-items:end;

        padding:
            7px
            0
            9px;

        border-bottom:1px solid #dddddd;
    }


    .geo-case-study__comparison-head
    > span:not(:first-child){
        text-align:right;
    }


    /* =================================================
       VERGLEICHSZEILEN
    ================================================= */

    .geo-case-study__comparison-row{
        display:grid;

        grid-template-columns:
            minmax(0,1.6fr)
            minmax(42px,.5fr)
            minmax(42px,.5fr)
            minmax(58px,.7fr);

        column-gap:6px;

        align-items:center;

        width:100%;
        min-width:0;

        padding:
            11px
            0;

        border-bottom:1px solid #e3e3e3;
    }


    .geo-case-study__comparison-row:last-child{
        border-bottom:0;
    }


    /* =================================================
       PARAMETER
    ================================================= */

    .geo-case-study__comparison-name{
        min-width:0;

        padding-right:4px;

        font-weight:700;

        overflow-wrap:normal;
        word-break:normal;
    }


    /* =================================================
       ZAHLEN
    ================================================= */

    .geo-case-study__comparison-value,
    .geo-case-study__comparison-change{
        min-width:0;

        text-align:right;

        white-space:nowrap;
    }


    .geo-case-study__comparison-value{
        color:#666666;
    }


    .geo-case-study__comparison-change{
        color:#ef6c00;

        font-weight:700;
    }


    /* =================================================
       MOBILE-KURZWERTE
    ================================================= */

    .geo-case-study__value-desktop{
        display:none;
    }


    .geo-case-study__value-mobile{
        display:inline;
    }


    /* =================================================
       EINORDNUNG
    ================================================= */

    .geo-case-study__bottom{
        margin-top:32px;
    }


    .geo-case-study__highlight{
        padding:
            22px
            20px;
    }

}

/* =================================================
   SCHRIFTGRÖSSEN NUR FÜR MOBILE VERGLEICHSMATRIX
================================================= */

.geo-case-study__comparison-head{
    font-size:16px;
}


.geo-case-study__comparison-name{
    font-size:16px;
}


.geo-case-study__comparison-value,
.geo-case-study__comparison-change{
    font-size:14px;
}

/* =====================================================
   KLEINE SMARTPHONES
===================================================== */

@media(max-width:480px){

    .geo-case-study__meta{
        column-gap:14px;
    }


    .geo-case-study__comparison{
        padding:
            7px
            10px;
    }


    .geo-case-study__comparison-head,
    .geo-case-study__comparison-row{
        grid-template-columns:
            minmax(0,1.55fr)
            minmax(40px,.5fr)
            minmax(40px,.5fr)
            minmax(56px,.7fr);

        column-gap:5px;
    }

 .geo-case-study__comparison-head{
        font-size:15px;
    }


    .geo-case-study__comparison-name{
        font-size:14px;
    }


    .geo-case-study__comparison-value,
    .geo-case-study__comparison-change{
        font-size:13px;
    }


}

/* =====================================================
   ZUSÄTZLICHE REGELN
===================================================== */

.fullwidth-eyecatcher + .wrapper,
.fullwidth-eyecatcher + .geo-insight,
.fullwidth-eyecatcher + .col-xs-12 .geo-levers{
    margin-top:90px;
}


.breite {
  width:100%; 
  text-align: left;
}

.fullwidth-eyecatcher .container-max-width-branche .fullwidth-eyecatcher__inner .button-row.wrapper{
    grid-column:2;
    margin-top:30px;
}

.fullwidth-eyecatcher--reverse .container-max-width-branche .fullwidth-eyecatcher__inner .button-row.wrapper{
    grid-column:1;
}

.fullwidth-eyecatcher{
    position:relative;
    width:100vw;
    margin-left:calc(50% - 50vw);
    padding-block:65px;
    background:#000;
    overflow:hidden;
    margin-bottom: 90px;
}

.fullwidth-eyecatcher .container-max-width-branche{
    width:100%;
}

.fullwidth-eyecatcher__inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    column-gap:80px;

    width:100%;
    max-width:1480px;
    min-height:430px;

    margin-inline:auto;
    padding-inline:40px;

    box-sizing:border-box;
}


@media (max-width:1000px){

    .fullwidth-eyecatcher__inner{
        gap:50px;
    }

}

@media (max-width:991px){


    .fullwidth-eyecatcher__inner{
        text-align: center;
    }

    .fullwidth-eyecatcher__media{
        order:1;
    }

      .fullwidth-eyecatcher__media{
        width:100vw;
        max-width:none;
        margin-left:calc(50% - 50vw);
        margin-right:calc(50% - 50vw);

        display:block;
    }

    .fullwidth-eyecatcher__media img{
        display:block;
        width:100%;
        max-width:none;
        height:auto;
        object-fit:cover;
    }
  
  .fullwidth-eyecatcher__content h2,
  .fullwidth-eyecatcher--reverse .fullwidth-eyecatcher__content {
    grid-row: 2;
    margin-top:30px;
    }

  section.fullwidth-eyecatcher {
    padding-top: 0px;
}

    .fullwidth-eyecatcher__inner{
        grid-template-columns:1fr;
        gap:0px;
        min-height:auto;
        padding-inline:24px;
    }

    .fullwidth-eyecatcher__content{
        order:1;
        width:100%;
        max-width:600px;
        margin-inline:auto;
        text-align:center;
    }

    .fullwidth-eyecatcher__content .button-row{
        justify-content:center;
    }

  .fullwidth-eyecatcher--reverse .container-max-width-branche .fullwidth-eyecatcher__inner .button-row.wrapper,
  .fullwidth-eyecatcher .container-max-width-branche .fullwidth-eyecatcher__inner .button-row.wrapper {
    grid-row: 4;
    margin: auto;
    grid-column:1;
}

}

@media (max-width:768px){

    .fullwidth-eyecatcher__inner{
        padding-inline:20px;
    }

    .fullwidth-eyecatcher__content{
        max-width:420px;
    }

    .fullwidth-eyecatcher .button-row{
        max-width:380px;
        margin:30px auto 0;
       grid-row:3;
    }

  
}


/* Spezieller Reverse-Block mit CTA als eigenem Grid-Element */

.content-split--mobile-cta .content-split__content{
    grid-column:2;
    grid-row:1;
}

.content-split--mobile-cta .content-split__image{
    grid-column:1;
    grid-row:1 / span 2;
}

.content-split--mobile-cta .button-row{
    grid-column:2;
    grid-row:2;
    align-self:start;
    margin-top:30px;
}

@media (max-width:991px){

    .content-split--mobile-cta .content-split__inner{
        grid-template-columns:1fr;
        gap:0px;
    }

    .content-split--mobile-cta .content-split__content{
        grid-column:1;
        grid-row:1;
        order:unset;
    }

    .content-split--mobile-cta .content-split__image{
        grid-column:1;
        grid-row:2;
        order:unset;
    }

    .content-split--mobile-cta .button-row{
        grid-column:1;
        grid-row:3;
        order:unset;
    }

  .geo-comparison .wrapper,
  .geo-seo-comparison .wrapper,
  .geo-problems .wrapper,
  .geo-insight .wrapper{
    gap:0px;
  }

}

  .image-h {
    display:none;
  }
    .image-v {
    display:block;
  } 


/* MOBILE – WEITERE ELEMENT 

@media(max-width:991px){

    .geo-comparison .wrapper,
    .geo-seo-comparison .wrapper,
    .geo-problems .wrapper,
    .geo-insight .wrapper{
        gap:0;
    }

} */



@media (max-width:991px){

    .geo-comparison__grid{
        display:grid;
        grid-template-columns:1fr;
        gap:0;
        width:100%;
    }

    .geo-comparison__card{
        position:relative;
        z-index:1;
        width:100%;
    }

    .geo-comparison__vs{
        position:relative;
        z-index:9;
        width:60px;
        height:60px;
        margin:-18px auto;
        flex-shrink:0;
    }

    .geo-comparison__vs::before,
    .geo-comparison__vs::after{
        display:none;
    }

  .image-v {
    display:none;
  }
    .image-h {
    display:block;
  }

}

.text-orange
{color: #ef6c00;}

.breite
{display: block;}




@media(max-width: 991px) {
  
  .geo-ai-tab-image img,
  .content-split__image img,
  .geo-intro__media img {
    width: 70%;
    margin:auto;
  }
  }

@media(max-width: 600px) {
  
  .geo-ai-tab-image img {
    width: 100%;
  }
  }





.contactbutton a {
     min-width:auto;
}

.geo-monitoring-section > .button-row {
    align-self:end;
}

@media(max-width:991px) {


    .geo-monitoring-table td:nth-child(2)::before {
        content:"Private Mandanten";
        display:block;
        margin-bottom:6px;
        color:#333;
        font-weight:700;
    }

    .geo-monitoring-table td:nth-child(3)::before {
        content:"Unternehmen / Inhouse";
        display:block;
        margin-bottom:6px;
        color:#333;
        font-weight:700;
    }

    .geo-monitoring-table td:nth-child(3) {
        border-top:1px solid #e5e5e5;
    }

    .geo-monitoring-table table {
        display:block;
        width:100%;
    }

    .geo-monitoring-table tbody {
        display:flex !important;
        flex-direction:row;
        gap:16px;

        width:100%;

        overflow-x:auto;
        overflow-y:hidden;

        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;

        padding-bottom:10px;

        scrollbar-width:none;
    }

    .geo-monitoring-table tbody::-webkit-scrollbar {
        display:none;
    }

    .geo-monitoring-table tbody tr {
        display:block;

        flex:0 0 75%;
        width:auto;
        margin:0;

        scroll-snap-align:start;
    }

.geo-vergleich-section {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-template-areas:         "content"        "table"        "note";
        gap: 25px;
        margin-bottom: 60px;
}

}



@media (max-width: 991px) {

    .geo-monitoring-section > .geo-monitoring-table {
        grid-area: table;
        min-width: 0;
        width: calc(100% + 20px);
        max-width: none;
    }

}


/*PROMPTS-TAB*/

.geo-prompt-ai {   
   justify-self:start;
    width:max-content;
    display: inline-block;
    padding: 10px 16px;
    border-radius: 7px;
    color: #333;
    font-weight: 700;
}

.geo-prompts-tab {
    display:block;
}

.geo-prompt-list {
    width:100%;
    margin:25px 0;
}

.geo-prompt-row {
    display:grid;
    grid-template-columns: 130px minmax(0,1fr);
    column-gap:18px;
    align-items:start;
    padding:18px 15px;
    border-bottom:1px solid #ececec;
}

.geo-prompt-row:first-child {
    border-top:1px solid #ececec;
}

.geo-prompt-ai {
    white-space:nowrap;
}

.geo-prompt-ai::after {
    content:":";
}

.geo-prompt-text {
    min-width:0;
}


/* MOBILE */


@media(max-width:768px) {
.geo-prompts-panel .button-row .contactbutton {
    margin: auto;
}
}

@media(max-width:650px) {
      .geo-prompt-row {
        grid-template-columns:1fr;
        row-gap:10px;
    }

    .geo-prompt-ai {
        justify-self:start;
        width:max-content;
        max-width:100%;
    }

    .geo-prompt-text {
        width:100%;
    }
}









.geo-industry-content {
    height:100%;
}

.geo-industry-panel.active {
    display:flex;
    flex-direction:column;
    min-height:100%;
}

.geo-industry-panel.active > .button-row {
    margin-top:auto;
    padding-top:30px;
}




@media (max-width: 991px) {
    .geo-intro__inner,
    .geo-intro__content,
    .geo-intro__media {
        min-width: 0;
        max-width: 100%;
    }
}