/* ==========================================================
   RESET
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:Segoe UI,Arial,sans-serif;
    background:#f5f5f5;
    color:#222;
    line-height:1.7;

}

img{

    display:block;
    max-width:100%;

}

a{

    text-decoration:none;

}

.container{

    width:min(1380px,94%);
    margin:auto;

}



/* ==========================================================
   HEADER
========================================================== */

header{

    position:fixed;
    top:0;
    left:0;

    width:100%;
    height:145px;

    background:#000 url("../img/header-bg3.png") center center no-repeat;
    background-size:100% 100%;

    z-index:1000;
    box-shadow:0 6px 24px rgba(0,0,0,.35);
}



.header-inner{

    max-width:1400px;

    margin:0 auto;

    height:145px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 50px;

    position:relative;

    z-index:5;

}

.logo{

    width:220px;
    margin-top:-15px;
    height:auto;

}





.header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    max-width:1400px;

    height:125px;

    margin:0 auto;

    padding:18px 45px 0 45px;

    position:relative;

}

.logo img{

    width:220px;

    height:auto;

    display:block;

}

nav{

    display:flex;

    align-items:center;

    gap:34px;

}

nav a{

    color:#fff;

    font-size:17px;

    font-weight:600;

    transition:.25s;

}

nav a:hover{

    color:#f7941d;

}

.btn{

    background:#f7941d;

    color:#fff;

    padding:14px 28px;

    border-radius:35px;

    font-weight:700;

    transition:.25s;
	
    box-shadow:
        0 0 10px rgba(247,148,29,.18);

}

.btn:hover{

    background:#df7d00;

    transform:translateY(-2px);
	
	box-shadow:

    0 0 18px rgba(247,148,29,.22);

}


/* ==========================================================
   HERO
========================================================== */

.hero{

    position:relative;

    overflow:hidden;

    background:

        linear-gradient(rgba(18,18,18,.93),rgba(18,18,18,.96)),

        url("../img/hex-bg.png");

    background-size:cover;

    background-position:center;

    padding:185px 0 90px;
	padding-top:145px;

}





.hero-top{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:5;
}


.hero-image::before{

    content:"";

    position:absolute;

    width:600px;
    height:600px;

    right:-40px;
    bottom:20px;

    border-radius:50%;

    background:rgba(247,148,29,.22);

    filter:blur(110px);

    z-index:1;

}

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background-image:

        radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);

    background-size:34px 34px;

    opacity:.55;

}

.hero::after{

    content:"";

    position:absolute;

    left:0;

    right:0;

    bottom:0;

    height:6px;

    background:#f7941d;

}

.hero-grid{

    display:grid;

    grid-template-columns:54% 46%;

    align-items:center;
	
	padding-bottom: 0px;

}

.hero-text{

    color:#fff;

}

.hero-text p{

    max-width:760px;

}

.badge{

    display:inline-block;

    background:#f7941d;

    color:#fff;

    padding:11px 24px;

    border-radius:30px;

    font-size:14px;

    font-weight:700;

    letter-spacing:1px;

    margin-bottom:28px;

}

.hero h1{

    font-size:66px;

    line-height:1.05;

    margin-bottom:18px;

}

.hero h2{

    color:#f7941d;

    font-size:42px;

    margin-bottom:34px;

}

.hero p{

    color:#ddd;

    font-size:20px;

    margin-bottom:22px;
	
	line-height:1.6;

}

.hero-button{

    display:inline-block;

    margin-top:15px;

    background:#f7941d;

    color:#fff;

    padding:18px 42px;

    border-radius:40px;

    font-size:20px;

    font-weight:700;

}

.hero-button:hover{

    background:#df7d00;

}

.hero-image{

    position:relative;

    height:760px;

}

.dog{

    position:absolute;

    max-width:none;

    width:1050px;

    height:auto;

    right:-250px;

    bottom:-29px;

    z-index:3;

}


/* ==========================================================
   VORTEILE
========================================================== */

.advantages{

    padding:90px 0;

    background:#ffffff;

}

.advantages h2{

    text-align:center;

    font-size:46px;

    margin-bottom:60px;

    color:#222;

}

