@import url('https://fonts.googleapis.com/css2?family=Gentium+Book+Plus:ital,wght@0,400;0,700;1,400;1,700&display=swap');

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    padding: 0;
    background: #c9a87a;
    color: #333;
    
    align-items: center;
    background-blend-mode: overlay;
    /* background-image: url("https://res.cloudinary.com/assetscodepen/image/upload/e_blur:500/background_opzuze.jpg"); */
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #ffffff;
    display: flex;
    font-family: "Montserrat", sans-serif;
    justify-content: center;
    min-height: 100vh;
    overflow: hidden;
    width: 100%;
}

/* Base Desktop Styles – Keep as is or refactor further */
    .background-balved{
        background-size: cover;
        width: 99vw;
        height: 110vh;
        position: absolute;
    }

    .background-1,
    .tree-1,
    .tree-2,
    .tree-11,
    .item-1,
    .item-2 {
        background-size: cover;
        width: 1024px;
        height: 1024px;
        margin-left: 5vw;
        position: absolute;
    }

    .background-balved { background-image: url('http://balved.com/assets/img/background-balved.jpg'); }
    .background-1 { background-image: url('http://balved.com/assets/img/tree.png'); }
    .tree-1 { background-image: url('http://balved.com/assets/img/tree-1.png'); }
    .tree-2 { background-image: url('http://balved.com/assets/img/tree-2.png'); }
    .tree-11 { background-image: url('http://balved.com/assets/img/tree-11.png'); }

    .item-1 {
        background-image: url('http://balved.com/assets/img/item-1.png');
        transform: rotate(0deg);
        animation: rotate 2s ease-in-out infinite alternate 3s;
        transform-origin: 0% 20%;
    }

    .item-2 {
        background-image: url('http://balved.com/assets/img/item-2.png');
        transform: rotate(0deg);
        animation: rotate2 4s ease-in-out infinite alternate 6s;
        transform-origin: 60% 20%;
    }

    @keyframes rotate {
        0% { transform: rotate(-2deg); }
        100% { transform: rotate(4deg); }
    }

    @keyframes rotate2 {
        0% { transform: rotate(-2deg); }
        100% { transform: rotate(2deg); }
    }

    .bulb-1,
    .bulb-2 {
        position: absolute;
        width: 100px;
        height: 100px;
        z-index: 9999;
        opacity: 0.8;
        filter: blur(40px);
        animation: rotate 2s linear infinite, glow 2s ease-in-out infinite;
    }

    .bulb-1 {
        top: 178px;
        left: 580px;
        background: radial-gradient(yellow, orange, transparent 70%);
    }

    .bulb-2 {
        top: 178px;
        left: 1230px;
        background: radial-gradient(yellow, green, transparent 70%);
        animation: rotate 3s linear infinite, glow 4s ease-in-out infinite;
    }

    @keyframes glow {
        0%, 5%, 10%, 80%, 95%, 100% { opacity: 1; }
        54%, 84% { opacity: 0; }
    }

    .logo-container {
        background: radial-gradient(rgb(255, 244, 147), rgb(255, 213, 29), transparent 70%);
        position: absolute;
        left: 44vw;
        top: 30vh;
        width: 280px;
        height: 280px;
        opacity: 0.7;
        background-size: contain;
    }

    .logo {
        background: url('http://balved.com/assets/img/balved-black.svg');
        position: absolute;
        top: 35vh;
        left: 47vw;
        width: 180px;
        height: 180px;
        background-size: contain;
        z-index: 999999;
        margin: auto;
    }

    .contactus{
        font-size: 20px;
        color: #ffffff;
        font-family: "Gentium Book Plus", serif;
        font-weight: 700;
        font-style: normal;
    }

    

    .menu-container{
        position: absolute;
    }
        
    #menu {
        border-radius: 100%;
        filter: drop-shadow(0 0 15px rgb(253, 213, 0));
        /* height: 200px; */
        /* position: relative; */
        /* width: 200px; */
        z-index: 99999;

        position: absolute;
        top: 15vh;
        left: 39vw;
        width: 500px;
        height: 500px;
    }

    #menu .item {
        /* background-color: rgba(255, 169, 93, 0.62); */
        clip-path: url(#sector);
        color: rgb(255, 255, 255);
        font-size: 35px;
        height: 100%;
        position: absolute;
        transform: rotate(var(--angle, 0deg));
        transition: filter 0.15s ease-in-out;
        width: 100%;
        /* opacity: .3; */
    }

    #menu .item:after {
        background-color: rgb(255, 240, 152);
        content: "";
        height: 500px;
        position: absolute;
        right: 52%;
        transform: rotate(90deg);
        width: 4px;
        opacity: .04;
    }

    #menu .item:hover {
        filter: brightness(200%);
    }

    #menu .item i {
        height: 36px;
        position: fixed;
        right: calc(18% - 15px);
        top: calc(32% - 18px);
        transform: rotate(calc(var(--angle, 0deg) * -1));
        width: 30px;
    }

    #menu #center {
        align-items: center;
        background: rgb(30, 30, 30);
        border-radius: 100%;
        color: rgb(255, 255, 255);
        display: flex;
        filter: drop-shadow(0 0 5px rgb(15, 15, 15));
        flex-direction: column;
        height: 250px;
        justify-content: center;
        position: fixed;
        right: 50%;
        top: 50%;
        transform: translate(50%, -50%);
        user-select: none;
        width: 250px;
        z-index: 3;
    }

    #menu #center p {
        font-size: 18px;
        letter-spacing: 6px;
        margin-bottom: 15px;
    }

    #menu #center small {
        color: rgb(100, 100, 100);
        font-size: 12px;
        letter-spacing: 3px;
    }

    #menu #indicator {
        display: none;
        pointer-events: none;
        position: fixed;
        right: 50%;
        top: 50%;
        transform: translate(50%, -50%) rotate(var(--indicator-angle));
        transition: transform 0.15s ease-in-out;
        z-index: 3;
    }

    #menu #indicator .center {
        border-radius: 100%;
        height: 250px;
        position: fixed;
        right: 50%;
        top: 50%;
        transform: translate(50%, -50%);
        width: 250px;
        z-index: 3;
    }

    #menu #indicator .center:after {
        border-bottom: 20px solid rgb(255, 255, 255);
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        content: "";
        height: 0;
        position: absolute;
        right: 50%;
        transform: translate(50%, -50%);
        width: 0;
    }

    #menu #indicator .border {
        border-radius: 100%;
        border: 3px solid rgb(255, 255, 255);
        height: 500px;
        mask: linear-gradient(white 0 0) padding-box,
            conic-gradient(white calc(100% / var(--count, 6)), transparent 0%)
            border-box;
        position: fixed;
        right: 50%;
        top: 50%;
        transform: translate(50%, -50%) rotate(calc(-30deg));
        width: 500px;
        z-index: 3;
    }
    
    
    /* Tablet (up to 768px wide) */
