@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Playfair+Display:wght@700&display=swap');

:root {
    --gold: #d4af37;
    --navy: #050a14;
    --slate: #1a2230;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: var(--navy); color: #fff; font-family: 'Montserrat', sans-serif; scroll-behavior: smooth; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* Fixed Navigation */
nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 90px;
    background: rgba(5, 10, 20, 0.98);
    backdrop-filter: blur(10px);
    z-index: 1000;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

nav .container { display: flex; justify-content: space-between; width: 100%; align-items: center; }
.logo { font-family: 'Playfair Display', serif; font-size: 1.4rem; letter-spacing: 1px; color: #fff; }
.logo span { color: var(--gold); font-weight: 300; margin-left: 10px; font-size: 1.1rem; }
.nav-links { display: flex; list-style: none; gap: 30px; align-items: center; }
.nav-links a { text-decoration: none; color: #a0aec0; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1px; }

/* Hero Section */
.hero { height: 95vh; display: flex; align-items: center; padding-top: 90px; }
.hero h1 { font-family: 'Playfair Display', serif; font-size: 4.5rem; line-height: 1.1; margin-bottom: 25px; }
.hero p { color: #a0aec0; font-size: 1.25rem; margin-bottom: 45px; max-width: 700px; }

/* Iframe Section */
.media-embed { padding: 60px 0; background: var(--navy); }
.iframe-container { position: relative; overflow: hidden; width: 100%; padding-top: 56.25%; border: 1px solid var(--gold); border-radius: 4px; }
.iframe-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }

/* Buttons */
.btn-gold { background: var(--gold); color: var(--navy); padding: 18px 40px; text-decoration: none; font-weight: 700; text-transform: uppercase; display: inline-block; transition: 0.3s; }
.btn-gold-small { background: var(--gold); color: var(--navy); padding: 10px 20px; text-decoration: none; font-weight: 700; font-size: 0.8rem; border-radius: 4px; }
.btn-outline { border: 1px solid #fff; color: #fff; padding: 18px 40px; text-decoration: none; margin-left: 15px; }

/* Grid & Cards */
.specialties { padding: 120px 0; background: #080f1a; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 40px; }
.card { background: var(--slate); padding: 50px; border-radius: 4px; border: 1px solid rgba(255,255,255,0.05); transition: 0.3s; }
.card:hover { transform: translateY(-5px); border-color: var(--gold); }
.card i { color: var(--gold); font-size: 2.5rem; margin-bottom: 30px; display: block; }
.card h3 { font-family: 'Playfair Display', serif; font-size: 1.6rem; margin-bottom: 15px; }

/* Contact Section */
.contact-section { padding: 120px 0; }
.form-wrapper { max-width: 800px; margin: 0 auto; text-align: center; }
form input, form textarea { width: 100%; padding: 20px; margin-bottom: 25px; background: #080f1a; border: 1px solid rgba(255,255,255,0.1); color: #fff; }
form textarea { height: 160px; }

/* Footer */
footer { padding: 80px 0; text-align: center; border-top: 1px solid rgba(255,255,255,0.1); }
.footer-contact a { color: var(--gold); text-decoration: none; margin: 0 20px; font-weight: 600; font-size: 1.1rem; }

@media (max-width: 768px) { .nav-links { display: none; } .hero h1 { font-size: 3rem; } }