/* =========================================================
   VARDHIT MEDIA
   PREMIUM COMING SOON
========================================================= */

:root {

    --black: #000000;
    --white: #ffffff;
    --orange: #FF6504;

    --white-05: rgba(255,255,255,0.05);
    --white-10: rgba(255,255,255,0.10);
    --white-20: rgba(255,255,255,0.20);
    --white-40: rgba(255,255,255,0.40);
    --white-60: rgba(255,255,255,0.60);

    --mouse-x: 50vw;
    --mouse-y: 50vh;

}


/* =========================================================
   RESET
========================================================= */

* {

    margin: 0;
    padding: 0;

    box-sizing: border-box;

}


html,
body {

    width: 100%;
    height: 100%;

}


body {

    background:
        var(--black);

    color:
        var(--white);

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    overflow: hidden;

    -webkit-font-smoothing:
        antialiased;

}


a {

    color:
        inherit;

    text-decoration:
        none;

}


/* =========================================================
   LOADER
========================================================= */

.loader {

    position: fixed;

    inset: 0;

    background:
        var(--black);

    z-index: 9999;

    display: flex;

    align-items: center;
    justify-content: center;

    transition:
        clip-path 1s
        cubic-bezier(.77,0,.18,1);

    clip-path:
        inset(0 0 0 0);

}


.loader.loaded {

    clip-path:
        inset(0 0 100% 0);

}


.loader-number {

    font-family:
        "DM Mono",
        monospace;

    font-size: 12px;

    letter-spacing: 3px;

    color:
        var(--orange);

}


/* =========================================================
   SITE
========================================================= */

.site {

    width: 100%;
    min-height: 100svh;

    display: flex;

    flex-direction: column;

    position: relative;

    overflow: hidden;

    isolation: isolate;

}


/* =========================================================
   NOISE
========================================================= */

.noise {

    position: absolute;

    inset: -100%;

    z-index: -5;

    opacity: 0.035;

    pointer-events: none;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");

    animation:
        noiseMove 0.25s steps(2) infinite;

}


@keyframes noiseMove {

    0% {
        transform:
            translate(0,0);
    }

    25% {
        transform:
            translate(2%,-2%);
    }

    50% {
        transform:
            translate(-2%,1%);
    }

    75% {
        transform:
            translate(1%,2%);
    }

    100% {
        transform:
            translate(-1%,-1%);
    }

}


/* =========================================================
   GRID
========================================================= */

.grid {

    position: absolute;

    inset: 0;

    z-index: -4;

    pointer-events: none;

    background-image:

        linear-gradient(
            rgba(255,255,255,0.035) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,0.035) 1px,
            transparent 1px
        );

    background-size:
        100px 100px;

    mask-image:
        radial-gradient(
            ellipse at center,
            black 0%,
            transparent 72%
        );

    animation:
        gridShift 20s linear infinite;

}


@keyframes gridShift {

    from {
        background-position:
            0 0;
    }

    to {
        background-position:
            100px 100px;
    }

}


/* =========================================================
   ORANGE AMBIENT LIGHT
========================================================= */

.orange-light {

    position: absolute;

    width: 550px;
    height: 550px;

    border-radius: 50%;

    background:
        var(--orange);

    filter:
        blur(190px);

    opacity:
        0.075;

    right:
        -280px;

    top:
        35%;

    z-index: -3;

    pointer-events: none;

    transition:
        transform 0.2s ease-out;

}


/* =========================================================
   SCAN LINE
========================================================= */

.scan-line {

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--orange),
            transparent
        );

    opacity:
        0.4;

    animation:
        scan 7s
        ease-in-out
        infinite;

}


@keyframes scan {

    0% {
        transform:
            translateX(-100%);
    }

    50% {
        transform:
            translateX(100%);
    }

    100% {
        transform:
            translateX(100%);
    }

}


/* =========================================================
   HEADER
========================================================= */

.header {

    height:
        82px;

    padding:
        0 42px;

    display:
        grid;

    grid-template-columns:
        1fr auto 1fr;

    align-items:
        center;

    position:
        relative;

    z-index:
        20;

}


.logo {

    font-size:
        18px;

    font-weight:
        800;

    letter-spacing:
        -0.5px;

}


