/* --- БАЗОВЫЕ НАСТРОЙКИ --- */
:root {
    --c-navy: #1F2A36;      /* Основной темный фон */
    --c-navy-dark: #121A22; /* Шапка */
    --c-orange: #F08A1D;    /* Акцент (кнопки) */
    --c-orange-hover: #D87B18;
    --c-text: #333333;      /* Текст на белом */
    --c-white: #FFFFFF;
    --c-bg-light: #F4F5F7;  /* Светлый фон секций */
    
    --f-title: 'Oswald', sans-serif;
    --f-text: 'Roboto', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--f-text); color: var(--c-text); background-color: var(--c-white); line-height: 1.5; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.section { padding: 80px 0; }
.section-title { font-family: var(--f-title); font-size: 36px; text-transform: uppercase; color: var(--c-navy); margin-bottom: 40px; text-align: center; }

/* --- КНОПКИ --- */
.btn { display: inline-block; padding: 15px 30px; font-family: var(--f-title); font-size: 16px; text-transform: uppercase; text-decoration: none; font-weight: 700; cursor: pointer; transition: 0.3s; border: none; }
.btn-primary { background: var(--c-orange); color: var(--c-white); }
.btn-primary:hover { background: var(--c-orange-hover); transform: translateY(-2px); }
.btn-outline { background: transparent; border: 2px solid var(--c-orange); color: var(--c-orange); padding: 10px 20px; font-size: 14px;}
.btn-outline:hover { background: var(--c-orange); color: var(--c-white); }

/* --- ШАПКА --- */
.header { background-color: var(--c-navy-dark); position: fixed; width: 100%; top: 0; z-index: 1000; border-bottom: 3px solid var(--c-orange); }
.header__inner { display: flex; justify-content: space-between; align-items: center; height: 70px; }
/* --- ЛОГОТИП (ШАПКА И ПОДВАЛ) --- */
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none;}
.logo-img { height: 60px; width: auto; display: block;
    /* Если у картинки белый фон, раскомментируй строку ниже, чтобы инвертировать/смешать цвета (костыль, но рабочий) */
	mix-blend-mode: screen; 
}
.logo-text {font-family: 'Tektur', sans-serif; /* Тот самый квадратный техно-шрифт */ font-size: 24px; color: var(--c-white); font-weight: 700; letter-spacing: 1px; line-height: 1; }
.logo-accent { color: var(--c-orange); }
.nav a { color: var(--c-white); text-decoration: none; margin: 0 15px; font-weight: 500; font-size: 14px; text-transform: uppercase; transition: color 0.3s;}
.nav a:hover { color: var(--c-orange); }
.header-contacts { display: flex; align-items: center; gap: 20px; }
.phone { color: var(--c-white); text-decoration: none; font-size: 18px; font-weight: 700; }

/* --- ГЛАВНЫЙ ЭКРАН (HERO) --- */
.hero { position: relative; height: 100vh; min-height: 600px; display: flex; align-items: center; background: url('img/hero-bg.jpg') center/cover no-repeat; margin-top: 70px; }
.hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, rgba(18,26,34,0.95) 0%, rgba(18,26,34,0.8) 40%, rgba(18,26,34,0.3) 100%); }
.hero__inner { position: relative; z-index: 2; width: 100%; }
.hero-content { max-width: 700px; color: var(--c-white); }
.hero h1 { font-family: var(--f-title); font-size: 56px; line-height: 1.1; margin-bottom: 20px; }
.text-accent { color: var(--c-orange); }
.hero p { font-size: 20px; margin-bottom: 30px; color: #E0E0E0; }
.hero-bullets { display: flex; gap: 20px; margin-bottom: 40px; }
.hero-bullets span { font-weight: 500; font-size: 16px; border-left: 2px solid var(--c-orange); padding-left: 10px; }

/* --- ОБОРУДОВАНИЕ (КАТЕГОРИИ И СЕТКА) --- */
.equipment { background-color: var(--c-bg-light); padding: 80px 0; }

.eq-category { margin-bottom: 60px; }
.eq-category:last-child { margin-bottom: 0; }

.category-title {
    font-family: var(--f-title);
    font-size: 28px;
    color: var(--c-navy);
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 2px solid #ddd;
}

/* auto-fill не дает карточке растягиваться на весь экран, если она одна */
.equipment-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); 
    gap: 30px; 
}

.eq-card { 
    background: var(--c-white); 
    border-bottom: 4px solid var(--c-navy); 
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); 
    transition: transform 0.3s; 
    display: flex;
    flex-direction: column;
}

.eq-card:hover { 
    transform: translateY(-5px); 
    border-bottom-color: var(--c-orange); 
}

.eq-img { 
    width: 100%; 
    aspect-ratio: 16 / 10; /* Жесткая пропорция фото (как экран ТВ) */
    object-fit: cover; 
    display: block; 
}

.eq-info { padding: 25px; flex-grow: 1; }
.eq-info h4 { 
    font-family: var(--f-title); 
    font-size: 20px; 
    color: var(--c-navy); 
    margin-bottom: 15px; 
    text-transform: uppercase; 
    line-height: 1.2;
}

/* Стили для буллитов в карточке */
.eq-list { list-style: none; padding: 0; margin: 0; }
.eq-list li { 
    position: relative; 
    padding-left: 15px; 
    margin-bottom: 10px; 
    font-size: 14px; 
    color: #555; 
    line-height: 1.4;
}
.eq-list li::before {
    content: "■";
    color: var(--c-orange);
    position: absolute;
    left: 0;
    top: -1px;
    font-size: 10px;
}
.services { background-color: var(--c-white); padding: 80px 0; }

