/* Build 37: consistent Roving Bricks interior pages, event/photo data layout. */
.rbh-interior:has(.rbh-collection-page){background:#050505;padding:0 0 30px;}
.rbh-interior .rbh-play-page .rbh-play-panel {background:#18191b!important;background-image:none!important;}
.rbh-page .rbh-activities, .rbh-page .rbh-clients {background-color:#18191b!important;background-image:none!important;}

/* Separate exact text copies: ONE opaque, smooth diagonal shadow silhouette.
   The earlier many-layer text-shadow rule is fully disabled. Identical markup
   on both layers keeps extra tracking after capital I in perfect register. */
.rbh-interior .rbh-play-page .rbh-hero h1 {
  filter:none!important;-webkit-filter:none!important;
  overflow:visible!important;
}
.rbh-interior .rbh-play-page .rbh-hero h1 .rbh-play-line {
  display:block!important;position:relative!important;isolation:isolate!important;
  text-shadow:none!important;filter:none!important;-webkit-filter:none!important;
  -webkit-text-stroke:0!important;paint-order:normal!important;
}
.rbh-interior .rbh-play-page .rbh-hero h1 .rbh-play-line .rbh-shadow-copy,
.rbh-interior .rbh-play-page .rbh-hero h1 .rbh-play-line .rbh-foreground-copy {
  display:inline-block;white-space:nowrap;font:inherit;letter-spacing:inherit;
  text-shadow:none!important;filter:none!important;-webkit-filter:none!important;
}
.rbh-interior .rbh-play-page .rbh-hero h1 .rbh-play-line .rbh-shadow-copy {
  position:absolute;left:0;top:0;z-index:-1;pointer-events:none;
  color:#050505!important;-webkit-text-fill-color:#050505!important;
  -webkit-text-stroke:3px #050505!important;
  transform:translate(5px,6px);paint-order:stroke fill;
}
.rbh-interior .rbh-play-page .rbh-hero h1 .rbh-play-line .rbh-foreground-copy {
  position:relative;z-index:1;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  -webkit-text-stroke:2px #050505!important;paint-order:stroke fill;
}
.rbh-interior .rbh-play-page .rbh-hero h1 .rbh-play-line-red .rbh-foreground-copy {
  color:#f22031!important;-webkit-text-fill-color:#f22031!important;
}
@media(max-width:700px){
 .rbh-interior .rbh-play-page .rbh-hero h1 .rbh-play-line .rbh-shadow-copy {transform:translate(3px,4px);-webkit-text-stroke:2px #050505!important;}
 .rbh-interior .rbh-play-page .rbh-hero h1 .rbh-play-line .rbh-foreground-copy {-webkit-text-stroke:1.35px #050505!important;}
}
/* Event and gallery heroes follow the same compact yellow greebling banner. */
.rbh-interior .rbh-collection-page .rbh-hero {margin-bottom:16px;}
.rbh-interior .rbh-collection-page .rbh-play-panel {margin-bottom:13px;}
.rbh-interior .rbh-collection-page .rbh-play-panel > p {font-size:clamp(15px,1.55vw,18px);line-height:1.5;color:#e6e7e9;}

/* Distinct carousel per Upcoming / Previous Events, same button language as site. */
.rbh-event-carousel {position:relative;min-width:0;margin-top:12px;}
.rbh-event-track {display:flex;align-items:stretch;gap:14px;overflow-x:auto;overflow-y:hidden;
 scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;
 touch-action:pan-x pan-y;overscroll-behavior-x:contain;min-width:0;padding:5px 4px 8px;}
.rbh-event-track::-webkit-scrollbar {display:none;}
.rbh-event-card {flex:0 0 clamp(275px,34%,375px);background:#222327;border:1px solid #42454b;
 border-radius:18px;scroll-snap-align:start;overflow:hidden;display:flex;flex-direction:column;
 box-shadow:0 2px 0 #090909;min-width:0;}
.rbh-event-photo {height:185px;display:block;overflow:hidden;border-bottom:2px solid #ffe400;}
.rbh-event-photo img {width:100%;height:100%;display:block;object-fit:cover;transition:transform .2s ease;}
.rbh-event-photo:hover img {transform:scale(1.025);}
.rbh-event-copy {flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:16px 16px 18px;}
.rbh-event-copy h3 {font:italic 900 clamp(21px,2.25vw,28px)/1.08 var(--display);
 text-transform:uppercase;color:#ffe400;margin:0;}
.rbh-event-copy time {font:800 15px/1.3 Arial,sans-serif;color:#fff;}
.rbh-event-venue {font:400 14px/1.4 Arial,sans-serif;color:#e4e5e7;margin:0;}
.rbh-event-context {font:400 11px/1.3 Arial,sans-serif;color:#bbbfc4;}
.rbh-event-link,.rbh-event-button {display:inline-flex;align-items:center;gap:12px;justify-content:center;
 font:italic 900 16px/1.1 var(--display);text-decoration:none;background:#ffe400;color:#080808!important;
 padding:11px 17px;border-radius:999px;margin-top:auto;}
.rbh-event-button {margin-top:12px;}
.rbh-event-link:hover,.rbh-event-button:hover {background:#fff1a0;}
.rbh-event-arrow {position:absolute;top:43%;transform:translateY(-50%);z-index:3;
 background:transparent;border:0;color:#ffe400;cursor:pointer;font:bold 38px/1 Arial,sans-serif;
 filter:drop-shadow(0 0 2px #000) drop-shadow(1px 1px 0 #000);
 width:34px;height:55px;display:grid;place-items:center;}
.rbh-event-prev {left:-15px;}.rbh-event-next {right:-15px;}
.rbh-event-arrow:disabled {opacity:0;pointer-events:none;}
.rbh-event-arrow:focus-visible {outline:2px solid #ffe400;outline-offset:2px;border-radius:8px;}
.rbh-event-empty {margin:12px 0 0;color:#d7d9dd;font-size:16px;line-height:1.4;}
.rbh-event-gallery-section .rbh-event-photo-track {gap:12px;}
.rbh-event-photo-card {flex:0 0 clamp(275px,43%,480px);scroll-snap-align:start;min-width:0;
 margin:0;border-radius:16px;overflow:hidden;border:1px solid #44464b;background:#222327;}
.rbh-event-gallery-photo {display:block;width:100%;border:0;padding:0;background:#101010;cursor:zoom-in;}
.rbh-event-gallery-photo img {display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border:4px solid #ffe400;border-radius:13px;}
.rbh-event-photo-card figcaption {padding:14px;color:#f2f2f2;font:400 15px/1.5 Arial,sans-serif;text-align:center;}
.rbh-event-date strong {color:#ffe400;}
.rbh-representative-note {font-size:13px!important;color:#aeb2b9!important;}
.rbh-connected-mosaic {display:flex;gap:15px;background:#222327;border:1px solid #44464b;border-radius:16px;padding:12px;
 color:#e7e7e7;text-decoration:none;align-items:center;max-width:730px;}
.rbh-connected-mosaic img {width:34%;max-width:210px;aspect-ratio:4/3;object-fit:cover;border-radius:11px;border:2px solid #ffe400;}
.rbh-connected-mosaic span {flex:1;display:flex;flex-direction:column;gap:7px;}
.rbh-connected-mosaic strong {font:italic 900 21px/1.1 var(--display);text-transform:uppercase;color:#ffe400;}
.rbh-connected-mosaic small {font-size:13px;line-height:1.45;color:#ececec;}
.rbh-connected-mosaic b {font-size:14px;color:#ffe400;}
.rbh-return-link {width:min(1180px,calc(100% - 24px));margin:8px auto 15px;}
.rbh-return-link a {color:#ffe400;text-decoration:none;font-weight:800;}

/* One public photo library. Filters operate on cards in place, with no upload
   duplication; photos can belong to one event and multiple site categories. */
.rbh-gallery-intro {margin-top:14px;}
.rbh-gallery-controls {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:20px 0 12px;}
.rbh-gallery-controls label {display:flex;flex-direction:column;gap:6px;color:#ffe400;font:800 13px/1.3 Arial,sans-serif;min-width:0;}
.rbh-gallery-controls select {min-width:0;width:100%;color:#f7f7f7;background:#292a2f;border:1px solid #50525a;border-radius:10px;
 padding:11px 27px 11px 10px;font:500 13px/1.25 Arial,sans-serif;}
.rbh-gallery-controls select:focus-visible {outline:2px solid #ffe400;outline-offset:2px;}
.rbh-gallery-summary {margin:10px 0 17px;color:#c8cacf;font-size:13px;}
.rbh-gallery-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.rbh-gallery-grid .rbh-library-item {margin:0;min-width:0;background:#222327;border:1px solid #41444b;
 border-radius:15px;overflow:hidden;display:flex;flex-direction:column;}
.rbh-library-item[hidden] {display:none!important;}
.rbh-library-item button {display:block;width:100%;padding:0;border:0;background:#0b0b0b;cursor:zoom-in;}
.rbh-library-item img {width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-bottom:2px solid #ffe400;}
.rbh-library-item figcaption {padding:12px 11px;color:#ebebef;line-height:1.4;font-size:13px;flex:1;}
.rbh-gallery-footnote {font-size:12px!important;color:#afb2b8!important;margin-top:17px;}
.rbh-gallery-empty {color:#eee;margin:16px 0;}
@media(max-width:900px){
 .rbh-gallery-controls {grid-template-columns:repeat(2,minmax(0,1fr));}
 .rbh-gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .rbh-event-card {flex-basis:67%;}
}
@media(max-width:700px){
 .rbh-interior .rbh-collection-page .rbh-hero {margin-bottom:9px;}
 .rbh-event-track {gap:10px;padding:4px 1px 8px;}
 .rbh-event-card {flex-basis:82%;border-radius:16px;}
 .rbh-event-photo {height:160px;}
 .rbh-event-copy {padding:13px;gap:7px;}
 .rbh-event-copy h3 {font-size:22px;}
 .rbh-event-prev {left:-12px;}.rbh-event-next {right:-12px;}
 .rbh-event-arrow {font-size:32px;width:29px;}
 .rbh-event-photo-card {flex-basis:88%;}
 .rbh-gallery-controls {gap:9px;}
 .rbh-gallery-controls label {font-size:12px;}
 .rbh-gallery-controls select {padding:10px 7px;font-size:12px;}
 .rbh-gallery-grid {gap:9px;}
 .rbh-library-item figcaption {padding:8px;font-size:12px;}
 .rbh-connected-mosaic {padding:10px;gap:11px;}
 .rbh-connected-mosaic strong {font-size:17px;}
 .rbh-connected-mosaic small {font-size:12px;}
}
@media(max-width:370px){.rbh-gallery-controls {grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.rbh-event-photo img {transition:none;}}

/* Build 37: reliable client logos on Mobile Safari. The offscreen cloned
   logos were lazy-loaded while their parent was being translated, leaving
   occasional blank gaps; moving a masked layer also triggers WebKit repaint
   glitches. Eager-load the small approved logos (including the duplicate
   set), and don't mask or isolate the compositor layer. */
.rbh-page .rbh-client-marquee {
  mask-image:none!important;-webkit-mask-image:none!important;
  transform:none!important;contain:none!important;
}
.rbh-page .rbh-client-marquee .rbh-client-track {
  animation:none!important;transform:none!important;
  will-change:auto!important;
  backface-visibility:visible!important;-webkit-backface-visibility:visible!important;
}
.rbh-page .rbh-client-set .rbh-client-logo img {
  opacity:1!important;visibility:visible!important;
}
