/* ================================================= */
/*                  NABA MASTER SYSTEM               */
/* ================================================= */


/* ================================================= */
/*                     ROOT TOKENS                   */
/* ================================================= */

:root {

    --bg-main: #0F0F12;
    --bg-deep: #09090B;
    --bg-soft: #16161B;

    --accent-blue: #011DE0;
    --accent-blue-soft: rgba(1,29,224,0.15);
    --accent-blue-glow: rgba(1,29,224,0.35);

    --text-main: #F5F5F7;
    --text-muted: rgba(255,255,255,0.55);

    --border-soft: rgba(255,255,255,0.08);

    --radius-soft: 20px;

    --transition-fast: 0.2s ease;
    --transition-slow: 0.4s cubic-bezier(.4,0,.2,1);

}


/* ================================================= */
/*                       RESET                       */
/* ================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: var(--bg-main);
    color: var(--text-main);
    font-family: 'Montserrat', sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}

img {
    max-width: 100%;
    display: block;
}


/* ================================================= */
/*                 GLOBAL LAYOUT                     */
/* ================================================= */

.container {
    width: 90%;
    max-width: 1300px;
    margin: 0 auto;
}

.narrow {
    max-width: 850px;
}

.center {
    text-align: center;
}

.section {
    padding: 180px 0;
    position: relative;
}

.section-deep {
    background: var(--bg-deep);
}

.subtle-layer {
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(255,255,255,0.02)
    );
}


/* ================================================= */
/*                   TYPOGRAPHY                      */
/* ================================================= */

h1 {
    font-size: 90px;
    letter-spacing: 12px;
    margin-bottom: 30px;
    font-weight: 500;
}

h2 {
    font-size: 40px;
    letter-spacing: 6px;
    margin-bottom: 40px;
}

h3 {
    font-size: 22px;
    letter-spacing: 4px;
}

.label {
    font-size: 12px;
    letter-spacing: 4px;
    color: var(--accent-blue);
    margin-bottom: 20px;
    display: inline-block;
}

.lead {
    font-size: 18px;
    color: var(--text-muted);
}


/* ================================================= */
/*                     HEADER                        */
/* ================================================= */

.header {
    padding: 30px 0;
    border-bottom: 1px solid var(--border-soft);
    backdrop-filter: blur(6px);
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo-wrap {
    display: flex;
    align-items: center;
    gap: 20px;
}

.logo-brand {
    letter-spacing: 6px;
}

.logo-line {
    width: 40px;
    height: 1px;
    background: var(--accent-blue);
}

.nav {
    display: flex;
    gap: 50px;
}

.nav a {
    font-size: 13px;
    letter-spacing: 2px;
    color: var(--text-muted);
    transition: var(--transition-fast);
}

.nav a:hover,
.nav a.active {
    color: #fff;
}


/* ================================================= */
/*                       HERO                        */
/* ================================================= */

.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: "";
    position: absolute;
    width: 900px;
    height: 900px;
    right: -200px;
    top: 50%;
    transform: translateY(-50%);
    background: radial-gradient(
        circle,
        var(--accent-blue-glow),
        transparent 70%
    );
}

.hero-layout {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.hero-text {
    max-width: 520px;
}

.hero-actions a {
    margin-right: 20px;
}


/* ================================================= *//*                   ORBIT SYSTEM                    */
/* ================================================= */

.hero-visual {
    position: relative;
    width: 650px;
    height: 650px;
}

.orbit {
    position: absolute;
    border-radius: 50%;
    border: 1px solid var(--accent-blue-soft);
    transition: var(--transition-slow);
}

.orbit-large {
    width: 650px;
    height: 650px;
    animation: rotate 90s linear infinite;
}

.orbit-medium {
    width: 450px;
    height: 450px;
    top: 100px;
    left: 100px;
    animation: rotateReverse 70s linear infinite;
}

.orbit-small {
    width: 260px;
    height: 260px;
    top: 195px;
    left: 195px;
    animation: rotate 40s linear infinite;
}

.core {
    position: absolute;
    width: 12px;
    height: 12px;
    background: var(--accent-blue);
    border-radius: 50%;
    top: 319px;
    left: 319px;
    box-shadow: 0 0 20px var(--accent-blue);
}

@keyframes rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes rotateReverse {
    from { transform: rotate(360deg); }
    to { transform: rotate(0deg); }
}


/* ================================================= */
/*                 INTELLIGENT GRID                  */
/* ================================================= */

.grid {
    display: grid;
    gap: 60px;
}

.grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
    grid-template-columns: repeat(3, 1fr);
}


/* ================================================= */
/*                    CARDS                          */
/* ================================================= */

.card {
    background: var(--bg-soft);
    border: 1px solid var(--border-soft);
    padding: 50px;
    border-radius: var(--radius-soft);
    transition: var(--transition-slow);
    backdrop-filter: blur(8px);
}

.card:hover {
    transform: translateY(-6px);
    border-color: var(--accent-blue);
    box-shadow: 0 0 30px var(--accent-blue-soft);
}

.refined-card {
    border-bottom: 1px solid var(--border-soft);
    padding: 50px 0;
    transition: var(--transition-slow);
}

.refined-card:hover {
    border-color: var(--accent-blue);
    padding-left: 10px;
}


/* ================================================= */
/*                   BUTTONS                         */
/* ================================================= */

.btn-primary {
    background: var(--accent-blue);
    color: #fff;
    padding: 14px 36px;
    border-radius: 40px;
    display: inline-block;
    transition: var(--transition-slow);
}

.btn-primary:hover {
    box-shadow: 0 0 20px var(--accent-blue-glow);
    transform: translateY(-2px);
}

.btn-outline {
    border: 1px solid var(--accent-blue);
    padding: 14px 36px;
    border-radius: 40px;
    display: inline-block;
    transition: var(--transition-slow);
}

.btn-outline:hover {
    background: var(--accent-blue-soft);
}


/* ================================================= */
/*                UNIVERSAL PRICE SYSTEM             */
/* ================================================= */

.price-container {
    background: var(--bg-soft);
    border: 1px solid var(--border-soft);
    padding: 90px;
    border-radius: var(--radius-soft);
}

.price-row {
    display: flex;
    justify-content: space-between;
    padding: 24px 0;
    border-bottom: 1px solid var(--border-soft);
    transition: var(--transition-slow);
}

.price-row:hover {
    padding-left: 14px;
}

.price-row span:last-child {
    color: var(--accent-blue);
    font-weight: 500;
}


/* ================================================= */
/*                 CONTACT & BOOKING                 */
/* ================================================= */

.contact-grid,
.booking-grid {
    display: grid;
    gap: 100px;
}

.contact-grid {
    grid-template-columns: repeat(3, 1fr);
}

.booking-grid {
    grid-template-columns: repeat(3, 1fr);
}

.contact-main {
    font-size: 22px;
}

.contact-main a {
    border-bottom: 1px solid var(--border-soft);
    transition: var(--transition-fast);
}

.contact-main a:hover {border-color: var(--accent-blue);
}


/* ================================================= */
/*                     FOOTER                        */
/* ================================================= */

.footer {
    padding: 80px 0;
    border-top: 1px solid var(--border-soft);
    text-align: center;
    color: var(--text-muted);
}


/* ================================================= */
/*                 SCROLL ANIMATION                  */
/* ================================================= */

.fade-up {
    opacity: 0;
    transform: translateY(40px);
    transition: var(--transition-slow);
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}


/* ================================================= */
/*                 RESPONSIVE SYSTEM                 */
/* ================================================= */

@media (max-width: 1100px) {

    h1 { font-size: 64px; }
    h2 { font-size: 32px; }

    .hero-layout {
        flex-direction: column;
        text-align: center;
    }

    .hero-visual {
        margin-top: 60px;
    }

    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 768px) {

    h1 { font-size: 48px; letter-spacing: 6px; }
    h2 { font-size: 26px; }

    .nav {
        display: none;
    }

    .grid-2,
    .grid-3 {
        grid-template-columns: 1fr;
    }

    .price-container {
        padding: 40px;
    }

}/* ================================================= */
/*            SMOOTH SECTION SYSTEM                 */
/* ================================================= */

