/* ============================================================

   1. БАЗОВЫЕ НАСТРОЙКИ И ШРИФТЫ

   ============================================================ */

@import url('https://fonts.cdnfonts.com/css/eurostile');

html {

    scroll-behavior: smooth;

}

* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}

body {

    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, Arial, sans-serif;

    background-color: #ffffff;

    color: #111111;

    line-height: 1.6;

    -webkit-font-smoothing: antialiased;

}

.container {

    max-width: 1240px;

    margin: 0 auto;

    padding: 0 24px;

}

.section {

    padding: 90px 0;

}

/* ============================================================

   ТОНКИЙ ВЕКТОРНЫЙ ЛОГОТИП (НЕ ЖИРНЫЙ, БЕЗ ПОДЧЕРКИВАНИЯ)

   ============================================================ */

.persona-wordmark-thin {

    display: inline-block;

    vertical-align: middle;

    color: currentColor;

}

.persona-wordmark-thin--hero {

    width: 175px;

    height: 24px;

    margin-left: 8px;

    margin-bottom: 5px;

    color: #111111;

}

.persona-wordmark-thin--services {

    width: 140px;

    height: 19px;

    margin-left: 8px;

    margin-bottom: 4px;

    color: #111111;

}

@media (max-width: 768px) {

    .persona-wordmark-thin--hero {

        width: 130px;

        height: 18px;

        margin-left: 5px;

        margin-bottom: 4px;

    }

    .persona-wordmark-thin--services {

        width: 105px;

        height: 15px;

        margin-left: 5px;

        margin-bottom: 3px;

    }

}

/* ОБЫЧНЫЙ ТЕКСТОВЫЙ БРЕНД (ДЛЯ ФУТЕРА И ТЕКСТОВ) */

.persona-text-brand {

    font-family: 'Eurostile Extended', 'Eurostile', sans-serif !important;

    font-weight: 400 !important;

    text-transform: uppercase;

    letter-spacing: 1.5px !important;

    display: inline;

    text-decoration: none !important;

    border: none !important;

    color: inherit !important;

}

/* ЗАГОЛОВКИ */

.section-header-box {

    border-bottom: 1px solid #f0f0f0;

    padding-bottom: 15px;

    margin-bottom: 45px;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

}

.section-tag {

    font-size: 10px;

    letter-spacing: 3px;

    font-weight: 700;

    color: #999999;

    text-transform: uppercase;

    display: block;

    margin-bottom: 8px;

}

.section__title-left {

    font-family: 'Montserrat', sans-serif;

    font-size: 28px;

    font-weight: 300;

    letter-spacing: 2px;

    color: #111111;

    text-transform: uppercase;

}

/* ============================================================

   2. ЧЁРНАЯ ШАПКА И ОРИГИНАЛЬНЫЙ ПОДЧЕРКНУТЫЙ ЛОГОТИП

   ============================================================ */

.header {

    position: fixed;

    top: 0;

    left: 0;

    right: 0;

    height: 80px;

    background: #0b0b0b;

    border-bottom: 1px solid #1a1a1a;

    z-index: 5000;

    display: flex;

    align-items: center;

}

.header__inner {

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: space-between;

}

/* Логотип в шапке */

.header .brand-logo {

    display: flex;

    flex: 0 0 auto;

    flex-direction: column;

    align-items: flex-start;

    width: 175px;

    text-decoration: none !important;

}

.header .persona-svg-logo {

    display: block;

    width: 145px;

    height: 23px;

    color: #ffffff;

}

.header .brand-logo__subtitle {

    display: block;

    margin-top: 5px;

    font-size: 7px;

    line-height: 1;

    letter-spacing: 1.5px;

    color: #c5a059;

}

.header__right {

    display: flex;

    align-items: center;

    gap: 30px;

}

.nav {

    display: flex;

    gap: 22px;

    align-items: center;

}

.nav a {

    color: #cccccc;

    text-decoration: none;

    font-size: 11px;

    text-transform: uppercase;

    font-weight: 600;

    letter-spacing: 1.5px;

    transition: color 0.3s ease;

}

.nav a:hover {

    color: #c5a059;

}

/* ИКОНКА-БУРГЕР */

