.hero-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: "JetBrains Mono", monospace;
    font-size: 9px;
    letter-spacing: 3px;
    color: #2e2e2e;
    margin-bottom: 28px;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s ease 0.2s, transform 0.5s ease 0.2s;
}
.hero.revealed .hero-eyebrow { opacity: 1; transform: none; }

.hero-eyebrow .status-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #3a3a3a;
    animation: blink 2.4s ease infinite;
    flex-shrink: 0;
}

.hero-eyebrow-sep { color: #1c1c1c; }

.hero-scroll-hint {
    position: absolute;
    bottom: 28px;
    left: 56px;
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: "JetBrains Mono", monospace;
    font-size: 8px;
    letter-spacing: 3px;
    color: #222;
    opacity: 0;
    transition: opacity 0.6s ease 1.2s;
}
.hero.revealed .hero-scroll-hint { opacity: 1; }

.hero-scroll-line {
    width: 40px;
    height: 1px;
    background: #1e1e1e;
    position: relative;
    overflow: hidden;
}

.hero-scroll-line::after {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 100%;
    height: 1px;
    background: #444;
    animation: scrollSlide 2s ease 1.4s infinite;
}

@keyframes scrollSlide {
    0%   { left: -100%; }
    50%  { left: 100%; }
    100% { left: 100%; }
}

.stack-list {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.license-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    border: 1px solid #141414;
    border-top: none;
    background: rgba(255,255,255,0.012);
    padding: 32px 40px;
    position: relative;
    overflow: hidden;
    color: inherit;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.5s ease, transform 0.5s ease, border-color 0.25s, background 0.25s;
}

.license-banner:first-child {
    border-top: 1px solid #141414;
}

.section.in-view .license-banner { opacity: 1; transform: none; }
.section.in-view .license-banner:nth-child(1)  { transition-delay: 0.04s; }
.section.in-view .license-banner:nth-child(2)  { transition-delay: 0.08s; }
.section.in-view .license-banner:nth-child(3)  { transition-delay: 0.12s; }
.section.in-view .license-banner:nth-child(4)  { transition-delay: 0.16s; }
.section.in-view .license-banner:nth-child(5)  { transition-delay: 0.20s; }
.section.in-view .license-banner:nth-child(6)  { transition-delay: 0.24s; }
.section.in-view .license-banner:nth-child(7)  { transition-delay: 0.28s; }
.section.in-view .license-banner:nth-child(8)  { transition-delay: 0.32s; }

.license-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #fff;
    transform: translateY(101%);
    transition: transform 0.3s cubic-bezier(0.16,1,0.3,1);
    z-index: 0;
}

.license-banner:hover::before { transform: translateY(0); }
.license-banner:hover { border-color: #fff; }
.license-banner:hover .license-banner-title,
.license-banner:hover .license-banner-label,
.license-banner:hover .license-banner-sub,
.license-banner:hover .license-banner-arrow { color: #080808; }

.license-banner-inner {
    position: relative;
    z-index: 1;
}

.license-banner-label {
    font-family: "JetBrains Mono", monospace;
    font-size: 8px;
    letter-spacing: 3px;
    color: #262626;
    margin-bottom: 8px;
    transition: color 0.2s;
}

.license-banner-title {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #d0d0d0;
    margin-bottom: 6px;
    transition: color 0.2s;
}

.license-banner-sub {
    font-family: "JetBrains Mono", monospace;
    font-size: 9px;
    letter-spacing: 1.5px;
    color: #282828;
    transition: color 0.2s;
}

.license-banner-arrow {
    font-size: 28px;
    color: #1e1e1e;
    transition: color 0.2s, transform 0.2s;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.license-banner:hover .license-banner-arrow {
    transform: translate(3px, -3px);
}

.hero-404 { min-height: 100vh; }

.err-code {
    font-family: "JetBrains Mono", monospace;
    font-size: 9px;
    letter-spacing: 4px;
    color: #222;
    margin-bottom: 20px;
    opacity: 0;
    transition: opacity 0.5s ease 0.2s;
}

.hero.revealed .err-code { opacity: 1; }

.hero-404-actions {
    margin-top: 36px;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s ease 0.7s, transform 0.5s ease 0.7s;
}

.hero.revealed .hero-404-actions { opacity: 1; transform: none; }

.btn-home {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #555;
    border: 1px solid #1a1a1a;
    padding: 14px 28px;
    font-size: 10px;
    letter-spacing: 3px;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    position: relative;
    overflow: hidden;
    transition: color 0.25s, border-color 0.25s;
}

.btn-home::after {
    content: '';
    position: absolute;
    inset: 0;
    background: #fff;
    transform: translateY(101%);
    transition: transform 0.3s cubic-bezier(0.16,1,0.3,1);
    z-index: 0;
}

.btn-home i, .btn-home span, .btn-home > * {
    position: relative;
    z-index: 1;
}

.btn-home:hover { color: #080808; border-color: #fff; }
.btn-home:hover::after { transform: translateY(0); }

@media (max-width: 860px) {
    .hero-scroll-hint { left: 20px; bottom: 20px; }
    .license-banner { padding: 24px; }
    .license-banner-title { font-size: 11px; letter-spacing: 2px; }
}

@media (max-width: 480px) {
    .hero-eyebrow { flex-wrap: wrap; justify-content: center; }
}