.section {
    padding: 200px 0;
    position: relative;
    overflow: hidden;
}

/* Плавное визуальное разделение */

.section::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    top: 0;
    left: 0;
    background: linear-gradient(
        to right,
        transparent,
        var(--border-soft),
        transparent
    );
}

/* Мягкий градиент между блоками */

.section-deep {
    background: linear-gradient(
        to bottom,
        var(--bg-deep),
        var(--bg-main)
    );
}
/* ================================================= */
/*             DEPTH BACKGROUND LAYER               */
/* ================================================= */

.section::after {
    content: "";
    position: absolute;
    width: 800px;
    height: 800px;
    background: radial-gradient(
        circle,
        rgba(1,29,224,0.06),
        transparent 70%
    );
    top: -300px;
    right: -300px;
    z-index: 0;
}

.section > .container {
    position: relative;
    z-index: 2;
}/* ================================================= */
/*              REFINED CARD SYSTEM                 */
/* ================================================= */

.card {
    position: relative;
    background: linear-gradient(
        145deg,
        rgba(255,255,255,0.03),
        rgba(255,255,255,0.01)
    );
    border: 1px solid var(--border-soft);
    padding: 60px;
    border-radius: 24px;
    transition: 0.5s cubic-bezier(.4,0,.2,1);
    backdrop-filter: blur(10px);
}

.card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 24px;
    background: radial-gradient(
        circle at 20% 20%,
        var(--accent-blue-soft),
        transparent 60%
    );
    opacity: 0;
    transition: 0.5s;
}

.card:hover::before {
    opacity: 1;
}

.card:hover {
    transform: translateY(-8px);
    border-color: var(--accent-blue);
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}/* ================================================= */
/*            SERVICES VISUAL UPGRADE               */
/* ================================================= */

.service-card {
    position: relative;
    padding: 40px 0;
    transition: 0.4s;
}

.service-card::after {
    content: "";
    position: absolute;
    width: 0%;
    height: 1px;
    bottom: -1px;
    left: 0;
    background: var(--accent-blue);
    transition: 0.4s;
}

.service-card:hover::after {
    width: 100%;
}

.service-card:hover {
    transform: translateX(10px);
}/* ================================================= */
/*                HERO ENHANCEMENT                  */
/* ================================================= */

.hero {
    background:
        radial-gradient(circle at 70% 50%, rgba(1,29,224,0.15), transparent 60%),
        radial-gradient(circle at 20% 80%, rgba(1,29,224,0.05), transparent 60%),
        var(--bg-main);
}

.hero-text {
    animation: heroFade 1.2s ease forwards;
}

@keyframes heroFade {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}/* ================================ */
/*   ABOUT HOME — LARGE GLOW ORBIT */
/* ================================ */

.about-home-orbit {
    position: absolute;
    width: 1000px;
    height: 1000px;
    left: -420px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;

    border: 1px solid rgba(1,29,224,0.35);

    box-shadow:
        0 0 60px rgba(1,29,224,0.35),
        0 0 160px rgba(1,29,224,0.20),
        0 0 280px rgba(1,29,224,0.10),
        0 0 400px rgba(1,29,224,0.05);
}
/* Лейаут */

.about-home-layout {
    display: flex;
    align-items: center;
}

/* Левая зона просто держит баланс */

.about-home-visual {
    width: 40%;
}

/* Правая текстовая зона */

.about-home-content {
    width: 60%;
    max-width: 560px;
    margin-left: auto;
}

/* Разделительная линия */

.about-divider {
    width: 80px;
    height: 1px;
    background: var(--accent-blue);
    margin: 40px 0;
}

/* Главный текст */

.about-text-main {
    font-size: 18px;
    line-height: 1.8;
}

/* Вторичный текст */

.about-text-sub {
    margin-top: 25px;
    font-size: 15px;
    color: var(--text-muted);
}

/* Кнопка */

.about-btn {
    margin-top: 50px;
    display: inline-block;
}/* ================================================= */
/*               PREMIUM INDEX STYLE                */
/* ================================================= */

.hero-premium {
    text-align: center;
    position: relative;
    padding: 240px 0;
}

.hero-premium-orbit {
    position: absolute;
    width: 900px;
    height: 900px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.hero-premium-orbit .orbit {
    box-shadow:
        0 0 60px rgba(1,29,224,0.25),
        0 0 200px rgba(1,29,224,0.1);
}

/* О пространстве */

.section-air {
    padding: 240px 0;
}

.about-air-layout {
    display: flex;
    align-items: center;
}

.about-air-left {
    width: 40%;
}

.about-air-right {
    width: 60%;
    max-width: 560px;
    margin-left: auto;
}

.about-air-orbit {
    position: absolute;
    width: 1000px;
    height: 1000px;
    left: -450px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.25);
    box-shadow:
        0 0 80px rgba(1,29,224,0.25),
        0 0 220px rgba(1,29,224,0.1);
}

.divider-line {
    width: 80px;
    height: 1px;
    background: var(--accent-blue);
    margin: 40px 0;
}

.about-air-sub {
    margin-top: 25px;
    color: var(--text-muted);
}

.about-air-btn {
    margin-top: 50px;
    display: inline-block;
}

/* Направления */

.services-premium {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 120px 80px;
    margin-top: 120px;
}

.service-premium {
    border-bottom: 1px solid var(--border-soft);
    padding-bottom: 20px;
    transition: 0.4s;
}

.service-premium span {
    display: block;
    font-size: 12px;
    letter-spacing: 4px;
    color: var(--accent-blue);
    margin-bottom: 10px;
}

.service-premium:hover {
    border-color: var(--accent-blue);
    transform: translateX(10px);
}/* ================= HERO CENTER PREMIUM ================= */

.hero-centered-premium {
    position: relative;
    text-align: center;
    padding: 260px 0;
}

/* ================= HERO ORBIT REFINED ================= */

.hero-centered-orbits {
    position: absolute;
    width: 1000px;
    height: 1000px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Общий стиль */

.hero-centered-orbits .orbit {
    border-radius: 50%;
    border: 1.5px solid rgba(1,29,224,0.28);

    box-shadow:
        0 0 80px rgba(1,29,224,0.25),
        0 0 220px rgba(1,29,224,0.12);
}

/* Большая */

.hero-centered-orbits .orbit-large {
    width: 1000px;
    height: 1000px;
    animation: rotate 180s linear infinite;
}

/* Средняя */

.hero-centered-orbits .orbit-medium {
    width: 720px;
    height: 720px;
    top: 140px;
    left: 140px;
    animation: rotateReverse 240s linear infinite;
}

/* Малую убираем */
.hero-centered-orbits .orbit-small {
    display: none;
}
/* ================= ABOUT STRUCTURED ================= */

.about-structured {
    position: relative;
    padding: 260px 0;
    overflow: hidden;
}

/* Орбита справа — такая же как в направлениях */

.about-structured-orbit {
    position: absolute;
    width: 1100px;
    height: 1100px;
    right: -500px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.2);
    box-shadow:
        0 0 80px rgba(1,29,224,0.2),
        0 0 220px rgba(1,29,224,0.08);
}

/* Лейаут — всё влево */

.about-structured-layout {
    display: flex;
}

.about-structured-content {
    max-width: 560px;
}

/* Текст */

.about-structured-text {
    font-size: 18px;
    line-height: 1.8;
}

.about-structured-sub {
    margin-top: 25px;
    color: var(--text-muted);
}
/* ================= SERVICES ORBITAL ================= */

.services-orbital {
    position: relative;
    padding: 260px 0;
}

.services-orbit-bg {
    position: absolute;
    width: 1100px;
    height: 1100px;
    left: -500px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.2);
    box-shadow:
        0 0 80px rgba(1,29,224,0.2),
        0 0 220px rgba(1,29,224,0.08);
}

.services-premium {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 120px 80px;
    margin-top: 120px;
}

