/* SECTION 93: slow staggered entrances + genuinely travelling perimeter light. */
@property --rh93-angle {syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes rh93-orbit {to{--rh93-angle:360deg}}
@keyframes rh93-enter-left {from{opacity:0;transform:translate3d(-65px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes rh93-enter-right {from{opacity:0;transform:translate3d(65px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes rh93-enter-centre {from{opacity:0;filter:brightness(.8)}to{opacity:1;filter:brightness(1)}}
/* Preserve existing 3+2 poster grid and original source order. */
#wooden-promotions .rh29-promo.rh93-prep{opacity:0}
#wooden-promotions .rh29-promo.rh93-visible{animation:rh93-enter-left 2.9s cubic-bezier(.16,1,.3,1) both}
#wooden-promotions .rh29-promo:nth-child(2).rh93-visible{animation-name:rh93-enter-centre;animation-delay:.35s}
#wooden-promotions .rh29-promo:nth-child(3).rh93-visible{animation-name:rh93-enter-right;animation-delay:.7s}
#wooden-promotions .rh29-promo:nth-child(4).rh93-visible{animation-name:rh93-enter-left;animation-delay:1.05s}
#wooden-promotions .rh29-promo:nth-child(5).rh93-visible{animation-name:rh93-enter-right;animation-delay:1.4s}
/* Christmas imagery retains existing photo and sign proportions. */
.rh62-hero .rh62-frame.rh93-prep,.rh62-hero .rh62-art.rh93-prep{opacity:0}
.rh62-hero .rh62-frame.rh93-visible{animation:rh93-enter-left 3.1s cubic-bezier(.16,1,.3,1) both}
.rh62-hero .rh62-art.rh93-visible{animation:rh93-enter-right 3.1s .35s cubic-bezier(.16,1,.3,1) both}
/* An orbiting bright segment in a masked ring, rather than a flashing solid border. */
.rh93-perimeter{position:relative;isolation:isolate}
.rh93-perimeter::before{content:'';position:absolute;inset:-2px;border-radius:inherit;padding:2px;pointer-events:none;z-index:3;background:conic-gradient(from var(--rh93-angle),transparent 0deg,transparent 277deg,rgba(62,255,150,.12) 299deg,#b8ffd5 325deg,#3aff92 342deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:rh93-orbit 9s linear infinite;filter:drop-shadow(0 0 4px #30ff89)}
.rh93-perimeter.rh93-red::before{background:conic-gradient(from var(--rh93-angle),transparent 0deg,transparent 277deg,#ff444433 299deg,#ffd2cc 325deg,#ff3939 342deg,transparent 360deg);filter:drop-shadow(0 0 5px #ff4040)}
/* All existing border radii and capsule shapes are inherited. */
.hero-buttons .btn.rh93-perimeter,.header-booking.rh93-perimeter{overflow:visible}
/* Existing Section 92 glimmer is retained on the contact CTA. */
:is(.rh53-footer,#sunday-booking) .footer-phone.rh93-perimeter::before,#sunday-booking .booking-call.rh93-perimeter::before{animation:rh93-orbit 9s linear infinite!important;opacity:1!important;box-shadow:none!important}
.rh69-neon-capsule.rh93-perimeter::before{animation:rh93-orbit 9s linear infinite!important;opacity:1!important}
/* Keep the existing header button's rectangular corners and dimensions. */
@media(prefers-reduced-motion:reduce){.rh93-perimeter::before,:is(.rh53-footer,#sunday-booking) .footer-phone.rh93-perimeter::before,#sunday-booking .booking-call.rh93-perimeter::before,.rh69-neon-capsule.rh93-perimeter::before{animation:none!important;opacity:.4!important}.rh93-prep{opacity:1!important}.rh93-visible{animation:none!important;opacity:1!important;transform:none!important}}
