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

.hero{
    position:relative;
    min-height:92vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:
    radial-gradient(circle at top,
    rgba(212,175,55,.08),
    transparent 42%),
    linear-gradient(
        180deg,
        #070707 0%,
        #0b0b0b 55%,
        #050505 100%);
}

.hero::before{
    content:"";
    position:absolute;
    width:700px;
    height:700px;
    right:-180px;
    top:-180px;
    border-radius:50%;
    background:rgba(212,175,55,.08);
    filter:blur(110px);
    animation:heroGlow 8s ease-in-out infinite;
}

.hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        to bottom,
        transparent,
        rgba(0,0,0,.35)
    );
}

/* Layout */

.hero-container{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.hero-left{
    max-width:560px;
}

/* Label */

.hero-small{
    color:var(--gold);
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:.75rem;
    margin-bottom:16px;
}

/* Heading */

.hero h1{
    font-family:var(--heading);
    font-size:5.8rem;
    line-height:.9;
    color:#fff;
    margin-bottom:22px;
}

.hero h1 span{
    display:block;
    color:var(--gold);
}

/* Description */

.hero-description{
    font-size:1.05rem;
    line-height:1.7;
    color:var(--muted);
    margin-bottom:34px;
}

.hero-description strong{
    color:#fff;
}

/* Buttons */

.hero-buttons{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

/* Hero Image */

.hero-right{
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
}

.hero-image{
    width:100%;
    max-width:560px;
    animation:floatBull 6s ease-in-out infinite;
    filter:drop-shadow(0 0 55px rgba(212,175,55,.18));
}

/* Glow */

.hero-right::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(212,175,55,.16);
    filter:blur(100px);
}

/* Scroll */

.scroll-indicator{
    position:absolute;
    bottom:24px;
    left:50%;
    transform:translateX(-50%);
    color:rgba(255,255,255,.45);
    letter-spacing:3px;
    font-size:.7rem;
    animation:scrollFloat 2s infinite;
    z-index:5;
}

/* Mobile */

@media (max-width:768px){

.hero{
    min-height:auto;
    padding:110px 22px 70px;
}

.hero-container{
    grid-template-columns:1fr;
    gap:36px;
    text-align:center;
}

.hero-left{
    max-width:100%;
}

.hero h1{
    font-size:3.2rem;
}

.hero-small{
    font-size:.7rem;
}

.hero-description{
    font-size:.95rem;
}

.hero-buttons{
    justify-content:center;
}

.hero-image{
    max-width:340px;
}
}