.service-premium {
    border-bottom: 1px solid var(--border-soft);
    padding-bottom: 20px;
    transition: 0.4s;
}

.service-premium span {
    display: block;
    font-size: 12px;
    letter-spacing: 4px;
    color: var(--accent-blue);
    margin-bottom: 10px;
}

.service-premium:hover {
    border-color: var(--accent-blue);
    transform: translateX(10px);
}/* ================= FINAL PREMIUM ================= */

.final-premium {
    position: relative;
    padding: 300px 0;
    overflow: hidden;
    text-align: center;
}

/* Большая мягкая орбита */

.final-orbit {
    position: absolute;
    width: 1200px;
    height: 1200px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.2);

    box-shadow:
        0 0 120px rgba(1,29,224,0.25),
        0 0 300px rgba(1,29,224,0.12),
        0 0 500px rgba(1,29,224,0.05);
}

.final-content {
    position: relative;
    z-index: 2;
}

.final-btn {
    padding: 16px 50px;
}/* ================================================= */
/*            HERO — MINIMAL DEPTH SYSTEM            */
/* ================================================= */

.hero-centered-premium {
    position: relative;
    padding: 320px 0;
    text-align: center;
    overflow: hidden;

    /* Глубокий фон */
    background:
        radial-gradient(
            circle at center,
            rgba(1,29,224,0.12) 0%,
            rgba(1,29,224,0.05) 25%,
            transparent 55%
        ),
        var(--bg-main);
}

/* ========================================= */
/*                ORBITS                    */
/* ========================================= */

.hero-centered-orbits {
    position: absolute;
    width: 1000px;
    height: 1000px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

/* Общий стиль орбит */

.hero-centered-orbits .orbit {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.35);

    /* Мягкое премиальное свечение */
    box-shadow:
        0 0 60px rgba(1,29,224,0.25),
        0 0 140px rgba(1,29,224,0.12);

    opacity: 0.85;
}

/* Большая орбита */

.hero-centered-orbits .orbit-large {
    width: 1000px;
    height: 1000px;
    animation: heroRotateSlow 180s linear infinite;
}

/* Средняя орбита */

.hero-centered-orbits .orbit-medium {
    width: 720px;
    height: 720px;
    top: 140px;
    left: 140px;
    animation: heroRotateReverseSlow 240s linear infinite;
}

/* Убираем лишние орбиты */
.hero-centered-orbits .orbit-small {
    display: none;
}

/* ========================================= */
/*                CONTENT                   */
/* ========================================= */

.hero-centered-content {
    position: relative;
    z-index: 2;
    max-width: 720px;
    margin: 0 auto;
}

.hero-centered-content h1 {
    font-size: 84px;
    letter-spacing: 12px;
    margin-bottom: 40px;
}

.hero-centered-content .lead {
    font-size: 18px;
    line-height: 1.9;
    color: var(--text-muted);
    margin-bottom: 70px;
}

/* ========================================= */
/*               BUTTON                     */
/* ========================================= */

.hero-book {
    border: 1px solid rgba(255,255,255,0.4);
    padding: 18px 52px;
    border-radius: 50px;
    transition: 0.4s ease;
}

.hero-book:hover {
    border-color: var(--accent-blue);
    box-shadow: 0 0 25px rgba(1,29,224,0.35);
}

/* ========================================= */
/*             ANIMATIONS                   */
/* ========================================= */

@keyframes heroRotateSlow {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@keyframes heroRotateReverseSlow {
    from { transform: rotate(360deg); }
    to   { transform: rotate(0deg); }
}
/* ================================================= */
/*                 ABOUT — PREMIUM SYSTEM            */
/* ================================================= */

/* ----------------------------------------- */
/* HERO                                      */
/* ----------------------------------------- */

.about-hero-absolute {
    position: relative;
    padding: 320px 0 240px;
    text-align: center;
    overflow: hidden;
}

.about-hero-content {
    position: relative;
    z-index: 2;
}

.about-hero-content h1 {
    font-size: 100px;
    letter-spacing: 18px;
    margin-bottom: 40px;
    font-weight: 200;
}

.about-hero-content .lead {
    max-width: 640px;
    margin: 0 auto;
    line-height: 2;
    font-weight: 300;
}

/* Орбитальная система */

.about-orbit-system {
    position: absolute;
    width: 1100px;
    height: 1100px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.about-orbit-system .orbit {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.28);
    box-shadow:
        0 0 80px rgba(1,29,224,0.25),
        0 0 200px rgba(1,29,224,0.12);
}

.about-orbit-system .orbit-large {
    width: 1100px;
    height: 1100px;
}

.about-orbit-system .orbit-medium {
    width: 780px;
    height: 780px;
    top: 160px;
    left: 160px;
}

/* ----------------------------------------- */
/* SECTION BASE                              */
/* ----------------------------------------- */

.about-section-premium {
    position: relative;
    padding: 260px 0;
}

.about-section-premium h2 {
    font-size: 40px;
    margin-bottom: 40px;
    font-weight: 300;
}

.about-section-premium p {
    max-width: 720px;
    line-height: 2;
    margin-bottom: 30px;
    font-weight: 300;
}

.about-section-premium .muted {
    color: var(--text-muted);
}

/* Divider */

.about-divider {
    width: 80px;
    height: 1px;
    background: var(--accent-blue);
    margin-bottom: 50px;
}

/* Тёмный блок */

.about-dark {
    background: var(--bg-deep);
    overflow: hidden;
}

/* ----------------------------------------- */
/* SIDE ORBIT                                */
/* ----------------------------------------- */

.about-side-orbit {
    position: absolute;
    width: 1000px;
    height: 1000px;
    right: -400px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.18);
}

/* ----------------------------------------- */
/* GRID SECTION                              */
/* ----------------------------------------- */

.about-grid-premium {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 120px;
    margin-top: 120px;
}

.about-card span {
    display: block;
    margin-bottom: 20px;
    letter-spacing: 4px;
    color: var(--accent-blue);
    font-size: 12px;
    font-weight: 400;
}

.about-card h3 {
    margin-bottom: 20px;
    letter-spacing: 3px;
    font-weight: 300;
}

.about-card p {
    color: var(--text-muted);
    line-height: 1.9;
    font-weight: 300;
}

/* ----------------------------------------- */
/* FINAL BLOCK                               */
/* ----------------------------------------- */

.about-final-premium {
    position: relative;
    padding: 320px 0;
    text-align: center;
    overflow: hidden;
}

.about-final-premium h2 {
    max-width: 820px;
    margin: 0 auto;
    font-size: 36px;
    line-height: 1.9;
    font-weight: 300;
}

.about-final-orbit {
    position: absolute;
    width: 1400px;
    height: 900px;
    bottom: -300px;
    left: -300px;
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.15);
}

/* ----------------------------------------- */
/* RESPONSIVE                                */
/* ----------------------------------------- */

@media (max-width: 1100px) {

    .about-hero-content h1 {
        font-size: 64px;
        letter-spacing: 10px;
    }

    .about-grid-premium {
        grid-template-columns: 1fr;
        gap: 80px;
    }

    .about-section-premium {
        padding: 180px 0;
    }

    .about-final-premium {
        padding: 220px 0;}

}
/* ================================================= */
/*               BOOKING — PREMIUM STYLE             */
/* ================================================= */

.booking-hero-premium {
    position: relative;
    padding: 320px 0 240px;
    text-align: center;
    overflow: hidden;
}

.booking-hero-content {
    position: relative;
    z-index: 2;
}

.booking-hero-content h1 {
    font-size: 90px;
    letter-spacing: 14px;
    margin-bottom: 40px;
    font-weight: 200;
}

/* Орбитальная система */

.booking-orbit-system {
    position: absolute;
    width: 1000px;
    height: 1000px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.booking-orbit-system .orbit {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.28);
    box-shadow:
        0 0 80px rgba(1,29,224,0.25),
        0 0 200px rgba(1,29,224,0.12);
}

.booking-orbit-system .orbit-large {
    width: 1000px;
    height: 1000px;
}

