/* ==========================================================================
   UNIQXY DESIGN - MASTER STYLESHEET
   ========================================================================== */

/* Security & Core Reset */
.noselect { 
    -webkit-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
}
body { 
    background-color: #ffffff; 
    overflow-x: hidden; 
}

/* Typography Eksklusif Minimalis */
h1, h2, h3, h4, h5, h6 { 
    font-family: 'Manrope', sans-serif; 
    letter-spacing: -0.02em; 
}
.text-huge { 
    font-size: clamp(2.5rem, 6vw, 4.5rem); 
    line-height: 1.15; 
}
.text-tiny-caps { 
    font-size: 0.8rem; 
    text-transform: uppercase; 
    letter-spacing: 0.35em; 
    font-weight: 800; 
    color: #dca54c; 
}

/* Parallax Setup */
.bg-parallax { 
    background-attachment: fixed; 
    background-position: center; 
    background-repeat: no-repeat; 
    background-size: cover; 
}

/* Menu Animation (Elegant Underline) */
.nav-link { 
    position: relative; 
    display: inline-flex; 
    align-items: center; 
    gap: 0.4rem; 
    padding-bottom: 0.25rem; 
}
.nav-link::after { 
    content: ''; 
    position: absolute; 
    width: 0; 
    height: 2px; 
    bottom: 0; 
    left: 0; 
    background-color: #dca54c; 
    transition: width 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); 
}
.nav-link:hover::after { width: 100%; }
.nav-link:active { transform: scale(0.95); transition: 0.1s; }

/* Text Link Hover Effect (Sliding Underline) */
.animate-link { 
    position: relative; 
    display: inline-block; 
    font-weight: 600; 
    transition: color 0.3s ease; 
}
.animate-link::after { 
    content: ''; 
    position: absolute; 
    width: 100%; 
    transform: scaleX(0); 
    height: 2px; 
    bottom: -2px; 
    left: 0; 
    background-color: #007BA7; 
    transform-origin: bottom right; 
    transition: transform 0.3s ease-out; 
}
.animate-link:hover { color: #007BA7; }
.animate-link:hover::after { 
    transform: scaleX(1); 
    transform-origin: bottom left; 
}

/* Swiper Fixes, Mobile 3:4 & Ken Burns */
.hero-swiper { 
    width: 100%; 
    height: 100vh; 
    min-height: 700px; 
    overflow: hidden; 
}
@media (max-width: 768px) {
    .hero-swiper { height: 133.33vw !important; min-height: unset !important; }
}
.swiper-pagination-bullet-active { background: #dca54c !important; }
.swiper-button-next, .swiper-button-prev { 
    color: #ffffff !important; 
    text-shadow: 0 2px 10px rgba(0,0,0,0.5); 
    z-index: 50; 
}
.swiper-button-next:hover, .swiper-button-prev:hover { 
    color: #dca54c !important; 
    transform: scale(1.1); 
    transition: 0.3s; 
}

.kenburns-bg { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    position: absolute; 
    inset: 0; 
    z-index: -1; 
    transform: scale(1.1); 
}
.swiper-slide-active .kenburns-bg { animation: kenburns 10s ease-out both; }
@keyframes kenburns { 
    0% { transform: scale(1.15); } 
    100% { transform: scale(1); } 
}

/* Hover Lift Minimalist */
.hover-lift { 
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease; 
    border: 1px solid transparent; 
}
.hover-lift:hover { 
    transform: translateY(-10px); 
    box-shadow: 0 20px 40px -10px rgba(0, 123, 167, 0.15); 
    z-index: 10; 
    border-color: rgba(0,123,167,0.3); 
}

.click-effect { transition: transform 0.15s ease-in-out, background-color 0.3s, color 0.3s; }
.click-effect:active { transform: scale(0.92); }

/* Image Zoom */
.img-zoom-hover { transition: transform 0.8s ease; }
.group:hover .img-zoom-hover { transform: scale(1.08); }

/* Text Limiters */
.one-line-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Floating Anim */
@keyframes float { 
    0% { transform: translateY(0px); } 
    50% { transform: translateY(-8px); } 
    100% { transform: translateY(0px); } 
}
.floating-element { animation: float 4s ease-in-out infinite; }

/* Testimonial Flex Fix & Padding */
.testi-swiper .swiper-slide { height: auto; display: flex; }
.testi-swiper-wrapper { padding-top: 4rem; padding-bottom: 3rem; }