@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Inter:wght@300;400;500;600&display=swap'); :root { --color-heading: #d3cab3; --color-button: #d28839; --color-paragraph: #c49c5c; --color-gold: #d28839; --color-dark: #0a0a0a; --color-text-light: #f5f5f5; --font-heading: var(--font-playfair), serif; --font-body: var(--font-inter), sans-serif; } * { box-sizing: border-box; padding: 0; margin: 0; } html, body { height: 100%; width: 100%; background-color: var(--color-dark); color: var(--color-text-light); font-family: var(--font-body); -webkit-font-smoothing: antialiased; overflow-x: hidden; } h1, h2, h3, h4 { font-family: var(--font-heading); color: var(--color-heading); } .grand-text { font-family: var(--font-heading); background: linear-gradient( 45deg, #d3cab3 0%, #d28839 25%, #c49c5c 50%, #d28839 75%, #d3cab3 100% ); background-size: 200% auto; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; position: relative; animation: colorShift 8s linear infinite; } @keyframes colorShift { 0% { background-position: 0% center; } 100% { background-position: 200% center; } } .shine-effect { position: relative; overflow: hidden; } .shine-effect::after { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient( to right, rgba(255, 255, 255, 0) 0%, rgba(210, 136, 57, 0.4) 50%, rgba(255, 255, 255, 0) 100% ); transform: skewX(-25deg); animation: shine 6s infinite; } @keyframes shine { 0% { left: -100%; } 20% { left: 100%; } 100% { left: 100%; } } .glass-card { background: rgba(15, 15, 15, 0.7); backdrop-filter: blur(15px); border: 1px solid rgba(210, 136, 57, 0.15); border-radius: 24px; transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1); overflow: hidden; position: relative; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); } .glass-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(210, 136, 57, 0.5), transparent); z-index: 5; opacity: 0.5; } .glass-card:hover { transform: translateY(-12px) scale(1.02); border-color: rgba(210, 136, 57, 0.8); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.7), 0 0 30px rgba(210, 136, 57, 0.25); } .glass-card:hover .card-frame { opacity: 1; inset: 12px; } .card-frame { position: absolute; inset: 24px; border: 1px solid rgba(210, 136, 57, 0.3); pointer-events: none; z-index: 10; opacity: 0; transition: all 0.6s ease; border-radius: 12px; } .nav-link { color: var(--color-heading); text-decoration: none; transition: color 0.3s ease; position: relative; } .nav-link:hover { color: var(--color-gold); } .nav-link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background-color: var(--color-gold); transition: width 0.3s ease; } .nav-link:hover::after { width: 100%; } .overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(to top, rgba(10, 10, 10, 0.9) 0%, rgba(10, 10, 10, 0.4) 50%, transparent 100%); z-index: 1; } .btn-primary { background-color: var(--color-button); color: white; padding: 12px 28px; border-radius: 50px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; border: none; cursor: pointer; display: inline-block; } .btn-primary:hover { background-color: #e39a4a; transform: scale(1.05); box-shadow: 0 10px 20px rgba(210, 136, 57, 0.3); } /* Layout Utilities */ .main-container { min-height: 100vh; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; overflow: hidden; background: radial-gradient(circle at center, transparent 0%, rgba(0,0,0,0.4) 100%); } @media (min-width: 768px) { .main-container { padding: 48px; } } .content-wrapper { position: relative; z-index: 10; width: 100%; max-width: 1152px; /* 6xl */ margin: 0 auto; } .hero-section { text-align: center; margin-bottom: 64px; } .locations-grid { display: grid; grid-template-columns: 1fr; gap: 40px; margin-top: 48px; } @media (min-width: 768px) { .locations-grid { grid-template-columns: 1fr 1fr; } } @media (min-width: 1024px) { .locations-grid { gap: 64px; } } /* Card Specifics */ .card-image-container { position: relative; height: 384px; /* 24rem / 96 */ overflow: hidden; } @media (max-width: 767px) { .card-image-container { height: 320px; } } .card-content { padding: 40px; border-top: 1px solid rgba(176, 124, 75, 0.1); } /* Text & Typography */ .text-center { text-align: center; } .text-gold { color: var(--color-gold); } .flex-center { display: flex; justify-content: center; align-items: center; } .flex-col { display: flex; flex-direction: column; } .gap-2 { gap: 8px; } .mb-2 { margin-bottom: 8px; } .mb-3 { margin-bottom: 12px; } .mb-4 { margin-bottom: 16px; } .mb-6 { margin-bottom: 24px; } .mb-8 { margin-bottom: 32px; } .mt-12 { margin-top: 48px; } .mt-24 { margin-top: 96px; } .footer-copyright { margin-top: 80px; text-align: center; padding: 40px 0; border-top: 1px solid rgba(210, 136, 57, 0.15); color: rgba(196, 156, 92, 0.6); font-size: 0.9rem; font-weight: 300; letter-spacing: 0.05em; } .footer-copyright a { color: var(--color-gold); text-decoration: none; font-weight: 500; transition: all 0.3s ease; } .footer-copyright a:hover { text-shadow: 0 0 10px rgba(210, 136, 57, 0.4); opacity: 0.8; } .decorative-blob { position: fixed; border-radius: 50%; filter: blur(100px); pointer-events: none; background: rgba(210, 136, 57, 0.1); z-index: 0; } .blob-1 { top: -16px; left: -16px; width: 256px; height: 256px; } .blob-2 { bottom: -16px; right: -16px; width: 384px; height: 384px; }