.booking-orbit-system .orbit-medium {
    width: 720px;
    height: 720px;
    top: 140px;
    left: 140px;
}

/* ----------------------------------------- */

.booking-methods {
    position: relative;
    padding: 280px 0;
}

.booking-grid-premium {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 120px;
    position: relative;
    z-index: 2;
}

.booking-block span {
    display: block;
    margin-bottom: 20px;
    letter-spacing: 4px;
    color: var(--accent-blue);
    font-size: 12px;
}

.booking-block h2 {
    font-size: 28px;
    margin-bottom: 25px;
    font-weight: 300;
}

.booking-block p {
    margin-bottom: 40px;
    color: var(--text-muted);
    line-height: 1.9;
}

/* Орбита сбоку */

.booking-side-orbit {
    position: absolute;
    width: 1000px;
    height: 1000px;
    right: -400px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.18);
}

/* ----------------------------------------- */

.booking-final {
    position: relative;
    padding: 320px 0;
    text-align: center;
    overflow: hidden;
}

.booking-final h2 {
    max-width: 760px;
    margin: 0 auto;
    font-size: 36px;
    line-height: 1.9;
    font-weight: 300;
}

.booking-final-orbit {
    position: absolute;
    width: 1400px;
    height: 900px;
    bottom: -300px;
    left: -300px;
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.15);
}/* ========================================= */
/*               CONTACTS HERO               */
/* ========================================= */

.contacts-hero {
    position: relative;
    padding: 320px 0 240px;
    text-align: center;
    overflow: hidden;
}

.contacts-hero-content {
    position: relative;
    z-index: 2;
}

.contacts-hero-content h1 {
    font-size: 90px;
    letter-spacing: 14px;
    margin-bottom: 40px;
    font-weight: 200;
}

/* Орбиты */

.contacts-orbit-system {
    position: absolute;
    width: 1000px;
    height: 1000px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.contacts-orbit-system .orbit {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.28);
    box-shadow:
        0 0 80px rgba(1,29,224,0.25),
        0 0 200px rgba(1,29,224,0.12);
}

.contacts-orbit-system .orbit-large {
    width: 1000px;
    height: 1000px;
}

.contacts-orbit-system .orbit-medium {
    width: 720px;
    height: 720px;
    top: 140px;
    left: 140px;
}

/* ========================================= */
/*               MAIN BLOCK                  */
/* ========================================= */

.contacts-main {
    position: relative;
    padding: 280px 0;
    overflow: hidden;
}

.contacts-grid-premium {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 120px;
    position: relative;
    z-index: 2;
}

.contact-block span {
    display: block;
    margin-bottom: 25px;
    letter-spacing: 4px;
    color: var(--accent-blue);
    font-size: 12px;
}

.contact-value {
    font-size: 22px;
    font-weight: 300;
    text-decoration: none;
    transition: 0.4s ease;
}

.contact-value:hover {
    color: var(--accent-blue);
}

/* Графические элементы */

.contacts-side-arc {
    position: absolute;
    width: 1200px;
    height: 800px;
    left: -400px;
    top: 40%;
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.18);
}

.contacts-line-horizontal {
    position: absolute;
    width: 100%;
    height: 1px;
    top: 50%;
    left: 0;
    background: linear-gradient(
        to right,
        transparent,
        rgba(1,29,224,0.3),
        transparent
    );
}

/* ========================================= */
/*               FINAL                       */
/* ========================================= */

.contacts-final {
    position: relative;
    padding: 320px 0;
    text-align: center;
    overflow: hidden;
}

.contacts-final h2 {
    max-width: 720px;
    margin: 0 auto;
    font-size: 36px;
    line-height: 1.9;
    font-weight: 300;
}

.contacts-final-orbit {
    position: absolute;
    width: 1400px;
    height: 900px;
    bottom: -300px;
    right: -300px;
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.15);
}
/* ================================================= */
/*                 SERVICES — COMPACT MODULE         */
/* ================================================= */


/* ================= HERO ================= */

.services-hero-absolute {
    position: relative;
    padding: 220px 0 160px;
    text-align: center;
    overflow: hidden;
}

.services-hero-absolute .container {
    position: relative;
    z-index: 2;
}

.services-hero-absolute h1 {
    font-size: 82px;
    letter-spacing: 12px;
    margin-bottom: 30px;
    font-weight: 200;
}

.services-hero-absolute .lead {
    max-width: 580px;
    margin: 0 auto;
    line-height: 1.8;
    font-weight: 300;
}


/* Орбиты hero */

/* ================= GLOW ORBIT (SERVICES) ================= */

.services-orbit-1,
.services-orbit-2 {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

/* Большая светящаяся орбита */

.services-orbit-1 {
    width: 1000px;
    height: 1000px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(1,29,224,0.28);

    box-shadow:
        0 0 120px rgba(1,29,224,0.30),
        0 0 300px rgba(1,29,224,0.15),
        0 0 500px rgba(1,29,224,0.08);
}

/* Внутренняя мягкая орбита */

.services-orbit-2 {
    width: 720px;
    height: 720px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(1,29,224,0.20);

    box-shadow:
        0 0 80px rgba(1,29,224,0.25),
        0 0 180px rgba(1,29,224,0.12);
}

/* ================= STRUCTURE ================= */

.services-compact {
    position: relative;
    padding: 180px 0 220px;
    overflow: hidden;
}

/* Общая орбита фона */

.services-compact-orbit {
    position: absolute;
    width: 1100px;
    height: 1100px;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.18);
    pointer-events: none;
}


/* GRID */

.services-compact-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 70px;
    align-items: start;
}


/* Сектор */

.compact-sector {
    text-align: center;
    transition: 0.4s ease;
}

.compact-sector span {
    display: block;
    margin-bottom: 18px;
    letter-spacing: 4px;
    font-size: 12px;
    color: var(--accent-blue);
    font-weight: 400;
}

.compact-sector h2 {
    font-size: 28px;
    font-weight: 300;
    margin-bottom: 35px;
}


/* Подуслуги */

.compact-links {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.compact-links a {
    text-decoration: none;
    font-weight: 300;
    font-size: 16px;
    color: var(--text-main);
    transition: 0.3s ease;
    position: relative;
}

.compact-links a:hover {
    color: var(--accent-blue);
    transform: translateY(-2px);
}


/* Центральный сектор немного выделяем */

.highlight-sector h2 {
    font-size: 32px;
}


/* ================= RESPONSIVE ================= */

@media (max-width: 1000px) {

    .services-compact-grid {
        grid-template-columns: 1fr;
        gap: 80px;
    }

    .services-hero-absolute h1 {
        font-size: 60px;
        letter-spacing: 8px;
    }

}/* ================================================= */
/*            SERVICE TEMPLATE SYSTEM               */
/* ================================================= */


/* HERO */

.service-hero {
    position: relative;
    padding: 260px 0 180px;
    text-align: center;
    overflow: hidden;
}

.service-hero h1 {
    font-size: 82px;
    letter-spacing: 12px;
    margin-bottom: 30px;
    font-weight: 200;
}

.service-hero .lead {
    max-width: 580px;
    margin: 0 auto;
    line-height: 1.9;
    font-weight: 300;
}

.service-orbit-glow {
    position: absolute;
    width: 950px;
    height: 950px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.28);
    box-shadow:
        0 0 120px rgba(1,29,224,0.30),
        0 0 300px rgba(1,29,224,0.15),
        0 0 500px rgba(1,29,224,0.08);
}


/* DESCRIPTION */

.service-description {
    padding: 160px 0;
}

.service-description h2 {
    font-size: 32px;
    margin-bottom: 35px;
    font-weight: 300;
}

.service-line {
    width: 70px;
    height: 1px;
    background: var(--accent-blue);
    margin-bottom: 40px;
}

.service-description p {
    line-height: 1.9;
    margin-bottom: 25px;
}


/* PRICE */

.service-price {
    padding: 160px 0;
}

