/* RI BUROM motion layer — cinematic, transform-first, accessibility-aware. */
:root { --rb-green:#14532d; --rb-deep:#0b3b23; --rb-gold:#f3c969; }
html { scroll-behavior:smooth; }
body { overflow-x:hidden; }

#rb-page-loader { position:fixed; inset:0; z-index:5000; display:flex; align-items:center; justify-content:center; background:#0b3b23; opacity:1; visibility:visible; transition:opacity .55s cubic-bezier(.22,.7,.25,1),visibility .55s linear; }
#rb-page-loader.is-hidden { opacity:0; visibility:hidden; pointer-events:none; }
.rb-loader-core { display:flex; flex-direction:column; align-items:center; gap:14px; color:#fff; }
.rb-loader-mark { width:90px; height:90px; object-fit:contain; filter:drop-shadow(0 12px 24px rgba(0,0,0,.22)); animation:rb-loader-breathe 1.8s ease-in-out infinite; }
.rb-loader-line { width:110px; height:2px; background:rgba(255,255,255,.18); overflow:hidden; border-radius:999px; }
.rb-loader-line::after { content:""; display:block; width:42%; height:100%; background:#f3c969; border-radius:inherit; animation:rb-loader-line 1.15s ease-in-out infinite; }
@keyframes rb-loader-breathe { 0%,100%{transform:scale(.96);opacity:.78} 50%{transform:scale(1);opacity:1} }
@keyframes rb-loader-line { 0%{transform:translateX(-120%)} 100%{transform:translateX(270%)} }

.rb-page-enter { animation:rb-page-enter .5s ease-out both; }
@keyframes rb-page-enter { from{opacity:0} to{opacity:1} }

[data-reveal] { opacity:0; transform:translate3d(0,26px,0); transition:opacity .72s cubic-bezier(.22,.7,.25,1),transform .72s cubic-bezier(.22,.7,.25,1); will-change:opacity,transform; }
[data-reveal="left"] { transform:translate3d(-30px,0,0); }
[data-reveal="right"] { transform:translate3d(30px,0,0); }
[data-reveal="scale"] { transform:translate3d(0,12px,0) scale(.975); }
[data-reveal].is-visible { opacity:1; transform:none; }
.rb-stagger > * { transition-delay:var(--rb-delay,0ms); }

.rb-site-nav { transition:box-shadow .3s ease,background-color .3s ease; }
.rb-site-nav.rb-scrolled { box-shadow:0 12px 32px rgba(0,0,0,.08); background:rgba(255,255,255,.96); }
.rb-brand img { transition:transform .35s cubic-bezier(.22,.7,.25,1); }
.rb-brand:hover img:last-child { transform:scale(1.035) rotate(-1.5deg); }

.rb-hero { position:relative; isolation:isolate; overflow:hidden; }
.rb-hero-content { position:relative; z-index:10; transition:opacity .72s cubic-bezier(.22,.7,.25,1),transform .72s cubic-bezier(.22,.7,.25,1),visibility 0s linear 0s; }
.rb-hero.rb-hero-video-playing .rb-hero-content { opacity:0; visibility:hidden; pointer-events:none; transform:translateY(12px); transition:opacity .72s cubic-bezier(.22,.7,.25,1),transform .72s cubic-bezier(.22,.7,.25,1),visibility 0s linear .72s; }
.rb-hero.rb-hero-video-complete .rb-hero-content,
.rb-hero.rb-hero-video-fallback .rb-hero-content { opacity:1; visibility:visible; pointer-events:auto; transform:none; transition:opacity .72s cubic-bezier(.22,.7,.25,1),transform .72s cubic-bezier(.22,.7,.25,1),visibility 0s linear 0s; }
.rb-hero > .absolute.inset-0.bg-black { z-index:2; pointer-events:none; }
.rb-hero-content > .rb-hero-video-stage { animation:none !important; opacity:1 !important; visibility:visible !important; }
@keyframes rb-hero-rise { from{opacity:0;transform:translate3d(0,22px,0)} to{opacity:1;transform:none} }

/* The stage contains only the permanent logo. The animation video is moved
   to the hero root at runtime so it can cover the complete hero surface. */
.rb-hero-video-stage { position:relative; width:min(78vw,560px); max-height:420px; margin-bottom:32px; z-index:3; opacity:1 !important; visibility:visible !important; }
.rb-hero-permanent-logo { position:relative; z-index:1; display:block; width:100% !important; max-width:78vw; max-height:420px; height:auto; object-fit:contain; opacity:1; filter:drop-shadow(0 18px 34px rgba(0,0,0,.30)); transition:opacity .55s cubic-bezier(.22,.7,.25,1); }
.rb-hero-animation-video--background { position:absolute !important; inset:0 !important; z-index:1 !important; width:100% !important; height:100% !important; min-width:100% !important; min-height:100% !important; max-width:none !important; max-height:none !important; object-fit:cover !important; object-position:center center !important; display:block !important; opacity:0; visibility:hidden; pointer-events:none; background:transparent; transition:opacity .9s cubic-bezier(.22,.7,.25,1),visibility 0s linear .9s; }
.rb-hero.rb-hero-video-playing .rb-hero-animation-video--background { opacity:1; visibility:visible; transition-delay:0s; }
.rb-hero.rb-hero-video-playing .rb-hero-permanent-logo { opacity:0; }
.rb-hero.rb-hero-video-complete .rb-hero-animation-video--background,
.rb-hero.rb-hero-video-fallback .rb-hero-animation-video--background { opacity:0; visibility:hidden; }
.rb-hero.rb-hero-video-complete .rb-hero-permanent-logo,
.rb-hero.rb-hero-video-fallback .rb-hero-permanent-logo { opacity:1 !important; }
.rb-hero-video-sound { position:absolute; right:24px; bottom:24px; z-index:12; border:1px solid rgba(255,255,255,.4); background:rgba(0,0,0,.44); color:#fff; padding:9px 14px; border-radius:999px; font-size:.85rem; font-weight:700; backdrop-filter:blur(8px); box-shadow:0 8px 22px rgba(0,0,0,.18); cursor:pointer; transition:background-color .2s ease,transform .2s ease; }
.rb-hero-video-sound:hover { background:rgba(0,0,0,.62); transform:translateY(-1px); }
.rb-hero-video-sound[hidden] { display:none; }

.rb-card { transition:transform .35s cubic-bezier(.22,.7,.25,1),box-shadow .35s ease; }
.rb-card:hover { transform:translateY(-6px); box-shadow:0 18px 42px rgba(0,0,0,.12); }
.rb-card-media { transition:transform .7s cubic-bezier(.22,.7,.25,1); }
.rb-card:hover .rb-card-media { transform:scale(1.035); }
.rb-button { position:relative; overflow:hidden; isolation:isolate; transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease; }
.rb-button:hover { transform:translateY(-2px); box-shadow:0 9px 24px rgba(0,0,0,.14); }

.rb-provider-hero-media,.rb-tour-bg { will-change:transform; animation:rb-detail-breathe 16s cubic-bezier(.37,.08,.24,.99) alternate infinite; }
@keyframes rb-detail-breathe { from{transform:scale(1.04)} to{transform:scale(1.085)} }
.rb-floating-cta { animation:rb-float-cta 4.5s ease-in-out infinite; }
@keyframes rb-float-cta { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid rgba(243,201,105,.9); outline-offset:3px; }

@media (prefers-reduced-motion:reduce) {
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  [data-reveal]{opacity:1;transform:none}
  #rb-page-loader{transition:none}
  .rb-hero-animation-video--background{display:none !important}
  .rb-hero-video-stage,.rb-hero-video-stage.is-playing,.rb-hero-video-stage.is-complete,.rb-hero-video-stage.is-fallback { opacity:1 !important; visibility:visible !important; }
  .rb-hero-permanent-logo { opacity:1 !important; }
  .rb-hero-video-sound { display:none !important; }
  .rb-hero.rb-hero-video-playing .rb-hero-content,
  .rb-hero.rb-hero-video-complete .rb-hero-content,
  .rb-hero.rb-hero-video-fallback .rb-hero-content { opacity:1 !important; visibility:visible !important; transform:none !important; pointer-events:auto !important; }
}
