/* БАЗОВЫЕ СТИЛИ */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { 
    font-family: 'Cormorant Garamond', serif; 
    background: #FBE6D3; 
    color: #430819; 
    line-height: 1.6; 
}

/* ЗАГРУЗОЧНЫЙ ЭКРАН */
.loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #430819 0%, #2a1513 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* ШАПКА */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(180deg, rgba(67, 8, 25, 0.95) 0%, rgba(76, 43, 41, 0.9) 100%);
    padding: 1rem 2rem;
    z-index: 1000;
}

nav { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    max-width: 1400px;
    margin: 0 auto;
}

.nav-logo { 
    display: flex; 
    align-items: center; 
    gap: 10px; 
    font-size: 1.8rem; 
    font-weight: 700; 
    color: #FFD700; 
}

.nav-links { 
    display: flex; 
    gap: 3rem; 
}

.nav-links a { 
    color: #FBE6D3; 
    text-decoration: none; 
    display: flex; 
    align-items: center; 
    gap: 8px; 
}

.nav-links a:hover { 
    color: #FFD700; 
}

/* КНОПКА ТЕМЫ */
.magic-button {
    padding: 0.8rem 1.5rem;
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.1) 0%, rgba(152, 128, 112, 0.1) 100%);
    border: 1px solid rgba(255, 215, 0, 0.3);
    color: #FFD700;
    border-radius: 50px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* ГЕРОЙ */
.hero {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 8rem 2rem 4rem;
    background: linear-gradient(135deg, rgba(67, 8, 25, 0.9) 0%, rgba(76, 43, 41, 0.85) 50%, rgba(152, 128, 112, 0.8) 100%);
    text-align: center;
}

.main-title { 
    font-family: 'Playfair Display', serif; 
    font-size: 4.5rem; 
    color: white; 
    margin-bottom: 1rem; 
}

.title-line.accent { 
    color: #FFD700; 
}

.subtitle { 
    font-size: 1.8rem; 
    color: #FBE6D3; 
    margin-bottom: 1rem; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    gap: 15px; 
}

.subtitle i { 
    color: #FFD700; 
}

.hero-description { 
    font-size: 1.2rem; 
    color: #FBE6D3; 
    max-width: 600px; 
    margin: 0 auto 3rem; 
}

.hero-buttons { 
    display: flex; 
    gap: 1.5rem; 
}

.button {
    padding: 1rem 2rem;
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.2) 0%, rgba(152, 128, 112, 0.2) 100%);
    border: 2px solid #FFD700;
    color: #FFD700;
    border-radius: 50px;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
}

.button:hover { 
    background: linear-gradient(135deg, #FFD700 0%, #998170 100%); 
    color: #430819; 
}

.button.secondary { 
    border-color: #FBE6D3; 
    color: #FBE6D3; 
}

.button.secondary:hover { 
    background: #FBE6D3; 
    color: #430819; 
}

/* ТЁМНАЯ ТЕМА */
body.dark-theme { 
    background: #100C14; 
    color: #D4BEDF; 
}

body.dark-theme .hero { 
    background: linear-gradient(135deg, rgba(16, 12, 20, 0.9) 0%, rgba(32, 34, 47, 0.85) 50%, rgba(72, 5, 99, 0.8) 100%); 
}

body.dark-theme .button { 
    border-color: #A78BFA; 
    color: #A78BFA; 
}

body.dark-theme .button:hover { 
    background: linear-gradient(135deg, #A78BFA 0%, #785067 100%); 
    color: #100C14; 
}

/* АДАПТИВНОСТЬ */
@media (max-width: 768px) {
    .main-title { font-size: 3rem; }
    nav { flex-direction: column; gap: 1rem; }
    .nav-links { flex-wrap: wrap; justify-content: center; }
    .hero-buttons { flex-direction: column; }
}