.price-list-modern {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.price-row-modern {
    display: flex;
    justify-content: space-between;
    padding: 18px 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    font-weight: 300;
    transition: 0.3s ease;
}

.price-row-modern:hover {
    color: var(--accent-blue);
    transform: translateX(6px);
}


/* CTA */

.service-cta {
    position: relative;
    padding: 220px 0;
    text-align: center;
    overflow: hidden;
}

.service-cta h2 {
    font-size: 34px;
    line-height: 1.8;
    font-weight: 300;
}

.service-cta-orbit {
    position: absolute;
    width: 1200px;
    height: 900px;
    bottom: -300px;
    left: -300px;
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.15);
}


/* ================================================= */
/*            MASSAGE — CLEAN PRICE SYSTEM           */
/* ================================================= */

/* Общая секция */

.service-section {
    position: relative;
    padding: 160px 0;
}

/* Тонкая архитектурная ось слева */

.service-section::before {
    content: "";
    position: absolute;
    left: calc(50% - 430px);
    top: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(1,29,224,0.35),
        transparent
    );
    pointer-events: none;
}

/* Убираем квадрат полностью */

.price-box {
    padding: 0;
    border: none;
    background: none;
}

/* Заголовки */

.service-section h2 {
    font-size: 34px;
    font-weight: 300;
    margin-bottom: 30px;
}

.service-line {
    width: 60px;
    height: 1px;
    background: var(--accent-blue);
    margin-bottom: 50px;
    opacity: 0.6;
}

/* Строки прайса */

.price-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 26px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    font-weight: 300;
    transition: 0.35s ease;
    position: relative;
}

/* Название услуги */

.price-row span:first-child {
    max-width: 70%;
}

/* Цена — спокойная, не ярко-синяя */

.price-row span:last-child {
    font-size: 15px;
    letter-spacing: 1px;
    opacity: 0.75;
    transition: 0.3s ease;
}

/* Hover */

.price-row:hover {
    transform: translateX(6px);
}

.price-row:hover span:last-child {
    color: var(--accent-blue);
    opacity: 1;
}

/* Доп. текст */

.price-note {
    display: block;
    font-size: 13px;
    margin-top: 6px;
    color: var(--text-muted);
    opacity: 0.8;
}

.subscription-note {
    margin-top: 50px;
    font-size: 15px;
    opacity: 0.7;
}


/* ================================================= */
/*              MASSAGE HERO ORBIT (RIGHT ARC)      */
/* ================================================= */

.massage-hero-scene {
    position: relative;
    overflow: hidden;
    padding: 260px 0 160px;
}

/* Большая светящаяся орбита справа */

.massage-orbit-scene {
    position: absolute;
    width: 1700px;
    height: 1700px;
    top: -800px;          /* старт сверху */
    right: -900px;        /* уходит вправо */
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.25);

    box-shadow:
        0 0 200px rgba(1,29,224,0.35),
        0 0 500px rgba(1,29,224,0.15),
        0 0 900px rgba(1,29,224,0.08);

    pointer-events: none;
    z-index: 0;
}

/* Контент поверх орбиты */

.massage-hero-scene .hero-content {
    position: relative;
    z-index: 2;
}

/* ================================================= */
/*                SPA — BRAND CONSISTENT             */
/* ================================================= */

.spa-page {
    background: var(--bg-main);
}


/* ================= HERO ================= */

.spa-hero {
    position: relative;
    padding: 260px 0 180px;
    overflow: hidden;
    text-align: center;
}

/* Сдвинутая орбита справа */

.spa-hero::before {
    content: "";
    position: absolute;
    width: 1500px;
    height: 1500px;
    top: -700px;
    right: -800px;
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.22);

    box-shadow:
        0 0 180px rgba(1,29,224,0.25),
        0 0 400px rgba(1,29,224,0.12),
        0 0 800px rgba(1,29,224,0.05);

    pointer-events: none;
}

/* Тонкая дуга снизу */

.spa-hero::after {
    content: "";
    position: absolute;
    width: 1200px;
    height: 600px;
    bottom: -350px;
    left: -200px;
    border-radius: 50%;
    border: 2px solid rgba(1,29,224,0.08);
    transform: rotate(12deg);
    pointer-events: none;
}

.spa-hero h1 {
    font-size: 72px;
    font-weight: 200;
    letter-spacing: 8px;
    margin-bottom: 30px;
}

.spa-hero p {
    max-width: 600px;
    margin: 0 auto;
    opacity: 0.8;
    line-height: 1.9;
}


/* ================= PROGRAMS ================= */

.spa-programs {
    position: relative;
    padding: 180px 0;
}

/* Вертикальная архитектурная ось */

.spa-programs::before {
    content: "";
    position: absolute;
    left: calc(50% - 420px);
    top: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(1,29,224,0.35),
        transparent
    );
    pointer-events: none;
}

.spa-programs h2 {
    font-size: 32px;
    font-weight: 300;
    margin-bottom: 60px;
}


/* ================= PRICE LIST ================= */

.spa-price-list {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.spa-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    transition: 0.3s ease;
}

.spa-item:hover {
    transform: translateX(6px);
}

.spa-item h3 {
    font-weight: 300;
    margin-bottom: 10px;
}

.spa-item p {
    font-size: 14px;
    color: var(--text-muted);
}

.spa-price {
    font-size: 18px;
    letter-spacing: 1px;
    opacity: 0.75;
    transition: 0.3s ease;
}

.spa-item:hover .spa-price {
    color: var(--accent-blue);
    opacity: 1;
}


/* ================= CTA ================= */

.spa-cta {
    position: relative;
    padding: 200px 0;
    text-align: center;
}

/* Мягкая орбитальная подсветка снизу */

.spa-cta::before {
    content: "";
    position: absolute;
    width: 1100px;
    height: 1100px;
    bottom: -600px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.15);
    box-shadow:
        0 0 150px rgba(1,29,224,0.2),
        0 0 300px rgba(1,29,224,0.08);
    pointer-events: none;
}

.spa-cta h2 {
    font-weight: 300;
    font-size: 32px;
    margin-bottom: 50px;
}

/* ================================================= */
/*              WOMEN HAIR — FULL SYSTEM             */
/* ================================================= */

/* ---------- HERO ---------- */

.women-hero {
    position: relative;
    padding: 260px 0 200px;
    text-align: center;
    overflow: hidden;
}

.women-hero-orbit {
    position: absolute;
    width: 1200px;
    height: 1200px;
    top: -450px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.2);

    box-shadow:
        0 0 180px rgba(1,29,224,0.25),
        0 0 350px rgba(1,29,224,0.12);

    pointer-events: none;
}

.women-hero .hero-label {
    font-size: 12px;
    letter-spacing: 4px;
    color: var(--accent-blue);
    font-weight: 300;
}

.women-hero h1 {
    font-size: 72px;
    font-weight: 200;
    letter-spacing: 8px;
    margin: 20px 0 30px;
}

.women-hero .hero-description {
    max-width: 600px;
    margin: 0 auto;
    opacity: 0.75;
    line-height: 1.9;
    font-weight: 300;
}


/* ---------- PRICE SECTION ---------- */

.women-price {
    position: relative;
    padding: 180px 0 220px;
}

/* Архитектурная ось */

.women-price::before {
    content: "";
    position: absolute;
    left: calc(50% - 420px);
    top: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(1,29,224,0.35),
        transparent
    );
    pointer-events: none;
}

/* Заголовок */

.women-price .section-title {
    font-size: 32px;
    font-weight: 200;
    text-align: center;
    letter-spacing: 4px;
    margin-bottom: 120px;
}


/* ГРУППЫ — усиленная версия */

.price-group {
    margin-bottom: 140px; /* больше воздуха */
}

.price-group-title {
    font-size: 22px;          /* было 16px */
    font-weight: 200;         /* максимально тонко */
    letter-spacing: 6px;      /* архитектурность */
    margin-bottom: 50px;
    position: relative;
    opacity: 0.95;
}

/* Линия под заголовком */

