/* Balance Program */
@keyframes pulse-vibrant {
  0% { box-shadow: 0 0 0 0 rgba(232, 62, 140, 0.7); }
  70% { box-shadow: 0 0 0 18px rgba(232, 62, 140, 0); }
  100% { box-shadow: 0 0 0 0 rgba(232, 62, 140, 0); }
}
.btn-vibrant {
  animation: pulse-vibrant 2s infinite;
  transition: transform 0.3s ease, background-color 0.3s ease;
  background-color: #e83e8c !important;
  color: #ffffff !important;
}
.btn-vibrant:hover {
  transform: scale(1.05);
  background-color: #d63384 !important;
  animation: none;
}
@media (max-width: 767px) {
  #exclusive-subscription { 
    padding-top: 0px !important; 
    margin-top: -20px !important; 
    background-attachment: scroll;
  }
  .flex-mobile-column { 
    flex-direction: column !important; 
    text-align: center !important; 
    gap: 5px !important; 
    margin-bottom: 15px !important;
  }
  .flex-mobile-column img {
    max-width: 300px !important; 
  }
  .mobile-text-center { 
    text-align: center !important; 
  }
  .mobile-text-center h4 {
    margin-top: 0 !important;
  }
  #exclusive-subscription h2 { font-size: 28px; }
  .col-md-10 { width: 100% !important; padding: 0 15px; }
}
@keyframes pulse-vibrant {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

@keyframes hand-click {
  0% { transform: translateY(0) scale(1); }
  50% { transform: translateY(5px) scale(0.9); }
  100% { transform: translateY(0) scale(1); }
}

.btn-vibrant-animated {
  animation: pulse-vibrant 2s infinite ease-in-out;
  transition: all 0.3s ease;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-vibrant-animated:hover {
  transform: scale(1.08) !important;
  box-shadow: 0 15px 30px rgba(232, 62, 140, 0.5) !important;
}

@media (max-width: 768px) {
  .btn-vibrant-animated {
    font-size: 24px !important; 
    
    padding: 20px 10px !important; 
    
    display: block !important;
    text-align: center;
    
    white-space: normal !important; 
    line-height: 1.2 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .clicking-hand {
    font-size: 24px !important; 
    display: inline-block !important;
    margin-top: 10px; 
  }
}

/* Video*/
  :root{
    --vh-bg:#F3F5F7;      
    --vh-radius:16px;     
    --vh-max:800px;     
  }
  .video-hero{
    background:var(--vh-bg);
    padding:48px 16px;        
  }
  .video-hero__inner{
    margin:0 auto;
    max-width:var(--vh-max);
  }

  .vh-embed{
    position:relative;
    width:100%;
    padding-top:56.25%; 
    border-radius:var(--vh-radius);
    overflow:hidden;
    background:#000;
  }
  .vh-embed iframe{
    position:absolute; inset:0;
    width:100%; height:100%;
  }

  @media (max-width: 640px){
    .video-hero{ padding:28px 12px; }
    :root{ --vh-radius:12px; }
  }

/* Modal*/
.modal {
  display: none; 
  position: fixed; 
  z-index: 1000; 
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.7);
}

.modal-content {
  background: #fff;
  margin: 5% auto;
  padding: 20px;
  border-radius: 12px;
  max-width: 600px;
  position: relative;
}

.modal-content img {
  max-width: 100%;
  height: auto;
  display: block;
}

.close {
  position: absolute;
  right: 15px;
  top: 5px;
  font-size: 28px;
  font-weight: bold;
  color: #333;
  cursor: pointer;
}

/* Strip*/
  :root{
    --oz-ink:#0f172a;
    --oz-muted:#475569;
    --oz-soft:#fff;
    --oz-pink:#ec4899;
    --oz-pink-2:#be185d;
  }
  .oz-wrap{max-width:1100px;margin:0 auto;padding:0 20px}

  .oz-title{
    margin:8px 0 14px;
    font:700 clamp(20px,3.4vw,26px)/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial;
    color:var(--oz-ink);
    text-align:center;
    letter-spacing:.2px;
  }

  .oz-filmstrip{
    background:transparent;     
    border-radius:16px;
    padding: 8px 0 50px 0;
  }

  .oz-frame{
    overflow:hidden; position:relative;
    -webkit-mask-image: linear-gradient(90deg,transparent 0%, #000 8%, #000 92%, transparent 100%);
            mask-image: linear-gradient(90deg,transparent 0%, #000 8%, #000 92%, transparent 100%);
  }

  .oz-strip{
    display:flex; align-items:center; gap:16px;
    width:max-content;
    animation:ozMarquee 28s linear infinite;
    will-change: transform;
  }
  @keyframes ozMarquee{
    from{ transform:translateX(0) }
    to  { transform:translateX(-50%) }
  }

  .oz-strip a{ display:block; line-height:0; }

  .oz-strip img{
    width:260px;                 /* desktop */
    aspect-ratio:1/1;
    height:auto;
    object-fit:cover;
    flex:0 0 auto;
    border-radius:12px;
    transition:transform .25s ease;
  }

  @media (hover:hover){
    .oz-strip a:hover img{ transform:translateY(-2px); }
    .oz-filmstrip:hover .oz-strip{ animation-play-state:paused; }
  }

  @media (prefers-reduced-motion:reduce){
    .oz-strip{ animation:none; }
  }

  @media (max-width:640px){
    .oz-strip{ gap:12px; }
    .oz-strip img{ width:150px; }
    .oz-title{ margin-bottom:8px; }
  }

  .lightbox{
    display:none; position:fixed; inset:0;
    background:rgba(0,0,0,.85);
    z-index:1000;
    align-items:center; justify-content:center;
    transition:opacity .25s ease;
  }
  .lightbox:target{ display:flex; }
  .lightbox img{
    max-width:92vw; max-height:90vh;
    display:block; margin:auto;
    border-radius:0;               
  }
  .lightbox-close{
    position:absolute; top:16px; right:20px;
    color:#fff; font-size:28px; font-weight:700;
    text-decoration:none; opacity:.9;
    padding:4px 10px; border-radius:999px;
    background:#333; line-height:1;
  }
  .lightbox-close:hover{ opacity:1; background:#4b5563; }

  .oz-noscript-grid{
    display:none;
    grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
    gap:12px; margin-top:10px;
  }
  .oz-noscript-grid img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; }
  .no-mask .oz-frame{-webkit-mask-image:none;mask-image:none;}

/* Guarantee*/
.oz-guarantee {
    background: #f8fafc;
    border-radius: 0 0 16px 16px; 
    padding: 32px 20px 10px 20px;
    margin: 0 auto 5px;
    text-align: center;
    position: relative;
    z-index: 5; 
    box-shadow: 0 6px 20px rgba(0,0,0,0.05);
  }
  .oz-guarantee__wrap {
    max-width: 800px;
    margin: 0 auto;
  }
  .oz-guarantee__title {
    font-size: 1.8rem;
    font-weight: 700;
    color: #d6336c;
    margin-bottom: 12px;
  }
  .oz-guarantee__text {
    font-size: 1.1rem;
    color: #333;
    line-height: 1.5;
    max-width: 600px;
    margin: 0 auto;
  }
