/* =====================================================================
   JP Associates: futuristic layer (homepage + shared effects)
   Colours come from the logo via the tokens in style.css, and every
   section follows light / dark mode. Pure CSS, no libraries.
   All motion is disabled for prefers-reduced-motion.
   ===================================================================== */
@property --a{syntax:"<angle>";initial-value:0deg;inherits:false}

/* ---------- Global: progress bar, glass header ---------- */
.progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:200;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--orange),var(--green-hi),var(--green));box-shadow:0 0 12px rgba(61,220,132,.5)}
.site-header{-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);transition:box-shadow .3s,background .3s}
.site-header .brand img{transition:height .3s}
.site-header.scrolled{box-shadow:0 10px 30px -18px rgba(0,0,0,.55)}
.site-header.scrolled .brand img{height:68px}
.primary-nav a{position:relative}
.primary-nav a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:linear-gradient(90deg,var(--orange),var(--green));transform:scaleX(0);transform-origin:0 50%;transition:transform .3s}
.primary-nav a:hover::after,.primary-nav .current-menu-item>a::after{transform:scaleX(1)}
.primary-nav a:hover,.primary-nav .current-menu-item>a{border-bottom-color:transparent}
.primary-nav .menu-cta>a::after{display:none}

/* inner-page banner gets a live grid too */
.page-hero{position:relative;overflow:hidden;isolation:isolate}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(60% 120% at 85% 0%,rgba(61,220,132,.16),transparent 60%),
  radial-gradient(50% 100% at 0% 100%,rgba(240,124,0,.2),transparent 60%),
  repeating-linear-gradient(0deg,transparent 0 47px,rgba(255,255,255,.045) 47px 48px),
  repeating-linear-gradient(90deg,transparent 0 47px,rgba(255,255,255,.045) 47px 48px);
  animation:gridmove 22s linear infinite}
@keyframes gridmove{to{background-position:0 0,0 0,0 48px,48px 0}}

/* ---------- Reveal on scroll (only hidden when JS is on) ---------- */
.js .reveal{opacity:0;transform:translateY(30px) scale(.985);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 110ms)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal.in[data-tilt]{transition:transform .25s ease-out,opacity .8s,box-shadow .3s;transition-delay:0s}

/* ---------- Cards: glass in dark, clean white in light ---------- */
.glass{background:var(--card);border:1px solid var(--card-line);border-radius:6px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3)}
.glow{position:relative;overflow:hidden}
.glow::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(61,220,132,.2),rgba(240,124,0,.1) 40%,transparent 65%)}
:root[data-theme="light"] .glow::after{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(0,132,48,.12),rgba(240,124,0,.08) 40%,transparent 65%)}
.glow:hover::after{opacity:1}
.spin-border{position:relative}
.spin-border::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;background:conic-gradient(from var(--a),transparent 0 62%,var(--green-hi) 78%,var(--orange) 90%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 6s linear infinite;z-index:1}
@keyframes spin{to{--a:360deg}}
[data-tilt]{transform-style:preserve-3d;transition:transform .25s ease-out,opacity .8s,box-shadow .3s;will-change:transform}

