/* Shared pieces for the scroll-effect variations (see assets/js/fx.js) */
html.lenis,html.lenis body{height:auto}
html.lenis.lenis-smooth,html.fx-on{scroll-behavior:auto!important}

/* scroll-linked words: dim → lit */
.w{opacity:calc(.16 + .84*var(--o,0))}
html:not(.fx-on) .w{opacity:1}

.fx-bar{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--gold);transform-origin:0 50%;transform:scaleX(0);z-index:90;pointer-events:none}

/* variation switcher — a review aid, not part of the site */
.fx-switch{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:95;display:flex;gap:4px;padding:5px;border-radius:999px;background:rgba(12,39,64,.92);backdrop-filter:blur(10px);box-shadow:0 14px 40px rgba(12,39,64,.35);font-size:12px;font-weight:650;white-space:nowrap}
.fx-switch a{color:rgba(195,214,230,.9);padding:8px 13px;border-radius:999px;transition:.2s}
.fx-switch a:hover{color:#fff}
.fx-switch a.on{background:var(--gold);color:var(--navy-deep)}
@media(max-width:620px){.fx-switch{bottom:10px;font-size:11px}.fx-switch a{padding:7px 9px}}

/* right-hand rail (variation C) */
.fx-rail{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:60;display:grid;gap:4px}
.fx-rail button{display:flex;align-items:center;justify-content:flex-end;gap:10px;background:none;border:0;padding:6px 0;cursor:pointer;color:var(--grey)}
.fx-rail span{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:translateX(6px);transition:.25s;white-space:nowrap}
.fx-rail i{width:9px;height:9px;border-radius:50%;border:1.5px solid currentColor;transition:.25s}
.fx-rail button:hover span,.fx-rail button.on span{opacity:1;transform:none}
.fx-rail button.on i{background:var(--gold);border-color:var(--gold);transform:scale(1.35)}
.fx-rail.dark button{color:rgba(195,214,230,.85)}
@media(max-width:1100px){.fx-rail{display:none}}