.logo span {

    color:
        var(--orange);

    font-size:
        8px;

    vertical-align:
        top;

    margin-left:
        2px;

}


.header-center {

    display:
        flex;

    gap:
        12px;

    font-family:
        "DM Mono",
        monospace;

    font-size:
        8px;

    letter-spacing:
        2px;

    color:
        var(--white-20);

}


.separator {

    color:
        var(--orange);

}


.status {

    justify-self:
        end;

    display:
        flex;

    align-items:
        center;

    gap:
        9px;

    font-family:
        "DM Mono",
        monospace;

    font-size:
        8px;

    letter-spacing:
        2px;

    color:
        var(--white-40);

}


.status-indicator {

    width:
        6px;

    height:
        6px;

    border-radius:
        50%;

    background:
        var(--orange);

    animation:
        statusPulse 2s infinite;

}


@keyframes statusPulse {

    0%,
    100% {

        opacity:
            1;

        box-shadow:
            0 0 0 0
            rgba(255,101,4,0.5);

    }

    50% {

        opacity:
            0.4;

        box-shadow:
            0 0 0 7px
            rgba(255,101,4,0);

    }

}


/* =========================================================
   HERO
========================================================= */

.hero {

    flex:
        1;

    position:
        relative;

    display:
        flex;

    align-items:
        center;

    padding:
        0 42px;

}


/* =========================================================
   GIANT V
========================================================= */

.background-v {

    position:
        absolute;

    right:
        5vw;

    top:
        50%;

    transform:
        translateY(-50%);

    font-size:
        min(64vw, 950px);

    line-height:
        0.7;

    font-weight:
        800;

    letter-spacing:
        -0.12em;

    color:
        transparent;

    -webkit-text-stroke:
        1px
        rgba(255,255,255,0.045);

    z-index:
        -1;

    pointer-events:
        none;

    user-select:
        none;

    transition:
        transform 0.15s
        ease-out;

}


/* =========================================================
   CORNERS
========================================================= */

.corner {

    position:
        absolute;

    width:
        55px;

    height:
        55px;

    opacity:
        0.5;

}


.corner-tl {

    left:
        42px;

    top:
        45px;

    border-top:
        1px solid var(--orange);

    border-left:
        1px solid var(--orange);

}


.corner-br {

    right:
        42px;

    bottom:
        45px;

    border-right:
        1px solid var(--orange);

    border-bottom:
        1px solid var(--orange);

}


/* =========================================================
   CONTENT
========================================================= */

.content {

    margin-left:
        clamp(30px, 8vw, 140px);

    position:
        relative;

    z-index:
        5;

}


/* =========================================================
   TOP LABEL
========================================================= */

.top-label {

    display:
        flex;

    align-items:
        center;

    gap:
        14px;

    margin-bottom:
        28px;

    font-family:
        "DM Mono",
        monospace;

    font-size:
        8px;

    letter-spacing:
        2.5px;

    color:
        var(--white-40);

}


.label-number {

    color:
        var(--orange);

}


.label-line {

    width:
        40px;

    height:
        1px;

    background:
        var(--orange);

}


/* =========================================================
   HEADLINE
========================================================= */

.headline {

    overflow:
        hidden;

}


.word {

    font-size:
        clamp(
            65px,
            11.5vw,
            185px
        );

    line-height:
        0.78;

    letter-spacing:
        -0.075em;

    font-weight:
        800;

    white-space:
        nowrap;

    transform:
        translateY(110%);

    animation:
        revealText
        1.2s
        cubic-bezier(.77,0,.18,1)
        forwards;

}


.word-one {

    animation-delay:
        0.9s;

}


.word-two {

    margin-left:
        9vw;

    color:
        var(--white-60);

    animation-delay:
        1.02s;

}


.word-three {

    margin-left:
        3vw;

    animation-delay:
        1.14s;

}


.word-three span {

    color:
        var(--orange);

}


@keyframes revealText {

    to {

        transform:
            translateY(0);

    }

}


/* =========================================================
   DESCRIPTION
========================================================= */

.description {

    display:
        flex;

    gap:
        18px;

    margin-top:
        45px;

    margin-left:
        7px;

    opacity:
        0;

    animation:
        fadeUp
        1s
        ease
        1.6s
        forwards;

}


