/* ════════════════════════════════════════
   HERO  –  Section, Glitch Headline,
            Buttons, Ticker
   ════════════════════════════════════════ */

#hero {
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    display: grid;
    align-items: center;
    padding: 9rem 5rem 0;
}

/* Blueprint schematic lines */
.hero-schematic {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.hero-schematic svg {
    width: 100%;
    height: 100%;
    opacity: .05;
}

/* Scanlines */
#hero::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: repeating-linear-gradient(
        to bottom,
        transparent 0px, transparent 3px,
        rgba(155, 31, 196, .012) 3px, rgba(155, 31, 196, .012) 4px
    );
}

/* Ambient glows */
.hero-glow-purple {
    position: absolute;
    width: 800px; height: 600px;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(155, 31, 196, .16) 0%, transparent 65%);
    top: 40%; left: 40%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.hero-glow-pink {
    position: absolute;
    width: 400px; height: 300px;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(224, 32, 106, .08) 0%, transparent 65%);
    bottom: 15%; right: 10%;
    pointer-events: none;
}

.hero-glow-cyan {
    position: absolute;
    width: 350px; height: 250px;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(30, 200, 212, .06) 0%, transparent 65%);
    top: 20%; right: 20%;
    pointer-events: none;
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 860px;
    justify-self: center;
}

.hero-tag {
    font-family: 'JetBrains Mono', monospace;
    font-size: .7rem;
    color: var(--orange);
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 1.8rem;
    display: flex;
    align-items: center;
    gap: .8rem;
    opacity: 0;
    animation: hero-in .7s .1s forwards;
}

.hero-tag::before {
    content: '';
    width: 20px; height: 1px;
    background: var(--orange);
}

.hero-headline {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(3.6rem, 9vw, 8rem);
    font-weight: 900;
    line-height: .92;
    text-transform: uppercase;
    letter-spacing: -.02em;
    margin-bottom: 2.2rem;
    position: relative;
    opacity: 0;
    animation: hero-in .9s .25s forwards;
}

.hl-stroke {
    -webkit-text-stroke: 2px var(--text);
    color: transparent;
}

.hl-orange { color: var(--orange); }

/* Persistent glitch layers */
.glitch-wrap {
    position: relative;
    display: inline-block;
}

.glitch-wrap::before,
.glitch-wrap::after {
    content: attr(data-text);
    position: absolute;
    left: 0; top: 0;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: inherit;
    line-height: inherit;
    text-transform: uppercase;
    pointer-events: none;
}

.glitch-wrap::before { color: var(--pink); animation: g1 6s infinite steps(1) .5s; }
.glitch-wrap::after  { color: var(--cyan); animation: g2 6s infinite steps(1) .8s; }

.hero-sub {
    font-size: clamp(.95rem, 1.8vw, 1.1rem);
    color: var(--muted);
    line-height: 1.8;
    max-width: 540px;
    margin-bottom: 3rem;
    opacity: 0;
    animation: hero-in .9s .5s forwards;
}

.hero-sub strong {
    color: var(--text);
    font-weight: 400;
}

.hero-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    opacity: 0;
    animation: hero-in .9s .7s forwards;
}

/* ── Buttons ── */
.btn-primary {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--bg);
    background: var(--orange);
    border: none;
    padding: 1rem 2.4rem;
    cursor: crosshair;
    text-decoration: none;
    display: inline-block;
    clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
    transition: background .2s, transform .15s;
}

.btn-primary:hover {
    background: #ffc140;
    transform: translateY(-2px);
}

.btn-ghost {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--text);
    background: transparent;
    border: 1px solid var(--bs);
    padding: 1rem 2.4rem;
    cursor: crosshair;
    text-decoration: none;
    display: inline-block;
    transition: border-color .2s, color .2s, transform .15s;
}

.btn-ghost:hover {
    border-color: var(--purple);
    color: var(--purple);
    transform: translateY(-2px);
}

/* ── Ticker ── */
.ticker {
    overflow: hidden;
    position: relative;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: var(--bg2);
    padding: .9rem 0;
}

.ticker::before,
.ticker::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 100px;
    z-index: 2;
}

.ticker::before { left: 0;  background: linear-gradient(to right, var(--bg2), transparent); }
.ticker::after  { right: 0; background: linear-gradient(to left,  var(--bg2), transparent); }

.ticker-track {
    display: flex;
    width: max-content;
    animation: ticker-anim 30s linear infinite;
}

.ticker-item {
    font-family: 'JetBrains Mono', monospace;
    font-size: .7rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted);
    padding: 0 2.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    white-space: nowrap;
}

.ticker-item .dot {
    width: 4px; height: 4px;
    border-radius: 50%;
    background: var(--orange);
    flex-shrink: 0;
}