/* ---------- Buttons ---------- */
.btn-glow{position:relative;animation:pulse 2.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(240,124,0,.5)}70%{box-shadow:0 0 0 18px rgba(240,124,0,0)}100%{box-shadow:0 0 0 0 rgba(240,124,0,0)}}
.btn-primary{background:linear-gradient(135deg,var(--orange-hi),var(--orange))}
.btn-primary:hover{background:linear-gradient(135deg,#ffb04a,var(--orange-hi));transform:translateY(-2px)}
.arrow-link{display:inline-flex;gap:.6em;align-items:center;font:600 1rem var(--body);color:var(--link);text-decoration:none;margin-top:6px}
.arrow-link span{transition:transform .25s}
.arrow-link:hover span{transform:translateX(6px)}
.arrow-link:hover{color:var(--link-hover)}

/* ---------- Section scaffolding ---------- */
.sec{position:relative;padding-block:clamp(70px,9vw,130px);overflow:hidden;isolation:isolate;color:var(--text)}
.dark-sec{background:var(--bg)}
.deep-sec{background:var(--bg-2)}
.light-sec{background:var(--bg-3)}
.dark-sec::before,.deep-sec::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(40% 50% at 100% 0%,var(--glow-1),transparent 70%),
  radial-gradient(40% 50% at 0% 100%,var(--glow-2),transparent 70%)}
.sec h2{color:var(--heading)}
.sec-head{max-width:46rem;margin-bottom:56px}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head .bar{display:block;width:72px;height:4px;margin:18px auto 0;background:linear-gradient(90deg,var(--orange),var(--green));border-radius:4px;position:relative;overflow:hidden}
.sec-head .bar::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff,transparent);animation:scan 2.4s linear infinite}
@keyframes scan{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.center-cta{text-align:center;margin:48px 0 0}
.big-p{font-size:1.15rem;line-height:1.75;color:var(--text)}

/* ---------- Hero (dark in both modes) ---------- */
.hero2{position:relative;min-height:min(92vh,880px);display:flex;align-items:center;background:var(--d0);color:#fff;overflow:hidden;isolation:isolate}
.hero2-bg{position:absolute;inset:-4%;z-index:-5;background-size:cover;background-position:center;opacity:.34;filter:saturate(.8) contrast(1.05);animation:kenburns 28s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.12) translate(-1.5%,1%)}}
.hero2::before{content:"";position:absolute;inset:0;z-index:-4;background:
  linear-gradient(100deg,rgba(7,13,10,.96) 28%,rgba(7,13,10,.55) 70%,rgba(7,13,10,.82) 100%),
  radial-gradient(70% 90% at 90% 10%,rgba(61,220,132,.16),transparent 60%)}
.hero2-grid{position:absolute;inset:-60px 0 0 0;z-index:-3;opacity:.7;background:
  repeating-linear-gradient(0deg,transparent 0 59px,rgba(255,255,255,.06) 59px 60px),
  repeating-linear-gradient(90deg,transparent 0 59px,rgba(255,255,255,.06) 59px 60px);
  -webkit-mask:radial-gradient(80% 90% at 70% 40%,#000 20%,transparent 75%);mask:radial-gradient(80% 90% at 70% 40%,#000 20%,transparent 75%);
  animation:gridfloat 14s linear infinite}
@keyframes gridfloat{to{transform:translateY(60px)}}
.orb{position:absolute;border-radius:50%;filter:blur(70px);z-index:-3;pointer-events:none}
.orb-a{width:42vw;height:42vw;max-width:620px;max-height:620px;right:-8%;top:-12%;background:radial-gradient(circle,rgba(0,150,60,.5),transparent 65%);animation:float 12s ease-in-out infinite}
.orb-b{width:34vw;height:34vw;max-width:520px;max-height:520px;left:-10%;bottom:-18%;background:radial-gradient(circle,rgba(240,124,0,.42),transparent 65%);animation:float 15s ease-in-out infinite reverse}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(-40px,36px)}}
#hero-net{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.circuit{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:.75;pointer-events:none}
.circuit path{stroke:rgba(61,220,132,.26);stroke-width:1.5;stroke-dasharray:6 14}
.circuit path.c1,.circuit path.c2,.circuit path.c3{animation:dash 3.5s linear infinite}
.circuit path.c2{animation-duration:5s;animation-direction:reverse;stroke:rgba(240,124,0,.32)}
.circuit path.c3{animation-duration:7s}
@keyframes dash{to{stroke-dashoffset:-200}}
.circuit .node{fill:var(--green-hi);filter:drop-shadow(0 0 6px var(--green-hi));animation:blink 2.4s ease-in-out infinite}
.circuit .node:nth-of-type(2n){animation-delay:.8s;fill:var(--orange);filter:drop-shadow(0 0 6px var(--orange))}
.circuit .node:nth-of-type(3n){animation-delay:1.5s}
@keyframes blink{0%,100%{opacity:.25;r:3}50%{opacity:1;r:6}}

