.edge-video-widget {
  --edge-video-radius: 28px;
  --edge-video-preview-padding: 56.25%;
  --edge-video-overlay: #111311;
  --edge-video-overlay-opacity: 42%;
  --edge-video-text: #fff;
  --edge-video-play-bg: #fff;
  --edge-video-play-color: #222426;
  --edge-video-play-size: 76px;
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  clear: both;
}
.elementor-widget-edge_editorial_video_modal,
.elementor-widget-edge_editorial_video_modal > .elementor-widget-container {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.edge-video-card,
.edge-video-card:hover,
.edge-video-card:focus,
.edge-video-card:active {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: var(--edge-video-radius) !important;
  background: #d9ddd7 !important;
  color: var(--edge-video-text) !important;
  box-shadow: none !important;
  text-align: inherit;
  cursor: pointer;
  isolation: isolate;
  min-height: 1px;
}

/*
 * Intrinsic flow-height guard.
 * All visible children are absolutely positioned, so relying only on
 * `aspect-ratio` can allow a zero-height wrapper during some mobile/Safari
 * layout passes. This pseudo element always reserves the preview height.
 */
.edge-video-card::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: var(--edge-video-preview-padding);
  pointer-events: none;
}

.edge-video-card--16-9 { --edge-video-preview-padding: 56.25%; aspect-ratio: 16 / 9; }
.edge-video-card--3-2 { --edge-video-preview-padding: 66.666667%; aspect-ratio: 3 / 2; }
.edge-video-card--4-3 { --edge-video-preview-padding: 75%; aspect-ratio: 4 / 3; }
.edge-video-card--21-9 { --edge-video-preview-padding: 42.857143%; aspect-ratio: 21 / 9; }
.edge-video-card:focus-visible { outline: 2px solid currentColor !important; outline-offset: 4px; }
.edge-video-card__media,
.edge-video-card__media img,
.edge-video-card__placeholder,
.edge-video-card__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.edge-video-card__media { overflow: hidden; z-index: -2; }
.edge-video-card__media img { object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.edge-video-card__placeholder { background: linear-gradient(135deg,#aeb7ad,#5f6e61); }
.edge-video-card__scrim {
  z-index: -1;
  background: linear-gradient(180deg, color-mix(in srgb, var(--edge-video-overlay) var(--edge-video-overlay-opacity), transparent) 0%, transparent 42%, color-mix(in srgb, var(--edge-video-overlay) calc(var(--edge-video-overlay-opacity) + 18%), transparent) 100%);
}
@supports not (background: color-mix(in srgb, #000 50%, transparent)) {
  .edge-video-card__scrim { background: linear-gradient(180deg, rgba(17,19,17,.22), transparent 42%, rgba(17,19,17,.65)); }
}
.edge-video-card:hover .edge-video-card__media img { transform: scale(1.025); }
.edge-video-card__top,
.edge-video-card__bottom {
  position: absolute;
  left: clamp(18px, 2.6vw, 38px);
  right: clamp(18px, 2.6vw, 38px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.edge-video-card__top { top: clamp(18px, 2.6vw, 34px); }
.edge-video-card__bottom { bottom: clamp(18px, 2.8vw, 38px); align-items: flex-end; }
.edge-video-card__eyebrow,
.edge-video-card__duration,
.edge-video-card__label {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.edge-video-card__duration { opacity: .72; }
.edge-video-card__copy { display: flex; flex-direction: column; gap: 10px; max-width: min(72%, 760px); }
.edge-video-card__title {
  display: block;
  font-family: var(--e-global-typography-primary-font-family, inherit);
  font-size: clamp(30px, 4.4vw, 72px);
  font-weight: 500;
  line-height: .96;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.edge-video-card__label { display: inline-block; opacity: .82; }
.edge-video-card__play {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--edge-video-play-size);
  height: var(--edge-video-play-size);
  border-radius: 50%;
  background: var(--edge-video-play-bg);
  color: var(--edge-video-play-color);
  transition: transform .35s cubic-bezier(.2,.7,.2,1), background-color .25s ease;
}
.edge-video-card__play svg { width: 30%; height: 30%; transform: translateX(7%); }
.edge-video-card:hover .edge-video-card__play { transform: scale(1.06); }
.edge-video-widget--center .edge-video-card__top { justify-content: center; }
.edge-video-widget--center .edge-video-card__bottom { align-items: center; justify-content: center; text-align: center; flex-direction: column; }
.edge-video-widget--center .edge-video-card__copy { align-items: center; }
.edge-video-widget--right .edge-video-card__copy { text-align: right; margin-left: auto; align-items: flex-end; }
.edge-video-widget--right .edge-video-card__bottom { flex-direction: row-reverse; }

/* Modal shell */
.edge-video-modal {
  --edge-video-modal-backdrop: #191b1a;
  --edge-video-modal-opacity: .96;
  --edge-video-accent: #789174;
  --edge-video-modal-radius: 24px;
  --edge-video-modal-max: 1440px;
  z-index: 2147483000;
  pointer-events: none;
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(18px, 4vw, 64px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .28s linear, visibility .28s linear;
  isolation: isolate;
}
.edge-video-modal[data-edge-video-status="active"] { opacity: 1; visibility: visible; pointer-events: auto; }
.edge-video-modal__backdrop,
.edge-video-modal__backdrop:hover,
.edge-video-modal__backdrop:focus,
.edge-video-modal__backdrop:active {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--edge-video-modal-backdrop) !important;
  opacity: var(--edge-video-modal-opacity) !important;
  box-shadow: none !important;
  cursor: default;
}
.edge-video-modal__stage {
  position: relative;
  z-index: 2;
  width: min(100%, var(--edge-video-modal-max));
  max-height: 100%;
  opacity: 0;
  transform: scale(.94) rotate(.001deg);
  transition: transform .34s cubic-bezier(.625,.05,0,1), opacity .28s linear;
}
.edge-video-modal[data-edge-video-status="active"] .edge-video-modal__stage { opacity: 1; transform: scale(1) rotate(.001deg); }
.edge-video-modal__ratio {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: var(--edge-video-modal-radius);
  background: #000;
  box-shadow: 0 28px 80px rgba(0,0,0,.26);
}
.edge-video-modal__iframe,
.edge-video-modal__native { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; background: #000; }
.edge-video-modal__native { object-fit: contain; }
.edge-video-modal__close,
.edge-video-modal__close:hover,
.edge-video-modal__close:focus,
.edge-video-modal__close:active {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: absolute;
  z-index: 4;
  top: clamp(14px, 2vw, 30px);
  right: clamp(14px, 2vw, 30px);
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  cursor: pointer;
}
.edge-video-modal__close:focus-visible { outline: 2px solid #fff !important; outline-offset: 3px; }
.edge-video-modal__close span { position: absolute; top: 50%; left: 50%; width: 16px; height: 1.5px; background: currentColor; transform-origin: center; }
.edge-video-modal__close span:first-child { transform: translate(-50%,-50%) rotate(45deg); }
.edge-video-modal__close span:last-child { transform: translate(-50%,-50%) rotate(-45deg); }
html.edge-video-modal-open, body.edge-video-modal-open { overflow: hidden !important; }

/* Osmo-derived Bunny player: data attributes/state contract intentionally retained. */
.edge-video-modal--bunny .edge-video-modal__stage { display: flex; align-items: center; justify-content: center; height: 100%; }
.edge-video-modal__calc { width: 100%; height: 100%; position: relative; display: flex; align-items: center; justify-content: center; }
.bunny-lightbox-player {
  pointer-events: none;
  color: #fff;
  isolation: isolate;
  border-radius: var(--edge-video-modal-radius);
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
  background: #000;
  -webkit-mask-image: radial-gradient(#fff,#000);
  mask-image: radial-gradient(#fff,#000);
  box-shadow: 0 28px 80px rgba(0,0,0,.26);
}
.bunny-lightbox-player__before { padding-top: 56.25%; }
[data-bunny-lightbox-init] :is(.bunny-lightbox-player__placeholder,.bunny-lightbox-player__dark,.bunny-lightbox-player__playpause,.bunny-lightbox-player__loading) { transition: opacity .3s linear, visibility .3s linear; }
.bunny-lightbox-player__placeholder { object-fit: cover; width: 100%; height: 100%; position: absolute; }
[data-bunny-lightbox-init][data-player-status="playing"] .bunny-lightbox-player__placeholder,
[data-bunny-lightbox-init][data-player-status="paused"] .bunny-lightbox-player__placeholder,
[data-bunny-lightbox-init][data-player-activated="true"][data-player-status="ready"] .bunny-lightbox-player__placeholder { opacity: 0; visibility: hidden; }
.bunny-lightbox-player__dark { opacity: .1; background:#000; width:100%; height:100%; position:absolute; }
[data-bunny-lightbox-init][data-player-status="paused"] .bunny-lightbox-player__dark,
[data-bunny-lightbox-init][data-player-status="playing"][data-player-hover="active"] .bunny-lightbox-player__dark { opacity:.3; }
[data-bunny-lightbox-init][data-player-status="playing"] .bunny-lightbox-player__dark { opacity:0; }
.bunny-lightbox-player__video { width:100%; height:100%; display:block; position:absolute; inset:0; }
.bunny-lightbox-player__playpause { pointer-events:auto; justify-content:center; align-items:center; width:100%; height:100%; display:flex; position:absolute; }
[data-bunny-lightbox-init][data-player-status="playing"] .bunny-lightbox-player__playpause,
[data-bunny-lightbox-init][data-player-status="loading"] .bunny-lightbox-player__playpause { opacity:0; }
[data-bunny-lightbox-init][data-player-status="playing"][data-player-hover="active"] .bunny-lightbox-player__playpause { opacity:1; }
[data-bunny-lightbox-init][data-player-status="playing"] .bunny-lightbox-player__play-svg,
[data-bunny-lightbox-init][data-player-status="loading"] .bunny-lightbox-player__play-svg { display:none; }
[data-bunny-lightbox-init][data-player-status="playing"] .bunny-lightbox-player__pause-svg,
[data-bunny-lightbox-init][data-player-status="loading"] .bunny-lightbox-player__pause-svg { display:block; }
.bunny-lightbox-player__loading { opacity:0; visibility:hidden; background:rgba(0,0,0,.33); justify-content:center; align-items:center; width:100%; height:100%; display:flex; position:absolute; }
[data-bunny-lightbox-init][data-player-status="loading"] .bunny-lightbox-player__loading { opacity:1; visibility:visible; }
.bunny-lightbox-player__interface { flex-flow:column; justify-content:flex-end; align-items:baseline; width:100%; height:100%; display:flex; position:absolute; transition:all .6s cubic-bezier(.625,.05,0,1); }
[data-bunny-lightbox-init][data-player-status="playing"] .bunny-lightbox-player__interface,
[data-bunny-lightbox-init][data-player-status="loading"] .bunny-lightbox-player__interface { opacity:0; transform:translateY(1em) rotate(.001deg); }
[data-bunny-lightbox-init][data-player-status="playing"][data-player-hover="active"] .bunny-lightbox-player__interface,
[data-bunny-lightbox-init][data-player-status="loading"][data-player-hover="active"] .bunny-lightbox-player__interface { opacity:1; transform:translateY(0) rotate(.001deg); }
.bunny-lightbox-player__interface-bottom { gap:1em; pointer-events:auto; justify-content:space-between; align-items:center; width:100%; padding:min(2em,4vw); display:flex; position:relative; }
.bunny-lightbox-player__toggle-mute,.bunny-lightbox-player__toggle-fullscreen,.bunny-lightbox-player__toggle-playpause { cursor:pointer; width:1.5em; height:1.5em; flex:0 0 auto; }
.bunny-lightbox-player__toggle-mute svg,.bunny-lightbox-player__toggle-fullscreen svg,.bunny-lightbox-player__toggle-playpause svg { width:100%; height:100%; }
.bunny-lightbox-player__timeline { cursor:pointer; flex:1; align-items:center; height:1em; margin:0 .5em; display:flex; position:relative; }
[data-bunny-lightbox-init][data-player-status="idle"][data-player-activated="false"] .bunny-lightbox-player__timeline,
[data-bunny-lightbox-init][data-player-status="ready"][data-player-activated="false"] .bunny-lightbox-player__timeline { pointer-events:none; }
.bunny-lightbox-player__timeline-progress,.bunny-lightbox-player__timeline-buffered { pointer-events:none; border-radius:1em; width:100%; height:100%; position:absolute; transform:translateX(-100%); }
.bunny-lightbox-player__timeline-progress { background:var(--edge-video-accent); }
.bunny-lightbox-player__timeline-buffered { opacity:.2; background:#fff; }
.bunny-lightbox-player__timeline-handle { transition:transform .15s ease-in-out; pointer-events:none; background:var(--edge-video-accent); border-radius:50%; width:1em; height:1em; position:absolute; top:50%; transform:translate(-50%,-50%) scale(0); }
[data-bunny-lightbox-init][data-timeline-drag="true"] .bunny-lightbox-player__timeline-handle { transform:translate(-50%,-50%) scale(1); }
.bunny-lightbox-player__timeline-bar { border-radius:1em; width:100%; height:30%; position:absolute; overflow:hidden; }
.bunny-lightbox-player__time { gap:.125em; flex:none; justify-content:center; align-items:center; width:5.75em; display:flex; }
.bunny-lightbox-player__timeline-bg { background:rgba(255,255,255,.16); border-radius:1em; width:100%; height:100%; position:absolute; }
.bunny-lightbox-player__text { white-space:nowrap; margin:0; font-size:.82rem; line-height:1; }
.bunny-lightbox-player__big-btn { -webkit-backdrop-filter:blur(1em); backdrop-filter:blur(1em); cursor:pointer; background:rgba(100,100,100,.2); border:1px solid rgba(255,255,255,.1); border-radius:50%; justify-content:center; align-items:center; width:clamp(64px,8vw,96px); height:clamp(64px,8vw,96px); padding:clamp(22px,2.5vw,32px); display:flex; position:relative; }
.bunny-lightbox-player__big-btn svg { width:100%; height:100%; }
.bunny-lightbox-player__loading-svg { width:6em; }
.bunny-lightbox-player__pause-svg { display:none; }
.bunny-lightbox-player__interface-fade { opacity:.55; background:linear-gradient(transparent,#000); width:100%; height:28%; position:absolute; bottom:0; }
.bunny-lightbox-player__interface-btns { gap:.65em; align-items:center; display:flex; }
[data-bunny-lightbox-init][data-player-muted="true"] .bunny-lightbox-player__volume-mute-svg { display:block; }
[data-bunny-lightbox-init][data-player-muted="true"] .bunny-lightbox-player__volume-up-svg { display:none; }
.bunny-lightbox-player__volume-mute-svg { display:none; }
.bunny-lightbox-player__volume-up-svg { display:block; }
.bunny-lightbox-player__fullscreen-shrink-svg { display:none; }
.bunny-lightbox-player__fullscreen-scale-svg { display:block; }
[data-bunny-lightbox-init][data-player-fullscreen="true"] .bunny-lightbox-player__fullscreen-shrink-svg { display:block; }
[data-bunny-lightbox-init][data-player-fullscreen="true"] .bunny-lightbox-player__fullscreen-scale-svg { display:none; }
[data-bunny-lightbox-init][data-player-update-size="cover"] { height:100%; position:absolute; inset:0; }
[data-bunny-lightbox-init][data-player-update-size="cover"] [data-player-before] { display:none; }
[data-bunny-lightbox-init][data-player-update-size="cover"][data-player-fullscreen="false"] .bunny-lightbox-player__video { object-fit:cover; }

@media (max-width: 767px) {
  .edge-video-widget,
  .edge-video-card {
    width: 100% !important;
    max-width: 100% !important;
  }
  .edge-video-card {
    margin-bottom: 0 !important;
  }
  .edge-video-card__copy { max-width: 76%; }
  .edge-video-card__title { font-size: clamp(26px, 8vw, 44px); }
  .edge-video-card__top { align-items:flex-start; }
  .edge-video-modal { padding: 14px; }
  .edge-video-modal__close { width:44px !important; height:44px !important; }
  .bunny-lightbox-player__time { display:none; }
  .bunny-lightbox-player__interface-bottom { padding:18px; gap:.6em; }
}
@media (prefers-reduced-motion: reduce) {
  .edge-video-card__media img,.edge-video-card__play,.edge-video-modal,.edge-video-modal__stage,.bunny-lightbox-player__interface { transition:none !important; }
}
