/*
Theme Name: Universal Template 1
Author: Alex Viu
Author URI: alex_viu@mail.ru
Description: Universal Template 1
Version: 1.0
*/

         * {
         margin: 0;
         padding: 0;
         box-sizing: border-box;
         }
         body {
         font-family: system-ui, 'Segoe UI', 'Roboto', 'Helvetica Neue', sans-serif;
         background-color: #ffffff;
         color: #153767;
         scroll-behavior: smooth;
         overflow-x: hidden;
         }.container.header-inner {
         padding: 5px 0px !important;
         }
         /* Цветовая схема */
         :root {
         --primary: #153767;
         --white: #fff;
         --beige-light: #e8ebee;
         --beige-accent: #dce1e6;
         --text-dark: #153767;
         --text-secondary: #3a5a78;
         --shadow-sm: 0 8px 20px rgba(0,0,0,0.05);
         --shadow-md: 0 12px 28px rgba(0,0,0,0.08);
         }
         .container {
         max-width: 1280px;
         margin: 0 auto;
         padding: 0 24px;
         }
         /* ========== ШАПКА С БУРГЕР-МЕНЮ ========== */
         .header {
         background: var(--white);
         box-shadow: 0 2px 12px rgba(0,0,0,0.03);
         position: sticky;
         top: 0;
         z-index: 1000;
         border-bottom: 1px solid var(--beige-light);
         }
         .header-inner {
         display: flex;
         align-items: center;
         justify-content: space-between;
         padding: 16px 0;
         }
         .logo {
         font-size: 1.6rem;
         font-weight: 700;
         color: var(--primary);
         letter-spacing: -0.3px;
         }
         .logo span {
         font-weight: 400;
         color: #5a7a97;
         }
         /* Десктопное меню */
         .nav-menu {
         display: flex;
         gap: 28px;
         align-items: center;
         }
         .nav-menu a {
         text-decoration: none;
         color: var(--primary);
         font-weight: 500;
         transition: 0.2s;
         white-space: nowrap;
         }
         .nav-menu a:hover {
         color: #1e5a7d;
         text-decoration: underline;
         }
         .btn-consult {
         background: var(--primary);
         color: white !important;
         padding: 10px 20px;
         border-radius: 40px;
         font-weight: 600;
         transition: 0.2s;
         border: none;
         cursor: pointer;
         font-size: 0.9rem;
         white-space: nowrap;
         }
         .btn-consult:hover {
         background: #1a4a6e;
         transform: translateY(-1px);
         }
         /* Бургер-иконка (скрыта на десктопе) */
         .burger-icon {
         display: none;
         font-size: 28px;
         cursor: pointer;
         color: var(--primary);
         background: none;
         border: none;
         width: 44px;
         height: 44px;
         border-radius: 12px;
         transition: 0.2s;
         }
         .burger-icon:hover {
         background: var(--beige-light);
         }
         /* Мобильное меню (overlay) */
         .mobile-menu {
         position: fixed;
         top: 0;
         right: -100%;
         width: 80%;
         max-width: 320px;
         height: 100vh;
         background: var(--white);
         box-shadow: -5px 0 25px rgba(0,0,0,0.1);
         z-index: 2000;
         transition: right 0.3s ease-in-out;
         padding: 80px 28px 40px;
         display: flex;
         flex-direction: column;
         gap: 24px;
         overflow-y: auto;
         }
         .mobile-menu.active {
         right: 0;
         }
         .mobile-menu a {
         font-size: 1.2rem;
         font-weight: 500;
         color: var(--primary);
         text-decoration: none;
         padding: 12px 0;
         border-bottom: 1px solid var(--beige-light);
         }
         .mobile-menu .btn-consult-mobile {
         background: var(--primary);
         color: white;
         text-align: center;
         padding: 14px;
         border-radius: 40px;
         margin-top: 20px;
         border: none;
         font-weight: 600;
         cursor: pointer;
         }
         .close-menu {
         position: absolute;
         top: 20px;
         right: 24px;
         font-size: 32px;
         cursor: pointer;
         color: var(--primary);
         }
         .overlay {
         position: fixed;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         background: rgba(0,0,0,0.5);
         z-index: 1500;
         display: none;
         }
         .overlay.active {
         display: block;
         }
         /* Кнопка наверх */
         .go-top {
         position: fixed;
         bottom: 30px;
         right: 30px;
         background: var(--primary);
         color: white;
         width: 48px;
         height: 48px;
         border-radius: 50%;
         display: flex;
         align-items: center;
         justify-content: center;
         cursor: pointer;
         z-index: 99;
         box-shadow: var(--shadow-md);
         transition: 0.2s;
         opacity: 0;
         visibility: hidden;
         }
         .go-top.show {
         opacity: 1;
         visibility: visible;
         }
         /* Общие секции */
         section {
         padding: 60px 0;
         border-bottom: 1px solid var(--beige-light);
         }
         .section-title {
         font-size: 2rem;
         font-weight: 700;
         margin-bottom: 32px;
         color: var(--primary);
         position: relative;
         }
         /* Hero */
         .hero {
         background: linear-gradient(135deg, #f9fbfd 0%, var(--beige-light) 100%);
         padding: 50px 0 60px;
         }
         .hero h1 {
         font-size: 2.8rem;
         font-weight: 800;
         color: var(--primary);
         line-height: 1.2;
         margin-bottom: 20px;
         }
         .hero p {
         font-size: 1.1rem;
         color: #2c4d6e;
         max-width: 700px;
         margin-bottom: 28px;
         }
         .hero-buttons {
         display: flex;
         flex-wrap: wrap;
         gap: 16px;
         margin-bottom: 20px;
         }
         .btn-primary {
         background: var(--primary);
         color: white;
         padding: 12px 28px;
         border-radius: 40px;
         font-weight: 600;
         text-decoration: none;
         transition: 0.2s;
         display: inline-block;
         border: none;
         cursor: pointer;
         text-align: center;
         }
         .btn-outline {
         background: transparent;
         border: 2px solid var(--primary);
         color: var(--primary);
         padding: 12px 28px;
         border-radius: 40px;
         font-weight: 600;
         text-decoration: none;
         transition: 0.2s;
         display: inline-block;
         text-align: center;
         }
         .short-tags {
         display: flex;
         flex-wrap: wrap;
         gap: 12px;
         margin-top: 20px;
         color: #4b6f8c;
         font-size: 0.85rem;
         font-weight: 500;
         background: rgba(255,255,255,0.6);
         padding: 12px;
         border-radius: 20px;
         }
         /* 3 тезиса */
         .features-grid {
         display: flex;
         gap: 24px;
         margin-top: 30px;
         flex-wrap: wrap;
         }
         .feature-card {
         background: var(--white);
         padding: 24px;
         border-radius: 20px;
         box-shadow: var(--shadow-sm);
         flex: 1;
         min-width: 200px;
         border: 1px solid var(--beige-light);
         }
         /* команда — 4 юриста */
         .team-grid {
         display: grid;
         grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
         gap: 15px;
         margin-top: 20px;
         }.team-role {
         min-height: 50px;
         }.team-specs {
         min-height: 98px;
         }.team-role {
         min-height: 50px;
         color: #A38E7B !important;
         }.direction-card p {
         color: #A38E7B;
         }.btn-primary:hover {
         background: #A38E7B !important;
         }#callbackForm p {
         color: #A38E7B !important;
         }#consultBtnHeader:hover {
         background: #A38E7B !important;
         }.nav-menu a:hover {
         color: #A38E7B !important;
         text-decoration: none !important;
         }.hero-buttons .btn-primary {
         line-height: 24px !important;
         }.hero-buttons .btn-outline:hover {
         background: #A38E7B;
         color: white !important;
         border-color: #A38E7B !important;
         }.direction-card p {
         color: #A38E7B;
         height: 30px;
         }#callbackForm button:hover {
         background: #A38E7B;
         }#callbackForm button{
         transition:0.5s;
         }
         .team-card {
         background: white;
         border-radius: 28px;
         overflow: hidden;
         box-shadow: var(--shadow-sm);
         transition: 0.2s;
         border: 1px solid var(--beige-light);
         cursor: pointer;
         }
         .team-card:hover {
         transform: translateY(-5px);
         box-shadow: var(--shadow-md);
         }
         .team-img {
         width: 100%;
         aspect-ratio: 2 / 3;
         overflow: hidden;
         background: var(--beige-light);
         }
         .team-img img {
         width: 100%;
         height: 100%;
         object-fit: cover;
         transition: 0.3s;
         }
         .team-card:hover .team-img img {
         transform: scale(1.02);
         }
         .team-info {
         padding: 20px;
         }
         .team-name {
         font-size: 1.3rem;
         font-weight: 700;
         }
         .team-role {
         color: #A38E7B;
         margin: 6px 0 10px;
         font-size: 0.85rem;
         font-weight: 500;
         }
         .team-specs {
         font-size: 0.85rem;
         margin: 12px 0;
         color: var(--text-secondary);
         list-style: none;
         padding-left: 0;
         }
         .team-specs li {
         margin-bottom: 5px;
         }
         .btn-detail {
         background: none;
         border: 1px solid var(--primary);
         color: var(--primary);
         padding: 8px 18px;
         border-radius: 40px;
         cursor: pointer;
         font-weight: 600;
         margin-top: 10px;
         transition: 0.2s;
         font-size: 0.9rem;
         }
         .btn-detail:hover {
         background: var(--primary);
         color: white;
         }
         /* Стили для шагов с цифрами */
         .steps {
         display: flex;
         flex-wrap: wrap;
         gap: 24px;
         justify-content: space-between;
         margin-top: 20px;
         }
         .step-item {
         flex: 1;
         background: var(--beige-light);
         padding: 28px 20px;
         border-radius: 32px;
         text-align: center;
         font-weight: 600;
         font-size: 1.1rem;
         color: var(--primary);
         transition: 0.2s;
         box-shadow: var(--shadow-sm);
         position: relative;
         display: flex;
         flex-direction: column;
         align-items: center;
         gap: 12px;
         }
         .step-number {
         width: 48px;
         height: 48px;
         background: var(--primary);
         color: white;
         border-radius: 60px;
         display: flex;
         align-items: center;
         justify-content: center;
         font-size: 1.6rem;
         font-weight: 800;
         margin-bottom: 8px;
         box-shadow: 0 4px 8px rgba(0,0,0,0.1);
         }
         .step-text {
         font-weight: 500;
         line-height: 1.3;
         }
         /* карточки направлений */
         .directions-row {
         display: flex;
         flex-wrap: wrap;
         gap: 30px;
         margin-top: 20px;
         }
         .direction-card {
         flex: 1;
         background: white;
         border-radius: 28px;
         padding: 28px;
         box-shadow: var(--shadow-sm);
         border: 1px solid var(--beige-light);
         }
         .direction-card h3 {
         font-size: 1.6rem;
         margin-bottom: 16px;
         }
         .direction-card ul {
         list-style: none;
         margin: 20px 0;
         }
         .direction-card li {
         margin: 10px 0;
         display: flex;
         align-items: center;
         gap: 10px;
         flex-wrap: wrap;
         }
         /* форма */
         .form-block {
         background: var(--beige-light);
         padding: 32px 24px;
         border-radius: 32px;
         max-width: 700px;
         margin: 0 auto;
         }
         .form-group {
         margin-bottom: 18px;
         }
         input, textarea {
         width: 100%;
         padding: 14px 18px;
         border-radius: 32px;
         border: 1px solid #cddae3;
         font-size: 1rem;
         font-family: inherit;
         }
         button[type="submit"] {
         background: var(--primary);
         color: white;
         border: none;
         padding: 12px 28px;
         border-radius: 40px;
         font-weight: 600;
         cursor: pointer;
         width: 100%;
         font-size: 1rem;
         }
         /* контакты */
         .contacts-grid {
         display: flex;
         flex-wrap: wrap;
         gap: 32px;
         margin-bottom: 20px;
         }
         .contact-info {
         flex: 1;
         }
         .contact-info p {
         margin: 14px 0;
         display: flex;
         align-items: center;
         gap: 12px;
         flex-wrap: wrap;
         }
         .map-placeholder {
         flex: 1;
         background: #cddae3;
         border-radius: 24px;
         height: 350px;
         display: flex;
         align-items: center;
         justify-content: center;
         color: #153767;
         font-weight: 500;
         }
         footer {
         background: #153767;
         color: #e8ebee;
         padding: 36px 0 28px;
         }
         .footer-links {
         display: flex;
         flex-wrap: wrap;
         gap: 20px;
         justify-content: center;
         margin-bottom: 20px;
         }
         .footer-links a {
         color: #e8ebee;
         text-decoration: none;
         font-size: 0.85rem;
         }
         /* модальное окно */
         .modal {
         display: none;
         position: fixed;
         top: 0; left: 0;
         width: 100%; height: 100%;
         background: rgba(0,0,0,0.8);
         align-items: center;
         justify-content: center;
         z-index: 2100;
         }
         .modal-content {
         background: white;
         max-width: 700px;
         width: 90%;
         max-height: 85vh;
         border-radius: 32px;
         padding: 28px 32px;
         position: relative;
         overflow-y: auto;
         scrollbar-width: thin;
         }
         .close-modal {
         position: sticky;
         top: 0;
         right: 0;
         float: right;
         font-size: 32px;
         cursor: pointer;
         background: white;
         border-radius: 50%; 
         width: 40px;
         text-align: center;
         margin-bottom: 12px;
         }
         .modal-body-content h3 {
         font-size: 1.8rem;
         margin-bottom: 8px;
         color: var(--primary);
         }
         .modal-body-content p {
         margin-bottom: 12px;
         line-height: 1.5;
         }
         .chat-fixed {
         position: fixed;
         bottom: 30px;
         left: 30px;
         background: #153767;
         color: white;
         width: 54px;
         height: 54px;
         border-radius: 50%;
         display: flex;
         align-items: center;
         justify-content: center;
         cursor: pointer;
         box-shadow: 0 4px 12px rgba(0,0,0,0.2);
         z-index: 99;
         }.custom-logo {
         height: 80px !important;
         }
         @media (max-width: 768px) {
         .custom-logo {
         height: 50px !important;
         margin-left: -30px;
         margin-top: 10px;
         }
         .nav-menu { display: none; }
         .burger-icon { display: flex; align-items: center; justify-content: center; }
         .hero h1 { font-size: 1.9rem; }
         .section-title { font-size: 1.6rem; }
         .team-grid { grid-template-columns: 1fr; }
         .directions-row { flex-direction: column; }
         .steps { flex-direction: column; }
         .step-item { width: 100%; }
         .contacts-grid { flex-direction: column; }
         .modal-content { padding: 20px; }
         .blog-content {
         width: 100% !important;
         }
         }
         @media (max-width: 480px) {
         .container { padding: 0 16px; }
         .hero h1 { font-size: 1.6rem; }
         .step-number { width: 40px; height: 40px; font-size: 1.3rem; }
         }.hero {
         background: linear-gradient(135deg, #f9fbfd 0%, var(--beige-light) 100%);
         padding: 50px 0 60px;
         background-image: url(/imgs/main.png);
         }.custom-logo {
         filter: brightness(0) saturate(100%) invert(14%) sepia(23%) saturate(1500%) hue-rotate(170deg) brightness(90%) contrast(95%);
         height: 60px;
         }.logo {
         position: relative;
         left: 25px;
         }.short-tags b {
         font-weight: bold;
         }.section-title {
         text-align: center;
         }.section-sub {
         text-align: center;
         margin-bottom: 40px;
         }iframe {
         height: 100%;
         }.footer-links {
         display: none;
         }

         /* header */
         /* DESKTOP DROPDOWN */
         .dropdown-services{
         position: relative;
         }
         .services-title{
         cursor: pointer;
         padding: 10px 0;
         display: block;
         }
         .dropdown-menu{
         position: absolute;
         top: 100%;
         left: 0;
         width: 340px;
         background: #fff;
         box-shadow: 0 10px 30px rgba(0,0,0,0.12);
         border-radius: 10px;
         padding: 10px 0;
         display: none;
         z-index: 999;
         }
         .dropdown-menu a{
         display: block;
         padding: 12px 18px;
         color: #222;
         text-decoration: none;
         font-size: 15px;
         transition: 0.2s;
         }
         .dropdown-menu a:hover{
         background: #f4f4f4;
         color: #000;
         }
         .dropdown-services:hover .dropdown-menu{
         display: block;
         }
         /* MOBILE */
         .mobile-dropdown{
         width: 100%;
         }
         .mobile-services-btn{
         padding: 16px 0;
         font-size: 18px;
         font-weight: 600;
         cursor: pointer;
         border-bottom: 1px solid #eee;
         }
         .mobile-submenu{
         display: none;
         padding-left: 15px;
         }
         .mobile-submenu a{
         display: block;
         padding: 12px 0;
         font-size: 15px;
         color: #333;
         text-decoration: none;
         border-bottom: 1px solid #f3f3f3;
         }.services-title {
         cursor: pointer;
         padding: 10px 0;
         display: block;
         font-weight: 500;
         }
         .blog-section {
         background: #e8ebee;
         padding: 60px 20px;
         }
         .blog-container {
         max-width: 1200px;
         margin: 0 auto;
         display: grid;
         grid-template-columns: repeat(3, 1fr);
         gap: 20px;
         }
         .blog-card {
         background: #fff;
         border-radius: 12px;
         overflow: hidden;
         transition: 0.3s;
         cursor: pointer;
         display: flex;
         flex-direction: column;
         }
         .blog-card:hover {
         transform: translateY(-5px);
         }
         .blog-image {
         width: 100%;
         height: 200px;
         overflow: hidden;
         }
         .blog-image img {
         width: 100%;
         height: 100%;
         object-fit: cover;
         }
         .blog-content {
         padding: 20px;
         display: flex;
         flex-direction: column;
         gap: 15px;
         }
         .blog-card h3 {
         margin: 0;
         font-size: 18px;
         color: #153767;
         }
         .blog-btn {
         display: inline-block;
         padding: 10px 16px;
         background: #153767;
         color: #fff;
         text-decoration: none;
         border-radius: 8px;
         font-size: 14px;
         transition: 0.3s;
         width: fit-content;
         }
         .blog-btn:hover {
         background: #09283f;
         }
         #modalBody {
         display: flex;
         }
         .modal-content {
         background: white;
         max-width: 900px;
         width: 90%;
         max-height: 85vh;
         border-radius: 32px;
         padding: 28px 32px;
         position: relative;
         overflow-y: auto;
         scrollbar-width: thin;
         border-radius: 20px !important;
         }
         /* 📱 Планшет */
         @media (max-width: 992px) {
         .blog-container {
         grid-template-columns: repeat(2, 1fr);
         }
         }
         /* 📱 Мобилка */
         @media (max-width: 600px) {
         .blog-section {
         padding: 40px 15px;
         }
         .blog-container {
         grid-template-columns: 1fr;
         gap: 15px;
         }
         .blog-card {
         flex-direction: row;
         align-items: center;
         height: 110px;
         }
         .blog-image {
         width: 120px;
         height: 100%;
         flex-shrink: 0;
         }
         .blog-content {
         padding: 10px 15px;
         gap: 8px;
         }
         .blog-card h3 {
         font-size: 15px;
         }
         .blog-btn {
         padding: 6px 10px;
         font-size: 12px;
         }
         }
         #modalBody img {
         padding-right: 20px;
         height: 400px;
         width: 300px;
         }
         .blog-btn {
         width: 100% !important;
         text-align: center;
         }.blog-card h3 {
         margin: 0;
         font-size: 18px;
         color: #153767;
         text-align: center;
         }
         .flexaddress {display:flex;}
         .contact-info p {
         flex-wrap: unset !important;
         }
         /* Стили для сообщений формы */
         .form-message {
         margin-top: 10px;
         padding: 10px;
         border-radius: 4px;
         display: none;
         }
         .form-message.error {
         color: #d32f2f;
         background: #ffebee;
         border: 1px solid #ffcdd2;
         }#callbackForm .form-group label a {
         color: unset !important;
         text-decoration: unset !important;
         transition: color 0.3s ease;
         text-transform: lowercase !important;
         }
         .form-message.success {
         color: #2e7d32;
         background: #e8f5e9;
         border: 1px solid #c8e6c9;
         }
         /* Стили для чекбокса */
         #callbackForm .form-group label {
         display: flex;
         align-items: flex-start;
         gap: 8px;
         cursor: pointer;
         font-size: 14px;
         line-height: 1.4;
         }
         #callbackForm .form-group label input[type="checkbox"] {
         flex-shrink: 0;
         margin-top: 2px;
         width: 16px;
         height: 16px;
         cursor: pointer;
         }
         #callbackForm .form-group label span {
         cursor: pointer;
         }
         #callbackForm .form-group label a {
         color: #1976d2;
         text-decoration: underline;
         transition: color 0.3s ease;
         }
         #callbackForm .form-group label a:hover {
         color: #0d47a1;
         }
         /* Стили для заблокированной кнопки */
         #callbackForm button[type="submit"]:disabled {
         opacity: 0.6;
         cursor: not-allowed;
         }.contact-info a {
         color: #153767;
         text-decoration: unset !important;
         display: block;
         margin-top: 10px;
         }.newhref {
         width: 30px !important;
         text-decoration: unset !important;
         display: block;
         margin-top: 10px;
         }.newhref2 {
         width: 30px !important;
         text-decoration: unset !important;
         display: block;
         margin-top: 10px;
         }.newhref2 {
         position: relative;
         left: 40px;
         top: -47px;
         }.newhref2 img {
         height: 38px;
         width: 38px;
         position: relative;
         }
         /* главный контейнер — лента с затемнением по краям (эффект фейдера) */
         .marquee-wrapper {
         max-width: 1280px;
         width: 100%;
         margin: 0 auto;
         position: relative;
         border-radius: 2rem;
         background: rgba(255,255,255,0.5);
         box-shadow: 0 20px 35px -12px rgba(0,0,0,0.1);
         backdrop-filter: blur(2px);
         }
         /* маскируем края для плавного затухания (эффект «бесконечная лента» выглядит изящно) */
         .marquee-container {
         overflow: hidden;
         position: relative;
         padding: 1.8rem 0;
         border-radius: 2rem;
         mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
         -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
         }
         /* сама бегущая строка — flex-лента */
         .marquee-track {
         display: flex;
         align-items: center;
         gap: 2.8rem;
         width: max-content;
         will-change: transform;
         animation: scrollLeft 28s linear infinite;
         }
         /* каждый элемент — стилизованная карточка под логотип/бренд */
         .marquee-item {
         flex: 0 0 auto;
         width: 200px;
         background: white;
         border-radius: 1.75rem;
         padding: 0.85rem 1rem;
         display: flex;
         align-items: center;
         justify-content: center;
         box-shadow: 0 8px 20px rgba(0,0,0,0.03), 0 2px 4px rgba(0,0,0,0.02);
         transition: all 0.2s ease;
         border: 1px solid rgba(226, 232, 240, 0.7);
         backdrop-filter: blur(2px);
         }
         /* изображения внутри — адаптив, сохраняем пропорции */
         .marquee-item img {
         max-width: 100%;
         max-height: 85px;
         width: auto;
         height: auto;
         display: block;
         object-fit: contain;
         filter: brightness(0.98) contrast(1.02);
         transition: filter 0.2s, transform 0.2s;
         }
         /* лёгкий ховер — не ломает анимацию, но придаёт интерактив */
         .marquee-item:hover {
         transform: scale(1.02);
         box-shadow: 0 12px 24px rgba(0,0,0,0.08);
         border-color: #cbd5e1;
         background: #ffffff;
         }
         .marquee-item:hover img {
         filter: brightness(1) contrast(1.05);
         }
         /* ключевые кадры — бесконечное плавное движение */
         @keyframes scrollLeft {
         0% {
         transform: translateX(0);
         }
         100% {
         transform: translateX(-50%);
         }
         }
         /* для очень маленьких экранов уменьшаем отступы и ширину элементов */
         @media (max-width: 680px) {
         .marquee-item {
         width: 160px;
         padding: 0.6rem 0.8rem;
         }
         .marquee-track {
         gap: 1.5rem;
         }
         .marquee-container {
         padding: 1rem 0;
         }
         body {
         padding: 1rem;
         }
         }
         @media (max-width: 480px) {
         .marquee-item {
         width: 140px;
         }
         .marquee-track {
         gap: 1rem;
         }
         }
         /* декоративный заголовок (опционально) */
         .brand-header {
         text-align: center;
         margin-bottom: 1.5rem;
         }
         .brand-header h2 {
         font-weight: 600;
         font-size: 1.7rem;
         letter-spacing: -0.3px;
         background: linear-gradient(135deg, #1e293b, #2d3a4e);
         background-clip: text;
         -webkit-background-clip: text;
         color: transparent;
         }
         .brand-header p {
         color: #475569;
         margin-top: 0.4rem;
         font-size: 0.95rem;
         }
         /* дополнительный стиль — чтобы лента действительно была бесконечной и чистой */
         .no-duplicate-glitch {
         /* обеспечивает чистоту дублирования */
         }
         .marquee-item img {
         max-width: 100%;
         max-height: 145px;
         width: auto;
         height: auto;
         display: block;
         object-fit: contain;
         filter: brightness(0.98) contrast(1.02);
         transition: filter 0.2s, transform 0.2s;
         }.marquee-item {
         flex: 0 0 auto;
         width: 240px;
         background: white;
         border-radius: 1.75rem;
         padding: 0.35rem 1rem;
         display: flex;
         align-items: center;
         justify-content: center;
         box-shadow: 0 8px 20px rgba(0,0,0,0.03), 0 2px 4px rgba(0,0,0,0.02);
         transition: all 0.2s ease;
         border: 1px solid rgba(226, 232, 240, 0.7);
         backdrop-filter: blur(2px);
         }.marquee-track {
         display: flex;
         align-items: center;
         gap: 1rem;
         width: max-content;
         will-change: transform;
         animation: scrollLeft 28s linear infinite; 
         }.centerclientnew {text-align:center;
         margin-top:50px !important; margin-bottom:20px;}
         .thanks-letters-carousel {
         max-width: 1200px;
         margin: 0 auto;
         padding: 20px;
         font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
         }
         .carousel-title {
         text-align: center;
         font-size: 28px;
         margin-bottom: 30px;
         color: #333;
         }
         .carousel-container {
         display: flex;
         align-items: center;
         gap: 10px;
         position: relative;
         }
         .carousel-scroll-container {
         overflow-x: auto;
         scroll-behavior: smooth;
         scrollbar-width: thin;
         flex: 1;
         border-radius: 12px;
         }
         .carousel-scroll-container::-webkit-scrollbar {
         height: 8px;
         }
         .carousel-scroll-container::-webkit-scrollbar-track {
         background: #f1f1f1;
         border-radius: 10px;
         }
         .carousel-scroll-container::-webkit-scrollbar-thumb {
         background: #888;
         border-radius: 10px;
         }
         .carousel-track {
         display: flex;
         gap: 20px;
         padding: 10px 5px;
         }
         .carousel-slide {
         flex: 0 0 calc(25% - 15px);
         min-width: 200px;
         background: #f5f5f5;
         border-radius: 12px;
         overflow: hidden;
         box-shadow: 0 4px 12px rgba(0,0,0,0.1);
         transition: transform 0.2s;
         }
         .carousel-slide:hover {
         transform: scale(1.02);
         }
         .carousel-slide a {
         display: block;
         text-decoration: none;
         }
         .carousel-slide img {
         width: 100%;
         height: auto;
         display: block;
         object-fit: cover;
         aspect-ratio: 3 / 4;
         cursor: pointer;
         }
         .carousel-btn {
         background: #333;
         color: white;
         border: none;
         font-size: 24px;
         font-weight: bold;
         width: 40px;
         height: 40px;
         border-radius: 50%;
         cursor: pointer;
         display: flex;
         align-items: center;
         justify-content: center;
         transition: background 0.2s;
         flex-shrink: 0;
         }
         .carousel-btn:hover {
         background: #555;
         }
         .carousel-btn:disabled {
         opacity: 0.3;
         cursor: not-allowed;
         }
         .carousel-dots {
         display: flex;
         justify-content: center;
         gap: 12px;
         margin-top: 24px;
         }
         .dot {
         width: 10px;
         height: 10px;
         background: #bbb;
         border-radius: 50%;
         cursor: pointer;
         transition: all 0.2s;
         }
         .dot.active {
         background: #333;
         width: 24px;
         border-radius: 5px;
         }
         @media (max-width: 900px) {
         .carousel-slide {
         flex: 0 0 calc(50% - 10px);
         }
         .carousel-track {
         gap: 15px;
         }
         }
         @media (max-width: 600px) {
         .carousel-slide {
         flex: 0 0 100%;
         }
         }.carousel-scroll-container {
         overflow-x: auto;
         scroll-behavior: smooth;
         scrollbar-width: none !important;
         flex: 1;
         border-radius: 12px;
         }.carousel-dots {
         display: none !important;
         }.carousel-slide img {
         width: 100%;
         height: auto;
         display: block;
         object-fit: cover;
         aspect-ratio: 3 / 4;
         cursor: pointer;
         margin: 0px !important;
         }.thanks-letters-carousel .title {
         position: relative;
         top: -40px;
         }
         /* основной контейнер — стилизация под блок «отзывы с Яндекс.Карт» */
         .yandex-reviews-container {
         max-width: 1280px;
         width: 100%;
         margin: 0 auto;
         background: #ffffff;
         border-radius: 2rem;
         box-shadow: 0 20px 35px -12px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.05);
         overflow: hidden;
         transition: all 0.2s;
         }
         /* шапка с рейтингом и ссылкой на профиль */
         .reviews-header {
         padding: 1.75rem 2rem 1.25rem 2rem;
         border-bottom: 1px solid #eef2f6;
         background: #ffffff;
         }
         .rating-summary {
         display: flex;
         align-items: baseline;
         flex-wrap: wrap;
         gap: 0.75rem 1.5rem;
         margin-bottom: 0.5rem;
         }
         .rating-number {
         font-size: 2.4rem;
         font-weight: 700;
         color: #222;
         line-height: 1;
         }
         .rating-stars {
         display: inline-flex;
         align-items: center;
         gap: 4px;
         background: #fff3e0;
         padding: 0.2rem 0.7rem;
         border-radius: 40px;
         }
         .star-filled {
         color: #ffb83b;
         font-size: 1.2rem;
         letter-spacing: 2px;
         }
         .star-half {
         color: #ffb83b;
         font-size: 1.2rem;
         position: relative;
         display: inline-block;
         }
         .rating-text {
         color: #7e8493;
         font-size: 0.9rem;
         font-weight: 450;
         margin-left: 0.2rem;
         }
         .yandex-link {
         margin-top: 0.75rem;
         }
         .yandex-link a {
         display: inline-flex;
         align-items: center;
         gap: 8px;
         background: #ffcc00;
         color: #1a1e2b;
         text-decoration: none;
         font-weight: 500;
         font-size: 0.85rem;
         padding: 0.45rem 1rem;
         border-radius: 32px;
         transition: 0.2s;
         border: none;
         font-weight: 600;
         }
         .yandex-link a:hover {
         background: #e6b800;
         transform: translateY(-1px);
         box-shadow: 0 4px 10px rgba(0,0,0,0.05);
         }
         /* сетка отзывов */
         .reviews-grid {
         padding: 1.5rem 2rem 2rem 2rem;
         display: flex;
         flex-direction: column;
         gap: 1.5rem;
         }
         /* карточка отдельного отзыва (в стиле Яндекс.Карты) */
         .review-card {
         background: #ffffff;
         border-radius: 1.5rem;
         border: 1px solid #eaedf2;
         transition: box-shadow 0.2s, transform 0.1s;
         padding: 1.25rem 1.5rem;
         }
         .review-card:hover {
         box-shadow: 0 12px 24px -12px rgba(0, 0, 0, 0.12);
         border-color: #dee2ea;
         }
         .reviewer-header {
         display: flex;
         flex-wrap: wrap;
         align-items: baseline;
         justify-content: space-between;
         margin-bottom: 0.65rem;
         }
         .reviewer-name {
         font-weight: 700;
         font-size: 1.05rem;
         color: #1e2a3e;
         display: flex;
         align-items: center;
         gap: 8px;
         flex-wrap: wrap;
         }
         .expert-badge {
         background: #eef2ff;
         color: #2c3e66;
         font-size: 0.7rem;
         font-weight: 600;
         padding: 0.2rem 0.65rem;
         border-radius: 30px;
         letter-spacing: 0.3px;
         }
         .review-date {
         font-size: 0.75rem;
         color: #8b94a6;
         }
         .rating-inline {
         display: flex;
         align-items: center;
         gap: 6px;
         margin: 0.5rem 0 0.8rem 0;
         }
         .stars-small {
         color: #f5b642;
         font-size: 0.9rem;
         letter-spacing: 2px;
         }
         .review-text {
         color: #2d3a4b;
         line-height: 1.45;
         font-size: 0.95rem;
         margin-bottom: 1rem;
         word-break: break-word;
         }
         .read-more-toggle {
         color: #0066cc;
         font-size: 0.8rem;
         font-weight: 500;
         cursor: pointer;
         display: inline-block;
         margin-top: 4px;
         background: none;
         border: none;
         padding: 0;
         }
         .company-reply {
         background: #f8fafd;
         margin-top: 1rem;
         padding: 0.85rem 1rem;
         border-radius: 1rem;
         border-left: 3px solid #ffcc00;
         font-size: 0.85rem;
         }
         .reply-label {
         font-weight: 600;
         color: #2c3e50;
         margin-bottom: 0.3rem;
         font-size: 0.75rem;
         text-transform: uppercase;
         letter-spacing: 0.3px;
         }
         .reply-text {
         color: #3a4a5f;
         line-height: 1.4;
         }
         hr {
         margin: 0.2rem 0 0.8rem;
         border: 0;
         height: 1px;
         background: #eef2f8;
         }
         /* ссылка "все отзывы на Яндекс" */
         .all-reviews-footer {
         padding: 0rem 2rem 2rem 2rem;
         text-align: right;
         border-top: 1px solid #eef2f6;
         margin-top: 0.5rem;
         padding-top: 1.5rem;
         }
         .yandex-footer-link {
         display: inline-flex;
         align-items: center;
         gap: 8px;
         background: transparent;
         border: 1px solid #dce2ec;
         padding: 0.5rem 1.2rem;
         border-radius: 60px;
         text-decoration: none;
         font-size: 0.85rem;
         font-weight: 500;
         color: #1e2f44;
         transition: 0.2s;
         }
         .yandex-footer-link:hover {
         background: #f9fafc;
         border-color: #bdc4d0;
         }
         @media (max-width: 640px) {
         body {
         padding: 1rem;
         }
         .reviews-header, .reviews-grid, .all-reviews-footer {
         padding-left: 1.2rem;
         padding-right: 1.2rem;
         }
         .review-card {
         padding: 1rem;
         }
         .rating-number {
         font-size: 2rem;
         }
         }
         .yandex-reviews-container {
         margin-top: 30px;
         }.reviews-grid {
         padding: 1.5rem 2rem 2rem 2rem;
         display: grid;
         grid-template-columns: repeat(2, 1fr);
         gap: 1.5rem;
         }.allframesu {
         display: flex;
         margin-bottom: -60px;
         margin-top: 30px;
         }.allframesu {
         display: flex;
         margin-bottom: -60px;
         margin-top: 30px;
         max-width: 1280px;
         margin: 0 auto;
         }.allframesu iframe {
         height: 100%;
         min-height: 360px;
         max-width: 16.6%;
         margin: 0 7px;
         border-radius: 20px;
         overflow: hidden;
         margin-top: 40px !important;
         }
         /* header */
         .header {
         background: #153767 !important;
         color: white !important;
         }.custom-logo {
         filter: brightness(0) invert(1) !important;
         }.nav-menu a {
         color: white !important;
         }.btn-consult {
         background: white !important;
         color: black !important;
         }.btn-consult:hover {
         background: white !important;
         color: black !important;
         }#consultBtnHeader:hover {
         background: white !important;
         }.dropdown-menu a {
         color: black !important;
         }.work-process {
         padding: 90px 20px;
         background: #ffffff;
         font-family: Arial, sans-serif;
         }
         .work-process .container {
         max-width: 1200px;
         margin: 0 auto;
         }
         .work-header {
         text-align: center;
         margin-bottom: 60px;
         }
         .work-subtitle {
         display: inline-block;
         color: #A38E7B;
         font-size: 14px;
         font-weight: 700;
         letter-spacing: 2px;
         margin-bottom: 15px;
         }
         .work-header h2 {
         color: #153767;
         font-size: 42px;
         line-height: 1.2;
         font-weight: 800;
         max-width: 850px;
         margin: 0 auto;
         }
         .work-grid {
         display: grid;
         grid-template-columns: repeat(3, 1fr);
         gap: 30px;
         }
         .work-card {
         position: relative;
         background: #fff;
         border: 1px solid rgba(21, 55, 103, 0.08);
         border-radius: 24px;
         padding: 40px 35px;
         transition: 0.3s ease;
         overflow: hidden;
         box-shadow: 0 10px 30px rgba(0,0,0,0.04);
         }
         .work-card::before {
         content: "";
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         height: 5px;
         background: #153767;
         }
         .work-card:hover {
         transform: translateY(-8px);
         box-shadow: 0 20px 40px rgba(21, 55, 103, 0.85);
         }
         .work-number {
         font-size: 52px;
         font-weight: 800;
         color: rgba(163, 142, 123, 0.88);
         margin-bottom: 20px;
         line-height: 1;
         }
         .work-card h3 {
         color: #153767;
         font-size: 22px;
         margin-bottom: 20px;
         line-height: 1.3;
         }
         .work-card p {
         color: #4d5a6b;
         font-size: 16px;
         line-height: 1.7;
         }
         @media (max-width: 992px) {
         .work-grid {
         grid-template-columns: 1fr;
         }
         .work-header h2 {
         font-size: 32px;
         }
         }
         @media (max-width: 576px) {
         .work-process {
         padding: 70px 15px;
         }
         .work-card {
         padding: 30px 25px;
         }
         .work-header h2 {
         font-size: 26px;
         }
         .work-card h3 {
         font-size: 20px;
         }
         }.hero h1 {
         padding-right: 310px;
         }.features-grid {
	max-width: 1150px;
	margin: 0 auto;
	margin-top: 30px;
}
.team-role {
	min-height: 66px !important;
}.team-specs {
	min-height: 198px !important;
}

    