.menu-toggle {

    display: none;

    flex-direction: column;

    justify-content: space-between;

    width: 25px;

    height: 18px;

    background: transparent;

    border: none;

    cursor: pointer;

    z-index: 5100;

    padding: 0;

}

.menu-toggle span {

    width: 100%;

    height: 2px;

    background-color: #ffffff;

    transition: all 0.3s ease;

}

/* ВЫПАДАЮЩЕЕ МЕНЮ */

.dropdown {

    position: relative;

    display: inline-block;

}

.dropbtn {

    display: flex;

    align-items: center;

    gap: 5px;

    cursor: pointer;

}

.arrow {

    font-size: 8px;

    vertical-align: middle;

}

.dropdown-content {

    display: none;

    position: absolute;

    background-color: #0b0b0b;

    min-width: 250px;

    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.7);

    z-index: 3000;

    top: 100%;

    left: 0;

    border: 1px solid #222222;

    padding: 8px 0;

}

.dropdown-content a {

    color: #bbbbbb;

    padding: 12px 20px;

    text-decoration: none;

    display: block;

    font-size: 10.5px;

    text-transform: uppercase;

    letter-spacing: 1px;

    border-bottom: 1px solid #161616;

    transition: all 0.25s ease;

}

.dropdown-content a:hover {

    background-color: #121212;

    color: #c5a059;

    padding-left: 24px;

}

.dropdown:hover .dropdown-content {

    display: block;

}

/* ============================================================

   3. КНОПКИ

   ============================================================ */

.btn--gold, .btn--gold-large {

    background: #c5a059;

    color: #ffffff;

    border: none;

    text-decoration: none;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 1.5px;

    transition: background 0.3s ease;

    border-radius: 0;

}

.btn--gold { padding: 10px 24px; font-size: 11px; }

.btn--gold-large { padding: 18px 40px; font-size: 12px; display: inline-block; }

.btn--gold:hover, .btn--gold-large:hover { background: #b08d47; }

.btn--outline-dark {

    border: 1px solid #111111;

    color: #111111;

    padding: 18px 40px;

    display: inline-block;

    text-decoration: none;

    text-transform: uppercase;

    font-size: 12px;

    letter-spacing: 2px;

    font-weight: 600;

    margin-left: 15px;

    border-radius: 0;

    transition: 0.3s;

}

.btn--outline-dark:hover {

    background: #111111;

    color: #ffffff;

}

/* ============================================================

   4. ГЛАВНЫЙ ЭКРАН (HERO)

   ============================================================ */

.hero-light {

    min-height: 85vh;

    background: linear-gradient(rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.88)),

                url('images/salon.jpg') center/cover no-repeat;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding: 100px 20px 60px;

    margin-top: 80px;

}

.hero-title {

    font-size: 42px;

    font-weight: 300;

    letter-spacing: 4px;

    margin: 15px 0;

    color: #111111;

    text-transform: uppercase;

}

.hero-badge {

    color: #c5a059;

    letter-spacing: 4px;

    font-size: 11px;

    font-weight: 700;

}

.hero-subtitle {

    font-size: 15px;

    color: #555555;

    margin-bottom: 35px;

    max-width: 600px;

    line-height: 1.8;

}

.hero-btns {

    display: flex;

    justify-content: center;

    align-items: center;

}

/* ============================================================

   5. О ПРОСТРАНСТВЕ (ПК: ФОТО СЛЕВА, ТЕКСТ СПРАВА)

   ============================================================ */

.why-us-grid-clean {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 60px;

    align-items: center;

}

.why-us-image-side {

    width: 100%;

    height: 520px;

    overflow: hidden;

}

.why-us-image-side img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center top;

}

.benefit-item-clean {

    display: flex;

    gap: 20px;

    margin-bottom: 30px;

}

.benefit-icon-gold {

    color: #c5a059;

    font-size: 18px;

    margin-top: 4px;

}

.benefit-text h3 {

    font-size: 16px;

    font-weight: 600;

    text-transform: uppercase;

    margin-bottom: 6px;

}

.benefit-text p {

    font-size: 14px;

    color: #555555;

}

/* ============================================================

   6. 8 УСЛУГ (МЕНЮ)

   ============================================================ */

.services-eight-section {

    background: #ffffff;

}

.services-eight-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 24px;

}

.service-card-item {

    text-decoration: none !important;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    transition: transform 0.3s ease;

    color: inherit;

}

