/* Only background media fills/crops. The actual reel and poster stay complete. */
.hero-reels{position:absolute;inset:0 0 46px;pointer-events:none;overflow:hidden;z-index:0;isolation:isolate}
.hero-reels.use-default-image{visibility:hidden}
.hero-reels .hero-reel-video,.hero-reels .hero-reel-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important;opacity:0;transition:opacity .8s ease;filter:none}
.hero-reels .hero-reel-video,.hero-reels .hero-reel-poster{
  /* Masks follow the fitted frame, not the surrounding unused panel space. */
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);
  -webkit-mask-composite:source-in;mask-composite:intersect;
}
.hero-reels [data-format=portrait]{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 24%,#000 91%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 24%,#000 91%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent);
}
.hero-reels .hero-reel-poster{z-index:9}
.hero-reels .hero-reel-poster:not([hidden]){opacity:1}
.hero-reels.has-video .hero-reel-poster{opacity:0}
.hero-reels .hero-reel-video.is-current{opacity:1;z-index:11}
.hero-reels .hero-reel-backdrop{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);object-fit:cover;object-position:center;filter:blur(32px) brightness(.6) saturate(.85);opacity:0;transition:opacity .8s ease;z-index:1}
.hero-reels .hero-reel-backdrop-poster:not([hidden]),.hero-reels .hero-reel-backdrop-frame.is-current{opacity:1}
.hero-reel-shade{position:absolute;inset:0;z-index:20;background:linear-gradient(90deg,rgba(8,31,38,.78),rgba(8,31,38,.66) 28%,rgba(8,31,38,.35) 48%,rgba(8,31,38,.05) 72%),linear-gradient(0deg,rgba(8,31,38,.45),transparent 55%);opacity:0}
.hero-reels.has-media .hero-reel-shade{opacity:1}
.hero-reel-controls{position:absolute;right:20px;bottom:64px;z-index:5;display:flex;align-items:center;gap:6px;padding:6px;border:1px solid rgba(244,238,230,.24);border-radius:999px;color:#F4EEE6;background:linear-gradient(135deg,rgba(244,238,230,.09),rgba(244,238,230,.02)),rgba(8,25,31,.64);-webkit-backdrop-filter:blur(18px) saturate(115%);backdrop-filter:blur(18px) saturate(115%);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 6px 24px rgba(0,0,0,.18)}
.hero-reel-controls button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;border:1px solid rgba(244,238,230,.22);color:inherit;background:rgba(244,238,230,.045);padding:0;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;-webkit-tap-highlight-color:transparent}
.hero-reel-controls .hero-reel-play[aria-pressed=true]{border-color:rgba(220,193,145,.8);background:rgba(220,193,145,.13);box-shadow:inset 0 0 0 1px rgba(220,193,145,.07)}
.hero-reel-controls svg,.hero-reel-controls button>span{display:block;pointer-events:none}
.hero-reel-controls .reel-icon-pause,.hero-reel-controls [aria-pressed=true] .reel-icon-play,.hero-reel-sound .reel-icon-audible,.hero-reel-sound[aria-pressed=true] .reel-icon-muted{display:none}
.hero-reel-controls [aria-pressed=true] .reel-icon-pause,.hero-reel-sound[aria-pressed=true] .reel-icon-audible{display:block}
@media(hover:hover){.hero-reel-controls button:hover{background:rgba(244,238,230,.14);border-color:rgba(244,238,230,.55)}.hero-reel-controls .hero-reel-play[aria-pressed=true]:hover{background:rgba(220,193,145,.22);border-color:rgba(220,193,145,.95)}}
.hero-reel-controls button:active{transform:scale(.94)}
.hero-reel-controls button:focus-visible{outline:2px solid #F4EEE6;outline-offset:3px}
.hero-reel-position{font:500 11px 'Space Grotesk',sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px;padding:3px 8px;border-inline:1px solid rgba(244,238,230,.22);text-align:center}
.hero-reel-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hero-reel-controls button[hidden]{display:none}
.hero-reel-controls[hidden]{display:none}
@media(max-width:600px){
  .hero-reels{bottom:28px}
  .hero.has-hero-reels{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
  /* Reserve a small controls lane without moving the existing text or CTAs. */
  .hero.has-hero-reels{height:calc(84vw + 56px);min-height:382px;max-height:566px}
  .hero.has-hero-reels .hero-content{top:calc(20% - 11.2px)}
  .hero-reel-controls{right:max(18px,env(safe-area-inset-right,0px));bottom:44px;gap:5px;padding:5px;-webkit-backdrop-filter:blur(12px) saturate(115%);backdrop-filter:blur(12px) saturate(115%)}
  .hero-reel-controls button{width:34px;height:34px}
  .hero-reel-controls svg{width:18px;height:18px}
  .hero-reel-position{min-width:44px;padding-inline:7px}
  .hero-reels .hero-reel-video,.hero-reels .hero-reel-backdrop{transition-duration:.4s}
  .hero-reels .hero-reel-backdrop{filter:blur(24px) brightness(.6) saturate(.85)}
  .hero-reel-shade{background:linear-gradient(90deg,rgba(8,31,38,.8),rgba(8,31,38,.64) 26%,rgba(8,31,38,.3) 51%,rgba(8,31,38,.04) 77%),linear-gradient(0deg,rgba(8,31,38,.5),transparent 65%)}
}
@media(max-width:359px){.hero.has-hero-reels .hero-content{top:calc(18% - 10.08px)}}
html.motion-paused .hero-reel-video,html.motion-paused .hero-reel-backdrop{transition:none}
@media(prefers-reduced-motion:reduce){html:not(.motion-opt-in) .hero-reel-video,html:not(.motion-opt-in) .hero-reel-backdrop,.hero-reel-controls button{transition:none}}
