/* Brin / RenForge: opt-in site introduction. Never hides underlying document. */
.rf-site-preloader {
  --rf-preload-background: var(--e-global-color-rfbackground, #f5f5f5);
  --rf-preload-foreground: var(--e-global-color-rfblack, #111);
  --rf-preload-accent: var(--e-global-color-primary, #2850ff);
  --rf-preload-gap: 16px;
  --rf-preload-opening-gap: 16px;
  --rf-preload-hero-pad: 36px;
  --rf-preload-pad: 36px;
  --rf-preload-radius: 6px;
  --rf-preload-duration: 2800ms;
  --rf-preload-timeout: 4800ms;
  --rf-preload-title-size: 64px;
  --rf-preload-image-scale: 1.06;
  --rf-preload-reveal-duration: 750ms;
  --rf-preload-tile-duration: 540ms;
  --rf-preload-tile-stagger: 19ms;
  --rf-preload-gallery-duration: 830ms;
  position: fixed; inset: 0; z-index: 2147482500;
  width: 100%; height: 100dvh; background: var(--rf-preload-background);
  color: var(--rf-preload-foreground); overflow: hidden; isolation: isolate;
  animation: rf-preload-safety var(--rf-preload-timeout) steps(1,end) forwards;
}
/* CSS-only timeout prevents a blocked/lost script from trapping the visitor. */
@keyframes rf-preload-safety { 0%,99% { visibility:visible;pointer-events:auto } 100% {visibility:hidden;pointer-events:none} }
.rf-site-preloader, .rf-site-preloader * { box-sizing:border-box; }
html.rf-preloader-suppressed .rf-site-preloader { display:none !important; }
.rf-site-preloader__skip { position:absolute; z-index:25; right:clamp(16px,3vw,54px); top:clamp(16px,3vw,38px); border:1px solid currentColor; padding:9px 15px; border-radius:50px; font:500 12px/1.3 Arial,sans-serif;font-family:inherit; background:transparent; color:inherit; cursor:pointer; opacity:.75; }
.rf-site-preloader__skip:hover, .rf-site-preloader__skip:focus-visible {opacity:1; outline-offset:3px}
.rf-site-preloader__skip:focus-visible {outline:3px solid var(--rf-preload-accent);}
.rf-site-preloader__stage {position:absolute;inset:0;display:grid;place-items:center;perspective:1100px;padding:var(--rf-preload-pad);}
.rf-site-preloader__opening {position:absolute;inset:0;z-index:4;display:flex;flex-flow:column;align-items:center;justify-content:center;gap:var(--rf-preload-opening-gap); padding:6vw; text-align:center;transform:translateY(0);transition:opacity .34s ease,transform .5s cubic-bezier(.2,.8,.2,1);}
.rf-site-preloader__title {max-width:95%;font-family:var(--e-global-typography-rfh2-font-family,inherit);font-size:min(var(--rf-preload-title-size),9vw);font-weight:var(--e-global-typography-rfh2-font-weight,750);line-height:var(--e-global-typography-rfh2-line-height,1.06);letter-spacing:var(--e-global-typography-rfh2-letter-spacing,-.045em);overflow-wrap:anywhere;text-wrap:balance;}
.rf-site-preloader__eyebrow {font-family:var(--e-global-typography-rfsmall-font-family,inherit);font-size:var(--e-global-typography-rfsmall-font-size,12px);letter-spacing:.16em;text-transform:uppercase;max-width:50ch;}
.rf-site-preloader__logo {max-width:min(58vw,480px);max-height:30vh;width:auto;height:auto;object-fit:contain;}
.rf-site-preloader__gallery {position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:var(--rf-preload-gap);transform-style:preserve-3d;pointer-events:none;}
.rf-site-preloader__slide {position:absolute;top:50%;left:50%;width:var(--rf-preload-card-width);height:var(--rf-preload-card-height);max-width:400px;max-height:640px;overflow:hidden;border-radius:var(--rf-preload-radius);opacity:0;will-change:transform,opacity;box-shadow:0 15px 70px rgba(0,0,0,.10); transform:translate(-50%,-40%) scale(.75); transition:transform var(--rf-preload-gallery-duration) cubic-bezier(.18,.76,.16,1),opacity .42s ease;}
/* Independent entrance trajectories per mode; gallery stage settles into each computed layout. */
.rf-site-preloader:not([data-stage="gallery"]):not([data-stage="hero"]) .rf-site-preloader__slide {
  transform:translate(calc(-50% + var(--rf-enter-x,0px)),calc(-50% + var(--rf-enter-y,0px))) rotate(var(--rf-rotation,0deg)) scale(.48);
}
.rf-site-preloader[data-style="photo_drop"] .rf-site-preloader__slide { transition-timing-function:cubic-bezier(.2,1.12,.27,1); }
.rf-site-preloader__slide img,.rf-site-preloader__hero img {width:100%;height:100%;display:block;object-fit:cover;}
.rf-site-preloader[data-stage="gallery"] .rf-site-preloader__opening,.rf-site-preloader[data-stage="hero"] .rf-site-preloader__opening{opacity:0;transform:translateY(-3vh);pointer-events:none}
.rf-site-preloader[data-stage="gallery"] .rf-site-preloader__slide{opacity:1;transition-delay:calc(var(--rf-item) * var(--rf-preload-stagger,65ms));}
/* Six layout variants parallel the reference's named gallery concepts. */
.rf-site-preloader[data-stage="gallery"][data-style="horizontal"] .rf-site-preloader__slide {transform:translate(calc(-50% + var(--rf-x,0px)),calc(-50% + var(--rf-y,0px))) rotate(var(--rf-rotation,0deg)) scale(.9);}
.rf-site-preloader[data-stage="gallery"][data-style="columns"] .rf-site-preloader__slide {transform:translate(calc(-50% + var(--rf-x,0px)),calc(-50% + var(--rf-y,0px))) scale(.85);}
/* Use authored CSS classes for cross-browser grid transforms instead of unsupported CSS math modulo. */
.rf-site-preloader[data-stage="gallery"][data-style="deck"] .rf-site-preloader__slide{transform:translate(calc(-50% + var(--rf-x,0px)),calc(-50% + var(--rf-y,0px))) rotate(var(--rf-rotation,0deg));}
.rf-site-preloader[data-stage="gallery"][data-style="circle"] .rf-site-preloader__slide{transform:translate(calc(-50% + var(--rf-x,0px)),calc(-50% + var(--rf-y,0px))) rotate(var(--rf-rotation,0deg)) scale(.8);}
.rf-site-preloader[data-stage="gallery"][data-style="assemble"] .rf-site-preloader__slide{transform:translate(calc(-50% + var(--rf-x,0px)),calc(-50% + var(--rf-y,0px))) rotate(0deg) scale(.78);}
.rf-site-preloader[data-stage="gallery"][data-style="photo_drop"] .rf-site-preloader__slide{transform:translate(calc(-50% + var(--rf-x,0px)),calc(-50% + var(--rf-y,0px))) rotate(var(--rf-rotation,0deg)) scale(.9);transition-timing-function:cubic-bezier(.15,1.38,.38,1);}
.rf-site-preloader__hero {position:absolute;inset:var(--rf-preload-hero-pad);z-index:3;opacity:0;overflow:hidden;border-radius:var(--rf-preload-radius);transform:scale(.68) rotate(-2deg);transition:opacity .55s ease,transform .96s cubic-bezier(.15,.83,.19,1);}
.rf-site-preloader__hero-image {transform:scale(var(--rf-preload-image-scale));transition:transform 1.1s cubic-bezier(.15,.83,.19,1);}
.rf-site-preloader[data-stage="hero"] .rf-site-preloader__slide {opacity:0;transform:translate(-50%,-50%) scale(.2);transition-duration:.47s;transition-delay:0ms}
.rf-site-preloader[data-stage="hero"] .rf-site-preloader__hero {opacity:1;transform:scale(1) rotate(0)}
.rf-site-preloader[data-stage="hero"] .rf-site-preloader__hero-image {transform:scale(1)}
.rf-site-preloader.is-fabric:not(.is-hero-transitioning) .rf-site-preloader__hero-image {animation:rf-preload-fabric 2s ease-in-out infinite alternate;transform-origin:50% 45%;}
@keyframes rf-preload-fabric {0%{clip-path:polygon(0 1%,100% 0,100% 99%,0 100%);border-radius:1% 3% 1% 3%}100%{clip-path:polygon(0 0,100% 2%,100% 100%,0 98%);border-radius:3% 1% 3% 1%}}
.rf-site-preloader__curtain {position:absolute;inset:0;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);pointer-events:none;visibility:hidden;}
.rf-site-preloader__curtain i {display:block;background:var(--rf-preload-background);transform:scale(1.01);}
.rf-site-preloader[data-reveal="sheet"].is-exiting {transform:translateY(-102%);transition:transform var(--rf-preload-reveal-duration) cubic-bezier(.79,.02,.22,1);}
.rf-site-preloader[data-reveal="mosaic"].is-exiting {background:transparent;}
.rf-site-preloader[data-reveal="mosaic"].is-exiting .rf-site-preloader__stage,.rf-site-preloader[data-reveal="mosaic"].is-exiting .rf-site-preloader__skip{opacity:0;transition:opacity .1s ease;}
.rf-site-preloader[data-reveal="mosaic"].is-exiting .rf-site-preloader__curtain {visibility:visible;}
.rf-site-preloader[data-reveal="mosaic"].is-exiting .rf-site-preloader__curtain i {animation:rf-preload-tile var(--rf-preload-tile-duration) ease-in both;animation-delay:calc(var(--rf-tile) * var(--rf-preload-tile-stagger));}
@keyframes rf-preload-tile {0%{transform:scale(1.015)}100%{transform:scale(0);opacity:0}}
.rf-site-preloader[data-stage="done"] {display:none!important}
@media(max-width:767px){.rf-site-preloader__slide{width:min(var(--rf-preload-card-width),46vw);height:min(var(--rf-preload-card-height),38vh)}.rf-site-preloader__stage{padding:min(var(--rf-preload-pad),20px)}.rf-site-preloader__hero{inset:min(var(--rf-preload-hero-pad),20px)}.rf-site-preloader__slide:nth-child(n+6):not(.is-hero){display:none}.rf-site-preloader__title{font-size:min(var(--rf-preload-title-size),13vw)}.rf-site-preloader__skip{top:18px;right:18px}}
@media(prefers-reduced-motion:reduce){.rf-site-preloader{display:none!important;animation:none!important;pointer-events:none!important}}

/* Progressive FLIP: transform inline style is set only when both source and
   target image bounding rectangles exist. CSS-only hero fallback still works. */
.rf-site-preloader.is-hero-transitioning .rf-site-preloader__hero {will-change:transform,opacity;transform-origin:center center}
.rf-site-preloader.is-hero-transitioning .rf-site-preloader__hero-image {animation:none!important}
