  
/* =========================================================
   NIDT - PROMOTIONAL VIDEO SECTION
   NYX INSTITUTE OF DIGITAL TECHNOLOGY
========================================================= */

.nidt-pv-section{
    position:relative;
    overflow:hidden;
    padding:100px 20px;
    background:
        radial-gradient(circle at 10% 10%,rgba(99,102,241,.22),transparent 30%),
        radial-gradient(circle at 90% 20%,rgba(14,165,233,.16),transparent 28%),
        radial-gradient(circle at 50% 90%,rgba(168,85,247,.14),transparent 32%),
        linear-gradient(135deg,#050816 0%,#080d1d 48%,#0b1025 100%);
    color:#fff;
}

.nidt-pv-section::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
    background-size:60px 60px;
    pointer-events:none;
}

.nidt-pv-section::after{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    right:-220px;
    top:-200px;
    border-radius:50%;
    background:rgba(99,102,241,.16);
    filter:blur(90px);
    animation:nidtBgMove 8s ease-in-out infinite;
}

.nidt-pv-container{
    position:relative;
    z-index:2;
    max-width:1240px;
    margin:auto;
}


/* =========================================================
   HERO
========================================================= */

.nidt-pv-hero{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:70px;
    min-height:620px;
}

.nidt-pv-hero-content{
    max-width:610px;
}

.nidt-pv-badge{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:9px 16px;
    border:1px solid rgba(129,140,248,.25);
    border-radius:50px;
    background:rgba(99,102,241,.08);
    color:#a5b4fc;
    font-size:10px;
    font-weight:800;
    letter-spacing:1.5px;
    box-shadow:0 0 25px rgba(99,102,241,.08);
}

.nidt-pv-badge i{
    color:#38bdf8;
}

.nidt-pv-hero h1{
    margin:24px 0 22px;
    font-size:clamp(44px,5vw,70px);
    line-height:1.02;
    font-weight:900;
    letter-spacing:-3px;
}

.nidt-pv-hero h1 span{
    display:block;
    background:linear-gradient(
        90deg,
        #818cf8,
        #c084fc,
        #38bdf8
    );
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
}

.nidt-pv-hero-content > p{
    max-width:570px;
    margin:0;
    color:#94a3b8;
    font-size:15px;
    line-height:1.9;
}

.nidt-pv-hero-content > p strong{
    color:#e2e8f0;
}


/* =========================================================
   BUTTONS
========================================================= */

.nidt-pv-buttons{
    display:flex;
    align-items:center;
    gap:20px;
    margin-top:32px;
}

.nidt-pv-primary-btn{
    display:inline-flex;
    align-items:center;
    gap:12px;
    padding:15px 23px;
    border-radius:10px;
    background:linear-gradient(135deg,#6366f1,#8b5cf6);
    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
    box-shadow:0 15px 35px rgba(99,102,241,.28);
    transition:.35s ease;
}

.nidt-pv-primary-btn:hover{
    color:#fff;
    transform:translateY(-4px);
    box-shadow:0 20px 45px rgba(99,102,241,.4);
}

.nidt-pv-primary-btn i{
    transition:.3s ease;
}

.nidt-pv-primary-btn:hover i{
    transform:translateX(5px);
}

.nidt-pv-watch-btn{
    display:flex;
    align-items:center;
    gap:10px;
    color:#cbd5e1;
    text-decoration:none;
    font-size:12px;
    font-weight:700;
}

.nidt-pv-watch-btn:hover{
    color:#fff;
}

.nidt-pv-watch-btn span{
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.15);
    border-radius:50%;
    background:rgba(255,255,255,.05);
    color:#818cf8;
    transition:.3s ease;
}

.nidt-pv-watch-btn:hover span{
    background:#6366f1;
    color:#fff;
    border-color:#6366f1;
    transform:scale(1.08);
}


/* =========================================================
   HERO VISUAL
========================================================= */