.price-group-title::after {
    content: "";
    display: block;
    width: 80px;              /* длиннее */
    height: 1px;
    background: var(--accent-blue);
    margin-top: 22px;
    opacity: 0.6;
}


/* ---------- СТРОКИ ---------- */

.price-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    font-weight: 300;
    letter-spacing: 0.5px;
    transition: 0.3s ease;
}

.price-row span:first-child {
    max-width: 70%;
}

.price-row span:last-child {
    opacity: 0.7;
    font-size: 15px;
    transition: 0.3s ease;
}

.price-row:hover {
    transform: translateX(6px);
}

.price-row:hover span:last-child {
    color: var(--accent-blue);
    opacity: 1;
}


/* ---------- CTA ---------- */

.women-cta {
    position: relative;
    padding: 200px 0;
    text-align: center;
    overflow: hidden;
}

.women-cta-orbit {
    position: absolute;
    width: 900px;
    height: 900px;
    bottom: -500px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.15);

    box-shadow:
        0 0 150px rgba(1,29,224,0.25),
        0 0 300px rgba(1,29,224,0.1);

    pointer-events: none;
}

.women-cta h2 {
    font-weight: 200;
    font-size: 32px;
    margin-bottom: 50px;
}

/* ================================================= */
/*              MEN SERVICE — REFINED               */
/* ================================================= */

/* ---------- HERO ---------- */

.men-hero {
    position: relative;
    padding: 260px 0 200px;
    text-align: center;
    overflow: hidden;
}

.men-hero-orbit {
    position: absolute;
    width: 1050px;
    height: 1050px;
    top: -380px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.16);

    box-shadow:
        0 0 140px rgba(1,29,224,0.22),
        0 0 280px rgba(1,29,224,0.08);

    pointer-events: none;
}

.men-hero h1 {
    font-size: 74px;      /* было 72 */
    font-weight: 200;
    letter-spacing: 8px;
    margin: 20px 0 30px;
}

.men-hero .hero-description {
    max-width: 600px;
    margin: 0 auto;
    font-weight: 300;
    color: rgba(255,255,255,0.55);  /* полу-прозрачный */
    line-height: 1.9;
}


/* ---------- PRICE SECTION ---------- */

.men-price {
    position: relative;
    padding: 180px 0 240px;
}

/* Архитектурная ось (мягче) */

.men-price::before {
    content: "";
    position: absolute;
    left: calc(50% - 430px);
    top: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(1,29,224,0.4),
        transparent
    );
}


/* ---------- GROUP TITLES ---------- */

.men-price .price-group {
    margin-bottom: 130px;
}

.men-price .price-group-title {
    font-size: 22px;     /* было 20 */
    font-weight: 200;
    letter-spacing: 5px;
    margin-bottom: 45px;
    opacity: 0.95;
}

.men-price .price-group-title::after {
    content: "";
    display: block;
    width: 70px;
    height: 1px;
    background: var(--accent-blue);
    margin-top: 18px;
    opacity: 0.6;
}


/* ---------- PRICE ROWS ---------- */

.men-price .price-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    font-weight: 300;      /* убрали плотность */
    letter-spacing: 0.4px;
    transition: 0.25s ease;
}

.men-price .price-row span:first-child {
    opacity: 0.85;
}

.men-price .price-row span:last-child {
    opacity: 0.65;
    font-size: 15px;
    transition: 0.25s ease;
}

.men-price .price-row:hover {
    transform: translateX(5px);
}

.men-price .price-row:hover span:last-child {
    color: var(--accent-blue);
    opacity: 1;
}


/* ---------- CTA ---------- */

.men-cta {
    position: relative;
    padding: 200px 0;
    text-align: center;
    overflow: hidden;
}

.men-cta-orbit {
    position: absolute;
    width: 880px;
    height: 880px;
    bottom: -480px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.14);

    box-shadow:
        0 0 120px rgba(1,29,224,0.2),
        0 0 260px rgba(1,29,224,0.08);

    pointer-events: none;
}

.men-cta h2 {
    font-size: 32px;
    font-weight: 200;
    margin-bottom: 50px;
}

/* ================================================= */
/*                COLOR SERVICE                      */
/* ================================================= */

.color-hero {
    position: relative;
    padding: 260px 0 200px;
    text-align: center;
    overflow: hidden;
}

/* Орбита в левом верхнем углу */

.color-orbit {
    position: absolute;
    width: 1300px;
    height: 1300px;
    top: -700px;
    left: -600px;
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.18);

    box-shadow:
        0 0 200px rgba(1,29,224,0.25),
        0 0 400px rgba(1,29,224,0.08);

    pointer-events: none;
}

.color-hero h1 {
    font-size: 74px;
    font-weight: 200;
    letter-spacing: 8px;
    margin: 20px 0 30px;
}

.color-hero .hero-description {
    max-width: 600px;
    margin: 0 auto;
    color: rgba(255,255,255,0.55);
    font-weight: 300;
    line-height: 1.9;
}

/* PRICE */

.color-price {
    padding: 180px 0 240px;
}

.color-price .price-group {
    margin-bottom: 140px;
}

.color-price .price-group-title {
    font-size: 22px;
    font-weight: 200;
    letter-spacing: 5px;
    margin-bottom: 45px;
}

.color-price .price-group-title::after {
    content: "";
    display: block;
    width: 80px;
    height: 1px;
    background: var(--accent-blue);
    margin-top: 18px;
    opacity: 0.6;
}

.color-price .price-row {
    font-weight: 300;
    letter-spacing: 0.5px;
}

/* CTA */

.color-cta {
    position: relative;
    padding: 200px 0;
    text-align: center;
    overflow: hidden;
}

.color-cta-orbit {
    position: absolute;
    width: 900px;
    height: 900px;
    bottom: -500px;
    right: -300px;
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.14);

    box-shadow:
        0 0 140px rgba(1,29,224,0.2),
        0 0 260px rgba(1,29,224,0.08);
}/* ===================================== */
/*            NAILS SERVICE              */
/* ===================================== */

/* HERO */

.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    padding-top: 120px;
    overflow: hidden;
}

.hero-orbit {
    position: absolute;
    width: 1200px;
    height: 1200px;
    border-radius: 50%;
    background: radial-gradient(
        circle at center,
        rgba(1,29,224,0.35),
        rgba(1,29,224,0.12) 40%,
        transparent 70%
    );
    top: 50%;
    left: 50%;
    transform: translate(-50%, -45%);
    filter: blur(40px);
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
}

.hero-label {
    font-size: 12px;
    letter-spacing: 5px;
    color: #011de0;
    margin-bottom: 20px;
}

.hero h1 {
    font-size: 64px;
    font-weight: 200;
    letter-spacing: 6px;
    margin-bottom: 25px;
}

.hero-description {
    max-width: 600px;
    margin: 0 auto;
    font-weight: 300;
    color: rgba(255,255,255,0.55);
    font-size: 16px;
}


/* SERVICE BLOCKS */

.service-block {
    padding: 120px 0;
}

.service-block .container {
    max-width: 720px; /* делаем компактно */
}

.service-block h2 {
    font-size: 22px;
    font-weight: 200;
    letter-spacing: 4px;
    margin-bottom: 40px;
    position: relative;
}

.service-block h2::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background: #011de0;
    margin-top: 10px;
}

.price-row {
    display: flex;
    justify-content: space-between;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    font-size: 15px;
    font-weight: 300;
    transition: 0.3s ease;
}

.price-row span:last-child {
    opacity: 0.6;
}

.price-row:hover {
    transform: translateX(6px);
}

.price-row:hover span:last-child {
    color: #011de0;
    opacity: 1;
}


/* CTA */

.cta-block {
    position: relative;
    padding: 200px 0;
    text-align: center;
    overflow: hidden;
}

.cta-block .cta-orbit {
    position: absolute;
    width: 1000px;
    height: 1000px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(1,29,224,0.25),
        transparent 70%
    );
    top: -300px;
    right: -300px;
    filter: blur(30px);
}

.cta-block h2 {
    font-size: 30px;
    font-weight: 200;
    letter-spacing: 4px;
    margin-bottom: 40px;
}