.hero2-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:56px;align-items:center;padding-block:clamp(70px,10vw,130px)}
.chip{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid var(--d-line);background:rgba(255,255,255,.06);border-radius:999px;font:600 .75rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#d7e3db;margin-bottom:26px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.chip .dot{width:8px;height:8px;border-radius:50%;background:var(--green-hi);box-shadow:0 0 0 0 rgba(61,220,132,.7);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.hero2 h1{color:#fff;font-size:clamp(2.8rem,6.4vw,5.4rem);line-height:1;margin-bottom:.3em;text-shadow:0 0 40px rgba(61,220,132,.2)}
.hero2 h1 em{font-style:normal;background:linear-gradient(90deg,var(--orange) 0 52%,var(--green-hi) 52% 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.rot-line{font:600 1.1rem var(--head);letter-spacing:.2em;text-transform:uppercase;color:var(--d-text2);margin-bottom:22px}
.rotator{display:inline-block;min-width:11ch;color:var(--green-hi);text-shadow:0 0 18px rgba(61,220,132,.55);transition:opacity .35s,transform .35s;border-bottom:2px solid var(--orange);padding-bottom:2px}
.rotator.swap{opacity:0;transform:translateY(-10px)}
.hero2 .lede{font-size:1.15rem;color:var(--d-text);max-width:40em;margin-bottom:34px}
.hero2 .btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(6px)}
.hero2 .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1);color:#fff}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-note{margin-top:20px;font-size:.9rem;color:var(--d-text2)}
.hero2-card{padding:32px 30px;position:relative;background:rgba(255,255,255,.06);border-color:var(--d-line);box-shadow:none}
.hero2-card h2{font-size:1.9rem;color:#fff;margin:6px 0 16px}
.card-tag{display:inline-block;font:600 .7rem var(--body);letter-spacing:.2em;color:var(--green-hi);border:1px solid rgba(61,220,132,.45);padding:5px 10px;border-radius:3px}
.tick{list-style:none;margin:0 0 22px;padding:0}
.tick li{position:relative;padding:8px 0 8px 28px;border-bottom:1px solid var(--line);font-size:.97rem;color:var(--text)}
.tick li:last-child{border-bottom:0}
.tick li::before{content:"";position:absolute;left:2px;top:15px;width:13px;height:7px;border-left:3px solid var(--orange);border-bottom:3px solid var(--orange);transform:rotate(-45deg)}
.hero2 .tick li{color:var(--d-text);border-bottom-color:rgba(255,255,255,.1)}

/* ---------- Stats ---------- */
.stats{position:relative;z-index:3;margin-top:-64px;padding-bottom:20px;background:linear-gradient(180deg,transparent 64px,var(--bg) 64px)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{padding:28px 24px;background:var(--stat-bg);border-top:3px solid var(--orange)}
.stat:nth-child(2n){border-top-color:var(--green)}
.stat strong{display:block;font:700 2.3rem/1 var(--head);text-transform:uppercase;color:var(--heading);letter-spacing:.01em}
.stat small{display:block;margin-top:10px;color:var(--text-2);font-size:.9rem;line-height:1.45}
.trust-extra-line{padding-top:18px;color:var(--text-2);font-size:.9rem}
.trust-extra-line b{color:var(--heading);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;margin-right:10px}

/* ---------- Company + tiles ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.two-col h2{font-size:clamp(2rem,4.2vw,3.4rem)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:72px}
.tile{display:block;position:relative;aspect-ratio:4/3.1;border-radius:6px;overflow:hidden;color:#fff;text-decoration:none;border:1px solid var(--card-line);background:var(--bg-3);box-shadow:var(--shadow)}
.tile-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s;filter:saturate(.9)}
.tile:hover .tile-img{transform:scale(1.1);filter:saturate(1.1)}
.tile::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,13,10,0) 25%,rgba(7,13,10,.92) 100%)}
.tile-body{position:absolute;left:0;right:0;bottom:0;padding:26px;z-index:2;display:grid;gap:4px}
.tile-body small{font:600 .72rem var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--green-hi)}
.tile-body strong{font:700 1.9rem/1.05 var(--head);text-transform:uppercase;color:#fff}
.tile-body em{font-style:normal;font-weight:600;font-size:.92rem;color:var(--orange-hi);opacity:0;transform:translateY(8px);transition:.3s}
.tile:hover .tile-body em{opacity:1;transform:none}
.tile::after{z-index:3}

/* ---------- Areas ---------- */
.areas{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.area{padding:26px 22px;min-height:132px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;transition:transform .3s,border-color .3s}
.area:hover{transform:translateY(-6px);border-color:var(--green)}
.area .num{font:700 1rem var(--head);letter-spacing:.2em;color:var(--orange)}
.area-name{font:700 1.35rem/1.15 var(--head);text-transform:uppercase;color:var(--heading)}

/* ---------- EPC ---------- */
.epc{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.epc-card{padding:36px 30px}
.epc-ico{width:62px;height:62px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,rgba(240,124,0,.2),rgba(0,132,48,.2));color:var(--orange);margin-bottom:20px;box-shadow:inset 0 0 0 1px var(--card-line)}
.epc-ico svg{width:32px;height:32px}
.epc-card h3{color:var(--heading);font-size:1.9rem;letter-spacing:.04em}
.epc-card .tick{margin:0}

/* ---------- Timeline ---------- */
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);position:relative;counter-reset:s}
.timeline::before{content:"";position:absolute;left:0;right:0;top:11px;height:2px;background:var(--line)}
.timeline::after{content:"";position:absolute;left:0;top:11px;height:2px;width:100%;background:linear-gradient(90deg,var(--orange),var(--green));transform:scaleX(0);transform-origin:0 50%;transition:transform 2s cubic-bezier(.3,.7,.2,1) .2s}
.timeline.in::after{transform:scaleX(1)}
.timeline li{counter-increment:s;padding:44px 18px 0 0;position:relative}
.timeline li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--bg-2);border:3px solid var(--orange);z-index:2;box-shadow:0 0 12px rgba(240,124,0,.55)}
.timeline li b{display:block;font:700 1.45rem var(--head);text-transform:uppercase;color:var(--heading);margin-bottom:4px}
.timeline li b::before{content:"0" counter(s);display:block;font-size:.85rem;letter-spacing:.2em;color:var(--link);margin-bottom:2px}
.timeline li span{color:var(--text-2);font-size:.95rem}