@keyframes fadeUp {

    from {

        opacity:
            0;

        transform:
            translateY(15px);

    }

    to {

        opacity:
            1;

        transform:
            translateY(0);

    }

}


.description-line {

    width:
        35px;

    height:
        1px;

    margin-top:
        7px;

    background:
        var(--orange);

}


.description p {

    font-family:
        "DM Mono",
        monospace;

    font-size:
        9px;

    line-height:
        1.9;

    letter-spacing:
        0.5px;

    color:
        var(--white-40);

}


/* =========================================================
   ORBITAL SYSTEM
========================================================= */

.orbital-system {

    position:
        absolute;

    right:
        16%;

    top:
        45%;

    width:
        230px;

    height:
        230px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    transition:
        transform 0.15s
        ease-out;

}


.orbit {

    position:
        absolute;

    border-radius:
        50%;

}


.orbit-1 {

    width:
        100%;

    height:
        100%;

    border:
        1px solid
        rgba(255,101,4,0.28);

    animation:
        spin 15s
        linear
        infinite;

}


.orbit-2 {

    width:
        72%;

    height:
        72%;

    border:
        1px solid
        rgba(255,255,255,0.10);

    transform:
        rotate(45deg);

    animation:
        spinReverse 10s
        linear
        infinite;

}


.orbit-3 {

    width:
        43%;

    height:
        43%;

    border:
        1px dashed
        rgba(255,101,4,0.25);

    animation:
        spin 7s
        linear
        infinite;

}


@keyframes spin {

    to {
        transform:
            rotate(360deg);
    }

}


@keyframes spinReverse {

    to {
        transform:
            rotate(-360deg);
    }

}


/* =========================================================
   ORBIT DOTS
========================================================= */

.orbital-dot {

    position:
        absolute;

    width:
        6px;

    height:
        6px;

    border-radius:
        50%;

    background:
        var(--orange);

}


.dot-1 {

    top:
        8px;

    left:
        50%;

    animation:
        dotPulse 2s
        ease-in-out
        infinite;

}


.dot-2 {

    bottom:
        23px;

    right:
        20px;

    width:
        4px;

    height:
        4px;

    animation:
        dotPulse 2.7s
        ease-in-out
        infinite;

}


@keyframes dotPulse {

    0%,
    100% {
        opacity:
            0.4;

        transform:
            scale(0.8);
    }

    50% {
        opacity:
            1;

        transform:
            scale(1.5);
    }

}


/* =========================================================
   CORE
========================================================= */

.orbital-core {

    width:
        54px;

    height:
        54px;

    border:
        1px solid
        var(--orange);

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    position:
        relative;

}


.orbital-core::before {

    content:
        "";

    position:
        absolute;

    inset:
        6px;

    border:
        1px solid
        rgba(255,101,4,0.25);

    animation:
        corePulse 2.5s
        ease-in-out
        infinite;

}


@keyframes corePulse {

    0%,
    100% {
        transform:
            scale(1);
    }

    50% {
        transform:
            scale(0.8);
    }

}


.orbital-core span {

    color:
        var(--orange);

    font-size:
        19px;

    font-weight:
        800;

}


/* =========================================================
   SIDE TEXT
========================================================= */

.side-text {

    position:
        absolute;

    right:
        30px;

    top:
        50%;

    transform:
        rotate(90deg)
        translateX(50%);

    transform-origin:
        right center;

    font-family:
        "DM Mono",
        monospace;

    font-size:
        7px;

    letter-spacing:
        4px;

    color:
        var(--white-20);

}


/* =========================================================
   HERO META
========================================================= */

.hero-meta {

    position:
        absolute;

    bottom:
        45px;

    left:
        42px;

    display:
        flex;

    gap:
        55px;

}


.meta-block {

    display:
        flex;

    flex-direction:
        column;

    gap:
        6px;

}


.meta-label {

    font-family:
        "DM Mono",
        monospace;

    font-size:
        7px;

    letter-spacing:
        2px;

    color:
        var(--white-20);

}


.meta-value {

    font-family:
        "DM Mono",
        monospace;

    font-size:
        8px;

    letter-spacing:
        1px;

    color:
        var(--white-40);

}


