:root {
    --bg-color: #080517; --bg-lighter: #100b29;
    --accent-gold: #d4af37; 
    --accent-gold-hover: #f1cf59;
    --text-main: #fcfcfc; 
    --text-muted: rgba(255, 255, 255, 0.75);
    --border-color: rgba(212, 175, 55, 0.15); 
    --border-highlight: rgba(212, 175, 55, 0.35);
    --bg-card: rgba(16, 11, 41, 0.7);
    --font-heading: 'Playfair Display', serif; 
    --font-body: 'Montserrat', sans-serif;
}
* { 
    box-sizing: border-box; 
    scroll-behavior: smooth; 
}
body {
    font-family: var(--font-body); 
    background: linear-gradient(135deg, var(--bg-color) 0%, #050314 100%);
    background-attachment: fixed; 
    color: var(--text-main); 
    line-height: 1.6; 
    font-size: 1.05rem; 
    overflow-x: hidden;
}
.bg-pattern {
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100vw; 
    height: 100vh; 
    pointer-events: none; 
    z-index: -1; 
    opacity: 0.03;
    /*background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23d4af37' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    */
}
h1, h2, h3, h4, .logo { 
    font-family: var(--font-heading); 
    font-weight: 500; 
}
p { 
    font-size: 1.1rem; 
    color: var(--text-muted); 
    line-height: 1.8; 
}
.text-center { 
    text-align: center; 
}
.text-left { 
    text-align: left; 
}
.hidden { 
    display: none; 
}
.w-100 { 
    width: 100%; 
}
.mt-3 { 
    margin-top: 3rem; 
}
.mt-6 { 
    margin-top: 6rem; 
}
.pt-1 { 
    padding-top: 1rem; 
}
.pt-150 { 
    padding-top: 150px; 
}
.mb-6 { 
    margin-bottom: 6rem; 
}
.mb-4-center { 
    text-align: center; 
    margin-bottom: 4rem; 
}
.rating-stars { 
    color: var(--accent-gold); 
    font-size: 1.4rem; 
    margin-bottom: 1.5rem; 
    letter-spacing: 2px; 
}
@keyframes float { 
    0% { transform: translateY(0px); } 
    50% { transform: translateY(-12px); } 
    100% { transform: translateY(0px); } 
}
@keyframes fadeInUp { 
    to { 
        opacity: 1; 
        transform: translateY(0); 
    } 
}
.img-floating { 
    animation: float 6s ease-in-out infinite; 
}
.float-delay-3s { 
    animation-delay: -3s; 
}