.hg-progress {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 40;
    height: 2px;
    width: 0;
    background: linear-gradient(90deg, var(--primary), var(--hg-blood));
    pointer-events: none;
}
.reveal {
    opacity: 0;
    transform: translateY(20px);
}
.reveal.show {
    opacity: 1;
    transform: none;
    transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
}
.hg-btn {
    position: relative;
    overflow: hidden;
    transition: transform 0.28s var(--ease), filter 0.28s var(--ease), box-shadow 0.28s var(--ease);
}
.hg-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 28%, rgba(255, 255, 255, 0.32), transparent 72%);
    transform: translateX(-130%);
    pointer-events: none;
}
.hg-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
    box-shadow: 0 10px 28px rgba(212, 175, 55, 0.18);
}
.hg-btn:hover::after { transform: translateX(130%); transition: transform 0.65s var(--ease); }
.hg-btn-ghost:hover { box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28); }
.hg-card {
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}
.hg-card::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--primary), var(--hg-blood));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s var(--ease);
}
.hg-card { position: relative; }
.hg-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35), inset 0 0 0 1px rgba(212, 175, 55, 0.16);
}
.hg-card:hover::before { transform: scaleX(1); }
.hg-metrics li { transition: transform 0.28s var(--ease); }
.hg-metrics li:hover { transform: translateY(-3px); }
.hg-metrics li:hover .hg-metric-n { color: var(--primary-hover); }
.hg-brand-list li { transition: border-color 0.25s var(--ease), transform 0.25s var(--ease); }
.hg-brand-list li:hover {
    transform: translateY(-2px);
    border-color: var(--hg-line);
}
.word-hover {
    display: inline;
    transition: color 0.2s var(--ease);
}
.word-hover:hover { color: var(--primary-hover); }
.hg-wax { animation: hg-wax-breathe 5.5s ease-in-out infinite alternate; }
@keyframes hg-wax-breathe {
    from { filter: saturate(1); }
    to { filter: saturate(1.08) brightness(1.04); }
}
.hg-mark { transition: transform 0.35s var(--ease); }
.hg-foot .hg-mark:hover { transform: translateY(-3px) scale(1.03); }

@media (prefers-reduced-motion: reduce) {
    .reveal, .reveal.show { opacity: 1; transform: none; transition: none; }
    .hg-btn, .hg-btn::after, .hg-card, .hg-card::before, .hg-metrics li,
    .hg-brand-list li, .word-hover, .hg-mark { transition: none; }
    .hg-wax { animation: none; }
    .hg-spin-canvas { animation: none; }
    .hg-btn:hover, .hg-card:hover, .hg-metrics li:hover { transform: none; }
}
