/* RGC motion layer styles. Nothing is hidden unless motion.js adds html.motion-ready. */
html.motion-ready [data-reveal]{opacity:0}
html[data-motion-tier="light"] [data-reveal]{transition:opacity .35s ease}
html[data-motion-tier="light"] [data-reveal].is-in{opacity:1}
html[data-motion-tier="full"] [data-reveal]{transform:translateY(28px)}
html[data-motion-tier="full"] [data-reveal].is-in{opacity:1;transform:none}

/* header tightens on scroll */
.site-header{transition:box-shadow .2s ease}
.site-header .bar{transition:height .2s ease}
.site-header.is-scrolled .bar{height:56px}
.site-header.is-scrolled{box-shadow:0 6px 20px rgba(0,0,0,.35)}

/* button hover / press (skipped for reduced motion) */
@media (prefers-reduced-motion:no-preference){
  .btn{transition:background .15s ease,transform .15s ease,box-shadow .15s ease}
  .btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.2)}
  .btn:active{transform:translateY(0) scale(.98);box-shadow:none}
}

/* photo lightbox */
.lb-trigger{cursor:zoom-in}
.lb-trigger:focus-visible{outline:3px solid #ffb59e;outline-offset:3px}
html.lb-open{overflow:hidden}
.lb{position:fixed;inset:0;z-index:100;background:rgba(8,8,10,.94);display:flex;align-items:center;justify-content:center;padding:56px 64px}
.lb[hidden]{display:none}
.lb-fig{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:12px}
.lb-img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;border-radius:8px;display:block}
.lb-cap{color:#d6dbe1;font-size:.95rem;text-align:center;max-width:70ch}
.lb-count{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#9aa3ad;font-size:.85rem}
.lb-btn{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-btn:hover{background:rgba(255,255,255,.25)}
.lb-btn:focus-visible{outline:3px solid #ffb59e;outline-offset:2px}
.lb-btn[hidden]{display:none}
.lb-close{top:14px;right:14px}
.lb-prev{left:12px;top:50%;transform:translateY(-50%)}
.lb-next{right:12px;top:50%;transform:translateY(-50%)}
@media(max-width:700px){.lb{padding:56px 8px 40px}.lb-prev{left:6px}.lb-next{right:6px}}