.cards{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.card{

    background:#fff;

    border-radius:20px;

    padding:40px;

    text-align:center;

    border:2px solid #efefef;

    transition:.25s;

}

.card:hover{

    transform:translateY(-8px);

    border-color:#f7941d;

    box-shadow:0 20px 40px rgba(0,0,0,.08);

}

.card img{

    width:85px;

    margin:0 auto 25px;

}

.card h3{

    font-size:28px;

    margin-bottom:20px;

    color:#222;

}

.card p{

    font-size:18px;

    color:#666;

}



/* ==========================================================
   STANDARD
========================================================== */

section{

    padding:100px 0;

}

h2{

    font-size:46px;

    margin-bottom:35px;

}

h3{

    font-size:28px;

}

/* ==========================================================
   FOOTER FEATURES
========================================================== */

.footer-features{

    position:relative;

    overflow:hidden;

    background:#0b0b0b;

    border-top:2px solid #f7941d;

    padding:70px 0;

}

.footer-features-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:0;

    align-items:start;

    position:relative;

    z-index:2;

}

.footer-feature{

    text-align:center;
	
    padding:35px 0;

    border-right:1px solid rgba(255,255,255,.12);

}

.footer-feature:last-child{

    border-right:none;

}

.footer-feature img{

    width:76px;

    height:auto;

    margin:0 auto 20px;

}

.footer-feature h4{

    color:#f7941d;

    font-size:20px;

    font-weight:800;

    line-height:1.35;

    margin-bottom:18px;

    text-transform:uppercase;

}

.footer-feature p{

    color:#dddddd;

    font-size:17px;

    line-height:1.6;

    margin:0;

}

.footer-dog{

    position:absolute;

    right:-70px;

    bottom:-20px;

    width:620px;

    opacity:.25;

    pointer-events:none;

    z-index:1;

}

@media (max-width:1000px){

    .footer-features-grid{

        grid-template-columns:1fr 1fr;

    }

    .footer-feature{

        border-right:none;

        border-bottom:1px solid rgba(255,255,255,.18);
		border-right:1px solid rgba(255,255,255,.18);

        padding:40px 20px;

    }

    .footer-feature:nth-last-child(-n+2){

        border-bottom:none;

    }

}



@media (max-width:700px){

    .footer-features-grid{

        grid-template-columns:1fr;

    }

    .footer-feature{

        border-bottom:1px solid rgba(255,255,255,.18);

    }

    .footer-feature:last-child{

        border-bottom:none;

    }

}

/* ==========================================================
   FOOTER
========================================================== */

footer{

    background:#111111;

    color:#ffffff;

    border-top:1px solid rgba(255,255,255,.08);
	position:relative;

    overflow:hidden;


}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr;

    gap:80px;

    padding:70px 0 50px;
	
	position:relative;

    z-index:2;


}

.footer-logo{

    width:220px;

    margin-bottom:30px;

}

.footer-col p{

    color:#bdbdbd;

    line-height:1.8;

    font-size:17px;

}

.footer-col h3{

    color:#f7941d;

    font-size:24px;

    margin-bottom:25px;

}

.footer-col ul{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-col li{

    margin-bottom:12px;

}

.footer-col a{

    color:#dddddd;

    transition:.25s;

}

.footer-col a:hover{

    color:#f7941d;

}

.footer-col:first-child p{

    max-width:520px;

}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.08);

    text-align:center;

    padding:25px 0;

    color:#777;

    font-size:14px;
	
	position:relative;

    z-index:2;

}

@media(max-width:900px){

    .footer-grid{

        grid-template-columns:1fr;

        gap:50px;

        text-align:center;

    }

    .footer-logo{

        margin-bottom:40px;

    }

}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:1100px){

.hero-grid{

grid-template-columns:1fr;

text-align:center;

gap:60px;

}

.hero-image{

height:500px;

}

.dog{

position:relative;



margin:auto;

}

.shield{

left:50%;

transform:translateX(-50%);

bottom:20px;

width:130px;

}

.cards{

grid-template-columns:1fr;

}

}



