/* --- 1. ФУНДАМЕНТ --- */
:root {
    --glass: rgba(255, 255, 255, 0.08);
    --border: rgba(255, 255, 255, 0.12);
    --gold: #C5A47E;
    --white: #ffffff;
    --black: #000000;
    --transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

* { 
    box-sizing: border-box; 
    margin: 0; 
    padding: 0; 
    text-decoration: none !important; /* Убирает черточки навсегда */
}

html { scroll-behavior: smooth; }

body { 
    background: var(--black); 
    color: var(--white); 
    font-family: 'Montserrat', sans-serif; 
    overflow-x: hidden; 
    -webkit-font-smoothing: antialiased; 
}

.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.center { text-align: center; }
.gold-text { color: var(--gold) !important; }

/* --- 2. НАВИГАЦИЯ (APPLE CAPSULE) --- */
.apple-nav { 
    position: fixed; 
    top: 20px; 
    left: 0; 
    width: 100%; 
    z-index: 2000; 
    padding: 0 10px; 
}

.nav-pill {
    max-width: 950px; 
    margin: 0 auto; 
    height: 54px;
    background: var(--glass); 
    backdrop-filter: blur(30px); 
    -webkit-backdrop-filter: blur(30px);
    border: 1px solid var(--border); 
    border-radius: 50px;
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    padding: 0 20px;
}

.brand-script { 
    font-family: 'Dancing Script', cursive; 
    font-size: 24px; 
    color: rgba(197, 164, 126, 0.8); 
}

.nav-side { flex: 1; display: flex; align-items: center; }
.nav-right { justify-content: flex-end; }
.nav-links-desktop { display: flex; gap: 25px; margin-right: 20px; }

.nav-item { 
    color: rgba(255,255,255,0.5); 
    font-size: 11px; 
    text-transform: uppercase; 
    letter-spacing: 1.5px; 
    font-weight: 500;
    transition: var(--transition); 
}

.nav-item:hover { color: var(--white); }

.nav-book-btn { 
    background: #fff; 
    color: #000 !important; 
    padding: 8px 18px; 
    border-radius: 20px; 
    font-size: 10px; 
    font-weight: 700; 
    text-transform: uppercase; 
    transition: var(--transition);
}

.nav-book-btn:hover { background: var(--gold); color: #fff !important; transform: scale(1.05); }

/* БУРГЕР И ВЫПАДАЮЩЕЕ МЕНЮ */
.burger-menu { background: none; border: none; cursor: pointer; display: flex; flex-direction: column; gap: 5px; padding: 5px; z-index: 2001; }
.burger-menu span { width: 20px; height: 1.5px; background: #fff; transition: var(--transition); }
.burger-menu.active span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.burger-menu.active span:nth-child(2) { transform: translateY(-6.5px) rotate(-45deg); }

.dropdown-content { 
    position: absolute; top: 65px; left: 10px; width: 260px;
    background: rgba(15,15,15,0.98); border-radius: 25px; padding: 30px; border: 1px solid var(--border); 
    opacity: 0; visibility: hidden; transition: var(--transition); transform: translateY(-20px); z-index: 1001;
}
.dropdown-content.active { opacity: 1; visibility: visible; transform: translateY(0); }

.menu-label { font-size: 9px; color: var(--gold); text-transform: uppercase; margin-bottom: 20px; display: block; letter-spacing: 2px; }
.menu-link { 
    display: flex; align-items: center; gap: 15px; 
    color: #fff !important; font-size: 15px; margin-bottom: 20px; 
    opacity: 0.8; transition: 0.3s; 
}
.menu-link:hover { opacity: 1; color: var(--gold) !important; }
.menu-link svg { width: 20px; height: 20px; fill: currentColor; }
.menu-divider { height: 1px; background: var(--border); margin: 15px 0; }

/* --- 3. HERO (ИДЕАЛЬНАЯ ЦЕНТРОВКА) --- */
.hero-section { 
    height: 100vh; 
    width: 100%;
    display: flex; 
    align-items: center; 
    justify-content: center; 
    position: relative; 
    overflow: hidden;
}

.hero-video-wrapper { position: absolute; inset: 0; z-index: -1; }
.hero-video { width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.55); }

.hero-container { 
    width: 100%; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    z-index: 10; 
}

.hero-glass-card {
    background: rgba(255,255,255,0.03); 
    backdrop-filter: blur(15px); 
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid var(--border); 
    padding: 60px 40px; 
    border-radius: 40px; 
    text-align: center; 
    width: 90%; 
    max-width: 600px;
    margin: 0 auto; 
}

.hero-eyebrow-container { display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 25px; }
.hero-eyebrow-container::before, .hero-eyebrow-container::after { content: ""; height: 1px; width: 30px; background: var(--gold); opacity: 0.6; }
.hero-eyebrow { color: var(--gold); font-size: 10px; text-transform: uppercase; letter-spacing: 5px; }

.hero-title { 
    font-family: 'Playfair Display', serif; 
    font-size: clamp(32px, 9vw, 65px); 
    line-height: 1.1; 
    margin-bottom: 20px; 
}

.hero-subtitle { font-size: 18px; font-weight: 300; opacity: 0.9; margin-bottom: 10px; }
.hero-location { font-size: 11px; text-transform: uppercase; letter-spacing: 3px; color: var(--gold); }

.hero-cta-wrapper { margin-top: 40px; }
.btn-explore { 
    display: inline-block; 
    padding: 14px 35px; 
    border: 1px solid var(--border); 
    border-radius: 30px; 
    color: #fff !important; 
    font-size: 12px; 
    font-weight: 600; 
    background: rgba(255,255,255,0.1); 
    transition: 0.3s;
}
.btn-explore:hover { background: #fff; color: #000 !important; transform: translateY(-3px); }

/* --- 4. MASTER SECTION --- */
.master-section { padding: 120px 0; border-top: 1px solid var(--border); position: relative; }

.master-header { margin-bottom: 60px; }
.master-title-decorated { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 15px; }
.master-title-decorated::before, .master-title-decorated::after { content: ""; height: 1px; width: 60px; background: var(--gold); opacity: 0.5; }
.master-name-title { font-family: 'Playfair Display', serif; font-size: 56px; margin: 0; }

.master-container { display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; align-items: start; }

.master-photo-main { 
    width: 100%; 
    max-width: 450px; 
    display: block; 
    margin: 0 auto;
    -webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
}

.flow-content > * + * { margin-top: 45px; }
.welcome-text { font-size: 16px; font-weight: 300; line-height: 1.8; opacity: 0.9; }

.edu-glass-panel { 
    background: rgba(255,255,255,0.02); 
    padding: 35px; 
    border-radius: 30px; 
    border: 1px solid var(--border); 
}
.edu-title { font-size: 12px; font-weight: 600; color: var(--gold); margin-bottom: 25px; text-transform: uppercase; letter-spacing: 2px; }
.edu-list { list-style: none; }
.edu-list li { 
    font-size: 14px; 
    padding: 15px 0; 
    border-bottom: 1px solid rgba(255,255,255,0.05); 
    display: flex; 
    align-items: center; 
    opacity: 0.8;
}
.edu-list li::before { content: "•"; color: var(--gold); margin-right: 15px; font-size: 20px; }
.edu-list li:last-child { border: none; }

.master-stats-grid { display: flex; gap: 60px; padding-top: 25px; border-top: 1px solid var(--border); }
.stat-val { display: block; font-size: 42px; font-family: 'Playfair Display', serif; color: var(--gold); margin-bottom: 5px; }
.stat-desc { font-size: 11px; text-transform: uppercase; opacity: 0.6; letter-spacing: 1px; }

/* --- 5. SERVICES SECTION (ЖЕЛЕЗНАЯ СЕТКА) --- */
.services-section { padding: 120px 0; background: #000; border-top: 1px solid var(--border); }
.section-header-simple { margin-bottom: 80px; }
.section-title { font-family: 'Playfair Display', serif; font-size: clamp(36px, 6vw, 52px); margin-top: 10px; }
.subtitle-text { font-size: 15px; opacity: 0.5; margin-top: 15px; letter-spacing: 1px; }

.services-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); 
    gap: 35px; 
    margin-top: 60px;
}

.service-card { 
    background: rgba(255, 255, 255, 0.02); 
    border: 1px solid var(--border); 
    border-radius: 35px; 
    overflow: hidden; 
    display: flex; 
    flex-direction: column; 
    transition: var(--transition);
}

.service-card:hover { border-color: var(--gold); transform: translateY(-8px); background: rgba(255, 255, 255, 0.04); }

.service-img-box { height: 240px; overflow: hidden; }
.service-img-box img { width: 100%; height: 100%; object-fit: cover; transition: 0.8s ease; }
.service-card:hover .service-img-box img { transform: scale(1.1); }

.service-info { padding: 35px; flex-grow: 1; display: flex; flex-direction: column; }
.service-info h3 { font-family: 'Playfair Display', serif; font-size: 24px; margin-bottom: 15px; }
.service-info p { font-size: 14px; color: rgba(255, 255, 255, 0.6); line-height: 1.7; margin-bottom: 30px; }

.service-meta { 
    margin-top: auto; 
    display: flex; 
    justify-content: space-between; 
    padding-top: 25px; 
    border-top: 1px solid rgba(255,255,255,0.05);
    font-weight: 600; 
}
.price { font-size: 20px; color: var(--gold); }
.duration { font-size: 13px; opacity: 0.5; text-transform: uppercase; letter-spacing: 1px; }

.btn-service-book { 
    display: block; 
    text-align: center; 
    margin-top: 25px; 
    padding: 14px; 
    border: 1px solid var(--border); 
    border-radius: 18px; 
    color: #fff !important; 
    font-size: 12px; 
    font-weight: 700; 
    text-transform: uppercase; 
    transition: 0.3s;
}
.btn-service-book:hover { background: var(--white); color: #000 !important; }

/* --- 6. REVIEWS SECTION --- */
.reviews-section { padding: 100px 0; background: #050505; border-top: 1px solid var(--border); }
.reviews-header-centered { text-align: center; margin-bottom: 60px; }

.btn-yclients { 
    display: inline-block; 
    border: 1px solid var(--gold); 
    color: var(--gold) !important; 
    padding: 12px 30px; 
    border-radius: 40px; 
    font-size: 11px; 
    text-transform: uppercase; 
    font-weight: 700; 
    margin-top: 30px; 
    transition: 0.3s;
}
.btn-yclients:hover { background: var(--gold); color: #000 !important; }

.reviews-slider-container { width: 100%; overflow-x: auto; padding-bottom: 50px; -webkit-overflow-scrolling: touch; }
.reviews-scroll-area { display: flex; gap: 25px; width: max-content; padding: 0 25px; }
.review-card { 
    background: var(--glass); 
    border: 1px solid var(--border); 
    padding: 40px; 
    border-radius: 35px; 
    width: 320px; 
    flex-shrink: 0; 
    backdrop-filter: blur(20px);
}
.review-text { font-size: 15px; font-style: italic; opacity: 0.8; line-height: 1.7; margin-bottom: 25px; }
.review-author { font-size: 12px; color: var(--gold); text-transform: uppercase; letter-spacing: 2px; font-weight: 600; }

/* --- 7. ADAPTIVITY (RESPONSIVE) --- */
@media (max-width: 900px) {
    .nav-pill { height: 48px; }
    .nav-links-desktop { display: none; }
    .nav-center { position: absolute; left: 50%; transform: translateX(-50%); }
    
    .master-container { grid-template-columns: 1fr; gap: 50px; }
    .master-visual { order: -1; }
    .master-header { margin-top: 50px; }
    .master-name-title { font-size: 42px; }
    .master-stats-grid { justify-content: space-around; }

    .services-grid { grid-template-columns: 1fr; }
    .review-card { width: 280px; padding: 30px; }
}

@media (max-width: 480px) {
    .hero-glass-card { padding: 45px 25px; }
    .hero-title { font-size: 36px; }
    .hero-subtitle { font-size: 16px; }
    .master-title-decorated::before, .master-title-decorated::after { width: 30px; }
}