/* borisblum.com motion layer, v1 2026-10-02. Content is fully visible without JS; motion only when html.js-motion is set. */
html.js-motion .rv{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rv-d,0s)}
html.js-motion .rv.in{opacity:1;transform:none}
html.js-motion .hero h1,html.js-motion .hero .eyebrow,html.js-motion .hero p,html.js-motion .hero .btn,html.js-motion .hero img{animation:bbUp 1.1s cubic-bezier(.2,.7,.2,1) both}
html.js-motion .hero .eyebrow{animation-delay:.05s}html.js-motion .hero h1{animation-delay:.18s}
html.js-motion .hero p{animation-delay:.38s}html.js-motion .hero .btn{animation-delay:.55s}html.js-motion .hero img{animation-delay:.25s}
@keyframes bbUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.pod,.btn,.facet,.card{transition:transform .35s ease,box-shadow .35s ease}
.pod:hover,.facet:hover,.card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.14)}
/* photo spotlight: one photograph at a time, slow cross-fade */
.spot{position:relative;max-width:980px;margin:0 auto}
.spot .stage{position:relative;aspect-ratio:16/10;overflow:hidden;background:#14171C;border:1px solid var(--line,#e6e1d8)}
.spot .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
.spot .slide.on{opacity:1}
.spot .slide .bg{position:absolute;inset:-30px;background-size:cover;background-position:center;filter:blur(28px) brightness(.45) saturate(.8)}
.spot .slide img{position:relative;width:100%;height:100%;object-fit:contain;display:block}
.spot .slide.on img{animation:bbKen 7s ease-out both}
@keyframes bbKen{from{transform:scale(1.035)}to{transform:scale(1)}}
.spot .cap{font-family:var(--serif,Georgia,serif);font-style:italic;color:var(--muted,#6b6b6b);font-size:17px;margin:16px 0 0;min-height:1.4em;transition:opacity .6s}
.spot .dots{display:flex;justify-content:center;gap:10px;margin-top:12px}
.spot .dots button{width:9px;height:9px;border-radius:50%;border:1px solid #9a8f80;background:transparent;padding:0;cursor:pointer}
.spot .dots button.on{background:#B0282A;border-color:#B0282A}
@media (prefers-reduced-motion:reduce){
  html.js-motion .rv{opacity:1!important;transform:none!important;transition:none}
  html.js-motion .hero *{animation:none!important}
  .spot .slide{transition:none}.spot .slide.on img{animation:none}
}