.nidt-pv-hero-visual{
    position:relative;
    min-height:560px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.nidt-pv-glow{
    position:absolute;
    width:380px;
    height:380px;
    border-radius:50%;
    background:
        radial-gradient(
            circle,
            rgba(99,102,241,.30),
            rgba(139,92,246,.08) 45%,
            transparent 70%
        );
    filter:blur(15px);
    animation:nidtVideoGlow 5s ease-in-out infinite;
}


/* =========================================================
   MAIN VIDEO
========================================================= */

.nidt-pv-main-video{
    position:relative;
    z-index:3;
    width:450px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.13);
    border-radius:24px;
    background:rgba(13,19,36,.88);
    box-shadow:
        0 40px 90px rgba(0,0,0,.55),
        0 0 60px rgba(99,102,241,.15);
    backdrop-filter:blur(18px);
    transform:perspective(1000px) rotateY(-4deg);
    animation:nidtVideoFloat 6s ease-in-out infinite;
}


/* =========================================================
   VIDEO SCREEN
========================================================= */

.nidt-pv-video-screen{
    position:relative;
    height:330px;
    overflow:hidden;
    background:
        radial-gradient(circle at 50% 40%,rgba(129,140,248,.30),transparent 22%),
        radial-gradient(circle at 10% 90%,rgba(14,165,233,.22),transparent 30%),
        radial-gradient(circle at 90% 10%,rgba(168,85,247,.20),transparent 30%),
        linear-gradient(135deg,#121a3a,#050817);
}

.nidt-pv-video-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            120deg,
            transparent 30%,
            rgba(255,255,255,.07) 50%,
            transparent 70%
        );
    background-size:250% 250%;
    animation:nidtShine 5s linear infinite;
}

.nidt-pv-grid{
    position:absolute;
    inset:0;
    opacity:.15;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
    background-size:45px 45px;
    transform:perspective(500px) rotateX(55deg) scale(1.6);
    transform-origin:bottom;
}


/* =========================================================
   VIDEO TEXT
========================================================= */

.nidt-pv-video-text{
    position:absolute;
    top:50%;
    left:50%;
    z-index:2;
    width:100%;
    text-align:center;
    transform:translate(-50%,-50%);
}

.nidt-pv-video-text small{
    display:block;
    margin-bottom:12px;
    color:#a5b4fc;
    font-size:14px;
    font-weight:800;
    letter-spacing:3px;
}

.nidt-pv-video-text strong{
    display:block;
    color:#fff;
    font-size:36px;
    line-height:1.08;
    letter-spacing:-1px;
}

.nidt-pv-video-text span{
    display:block;
    margin-top:13px;
    color:#94a3b8;
    font-size:10px;
    letter-spacing:1px;
}


/* =========================================================
   PLAY BUTTON
========================================================= */

