/* Robert Benvin Legacy: gallery, lightbox, timeline, inline photos */
.rb-photo{margin:2rem 0}
.rb-photo img{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 10px 30px -14px rgba(20,40,60,.45)}
.rb-photo figcaption{font-size:.9rem;color:var(--rb-muted,#6b6459);margin-top:.6rem;font-style:italic;text-align:center}
.rb-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 1.75rem}
.rb-filters button{font:inherit;font-size:.9rem;border:1px solid var(--rb-line,#d9cfbf);background:transparent;color:var(--rb-ink,#1f2a33);padding:.45rem .95rem;border-radius:999px;cursor:pointer;transition:all .15s}
.rb-filters button span{opacity:.6;font-size:.8em;margin-left:.2em}
.rb-filters button:hover{border-color:var(--rb-clay,#b5532c);color:var(--rb-clay,#b5532c)}
.rb-filters button.is-active{background:var(--rb-navy,#14324a);border-color:var(--rb-navy,#14324a);color:#fff}
.rb-gallery{columns:3 240px;column-gap:1rem}
.rb-gallery-item{break-inside:avoid;margin:0 0 1rem;position:relative;overflow:hidden;border-radius:6px;background:var(--rb-sand-2,#efe7da)}
.rb-gallery-item img{display:block;width:100%;height:auto;transition:transform .4s ease}
.rb-gallery-item a:hover img,.rb-gallery-item a:focus img{transform:scale(1.035)}
.rb-gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .8rem .6rem;color:#fff;font-size:.85rem;line-height:1.3;background:linear-gradient(transparent,rgba(10,22,32,.78));opacity:0;transition:opacity .2s;pointer-events:none}
.rb-gallery-item:hover figcaption,.rb-gallery-item:focus-within figcaption{opacity:1}
@media (hover:none){.rb-gallery-item figcaption{opacity:1}}
.rb-gallery-item.is-hidden{display:none}
.rb-lb{position:fixed;inset:0;z-index:99999;background:rgba(8,16,24,.94);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:3.5rem 1rem 1.5rem}
.rb-lb[hidden]{display:none}
.rb-lb img{max-width:100%;max-height:calc(100vh - 8rem);object-fit:contain;border-radius:4px}
.rb-lb p{color:#f3ece0;margin:.9rem 0 0;font-size:1rem;text-align:center}
.rb-lb button{position:absolute;background:rgba(255,255,255,.08);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:1.6rem;line-height:1;cursor:pointer}
.rb-lb button:hover{background:rgba(255,255,255,.2)}
.rb-lb .rb-lb-close{top:1rem;right:1rem}
.rb-lb .rb-lb-prev{left:1rem;top:50%;transform:translateY(-50%)}
.rb-lb .rb-lb-next{right:1rem;top:50%;transform:translateY(-50%)}
.rb-lb .rb-lb-count{position:absolute;top:1.6rem;left:1.25rem;color:#cfc6b8;font-size:.85rem}
.rb-timeline{list-style:none;margin:2rem 0;padding:0 0 0 1.5rem;border-left:2px solid var(--rb-line,#d9cfbf)}
.rb-timeline li{position:relative;margin:0 0 1.4rem;padding-left:.75rem}
.rb-timeline li::before{content:"";position:absolute;left:-1.95rem;top:.4rem;width:12px;height:12px;border-radius:50%;background:var(--rb-clay,#b5532c);box-shadow:0 0 0 4px var(--rb-sand,#f7f2ea)}
.rb-timeline-year{font-family:var(--rb-serif,Georgia,serif);font-size:1.25rem;font-weight:600;color:var(--rb-navy,#14324a)}
.rb-timeline p{margin:.15rem 0 0}
