:root { --gold: #ca8a04; --gold-light: #facc15; }
html { scroll-padding-top: 100px; }
body { font-family: 'Lato', sans-serif; background-color: #ffffff; color: #111827; overflow-x: hidden; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overscroll-behavior: none; }
h1, h2, h3, h4, h5, h6 { font-family: 'Montserrat', sans-serif; letter-spacing: -0.025em; text-wrap: balance; }
.serif-text { font-family: 'Playfair Display', serif; }

/* Preloader */
@keyframes preloaderFadeOut { to { opacity: 0; visibility: hidden; } }
#preloader { position: fixed; inset: 0; background: #ffffff; z-index: 100; display: flex; align-items: center; justify-content: center; transition: opacity 0.6s ease-out, visibility 0.6s ease-out; animation: preloaderFadeOut 0.5s ease-out 3s forwards; }
.loader-logo { width: 60px; height: 60px; background: var(--gold); color: white; display: flex; align-items: center; justify-content: center; font-family: 'Playfair Display', serif; font-weight: bold; font-size: 32px; border-radius: 4px; box-shadow: 0 10px 25px rgba(202, 138, 4, 0.3); animation: pulse 2s infinite; }

/* UI Elements */
::selection { background: var(--gold); color: white; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #111827; }
::-webkit-scrollbar-thumb { background: #4b5563; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold); }

/* Hero */
.hero-wrapper { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; z-index: -1; }
.hero-bg { width: 100%; height: 100%; background-color: #111827; background-image: linear-gradient(to bottom, rgba(17, 24, 39, 0.3) 0%, rgba(17, 24, 39, 0.4) 50%, rgba(17, 24, 39, 0.95) 100%), url('/images/hero-main.jpg'); background-size: cover; background-position: center; animation: slowZoom 45s infinite alternate ease-in-out; will-change: transform; transform: translate3d(0,0,0); }
.bg-noise { position: absolute; inset: 0; pointer-events: none; z-index: 1; opacity: 0.04; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); }
@keyframes slowZoom { from { transform: scale(1) translate3d(0,0,0); } to { transform: scale(1.1) translate3d(0,0,0); } }

.text-gold-shimmer { background: linear-gradient(to right, #eab308, #fef08a, #eab308); -webkit-background-clip: text; background-clip: text; color: transparent; background-size: 200% auto; animation: textShimmer 6s linear infinite; }
@keyframes textShimmer { to { background-position: 200% center; } }

/* Nav & Glass */
.nav-link { position: relative; font-weight: 500; font-size: 11px; letter-spacing: 0.1em; transition: color 0.3s; }
.nav-link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background-color: var(--gold); transition: width 0.3s ease; }
.nav-link:hover::after, .nav-link.active::after { width: 100%; }
.nav-link.active { color: var(--gold); }
.glass-panel { background: rgba(255, 255, 255, 0.08); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.1); }

/* Animation */
.fade-up { opacity: 0; transform: translateY(20px); transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); will-change: opacity, transform; }
.fade-up.visible { opacity: 1; transform: translateY(0); }
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* Interactive */
.zoom-container { overflow: hidden; position: relative; cursor: pointer; isolation: isolate; background: #0f172a; }
.zoom-img { transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.5s; width: 100%; height: 100%; object-fit: cover; }
.zoom-container:hover .zoom-img { transform: scale(1.04); opacity: 1; }
.map-filter { filter: grayscale(100%) invert(100%) contrast(85%); transition: filter 0.5s; }
.map-filter:hover { filter: grayscale(0%); }

.btn-shimmer { position: relative; overflow: hidden; isolation: isolate; }
.btn-shimmer::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); animation: shimmer 4s infinite; z-index: -1; }
@keyframes shimmer { 0% { left: -100%; } 20% { left: 200%; } 100% { left: 200%; } }

.sticky-bar { background: rgba(17, 24, 39, 0.9); backdrop-filter: blur(16px); border-top: 1px solid rgba(255,255,255,0.08); }
.live-pulse { position: fixed; bottom: 90px; right: 20px; z-index: 40; background: rgba(255, 255, 255, 0.95); color: #111827; padding: 10px 16px; border-radius: 8px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; box-shadow: 0 10px 30px rgba(0,0,0,0.2); border: 1px solid rgba(0,0,0,0.05); display: flex; align-items: center; gap: 8px; transform: translateY(20px); opacity: 0; transition: all 0.5s ease; pointer-events: none; }
.live-pulse.visible { transform: translateY(0); opacity: 1; }

.success-message { display: none; animation: fadeIn 0.5s; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
input:focus, select:focus, textarea:focus { box-shadow: 0 0 0 2px rgba(202, 138, 4, 0.3); border-color: var(--gold); }
button:disabled { opacity: 0.7; cursor: not-allowed; }
select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); background-position: right 0.5rem center; background-repeat: no-repeat; background-size: 1.5em 1.5em; padding-right: 2.5rem; }

.spotlight-card { transition: all 0.3s ease; }
.spotlight-card:hover { border-color: #94a3b8; transform: translateY(-2px); box-shadow: 0 10px 40px -10px rgba(0,0,0,0.1); }

@media (prefers-reduced-motion: reduce) {
    .hero-bg { animation: none; transform: scale(1.05); }
    .fade-up { opacity: 1; transform: none; transition: none; }
    .text-gold-shimmer { animation: none; background: var(--gold); -webkit-background-clip: text; background-clip: text; }
}

@media print {
    .hero-wrapper, .sticky-bar, .live-pulse, #navbar, #contact, footer { display: none !important; }
    body { color: black; background: white; }
    .fade-up { opacity: 1 !important; transform: none !important; }
    #overview, #auction, #documents, #location { page-break-inside: avoid; }
    a { text-decoration: none; color: black; }
}