Files
sts-avto/public/style.css
2026-05-05 13:54:28 +05:00

1344 lines
24 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
background: #ffffff;
color: #334155;
line-height: 1.6;
display: flex;
flex-direction: column;
min-height: 100vh;
}
/* Modern Animations */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(40px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeInLeft {
from {
opacity: 0;
transform: translateX(-40px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes fadeInRight {
from {
opacity: 0;
transform: translateX(40px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes scaleIn {
from {
opacity: 0;
transform: scale(0.9);
}
to {
opacity: 1;
transform: scale(1);
}
}
@keyframes slideInStagger {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.animate-on-scroll {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.animate-on-scroll.animated {
opacity: 1;
transform: translateY(0);
}
.animate-left {
opacity: 0;
transform: translateX(-40px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.animate-left.animated {
opacity: 1;
transform: translateX(0);
}
.animate-right {
opacity: 0;
transform: translateX(40px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.animate-right.animated {
opacity: 1;
transform: translateX(0);
}
.animate-scale {
opacity: 0;
transform: scale(0.9);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.animate-scale.animated {
opacity: 1;
transform: scale(1);
}
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }
/* Image animations */
.animate-img {
opacity: 0;
transform: scale(0.95);
transition: opacity 0.8s ease, transform 0.8s ease;
}
.animate-img.animated {
opacity: 1;
transform: scale(1);
}
/* Smooth page load */
body {
animation: fadeIn 0.5s ease;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
width: 100%;
}
/* Шапка */
header {
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
box-shadow: 0 1px 3px rgba(0,0,0,0.06);
padding: 16px 0;
position: sticky;
top: 0;
z-index: 100;
border-bottom: 1px solid #f1f5f9;
}
.header-inner {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 20px;
}
.logo h1 {
font-size: 1.8rem;
font-weight: 800;
color: #0f172a;
letter-spacing: -0.5px;
}
.logo p {
font-size: 0.85rem;
color: #64748b;
font-weight: 500;
}
.contacts-header {
text-align: right;
font-size: 0.9rem;
}
.contacts-header a {
color: #3b82f6;
text-decoration: none;
font-weight: 500;
}
.contacts-header a:hover {
color: #2563eb;
}
/* Меню (генерируется nav.js) */
#nav-container {
background: #f8fafc;
border-top: 1px solid #e2e8f0;
border-bottom: 1px solid #e2e8f0;
margin-top: 15px;
}
nav ul {
display: flex;
justify-content: center;
flex-wrap: wrap;
list-style: none;
gap: 0.5rem;
padding: 12px 0;
}
nav ul li a {
text-decoration: none;
font-weight: 600;
color: #334155;
transition: all 0.3s ease;
font-size: 0.95rem;
padding: 8px 16px;
border-radius: 8px;
}
nav ul li a:hover {
color: #3b82f6;
background: #e0f2fe;
}
/* Основной контент */
main {
flex: 1;
padding: 60px 0;
}
.card {
background: #ffffff;
border-radius: 16px;
padding: 32px;
margin-bottom: 32px;
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
border: 1px solid #f1f5f9;
transition: box-shadow 0.3s ease;
}
.card:hover {
box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
h1 {
font-size: 2.5rem;
margin-bottom: 1rem;
color: #0f172a;
font-weight: 800;
letter-spacing: -0.5px;
}
h2 {
font-size: 1.8rem;
margin: 1.5rem 0 1rem;
color: #1e293b;
font-weight: 700;
}
h3 {
font-size: 1.4rem;
margin: 1.2rem 0 0.8rem;
color: #334155;
font-weight: 600;
}
p, li {
margin-bottom: 0.75rem;
color: #475569;
}
ul, ol {
padding-left: 1.5rem;
margin-bottom: 1rem;
}
.license-list {
columns: 2;
column-gap: 2rem;
}
@media (max-width: 768px) {
.license-list {
columns: 1;
}
}
.badge {
background: #f1f5f9;
padding: 6px 14px;
border-radius: 20px;
font-size: 0.85rem;
display: inline-block;
margin-right: 8px;
margin-bottom: 8px;
color: #475569;
font-weight: 500;
}
/* Футер */
footer {
background: #f8fafc;
color: #475569;
padding: 48px 0 32px;
margin-top: 60px;
border-top: 1px solid #e2e8f0;
}
.footer-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 32px;
margin-bottom: 32px;
}
.footer-grid h4 {
color: #0f172a;
margin-bottom: 12px;
font-weight: 700;
font-size: 1rem;
}
.footer-grid a {
color: #3b82f6;
text-decoration: none;
transition: color 0.2s;
}
.footer-grid a:hover {
color: #2563eb;
}
.disclaimer {
font-size: 0.8rem;
text-align: center;
border-top: 1px solid #e2e8f0;
padding-top: 24px;
margin-top: 16px;
color: #94a3b8;
}
/* Адаптивность */
@media (max-width: 768px) {
.container {
padding: 0 16px;
}
.header-inner {
flex-direction: column;
text-align: center;
}
.contacts-header {
text-align: center;
}
nav ul {
gap: 1rem;
flex-direction: column;
align-items: center;
}
h1 {
font-size: 1.8rem;
}
h2 {
font-size: 1.4rem;
}
.card {
padding: 20px;
}
}
/* Стили для меню в виде кнопок */
.nav-buttons {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 0.75rem;
list-style: none;
padding: 8px 0;
}
.nav-buttons li a {
display: inline-block;
background: #ffffff;
padding: 10px 20px;
border-radius: 10px;
font-weight: 600;
color: #334155;
text-decoration: none;
transition: all 0.3s ease;
box-shadow: 0 1px 2px rgba(0,0,0,0.04);
border: 1px solid #e2e8f0;
font-size: 0.95rem;
}
.nav-buttons li a:hover {
background: #3b82f6;
color: white;
border-color: #3b82f6;
transform: translateY(-2px);
box-shadow: 0 8px 16px -6px rgba(59,130,246,0.25);
}
.nav-buttons li a.active {
background: #0f172a;
color: white;
border-color: #0f172a;
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
/* Дополнительный блок меню */
.extra-nav {
margin-top: 16px;
padding-top: 12px;
border-top: 1px dashed #e2e8f0;
text-align: center;
}
.extra-title {
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 1.5px;
color: #94a3b8;
margin-bottom: 10px;
font-weight: 600;
}
.extra-buttons {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.75rem;
}
.extra-btn {
background: #f8fafc;
border: 1px solid #e2e8f0;
padding: 8px 18px;
border-radius: 8px;
font-size: 0.85rem;
font-weight: 500;
color: #475569;
text-decoration: none;
transition: all 0.3s ease;
}
.extra-btn:hover {
background: #e0f2fe;
border-color: #3b82f6;
color: #3b82f6;
transform: translateY(-1px);
}
/* Адаптация для телефонов */
@media (max-width: 768px) {
.nav-buttons {
flex-direction: column;
align-items: stretch;
gap: 0.6rem;
}
.nav-buttons li a {
text-align: center;
padding: 10px 16px;
}
.extra-buttons {
flex-direction: column;
align-items: stretch;
gap: 0.5rem;
}
.extra-btn {
text-align: center;
padding: 8px 12px;
}
}
/* Стили для страницы сертификатов */
.certificates-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
.cert-card {
background: #ffffff;
border-radius: 16px;
padding: 2rem;
border: 1px solid #f1f5f9;
transition: all 0.3s ease;
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.cert-card:hover {
transform: translateY(-6px);
box-shadow: 0 12px 24px -8px rgba(0,0,0,0.08);
border-color: #e0e7ef;
}
.cert-icon {
font-size: 2.5rem;
margin-bottom: 1rem;
}
.cert-card h2 {
font-size: 1.4rem;
margin-top: 0;
margin-bottom: 0.5rem;
color: #1e293b;
}
.cert-card p {
font-size: 0.95rem;
line-height: 1.6;
color: #475569;
}
.cert-date {
margin-top: 1rem;
font-size: 0.85rem;
color: #3b82f6;
border-top: 1px solid #f1f5f9;
padding-top: 0.75rem;
font-weight: 500;
}
.note {
background: #f0f9ff;
padding: 1.5rem;
border-radius: 12px;
text-align: center;
margin-top: 1.5rem;
font-size: 0.95rem;
color: #475569;
border: 1px solid #e0f2fe;
}
@media (max-width: 768px) {
.certificates-grid {
gap: 1rem;
}
.cert-card {
padding: 1.2rem;
}
}
/* Стили для страницы "Аттестованный персонал" */
.personnel-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
.personnel-item {
background: #ffffff;
border-radius: 16px;
padding: 1.5rem;
border: 1px solid #f1f5f9;
transition: all 0.3s ease;
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.personnel-item:hover {
border-color: #e0e7ef;
box-shadow: 0 8px 20px -8px rgba(0,0,0,0.08);
transform: translateY(-4px);
}
.personnel-icon {
font-size: 2.5rem;
margin-bottom: 0.8rem;
}
.personnel-item h3 {
margin-bottom: 0.8rem;
color: #1e293b;
}
.personnel-item p {
font-size: 0.9rem;
line-height: 1.6;
color: #475569;
}
.safety-cert {
background: #f0f9ff;
border-radius: 16px;
padding: 2rem;
margin: 1.5rem 0;
border-left: 4px solid #3b82f6;
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.safety-cert h2 {
margin-top: 0;
font-size: 1.5rem;
color: #1e293b;
}
@media (max-width: 768px) {
.personnel-grid {
gap: 1rem;
}
.personnel-item {
padding: 1.2rem;
}
.safety-cert {
padding: 1.2rem;
}
}
/* Страница "Парк техники" */
.stats-row {
display: flex;
justify-content: center;
gap: 1.5rem;
margin: 2rem 0;
flex-wrap: wrap;
}
.stat-card {
background: #ffffff;
border-radius: 16px;
padding: 2rem 1.5rem;
text-align: center;
flex: 1;
min-width: 140px;
transition: all 0.3s ease;
border: 1px solid #f1f5f9;
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.stat-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 20px -8px rgba(0,0,0,0.08);
}
.stat-number {
font-size: 2.5rem;
font-weight: 800;
color: #3b82f6;
line-height: 1.2;
}
.stat-label {
font-size: 0.9rem;
color: #64748b;
font-weight: 500;
margin-top: 0.5rem;
}
.equipment-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 1rem;
margin: 1.5rem 0;
}
.equip-item {
display: flex;
align-items: center;
gap: 1rem;
background: #ffffff;
padding: 1.2rem;
border-radius: 12px;
border: 1px solid #f1f5f9;
transition: all 0.3s ease;
box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.equip-item:hover {
border-color: #e0e7ef;
box-shadow: 0 4px 12px -4px rgba(0,0,0,0.06);
transform: translateY(-2px);
}
.equip-icon {
font-size: 2rem;
min-width: 48px;
text-align: center;
}
.equip-info strong {
display: block;
color: #1e293b;
font-weight: 600;
}
.equip-info p {
font-size: 0.85rem;
margin: 0.25rem 0 0;
color: #94a3b8;
}
.amphibian-card {
display: flex;
gap: 1.5rem;
background: #f0f9ff;
border-radius: 16px;
padding: 2rem;
margin: 1rem 0 1.5rem;
align-items: center;
flex-wrap: wrap;
border: 1px solid #e0f2fe;
}
.amphibian-icon {
font-size: 4rem;
}
.amphibian-content {
flex: 1;
}
.amphibian-content p {
margin-bottom: 0.5rem;
color: #475569;
}
@media (max-width: 768px) {
.stats-row {
flex-direction: column;
}
.equipment-grid {
grid-template-columns: 1fr;
}
.amphibian-card {
flex-direction: column;
text-align: center;
}
}
/* Стили для страницы лицензии с полным списком */
.license-list-full {
padding-left: 1.5rem;
margin: 1.5rem 0;
}
.license-list-full li {
margin-bottom: 0.75rem;
color: #475569;
}
.sub-list {
margin-top: 0.5rem;
margin-bottom: 0.5rem;
padding-left: 1.8rem;
list-style-type: circle;
}
.sub-list li {
margin-bottom: 0.4rem;
font-size: 0.92rem;
color: #64748b;
}
@media (max-width: 768px) {
.license-list-full {
padding-left: 1rem;
}
.sub-list {
padding-left: 1.2rem;
}
}
/* Стили для страницы лицензии на отходы */
.license-details {
background: #f8fafc;
border-radius: 12px;
padding: 1.5rem;
margin: 1.5rem 0;
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: space-between;
border: 1px solid #e2e8f0;
}
.license-details > div {
flex: 1;
min-width: 180px;
}
.license-image-container {
text-align: center;
margin: 2rem 0;
background: #f8fafc;
border-radius: 16px;
padding: 2rem;
border: 1px solid #e2e8f0;
}
.license-img {
max-width: 100%;
height: auto;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0,0,0,0.06);
border: 1px solid #e2e8f0;
}
.image-caption {
font-size: 0.85rem;
color: #94a3b8;
margin-top: 0.75rem;
}
@media (max-width: 768px) {
.license-details {
flex-direction: column;
gap: 0.8rem;
}
.license-image-container {
padding: 1rem;
}
}
/* Стили для страницы устранения дефектов (КМТ) */
.hero-section {
text-align: center;
margin-bottom: 2rem;
padding: 2rem;
background: #f8fafc;
border-radius: 16px;
}
.hero-section h1 {
font-size: 2rem;
margin-bottom: 0.5rem;
color: #0f172a;
}
.hero-subtitle {
font-size: 1.2rem;
color: #3b82f6;
font-weight: 500;
}
.two-columns {
display: flex;
gap: 1.5rem;
margin: 2rem 0;
flex-wrap: wrap;
}
.two-columns .col {
flex: 1;
background: #ffffff;
border-radius: 16px;
padding: 2rem;
border: 1px solid #f1f5f9;
transition: all 0.3s ease;
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.two-columns .col:hover {
transform: translateY(-4px);
box-shadow: 0 12px 24px -8px rgba(0,0,0,0.08);
}
.icon-block {
font-size: 2.8rem;
margin-bottom: 1rem;
text-align: center;
}
.two-columns h2 {
margin-top: 0;
text-align: center;
color: #1e293b;
}
.two-columns ul {
padding-left: 1.2rem;
}
.info-card {
display: flex;
gap: 1.2rem;
background: #ffffff;
border-radius: 16px;
padding: 1.5rem;
margin: 1.5rem 0;
border: 1px solid #f1f5f9;
align-items: flex-start;
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
transition: all 0.3s ease;
}
.info-card:hover {
box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.warning-card {
background: #fffbeb;
border-left: 4px solid #f59e0b;
}
.card-icon {
font-size: 2.5rem;
min-width: 60px;
text-align: center;
}
.card-content h3 {
margin-top: 0;
margin-bottom: 0.75rem;
color: #1e293b;
}
.card-content ul {
margin: 0.5rem 0 0;
padding-left: 1.2rem;
}
.card-content li {
margin-bottom: 0.4rem;
color: #475569;
}
.cert-badge-row {
display: flex;
flex-wrap: wrap;
gap: 1rem;
justify-content: center;
margin: 2rem 0;
}
.badge-large {
background: #f0f9ff;
border-radius: 10px;
padding: 0.8rem 1.5rem;
display: inline-flex;
align-items: center;
gap: 0.8rem;
font-size: 0.95rem;
font-weight: 500;
color: #1e293b;
border: 1px solid #e0f2fe;
transition: all 0.3s ease;
}
.badge-large:hover {
background: #e0f2fe;
transform: translateY(-2px);
}
.badge-icon {
font-size: 1.5rem;
}
@media (max-width: 768px) {
.two-columns {
flex-direction: column;
}
.info-card {
flex-direction: column;
align-items: center;
text-align: center;
}
.card-icon {
min-width: auto;
}
.badge-large {
width: 100%;
justify-content: center;
}
}
/* Сетка лицензий на странице демонтажа */
.license-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 1.5rem;
margin: 1.5rem 0;
}
.license-item {
background: #ffffff;
border-radius: 16px;
padding: 1.5rem;
border: 1px solid #f1f5f9;
transition: all 0.3s ease;
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.license-item:hover {
transform: translateY(-4px);
box-shadow: 0 8px 20px -8px rgba(0,0,0,0.08);
border-color: #e0e7ef;
}
.license-icon {
font-size: 2rem;
display: block;
margin-bottom: 0.75rem;
}
.license-item strong {
display: block;
font-size: 1.1rem;
margin-bottom: 0.5rem;
color: #1e293b;
font-weight: 600;
}
.license-item p {
font-size: 0.9rem;
margin: 0;
color: #64748b;
}
/* Адаптация для телефонов */
@media (max-width: 768px) {
.license-grid {
grid-template-columns: 1fr;
}
}
/* Стили для страницы лицензии СРО (современная сетка) */
.objects-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 1rem;
margin: 1.5rem 0;
}
.object-card {
background: #ffffff;
border-radius: 12px;
padding: 1rem 1.2rem;
font-weight: 500;
color: #1e293b;
border: 1px solid #f1f5f9;
transition: all 0.3s ease;
display: flex;
align-items: center;
gap: 0.75rem;
box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.object-card:hover {
background: #f0f9ff;
transform: translateX(6px);
border-color: #e0f2fe;
box-shadow: 0 4px 8px -4px rgba(0,0,0,0.06);
}
.hazardous-block {
background: #fffbeb;
border-radius: 16px;
padding: 2rem;
margin: 2rem 0;
border-left: 4px solid #f59e0b;
}
.hazardous-header {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 1.5rem;
}
.hazardous-icon {
font-size: 2rem;
}
.hazardous-header h3 {
margin: 0;
font-size: 1.4rem;
color: #1e293b;
}
.hazardous-list {
display: flex;
flex-direction: column;
gap: 1rem;
}
.hazard-item {
display: flex;
gap: 0.75rem;
line-height: 1.6;
color: #475569;
}
.hazard-letter {
font-weight: 700;
color: #f59e0b;
min-width: 28px;
}
@media (max-width: 768px) {
.objects-grid {
grid-template-columns: 1fr;
}
.hazardous-header {
flex-direction: column;
text-align: center;
}
.hazard-item {
flex-direction: column;
gap: 0.2rem;
}
.hazard-letter {
min-width: auto;
}
}
/* Кнопка обратной связи */
.feedback-btn {
position: fixed;
bottom: 30px;
right: 30px;
background: #3b82f6;
color: white;
border: none;
border-radius: 12px;
padding: 14px 24px;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
box-shadow: 0 4px 12px rgba(59,130,246,0.3);
z-index: 1000;
transition: all 0.3s ease;
}
.feedback-btn:hover {
background: #2563eb;
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(59,130,246,0.4);
}
/* Модальное окно */
.feedback-modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.3);
backdrop-filter: blur(4px);
align-items: center;
justify-content: center;
z-index: 1001;
}
.feedback-modal-content {
background: white;
max-width: 500px;
width: 90%;
border-radius: 16px;
padding: 2rem;
position: relative;
box-shadow: 0 20px 40px rgba(0,0,0,0.1);
border: 1px solid #f1f5f9;
}
.feedback-close {
position: absolute;
top: 15px;
right: 20px;
font-size: 28px;
cursor: pointer;
color: #94a3b8;
transition: color 0.2s;
}
.feedback-close:hover {
color: #1e293b;
}
#feedback-form label {
display: block;
margin-bottom: 1rem;
font-weight: 500;
color: #334155;
}
#feedback-form input, #feedback-form textarea {
width: 100%;
padding: 10px 14px;
margin-top: 5px;
border: 1px solid #e2e8f0;
border-radius: 8px;
font-family: inherit;
transition: border-color 0.2s;
}
#feedback-form input:focus, #feedback-form textarea:focus {
outline: none;
border-color: #3b82f6;
box-shadow: 0 0 0 3px rgba(59,130,246,0.1);
}
.required {
color: #3b82f6;
font-weight: 600;
}
#feedback-form button {
background: #0f172a;
color: white;
border: none;
padding: 12px;
width: 100%;
border-radius: 8px;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
margin-top: 10px;
transition: background 0.2s;
}
#feedback-form button:hover {
background: #1e293b;
}
@media (max-width: 600px) {
.feedback-modal-content {
padding: 1.5rem;
}
}
.logo a {
text-decoration: none;
color: inherit;
}
/* Стили для главной страницы (индекс) */
.hero-main {
text-align: center;
padding: 3rem 2rem;
background: linear-gradient(135deg, #f8fafc 0%, #e0f2fe 100%);
border-radius: 24px;
margin-bottom: 3rem;
border: 1px solid #e2e8f0;
}
.hero-main h1 {
font-size: 2.5rem;
margin-bottom: 1rem;
color: #0f172a;
font-weight: 800;
letter-spacing: -0.5px;
}
.hero-subtitle {
font-size: 1.2rem;
color: #475569;
max-width: 800px;
margin: 0 auto 2rem;
line-height: 1.6;
}
.hero-stats {
display: flex;
justify-content: center;
gap: 1.5rem;
flex-wrap: wrap;
}
.hero-stat {
background: #ffffff;
padding: 1rem 2rem;
border-radius: 12px;
font-weight: 500;
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
border: 1px solid #f1f5f9;
transition: all 0.3s ease;
}
.hero-stat:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.hero-stat span {
font-size: 1.8rem;
font-weight: 800;
color: #3b82f6;
display: inline-block;
margin-right: 0.3rem;
}
.services-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
.service-card {
background: #ffffff;
border-radius: 16px;
padding: 2rem;
text-decoration: none;
color: inherit;
transition: all 0.3s ease;
border: 1px solid #f1f5f9;
display: block;
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.service-card:hover {
transform: translateY(-8px);
box-shadow: 0 20px 40px -12px rgba(0,0,0,0.1);
border-color: #e0e7ef;
}
.service-icon {
font-size: 2.5rem;
margin-bottom: 1rem;
}
.service-card h3 {
margin-bottom: 0.8rem;
font-size: 1.3rem;
color: #1e293b;
}
.service-card p {
font-size: 0.9rem;
color: #64748b;
margin: 0;
line-height: 1.6;
}
.licenses-short {
display: flex;
flex-wrap: wrap;
gap: 0.8rem;
justify-content: center;
margin: 1rem 0;
}
.license-short {
background: #f1f5f9;
padding: 0.5rem 1.2rem;
border-radius: 8px;
font-size: 0.85rem;
font-weight: 500;
color: #475569;
border: 1px solid #e2e8f0;
}
.btn-outline {
display: inline-block;
background: transparent;
border: 1px solid #3b82f6;
color: #3b82f6;
padding: 0.6rem 1.5rem;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
transition: all 0.3s ease;
margin: 0 0.5rem;
}
.btn-outline:hover {
background: #3b82f6;
color: white;
transform: translateY(-1px);
}
.cta-block {
background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
color: white;
text-align: center;
padding: 3rem 2rem;
border-radius: 24px;
margin: 2rem 0;
}
.cta-block h3 {
font-size: 1.8rem;
margin-bottom: 0.5rem;
color: white;
font-weight: 700;
}
.cta-block p {
margin-bottom: 1.5rem;
opacity: 0.9;
color: #cbd5e1;
}
.cta-button {
background: #3b82f6;
color: white;
border: none;
padding: 1rem 2.5rem;
border-radius: 10px;
font-size: 1.1rem;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
}
.cta-button:hover {
background: #2563eb;
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(59,130,246,0.3);
}
@media (max-width: 768px) {
.hero-main h1 {
font-size: 1.6rem;
}
.hero-stats {
gap: 0.8rem;
}
.hero-stat {
padding: 0.4rem 1rem;
font-size: 0.85rem;
}
.hero-stat span {
font-size: 1.2rem;
}
.services-grid {
gap: 1rem;
}
.cta-block {
padding: 1.5rem;
}
.cta-block h3 {
font-size: 1.4rem;
}
}