.service-card-item:hover {

    transform: translateY(-5px);

}

.service-card-img {

    width: 100%;

    height: 340px;

    overflow: hidden;

    margin-bottom: 15px;

}

.service-card-img img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);

}

.service-card-item:hover .service-card-img img {

    transform: scale(1.08);

}

.service-card-item h3 {

    font-size: 13px;

    color: #c5a059 !important;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    font-weight: 600;

    text-decoration: none !important;

    transition: color 0.3s ease;

}

.service-card-item:visited h3 {

    color: #c5a059 !important;

}

.service-card-item:hover h3 {

    color: #111111 !important;

}

/* ============================================================

   7. ПОРТФОЛИО

   ============================================================ */

.portfolio-section-light {

    background-color: #ffffff;

    border-top: 1px solid #f0f0f0;

}

.portfolio-grid-tight {

    display: grid;

    grid-template-columns: repeat(5, 1fr);

    gap: 12px;

}

.portfolio-grid-tight img {

    width: 100%;

    height: 420px;

    object-fit: cover;

    border-radius: 0;

    transition: transform 0.3s ease, box-shadow 0.3s ease;

}

.portfolio-grid-tight img:hover {

    transform: translateY(-4px);

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);

}

/* ============================================================

   8. КОМАНДА МАСТЕРОВ

   ============================================================ */

.masters-dark-section {

    background: #fbfbfb;

    border-top: 1px solid #f0f0f0;

}

.masters-premium-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 30px;

}

.master-premium-card {

    background: #ffffff;

    border: 1px solid #ebebeb;

    display: flex;

    flex-direction: column;

}

.master-image-box { width: 100%; height: 440px; overflow: hidden; }

.master-image-box img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }

.master-info-box { padding: 30px; }

.master-badge { color: #c5a059; font-size: 10px; font-weight: 700; text-transform: uppercase; margin-bottom: 10px; display: block; letter-spacing: 2px;}

.master-specialty p { font-size: 13px; color: #1a1a1a; font-weight: 500; line-height: 1.6; text-align: left; }

/* ============================================================

   9. ИНТЕРЬЕР САЛОНА (АТМОСФЕРА)

   ============================================================ */

.interior-section {

    background-color: #ffffff;

    border-top: 1px solid #f0f0f0;

}

.interior-slider-grid {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));

    gap: 20px;

}

.interior-card {

    width: 100%;

    height: 360px;

    overflow: hidden;

}

.interior-card img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform 0.5s ease;

}

.video-card-lux {

    position: relative;

    background: #000;

    overflow: hidden;

}

.video-card-lux video {

    width: 100%;

    height: 100%;

    object-fit: cover;

}

/* ============================================================

   10. ОТЗЫВЫ И КОНТАКТЫ

   ============================================================ */

.reviews-light {

    background-color: #ffffff;

    border-top: 1px solid #f0f0f0;

}

.reviews__grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 25px;

}

.review-card {

    background: #fdfdfd;

    border: 1px solid #f0f0f0;

    padding: 40px;

}

.contacts-light { background: #fbfbfb; border-top: 1px solid #f0f0f0; }

.contacts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }

