/*
 * SITE-425 (epic SITE-417, stage 4) — shared base stylesheet.
 *
 * Move 1 of the stage: the file is wired into every delivered address and not a
 * single line of the pages' inline <style> is removed. Removing the duplicates
 * is move 2 and a separate ticket; until then this file is a byte-for-byte copy
 * of rules the pages already carry, and it is deliberately inert.
 *
 * Why it cannot change anything on screen. The <link> is the first line of
 * <head>, so every rule here sits earlier in document order than any inline
 * CSS. Each rule below satisfies one of two conditions on every one of the 177
 * delivered addresses:
 *   (a) the address' inline CSS holds the same rule verbatim — same at-rule
 *       context, same selector list, same declarations. Equal specificity plus
 *       an earlier position means the copy can never outrank the original, and
 *       where nothing else declares the property the original wins with the
 *       identical value;
 *   (b) every branch of the selector carries a class whose literal name occurs
 *       nowhere in the bytes delivered to that address, so the branch cannot
 *       match any element in any state.
 * Custom properties, :root and anything reading var() are excluded outright —
 * palettes differ across sections and reconciling them is a product decision.
 *
 * The criterion is machine-checked: .runs/2026-08-09-css-core/css_admit2.py.
 * New shared styles belong here rather than in another page's <style>.
 */

.section-kicker {
    margin:0 0 10px;
    font-size:11px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.34);
}

.glossary-body {
    max-width:820px;
}

.gs-figure {
    max-width:820px;
    margin:8px 0 4px;
    padding:18px;
    border:1px solid rgba(255,255,255,0.07);
    border-radius:14px;
    background:linear-gradient(180deg,rgba(255,255,255,0.028) 0%,rgba(255,255,255,0.014) 100%);
}

.gs-svg {
    display:block;
    width:100%;
    height:auto;
}

.gs-figure-img {
    display:block;
    width:100%;
    height:auto;
    border-radius:14px;
}

.gs-candle {
    stroke:rgba(4,5,7,0.55);
    stroke-width:1;
}

.gs-candle--up {
    fill:#5fd08a;
}

.gs-candle--down {
    fill:#ff5e6c;
}

.gs-level {
    stroke-width:1.6;
    stroke-dasharray:5 4;
}

.gs-level--snr-halo {
    stroke:rgba(4,5,7,0.85);
    stroke-width:5.4;
    stroke-linecap:round;
}

.gs-level--bound {
    stroke:rgba(245,247,251,0.42);
}

.gs-zone {
    stroke-width:1;
    stroke-dasharray:4 3;
}

.gs-zone--demand {
    fill:rgba(95,208,138,0.10);
    stroke:#5fd08a;
}

.gs-zone--rb {
    fill:rgba(255,94,108,0.12);
    stroke:#ff5e6c;
}

.gs-zone--neutral {
    fill:rgba(245,247,251,0.07);
    stroke:rgba(245,247,251,0.34);
}

.gs-zone--range {
    fill:rgba(245,247,251,0.05);
    stroke:rgba(245,247,251,0.30);
}

.gs-zone--breaker {
    fill:rgba(255,94,108,0.10);
    stroke:#ff5e6c;
}

.gs-tag--up {
    fill:#5fd08a;
}

.gs-tag--dn {
    fill:#ff5e6c;
}

.crosslink-card {
    display:block;
    padding:18px 20px;
    border:1px solid rgba(255,255,255,0.07);
    border-radius:14px;
    background:linear-gradient(180deg,rgba(255,255,255,0.032) 0%,rgba(255,255,255,0.018) 100%);
    text-decoration:none;
    color:inherit;
    transition:border-color 0.2s ease, transform 0.2s ease;
}

.crosslink-card:hover {
    border-color:rgba(255,255,255,0.20);
    transform:translateY(-1px);
}

.crosslink-card__title {
    display:block;
    color:#fff;
    font-size:16px;
    font-weight:700;
}

.cta-btn {
    display:inline-block;
    background:#c20d1e;
    color:#fff;
    text-decoration:none;
    font-size:14px;
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
    padding:15px 32px;
    border-radius:3px;
    transition:background 0.18s ease;
}

.cta-btn:hover {
    background:#b30c1c;
}

.js-reveal.is-visible {
    opacity:1;
    transform:translateY(0);
}

.fp-nav__links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 18px;
}

.fp-nav__links a:hover {
    color: #fff;
}

.fp-nav__links a.is-active {
    color: #fff;
}

.fp-nav__spacer {
    flex: 1 1 auto;
}

.fp-nav__cta:hover {
    background: #ff4455;
}

.fp-nav__has-badge {
    display:inline-flex;
    align-items:center;
}

.fp-nav__lang {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.fp-nav__lang a {
    color: rgba(255, 255, 255, 0.46);
    text-decoration: none;
    transition: color 0.2s ease;
}

.fp-nav__lang a:hover {
    color: #fff;
}

.fp-nav__lang a.is-active {
    color: #fff;
}

.fp-nav__lang span {
    color: rgba(255, 255, 255, 0.22);
}

.fp-nav__burger {
    display: none;
}

.fp-nav__toggle::-webkit-details-marker {
    display: none;
}

.fp-nav__toggle::after {
    content: "\2630";
    font-size: 14px;
}

.fp-nav__burger[open] .fp-nav__toggle::after {
    content: "\2715";
}

.analysis-body {
    max-width:820px;
}

.analysis-body h3 {
    margin:32px 0 12px;
    font-size:clamp(16px,1.6vw,20px);
    font-weight:700;
    letter-spacing:-0.01em;
    text-transform:uppercase;
    color:#fff;
}

.video-facade {
    position:relative;
    display:block;
    width:100%;
    margin:22px 0 0;
    aspect-ratio:16/9;
    border-radius:18px;
    overflow:hidden;
    cursor:pointer;
    border:1px solid rgba(255,255,255,0.07);
    background:#000;
}

.video-facade iframe {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}

.video-facade:hover .video-facade__play {
    transform:translate(-50%,-50%) scale(1.08);
}

.video-facade:hover .video-facade__play svg {
    opacity:1;
}

.video-facade:hover .video-facade__poster {
    transform:scale(1.02);
    filter:brightness(0.85);
}

.video-facade__play {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:68px;
    height:48px;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
    transition:transform 0.2s ease;
}

.video-facade__play svg {
    display:block;
    width:100%;
    height:100%;
    filter:drop-shadow(0 2px 8px rgba(0,0,0,0.4));
    transition:opacity 0.2s ease;
    opacity:0.92;
}

.video-facade__poster {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 0.4s ease,filter 0.3s ease;
}
@media (max-width: 860px) {
    .fp-nav__inner {
        gap: 12px;
    }

    .fp-nav__links--desktop {
        display: none;
    }

    .fp-nav__spacer {
        display: none;
    }

    .fp-nav__cta--desktop {
        display: none;
    }

    .fp-nav__burger {
        display: block;
        margin-left: auto;
        position: relative;
    }

    .fp-nav__burger .fp-nav__links a {
        padding: 11px 12px;
        font-size: 14px;
        border-radius: 8px;
    }

    .fp-nav__burger .fp-nav__links a:hover {
        background: rgba(255, 255, 255, 0.06);
    }

    .fp-nav__burger .fp-nav__cta {
        margin-top: 6px;
        justify-content: center;
    }
}

@media (max-width:640px) {
    .video-facade {
        border-radius:14px;
    }

    .video-facade__play {
        width:54px;
        height:38px;
    }
}