.btn-outline {
    padding: 14px 40px;
    border: 1px solid #011de0;
    color: #ffffff;
    text-decoration: none;
    font-weight: 300;
    letter-spacing: 2px;
    transition: 0.3s ease;
}

.btn-outline:hover {
    background: #011de0;
}
/* ================================================= */
/*              NAILS SERVICE — REFINED             */
/* ================================================= */


/* ---------- HERO ---------- */

.nails-hero {
    position: relative;
    padding: 260px 0 200px;
    text-align: center;
    overflow: hidden;
}

.nails-hero-orbit {
    position: absolute;
    width: 1050px;
    height: 1050px;
    top: -380px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.16);

    box-shadow:
        0 0 140px rgba(1,29,224,0.22),
        0 0 280px rgba(1,29,224,0.08);

    pointer-events: none;
}

.nails-hero h1 {
    font-size: 74px;
    font-weight: 200;
    letter-spacing: 8px;
    margin: 20px 0 30px;
}

.nails-hero .hero-description {
    max-width: 600px;
    margin: 0 auto;
    font-weight: 300;
    color: rgba(255,255,255,0.55);
    line-height: 1.9;
}


/* ---------- PRICE ---------- */

.nails-price {
    position: relative;
    padding: 180px 0 240px;
}

.nails-price::before {
    content: "";
    position: absolute;
    left: calc(50% - 430px);
    top: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(1,29,224,0.4),
        transparent
    );
}

.nails-price .price-group {
    margin-bottom: 130px;
}

.nails-price .price-group-title {
    font-size: 22px;
    font-weight: 200;
    letter-spacing: 5px;
    margin-bottom: 45px;
    opacity: 0.95;
}

.nails-price .price-group-title::after {
    content: "";
    display: block;
    width: 70px;
    height: 1px;
    background: var(--accent-blue);
    margin-top: 18px;
    opacity: 0.6;
}

.nails-price .price-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    font-weight: 300;
    letter-spacing: 0.4px;
    transition: 0.25s ease;
}

.nails-price .price-row span:first-child {
    opacity: 0.85;
}

.nails-price .price-row span:last-child {
    opacity: 0.65;
    font-size: 15px;
    transition: 0.25s ease;
}

.nails-price .price-row:hover {
    transform: translateX(5px);
}

.nails-price .price-row:hover span:last-child {
    color: var(--accent-blue);
    opacity: 1;
}


/* ---------- CTA ---------- */

.nails-cta {
    position: relative;
    padding: 200px 0;
    text-align: center;
    overflow: hidden;
}

.nails-cta-orbit {
    position: absolute;
    width: 880px;
    height: 880px;
    bottom: -480px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.14);

    box-shadow:
        0 0 120px rgba(1,29,224,0.2),
        0 0 260px rgba(1,29,224,0.08);

    pointer-events: none;
}

.nails-cta h2 {
    font-size: 32px;
    font-weight: 200;
    margin-bottom: 50px;
}/* ================================================= */
/*                  BROWS SERVICE                   */
/* ================================================= */

/* HERO */

.brows-hero {
    position: relative;
    padding: 260px 0 200px;
    text-align: center;
    overflow: hidden;
}

.brows-hero-orbit {
    position: absolute;
    width: 1050px;
    height: 1050px;
    top: -380px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.16);

    box-shadow:
        0 0 140px rgba(1,29,224,0.22),
        0 0 280px rgba(1,29,224,0.08);

    pointer-events: none;
}

.brows-hero h1 {
    font-size: 74px;
    font-weight: 200;
    letter-spacing: 8px;
    margin: 20px 0 30px;
}

.brows-hero .hero-description {
    max-width: 600px;
    margin: 0 auto;
    font-weight: 300;
    color: rgba(255,255,255,0.55);
    line-height: 1.9;
}


/* PRICE */

.brows-price {
    position: relative;
    padding: 180px 0 240px;
}

.brows-price::before {
    content: "";
    position: absolute;
    left: calc(50% - 430px);
    top: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(1,29,224,0.4),
        transparent
    );
}

.brows-price .price-group {
    margin-bottom: 130px;
}

.brows-price .price-row {
    display: flex;
    justify-content: space-between;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    font-weight: 300;
    letter-spacing: 0.4px;
    transition: 0.25s ease;
}

.brows-price .price-row span:first-child {
    opacity: 0.85;
}

.brows-price .price-row span:last-child {
    opacity: 0.65;
    font-size: 15px;
    transition: 0.25s ease;
}

.brows-price .price-row:hover {
    transform: translateX(5px);
}

.brows-price .price-row:hover span:last-child {
    color: var(--accent-blue);
    opacity: 1;
}


/* CTA */

.brows-cta {
    position: relative;
    padding: 200px 0;
    text-align: center;
    overflow: hidden;
}

.brows-cta-orbit {
    position: absolute;
    width: 880px;
    height: 880px;
    bottom: -480px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.14);

    box-shadow:
        0 0 120px rgba(1,29,224,0.2),
        0 0 260px rgba(1,29,224,0.08);

    pointer-events: none;
}

.brows-cta h2 {
    font-size: 32px;
    font-weight: 200;
    margin-bottom: 50px;
}/* ================================================= */
/*                  WAX SERVICE                     */
/* ================================================= */

/* HERO */

.wax-hero {
    position: relative;
    padding: 260px 0 200px;
    text-align: center;
    overflow: hidden;
}

.wax-hero-orbit {
    position: absolute;
    width: 1050px;
    height: 1050px;
    top: -380px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.16);

    box-shadow:
        0 0 140px rgba(1,29,224,0.22),
        0 0 280px rgba(1,29,224,0.08);

    pointer-events: none;
}

.wax-hero h1 {
    font-size: 74px;
    font-weight: 200;
    letter-spacing: 8px;
    margin: 20px 0 30px;
}

.wax-hero .hero-description {
    max-width: 600px;
    margin: 0 auto;
    font-weight: 300;
    color: rgba(255,255,255,0.55);
    line-height: 1.9;
}


/* PRICE */

.wax-price {
    position: relative;
    padding: 180px 0 240px;
}

.wax-price::before {
    content: "";
    position: absolute;
    left: calc(50% - 430px);
    top: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(1,29,224,0.4),
        transparent
    );
}

.wax-price .price-group {
    margin-bottom: 130px;
}

.wax-price .price-row {
    display: flex;
    justify-content: space-between;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    font-weight: 300;
    letter-spacing: 0.4px;
    transition: 0.25s ease;
}

.wax-price .price-row span:first-child {
    opacity: 0.85;
}

.wax-price .price-row span:last-child {
    opacity: 0.65;
    font-size: 15px;
    transition: 0.25s ease;
}

.wax-price .price-row:hover {
    transform: translateX(5px);
}

.wax-price .price-row:hover span:last-child {
    color: var(--accent-blue);
    opacity: 1;
}


/* CTA */

.wax-cta {
    position: relative;
    padding: 200px 0;
    text-align: center;
    overflow: hidden;
}

.wax-cta-orbit {
    position: absolute;
    width: 880px;
    height: 880px;
    bottom: -480px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.14);

    box-shadow:
        0 0 120px rgba(1,29,224,0.2),
        0 0 260px rgba(1,29,224,0.08);

    pointer-events: none;
}

.wax-cta h2 {
    font-size: 32px;
    font-weight: 200;
    margin-bottom: 50px;
}
/* ================================================= */
/*              PERMANENT MAKEUP SERVICE            */
/* ================================================= */

/* HERO */

.permanent-hero {
    position: relative;
    padding: 260px 0 200px;
    text-align: center;
    overflow: hidden;
}

.permanent-hero-orbit {
    position: absolute;
    width: 1050px;
    height: 1050px;
    top: -380px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.16);

    box-shadow:
        0 0 140px rgba(1,29,224,0.22),
        0 0 280px rgba(1,29,224,0.08);

    pointer-events: none;
}

