.hero {
    padding-top: 40px;
    padding-bottom: 40px;
    position: relative;
    overflow: hidden;

    height: 1000px;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
    linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px);
    background-size: 56px 56px;
    opacity: .55;
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 62% 38%, #000 0%, transparent 72%);
    mask-image: radial-gradient(ellipse 70% 60% at 62% 38%, #000 0%, transparent 72%);
}

.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(55% 45% at 50% -5%, rgba(255,255,255,.10), transparent 70%),
        radial-gradient(36% 40% at 88% 30%, rgba(57,255,136,.07), transparent 70%);
}

.hero-content {
    position: relative;
    z-index: 1;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    gap: 60px;
}


.badge {
    background: rgba(255, 255, 255, .025);
    padding-top: 6px;
    padding-bottom: 6px;
    padding-right: 16px;
    padding-left: 16px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 100px;
    display: inline-flex;
    align-items: center;
    gap: 16px;
    color: #8c8c88;
    font-family: "Geist Mono";
    font-size: 14px;
}

.badge-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #39ff88;
    box-shadow:
        0 0 8px rgba(57, 255, 136, 0.8),
        0 0 16px rgba(57, 255, 136, 0.3);
}

.hero-text > h1 {
    background: linear-gradient(180deg, #fff 20%, #9b9b97 110%);
    background-clip: text;
    color: transparent;
    font-weight: 500;
    font-size: 64px;
    letter-spacing: -0.045em;
    line-height: 1.02;
}

.hero-text > p {
    color: #8c8c88;
    line-height: 1.65;
    font-size: 18px;
    max-width: 90%;
}

.hero-chips-container {
    display: flex;
    gap: 12px;
}

.hero-chip {
    background: rgba(255, 255, 255, .03);
    border: 1px solid rgba(255, 255, 255, .09);
    padding-top: 4px;
    padding-bottom: 4px;
    padding-right: 10px;
    padding-left: 10px;
    font-family: "Geist Mono";
    font-size: 14px;
    border-radius: 8px;
}

.hero-buttons-container {
    display: flex;
    gap: 18px;
    margin-top: 24px;
}

.hero-button-full {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 8px;
    padding-bottom: 8px;
    border-radius: 100px;
    border: 1px solid transparent;
    background-color: #f1f0ec;
}

.hero-button-full > a {
    color: #09090a;
    text-decoration: none;
}

.hero-button {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 8px;
    padding-bottom: 8px;
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, .2);
}

.hero-button > a {
    color: #f1f0ec;
    text-decoration: none;
}

.hero-demo {
    background-color: #09090a;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.2);
    box-shadow: 0 0 0 1px rgba(255,255,255,.03),0 30px 80px -20px rgba(255,255,255,.1),0 0 90px -30px rgba(57,255,136,.25);
    position: relative;
    width: 100%;
    height: 320px;
    overflow: hidden;
    background: radial-gradient(circle at 50% 50%, rgba(57, 255, 136, 0.045), transparent 55%), #09090a;
    margin-top: 94px;
}

.hero-demo canvas {
    display: block;
    width: 100%;
    height: 100%;
}

.hero-demo-hud {
    position: absolute;
    top: 16px;
    left: 16px;
    right: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hero-demo-live {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #f1f0ec;
    font-family: "Geist Mono";
}

.hero-demo-live-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #39ff88;
    box-shadow:
        0 0 8px rgba(57, 255, 136, 0.8),
        0 0 16px rgba(57, 255, 136, 0.3);
}

.hero-demo-fps {
    color: #8c8c88;
    font-family: "Geist Mono";
}
