/* s05 range: dark gallery flight, dead stop in white light */
#s-range.z7{height:auto;padding:0;background:#030403;color:#e8e2d4;position:relative;--r5-white:0}
#s-range .r5-track{height:400vh;position:relative}
#s-range .r5-stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#030403}
#s-range .r5-gl{position:absolute;inset:0;width:100%;height:100%;display:block}
#s-range .r5-fx{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 75% 70% at 50% 48%,rgba(0,0,0,0) 45%,rgba(0,0,0,.55) 100%),
  linear-gradient(to bottom,rgba(3,4,3,.85) 0,rgba(3,4,3,0) 22%);}
#s-range .r5-fx::after{content:"";position:absolute;inset:-50%;opacity:calc(.07 * (1 - var(--r5-white)));mix-blend-mode:screen;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1.4 -0.3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:r5grain 1.2s steps(6) infinite}
#s-range:not(.z7-on) .r5-fx::after{animation-play-state:paused}
@keyframes r5grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

#s-range .r5-labs{position:absolute;inset:0;pointer-events:none;overflow:hidden}
#s-range .r5-lab{position:absolute;left:0;top:0;opacity:0;white-space:nowrap;font:700 10.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#c9a84c;will-change:transform,opacity}
#s-range .r5-lab b{font-weight:800;color:#dfc474;margin-right:.9em}
#s-range .r5-lab-r{translate:-100% 0}

#s-range .r5-head{position:absolute;z-index:3;left:clamp(16px,3vw,40px);top:calc(var(--hdr) + var(--tabs) + 26px);display:flex;align-items:flex-end;gap:18px;pointer-events:none}
#s-range .r5-odo{font-family:var(--serif);font-size:clamp(64px,8vw,120px);line-height:.82;color:#c9a84c;letter-spacing:-.02em}
#s-range .r5-eye{font:800 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#a89e8a;margin-bottom:10px}
#s-range .r5-h{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.6vw,40px);color:#e8e2d4;line-height:1}

#s-range .r5-hud{position:absolute;z-index:3;left:190px;right:clamp(16px,3vw,40px);bottom:28px;display:flex;align-items:center;gap:18px;font:700 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#a89e8a;pointer-events:none}
#s-range .r5-count b{color:#dfc474;font-weight:800}
#s-range .r5-bar{flex:1;max-width:320px;height:1px;background:rgba(232,226,212,.16);overflow:hidden}
#s-range .r5-bar i{display:block;height:100%;width:100%;background:#c9a84c;transform-origin:0 50%;transform:scaleX(0)}
#s-range .r5-hint{margin-left:auto}

#s-range .r5-stop{position:absolute;z-index:4;left:16px;right:16px;bottom:clamp(32px,6vh,72px);text-align:center;opacity:0;pointer-events:none}
#s-range .r5-stop.on,#s-range .r5-stop:focus-within{pointer-events:auto;opacity:1}
#s-range .r5-tag{position:absolute;z-index:4;left:50%;top:0;margin:0;max-width:none;white-space:nowrap;font:800 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#f4f1ea;opacity:0;pointer-events:none}
#s-range .r5-tag b{color:#fff;margin-right:.9em}
#s-range .r5-line{font-family:var(--serif);font-size:clamp(34px,4.6vw,68px);line-height:1.02;color:#f6f3ec;margin:0 auto 26px;max-width:none;letter-spacing:-.01em;text-shadow:0 2px 30px rgba(0,0,0,.6)}
#s-range .r5-cta{display:inline-flex;align-items:center;gap:10px;font:700 15px/1 var(--sans);padding:16px 26px;border-radius:999px;background:#f4f1ea;color:#0a1a0a;transition:transform .25s,background .25s}
#s-range .r5-cta:hover{transform:translateY(-2px);background:#fff}
#s-range .r5-cta:focus-visible{outline:2px solid #dfc474;outline-offset:4px}
#s-range .r5-cta svg{width:18px;height:18px}

#s-range .r5-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* reduced motion: one composed still, no pin */
#s-range.r5-rm .r5-track{height:auto}
#s-range.r5-rm .r5-stage{position:relative;height:100vh;min-height:620px}
#s-range.r5-rm .r5-fx::after{animation:none}

/* no WebGL: a plain gallery grid */
#s-range.r5-flat .r5-track{height:auto}
#s-range.r5-flat .r5-stage{position:relative;height:auto;padding:calc(var(--hdr) + var(--tabs) + 150px) 16px 260px}
#s-range.r5-flat .r5-gl,#s-range.r5-flat .r5-hud{display:none}
#s-range .r5-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;max-width:1240px;margin:0 auto}
#s-range .r5-grid img{width:100%;aspect-ratio:16/9;object-fit:cover}
#s-range .r5-grid figcaption{font:700 10.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#c9a84c;padding:10px 0}

@media (max-width:760px){
  #s-range .r5-track{height:340vh}
  #s-range .r5-stage{height:100svh}
  #s-range .r5-head{gap:12px;top:calc(var(--hdr) + var(--tabs) + 18px)}
  #s-range .r5-odo{font-size:64px}
  #s-range .r5-h{font-size:24px}
  #s-range .r5-lab{font-size:9px;letter-spacing:.16em}
  #s-range .r5-hint{display:none}
  #s-range .r5-bar{max-width:none}
  #s-range .r5-line{font-size:34px}
  #s-range .r5-stop{bottom:104px}
  #s-range .r5-line span{display:block}
  #s-range .r5-hud{left:170px;bottom:30px}
}

/* Joe 31 Oct: the gallery flies with no text at all */
#s-range .r5-labs, #s-range .r5-head, #s-range .r5-hud, #s-range .r5-tag, #s-range .r5-stop{display:none !important}