.permanent-hero h1 {
    font-size: 74px;
    font-weight: 200;
    letter-spacing: 8px;
    margin: 20px 0 30px;
}

.permanent-hero .hero-description {
    max-width: 600px;
    margin: 0 auto;
    font-weight: 300;
    color: rgba(255,255,255,0.55);
    line-height: 1.9;
}


/* PRICE */

.permanent-price {
    position: relative;
    padding: 180px 0 240px;
}

.permanent-price::before {
    content: "";
    position: absolute;
    left: calc(50% - 430px);
    top: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(1,29,224,0.4),
        transparent
    );
}

.permanent-price .price-group {
    margin-bottom: 130px;
}

.permanent-price .price-row {
    display: flex;
    justify-content: space-between;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    font-weight: 300;
    letter-spacing: 0.4px;
    transition: 0.25s ease;
}

.permanent-price .price-row span:first-child {
    opacity: 0.85;
}

.permanent-price .price-row span:last-child {
    opacity: 0.65;
    font-size: 15px;
    transition: 0.25s ease;
}

.permanent-price .price-row:hover {
    transform: translateX(5px);
}

.permanent-price .price-row:hover span:last-child {
    color: var(--accent-blue);
    opacity: 1;
}


/* CTA */

.permanent-cta {
    position: relative;
    padding: 200px 0;
    text-align: center;
    overflow: hidden;
}

.permanent-cta-orbit {
    position: absolute;
    width: 880px;
    height: 880px;
    bottom: -480px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.14);

    box-shadow:
        0 0 120px rgba(1,29,224,0.2),
        0 0 260px rgba(1,29,224,0.08);

    pointer-events: none;
}

.permanent-cta h2 {
    font-size: 32px;
    font-weight: 200;
    margin-bottom: 50px;
}/* ======================================= */
/*              HOME REFINED               */
/* ======================================= */

/* ======================================= */
/*                 HERO                    */
/* ======================================= */

.home-hero {
    position: relative;
    padding: 260px 0 200px;
    text-align: center;
    overflow: hidden;
}

/* ВНЕШНЯЯ орбита */
.orbit-outer {
    position: absolute;
    width: 1150px;
    height: 1150px;
    top: -420px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.14);

    box-shadow:
        0 0 160px rgba(1,29,224,0.22),
        0 0 320px rgba(1,29,224,0.06);

    pointer-events: none;
}

/* ВНУТРЕННЯЯ орбита */
.orbit-inner {
    position: absolute;
    width: 850px;
    height: 850px;
    top: -260px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.22);

    box-shadow:
        0 0 100px rgba(1,29,224,0.28);

    pointer-events: none;
}

.home-hero h1 {
    font-size: 82px;
    font-weight: 200;
    letter-spacing: 10px;
    margin-bottom: 30px;
}

.home-hero .hero-description {
    font-weight: 300;
    color: rgba(255,255,255,0.55);
    max-width: 600px;
    margin: 0 auto 40px;
}


/* НАПРАВЛЕНИЯ */

.home-directions {
    padding: 200px 0;
    text-align: center;
}

.home-directions h2 {
    font-size: 34px;
    font-weight: 200;   /* тонкий */
    letter-spacing: 6px;
    margin-bottom: 40px;
}

.directions-text {
    font-weight: 300;
    color: rgba(255,255,255,0.55);
    max-width: 640px;
    margin: 0 auto 50px;
    line-height: 1.9;
}/* ======================================= */
/*           HOME ABOUT REFINED            */
/* ======================================= */

.home-about {
    position: relative;
    padding: 220px 0;
    overflow: hidden;
}

.home-about h2 {
    font-size: 34px;        /* было больше */
    font-weight: 200;       /* тонкий */
    letter-spacing: 4px;    /* меньше разлёта */
    margin-bottom: 25px;
    opacity: 0.95;
}

.home-about p {
    max-width: 520px;
    font-weight: 300;
    font-size: 16px;
    color: rgba(255,255,255,0.55);   /* мягче */
    line-height: 1.9;
    margin-bottom: 40px;
}

.home-about .btn-outline {
    font-weight: 300;
}/* ======================================= */
/*     HOME DIRECTIONS — RIGHT SHIFTED    */
/* ======================================= */

.home-directions {
    position: relative;
    padding: 260px 0;
    overflow: hidden;
}

/* Контейнер теперь шире */
.home-directions .container {
    max-width: 1400px;   /* расширяем рабочую область */
}

/* Сетка вместо flex */

.directions-layout {
    display: grid;
    grid-template-columns: 1fr 620px;  /* правая колонка фиксированная */
}

/* Контент строго в правой колонке */

.directions-content {
    grid-column: 2;
}

/* Орбита слева */

.directions-orbit {
    position: absolute;
    width: 1100px;
    height: 1100px;
    left: -450px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.14);

    box-shadow:
        0 0 160px rgba(1,29,224,0.18),
        0 0 280px rgba(1,29,224,0.05);

    pointer-events: none;
}

/* Заголовок */

.home-directions h2 {
    font-size: 52px;      /* крупнее */
    font-weight: 200;
    letter-spacing: 6px;
    margin-bottom: 35px;
}

/* Подзаголовок */

.directions-text {
    font-weight: 300;
    color: rgba(255,255,255,0.6);
    line-height: 1.9;
    margin-bottom: 50px;
}

/* Кнопка */

.home-directions .btn-outline {
    font-weight: 300;
}/* ======================================= */
/*               HOME FINAL                */
/* ======================================= */

.home-final {
    position: relative;
    padding: 240px 0;
    text-align: center;
    overflow: hidden;
}

/* Центрированная орбита */

.final-orbit {
    position: absolute;
    width: 900px;
    height: 900px;
    left: 50%;
    bottom: -450px;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(1,29,224,0.14);

    box-shadow:
        0 0 140px rgba(1,29,224,0.22),
        0 0 260px rgba(1,29,224,0.08);

    pointer-events: none;
}

/* Заголовок */

.home-final h2 {
    font-size: 38px;
    font-weight: 200;
    letter-spacing: 6px;
    margin-bottom: 50px;
}

/* Кнопка */

.home-final .btn-outline {
    font-weight: 300;
}/* ================================================= */
/*                   RESPONSIVE                     */
/* ================================================= */

/* ---------- TABLET ---------- */

@media (max-width: 1024px) {

    .container.narrow {
        width: 90%;
    }

    h1 {
        font-size: 54px;
        letter-spacing: 5px;
    }

    .price-group-title {
        font-size: 20px;
    }

}


/* ---------- MOBILE ---------- */

@media (max-width: 768px) {

    /* HERO */

    .men-hero,
    .nails-hero,
    .brows-hero,
    .wax-hero,
    .permanent-hero {
        padding: 180px 0 140px;
    }

    .men-hero-orbit,
    .nails-hero-orbit,
    .brows-hero-orbit,
    .wax-hero-orbit,
    .permanent-hero-orbit {
        width: 650px;
        height: 650px;
        top: -220px;
    }

    h1 {
        font-size: 40px;
        letter-spacing: 3px;
    }

    .hero-description {
        font-size: 14px;
        line-height: 1.7;
    }

    /* PRICE */

    .men-price,
    .nails-price,
    .brows-price,
    .wax-price,
    .permanent-price {
        padding: 120px 0 160px;
    }

    .price-row {
        flex-direction: column;
        gap: 6px;
    }

    .price-row span:last-child {
        font-size: 14px;
        opacity: 0.85;
    }

    /* CTA */

    .men-cta,
    .nails-cta,
    .brows-cta,
    .wax-cta,
    .permanent-cta {
        padding: 160px 0;
    }

    .men-cta-orbit,
    .nails-cta-orbit,
    .brows-cta-orbit,
    .wax-cta-orbit,
    .permanent-cta-orbit {
        width: 600px;
        height: 600px;
        bottom: -320px;
    }

}


/* ---------- SMALL MOBILE ---------- */

@media (max-width: 480px) {

    h1 {
        font-size: 32px;
        letter-spacing: 2px;
    }

    .price-row {
        padding: 16px 0;
    }

}