@media (max-width: 768px) {
    .background-1,
    .tree-1,
    .tree-2,
    .tree-11,
    .item-1,
    .item-2 {
        width: 768px;
        height: 768px;
        margin-left: 0;
    }

    .logo-container {
        width: 200px;
        height: 200px;
        left: 35vw;
        top: 28vh;
    }

    .logo {
        width: 140px;
        height: 140px;
        left: 40vw;
        top: 32vh;
    }

    .bulb-1, .bulb-2 {
        width: 70px;
        height: 70px;
        filter: blur(25px);
    }

    .bulb-1 {
        top: 120px;
        left: 400px;
    }

    .bulb-2 {
        top: 120px;
        left: 800px;
    }

    #menu {
        width: 350px;
        height: 350px;
        top: 12vh;
        left: 30vw;
    }

    #menu .item {
        font-size: 25px;
    }

    #menu #center {
        width: 180px;
        height: 180px;
    }

    #menu #center p {
        font-size: 14px;
        letter-spacing: 4px;
    }

    #menu #indicator .center,
    #menu #indicator .border {
        width: 350px;
        height: 350px;
    }

    #menu .item i {
        height: 28px;
        width: 24px;
        right: calc(18% - 10px);
        top: calc(32% - 14px);
    }
}

/* Mobile (up to 480px wide) */
@media (max-width: 480px) {
    body {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        overflow-y: auto;
        padding: 20px 0;
    }

    .background-1,
    .tree-1,
    .tree-2,
    .tree-11,
    .item-1,
    .item-2 {
        width: 480px;
        height: 480px;
        margin-left: 0;
    }

    .logo-container {
        width: 160px;
        height: 160px;
        left: 50%;
        transform: translateX(-50%);
        top: 22vh;
    }

    .logo {
        width: 120px;
        height: 120px;
        left: 50%;
        transform: translateX(-50%);
        top: 28vh;
    }

    .bulb-1, .bulb-2 {
        width: 50px;
        height: 50px;
        filter: blur(20px);
        top: 100px;
    }

    .bulb-1 { left: 220px; }
    .bulb-2 { left: 360px; }

    #menu {
        width: 280px;
        height: 280px;
        top: 15vh;
        left: 50%;
        transform: translateX(-50%);
    }

    #menu .item {
        font-size: 20px;
    }

    #menu #center {
        width: 150px;
        height: 150px;
    }

    #menu #center p {
        font-size: 12px;
        letter-spacing: 2px;
    }

    #menu .item i {
        height: 22px;
        width: 22px;
        right: calc(18% - 10px);
        top: calc(32% - 12px);
    }

    #menu #indicator .center,
    #menu #indicator .border {
        width: 280px;
        height: 280px;
    }

    .contactus {
        font-size: 16px;
        text-align: center;
        padding: 10px;
    }
}