/* ---------- Clients marquee ---------- */
.marquee{display:flex;overflow:hidden;margin-top:8px;padding-block:14px;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;flex:none;gap:22px;margin:0;padding:0 11px;list-style:none;min-width:100%;justify-content:space-around;animation:marquee 55s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-100%)}}
.marquee li{flex:none;width:190px;height:104px;background:#fff;border:1px solid var(--card-line);border-radius:6px;display:grid;place-items:center;padding:14px;transition:transform .3s,box-shadow .3s}
.marquee li:hover{transform:translateY(-6px);box-shadow:0 18px 30px -18px rgba(0,0,0,.5)}
.marquee img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1);opacity:.75;transition:.3s}
.marquee li:hover img{filter:none;opacity:1}

/* ---------- Projects bento ---------- */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:16px;grid-auto-flow:dense}
.bento-item{position:relative;overflow:hidden;border-radius:6px;border:1px solid var(--card-line);display:block;background:var(--bg-3)}
.bento-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s;filter:saturate(.9)}
.bento-item:hover img{transform:scale(1.12);filter:saturate(1.1)}
.bento-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,13,10,.9));opacity:0;transition:opacity .4s}
.bento-item:hover::after{opacity:1}
.bento-cap{position:absolute;left:18px;bottom:14px;z-index:2;font:600 .9rem var(--body);color:#fff;opacity:0;transform:translateY(10px);transition:.35s}
.bento-item:hover .bento-cap{opacity:1;transform:none}
.bento .b0{grid-column:span 2;grid-row:span 2}
.bento .b3{grid-row:span 2}

/* ---------- Contact ---------- */
.contact-sec .enquiry{border-radius:6px;box-shadow:var(--shadow),0 0 60px -20px var(--glow-1)}

/* ---------- Footer polish ---------- */
.footer-bar{background:linear-gradient(90deg,var(--orange),var(--orange-hi) 40%,var(--green-hi) 60%,var(--green));background-size:200% 100%;animation:shine 8s linear infinite}
@keyframes shine{to{background-position:-200% 0}}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .hero2-inner,.two-col{grid-template-columns:1fr}
  .hero2-card{max-width:520px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .tiles,.epc{grid-template-columns:1fr}
  .areas{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:1fr;gap:22px}
  .timeline::before,.timeline::after{left:8px;right:auto;top:0;bottom:0;width:2px;height:auto;transform-origin:50% 0}
  .timeline::after{height:100%;transform:scaleY(0)}
  .timeline.in::after{transform:scaleY(1)}
  .timeline li{padding:0 0 0 44px}
  .timeline li::before{top:2px}
  .bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}
  .bento .b0{grid-column:span 2}
  .bento .b3{grid-row:auto;grid-column:auto}
  .bento .b7{grid-column:span 2}
}
@media (max-width:600px){
  .hero2{min-height:auto}
  .stats{margin-top:-30px;background:linear-gradient(180deg,transparent 30px,var(--bg) 30px)}
  .stats-grid{grid-template-columns:1fr}
  .areas{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr 1fr}
  .marquee li{width:150px;height:84px}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1!important;transform:none!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .marquee{overflow-x:auto}
  .timeline::after{transform:none}
}

