* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: helvetica-w01-light, helvetica-w02-light, sans-serif;
            line-height: 1.6;
            color: #333;
        }

        html {
            scroll-behavior: smooth;
        }

        /* Header */
        .header-top {
            background: #f8f8f8;
            padding: 10px 0;
            border-bottom: 1px solid #e0e0e0;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .header-top .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .contact-bar {
            display: flex;
            align-items: center;
            gap: 30px;
            font-size: 14px;
        }

        .contact-bar a {
            color: #333;
            text-decoration: none;
        }

        .social-link {
            width: 30px;
            height: 30px;
        }

        .lang-switcher {
            display: flex;
            gap: 10px;
            align-items: center;
        }

        .lang-switcher button {
            background: transparent;
            border: 1px solid #ccc;
            padding: 5px 12px;
            border-radius: 5px;
            cursor: pointer;
            font-size: 13px;
            transition: all 0.3s;
        }

        .lang-switcher button:hover {
            background: #2f6fb0;
            color: white;
            border-color: #2f6fb0;
        }

        .lang-switcher button.active {
            background: #2f6fb0;
            color: white;
            border-color: #2f6fb0;
        }

        /* Chat Widget */
        .whatsapp-btn {
            display: none; /* Временно скрыта */
            position: fixed;
            bottom: 100px;
            right: 30px;
            z-index: 999;
            width: 56px;
            height: 56px;
            background: #25D366;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 15px rgba(37,211,102,0.4);
            transition: transform 0.3s, box-shadow 0.3s;
            text-decoration: none;
        }
        .whatsapp-btn:hover {
            transform: scale(1.1);
            box-shadow: 0 6px 25px rgba(37,211,102,0.5);
        }

        .chat-widget {
            position: fixed;
            bottom: 30px;
            right: 30px;
            z-index: 9999;
        }

        .chat-button {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            background: linear-gradient(135deg, #2f6fb0 0%, #1e2d3b 100%);
            border: none;
            cursor: pointer;
            box-shadow: 0 4px 20px rgba(47, 111, 176, 0.4);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 28px;
            transition: transform 0.3s;
            animation: pulse-chat 2s infinite;
        }

        @keyframes pulse-chat {
            0%, 100% { box-shadow: 0 4px 20px rgba(47, 111, 176, 0.4); }
            50% { box-shadow: 0 4px 30px rgba(47, 111, 176, 0.8); }
        }

        .chat-button:hover {
            transform: scale(1.1);
        }

        .chat-box {
            position: fixed;
            bottom: 100px;
            right: 30px;
            width: 380px;
            height: 550px;
            background: white;
            border-radius: 20px;
            box-shadow: 0 10px 50px rgba(0,0,0,0.2);
            display: none;
            flex-direction: column;
            overflow: hidden;
        }

        .chat-box.open {
            display: flex;
        }

        .chat-header {
            background: linear-gradient(135deg, #2f6fb0 0%, #1e2d3b 100%);
            color: white;
            padding: 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .chat-header h3 {
            margin: 0;
            font-size: 18px;
        }

        .chat-close {
            background: transparent;
            border: none;
            color: white;
            font-size: 24px;
            cursor: pointer;
            line-height: 1;
        }

        .chat-status {
            font-size: 12px;
            opacity: 0.9;
        }

        .chat-messages {
            flex: 1;
            padding: 20px;
            overflow-y: auto;
            background: #f8f9fa;
        }

        .chat-message {
            margin-bottom: 15px;
            animation: fadeIn 0.3s;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .chat-message.bot {
            display: flex;
            gap: 10px;
        }

        .chat-message.user {
            display: flex;
            justify-content: flex-end;
        }

        .bot-avatar {
            width: 35px;
            height: 35px;
            border-radius: 50%;
            background: linear-gradient(135deg, #2f6fb0 0%, #1e2d3b 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            font-size: 18px;
        }

        .message-content {
            background: white;
            padding: 12px 16px;
            border-radius: 15px;
            max-width: 70%;
            box-shadow: 0 2px 5px rgba(0,0,0,0.05);
        }

        .chat-message.user .message-content {
            background: linear-gradient(135deg, #2f6fb0 0%, #1e2d3b 100%);
            color: white;
        }

        .quick-replies {
            padding: 10px 20px;
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            background: #f8f9fa;
            border-top: 1px solid #e0e0e0;
        }

        .quick-reply-btn {
            background: white;
            border: 1px solid #2f6fb0;
            color: #2f6fb0;
            padding: 8px 15px;
            border-radius: 20px;
            font-size: 13px;
            cursor: pointer;
            transition: all 0.3s;
        }

        .quick-reply-btn:hover {
            background: #2f6fb0;
            color: white;
        }

        .chat-input-area {
            padding: 15px;
            border-top: 1px solid #e0e0e0;
            display: flex;
            gap: 10px;
        }

        .chat-input {
            flex: 1;
            padding: 12px;
            border: 2px solid #e0e0e0;
            border-radius: 25px;
            font-size: 14px;
            outline: none;
        }

        .chat-input:focus {
            border-color: #2f6fb0;
        }

        .chat-send {
            width: 45px;
            height: 45px;
            border-radius: 50%;
            background: linear-gradient(135deg, #2f6fb0 0%, #1e2d3b 100%);
            border: none;
            color: white;
            cursor: pointer;
            font-size: 18px;
            transition: transform 0.3s;
        }

        .chat-send:hover {
            transform: scale(1.1);
        }

        .typing-indicator {
            display: none;
            padding: 10px 15px;
            background: white;
            border-radius: 15px;
            width: fit-content;
        }

        .typing-indicator.active {
            display: block;
        }

        .typing-dot {
            display: inline-block;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #2f6fb0;
            margin: 0 2px;
            animation: typing 1.4s infinite;
        }

        .typing-dot:nth-child(2) {
            animation-delay: 0.2s;
        }

        .typing-dot:nth-child(3) {
            animation-delay: 0.4s;
        }

        @keyframes typing {
            0%, 60%, 100% { transform: translateY(0); }
            30% { transform: translateY(-10px); }
        }

        @media (max-width: 768px) {
            .chat-box {
                width: calc(100vw - 20px);
                right: 10px;
                bottom: 90px;
                height: 500px;
            }
        }

        nav {
            background: #1E2D3B;
            padding: 1px 0;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            position: sticky;
            top: 0;
            z-index: 1000;
        }

        .nav-container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 12px;
            text-decoration: none;
            color: #ffffff;
            font-size: 20px;
            font-weight: 500;
            letter-spacing: 0.5px;
            padding: 12px 0;
            white-space: nowrap;
        }

        .logo img {
            width: 46px;
            height: 46px;
            border-radius: 6px;
        }

        .nav-menu {
            display: flex;
            gap: 16px;
            list-style: none;
            margin-left: auto;
            align-items: center;
        }

        .nav-menu li {
            white-space: nowrap;
        }

        .nav-menu a {
            color: white;
            text-decoration: none;
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 0.2px;
            transition: color 0.3s;
        }

        .nav-menu a:hover {
            color: #EDCD1F;
        }

        /* Hero */
        .hero {
            position: relative;
            min-height: 600px;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            color: white;
            background: url('images/hero-home.jpg') center/cover;
        }

        .hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.4);
        }

        .hero-content {
            position: relative;
            z-index: 1;
            max-width: 1200px;
            width: 100%;
            margin: 0 auto;
            padding: 50px 20px;
            text-align: left;
        }

        .hero h1 {
            font-size: 48px;
            font-weight: 500;
            margin-bottom: 20px;
            line-height: 1.2;
        }

        .hero p {
            font-size: 22px;
            margin-bottom: 18px;
            max-width: 760px;
        }

        .hero-features {
            display: flex;
            justify-content: center;
            gap: 40px;
            margin: 30px 0;
            font-size: 18px;
        }

        .price-tag {
            font-size: 32px;
            font-weight: 500;
            background: rgba(255, 255, 255, 0.9);
            color: #333;
            padding: 15px 40px;
            border-radius: 5px;
            display: inline-block;
            margin: 20px 0;
        }

        /* Section */
        .section {
            padding: 80px 0;
        }

        .section-title {
            text-align: center;
            font-size: 36px;
            font-weight: 500;
            margin-bottom: 50px;
        }

        /* Services */
        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
            margin-top: 40px;
        }

        .service-card {
            background: white;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            transition: transform 0.3s;
        }

        .service-card:hover {
            transform: translateY(-5px);
        }

        .service-card img {
            width: 100%;
            height: 227px;
            object-fit: cover;
        }

        .service-content {
            padding: 25px;
        }

        .service-content h3 {
            font-size: 22px;
            margin-bottom: 15px;
        }

        .service-content p {
            color: #666;
            line-height: 1.6;
        }

        /* About */
        .reviews-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 24px;
            margin-top: 40px;
        }
        .review-card {
            background: #fff;
            padding: 30px;
            border-radius: 16px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.06);
            transition: transform 0.3s;
        }
        .review-card:hover { transform: translateY(-4px); }
        .review-stars { color: #f5a623; font-size: 1.2rem; margin-bottom: 14px; letter-spacing: 2px; }
        .review-text { color: #555; font-size: 0.95rem; line-height: 1.7; margin-bottom: 20px; font-style: italic; }
        .review-author { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #eee; padding-top: 14px; }
        .review-author strong { color: #333; }
        .review-author span { color: #999; font-size: 0.85rem; }

        .about-section {
            background: #f8f8f8;
        }

        .about-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
        }

        .about-image img {
            width: 100%;
            height: auto;
            border-radius: 8px;
        }

        .about-text h2 {
            font-size: 32px;
            margin-bottom: 20px;
        }

        .about-text p {
            color: #666;
            line-height: 1.8;
            margin-bottom: 15px;
        }

        /* Partners */
        .partners-section {
            background: white;
        }

        .partners-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
            gap: 20px;
            margin-top: 40px;
        }

        .partner-item {
            background: #f8f8f8;
            padding: 20px;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 120px;
        }

        .partner-item img {
            max-width: 100%;
            height: auto;
        }

        /* Calculator Section */
        .calculator-section {
            background: #1e2d3b;
            color: white;
            padding: 100px 0;
            position: relative;
            overflow: hidden;
        }

        .calculator-section::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -20%;
            width: 600px;
            height: 600px;
            background: radial-gradient(circle, rgba(47, 111, 176, 0.15) 0%, transparent 70%);
            border-radius: 50%;
        }

        .calculator-section::after {
            content: '';
            position: absolute;
            bottom: -30%;
            left: -10%;
            width: 400px;
            height: 400px;
            background: radial-gradient(circle, rgba(30, 45, 59, 0.1) 0%, transparent 70%);
            border-radius: 50%;
        }

        .calc-layout {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: start;
            position: relative;
            z-index: 1;
        }

        .calc-info {
            padding-top: 20px;
        }

        .calc-info h2 {
            font-size: 38px;
            font-weight: 500;
            line-height: 1.2;
            margin-bottom: 20px;
            color: white;
        }

        .calc-info h2 span {
            background: linear-gradient(135deg, #2f6fb0, #1e2d3b);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .calc-info > p {
            color: rgba(255,255,255,0.6);
            font-size: 17px;
            line-height: 1.7;
            margin-bottom: 30px;
        }

        .calc-features {
            display: flex;
            flex-direction: column;
            gap: 18px;
        }

        .calc-feature {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .calc-feature-icon {
            width: 44px;
            height: 44px;
            border-radius: 12px;
            background: rgba(47, 111, 176, 0.15);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            flex-shrink: 0;
        }

        .calc-feature-text {
            color: rgba(255,255,255,0.8);
            font-size: 15px;
        }

        .calc-feature-text strong {
            color: white;
            display: block;
            margin-bottom: 2px;
        }

        .calculator-box {
            background: rgba(255,255,255,0.05);
            backdrop-filter: blur(20px);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 20px;
            padding: 40px;
        }

        .calc-form {
            display: grid;
            gap: 18px;
        }

        .form-group label {
            display: block;
            color: rgba(255,255,255,0.7);
            font-size: 13px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 8px;
        }

        .form-group input,
        .form-group select {
            width: 100%;
            padding: 14px 16px;
            background: rgba(255,255,255,0.08);
            border: 1px solid rgba(255,255,255,0.12);
            border-radius: 12px;
            font-size: 15px;
            color: white;
            transition: all 0.3s;
        }

        .form-group select option {
            background: #1e2d3b;
            color: white;
        }

        .form-group input::placeholder {
            color: rgba(255,255,255,0.3);
        }

        .form-group input:focus,
        .form-group select:focus {
            outline: none;
            border-color: #2f6fb0;
            background: rgba(47, 111, 176, 0.1);
            box-shadow: 0 0 0 3px rgba(47, 111, 176, 0.15);
        }

        .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px;
        }

        .btn-calculate {
            width: 100%;
            background: linear-gradient(135deg, #2f6fb0 0%, #1e2d3b 100%);
            color: white;
            padding: 16px;
            border: none;
            border-radius: 12px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s;
            margin-top: 5px;
            position: relative;
            overflow: hidden;
        }

        .btn-calculate:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 30px rgba(47, 111, 176, 0.4);
        }

        .btn-calculate:active {
            transform: translateY(0);
        }

        .calc-result {
            background: rgba(47, 111, 176, 0.1);
            border: 1px solid rgba(47, 111, 176, 0.25);
            border-radius: 16px;
            padding: 25px;
            margin-top: 20px;
            text-align: center;
            display: none;
        }

        .calc-result-price {
            font-size: 42px;
            font-weight: 500;
            background: linear-gradient(135deg, #2f6fb0, #5b9bd5);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin: 10px 0;
        }

        .calc-result-note {
            color: rgba(255,255,255,0.5);
            font-size: 13px;
            margin-top: 12px;
            line-height: 1.5;
        }

        @media (max-width: 768px) {
            .calc-layout {
                grid-template-columns: 1fr;
                gap: 40px;
            }
            .calculator-box {
                padding: 25px;
            }
            .calc-info h2 {
                font-size: 28px;
            }
        }

        /* Contact */
        .contact-section {
            background: #f8f8f8;
        }

        .contact-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: start;
        }

        .contact-info h3 {
            font-size: 24px;
            margin-bottom: 20px;
        }

        .contact-info p {
            color: #666;
            margin-bottom: 15px;
            line-height: 1.8;
        }

        .contact-info a {
            color: #2f6fb0;
            text-decoration: none;
        }

        .contact-form {
            display: grid;
            gap: 10px;
        }

        .contact-form input,
        .contact-form textarea {
            width: 100%;
            padding: 8px 12px;
            border: 2px solid #e0e0e0;
            border-radius: 8px;
            font-size: 14px;
            font-family: inherit;
        }

        .contact-form textarea {
            min-height: 80px;
            resize: vertical;
        }

        .btn-submit {
            background: #2f6fb0;
            color: white;
            padding: 10px 30px;
            border: none;
            border-radius: 50px;
            font-size: 14px;
            font-weight: 500;
            cursor: pointer;
            transition: background 0.3s;
        }

        .btn-submit:hover {
            background: #245a91;
        }

        /* Footer */
        footer {
            background: #2c3e50;
            color: white;
            padding: 40px 0 20px;
        }

        .footer-content {
            text-align: center;
        }

        .footer-content p {
            margin: 10px 0;
        }

        .footer-content a {
            color: white;
            text-decoration: none;
        }

        /* Instagram Gallery */
        .instagram-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 20px;
            margin-top: 40px;
        }

        .instagram-item {
            position: relative;
            border-radius: 15px;
            overflow: hidden;
            cursor: pointer;
            transition: transform 0.3s;
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
        }

        .instagram-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
        }

        .instagram-item img {
            width: 100%;
            height: 300px;
            object-fit: cover;
            display: block;
        }

        .instagram-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
            padding: 20px;
            color: white;
            transform: translateY(100%);
            transition: transform 0.3s;
        }

        .instagram-item:hover .instagram-overlay {
            transform: translateY(0);
        }

        .instagram-stats {
            display: flex;
            gap: 15px;
            font-size: 14px;
            margin-top: 10px;
        }

        .instagram-stats span {
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .loading {
            text-align: center;
            padding: 40px;
            color: #666;
            font-size: 18px;
        }

        .instagram-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0,0,0,0.9);
            z-index: 10000;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }

        .instagram-modal.active {
            display: flex;
        }

        .instagram-modal-content {
            max-width: 900px;
            max-height: 90vh;
            background: white;
            border-radius: 15px;
            overflow: hidden;
            position: relative;
        }

        .instagram-modal-content img {
            width: 100%;
            height: auto;
            max-height: 70vh;
            object-fit: contain;
        }

        .instagram-modal-close {
            position: absolute;
            top: 15px;
            right: 15px;
            background: rgba(0,0,0,0.7);
            color: white;
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            font-size: 24px;
            cursor: pointer;
            z-index: 1;
        }

        .instagram-modal-info {
            padding: 20px;
        }

        /* Catalog Section */
        .catalog-section {
            background: #f8f8f8;
        }

        .catalog-filters {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin-bottom: 40px;
            flex-wrap: wrap;
        }

        .catalog-filter-btn {
            padding: 10px 28px;
            border: 2px solid #e0e0e0;
            background: white;
            border-radius: 50px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s;
            color: #555;
        }

        .catalog-filter-btn:hover {
            border-color: #2f6fb0;
            color: #2f6fb0;
        }

        .catalog-filter-btn.active {
            background: linear-gradient(135deg, #2f6fb0 0%, #1e2d3b 100%);
            color: white;
            border-color: transparent;
        }

        .catalog-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
            gap: 25px;
        }

        .catalog-card {
            background: white;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 2px 15px rgba(0,0,0,0.06);
            transition: all 0.3s;
            position: relative;
        }

        .catalog-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(0,0,0,0.12);
        }

        .catalog-card-img {
            width: 100%;
            height: 240px;
            object-fit: cover;
            background: #f0f0f0;
        }

        .catalog-card-badge {
            position: absolute;
            top: 15px;
            left: 15px;
            background: linear-gradient(135deg, #2f6fb0 0%, #1e2d3b 100%);
            color: white;
            padding: 5px 14px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 600;
        }

        .catalog-card-body {
            padding: 22px;
        }

        .catalog-card-body h3 {
            font-size: 18px;
            margin-bottom: 8px;
            color: #333;
        }

        .catalog-card-body p {
            color: #888;
            font-size: 14px;
            line-height: 1.5;
            margin-bottom: 15px;
        }

        .catalog-card-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .catalog-price {
            font-size: 18px;
            font-weight: 500;
            color: #2f6fb0;
        }

        .catalog-price small {
            font-size: 12px;
            font-weight: 400;
            color: #999;
        }

        .catalog-btn {
            padding: 8px 20px;
            background: rgba(47, 111, 176, 0.1);
            color: #2f6fb0;
            border: none;
            border-radius: 8px;
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s;
        }

        .catalog-btn:hover {
            background: #2f6fb0;
            color: white;
        }

        .catalog-card[data-hidden="true"] {
            display: none;
        }

        /* Booking CTA Section */
        .booking-section {
            background: linear-gradient(135deg, #2f6fb0 0%, #1e2d3b 100%);
            padding: 70px 0;
            position: relative;
            overflow: hidden;
        }

        .booking-section::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -10%;
            width: 500px;
            height: 500px;
            background: rgba(255,255,255,0.05);
            border-radius: 50%;
        }

        .booking-layout {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
            position: relative;
            z-index: 1;
        }

        .booking-info {
            color: white;
        }

        .booking-info h2 {
            font-size: 34px;
            margin-bottom: 15px;
            line-height: 1.2;
        }

        .booking-info p {
            font-size: 17px;
            opacity: 0.85;
            line-height: 1.7;
            margin-bottom: 25px;
        }

        .booking-perks {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .booking-perk {
            display: flex;
            align-items: center;
            gap: 12px;
            font-size: 15px;
            color: rgba(255,255,255,0.9);
        }

        .booking-perk-icon {
            width: 36px;
            height: 36px;
            background: rgba(255,255,255,0.15);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 16px;
            flex-shrink: 0;
        }

        .booking-form-box {
            background: white;
            border-radius: 20px;
            padding: 35px;
            box-shadow: 0 15px 50px rgba(0,0,0,0.2);
        }

        .booking-form-box h3 {
            font-size: 22px;
            color: #333;
            margin-bottom: 25px;
            text-align: center;
        }

        .booking-form {
            display: grid;
            gap: 15px;
        }

        .booking-form input,
        .booking-form select {
            width: 100%;
            padding: 14px 16px;
            border: 2px solid #e8e8e8;
            border-radius: 12px;
            font-size: 15px;
            font-family: inherit;
            transition: border-color 0.3s;
        }

        .booking-form input:focus,
        .booking-form select:focus {
            outline: none;
            border-color: #2f6fb0;
        }

        .booking-form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px;
        }

        .btn-booking {
            width: 100%;
            padding: 16px;
            background: linear-gradient(135deg, #2f6fb0 0%, #1e2d3b 100%);
            color: white;
            border: none;
            border-radius: 12px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s;
        }

        .btn-booking:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(47, 111, 176, 0.4);
        }

        /* Responsive */
        @media (max-width: 768px) {
            html, body {
                overflow-x: hidden;
            }

            .header-top .container {
                flex-direction: column;
                gap: 8px;
                padding: 0 10px;
            }

            .contact-bar {
                flex-wrap: wrap;
                justify-content: center;
                gap: 8px;
                font-size: 12px;
            }

            .chat-widget {
                right: 15px;
                bottom: 15px;
            }

            .chat-button {
                width: 50px;
                height: 50px;
                font-size: 24px;
            }

            .about-content,
            .contact-content {
                grid-template-columns: 1fr;
            }

            .nav-menu {
                display: none;
            }

            .hero h1 {
                font-size: 32px;
            }

            .hero-features {
                flex-direction: column;
                gap: 15px;
            }

            .form-row {
                grid-template-columns: 1fr;
            }

            .services-grid {
                grid-template-columns: 1fr;
            }

            .calculator-box {
                padding: 30px 20px;
            }

            .catalog-grid {
                grid-template-columns: 1fr;
            }

            .booking-layout {
                grid-template-columns: 1fr;
                gap: 30px;
            }

            .booking-info h2 {
                font-size: 26px;
            }

            .booking-form-row {
                grid-template-columns: 1fr;
            }
        }

        /* ============================================================
           РЕДИЗАЙН — архитектурный минимализм (стиль ergohaus.ru)
           Только визуальный слой. Структура и контент не изменены.
           ============================================================ */
        body { font-family: 'IBM Plex Sans','Golos Text','Helvetica Neue',Arial,sans-serif; color: #16181d; font-weight: 400; }
        h1, h2, h3, h4 { font-family: 'IBM Plex Sans','Golos Text','Helvetica Neue',Arial,sans-serif; }
        button, input, select, textarea, optgroup, option { font-family: 'IBM Plex Sans','Golos Text','Helvetica Neue',Arial,sans-serif; }

        /* Верхняя строка контактов */
        .header-top { background: #ffffff; border-bottom: 1px solid #e5e2db; padding: 12px 0; }
        .contact-bar { gap: 28px; font-size: 13px; letter-spacing: .2px; }
        .contact-bar a, .contact-bar span { color: #16181d; }
        .lang-switcher button { border: 1px solid #d6d2c8; border-radius: 2px; padding: 5px 11px; font-family: inherit; font-weight: 600; letter-spacing: .5px; color: #16181d; }
        .lang-switcher button:hover, .lang-switcher button.active { background: #1E2D3B; border-color: #1E2D3B; color: #fff; }

        /* Навигация */
        nav { background: #1E2D3B; box-shadow: none; border-bottom: 1px solid rgba(255,255,255,.08); }
        .nav-menu a { font-weight: 600; letter-spacing: 1px; font-size: 11.5px; }
        .nav-menu a:hover { color: #9db8d6; }

        /* Ритм секций и заголовки */
        .section { padding: 96px 0; }
        .section-title { text-align: left; font-size: 30px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 44px; color: #16181d; }
        .section-title::before { display: none; }

        /* Hero */
        .hero { min-height: 100vh; align-items: center; background-attachment: fixed; }
        .hero::before { background: linear-gradient(to bottom, rgba(20,24,30,.55) 0%, rgba(20,24,30,.30) 32%, rgba(20,24,30,.45) 62%, rgba(20,24,30,.85) 100%); }
        .hero-content { padding-bottom: 0; }
        .hero-features { justify-content: flex-start; gap: 34px; font-size: 16px; font-weight: 600; letter-spacing: .4px; }
        .hero-cta { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; background: #2f6fb0; color: #fff; text-decoration: none; padding: 16px 38px; border-radius: 2px; font-weight: 500; text-transform: uppercase; letter-spacing: 1.2px; font-size: 14px; transition: background .25s; }
        .hero-cta:hover { background: #245a91; }

        /* Кнопки — плоские */
        .btn-submit, .btn-booking, .btn-calculate { background: #1E2D3B; border-radius: 2px; box-shadow: none; text-transform: uppercase; letter-spacing: 1.2px; font-weight: 500; }
        .btn-submit:hover, .btn-booking:hover, .btn-calculate:hover { background: #2f6fb0; box-shadow: none; transform: none; }
        .btn-submit { padding: 14px 34px; }

        /* Карточки услуг */
        .service-card { border-radius: 2px; box-shadow: none; border: 1px solid #e5e2db; }
        .service-card:hover { transform: none; box-shadow: 0 12px 30px rgba(20,24,30,.10); }
        .service-content { padding: 26px 24px 28px; }
        .service-content h3 { font-size: 19px; font-weight: 500; letter-spacing: .3px; }

        /* Каталог */
        .catalog-section { background: #f4f3ef; }
        .catalog-filters { justify-content: flex-start; }
        .catalog-filter-btn { border-radius: 2px; border: 1px solid #d6d2c8; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; font-size: 12px; }
        .catalog-filter-btn:hover { border-color: #1E2D3B; color: #1E2D3B; }
        .catalog-filter-btn.active { background: #1E2D3B; border-color: #1E2D3B; color: #fff; }
        .catalog-card { border-radius: 2px; box-shadow: none; border: 1px solid #e5e2db; }
        .catalog-card:hover { transform: none; box-shadow: 0 12px 30px rgba(20,24,30,.10); }
        .catalog-card-badge { background: rgba(20,24,30,.78); border-radius: 2px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; padding: 5px 12px; }
        .catalog-price { color: #16181d; }
        .catalog-btn { border-radius: 2px; background: transparent; border: 1px solid #1E2D3B; color: #1E2D3B; text-transform: uppercase; letter-spacing: .6px; font-weight: 600; }
        .catalog-btn:hover { background: #1E2D3B; color: #fff; }

        /* Калькулятор (тёмный) — без свечения, прямые углы */
        .calculator-section::before, .calculator-section::after { display: none; }
        .calculator-box { border-radius: 2px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); }
        .form-group input, .form-group select { border-radius: 2px; }
        .btn-calculate { border-radius: 2px; }
        .calc-feature-icon { border-radius: 2px; background: rgba(47,111,176,.18); }
        .calc-info h2 span { -webkit-text-fill-color: #fff; color: #fff; background: none; }
        .calc-result { border-radius: 2px; }
        .calc-result-price { -webkit-text-fill-color: #9db8d6; color: #9db8d6; }

        /* Запись — сплошной тёмный фон */
        .booking-section { background: #1E2D3B; }
        .booking-section::before { display: none; }
        .booking-form-box { border-radius: 2px; box-shadow: 0 20px 50px rgba(0,0,0,.25); }
        .booking-form input, .booking-form select { border: none; border-bottom: 1.5px solid #d6d2c8; border-radius: 0; padding: 12px 2px; background: transparent; }
        .booking-form input:focus, .booking-form select:focus { border-bottom-color: #2f6fb0; }
        .booking-perk-icon { border-radius: 2px; }
        .btn-booking { border-radius: 2px; }

        /* Портфолио */
        .instagram-item { border-radius: 2px; box-shadow: none; border: 1px solid #e5e2db; overflow: hidden; }
        .instagram-item:hover { transform: none; box-shadow: 0 12px 30px rgba(20,24,30,.12); }
        .instagram-item img { transition: transform .5s ease; }
        .instagram-item:hover img { transform: scale(1.05); }

        /* Отзывы */
        .review-card { border-radius: 2px; box-shadow: none; border: 1px solid #e5e2db; }
        .review-card:hover { transform: none; }
        .review-stars { color: #2f6fb0; }

        /* О нас / Контакты */
        .about-section, .contact-section { background: #f4f3ef; }
        .about-image img { border-radius: 2px; }
        .about-text h2 { font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
        .partner-item { background: #fff; border: 1px solid #e5e2db; border-radius: 2px; }
        .contact-form input, .contact-form textarea { border: none; border-bottom: 1.5px solid #d6d2c8; border-radius: 0; padding: 12px 2px; }
        .contact-form input:focus, .contact-form textarea:focus { outline: none; border-bottom-color: #2f6fb0; }
        .contact-info a { color: #2f6fb0; }

        /* Чат — плоский, без неонового свечения */
        .chat-button { background: #1E2D3B; border-radius: 2px; animation: none; box-shadow: 0 8px 24px rgba(20,24,30,.25); }
        .chat-header { background: #1E2D3B; }
        .chat-box { border-radius: 4px; }
        .bot-avatar { background: #1E2D3B; border-radius: 2px; }
        .chat-message.user .message-content { background: #2f6fb0; }
        .message-content { border-radius: 4px; }
        .quick-reply-btn { border-radius: 2px; border-color: #1E2D3B; color: #1E2D3B; }
        .quick-reply-btn:hover { background: #1E2D3B; }
        .chat-send { background: #1E2D3B; border-radius: 2px; }
        .chat-input { border-radius: 2px; }
        .typing-dot { background: #2f6fb0; }

        /* Футер */
        footer { background: #16181d; color: #fff; padding: 64px 0 28px; }
        .footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1.4fr; gap: 48px; text-align: left; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.1); }
        .footer-brand-name { font-size: 20px; font-weight: 600; letter-spacing: .5px; color: #fff; margin-bottom: 14px; }
        .footer-col h4 { font-size: 13px; text-transform: uppercase; letter-spacing: 1.5px; color: #fff; margin-bottom: 18px; font-weight: 500; }
        .footer-col a, .footer-col p { color: rgba(255,255,255,.62); text-decoration: none; font-size: 14px; line-height: 1.95; display: block; margin: 0; }
        .footer-col a:hover { color: #fff; }
        .footer-content { text-align: left; padding-top: 22px; }
        .footer-content p { color: rgba(255,255,255,.5); font-size: 13px; margin: 4px 0; }
        .footer-content a { color: rgba(255,255,255,.7); }
        @media (max-width: 768px) {
            .footer-grid { grid-template-columns: 1fr; gap: 32px; }
            .section { padding: 64px 0; }
            .section-title { font-size: 24px; }
        }

        /* ============================================================
           ДОРАБОТКА: плитки-категории каталога, проекты-портфолио,
           гамбургер-меню, SVG-иконки вместо эмодзи, hero без инлайнов
           ============================================================ */

        /* Плитки-категории каталога */
        .cat-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 56px; }
        .cat-tile { position: relative; display: block; height: 320px; border-radius: 2px; overflow: hidden; cursor: pointer; border: 1px solid #e5e2db; background: #16181d; }
        .cat-tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
        .cat-tile:hover img { transform: scale(1.06); }
        .cat-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,24,30,.85) 0%, rgba(20,24,30,.25) 55%, rgba(20,24,30,.05) 100%); }
        .cat-tile-label { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 30px 28px; color: #fff; }
        .cat-tile-label h3 { font-size: 23px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 10px; color: #fff; }
        .cat-tile-link { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,.9); }
        .cat-tile-link svg { transition: transform .3s ease; }
        .cat-tile:hover .cat-tile-link svg { transform: translateX(5px); }

        /* Проекты (портфолио) */
        .instagram-grid { grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 28px; }
        .instagram-item { display: flex; flex-direction: column; background: #fff; }
        .instagram-item img { height: 250px; }
        .project-body { padding: 20px 22px 24px; flex: 1; display: flex; flex-direction: column; }
        .project-title { font-size: 16px; font-weight: 500; color: #16181d; line-height: 1.45; margin-bottom: 14px; }
        .project-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
        .project-tag { font-size: 11px; font-weight: 600; letter-spacing: .4px; color: #2f6fb0; background: rgba(47,111,176,.08); padding: 5px 11px; border-radius: 2px; }
        .portfolio-sub { text-align: center; color: #6b6f76; font-size: 17px; margin-top: -28px; margin-bottom: 44px; }
        .portfolio-actions { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; margin-top: 44px; }

        /* Кнопки: тёмная / контурная (вместо инлайн-hover) */
        .btn-dark, .btn-outline-dark { display: inline-block; padding: 15px 40px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; font-size: 14px; border-radius: 2px; cursor: pointer; transition: all .3s ease; text-decoration: none; border: 1px solid #1E2D3B; }
        .btn-dark { background: #1E2D3B; color: #fff; }
        .btn-dark:hover { background: #2f6fb0; border-color: #2f6fb0; }
        .btn-outline-dark { background: transparent; color: #1E2D3B; }
        .btn-outline-dark:hover { background: #1E2D3B; color: #fff; }

        /* Hero — стили вынесены из инлайнов */
        .hero h1 { font-size: 46px; color: #fff; line-height: 1.12; font-weight: 600; text-align: left; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 22px; max-width: 920px; text-shadow: 0 2px 24px rgba(0,0,0,.35); }
        .hero p { text-align: left; }
        .hero p.hero-lead { font-size: 15px; margin: 0 0 5px; font-weight: 500; }
        .hero-features { display: flex; justify-content: flex-start; gap: 20px; margin: 18px 0 8px; flex-wrap: wrap; }
        .hero-feat { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 600; letter-spacing: .4px; }
        .hero-feat svg { flex-shrink: 0; }
        /* Компактные преимущества-строки hero */
        .hero-points { display: flex; flex-direction: column; gap: 11px; max-width: 660px; margin: 14px 0 20px; }
        .hero-point { display: flex; gap: 11px; align-items: flex-start; font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,.92); text-shadow: 0 1px 10px rgba(0,0,0,.55); }
        .hero-point svg { flex-shrink: 0; margin-top: 2px; }
        .hero-point strong { color: #fff; font-weight: 500; }
        /* Услуги — список в столбик + меняющееся фото (стиль ergohaus) */
        /* Услуги — независимые раскрывающиеся блоки (zigzag) */
        .services-accordion { display: flex; flex-direction: column; }
        .svc-item { border-bottom: 1px solid #e5e2db; }
        .svc-item:first-child { border-top: 1px solid #e5e2db; }
        .svc-header { display: flex; gap: 22px; align-items: center; width: 100%; padding: 26px 4px; background: transparent; border: none; cursor: pointer; font-family: inherit; text-align: left; transition: background .3s ease, padding .3s ease; }
        .svc-header:hover { background: #faf9f6; padding-left: 14px; padding-right: 14px; }
        .svc-num { font-size: 30px; font-weight: 600; color: #d6d2c8; line-height: 1; min-width: 52px; transition: color .3s ease; }
        .svc-title { flex: 1; font-size: 20px; font-weight: 500; letter-spacing: .4px; text-transform: uppercase; color: #16181d; transition: color .3s ease; }
        .svc-toggle { flex-shrink: 0; width: 38px; height: 38px; border: 1px solid #d6d2c8; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #2f6fb0; transition: transform .35s ease, border-color .3s ease, background .3s ease; }
        .svc-toggle svg { display: block; }
        .svc-toggle .svc-bar2 { transform-origin: center; transition: transform .35s ease, opacity .25s ease; }
        .svc-item.open .svc-toggle { transform: rotate(180deg); background: #2f6fb0; border-color: #2f6fb0; color: #fff; }
        .svc-item.open .svc-toggle .svc-bar2 { opacity: 0; transform: scaleY(0); }
        .svc-header:hover .svc-num, .svc-item.open .svc-num,
        .svc-header:hover .svc-title, .svc-item.open .svc-title { color: #2f6fb0; }
        .svc-panel-inner { overflow: hidden; }
        .svc-item.open .svc-content { animation: svcReveal .42s ease both; }
        @keyframes svcReveal { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
        .svc-content { display: grid; grid-template-columns: 1.05fr .95fr; gap: 44px; padding: 6px 4px 40px; align-items: start; }
        .svc-text { order: 0; }
        .svc-media { order: 1; display: flex; flex-direction: column; gap: 16px; }
        .svc-item.reverse .svc-text { order: 1; }
        .svc-item.reverse .svc-media { order: 0; }
        .svc-intro { font-size: 15.5px; line-height: 1.72; color: #4a4e55; margin-bottom: 20px; }
        .svc-block { margin-bottom: 15px; }
        .svc-block:last-child { margin-bottom: 0; }
        .svc-block h4 { font-size: 14px; font-weight: 700; letter-spacing: .2px; color: #16181d; margin-bottom: 5px; }
        .svc-block p { font-size: 14.5px; line-height: 1.66; color: #4a4e55; }
        .svc-block ul { margin: 5px 0 0; padding-left: 18px; }
        .svc-block li { font-size: 14.5px; line-height: 1.6; color: #4a4e55; margin-bottom: 6px; }
        .svc-block li::marker { color: #2f6fb0; }
        .svc-photo { width: 100%; height: auto; display: block; object-fit: contain; border-radius: 2px; border: 1px solid #e5e2db; }
        .svc-placeholder { width: 100%; min-height: 170px; flex: 1; border: 2px dashed #c9c5ba; border-radius: 2px; background: #f4f3ef; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 10px; padding: 22px; color: #9a968c; }
        .svc-placeholder svg { color: #c2bdb0; }
        .svc-placeholder span { font-size: 13px; line-height: 1.5; max-width: 240px; }
        @media (max-width: 900px) {
            .svc-content { grid-template-columns: 1fr; gap: 22px; }
            .svc-text, .svc-item.reverse .svc-text { order: 0; }
            .svc-media, .svc-item.reverse .svc-media { order: 1; }
            .svc-title { font-size: 16px; }
            .svc-num { font-size: 24px; min-width: 42px; }
            .svc-photo { max-height: none; }
        }

        /* Гамбургер-меню */
        .nav-toggle { display: none; background: transparent; border: none; cursor: pointer; padding: 10px; margin-left: 16px; }
        .nav-toggle span { display: block; width: 24px; height: 2px; background: #fff; margin: 5px 0; border-radius: 2px; transition: all .3s ease; }
        .nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
        .nav-toggle.open span:nth-child(2) { opacity: 0; }
        .nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

        @media (max-width: 900px) {
            .cat-tiles { grid-template-columns: 1fr; }
            .cat-tile { height: 220px; }
        }
        @media (max-width: 768px) {
            .nav-container { position: relative; }
            .nav-toggle { display: block; }
            .nav-menu { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 8px 0; background: #1E2D3B; box-shadow: 0 12px 30px rgba(0,0,0,.3); border-top: 1px solid rgba(255,255,255,.08); }
            .nav-menu.open { display: flex; }
            .nav-menu li { width: auto !important; white-space: normal; }
            .nav-menu a { display: block; padding: 14px 24px; font-size: 13px; }
            .hero h1 { font-size: 30px; }
            .instagram-grid { grid-template-columns: 1fr; }
        }
        /* === Двухстрочная шапка (структура ergohaus) === */
        .site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: transparent; transition: background .35s ease, box-shadow .35s ease; }
        .site-header.scrolled { background: #16181d; box-shadow: 0 2px 22px rgba(0,0,0,.28); }

        /* --- Строка 1: служебная --- */
        .site-header .header-top { background: transparent; border-bottom: 1px solid rgba(255,255,255,.5); padding: 0; }
        .header-row1 { display: flex; align-items: stretch; }
        .hr-block { display: flex; align-items: center; gap: 14px; padding: 0 24px; border-right: 1px solid rgba(255,255,255,.18); min-height: 62px; }
        .hr-logo { gap: 13px; text-decoration: none; }
        .hr-logo img { width: 42px; height: 42px; object-fit: contain; }
        .hr-logo .logo-text { font-family: 'IBM Plex Sans','Golos Text','Helvetica Neue',Arial,sans-serif; font-size: 30px; font-weight: 500; letter-spacing: 1px; color: #fff; text-transform: none; line-height: 1; }
        .hr-contact { border-right: none; }
        .hr-block:last-child { border-right: none; }
        .hr-mid { display: flex; align-items: center; gap: 16px; padding: 0 24px; }
        .hr-contact a, .hr-contact .hr-mail { color: rgba(255,255,255,.8); text-decoration: none; font-size: 12px; letter-spacing: .2px; transition: color .25s ease; }
        .hr-contact a:hover, .hr-contact .hr-mail:hover { color: #fff; }
        .hr-ig { display: inline-flex; color: rgba(255,255,255,.85); transition: color .25s ease; }
        .hr-ig:hover { color: #fff; }
        .hr-spacer { flex: 1; }
        .hr-phone { gap: 40px; }
        .hr-tel { color: rgba(255,255,255,.85); font-weight: 500; font-size: 12px; text-decoration: none; white-space: nowrap; transition: color .25s ease; }
        .hr-tel:hover { color: #9db8d6; }
        .btn-zamer { position: relative; background: transparent; color: #fff; padding: 4px 0; border-radius: 0; font-weight: 500; text-transform: uppercase; letter-spacing: .9px; font-size: 12px; text-decoration: none; white-space: nowrap; }
        .btn-zamer::after { content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: #fff; transition: width .3s ease; }
        .btn-zamer:hover::after { width: 100%; }

        /* --- Строка 2: навигация --- */
        .site-header nav { position: static; background: transparent; box-shadow: none; border-bottom: none; padding: 0; }
        .nav-row2 { display: flex; align-items: stretch; border-bottom: 1px solid rgba(255,255,255,.5); }
        .menu-dropdown { position: relative; }
        .menu-trigger { display: flex; align-items: center; gap: 11px; height: 56px; padding: 0 28px; background: transparent; border: none; border-right: 1px solid rgba(255,255,255,.18); color: #fff; font-family: inherit; font-weight: 500; letter-spacing: 1px; font-size: 13px; cursor: pointer; transition: color .25s ease; }
        .menu-trigger:hover { color: #9db8d6; }
        .menu-trigger svg { flex-shrink: 0; }
        .menu-dropdown-list { position: absolute; top: 100%; left: 0; min-width: 250px; background: #16181d; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 18px 44px rgba(0,0,0,.42); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .25s ease, transform .25s ease, visibility .25s; z-index: 30; }
        .menu-dropdown:hover .menu-dropdown-list, .menu-dropdown.open .menu-dropdown-list { opacity: 1; visibility: visible; transform: translateY(0); }
        .menu-dropdown-list a { display: block; padding: 15px 24px; color: rgba(255,255,255,.85); text-decoration: none; font-size: 14px; font-weight: 600; letter-spacing: .4px; border-bottom: 1px solid rgba(255,255,255,.07); transition: background .2s ease, color .2s ease; }
        .menu-dropdown-list a:last-child { border-bottom: none; }
        .menu-dropdown-list a:hover { background: rgba(255,255,255,.06); color: #fff; }
        .site-header .nav-menu { display: flex; align-items: center; gap: 32px; margin: 0; padding: 0 30px; list-style: none; }
        .nav-spacer { flex: 1; }
        .nav-lang { display: flex; align-items: center; padding: 0 26px; border-left: 1px solid rgba(255,255,255,.18); }
        .site-header .lang-switcher { display: flex; gap: 8px; }
        .site-header .lang-switcher button { background: transparent; border: 1px solid rgba(255,255,255,.4); color: #fff; border-radius: 2px; padding: 5px 11px; font-family: inherit; font-weight: 600; letter-spacing: .5px; font-size: 11px; cursor: pointer; transition: background .25s ease, color .25s ease, border-color .25s ease; }
        .site-header .lang-switcher button:hover, .site-header .lang-switcher button.active { background: #fff; border-color: #fff; color: #16181d; }
        .site-header .nav-menu li { width: auto; }
        .site-header .nav-menu a { position: relative; color: #fff; font-weight: 500; letter-spacing: .6px; font-size: 14px; text-transform: none; transition: color .25s ease; }
        .site-header .nav-menu a::after { content: ''; position: absolute; left: 0; bottom: -7px; width: 0; height: 1px; background: #fff; transition: width .3s ease; }
        .site-header .nav-menu a:hover { color: #fff; }
        .site-header .nav-menu a:hover::after { width: 100%; }
        .nav-burger { display: none; }
        .mobile-panel { display: none; }

        /* --- Адаптив шапки --- */
        @media (max-width: 980px) {
            .hr-contact, .hr-lang { display: none; }
            .site-header .nav-menu { gap: 22px; padding: 0 18px; }
        }
        @media (max-width: 768px) {
            .hr-block { padding: 0 16px; min-height: 56px; }
            .hr-logo .logo-text { font-size: 19px; }
            .hr-logo img { width: 34px; height: 34px; }
            /* Верхняя строка: оставить логотип + телефон, скрыть email/Instagram/кнопку замера */
            .hr-contact, .hr-phone { display: none; }
            .hr-mid { padding: 0 16px; }
            .hr-tel { display: inline-block; font-size: 14px; }
            .site-header .nav-menu { display: none; }
            .nav-spacer { display: none; }
            /* Переключатель языков переезжает внутрь мобильного меню */
            .nav-lang { display: none; }
            .nav-row2 { position: relative; }
            .menu-trigger { width: 100%; justify-content: flex-start; min-height: 52px; }
            .menu-dropdown { flex: 1; }
            .menu-dropdown-list { display: none; }
            .nav-burger { display: flex; align-items: center; padding: 0 18px; background: transparent; border: none; border-left: 1px solid rgba(255,255,255,.18); color: #fff; cursor: pointer; min-width: 52px; justify-content: center; }
            .mobile-panel { position: absolute; top: 100%; left: 0; right: 0; max-height: calc(100vh - 108px); overflow-y: auto; background: #16181d; border-top: 1px solid rgba(255,255,255,.1); box-shadow: 0 18px 40px rgba(0,0,0,.4); z-index: 40; }
            .mobile-panel.open { display: block; }
            .mobile-panel a { display: flex; align-items: center; min-height: 48px; padding: 15px 22px; color: rgba(255,255,255,.85); text-decoration: none; font-size: 15px; font-weight: 600; letter-spacing: .4px; border-bottom: 1px solid rgba(255,255,255,.07); }
            .mobile-panel a:hover { background: rgba(255,255,255,.06); color: #fff; }
            .mobile-panel-lang { display: flex; gap: 10px; padding: 16px 22px 20px; }
            .mobile-panel-lang button { flex: 1; min-height: 44px; background: transparent; border: 1px solid rgba(255,255,255,.35); color: #fff; border-radius: 2px; font-family: inherit; font-weight: 600; letter-spacing: .5px; font-size: 13px; cursor: pointer; }
            .mobile-panel-lang button.active { background: #fff; border-color: #fff; color: #16181d; }
        }
        @media (max-width: 480px) {
            .hr-logo .logo-text { font-size: 16px; }
            .hr-tel { font-size: 12.5px; }
            .hr-block, .hr-mid { padding: 0 12px; }
        }

/* ─── Страницы услуг ─── */
.svc-page { padding: 150px 0 90px; background: #fff; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; font-size: 13px; color: #8a8e95; margin-bottom: 30px; background: #fff; box-shadow: none; border-bottom: none; padding: 0; position: static; z-index: auto; }
.breadcrumbs a { color: #6b6f76; text-decoration: none; transition: color .25s ease; }
.breadcrumbs a:hover { color: #2f6fb0; }
.breadcrumbs .bc-sep { color: #c2bdb0; }
.breadcrumbs .bc-current { color: #16181d; }
.svc-page-title { font-size: 38px; font-weight: 500; letter-spacing: .4px; text-transform: uppercase; color: #16181d; line-height: 1.12; margin-bottom: 34px; }
.svc-page .svc-content { padding: 0 0 8px; }
.svc-page .svc-photo { max-height: 460px; }
.svc-cta { margin-top: 64px; padding: 48px 40px; background: #f7f7f5; border: 1px solid #e5e2db; border-radius: 2px; text-align: center; }
.svc-related { margin-top: 40px; padding-top: 24px; border-top: 1px solid #e5e2db; font-size: 14.5px; color: #6b6f76; }
.svc-related a { color: #2f6fb0; text-decoration: none; }
.svc-related a:hover { text-decoration: underline; }
.svc-cta h2 { font-size: 26px; font-weight: 500; letter-spacing: .3px; color: #16181d; margin-bottom: 12px; }
.svc-cta p { font-size: 16px; color: #6b6f76; line-height: 1.6; max-width: 620px; margin: 0 auto 28px; }
.svc-cta-actions { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 768px) {
    .svc-page { padding: 130px 0 64px; }
    .svc-page-title { font-size: 26px; }
    .svc-cta { padding: 36px 20px; }
    .svc-cta h2 { font-size: 21px; }
}

/* ─── Фасадное остекление: «шахматная» раскладка текст/фото ─── */
.svc-content.fz-content { display: block; padding: 0; }
.fz-wrap { display: flex; flex-direction: column; gap: 64px; }
.fz-row { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.fz-text p { font-size: 16px; line-height: 1.78; color: #4a4e55; margin: 0; }
.fz-media { width: 100%; }
.fz-media img { width: 100%; height: auto; display: block; object-fit: cover; border-radius: 3px; border: 1px solid #e5e2db; }
/* Размеры: 1 и 3 — компактные, 2 — крупнее, 4 — самая крупная */
.fz-row .fz-sm { max-width: 380px; justify-self: center; }
.fz-row .fz-lg { max-width: 560px; justify-self: center; }
/* блок 1: текст слева / фото справа — фото компактнее, текст шире */
.fz-row:not(.fz-img-left) { grid-template-columns: 1.25fr .75fr; }
/* блок 2: фото слева / текст справа — фото крупнее */
.fz-row.fz-img-left { grid-template-columns: .9fr 1.1fr; }
/* блок 3: картинка слева / текст справа */
.fz-wrap > .fz-row:nth-of-type(3) { grid-template-columns: .9fr 1.1fr; }
.fz-wrap > .fz-row:nth-of-type(3) .fz-sm { max-width: 460px; }
/* Завершающий блок: текст на всю ширину + крупное фото */
.fz-final { margin-top: 8px; }
.fz-final > p { font-size: 16px; line-height: 1.78; color: #4a4e55; margin: 0 0 28px; }
.fz-media.fz-full { width: 100%; }
.fz-media.fz-full img { max-width: 555px; width: 100%; margin: 0 auto; max-height: none; }
.fz-stack { display: flex; flex-direction: column; gap: 14px; }
.fz-stack img { width: 100%; }
/* Веранды/террасы: крупные полноширинные блоки (ter2, ter5) */
body[data-service="veranda-terrasa"] .fz-media.fz-wide img { max-width: 980px; }
body[data-service="veranda-terrasa"] .fz-final .fz-media.fz-full img { max-width: 1120px; }
body[data-service="veranda-terrasa"] .fz-media.fz-full { display: flex; justify-content: center; }
/* Алюминиевые двери и окна: крупный завершающий полноширинный блок */
body[data-service="alyuminievye-dveri-okna"] .fz-final .fz-media.fz-full { display: flex; justify-content: center; }
body[data-service="alyuminievye-dveri-okna"] .fz-final .fz-media.fz-full img { max-width: 796px; }
/* Пластиковые окна и двери: инфографика — contain, без обрезки подписей */
body[data-service="plastikovye-okna-dveri"] .fz-info img { object-fit: contain; border: none; }
body[data-service="plastikovye-okna-dveri"] .fz-row .fz-info { max-width: 480px; }
body[data-service="plastikovye-okna-dveri"] .fz-final .fz-media.fz-full { display: flex; justify-content: center; }
body[data-service="plastikovye-okna-dveri"] .fz-final .fz-media.fz-full img { max-width: 946px; }
/* Индивидуальные проекты: текстовый блок на всю ширину + крупный финал */
.fz-textblock p { font-size: 16px; line-height: 1.78; color: #4a4e55; margin: 0; }
body[data-service="individualnye-proekty"] .fz-final .fz-media.fz-full { display: flex; justify-content: center; }
body[data-service="individualnye-proekty"] .fz-final .fz-media.fz-full img { max-width: 1000px; }
/* Офисные и интерьерные перегородки: текстовый блок на всю ширину + самый крупный финал на странице */
body[data-service="peregorodki"] .fz-final .fz-media.fz-full { display: flex; justify-content: center; }
body[data-service="peregorodki"] .fz-final .fz-media.fz-full img { max-width: 1100px; }
.fz-wrap > .fz-row:first-child { align-items: start; }
.fz-row.fz-b1 { grid-template-columns: 1.05fr .95fr; align-items: start; }
.fz-b1-left, .fz-b1-right { display: flex; flex-direction: column; gap: 30px; }
.fz-row.fz-b1 { grid-template-columns: .92fr 1.08fr; }
.fz-b1-left { gap: 46px; }
.fz-b1-photo img { min-height: 340px; max-width: 440px; }
.fz-b1-schema { align-self: start; }
.fz-b1-schema img { max-width: 360px; }
@media (max-width: 860px) {
  .fz-wrap { gap: 40px; }
  .fz-row, .fz-row.fz-img-left, .fz-row:not(.fz-img-left),
  .fz-row.fz-b1,
  .fz-wrap > .fz-row:nth-of-type(3) { grid-template-columns: 1fr; gap: 20px; }
  /* На мобильных: сначала текст, затем картинка (без переворота) */
  .fz-row .fz-text { order: 0; }
  .fz-row .fz-media { order: 1; }
  .fz-row .fz-sm, .fz-row .fz-lg { max-width: 100%; width: 100%; }
  .fz-row .fz-sm img, .fz-row .fz-lg img { width: 100%; }
  .fz-text p, .fz-final > p, .svc-block p, .svc-block li { font-size: 15px; }
  /* Завершающая крупная картинка — во всю ширину */
  .fz-final .fz-media.fz-full { width: 100%; }
  .fz-final .fz-media.fz-full img { width: 100%; max-width: 100% !important; height: 260px; object-fit: cover; border-radius: 2px; }
  .svc-page { padding: 118px 0 56px; }
  .svc-cta { padding: 32px 20px; }
}
@media (max-width: 480px) {
  .svc-page-title { font-size: 22px; }
  .breadcrumbs { font-size: 12px; }
  .fz-final .fz-media.fz-full img { height: 220px; }
}

/* Страницы услуг: тёмная шапка всегда (нет тёмного hero под ней) */
body[data-service] .site-header { background: #16181d; box-shadow: 0 2px 22px rgba(0,0,0,.28); }
body[data-service] .site-header .header-top { border-bottom-color: rgba(255,255,255,.18); }
body[data-service] .nav-row2 { border-bottom-color: rgba(255,255,255,.18); }

/* Подзаголовки «Виды и типы» / «Преимущества» + пункты с жирным лид-ином */
.svc-subhead { font-size: 15px; font-weight: 700; letter-spacing: .3px; color: #16181d; margin-bottom: 10px; }
.svc-block ul.svc-items { list-style: none; margin: 0 0 4px; padding: 0; }
.svc-block ul.svc-items li { position: relative; padding-left: 18px; margin-bottom: 11px; font-size: 14.5px; line-height: 1.6; color: #4a4e55; }
.svc-block ul.svc-items li::before { content: ''; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: #2f6fb0; }
.svc-block ul.svc-items li strong { color: #16181d; font-weight: 700; }
