.hope-vid-modal{
  display:none;position:fixed;inset:0;z-index:99999;
  background:rgba(0,0,0,0.9);
  align-items:center;justify-content:center;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.hope-vid-modal.active{display:flex;}
.hope-vid-inner{
  position:relative;width:90%;max-width:1000px;aspect-ratio:16/9;
  border-radius:16px;
  box-shadow:0 40px 100px rgba(0,0,0,0.5);
}
.hope-vid-inner iframe{width:100%;height:100%;border:none;display:block;border-radius:16px;overflow:hidden;}
.hope-vid-close{
  position:absolute;top:-56px;right:0;
  width:44px;height:44px;border-radius:50%;
  background:rgba(0,0,0,0.4);border:none;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  color:rgba(255,255,255,0.65);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:color 0.2s ease,background 0.2s ease,transform 0.2s ease;
}
.hope-vid-close:hover{color:#fff;background:rgba(0,0,0,0.6);}
.hope-vid-close:focus-visible,
.hope-vbox:focus-visible{
  outline:2px solid #C5A059;
  outline-offset:4px;
}
.hope-vbezel-outer{
  padding:8px;
  background:#f0ede8;
  border-radius:2.5rem;
  border:1px solid rgba(197,160,89,0.18);
  box-shadow:0 32px 80px rgba(24,40,30,0.10);
}
.hope-video-widget .hope-vbox{
  appearance:none;-webkit-appearance:none;border:0;padding:0;margin:0;
  display:block;text-align:inherit;color:inherit;background:transparent;
  position:relative;width:100%;aspect-ratio:16/9;
  border-radius:2.1rem;overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.22),
             0 12px 36px rgba(24,40,30,0.14);
  cursor:pointer;
  box-sizing:border-box;
  font:inherit;
  white-space:normal;
}
.hope-vbg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transition:transform 0.7s cubic-bezier(0.4,0,0.2,1);
}
.hope-vbox:hover .hope-vbg,.hope-vbox:focus-visible .hope-vbg{transform:scale(1.04);}
.hope-vbg::after{
  content:'';position:absolute;inset:0;
  background:rgba(24,40,30,0.55);
}
.hope-vplay{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:88px;height:88px;border-radius:50%;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  background:rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,0.32);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.25);
  display:flex;align-items:center;justify-content:center;
  transition:transform 0.35s cubic-bezier(0.32,0.72,0,1),background 0.35s ease;
  z-index:3;
}
.hope-vbox:hover .hope-vplay,.hope-vbox:focus-visible .hope-vplay{
  transform:translate(-50%,-50%) scale(1.1);
  background:rgba(255,255,255,0.22);
}
.hope-vplay svg{width:26px;height:26px;fill:#fff;margin-left:4px;}
.hope-vnav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,0.08);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,0.16);
  display:flex;align-items:center;justify-content:center;
  z-index:3;pointer-events:none;
}
.hope-vnav-l{left:24px;}.hope-vnav-r{right:24px;}
.hope-vnav svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.hope-vtxt{position:absolute;bottom:36px;left:40px;z-index:3;pointer-events:none;}
.hope-vtxt-head{
  display:block;
  font-family:'DM Sans',sans-serif;
  font-style:italic;font-weight:400;
  font-size:clamp(18px,2vw,28px);
  color:#fff;margin:0 0 6px;line-height:1.2;
}
.hope-vtxt-sub{
  display:block;
  font-family:DM Sans,sans-serif;
  font-size:10px;font-weight:700;
  letter-spacing:0.22em;text-transform:uppercase;
  color:rgba(255,255,255,0.6);margin:0;
}
@media(max-width:600px){
  .hope-vplay{width:56px;height:56px;}
  .hope-vplay svg{width:18px;height:18px;}
  .hope-vtxt{bottom:20px;left:20px;}
}