.orange {

    color:
        var(--orange);

}


/* =========================================================
   FOOTER
========================================================= */

.footer {

    min-height:
        68px;

    padding:
        0 42px;

    border-top:
        1px solid
        rgba(255,255,255,0.08);

    display:
        grid;

    grid-template-columns:
        1fr
        1fr
        1fr;

    align-items:
        center;

    position:
        relative;

    z-index:
        20;

}


.footer-left,
.footer-center {

    font-family:
        "DM Mono",
        monospace;

    font-size:
        7px;

    letter-spacing:
        2px;

    color:
        var(--white-20);

}


.footer-center {

    text-align:
        center;

    color:
        var(--orange);

}


.socials {

    justify-self:
        end;

    display:
        flex;

    gap:
        25px;

}


.socials a {

    font-family:
        "DM Mono",
        monospace;

    font-size:
        7px;

    letter-spacing:
        1.5px;

    color:
        var(--white-40);

    position:
        relative;

    transition:
        color 0.25s ease,
        transform 0.25s ease;

}


.socials a::after {

    content:
        "";

    position:
        absolute;

    left:
        0;

    bottom:
        -5px;

    width:
        0;

    height:
        1px;

    background:
        var(--orange);

    transition:
        width 0.25s ease;

}


.socials a:hover {

    color:
        var(--white);

}


.socials a:hover::after {

    width:
        100%;

}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .header {

        padding:
            0 25px;

    }


    .hero {

        padding:
            0 25px;

    }


    .content {

        margin-left:
            3vw;

    }


    .background-v {

        right:
            -10vw;

        font-size:
            85vw;

    }


    .orbital-system {

        right:
            5%;

        width:
            160px;

        height:
            160px;

    }


    .hero-meta {

        left:
            25px;

    }


    .footer {

        padding:
            0 25px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .header {

        height:
            70px;

        padding:
            0 20px;

        display:
            flex;

        justify-content:
            space-between;

    }


    .header-center {

        display:
            none;

    }


    .status {

        font-size:
            6px;

        letter-spacing:
            1.3px;

    }


    .hero {

        padding:
            0 20px;

    }


    .content {

        margin:
            0;

        width:
            100%;

    }


    .top-label {

        font-size:
            7px;

        margin-bottom:
            24px;

    }


    .word {

        font-size:
            clamp(
                54px,
                16.5vw,
                90px
            );

        letter-spacing:
            -0.07em;

    }


    .word-two {

        margin-left:
            13vw;

    }


    .word-three {

        margin-left:
            3vw;

    }


    .description {

        margin-top:
            35px;

    }


    .description p {

        font-size:
            8px;

    }


    .background-v {

        right:
            -24vw;

        top:
            46%;

        font-size:
            125vw;

        -webkit-text-stroke:
            1px
            rgba(255,255,255,0.035);

    }


    .orbital-system {

        width:
            100px;

        height:
            100px;

        right:
            7%;

        top:
            19%;

        opacity:
            0.8;

    }


    .orbital-core {

        width:
            30px;

        height:
            30px;

    }


    .orbital-core span {

        font-size:
            11px;

    }


    .orbital-dot {

        width:
            4px;

        height:
            4px;

    }


    .side-text {

        display:
            none;

    }


    .hero-meta {

        left:
            20px;

        bottom:
            30px;

        gap:
            25px;

    }


    .meta-label {

        font-size:
            6px;

    }


    .meta-value {

        font-size:
            7px;

    }


    .corner-tl {

        left:
            20px;

        top:
            25px;

        width:
            35px;

        height:
            35px;

    }


    .corner-br {

        right:
            20px;

        bottom:
            25px;

        width:
            35px;

        height:
            35px;

    }


    .footer {

        min-height:
            auto;

        padding:
            17px 20px;

        display:
            flex;

        flex-direction:
            column;

        align-items:
            flex-start;

        gap:
            14px;

    }


    .footer-center {

        display:
            none;

    }


    .socials {

        width:
            100%;

        justify-content:
            space-between;

        gap:
            8px;

    }


    .socials a {

        font-size:
            6px;

    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {

        animation:
            none !important;

        transition:
            none !important;

    }

}