/* ==========================================================
   footer.css — Horizon Marquee footer (Concept E).
   Site-wide chrome loaded AFTER main.css/modern.css. Uses hz-*
   classnames so legacy .footer rules never collide. Literal
   colors: must render identically on normal pages AND on the
   standalone /legal/* shell where no shared vars are defined.
   ========================================================== */

.hz {
    position: relative;
    overflow: hidden;
    margin-top: 4rem;
    border-top: 1px solid rgba(255,255,255,.07);
    background:
        radial-gradient(1100px 680px at 50% -10%, rgba(196,133,58,.10), transparent 62%),
        #0a0908;
    color: #ece6dd;
}

/* ---------- section ticker ---------- */
.hz-ticker {
    display: flex;
    overflow: hidden;
    border-bottom: 1px solid rgba(196,133,58,.18);
    padding: 12px 0;
}
.hz-track {
    display: flex;
    white-space: nowrap;
    animation: hz-scroll 28s linear infinite;
}
.hz-track span {
    display: inline-flex;
    align-items: center;
    gap: 34px;
    padding-right: 34px;
    font-family: "Space Grotesk", Inter, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .34em;
    text-transform: uppercase;
    color: rgba(217,165,92,.75);
}
.hz-track b {
    color: rgba(240,190,118,.5);
    font-weight: 400;
}

/* ---------- horizon zone ---------- */
.hz-horizon {
    position: relative;
    text-align: center;
    padding: 52px 20px 0;
}
.hz-horizon::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -140px;
    transform: translateX(-50%);
    width: 1100px;
    height: 380px;
    background: radial-gradient(closest-side, rgba(196,133,58,.22), transparent 72%);
    pointer-events: none;
}
.hz-horizon img {
    position: relative;
    display: block;
    margin: 0 auto 26px;
    width: min(500px, 78vw);
    height: auto;
    object-fit: contain;
    mix-blend-mode: screen;
}
.hz-mega {
    position: relative;
    font-family: "Space Grotesk", Inter, sans-serif;
    font-weight: 700;
    line-height: .76;
    letter-spacing: -.02em;
    font-size: clamp(68px, 13.5vw, 185px);
    color: transparent;
    -webkit-text-stroke: 1.5px rgba(196,133,58,.45);
    user-select: none;
    transform: translateY(.24em);
}

/* ---------- baseline bar ---------- */
.hz-base {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    padding: 20px clamp(22px, 4vw, 54px) 24px;
    border-top: 1px solid rgba(196,133,58,.25);
    background: rgba(10,9,8,.82);
    backdrop-filter: blur(8px);
    font-size: 12px;
    color: #93897e;
}
.hz-copy { margin: 0; }
.hz-legal { display: flex; gap: 18px; flex-wrap: wrap; }
.hz-legal a {
    color: #93897e;
    text-decoration: none;
    transition: color .2s;
}
.hz-legal a:hover,
.hz-legal a:focus-visible { color: #f0be76; }

.hz-soc { display: flex; gap: 10px; }
.hz-soc a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(196,133,58,.35);
    color: #93897e;
    font-size: 14px;
    transition: transform .2s, color .2s, border-color .2s;
}
.hz-soc a:hover,
.hz-soc a:focus-visible {
    color: #f0be76;
    border-color: rgba(240,190,118,.65);
    transform: translateY(-3px);
}

.hz-top {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(196,133,58,.4);
    color: #d9a55c;
    transition: box-shadow .2s, color .2s, border-color .2s;
}
.hz-top:hover,
.hz-top:focus-visible {
    color: #f0be76;
    border-color: rgba(240,190,118,.7);
    box-shadow: 0 0 18px rgba(240,190,118,.25);
}

@keyframes hz-scroll { to { transform: translateX(-50%); } }

@media(max-width: 760px) {
    .hz-base { justify-content: center; text-align: center; }
}

@media(prefers-reduced-motion: reduce) {
    .hz-track { animation: none !important; justify-content: center; }
}
