
  :root{
    --ink:#191715;
    --ink-soft:#4a453f;
    --paper:#ffffff;
    --paper-dim:#f5f3ee;
    --red:#c8161d;
    --red-deep:#981016;
    --line:#e4e0d6;
    --gold:#b8860b;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Hind Siliguri',sans-serif;
  }
  h1,h2,h3,.headline{
    font-family:'Noto Serif Bengali',serif;
    margin:0;
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  ul{margin:0; padding:0; list-style:none;}

  /* ---------- utility bar ---------- */
  .utility{
    background:var(--ink); color:rgba(255,255,255,0.75);
    font-size:0.82rem;
  }
  .utility-wrap{
    max-width:1240px; margin:0 auto; padding:7px 24px;
    display:flex; justify-content:space-between; align-items:center;
  }
  .utility-wrap .date{letter-spacing:0.02em;}
  .utility-wrap .links{display:flex; gap:18px;}
  .utility-wrap .links a:hover{color:#fff;}

  /* ---------- main header ---------- */
  header{
    border-bottom:3px solid var(--ink);
    background:var(--paper);
    position:sticky; top:0; z-index:100;
  }
  .header-wrap{
    max-width:1240px; margin:0 auto; padding:18px 24px 14px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .logo{
    font-size:2.3rem; font-weight:800; letter-spacing:-0.01em;
  }
  .logo span{color:var(--red);}
  .header-actions{display:flex; align-items:center; gap:18px;}
  .search-icon{
    width:38px; height:38px; border:1px solid var(--line); border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-size:0.95rem;
  }
  .btn-sub{
    background:var(--red); color:#fff; padding:10px 20px;
    font-weight:600; font-size:0.88rem; border-radius:2px;
  }
  .btn-premium{
    background:linear-gradient(135deg,#d4af37,#9a7419);
    display:inline-flex; align-items:center; gap:6px;
    box-shadow:0 4px 14px rgba(184,134,11,0.35);
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .btn-premium:hover{transform:translateY(-1px); box-shadow:0 6px 18px rgba(184,134,11,0.5);}
  .btn-premium span{font-size:0.85rem;}

  nav.primary{
    border-top:1px solid var(--line);
  }
  .nav-wrap{
    max-width:1240px; margin:0 auto; padding:0 24px;
    display:flex; gap:0; overflow-x:auto;
  }
  .nav-wrap a{
    padding:13px 16px; font-weight:600; font-size:0.94rem; white-space:nowrap;
    border-bottom:3px solid transparent; transition:border-color .2s, color .2s;
  }
  .nav-wrap a:hover, .nav-wrap a.active{
    border-color:var(--red); color:var(--red-deep);
  }

  /* ---------- breaking ticker ---------- */
  .breaking{
    background:var(--red); color:#fff;
    display:flex; align-items:stretch;
  }
  .breaking .tag{
    background:var(--red-deep); padding:9px 18px; font-weight:700; font-size:0.85rem;
    display:flex; align-items:center; white-space:nowrap; letter-spacing:0.03em;
  }
  .breaking-track-wrap{overflow:hidden; flex:1; display:flex; align-items:center;}
  .breaking-track-wrap:hover .breaking-track{animation-play-state:paused;}
  .breaking-track{
    display:inline-flex; white-space:nowrap; animation:tick 55s linear infinite; padding-left:100%;
  }
  .breaking-track a{
    padding:0 30px; font-size:0.9rem; font-weight:500; display:flex; align-items:center; gap:10px;
  }
  .breaking-track a::before{content:"•"; opacity:0.7;}
  @keyframes tick{
    from{transform:translateX(0);}
    to{transform:translateX(-100%);}
  }

  /* ---------- layout shell ---------- */
  .wrap{max-width:1240px; margin:0 auto; padding:0 24px;}

  /* ---------- cinematic full-bleed hero ---------- */
  .cine-hero{
    position:relative; width:100%; background:#000; overflow:hidden;
  }
  .cine-bg{
    position:absolute; inset:-24px; z-index:0;
    background:
      radial-gradient(ellipse at 70% 30%, rgba(196,106,44,0.55), transparent 55%),
      radial-gradient(ellipse at 20% 80%, rgba(13,43,46,0.9), transparent 60%),
      linear-gradient(155deg,#0c2426 0%,#123a3d 38%,#2b3a2a 62%,#8a4a1f 100%);
    animation:kenburns 22s ease-in-out infinite alternate;
    will-change:transform;
  }
  @keyframes kenburns{
    from{transform:scale(1) translate(0,0);}
    to{transform:scale(1.1) translate(-1.5%,-2%);}
  }
  .cine-hero::before{
    content:""; position:absolute; inset:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.16'/%3E%3C/svg%3E");
    mix-blend-mode:overlay; z-index:1;
    animation:grainFlicker 0.4s steps(2) infinite;
  }
  @keyframes grainFlicker{
    0%,100%{opacity:0.14;} 25%{opacity:0.22;} 50%{opacity:0.11;} 75%{opacity:0.19;}
  }
  .cine-hero::after{
    content:""; position:absolute; inset:0;
    box-shadow:inset 0 0 160px 40px rgba(0,0,0,0.75);
    z-index:1;
  }
  .cine-sweep{
    position:absolute; top:-60%; left:-40%; width:35%; height:220%;
    background:linear-gradient(78deg, transparent, rgba(255,255,255,0.09), transparent);
    transform:rotate(6deg); z-index:1;
    animation:sweep 9s ease-in-out infinite;
  }
  @keyframes sweep{
    0%{left:-40%;} 14%{left:130%;} 100%{left:130%;}
  }
  .cine-bar{height:26px; background:#000; position:relative; z-index:3; transform:scaleY(0); transform-origin:center;}
  .cine-bar.top{animation:barTop .7s cubic-bezier(.16,1,.3,1) .1s forwards;}
  .cine-bar.bottom{animation:barTop .7s cubic-bezier(.16,1,.3,1) .1s forwards;}
  @keyframes barTop{to{transform:scaleY(1);}}
  .cine-stage{
    position:relative; aspect-ratio:21/9; z-index:2;
    display:flex; align-items:flex-end;
  }
  .cine-scrim{
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(0deg, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.35) 45%, transparent 75%);
  }
  .cine-content{
    position:relative; z-index:3; max-width:1240px; margin:0 auto; width:100%;
    padding:0 24px 44px; color:#fff;
  }
  .cine-content .cat-tag{
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(200,22,29,0.9); color:#fff; padding:6px 14px; border-radius:2px;
    font-size:0.78rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
    box-shadow:0 0 22px rgba(200,22,29,0.55); margin-bottom:16px;
    opacity:1; animation:fadeUp .7s ease .1s;
  }
  .cine-content .cat-tag::before{content:""; width:7px; height:7px; border-radius:50%; background:#fff;}
  .cine-content h1{
    font-size:2.9rem; line-height:1.2; margin-bottom:16px; max-width:18ch;
    text-shadow:0 4px 24px rgba(0,0,0,0.6); letter-spacing:-0.01em;
    opacity:1; animation:fadeUp .8s ease .2s;
  }
  .cine-content p{
    font-size:1.04rem; line-height:1.75; color:rgba(255,255,255,0.8); max-width:58ch; margin-bottom:14px;
    text-shadow:0 2px 10px rgba(0,0,0,0.5);
    opacity:1; animation:fadeUp .8s ease .3s;
  }
  .cine-content .byline{
    opacity:1; animation:fadeUp .8s ease .4s;
  }
  @keyframes fadeUp{
    from{transform:translateY(16px);}
    to{transform:translateY(0);}
  }
  .byline{font-size:0.82rem; color:rgba(255,255,255,0.6);}

  /* ---------- hero package ---------- */
  .hero-grid{
    display:grid; grid-template-columns:1.7fr 1fr; gap:40px;
    padding:32px 0 44px; border-bottom:1px solid var(--line);
  }
  .lead-story .kicker{
    font-size:0.85rem; font-weight:700; color:var(--red-deep); text-transform:uppercase;
    letter-spacing:0.05em; margin-bottom:10px; display:block;
  }
  .lead-story .thumb{
    aspect-ratio:16/9; position:relative; overflow:hidden; border-radius:2px; margin-bottom:16px;
  }
  .lead-story .thumb::after{
    content:""; position:absolute; inset:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.13'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
  }
  .lead-story h2{font-size:1.3rem; line-height:1.5; margin-bottom:10px;}
  .lead-story .sub{font-size:0.94rem; color:var(--ink-soft); line-height:1.7;}

  .headline-list{display:flex; flex-direction:column;}
  .headline-list li{
    padding:16px 0; border-bottom:1px solid var(--line);
  }
  .headline-list li:first-child{padding-top:0;}
  .headline-list a{
    display:block; font-family:'Noto Serif Bengali',serif; font-size:1.06rem;
    line-height:1.5; font-weight:600; transition:color .15s;
  }
  .headline-list a:hover{color:var(--red-deep);}
  .headline-list .meta{
    display:flex; gap:8px; margin-top:8px; font-size:0.78rem; color:#8a8478;
  }
  .headline-list .meta .cat{color:var(--red); font-weight:700;}

  /* ---------- main content: articles + sidebar ---------- */
  .content-grid{
    display:grid; grid-template-columns:2.2fr 1fr; gap:44px;
    padding:44px 0;
  }
  .section-title{
    font-size:1.5rem; margin-bottom:22px; padding-bottom:12px; border-bottom:2px solid var(--ink);
    display:flex; justify-content:space-between; align-items:baseline;
  }
  .section-title .more{font-family:'Hind Siliguri',sans-serif; font-size:0.85rem; font-weight:600; color:var(--red);}

  .story-row{
    display:grid; grid-template-columns:150px 1fr; gap:18px;
    padding:20px 0; border-bottom:1px solid var(--line);
    transition:transform .25s ease;
  }
  .story-row:first-child{padding-top:0;}
  .story-row:hover{transform:translateX(4px);}
  .story-row:hover h3{color:var(--red-deep);}
  .story-row .thumb{overflow:hidden;}
  .story-row .thumb::before{transition:transform .4s ease;}
  .story-row:hover .thumb::before{transform:scale(1.06);}
  .story-row .thumb{
    aspect-ratio:4/3;
    background:
      radial-gradient(circle at 75% 25%, rgba(196,106,44,0.5), transparent 60%),
      linear-gradient(135deg,var(--tc1,#0d2b2e),var(--tc2,#123a3d));
    position:relative;
  }
  .story-row .thumb::before{
    content:""; position:absolute; inset:0;
    box-shadow:inset 0 0 30px 8px rgba(0,0,0,0.55);
  }
  .story-row .thumb::after{
    content:""; position:absolute; inset:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.14'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
  }
  .story-row h3{font-size:1.12rem; line-height:1.45; margin-bottom:8px;}
  .story-row p{font-size:0.88rem; color:var(--ink-soft); line-height:1.6; margin-bottom:8px;}
  .story-row .meta{font-size:0.78rem; color:#8a8478;}
  .story-row .meta .cat{color:var(--red); font-weight:700;}

  /* ---------- sidebar: trending ---------- */
  .sidebar-box{margin-bottom:40px;}
  .trend-item{
    display:grid; grid-template-columns:34px 1fr; gap:14px;
    padding:15px 0; border-bottom:1px solid var(--line);
  }
  .trend-item:first-child{padding-top:0;}
  .trend-num{
    font-family:'Noto Serif Bengali',serif; font-weight:800; font-size:1.5rem;
    color:transparent; -webkit-text-stroke:1.3px var(--red);
  }
  .trend-item h4{font-size:0.96rem; line-height:1.5; font-weight:600; margin-bottom:6px;}
  .trend-item span{font-size:0.76rem; color:#8a8478;}

  .newsletter-box{
    background:var(--ink); color:#fff; padding:28px 24px; border-radius:2px;
  }
  .newsletter-box h4{font-family:'Noto Serif Bengali',serif; font-size:1.2rem; margin-bottom:10px;}
  .newsletter-box p{font-size:0.86rem; color:rgba(255,255,255,0.65); line-height:1.6; margin-bottom:16px;}
  .newsletter-box form{display:flex; flex-direction:column; gap:10px;}
  .newsletter-box input{
    padding:11px 13px; border:1px solid rgba(255,255,255,0.2); background:rgba(255,255,255,0.06);
    color:#fff; border-radius:2px; font-family:'Hind Siliguri',sans-serif;
  }
  .newsletter-box input::placeholder{color:rgba(255,255,255,0.4);}
  .newsletter-box button{
    background:var(--red); color:#fff; border:none; padding:12px; font-weight:700;
    border-radius:2px; cursor:pointer; font-family:'Hind Siliguri',sans-serif;
  }
  .premium-box{
    border:1px solid rgba(212,175,55,0.35);
    background:linear-gradient(165deg,#191715,#241d10 140%);
  }
  .premium-badge{
    display:inline-block; font-size:0.74rem; font-weight:700; letter-spacing:0.04em;
    color:#e8c766; margin-bottom:12px;
  }
  .premium-box button{
    background:linear-gradient(135deg,#d4af37,#9a7419); color:#1a1408;
  }

  /* ---------- category strip ---------- */
  .cat-strip{background:var(--paper-dim); padding:50px 0;}
  .cat-cols{
    display:grid; grid-template-columns:repeat(4,1fr); gap:36px;
  }
  .cat-col h3{
    font-size:1.15rem; color:var(--red-deep); margin-bottom:16px; padding-bottom:10px;
    border-bottom:2px solid var(--ink); display:flex; justify-content:space-between; align-items:baseline;
  }
  .cat-col h3 a{font-family:'Hind Siliguri',sans-serif; font-size:0.78rem; color:var(--ink-soft); font-weight:500;}
  .cat-col ul li{padding:12px 0; border-bottom:1px solid var(--line);}
  .cat-col ul li:first-child{padding-top:0;}
  .cat-col ul li:last-child{border-bottom:none;}
  .cat-col ul li a{font-size:0.92rem; line-height:1.5; font-weight:500;}
  .cat-col ul li a:hover{color:var(--red-deep);}
  .cat-col ul li span{display:block; font-size:0.74rem; color:#8a8478; margin-top:5px;}

  /* ---------- film archive ---------- */
  .archive-strip{background:var(--ink); padding:64px 0 56px; color:#fff;}
  .archive-head{
    display:flex; justify-content:space-between; align-items:baseline;
    margin-bottom:34px; padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,0.14);
  }
  .archive-head h2{color:#fff; font-size:1.9rem;}
  .archive-head .tagline{color:rgba(255,255,255,0.5); font-size:0.88rem; margin-top:6px; display:block;}
  .archive-head .more{color:#e8c766; font-size:0.85rem; font-weight:600; white-space:nowrap;}
  .archive-scroll{
    display:flex; gap:26px; overflow-x:auto; padding-bottom:16px; scroll-snap-type:x mandatory;
  }
  .archive-scroll::-webkit-scrollbar{height:5px;}
  .archive-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.18); border-radius:3px;}
  .arc-poster{
    flex:0 0 190px; aspect-ratio:2/3; position:relative; scroll-snap-align:start;
    clip-path: polygon(0% 3%,8% 0%,16% 3%,24% 0%,32% 3%,40% 0%,48% 3%,56% 0%,64% 3%,72% 0%,80% 3%,88% 0%,96% 3%,100% 0%,
      100% 97%,92% 100%,84% 97%,76% 100%,68% 97%,60% 100%,52% 97%,44% 100%,36% 97%,28% 100%,20% 97%,12% 100%,4% 97%,0% 100%);
    transition:transform .3s ease, box-shadow .3s ease; cursor:pointer;
  }
  .arc-poster:hover{transform:translateY(-8px) rotate(-1deg);}
  .arc-poster .arc-bg{
    position:absolute; inset:0;
    background:
      radial-gradient(circle at 75% 20%, rgba(212,175,55,0.28), transparent 60%),
      linear-gradient(160deg,var(--tc1,#1b1b2e),var(--tc2,#3d2b5c));
  }
  .arc-poster .arc-bg::after{
    content:""; position:absolute; inset:0; box-shadow:inset 0 0 40px 10px rgba(0,0,0,0.6);
  }
  .arc-poster .frame{
    position:absolute; inset:0; padding:16px; display:flex; flex-direction:column; justify-content:flex-end;
    border:1px solid rgba(212,175,55,0.35);
  }
  .arc-poster .year{font-size:0.72rem; color:#e8c766; font-weight:700; margin-bottom:6px; letter-spacing:0.03em;}
  .arc-poster h4{font-size:1rem; color:#fff; line-height:1.35;}
  .arc-poster p{font-size:0.78rem; color:rgba(255,255,255,0.6); margin-top:6px; line-height:1.5;}

  /* ---------- stories / shorts bar ---------- */
  .stories-bar{background:var(--paper-dim); padding:18px 0; border-bottom:1px solid var(--line);}
  .stories-scroll{
    display:flex; gap:20px; overflow-x:auto; padding:2px 0 6px;
    max-width:1240px; margin:0 auto; padding-left:24px; padding-right:24px;
  }
  .stories-scroll::-webkit-scrollbar{height:4px;}
  .stories-scroll::-webkit-scrollbar-thumb{background:var(--line); border-radius:3px;}
  .story-item{
    flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:7px;
    width:76px; cursor:pointer;
  }
  .story-ring{
    width:66px; height:66px; border-radius:50%; padding:3px;
    background:linear-gradient(135deg,var(--red),var(--gold));
    display:flex; align-items:center; justify-content:center;
    transition:transform .2s ease;
  }
  .story-item:hover .story-ring{transform:scale(1.06);}
  .story-avatar{
    width:100%; height:100%; border-radius:50%; position:relative; overflow:hidden;
    border:2px solid var(--paper-dim);
    background:radial-gradient(circle at 70% 25%, rgba(212,175,55,0.35), transparent 60%),
      linear-gradient(150deg,var(--tc1,#1b1b2e),var(--tc2,#3d2b5c));
  }
  .story-item span{
    font-size:0.72rem; text-align:center; color:var(--ink-soft); font-weight:500;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:76px;
  }
  .story-add .story-ring{background:var(--paper); border:2px dashed #c9c2ae; padding:0;}
  .story-add .story-avatar{
    background:var(--paper); display:flex; align-items:center; justify-content:center;
    border:none;
  }
  .story-add .plus{font-size:1.6rem; color:var(--red); font-weight:300;}
  .story-add span{color:var(--red-deep); font-weight:600;}

  /* ---------- live tv ---------- */
  .live-strip{background:var(--ink); padding:60px 0; color:#fff;}
  .live-grid{display:grid; grid-template-columns:1.8fr 1fr; gap:40px;}
  .live-player{
    position:relative; aspect-ratio:16/9; border-radius:3px; overflow:hidden;
    background:
      radial-gradient(ellipse at 70% 25%, rgba(196,106,44,0.4), transparent 55%),
      radial-gradient(ellipse at 20% 80%, rgba(13,43,46,0.85), transparent 60%),
      linear-gradient(155deg,#0c2426 0%,#123a3d 45%,#2b3a2a 75%,#5c3a1f 100%);
  }
  .live-player::after{
    content:""; position:absolute; inset:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.13'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
  }
  .live-badge{
    position:absolute; top:16px; left:16px; z-index:3;
    background:var(--red); padding:6px 13px; border-radius:2px;
    font-size:0.78rem; font-weight:700; letter-spacing:0.03em;
    display:flex; align-items:center; gap:7px;
  }
  .live-badge::before{
    content:""; width:8px; height:8px; border-radius:50%; background:#fff;
    animation:pulseDot 1.5s ease-in-out infinite;
  }
  @keyframes pulseDot{0%,100%{opacity:1;} 50%{opacity:0.25;}}
  .live-viewers{
    position:absolute; top:16px; right:16px; z-index:3;
    background:rgba(0,0,0,0.55); padding:6px 13px; border-radius:2px; font-size:0.78rem;
  }
  .play-circle{
    width:72px; height:72px; border-radius:50%;
    background:rgba(255,255,255,0.14); backdrop-filter:blur(3px);
    border:1px solid rgba(255,255,255,0.4);
    display:flex; align-items:center; justify-content:center;
    transition:transform .2s ease; cursor:pointer;
  }
  .play-circle::after{
    content:""; width:0; height:0; margin-left:4px;
    border-style:solid; border-width:11px 0 11px 17px;
    border-color:transparent transparent transparent #fff;
  }
  .live-player:hover .play-circle{transform:scale(1.08);}
  .live-center{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:3;}
  .live-info{margin-top:18px;}
  .live-info h3{font-size:1.35rem; margin-bottom:8px;}
  .live-info p{color:rgba(255,255,255,0.6); font-size:0.9rem; line-height:1.6;}
  .live-schedule h4{
    font-size:1.1rem; margin-bottom:16px; padding-bottom:14px;
    border-bottom:1px solid rgba(255,255,255,0.15); color:#fff;
  }
  .sched-item{
    display:flex; gap:14px; align-items:center;
    padding:13px 0; border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .sched-item:last-child{border-bottom:none;}
  .sched-time{font-size:0.8rem; color:#e8c766; font-weight:700; min-width:52px;}
  .sched-item h5{font-size:0.9rem; font-weight:500; color:rgba(255,255,255,0.85);}
  .sched-item.now{
    background:rgba(200,22,29,0.14); margin:0 -14px; padding:13px 14px; border-radius:2px;
    border-bottom-color:transparent;
  }
  .sched-item.now .sched-time{color:#ff8a8a;}

  /* ---------- video gallery ---------- */
  .video-strip{padding:60px 0;}
  .video-strip .section-title span{display:flex; align-items:center; gap:10px;}
  .yt-badge{
    width:26px; height:19px; background:var(--red); border-radius:5px;
    position:relative; display:inline-block; flex-shrink:0;
  }
  .yt-badge::after{
    content:""; position:absolute; top:50%; left:52%; transform:translate(-50%,-50%);
    width:0; height:0; border-style:solid; border-width:5px 0 5px 8px;
    border-color:transparent transparent transparent #fff;
  }
  .video-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
  .video-card{cursor:pointer;}
  .video-thumb{
    aspect-ratio:16/9; position:relative; border-radius:3px; overflow:hidden;
    background:
      radial-gradient(circle at 75% 20%, rgba(196,106,44,0.4), transparent 60%),
      linear-gradient(150deg,var(--tc1,#1b1b2e),var(--tc2,#3d2b5c));
    transition:box-shadow .25s ease;
  }
  .video-card:hover .video-thumb{box-shadow:0 14px 30px -8px rgba(0,0,0,0.35);}
  .video-thumb .play-circle{width:48px; height:48px;}
  .video-thumb .play-circle::after{border-width:8px 0 8px 12px; margin-left:3px;}
  .video-thumb .live-center{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:2;}
  .video-duration{
    position:absolute; bottom:8px; right:8px; z-index:3;
    background:rgba(0,0,0,0.78); color:#fff; font-size:0.72rem; padding:2px 7px; border-radius:2px;
  }
  .video-card h4{font-size:0.95rem; margin-top:12px; line-height:1.45; color:var(--ink);}
  .video-card:hover h4{color:var(--red-deep);}
  .video-meta{font-size:0.78rem; color:#8a8478; margin-top:6px;}

  /* ---------- live tv ---------- */
  .live-section{background:#0e0d0c; padding:56px 0 60px; color:#fff;}
  .live-head{
    display:flex; align-items:center; gap:14px; margin-bottom:28px;
  }
  .live-head h2{color:#fff; font-size:1.7rem;}
  .live-pulse{
    display:inline-flex; align-items:center; gap:7px;
    background:var(--red); padding:5px 12px; border-radius:2px;
    font-size:0.76rem; font-weight:700; letter-spacing:0.05em;
  }
  .live-pulse::before{
    content:""; width:7px; height:7px; border-radius:50%; background:#fff;
    animation:pulseDot 1.4s ease infinite;
  }
  @keyframes pulseDot{0%,100%{opacity:1;} 50%{opacity:0.3;}}
  .live-grid{display:grid; grid-template-columns:1.8fr 1fr; gap:36px;}
  .live-player{
    position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:2px;
    background:
      radial-gradient(circle at 65% 30%, rgba(196,106,44,0.4), transparent 55%),
      linear-gradient(150deg,#0c2426,#123a3d 45%,#2b1a12 100%);
  }
  .live-player::after{
    content:""; position:absolute; inset:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.13'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
  }
  .live-play{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:2;
  }
  .live-play-btn{
    width:70px; height:70px; border-radius:50%; background:rgba(255,255,255,0.14);
    backdrop-filter:blur(4px); border:1px solid rgba(255,255,255,0.35);
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    transition:transform .2s ease, background .2s ease;
  }
  .live-play-btn:hover{transform:scale(1.08); background:rgba(255,255,255,0.22);}
  .live-play-btn::after{
    content:""; width:0; height:0; margin-left:5px;
    border-top:12px solid transparent; border-bottom:12px solid transparent; border-left:18px solid #fff;
  }
  .live-info-bar{
    position:absolute; left:0; right:0; bottom:0; z-index:2; padding:18px 22px;
    display:flex; justify-content:space-between; align-items:center;
    background:linear-gradient(0deg, rgba(0,0,0,0.85), transparent);
  }
  .live-info-bar h3{color:#fff; font-size:1.15rem;}
  .live-viewers{font-size:0.8rem; color:rgba(255,255,255,0.7); margin-top:4px;}
  .live-channels{display:flex; gap:8px;}
  .live-chip{
    padding:6px 12px; font-size:0.76rem; border:1px solid rgba(255,255,255,0.25);
    border-radius:20px; color:rgba(255,255,255,0.7); cursor:pointer; transition:.2s;
  }
  .live-chip.active{background:var(--red); border-color:var(--red); color:#fff;}
  .schedule-box h4{font-size:1.05rem; color:#fff; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,0.14);}
  .schedule-item{
    display:flex; gap:14px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,0.1);
    align-items:baseline;
  }
  .schedule-item .time{font-size:0.82rem; color:#e8c766; font-weight:700; min-width:52px;}
  .schedule-item .prog{font-size:0.92rem; color:rgba(255,255,255,0.85);}
  .schedule-item.now .prog{color:#fff; font-weight:600;}
  .schedule-item.now .time{color:var(--red);}

  /* ---------- shorts rail ---------- */
  .shorts-section{background:var(--paper-dim); padding:56px 0 60px;}
  .shorts-head{
    display:flex; justify-content:space-between; align-items:baseline;
    margin-bottom:26px; padding-bottom:14px; border-bottom:2px solid var(--ink);
  }
  .shorts-head h2{font-size:1.7rem;}
  .shorts-scroll{display:flex; gap:18px; overflow-x:auto; padding-bottom:12px;}
  .shorts-scroll::-webkit-scrollbar{height:5px;}
  .shorts-scroll::-webkit-scrollbar-thumb{background:var(--line); border-radius:3px;}
  .short-card{
    flex:0 0 165px; aspect-ratio:9/16; position:relative; border-radius:8px; overflow:hidden;
    background:linear-gradient(160deg,var(--tc1,#1b1b2e),var(--tc2,#3d2b5c));
    cursor:pointer; transition:transform .25s ease;
    scroll-margin-top:100px;
  }
  .short-card:target{
    animation:shortHighlight 1.6s ease;
  }
  @keyframes shortHighlight{
    0%, 100%{box-shadow:none;}
    25%{box-shadow:0 0 0 4px var(--gold);}
  }
  .short-card:hover{transform:translateY(-6px);}
  .short-source-badge{
    position:absolute; top:8px; left:8px; z-index:2;
    background:rgba(0,0,0,0.65); color:#fff; font-size:0.66rem; font-weight:700;
    padding:3px 8px; border-radius:2px; letter-spacing:0.03em;
  }
  .short-card::after{
    content:""; position:absolute; inset:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.13'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
  }
  .short-play{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,0.18);
    backdrop-filter:blur(3px); border:1px solid rgba(255,255,255,0.4);
    display:flex; align-items:center; justify-content:center; z-index:2;
  }
  .short-play::after{
    content:""; width:0; height:0; margin-left:3px;
    border-top:7px solid transparent; border-bottom:7px solid transparent; border-left:10px solid #fff;
  }
  .short-meta{
    position:absolute; left:0; right:0; bottom:0; z-index:2; padding:12px;
    background:linear-gradient(0deg, rgba(0,0,0,0.85), transparent);
    color:#fff; font-size:0.78rem; line-height:1.4;
  }
  .short-meta .views{color:rgba(255,255,255,0.65); font-size:0.72rem; margin-top:3px;}
  .short-card.add-card{
    background:var(--paper); border:2px dashed #c9c2ae;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  }
  .short-card.add-card .plus-circle{
    width:42px; height:42px; border-radius:50%; background:var(--red); color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:1.3rem; font-weight:700;
  }
  .short-card.add-card span{font-size:0.8rem; font-weight:600; color:var(--ink-soft); text-align:center; padding:0 10px;}

  /* ---------- video gallery ---------- */
  .videogal-section{padding:60px 0;}
  .videogal-head{
    display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:16px;
    margin-bottom:28px; padding-bottom:16px; border-bottom:2px solid var(--ink);
  }
  .videogal-head h2{font-size:1.7rem;}
  .videogal-tabs{display:flex; gap:8px; flex-wrap:wrap;}
  .vtab{
    padding:7px 16px; font-size:0.85rem; font-weight:600; border-radius:20px;
    border:1px solid var(--line); color:var(--ink-soft); cursor:pointer; transition:.2s; background:none;
    font-family:'Hind Siliguri',sans-serif;
  }
  .vtab.active, .vtab:hover{background:var(--red); border-color:var(--red); color:#fff;}
  .videogal-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
  }
  .vcard{cursor:pointer;}
  .vcard .vthumb{
    aspect-ratio:16/9; position:relative; border-radius:4px; overflow:hidden; margin-bottom:12px;
    background:linear-gradient(150deg,var(--tc1,#1b3a5c),var(--tc2,#3d6ea5));
  }
  .vcard .vthumb::after{
    content:""; position:absolute; inset:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.13'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
  }
  .vcard .vplay{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(0.9);
    width:46px; height:46px; border-radius:50%; background:rgba(0,0,0,0.55);
    display:flex; align-items:center; justify-content:center; z-index:2;
    transition:transform .2s ease, background .2s ease;
  }
  .vcard:hover .vplay{transform:translate(-50%,-50%) scale(1.05); background:var(--red);}
  .vcard .vplay::after{
    content:""; width:0; height:0; margin-left:3px;
    border-top:8px solid transparent; border-bottom:8px solid transparent; border-left:12px solid #fff;
  }
  .vcard .vdur{
    position:absolute; right:8px; bottom:8px; z-index:2;
    background:rgba(0,0,0,0.75); color:#fff; font-size:0.72rem; padding:2px 6px; border-radius:2px;
  }
  .vcard .yt-badge{
    position:absolute; left:8px; top:8px; z-index:2;
    background:rgba(0,0,0,0.6); color:#fff; font-size:0.68rem; font-weight:700; padding:3px 8px;
    border-radius:2px; letter-spacing:0.03em;
  }
  .vcard h4{font-size:0.96rem; line-height:1.45; margin-bottom:6px;}
  .vcard .vmeta{font-size:0.78rem; color:#8a8478;}
  .vcard.hidden{display:none;}

  /* ---------- footer ---------- */
  footer{background:var(--ink); color:rgba(255,255,255,0.6); padding:50px 0 26px;}
  .foot-grid{display:grid; grid-template-columns:1.5fr repeat(4,1fr); gap:32px; padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,0.12);}
  .foot-grid .logo{color:#fff; font-size:1.7rem; margin-bottom:10px;}
  .foot-grid p{font-size:0.85rem; line-height:1.7; max-width:30ch;}
  .foot-grid h5{color:#fff; font-size:0.88rem; margin-bottom:14px;}
  .foot-grid ul li{margin-bottom:9px; font-size:0.86rem;}
  .foot-grid ul li a:hover{color:#fff;}
  .foot-bottom{
    display:flex; justify-content:space-between; padding-top:22px; font-size:0.78rem;
  }

  @media (max-width:960px){
    .hero-grid, .content-grid{grid-template-columns:1fr;}
    .cat-cols{grid-template-columns:repeat(2,1fr);}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .cine-stage{aspect-ratio:4/3;}
    .cine-content h1{font-size:2.1rem; max-width:100%;}
    .live-grid{grid-template-columns:1fr;}
    .videogal-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:600px){
    .cat-cols{grid-template-columns:1fr;}
    .story-row{grid-template-columns:100px 1fr;}
    .cine-bar{height:14px;}
    .cine-stage{aspect-ratio:3/4;}
    .cine-content h1{font-size:1.7rem;}
    .videogal-grid{grid-template-columns:1fr 1fr;}
    .videogal-grid{gap:14px;}
  }
  @media (prefers-reduced-motion: reduce){
    *{animation:none !important;}
    .cine-content .cat-tag, .cine-content h1, .cine-content p, .cine-content .byline,
    .cine-bar{opacity:1 !important; transform:none !important;}
  }

/* ---------- dynamic content additions ---------- */
.art img, .thumb img, .vthumb img, .short-card img, .arc-poster img {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;
}

/* ---------- short video lightbox player ---------- */
.short-modal{
  display:none; position:fixed; inset:0; z-index:9999;
  background:rgba(0,0,0,0.92); align-items:center; justify-content:center;
  padding:30px 16px;
}
.short-modal.open{display:flex;}
.short-modal-inner{
  position:relative; width:100%; max-width:420px; aspect-ratio:9/16;
  background:#000; border-radius:10px; overflow:hidden;
}
.short-modal-player{width:100%; height:100%;}
.short-modal-player video, .short-modal-player iframe{
  width:100%; height:100%; border:none; display:block; object-fit:contain; background:#000;
}
.short-modal-close{
  position:absolute; top:-42px; right:0; z-index:2;
  background:rgba(255,255,255,0.12); color:#fff; border:1px solid rgba(255,255,255,0.3);
  width:34px; height:34px; border-radius:50%; font-size:1.1rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.short-modal-close:hover{background:rgba(255,255,255,0.22);}

.notice-banner{
  max-width:1240px; margin:14px auto 0; padding:12px 20px; border-radius:2px;
  font-size:0.9rem; font-weight:600;
}
.notice-banner.success{background:#e8f4ea; color:#1b6b3f; border:1px solid #b9dfc2;}
.notice-banner.error{background:#fbe9e9; color:#a11f1f; border:1px solid #f0bcbc;}
.empty-state{padding:40px 0; text-align:center; color:#8a8478; font-size:0.95rem;}

/* ---------- category grid card ---------- */
.card{
  background:var(--paper); border:1px solid var(--line); border-radius:3px; overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}
.card:hover{transform:translateY(-4px); box-shadow:0 14px 28px rgba(0,0,0,0.08);}
.card .art{aspect-ratio:16/10; overflow:hidden;}
.card .art::after{
  content:""; position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.13'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
.card .body{padding:16px 18px 20px;}
.card .cat{font-size:0.76rem; font-weight:700; color:var(--red); text-transform:uppercase; letter-spacing:0.04em;}
.card h3{font-size:1.05rem; margin:8px 0 8px; line-height:1.45;}
.card p{font-size:0.86rem; color:var(--ink-soft); line-height:1.6;}
.card .meta{margin-top:10px; font-size:0.78rem; color:#8a8478;}