@media(max-width:768px){

.header{

flex-direction:column;

gap:25px;

}

nav{

    display:flex;

    align-items:center;

    gap:38px;

    margin-top:18px;

}

.logo img{

height:130px;

}

.hero{

    padding-top:170px;

}

.hero h1{

    font-size:72px;

    line-height:1.02;

}

.hero h2{

    font-size:54px;

    color:#f7941d;

}

.hero p{

font-size:18px;

}

.hero-button{

display:block;

text-align:center;

}

.badge{

font-size:12px;

}

.advantages h2{

font-size:34px;

}

.card{

padding:30px;

}

.card h3{

font-size:24px;

}

}

/* ==========================================================
   SO FUNKTIONIERT ES
========================================================== */

.section-function{

    position:relative;

    background:#111;

    color:#fff;
	
	padding:40px 0 80px;



    border-bottom:2px solid #f7941d;

    overflow:hidden;

}

.section-function::before{

    content:"";

    position:absolute;

    inset:0;

    background:url("../img/hex-bg.png") center center;

    opacity:.06;

    pointer-events:none;

}

.section-title{

    position:relative;

    z-index:2;

    text-align:center;

    max-width:900px;


	margin:0 auto 40px;


}

.section-title h2{

    font-size:58px;

    color:#fff;

    margin-bottom:25px;

    text-transform:uppercase;

}

.section-title h2 span{

    color:#f7941d;

}

.subtitle{

    font-size:26px;

    color:#f7941d;

    font-weight:600;

    margin-bottom:20px;

}

.intro{

    font-size:20px;

    color:#d0d0d0;

    line-height:1.7;

}

.timeline{

    position:relative;

    max-width:1050px;

    margin:auto;

}

.timeline::before{

    content:"";

    position:absolute;

    left:45px;

    top:0;

    bottom:0;

    width:3px;

    background:#f7941d;

}

.timeline-item{

    position:relative;

    display:flex;

    gap:40px;

    margin-bottom:70px;

    z-index:2;

}

.timeline-item:last-child{

    margin-bottom:0;

}

.timeline-icon{

    width:90px;

    min-width:90px;

    height:90px;

    border-radius:50%;

    background:#1b1b1b;

    border:3px solid #f7941d;

    display:flex;

    align-items:center;

    justify-content:center;

    z-index:3;

}

.timeline-icon img{

    width:46px;

}

.timeline-content{

    flex:1;

    background:#181818;

    border:1px solid rgba(255,255,255,.08);

    border-left:5px solid #f7941d;

    border-radius:18px;

    padding:30px 35px;

    position:relative;

    transition:.3s;

}

.timeline-content:hover{

    transform:translateY(-4px);

    box-shadow:0 15px 40px rgba(0,0,0,.35);

}

.step-number{

    color:#f7941d;

    font-size:18px;

    font-weight:800;

    letter-spacing:2px;

    margin-bottom:10px;

}

.step-text h3{

    font-size:28px;

    margin-bottom:15px;

    color:#fff;

}

.step-text p{

    font-size:18px;

    color:#cfcfcf;

    line-height:1.7;

}

.step-badge{

    position:absolute;

    right:30px;

    top:30px;

}

.step-badge img{

    width:90px;

}

@media(max-width:900px){

    .timeline::before{

        left:35px;

    }

    .timeline-item{

        gap:25px;

    }

    .timeline-icon{

        width:70px;

        min-width:70px;

        height:70px;

    }

    .timeline-icon img{

        width:36px;

    }

    .section-title h2{

        font-size:42px;

    }

    .subtitle{

        font-size:22px;

    }

    .step-text h3{

        font-size:22px;

    }

}

/* ==========================================================
   HERO UNTERSEITEN
========================================================== */

.hero-subpage .dog{

    width:800px;

    right:-70px;

    bottom:100px;

}

.hero-subpage{

    padding-bottom:10px;

}

.section-divider{

    display:flex;
    align-items:center;
    justify-content:center;

    gap:24px;

    margin:0px;
	padding:0px;

}

.section-divider span{

    width:260px;
    height:1px;

    background:rgba(255,153,0,.75);

}

.section-divider img{

    width:250px;
    height:auto;

    filter:drop-shadow(0 0 8px rgba(255,153,0,.35));

}

.hero-subpage .hero-grid{

    padding-bottom:0;

    margin-bottom:-80px;

}

.hero-subpage::after{

    height:0;

    background:transparent;

}