/* RF CINEMATIC V3 FINAL3
   Native-first visual layer. No API/data/dashboard mutation. */
html.rf-lenis-active{scroll-behavior:auto!important}

/* Stronger section atmosphere. Visibility is NEVER controlled here; JS owns
   reveal state and has a fail-safe that restores every target. */
.rf-v3-scene{position:relative;isolation:isolate;transform-style:preserve-3d}
.rf-v3-scene::before{content:"";position:absolute;z-index:-1;pointer-events:none;width:clamp(260px,34vw,620px);height:clamp(260px,34vw,620px);border-radius:999px;top:7%;left:-18%;opacity:.16;background:radial-gradient(circle,rgba(187,93,69,.20) 0%,rgba(223,169,83,.08) 38%,transparent 72%);filter:blur(24px);transform:translate3d(0,calc((var(--rf-v3-progress,.5) - .5)*80px),0)}
.rf-v3-scene.rf-v3-right::before{left:auto;right:-18%}
.rf-v3-scene::after{content:"";position:absolute;z-index:4;pointer-events:none;top:11%;bottom:11%;width:2px;left:max(10px,calc((100% - min(1180px,92vw))/2 - 20px));opacity:.30;background:linear-gradient(180deg,transparent,rgba(187,93,69,.72),rgba(223,169,83,.18),transparent);transform:scaleY(var(--rf-v3-progress,0));transform-origin:top center}
.rf-v3-scene.rf-v3-right::after{left:auto;right:max(10px,calc((100% - min(1180px,92vw))/2 - 20px))}

/* Heading accent arrives with the heading animation */
.rf-v3-heading{position:relative}
.rf-v3-heading::after{content:"";display:block;width:min(104px,24vw);height:2px;margin-top:16px;background:linear-gradient(90deg,#bb5d45,#dfa953 70%,transparent);transform:scaleX(0);transform-origin:left center;transition:transform .85s cubic-bezier(.16,1,.3,1) .18s}
.rf-v3-heading.rf-v3-visible::after{transform:scaleX(1)}

.rf-v3-image,.rf-v3-card,.rf-v3-reveal-target{backface-visibility:hidden}
.rf-v3-image{transform-origin:center center}

/* Hero 3D surface */
.hero-copy.rf-v3-cinematic-hero{position:relative;isolation:isolate;overflow:hidden}
.hero-copy.rf-v3-cinematic-hero>*:not(.rf-vanta-surface){position:relative;z-index:2}
.rf-vanta-surface{position:absolute;inset:-9%;z-index:0;opacity:.38;pointer-events:auto;overflow:hidden;transform:translateZ(0);mask-image:linear-gradient(135deg,#000 4%,rgba(0,0,0,.94) 58%,transparent 100%)}
.rf-vanta-surface .vanta-canvas{filter:saturate(.88) contrast(.96)}
.rf-v3-hero-image{transform-origin:50% 50%;will-change:transform}

/* Pointer spotlight on cards */
.rf-v3-spotlight{position:relative;isolation:isolate}
.rf-v3-spotlight::after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0;background:radial-gradient(300px circle at var(--rf-v3-x,50%) var(--rf-v3-y,50%),rgba(255,255,255,.30),rgba(223,169,83,.10) 34%,transparent 72%);transition:opacity .22s ease}
@media (hover:hover) and (pointer:fine){.rf-v3-spotlight:hover::after{opacity:1}}

/* Team slider: same existing cards, no data duplication */
.rf-v3-slider-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:46px 0 12px}
.rf-v3-slider-status{color:var(--muted,#667168);font:800 9px/1 Arial,Helvetica,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-right:4px}
.rf-v3-slider-btn{width:44px;height:44px;border:1px solid rgba(31,58,44,.25);border-radius:999px;background:rgba(255,253,248,.96);color:var(--forest,#1f3a2c);display:grid;place-items:center;cursor:pointer;font:400 23px/1 Georgia,serif;box-shadow:0 10px 26px rgba(31,58,44,.09);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.rf-v3-slider-btn:hover,.rf-v3-slider-btn:focus-visible{background:#fff;transform:translateY(-3px);box-shadow:0 15px 34px rgba(31,58,44,.15)}
.team-grid.rf-v3-sliderized{margin-top:0!important}
.rf-v3-sliderized{display:flex!important;grid-template-columns:none!important;gap:16px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:6px}
.rf-v3-sliderized::-webkit-scrollbar{display:none}
.rf-v3-sliderized>*{flex:0 0 calc((100% - 32px)/3)!important;min-width:0;scroll-snap-align:start}

/* Scroll progress */
.rf-v3-scroll-progress{position:fixed;z-index:2147481000;top:0;left:0;width:100%;height:3px;pointer-events:none;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#bb5d45,#dfa953,#bb5d45);box-shadow:0 1px 10px rgba(187,93,69,.28)}
.rf-v3-magnetic{will-change:translate}

@media (max-width:980px){
  .rf-v3-sliderized>*{flex-basis:calc((100% - 16px)/2)!important}
  .rf-vanta-surface{display:none!important}
  .rf-v3-scene::after{display:none}
}
@media (max-width:700px){
  .rf-v3-slider-toolbar{margin-top:34px;margin-bottom:10px}
  .rf-v3-slider-btn{width:40px;height:40px}
  .rf-v3-sliderized{gap:12px!important;padding-right:10vw}
  .rf-v3-sliderized>*{flex-basis:88%!important}
  .rf-v3-scene::before{width:260px;height:260px;filter:blur(28px);opacity:.14}
}
@media (prefers-reduced-motion:reduce){
  .rf-vanta-surface,.rf-v3-scroll-progress,.rf-v3-scene::before,.rf-v3-scene::after{display:none!important}
  .rf-v3-sliderized{scroll-behavior:auto}
  .rf-v3-magnetic{translate:0 0!important}
  [data-rf-v3-reveal="1"]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
}
