/* ===== Peak64 Footer ===== */
:root
{
    --peak64-bg: transparent;                  /* was #0a0a0a */
    --peak64-text: #fff;
    --peak64-muted: rgba(255,255,255,.75);
    --peak64-accent: var(--yellow, #f2df45);
}

.peak64-footer
{
    padding: 56px 0 24px;

    color: var(--peak64-text);
    background: var(--peak64-bg);
}

.peak64-wrap
{
    width: min(1200px,92%);

    margin-inline: auto;
}

.peak64-grid
{
    display: grid;
    align-items: start;

    grid-template-columns: 1.5fr 1fr 1fr;
    gap: clamp(24px,4vw,64px);
}

.peak64-brand .custom-logo
{
    width: auto;
    height: auto;
    max-height: 36px;
}

.peak64-wordmark
{
    font-size: 28px;
    font-weight: 800;

    display: inline-block;

    letter-spacing: .02em;
}

.peak64-super
{
    font-size: .55em;

    position: relative;
    top: -.35em;

    margin-left: .25em;

    vertical-align: text-top;
}

.peak64-tagline
{
    max-width: 560px;
    margin-top: 12px;

    color: var(--peak64-muted);
}

.peak64-nav h3
{
    font-size: 1rem;
    font-weight: 600;

    margin: 0 0 .5rem;

    color: rgba(255,255,255,.9);
}

.peak64-nav ul
{
    margin: 0;
    padding: 0;

    list-style: none;
}

.peak64-nav li + li
{
    margin-top: .35rem;
}

.peak64-nav a
{
    transition: color .2s ease, opacity .2s ease;
    text-decoration: none;

    color: rgba(255,255,255,.9);
}

.peak64-nav a:hover
{
    color: var(--peak64-accent);
}

.peak64-separator
{
    height: 1px;
    margin: 28px 0 18px;

    opacity: .95;
    background: linear-gradient(90deg, transparent, var(--peak64-accent), transparent);
}

.peak64-bottom
{
    font-size: .9rem;

    display: flex;
    justify-content: center;

    color: rgba(255,255,255,.85);
}

@media (max-width:960px)
{
    .peak64-grid
    {
        grid-template-columns: 1fr;
    }

    .peak64-bottom
    {
        justify-content: flex-start;
    }
}

/* === Footer separator — full-bleed across the whole screen === */
.peak64-footer
{
    position: relative;
}

.peak64-separator
{
    position: relative;
    left: 50%;

    width: 100vw;            /* full viewport width */
    max-width: 100vw;
    height: 2px;             /* draw 2px... */
    margin: 28px 0 18px;

    transform: translateX(-50%);  /* center to viewport */
    pointer-events: none;

    opacity: .95;
    background: linear-gradient(90deg, transparent, var(--peak64-accent), transparent);
}

/* Optional: crisp 1px hairline on all DPIs */
.peak64-separator
{
    transform: translateX(-50%) scaleY(.5);
    transform-origin: bottom;
}

/* Optional: handle mobile safe areas (iOS) if you want exact fit */
@supports (width: 100svw)
{
    .peak64-separator
    {
        width: 100svw;
        max-width: 100svw;
    }
}
