/* ==========================================
   HERO
========================================== */

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    padding:140px 0 80px;

    background:linear-gradient(
        135deg,
        var(--primary) 0%,
        #6B4539 30%,
        var(--sage) 70%,
        var(--cream) 100%
    );

}

.hero-text{

    color:var(--white);

}

.hero-badge{

    display:inline-block;

    padding:12px 22px;

    margin-bottom:30px;

    border-radius:999px;

    background:rgba(244,241,226,.18);

    backdrop-filter:blur(15px);

    border:1px solid rgba(255,255,255,.15);

    color:var(--white);

}

.hero h1{

    font-size:82px;

    font-weight:800;

    line-height:1.05;

    color:var(--white);

    margin-bottom:25px;

}

.hero p{

    max-width:540px;

    margin-bottom:40px;

    font-size:22px;

    line-height:1.8;

    color:rgba(255,255,255,.90);

}

.hero-image{

    display:flex;

    justify-content:center;

    align-items:center;

}

.hero-dog{

    width:100%;

    max-width:600px;

    height:auto;

    border-radius:32px;

    box-shadow:var(--shadow-lg);

    animation:heroFloat 6s ease-in-out infinite;

    transform-origin:center;

}

@keyframes heroFloat{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-18px);

    }

    100%{

        transform:translateY(0);

    }

}

.hero-dog:hover{

    transform:translateY(-8px);

}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width:1200px){

    .hero h1{

        font-size:68px;

    }

    .hero-dog{

        max-width:520px;

    }

}

@media (max-width:992px){

    .hero{

        min-height:auto;

        padding:150px 0 80px;

        text-align:center;

    }

    .hero .row{

        flex-direction:column-reverse;

    }

    .hero-image{

        margin-bottom:50px;

    }

    .hero h1{

        font-size:58px;

    }

    .hero p{

        max-width:100%;

        margin-left:auto;

        margin-right:auto;

    }

    .hero-buttons{

        justify-content:center;

    }

    .hero-dog{

        max-width:420px;

    }

}

@media (max-width:768px){

    .hero{

        padding:130px 0 70px;

    }

    .hero h1{

        font-size:46px;

        line-height:1.1;

    }

    .hero p{

        font-size:18px;

    }

    .hero-badge{

        font-size:14px;

        padding:10px 18px;

    }

    .hero-dog{

        max-width:320px;

    }

}

@media (max-width:576px){

    .hero{

        min-height:auto;

        padding:110px 0 50px;

        text-align:center;

    }

    .hero h1{

        font-size:36px;

        line-height:1.15;

        margin-bottom:18px;

    }

    .hero p{

        font-size:16px;

        line-height:1.7;

        margin-bottom:25px;

        max-width:100%;

    }

    .hero-buttons{

        display:flex;

        flex-direction:column;

        align-items:center;

        gap:14px;

    }

    .hero-buttons a{

        width:100%;

        max-width:300px;

    }

    .hero-dog{

        max-width:240px;

        margin:30px auto 0;

    }

}