@import url('https://fonts.googleapis.com/css2?family=Jura:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Aldrich:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Roboto+Flex:opsz,wght@8..144,300;8..144,400;8..144,500;8..144,600;8..144,700&display=swap');

:root {    
    --font-serif: "Playfair Display", Georgia, serif;
    --font-ui1:  "Roboto Flex", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --font-ui2: "Jura", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --font-ui3: "Aldrich", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

    --bg-dark: #000;
    --text-light: #eee;
    --accent: #fd7e14;
    --secondary: #ccc;
    --light-bg: #fff;
    --light-text: #212529;
}

/* Unified modern font for the whole site */
body, h1, h2, h3, h6, .display-3, .section-title {
    font-family: var(--font-ui1);
    letter-spacing: 0.5px;
}
.lead {
    font-size: 1.25rem;
    line-height: 1.6;
}

/* Section title style */
.section-title {
    text-transform: uppercase;
    letter-spacing: 2px;
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
    display: inline-block;
    color: #fff;
}

/* Pure black background and light text */
body { background-color: #000 !important; color: #eee; }

a {
    text-decoration: none;
}
a:hover {
    text-decoration: none;
    color: #ccc;
}
a:visited {
    text-decoration: none;
}

/* Floating animation */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

.navbar-nav .nav-link.active {
    color: #fd7e14 !important;
}

/* Intro: positioning, layers and animations */
#intro .intro-images { position: relative; height: 400px; overflow: hidden; }
#intro .intro-images img {
    position: absolute;
    border-radius: .25rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    transition: transform .3s ease;
}
/* Floating effect */
.intro-pic-primary {
    top: 0; left: 0;
    width: 65%;
    z-index: 2;
    animation: float 6s ease-in-out infinite;
}
.intro-pic-secondary {
    bottom: 0; right: 0;
    width: 40%;
    z-index: 1;
    animation: float 6s ease-in-out infinite;
    animation-delay: 3s;
}
/* Override for carousel images to static positioning */
#introCarousel .carousel-item img {
    position: static !important;
    width: 100%;
    height: auto;
}
/* Ensure only active carousel slide shows despite d-flex */
#introCarousel .carousel-item:not(.active) {
    display: none !important;
}
#introCarousel .carousel-item.active {
    display: flex !important;
}
#intro .intro-images img:hover { transform: translateY(-10px) scale(1.03); }

/* Smooth text reveal animation */
#intro .col-md-6 > h1,
#intro .col-md-6 > .lead,
#intro .col-md-6 > .text-uppercase {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .8s ease, transform .8s ease;
}
#intro .col-md-6[data-aos].aos-animate > h1,
#intro .col-md-6[data-aos].aos-animate > .lead,
#intro .col-md-6[data-aos].aos-animate > .text-uppercase {
    opacity: 1;
    transform: translateY(0);
}

/* General adjustments */
#intro { padding-top: 100px; }
#intro h1 { font-size: 4rem; }
section { padding: 80px 0; }

/* Preloader com fade-out */
#preloader { transition: opacity .6s ease; }
#preloader.hidden { opacity: 0; pointer-events: none; }