.map-box { height: 450px; background: #eee; }

.footer-light { text-align: center; padding: 40px; color: #777; font-size: 12px; border-top: 1px solid #f0f0f0; }

/* ============================================================

   11. МОБИЛЬНАЯ АДАПТАЦИЯ

   ============================================================ */

@media (max-width: 1024px) {

    .masters-premium-grid {

        grid-template-columns: repeat(2, 1fr);

    }

}

@media (max-width: 768px) {

    .header .brand-logo {

        width: 145px;

    }

    .header .persona-svg-logo {

        width: 130px;

        height: 21px;

    }

    .header-btn-desktop {

        display: none !important;

    }

 

    .menu-toggle {

        display: flex;

    }

    .nav {

        position: fixed;

        top: 0;

        right: -100%;

        width: 280px;

        height: 100vh;

        background-color: #0b0b0b;

        display: flex;

        flex-direction: column;

        justify-content: center;

        align-items: center;

        gap: 30px;

        transition: right 0.4s cubic-bezier(0.1, 0.9, 0.2, 1);

        z-index: 3000;

        border-left: 1px solid #222222;

        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.5);

    }

    .nav.active {

        right: 0;

    }

    .nav a {

        font-size: 14px;

        letter-spacing: 2px;

    }

    .menu-toggle.active span:nth-child(1) {

        transform: translateY(8px) rotate(45deg);

    }

    .menu-toggle.active span:nth-child(2) {

        opacity: 0;

    }

    .menu-toggle.active span:nth-child(3) {

        transform: translateY(-8px) rotate(-45deg);

    }

    .dropdown-content {

        position: static;

        box-shadow: none;

        background: transparent;

        border: none;

        display: none;

        text-align: center;

    }

    .dropdown:hover .dropdown-content {

        display: block;

    }

    .hero-btn-book {

        display: none !important;

    }

    .hero-btn-services {

        margin-left: 0 !important;

        background: #c5a059 !important;

        color: #ffffff !important;

        border-color: #c5a059 !important;

        padding: 18px 45px !important;

        font-weight: 700 !important;

        width: 100%;

        max-width: 290px;

        display: inline-block;

    }

    .why-us-grid-clean {

        display: flex !important;

        flex-direction: column !important;

        gap: 30px !important;

    }

    .why-us-image-side {

        width: 100% !important;

        height: 320px !important;

    }

    .why-us-image-side img {

        width: 100% !important;

        height: 100% !important;

        object-fit: cover !important;

    }

    .portfolio-grid-tight {

        display: grid !important;

        grid-template-columns: repeat(2, 1fr) !important;

        gap: 12px !important;

    }

    .portfolio-grid-tight img {

        height: 250px !important;

        width: 100% !important;

    }

    .services-eight-grid {

        display: flex !important;

        overflow-x: auto !important;

        scroll-snap-type: x mandatory;

        gap: 16px;

        padding: 10px 10px 25px;

        scrollbar-width: none;

        -webkit-overflow-scrolling: touch;

    }

    .services-eight-grid::-webkit-scrollbar { display: none; }

    .service-card-item { flex: 0 0 280px; scroll-snap-align: start; }

    .service-card-img { height: 380px; }

    .masters-premium-grid {

        display: flex !important;

        overflow-x: auto !important;

        scroll-snap-type: x mandatory;

        gap: 16px;

        padding: 10px 10px 30px;

        scrollbar-width: none;

        -webkit-overflow-scrolling: touch;

    }

    .masters-premium-grid::-webkit-scrollbar { display: none; }

    .master-premium-card { flex: 0 0 280px; scroll-snap-align: start; }

    .master-premium-card .master-image-box { height: 320px; }

    .interior-slider-grid {

        display: flex !important;

        overflow-x: auto !important;

        scroll-snap-type: x mandatory !important;

        gap: 16px !important;

        padding: 10px 10px 25px !important;

        scrollbar-width: none;

        -webkit-overflow-scrolling: touch;

    }

    .interior-slider-grid::-webkit-scrollbar { display: none; }

    .interior-card {

        flex: 0 0 280px !important;

        scroll-snap-align: start !important;

        height: 300px !important;

    }

    .interior-card img {

        width: 100% !important;

        height: 100% !important;

        object-fit: cover !important;

    }

    .reviews__grid {

        display: flex !important;

        overflow-x: auto !important;

        scroll-snap-type: x mandatory !important;

        gap: 16px !important;

        padding: 10px 10px 30px !important;

        scrollbar-width: none;

        -webkit-overflow-scrolling: touch;

    }

    .reviews__grid::-webkit-scrollbar { display: none; }

    .review-card {

        flex: 0 0 280px !important;

        scroll-snap-align: start !important;

        display: flex !important;

        flex-direction: column !important;

        justify-content: space-between !important;

    }

    .why-us__grid,

    .contacts-grid {

        grid-template-columns: 1fr;

    }

    .why-us__image img {

        height: 320px;

    }

}

/* Единый векторный заголовок главного экрана. Логотип в шапке не затронут. */
.hero-light__content {
    width: min(100%, 1100px);
}

.hero-title {
    margin: 15px auto 22px;
    line-height: 1;
}

.hero-title-vector {
    display: block;
    width: min(100%, 980px);
    height: auto;
    margin: 0 auto;
    overflow: visible;
    color: #111111;
}

.hero-light__content .hero-subtitle {
    margin-left: auto;
    margin-right: auto;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}