.nidt-pv-play-btn{
    position:absolute;
    left:50%;
    bottom:72px;
    z-index:5;
    width:64px;
    height:64px;
    border:1px solid rgba(255,255,255,.3);
    border-radius:50%;
    background:linear-gradient(135deg,#6366f1,#8b5cf6);
    color:#fff;
    cursor:pointer;
    transform:translateX(-50%);
    box-shadow:
        0 0 0 12px rgba(99,102,241,.10),
        0 15px 35px rgba(0,0,0,.35);
    animation:nidtPlayPulse 2.5s infinite;
    transition:.3s ease;
}

.nidt-pv-play-btn:hover{
    transform:translateX(-50%) scale(1.1);
    background:#7c3aed;
}


/* =========================================================
   VIDEO CONTROLS
========================================================= */

.nidt-pv-video-bottom{
    position:absolute;
    right:15px;
    bottom:14px;
    left:15px;
    z-index:5;
}

.nidt-pv-progress{
    width:100%;
    height:3px;
    overflow:hidden;
    border-radius:20px;
    background:rgba(255,255,255,.18);
}

.nidt-pv-progress span{
    display:block;
    width:42%;
    height:100%;
    background:linear-gradient(90deg,#6366f1,#38bdf8);
    animation:nidtProgress 5s linear infinite;
}

.nidt-pv-controls{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:9px;
    color:#cbd5e1;
    font-size:10px;
}

.nidt-pv-controls i:nth-last-child(2){
    margin-left:auto;
}


/* =========================================================
   VIDEO INFO
========================================================= */

.nidt-pv-video-info{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 19px;
}

.nidt-pv-video-info small,
.nidt-pv-video-info strong{
    display:block;
}

.nidt-pv-video-info small{
    color:#818cf8;
    font-size:7px;
    font-weight:800;
    letter-spacing:1.5px;
}

.nidt-pv-video-info strong{
    margin-top:5px;
    color:#e2e8f0;
    font-size:12px;
}

.nidt-pv-video-info > span{
    padding:5px 8px;
    border:1px solid rgba(129,140,248,.2);
    border-radius:5px;
    background:rgba(99,102,241,.08);
    color:#a5b4fc;
    font-size:10px;
    font-weight:800;
}


/* =========================================================
   FLOATING CARDS
========================================================= */

.nidt-pv-floating-card{
    position:absolute;
    z-index:8;
    display:flex;
    align-items:center;
    gap:10px;
    min-width:215px;
    padding:13px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    background:rgba(10,15,31,.90);
    box-shadow:0 25px 50px rgba(0,0,0,.35);
    backdrop-filter:blur(16px);
}

.nidt-pv-card-icon{
    width:39px;
    height:39px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    border-radius:10px;
    background:linear-gradient(135deg,#6366f1,#8b5cf6);
    color:#fff;
}

.nidt-pv-floating-card small,
.nidt-pv-floating-card strong{
    display:block;
}

.nidt-pv-floating-card small{
    color:#64748b;
    font-size:7px;
    font-weight:800;
    letter-spacing:1px;
}

.nidt-pv-floating-card strong{
    margin-top:4px;
    color:#e2e8f0;
    font-size:10px;
}

.nidt-pv-floating-card > i{
    margin-left:auto;
    color:#22c55e;
}

.nidt-pv-project{
    left:-35px;
    bottom:105px;
    animation:nidtProjectFloat 4s ease-in-out infinite;
}

.nidt-pv-result{
    right:-25px;
    bottom:35px;
    animation:nidtResultFloat 5s ease-in-out infinite;
}

.nidt-pv-result .nidt-pv-card-icon{
    background:linear-gradient(135deg,#0ea5e9,#2563eb);
}


/* =========================================================
   STATS
========================================================= */

.nidt-pv-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin-top:20px;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.nidt-pv-stat{
    display:flex;
    align-items:center;
    gap:13px;
    padding:25px 20px;
    border-right:1px solid rgba(255,255,255,.08);
    transition:.3s ease;
}

.nidt-pv-stat:last-child{
    border-right:0;
}

.nidt-pv-stat:hover{
    background:rgba(99,102,241,.05);
}

.nidt-pv-stat > span{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    background:rgba(99,102,241,.10);
    color:#818cf8;
}

.nidt-pv-stat strong,
.nidt-pv-stat small{
    display:block;
}

.nidt-pv-stat strong{
    color:#000000;
    font-size:13px;
}

.nidt-pv-stat small{
    margin-top:3px;
    color:#64748b;
    font-size:15px;
}


/* =========================================================
   SERVICE STRIP
========================================================= */

.nidt-pv-service-strip{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:14px;
    padding:27px 10px;
    color:#677078;
    font-size:14px;
    font-weight:700;
}

.nidt-pv-service-strip span{
    color:#6366f1;
    font-size:5px;
}


/* =========================================================
   INTRO
========================================================= */

.nidt-pv-intro{
    display:grid;
    grid-template-columns:1fr .8fr;
    gap:80px;
    align-items:end;
    padding:100px 0 55px;
}

.nidt-pv-small-title{
    color:#818cf8;
    font-size:14px;
    font-weight:800;
    letter-spacing:2px;
}

.nidt-pv-intro h2,
.nidt-pv-why h2{
    margin:15px 0 0;
    color:#fff;
    font-size:clamp(35px,4vw,52px);
    line-height:1.08;
    letter-spacing:-2px;
}

.nidt-pv-intro h2 span,
.nidt-pv-why h2 span{
    display:block;
    color:#818cf8;
}

.nidt-pv-intro > p{
    margin:0;
    color:#64748b;
    font-size:13px;
    line-height:1.9;
}


/* =========================================================
   SERVICE CARDS
========================================================= */

.nidt-pv-services{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.nidt-pv-service-card{
    position:relative;
    overflow:hidden;
    padding:28px 22px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:17px;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(99,102,241,.10),
            transparent 45%
        ),
        rgba(255,255,255,.025);
    transition:.4s ease;
}

.nidt-pv-service-card::before{
    content:"";
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:2px;
    background:linear-gradient(
        90deg,
        transparent,
        #818cf8,
        #38bdf8,
        transparent
    );
    transition:.5s ease;
}

.nidt-pv-service-card:hover::before,
.nidt-pv-service-card.active::before{
    left:100%;
}

.nidt-pv-service-card:hover,
.nidt-pv-service-card.active{
    transform:translateY(-8px);
    border-color:rgba(129,140,248,.28);
    background:
        radial-gradient(
            circle at 80% 10%,
            rgba(139,92,246,.18),
            transparent 45%
        ),
        rgba(99,102,241,.06);
    box-shadow:0 25px 55px rgba(0,0,0,.25);
}

.nidt-pv-service-number{
    position:absolute;
    top:15px;
    right:17px;
    color:rgba(255,255,255,.07);
    font-size:28px;
    font-weight:900;
}

.nidt-pv-service-icon{
    width:47px;
    height:47px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:rgba(99,102,241,.11);
    color:#818cf8;
    font-size:18px;
    transition:.35s ease;
}

.nidt-pv-service-card:hover .nidt-pv-service-icon{
    transform:rotate(-6deg) scale(1.08);
    background:#6366f1;
    color:#fff;
}

.nidt-pv-service-card h3{
    margin:20px 0 10px;
    color:#e2e8f0;
    font-size:16px;
}

.nidt-pv-service-card p{
    min-height:75px;
    margin:0;
    color:#64748b;
    font-size:10px;
    line-height:1.75;
}

.nidt-pv-service-card a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:20px;
    color:#818cf8;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
}

.nidt-pv-service-card a i{
    transition:.3s ease;
}

.nidt-pv-service-card a:hover i{
    transform:translateX(5px);
}


/* =========================================================
   WHY NIDT
========================================================= */

.nidt-pv-why{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:80px;
    align-items:center;
    margin-top:105px;
    padding:65px 0;
    border-top:1px solid rgba(255,255,255,.08);
}

.nidt-pv-why-content p{
    max-width:500px;
    margin-top:22px;
    color:#64748b;
    font-size:12px;
    line-height:1.9;
}

.nidt-pv-why-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.nidt-pv-why-item{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:19px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:13px;
    background:rgba(255,255,255,.025);
    transition:.3s ease;
}

.nidt-pv-why-item:hover{
    transform:translateY(-4px);
    border-color:rgba(129,140,248,.22);
    background:rgba(99,102,241,.05);
}

.nidt-pv-why-item > span{
    width:39px;
    height:39px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    border-radius:9px;
    background:rgba(99,102,241,.10);
    color:#818cf8;
}

.nidt-pv-why-item strong,
.nidt-pv-why-item small{
    display:block;
}

.nidt-pv-why-item strong{
    color:#e2e8f0;
    font-size:13px;
}

.nidt-pv-why-item small{
    margin-top:5px;
    color:#64748b;
    font-size:10px;
    line-height:1.5;
}