@font-face{
    font-family:"Caviar";
    src:url("fonts/Caviar.ttf") format("truetype");
    font-weight:400;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{
    --white:#f3f3f3;
    --muted:rgba(255,255,255,.35);
    --line:rgba(255,255,255,.12);
}

html,
body{
    width:100%;
    height:100%;
    overflow:hidden;
}

body{
    background:#000;
    color:var(--white);
    font-family:"Caviar",sans-serif;
    text-transform:lowercase;
    letter-spacing:.04em;
}

.noise{
    position:fixed;
    inset:0;

    background-image:
    radial-gradient(
        rgba(255,255,255,.02) 1px,
        transparent 1px
    );

    background-size:4px 4px;

    opacity:.2;

    pointer-events:none;

    z-index:1;
}

.vignette{
    position:fixed;
    inset:0;

    background:
    radial-gradient(
        circle at center,
        transparent 40%,
        rgba(0,0,0,.85) 100%
    );

    pointer-events:none;

    z-index:2;
}

.transition{
    position:fixed;
    inset:0;

    background:#000;

    opacity:0;

    pointer-events:none;

    z-index:999;
}

.hud{
    position:fixed;

    top:32px;
    left:32px;

    display:flex;
    flex-direction:column;
    gap:6px;

    font-size:11px;

    letter-spacing:.2em;

    opacity:.4;

    z-index:50;
}

.hud-block{
    color:#fff;
}


.logo{
    position:fixed;

    top:32px;
    left:50%;

    transform:translateX(-50%);

    font-size:48px;

    letter-spacing:.12em;

    z-index:60;

    opacity:0;
}

.scene{
    position:fixed;
    inset:0;

    display:flex;
    justify-content:center;
    align-items:center;

    overflow:hidden;
}

.creature{
    position:relative;

    width:100vw;
    height:100vh;

    transform-origin:center center;

    z-index:20;
}

.part{
    position:absolute;

    transform-origin:center center;

    mix-blend-mode:screen;

    filter:
        brightness(1.08)
        contrast(1.05);

    user-select:none;
    pointer-events:none;

    will-change:
        transform,
        opacity;
}

.wing{
    width:92vw;

    left:4vw;
    top:-4vh;

    z-index:1;
}

.node{
    width:11vw;

    left:44.5vw;
    top:17vh;

    z-index:5;
}

.heart{
    width:14vw;

    left:43vw;
    top:31vh;

    z-index:6;
}

.spine{
    width:11vw;

    left:44vw;
    top:47vh;

    z-index:4;
}

.tail{
    width:11vw;

    left:44vw;
    top:73vh;

    z-index:3;
}

.labels{
    position:absolute;
    inset:0;

    pointer-events:none;

    z-index:100;
}

.nav-item{
    position:absolute;

    color:white;

    text-decoration:none;

    opacity:0;

    font-size:22px;

    letter-spacing:.08em;

    pointer-events:auto;

    transition:
        opacity .4s ease,
        color .4s ease,
        transform .4s ease;
}

.nav-item:hover{
    color:#ffffff;

    transform:translateY(-2px);
}

.guide:hover{
    transform:translateX(-50%) translateY(-2px);
}


.guide{
    top:11%;
    left:50%;

    transform:translateX(-50%);
}

.about{
    left:11%;
    top:44%;
}

.products{
    right:10%;
    top:44%;
}

.news{
    left:36%;
    bottom:22%;
}

.merch{
    right:40%;
    bottom:22%;
}

.connectors{
    position:absolute;
    inset:0;

    opacity:0;

    pointer-events:none;

    z-index:15;
}

.connector{
    position:absolute;

    background:var(--line);

    transform-origin:left center;
}

.c1{
    width:1px;
    height:110px;

    left:50%;
    top:18%;
}

.c2{
    width:160px;
    height:1px;

    left:16%;
    top:47%;
}

.c3{
    width:160px;
    height:1px;

    right:16%;
    top:47%;
}

.c4{
    width:1px;
    height:120px;

    left:50%;
    top:57%;
}


@media (max-width: 900px){

    .logo{
        font-size:32px;
    }

    .nav-item{
        font-size:16px;
    }

    .heart{
        width:22vw;
    }

    .node,
    .spine,
    .tail{
        width:18vw;
    }

    .wing{
        width:130vw;
        left:-15vw;
    }

}

.neuron-bg{
    position:fixed;
    inset:0;
    background:url("assets/neurone.GIF") center center / cover no-repeat;
    opacity: 0.5;
    pointer-events:none;
    z-index:0;
}
@media (max-width:768px){.hud{display:none}.logo{top:44px;font-size:46px;letter-spacing:.09em}.creature{width:100vw;height:100vh}.wing{width:106vw;left:-3vw;top:31vh}.node{width:16vw;left:42vw;top:27vh}.heart{width:20vw;left:40vw;top:39vh}.spine{width:17vw;left:41.5vw;top:52vh}.tail{width:18vw;left:41vw;top:72vh}.nav-item{font-size:24px;letter-spacing:.055em}.guide{top:27%;left:50%;transform:translateX(-50%)}.about{left:13%;top:46%}.products{right:9%;top:46%}.merch{left:16%;right:auto;bottom:23%}.news{right:13%;left:auto;bottom:23%}.c1{top:30%;height:80px}.c2{left:22%;top:48%;width:100px}.c3{right:22%;top:48%;width:100px}.c4{top:60%;height:90px}.neuron-bg{opacity:.45}}
@media (max-width:430px){.logo{top:42px;font-size:40px}.wing{width:118vw;left:-9vw;top:32vh}.node{width:18vw;left:41vw;top:28vh}.heart{width:22vw;left:39vw;top:40vh}.spine{width:19vw;left:40.5vw;top:53vh}.tail{width:20vw;left:40vw;top:72vh}.nav-item{font-size:21px}.about{left:12%;top:47%}.products{right:8%;top:47%}.merch{left:15%;bottom:24%}.news{right:12%;bottom:24%}}
