/* Стили для фотогалереи */
    .services-gallery {
      margin: 40px 0;
      padding: 0 20px;
    }
    
    .gallery-title {
      text-align: center;
      font-size: 28px;
      color: #333;
      margin-bottom: 30px;
      font-weight: 600;
    }
    
    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 25px;
      max-width: 1200px;
      margin: 0 auto;
    }
    
    .gallery-item {
      position: relative;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
      transition: all 0.3s ease;
      height: 250px;
    }
    
    .gallery-item:hover {
      transform: translateY(-5px);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    }
    
    .gallery-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s ease;
    }
    
    .gallery-item:hover img {
      transform: scale(1.05);
    }
    
    .gallery-caption {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
      color: white;
      padding: 20px 15px 15px;
      transform: translateY(10px);
      opacity: 0;
      transition: all 0.3s ease;
    }
    
    .gallery-item:hover .gallery-caption {
      transform: translateY(0);
      opacity: 1;
    }
    
    .gallery-caption h3 {
      margin: 0 0 5px 0;
      font-size: 18px;
      font-weight: 600;
    }
    
    .gallery-caption p {
      margin: 0;
      font-size: 14px;
      opacity: 0.9;
    }
    
    /* Адаптивность галереи */
    @media (max-width: 768px) {
      .gallery-grid {
        grid-template-columns: 1fr;
        gap: 20px;
      }
      
      .gallery-title {
        font-size: 24px;
      }
      
      .gallery-item {
        height: 200px;
      }
      
      .services-gallery {
        padding: 0 15px;
        margin: 30px 0;
      }
    }
    
    /* Дополнительные стили для контента */
    .service-content {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px 40px;
    }
    
    .service-section {
      margin-bottom: 40px;
      background: #f9f9f9;
      padding: 30px;
      border-radius: 12px;
      border-left: 4px solid #2c5282;
    }
    
    .service-section:last-child {
      margin-bottom: 0;
    }
    
    .service-section h2 {
      color: #2c5282;
      margin-top: 0;
      margin-bottom: 20px;
      font-size: 24px;
      font-weight: 600;
    }
    
    .service-section ul {
      padding-left: 20px;
    }
    
    .service-section li {
      margin-bottom: 10px;
      line-height: 1.6;
    }
    
    .service-section li:last-child {
      margin-bottom: 0;
    }
    
    @media (max-width: 768px) {
      .service-content {
        padding: 0 15px 30px;
      }
      
      .service-section {
        padding: 20px;
        margin-bottom: 30px;
      }
      
      .service-section h2 {
        font-size: 20px;
      }
    }

    .special-info {
      background-color: #ebf5ff;   /* светло-голубой фон */
      padding: 28px 30px;
      border-radius: 16px;
      margin-bottom: 40px;
      box-shadow: 0 8px 20px rgba(11, 79, 108, 0.08);
      font-size: 16px;
      line-height: 1.65;
      color: #1a2e40;
    }
    
    .special-info h3 {
      margin-top: 0;
      margin-bottom: 18px;
      font-size: 24px;
      font-weight: 700;
      color: #0b4f6c;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .special-info h2 {
      color: #2c5282;
      margin-top: 0;
      margin-bottom: 20px;
      font-size: 24px;
      font-weight: 600;
    }
    
    .special-info h3 i {
      color: #0b4f6c;
      font-size: 28px;
    }
    
    .special-info p {
      margin: 0 0 15px 0;
    }
    
    .special-info p:last-child {
      margin-bottom: 0;
    }
    
    /* дополнительный акцент для заголовка "Сроки выполнения" */
    .special-info .deadline-title {
      font-size: 24px;
      font-weight: 700;
      color: #0b4f6c;
      margin-bottom: 18px;
    }
    
    @media (max-width: 768px) {
      .special-info {
        padding: 22px 20px;
        margin-bottom: 30px;
      }
      .special-info h3,
      .special-info .deadline-title {
        font-size: 20px;
      }
    }

    /* --- Стили для картинки между блоками --- */
    .service-image-block {
      margin: 50px 0;
      text-align: center;
    }
    
    .image-wrapper {
      position: relative;
      display: inline-block;
      max-width: 70%;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 20px 35px rgba(44, 82, 130, 0.12);
      transition: transform 0.4s ease, box-shadow 0.4s ease;
    }
    
    .image-wrapper:hover {
      transform: translateY(-6px);
      box-shadow: 0 30px 45px rgba(44, 82, 130, 0.18);
    }
    
    .image-wrapper img {
      display: block;
      width: 100%;
      height: auto;
      max-width: 900px;
      transition: transform 0.6s ease;
    }
    
    .image-wrapper:hover img {
      transform: scale(1.02);
    }
    
    .image-caption {
      margin-top: 16px;
      font-size: 17px;
      color: #2d3748;
      font-weight: 500;
      letter-spacing: 0.02em;
      border-bottom: 2px solid #2c5282;
      display: inline-block;
      padding-bottom: 8px;
    }
    
    @media (max-width: 768px) {
      .service-image-block {
        margin: 35px 0;
      }
      .image-wrapper img {
        max-width: 100%;
      }
      .image-caption {
        font-size: 15px;
      }
    }

 /* Основные стили для страницы контактов */
    .contacts-hero {
        background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), 
        url('../images/motback.png');
        background-size: cover;
        background-position: center;
        color: white;
        padding: 40px 0 30px;
        text-align: center;
    }
    
    .contacts-hero h1 {
        font-size: clamp(24px, 4vw, 36px);
        margin: 0 0 10px;
        text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8);
        font-weight: 700;
    }
    
    .contacts-container {
        max-width: 1200px;
        margin: 30px auto;
        padding: 0 20px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
    
    .contacts-card {
        background: var(--card);
        border-radius: var(--radius);
        padding: 25px;
        box-shadow: var(--shadow);
        border: 1px solid #eef2f7;
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    
    .contacts-card h2 {
        font-size: 22px;
        margin: 0 0 20px;
        color: var(--text);
        border-bottom: 2px solid var(--primary);
        padding-bottom: 8px;
        font-weight: 600;
        flex-shrink: 0;
    }
    
    /* Общие стили для элементов информации (контакты и реквизиты) */
    .info-list {
        flex: 1;
        margin: 0;
    }
    
    .info-item {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 18px;
        padding-bottom: 18px;
        border-bottom: 1px solid #f1f5f9;
    }
    
    .info-item:last-child {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    
    .info-icon {
        width: 36px;
        height: 36px;
        background: rgba(0, 174, 239, 0.1);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--primary);
        font-size: 16px;
        flex-shrink: 0;
    }
    
    .info-details h4 {
        margin: 0 0 6px;
        font-size: 14px;
        color: var(--muted);
        font-weight: 500;
    }
    
    .info-details p {
        margin: 0;
        font-size: 16px;
        color: var(--text);
        font-weight: 600;
        line-height: 1.4;
    }
    
    .info-details a {
        color: var(--primary);
        text-decoration: none;
        font-weight: 600;
        transition: color 0.2s;
    }
    
    .info-details a:hover {
        color: #0088cc;
        text-decoration: underline;
    }
    
    /* Многострочные элементы */
    .info-details.multiline p {
        line-height: 1.5;
        font-weight: 500;
    }
    
    /* Карта */
    .map-container {
        grid-column: 1 / -1;
        margin-top: 10px;
    }
    
    .map-placeholder {
        background: #f1f5f9;
        border-radius: 12px;
        height: 400px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--muted);
        font-size: 16px;
        border: 2px dashed #cbd5e1;
        overflow: hidden;
    }
    
    .map-placeholder iframe {
        width: 100%;
        height: 100%;
        border: none;
    }
    
    /* Мобильная адаптация */
    @media (max-width: 900px) {
        .contacts-hero {
            padding: 30px 0 20px;
        }
        
        .contacts-hero h1 {
            font-size: 28px;
            margin-bottom: 5px;
        }
        
        .contacts-container {
            grid-template-columns: 1fr;
            gap: 20px;
            margin: 20px auto;
            padding: 0 15px;
        }
        
        .contacts-card {
            padding: 20px;
        }
        
        .contacts-card h2 {
            font-size: 20px;
            margin-bottom: 15px;
        }
        
        .info-item {
            margin-bottom: 15px;
            padding-bottom: 15px;
        }
        
        .info-icon {
            width: 32px;
            height: 32px;
            font-size: 14px;
        }
        
        .info-details h4 {
            font-size: 13px;
        }
        
        .info-details p {
            font-size: 15px;
        }
        
        .map-placeholder {
            height: 200px;
        }
    }

