@charset "UTF-8";

/* --- BASE SETTINGS --- */
body {
    font-family: 'Zen Old Mincho', serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

.en-font {
    font-family: 'Cormorant Garamond', serif;
}

/* --- LOADER --- */
#loader {
    position: fixed;
    inset: 0;
    background-color: #1A2820;
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.loader-symbol {
    width: 120px;
    height: auto;
    opacity: 1;
    transform-origin: center center;
    will-change: transform;
}

/* --- HEADER LOGO FILTER --- */
.logo-filter-white {
    filter: brightness(0) invert(1);
}

/* --- WORKS SCROLL WRAPPER --- */
.works-scroll-wrapper::-webkit-scrollbar {
    display: none;
}
.works-scroll-wrapper {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* --- BUTTON ANIMATION --- */
.magnetic-btn {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.btn-fill {
    display: block;
    position: absolute;
    pointer-events: none;
    transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

/* --- CONCEPT LINE --- */
.growth-line {
    width: 1px;
    height: 0;
    background-color: #1A2820;
    animation: growLine 2s ease-out forwards;
    animation-delay: 1s;
}

@keyframes growLine {
    to { height: 100%; }
}

/* --- BACKGROUND ANIMATION --- */
.animate-spin-slow {
    animation: spin 60s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* --- AREA MAP DOTS --- */
.map-dots {
    background-image: radial-gradient(#1A2820 1px, transparent 1px);
    background-size: 20px 20px;
}

/* --- UTILITIES --- */
.reveal-text, .reveal-title {
    opacity: 0;
}

.mobile-link {
    position: relative;
    display: inline-block;
}