.services-wrapper { 
    display: flex; 
    gap: 50px; 
    /* МЕНЯЕМ align-items: flex-start НА stretch */
    align-items: stretch; 
}

.services-content { 
    flex: 0 0 500px; 
    background-color: var(--c-navy); 
    color: var(--c-white); 
    padding: 50px; 
    border-radius: 4px;
    /* ДОБАВЛЯЕМ display: flex, чтобы контент внутри распределился */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Центрируем текст по вертикали, если блок растянется */
}

.services-list { 
    flex: 1; 
    display: flex; 
    flex-direction: column; 
    gap: 15px; /* Уменьшили отступ между карточками (был 20) */
}

.service-card { 
    background: #F9F9F9; 
    /* УМЕНЬШАЕМ ПАДДИНГИ, чтобы сжать карточки по вертикали */
    padding: 20px 25px; 
    border-left: 4px solid var(--c-orange);
    border-radius: 2px;
}

/* Прячем иконки, если они съедают слишком много места по высоте (опционально) */
.card-icon { 
    font-size: 20px; /* Уменьшили иконку */
    margin-bottom: 5px; /* Уменьшили отступ от иконки до текста */
}

/* На мобильных всё равно будет в столбик */
@media (max-width: 900px) {
    .services-wrapper { flex-direction: column; }
    .services-content { flex: none; width: 100%; }
}

/* --- СЕКЦИЯ О КОМПАНИИ --- */
.about { background-color: var(--c-white); padding: 80px 0; border-bottom: 1px solid #eee; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }

.about-content h2 { margin-bottom: 20px; }
.about-lead { font-size: 18px; color: #444; line-height: 1.6; margin-bottom: 40px; }

.about-features { display: flex; flex-direction: column; gap: 25px; }
.about-feature { display: flex; gap: 15px; align-items: flex-start; }
.feature-icon-text { font-size: 28px; line-height: 1; }
.about-feature strong { font-family: var(--f-title); font-size: 18px; color: var(--c-navy); text-transform: uppercase; display: block; margin-bottom: 5px; }
.about-feature p { font-size: 15px; color: #666; margin: 0; }

/* Коллаж из картинок */
.about-gallery { 
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 20px; 
}
.about-gallery img { 
    width: 100%; 
    border-radius: 4px; 
    object-fit: cover; 
}
.shadow { box-shadow: 0 10px 25px rgba(0,0,0,0.1); }

/* Настраиваем размеры картинок в сетке */
.img-workers { 
    grid-column: 1 / 3; /* Занимает всю ширину (обе колонки) */
    height: 350px; 
}
.img-sign { height: 250px; }
.img-van { height: 250px; }

/* Адаптивность для мобилок */
@media (max-width: 992px) {
    .about-grid { grid-template-columns: 1fr; }
    .img-workers { height: 250px; }
    .img-sign, .img-van { height: 180px; }
}
/* --- СЕКЦИЯ КОНТАКТОВ И ФОРМЫ (CTA) --- */
.cta-section { background-color: var(--c-navy); padding: 100px 0; color: var(--c-white); }
.cta-grid { display: grid; grid-template-columns: 1fr 450px; gap: 80px; align-items: center; }

.cta-desc { font-size: 18px; line-height: 1.6; opacity: 0.8; margin-bottom: 40px; }

.contact-details { display: flex; flex-direction: column; gap: 20px; }
.contact-item { display: flex; align-items: center; gap: 15px; font-size: 16px; }
.c-icon { font-size: 24px; }
.contact-item strong { display: block; font-family: var(--f-title); letter-spacing: 1px; color: var(--c-orange); font-size: 14px; text-transform: uppercase;}
.contact-item a { color: var(--c-white); text-decoration: none; transition: 0.3s; }
.contact-item a:hover { color: var(--c-orange); }

/* Оформление формы */
.cta-form-wrapper { background: var(--c-white); padding: 40px; border-radius: 4px; color: var(--c-text); box-shadow: 0 15px 40px rgba(0,0,0,0.2); }
.form-title { font-family: var(--f-title); font-size: 24px; color: var(--c-navy); margin-bottom: 20px; text-transform: uppercase; text-align: center; }

.form-input { width: 100%; padding: 15px; margin-bottom: 15px; border: 1px solid #ddd; border-radius: 2px; font-family: var(--f-text); font-size: 15px; background: #F9F9F9; }
.form-input:focus { outline: none; border-color: var(--c-orange); background: var(--c-white); }

/* Кастомная кнопка загрузки файла */
.file-input { display: none; /* Прячем страшную стандартную кнопку браузера */ }
.file-label { display: block; width: 100%; padding: 15px; border: 2px dashed #ddd; text-align: center; cursor: pointer; margin-bottom: 20px; color: #555; font-weight: 500; transition: 0.3s; border-radius: 2px; }
.file-label:hover { border-color: var(--c-orange); color: var(--c-orange); background: rgba(240, 138, 29, 0.05); }

.form-policy { font-size: 11px; color: #999; text-align: center; margin-top: 15px; }

/* --- ПОДВАЛ (FOOTER) --- */
.footer { background-color: var(--c-navy-dark); padding: 30px 0; color: #888; border-top: 1px solid rgba(255,255,255,0.1); }
.footer-inner { display: flex; justify-content: space-between; align-items: center; }
.footer-req { text-align: right; font-size: 12px; line-height: 1.6; }

/* Адаптивность */
@media (max-width: 900px) {
    .cta-grid { grid-template-columns: 1fr; gap: 50px; }
    .footer-inner { flex-direction: column; gap: 20px; text-align: center; }
    .footer-req { text-align: center; }
}