 @import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Montserrat:wght@500&display=swap');
 
 .cvh-demo-wrap{
    --cvh-ink:#0a0a0c;
    --cvh-panel:#141417;
    --cvh-crimson:#e50914;
    --cvh-gold:#f2b134;
    --cvh-text-hi:#f5f5f7;
    --cvh-text-lo:#a6a6ad;

    padding:0;
    background:var(--cvh-ink);
    font-family: 'Nunito', sans-serif;
    color:var(--cvh-text-hi);
    /* overflow-x:hidden; */
    max-width: 100%;
    margin: 0 auto;
  }

  .cvh-demo-wrap *{ box-sizing:border-box; }

  /* ============ HERO SLIDER ============ */
  .cvh-hero-splide{
    border-radius:0;
    overflow:hidden;
    position:relative;
  }

  .cvh-hero-slide{
    position:relative;
    height:clamp(460px, 60vw, 520px);
    display:block;
    text-decoration:none;
  }

  .cvh-hero-slide__bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    transform:scale(1.02);
    transition:transform 8s ease;
  }

  .splide__slide.is-active .cvh-hero-slide__bg{
    transform:scale(1.08);
  }

  .splide__slide{
    border-radius: 0 !important;
  }

  .cvh-hero-slide__scrim{
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg, rgba(10,10,12,0.29) 0%, rgba(10,10,12,0.25) 42%, rgba(10,10,12,0.05) 70%),
      linear-gradient(0deg, rgba(10,10,12,0.95) 0%, rgba(10,10,12,0.1) 45%, rgba(10,10,12,0.35) 100%);
  }

  .cvh-hero-slide__content{
    position:relative;
    z-index:2;
    height:100%;
    display:flex;
    align-items:flex-end;
    gap:26px;
    padding:32px clamp(20px,5vw,64px) 40px;
    max-width:760px;
  }

  .cvh-hero-poster{
    flex:none;
    width:140px;
    aspect-ratio:2/3;
    border-radius:0;
    overflow:hidden;
    background-size:cover;
    background-position:center;
    box-shadow:0 10px 28px rgba(0,0,0,0.55);
    border:1px solid rgba(255,255,255,0.12);
    opacity:0;
    transform:translateY(14px);
    animation:rise .65s ease .05s forwards;
  }

  .cvh-hero-poster-horizontal{
    flex:none;
    width: 280px; 
    aspect-ratio: 16/9;
    border-radius:0;
    overflow:hidden;
    background-size:cover;
    background-position:center;
    box-shadow:0 10px 28px rgba(0,0,0,0.55);
    border:1px solid rgba(255,255,255,0.12);
    opacity:0;
    transform:translateY(14px);
    animation:rise .65s ease .05s forwards;
  }

  .cvh-hero-textcol{
    flex:1;
    min-width:0;
  }
  
  @media only screen and (min-width: 1920px) { 	
  .cvh-hero-poster{
    width:180px;
  }
  .cvh-hero-poster-horizontal{
    width: 360px;
  }
  }
  @media (max-width:575px){
    .cvh-hero-slide{ height:clamp(300px, 100vw, 420px); }
    .cvh-hero-poster{ display:none; }
    .cvh-hero-poster-horizontal{ display:none; }
    .cvh-hero-slide__content{ gap:0; padding:16px 18px 20px; }
    .cvh-scene-track{ margin-bottom:10px; }
    .cvh-scene-bar{ display:none; }
  }

  /* scene counter + progress — signature element */
  .cvh-scene-track{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
    opacity:0;
    transform:translateY(10px);
    animation:rise .6s ease forwards;
  }

  .cvh-scene-counter{
    font-family:'JetBrains Mono',monospace;
    font-size:12px;
    letter-spacing:1px;
    color:var(--cvh-gold);
    white-space:nowrap;
  }

  .cvh-scene-bar{
    flex:1;
    max-width:120px;
    height:2px;
    background:rgba(255,255,255,0.15);
    border-radius:2px;
    overflow:hidden;
  }

  .cvh-scene-bar__fill{
    height:100%;
    width:0%;
    background:var(--cvh-gold);
  }

  .cvh-meta-row{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:14px;
    opacity:0;
    transform:translateY(10px);
    animation:rise .6s ease .05s forwards;
  }

  .cvh-badge{
    display:inline-block;
    padding:5px 12px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.4px;
    text-transform:uppercase;
    color:#fff;
    background:rgba(229,9,20,0.88);
    border-radius:3px;
  }

  .cvh-meta-item{
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.cvh-meta-item .dot {
  width: 6px;
  height: 6px;
  background: #f2b134;
  border-radius: 50%;
  margin-right: 6px;
  box-shadow: 0 0 6px #f2b134;
}

/* .cvh-meta-item::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--cvh-gold);
  transform:translateY(-50%);
  box-shadow:0 0 4px rgba(242,177,52,0.8);
} */


  /* .cvh-meta-rating{
    border:1px solid rgba(255,255,255,0.5);
    padding:1px 7px;
    border-radius:3px;
    color:#fff;
  } */

  .cvh-hero-title{
    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(34px, 5.5vw, 64px);
    line-height:1;
    letter-spacing:.5px;
    margin:0 0 5px;
    opacity:0;
    transform:translateY(14px);
    animation:rise .65s ease .1s forwards;
    color: #fff;
    text-transform: uppercase;
  }

  .cvh-hero-desc{
    font-size:15px;
    line-height:1.6;
    color:rgba(245,245,247,0.82);
    margin:0 0 15px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    opacity:0;
    transform:translateY(14px);
    animation:rise .65s ease .15s forwards;
  }

  .cvh-hero-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    opacity:0;
    transform:translateY(14px);
    animation:rise .65s ease .2s forwards;
  }

  @keyframes rise{
    to{opacity:1; transform:translateY(0);}
  }

  .cvh-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 18px;
    border-radius:6px;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    border:none;
    cursor:pointer;
    transition:transform .15s ease, background .15s ease;
  }

  .cvh-btn:active{ transform:scale(.97); }

  .cvh-btn-watch{
    background:var(--cvh-text-hi);
    color:var(--cvh-ink);
  }
  .cvh-btn-watch:hover{ background:#fff; }

  .cvh-btn-plan{
    background:rgba(255,255,255,0.12);
    color:var(--cvh-text-hi);
    border:1px solid rgba(255,255,255,0.25);
  }
  .cvh-btn-plan:hover{ background:rgba(255,255,255,0.18); }

  .cvh-btn svg{ width:20px; height:20px; flex:none; }

  /* ============ SPLIDE NAV OVERRIDES ============ */
  .cvh-hero-splide .splide__arrow{
    background:rgba(10,10,12,0.55);
    width:44px;
    height:44px;
    opacity:0;
    transition:opacity .2s ease, background .2s ease;
  }

  .cvh-hero-splide:hover .splide__arrow{ opacity:1; }

  .cvh-hero-splide .splide__arrow:hover{
    background:rgba(229,9,20,0.85);
  }

  .cvh-hero-splide .splide__arrow svg{ fill:#fff; }

  .cvh-hero-splide .splide__pagination{
    bottom:18px;
    z-index:3;
    justify-content:flex-start;
    padding-left:clamp(20px,5vw,64px);
    gap:6px;
  }

  .cvh-hero-splide .splide__pagination__page{
    width:26px;
    height:3px;
    border-radius:2px;
    background:rgba(255,255,255,0.3);
    transform:none;
    margin:0;
  }

  .cvh-hero-splide .splide__pagination__page.is-active{
    background:var(--cvh-crimson);
    transform:none;
  }

  @media (max-width:575px){
    .cvh-hero-title{ font-size:clamp(24px, 8vw, 32px); margin-bottom:8px; }
    .cvh-hero-desc{
      font-size:12.5px;
      -webkit-line-clamp:1;
      margin-bottom:16px;
    }
    .cvh-badge, .cvh-meta-item{ font-size:10.5px; }
    .cvh-meta-row{ margin-bottom:10px; }
    .cvh-btn{ padding:9px 14px; font-size:12.5px; }
  }
 
 @media only screen and (min-width: 1366px) {
.cvh-hero-slide{
    height:600px;
}	
}
@media only screen and (min-width: 1920px) {
.cvh-hero-slide{
    height:680px;
}	
}
@media only screen and (min-width: 2260px) {
.cvh-hero-slide{
    height:750px;
}	
}
@media only screen and (min-width: 2560px) {
.cvh-hero-slide{
    height:850px;
}	
}
@media only screen and (min-width: 2960px) {
.cvh-hero-slide{
    height:1000px;
}	
}
@media only screen and (min-width: 3260px) {
.cvh-hero-slide{
    height:1150px;
}	
}