/* ---------- Photo lightbox ---------- */
.jp-lb{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:56px 12px 48px;background:rgba(4,9,6,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .2s}
.jp-lb[hidden]{display:none}
.jp-lb.in{opacity:1}
.jp-lb-fig{margin:0;min-width:0;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%}
.jp-lb-fig img{max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;border-radius:3px;box-shadow:0 30px 80px -20px #000;transition:opacity .2s,transform .25s;transform:scale(.97)}
.jp-lb.in .jp-lb-fig img{transform:none}
.jp-lb.loading .jp-lb-fig img{opacity:.25}
.jp-lb figcaption{color:#c5d1c9;font:500 .95rem var(--body);text-align:center;min-height:1.2em}
.jp-lb-nav,.jp-lb-close{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.2);cursor:pointer;line-height:1;transition:background .2s,border-color .2s,transform .2s}
.jp-lb-nav{width:52px;height:52px;border-radius:50%;font-size:2rem;padding:0 0 4px}
.jp-lb-nav:hover,.jp-lb-close:hover{background:var(--orange);border-color:var(--orange);color:var(--on-orange)}
.jp-lb-nav[hidden]{display:none}
.jp-lb-close{position:absolute;right:16px;top:12px;width:44px;height:44px;border-radius:50%;font-size:1.8rem;padding:0 0 3px}
.jp-lb-count{position:absolute;left:0;right:0;bottom:14px;text-align:center;font:600 .8rem var(--body);letter-spacing:.18em;color:#93a59a}
.jp-lb-open{overflow:hidden}
@media (max-width:700px){
  .jp-lb{grid-template-columns:1fr;padding:56px 8px 56px}
  .jp-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;font-size:1.7rem;background:rgba(0,0,0,.5)}
  .jp-lb-prev{left:6px}
  .jp-lb-next{right:6px}
}
@media (prefers-reduced-motion:reduce){.jp-lb,.jp-lb-fig img{transition:none}}
