/* ===== БАЗОВЫЕ СТИЛИ ===== */
* { margin: 0; padding: 0; box-sizing: border-box; font-family: "Montserrat", sans-serif; }
html { scroll-behavior: smooth; }
body { color: #333; background: #fff; line-height: 1.6; }
section { padding: 100px 0; position: relative; }
.container { width: 90%; max-width: 1200px; margin: 0 auto; }

/* ===== ТИПОГРАФИЯ ===== */
h1, h2, h3, h4 { font-weight: 800; line-height: 1.2; }
h1 { font-size: 48px; margin-bottom: 24px; }
h2 { font-size: 36px; margin-bottom: 40px; position: relative; }
h2.section-title { color: #1a73e8; text-transform: uppercase; letter-spacing: 1px; }
h2.section-title:after { content: ""; display: block; width: 80px; height: 4px; background: linear-gradient(90deg, #1a73e8, #b833ff); margin-top: 16px; }
h2.section-title.white { color: #fff; }
h2.section-title.white:after { background: linear-gradient(90deg, #20c2ff, #b833ff); }
p { font-size: 18px; margin-bottom: 20px; }

/* ===== КНОПКИ ===== */
.btn {
    display: inline-flex; align-items: center; gap: 8px; border: none; padding: 14px 32px;
    font-weight: 500; border-radius: 4px;
    background: linear-gradient(90deg, #1a73e8 0%, #b833ff 100%);
    color: #fff; cursor: pointer; text-decoration: none; transition: all 0.3s ease; font-size: 16px;
}
.btn:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); }
.btn-outline { background: transparent; border: 2px solid #1a73e8; color: #1a73e8; }
.btn-outline:hover { background: #1a73e8; color: #fff; }

/* ===== ИННОВАЦИОННЫЙ HERO (замена старого) ===== */
.hero{
    position: relative; padding: 0; overflow: hidden;
    background: radial-gradient(1200px 600px at 85% 20%, #1e3a8a 0%, #0f172a 60%);
    color:#fff; isolation:isolate;
}
.hero::before,
.hero::after{
    content:""; position:absolute; inset:auto -20% -30% -20%; height: 60vh; z-index:0;
    background:
        radial-gradient(600px 300px at 20% 30%, rgba(184,51,255,.25), transparent 60%),
        radial-gradient(500px 260px at 80% 60%, rgba(32,194,255,.22), transparent 60%);
    filter: blur(12px);
}
.hero::after{
    inset:-30% -30% auto -30%; height: 70vh;
    background:
        radial-gradient(700px 380px at 20% 70%, rgba(26,115,232,.22), transparent 60%),
        radial-gradient(520px 320px at 80% 20%, rgba(184,51,255,.2), transparent 60%);
}
.hero-canvas{ position:absolute; inset:0; z-index:0; opacity:.7; }
.hero-inner{ position:relative; z-index:2; padding: 120px 0 110px; }
.hero-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap: 32px; align-items: center; }
.hero-title{
    font-size: clamp(36px, 6vw, 64px); line-height:1.05; letter-spacing:.6px; margin:6px 0 12px;
    background: linear-gradient(90deg, #fff 0%, #dbeafe 40%, #20c2ff 70%, #bda4ff 95%);
    -webkit-background-clip:text; background-clip:text; color: transparent; text-transform: uppercase;
    text-shadow: 0 10px 30px rgba(32,194,255,.12);
}
.hero-subtitle{ font-size: clamp(16px, 2vw, 20px); opacity:.9; }
.type{ display:inline-block; min-height:1.6em; border-right:2px solid rgba(255,255,255,.9); animation: caret 1s steps(1) infinite; margin-left:6px; padding-right:4px; white-space:nowrap; }
@keyframes caret{ 50%{ border-color: transparent; } }
.hero-chips{ display:flex; flex-wrap:wrap; gap:10px; margin: 18px 0 26px; }
.chip{
    font-size:13px; letter-spacing:.3px; color:#e6f2ff; padding:8px 12px; border-radius:999px;
    backdrop-filter: blur(6px);
    background: linear-gradient(135deg, rgba(26,115,232,.22), rgba(184,51,255,.22));
    border: 1px solid rgba(255,255,255,.18);
}
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:6px; }

/* Орбитальный декор - обновленный блок core */
.orbit{ width:min(460px,80vw); aspect-ratio:1/1; margin-inline:auto; position:relative; display:grid; place-items:center; filter: drop-shadow(0 30px 60px rgba(0,0,0,.35)); }
.core{ 
    width: 180px; 
    height: 180px; 
    display: grid; 
    place-items: center; 
}
.core img.company-logo {
    width: 170px;
    height: 170px;
    object-fit: contain;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.3));
}
.ring{ position:absolute; inset:9%; border-radius:50%; border:1.6px dashed rgba(255,255,255,.35); animation: spin 18s linear infinite; }
.ring.r2{ inset:22%; animation-duration:13s; border-style: solid; border-color: rgba(32,194,255,.35); }
.ring.r3{ inset:36%; animation-duration:9s; border-style: dashed; border-color: rgba(184,51,255,.35); }
@keyframes spin{ to{ transform: rotate(360deg); } }
.sat{ position:absolute; width:14px; height:14px; border-radius:50%; background: radial-gradient(circle at 30% 30%, #fff, #20c2ff 45%, transparent 70%); box-shadow: 0 0 22px rgba(32,194,255,.65); }
.sat.s1{ top:2%; left:48%; animation: orbit1 12s linear infinite; }
.sat.s2{ bottom:22%; right:2%; animation: orbit2 10s linear infinite; }
.sat.s3{ top:28%; left:2%; background: radial-gradient(circle at 30% 30%, #fff, #b833ff 45%, transparent 70%); box-shadow: 0 0 22px rgba(184,51,255,.65); animation: orbit3 8s linear infinite; }
@keyframes orbit1{ to{ transform: rotate(360deg) translateX(40px) rotate(-360deg); } }
@keyframes orbit2{ to{ transform: rotate(-360deg) translateX(32px) rotate(360deg); } }
@keyframes orbit3{ to{ transform: rotate(360deg) translateX(26px) rotate(-360deg); } }

/* ===== УСЛУГИ ===== */
.services { background: #fff; padding: 100px 0; }
.services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; }
.service-card { background: #f8fafc; padding: 40px 30px; border-radius: 8px; transition: all 0.3s; border-left: 4px solid #1a73e8; }
.service-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1); }
.service-card h3 { color: #1a73e8; margin-bottom: 20px; font-size: 24px; }
.service-card .btn { margin-top: 20px; }

/* ===== О НАС ===== */
.about { background: linear-gradient(135deg, #1e3a8a, #0f172a); color: #fff; padding: 100px 0; }
.about-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; margin-bottom: 60px; }
.about-stat { text-align: center; }
.about-stat h3 { font-size: 48px; color: #20c2ff; margin-bottom: 10px; }
.about-stat p { font-size: 18px; opacity: 0.9; }
.about-text { max-width: 800px; margin: 0 auto; text-align: center; }

/* ===== ПРЕИМУЩЕСТВА ===== */
.advantages { 
    background: 
        radial-gradient(ellipse at 20% 50%, rgba(26, 115, 232, 0.05) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 50%, rgba(184, 51, 255, 0.05) 0%, transparent 50%),
        linear-gradient(180deg, #fafbff 0%, #ffffff 100%);
    padding: 100px 0; 
    position: relative;
}

.advantages::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    height: 80%;
    background: 
        radial-gradient(circle at center, rgba(32, 194, 255, 0.03) 0%, transparent 70%);
    z-index: 1;
}

.advantages::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: 
        linear-gradient(0deg, transparent 24px, rgba(26, 115, 232, 0.02) 25px, transparent 26px),
        linear-gradient(90deg, transparent 24px, rgba(184, 51, 255, 0.02) 25px, transparent 26px);
    background-size: 50px 50px;
    z-index: 1;
    animation: subtleMove 100s linear infinite;
}

@keyframes subtleMove {
    0% { background-position: 0 0; }
    100% { background-position: 50px 50px; }
}

.advantages .container {
    position: relative;
    z-index: 2;
}

.advantages-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; }
.advantage-card {
    padding: 30px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.9);
    margin-left: auto;
    margin-right: auto;
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.1),
        0 2px 8px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.advantage-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 
        0 20px 40px rgba(0, 77, 255, 0.1),
        0 4px 12px rgba(0, 77, 255, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 1);
    background: rgba(255, 255, 255, 0.95);
}

.advantage-card h3 { color: #1a73e8; margin-bottom: 15px; font-size: 22px; }

/* ===== КАРУСЕЛЬ ПАРТНЕРОВ ===== */
.partners { background: #f8fafc; padding: 80px 0; }
.partners .container { overflow: hidden; position: relative; }
.partners h2 { text-align: center; margin-bottom: 50px; color: #1a73e8; }
.partners-slider { 
    display: flex;
    align-items: center;
    gap: 0;
    width: max-content;
}
.partner-logo { 
    width: 380px;
    height: 180px;
    object-fit: contain; 
    filter: grayscale(0%); 
    opacity: 0.7; 
    transition: all 0.3s ease;
    flex-shrink: 0;
    margin-right: -100px; 
}
.partner-logo:hover { 
    filter: grayscale(0%); 
    opacity: 1; 
    transform: scale(1.05);
}

/* ===== CTA ===== */
.cta { background: linear-gradient(135deg, #0f172a, #1e3a8a); color: #fff; padding: 100px 0; text-align: center; }
.cta h2 { color: #fff; margin-bottom: 20px; }
.cta p { max-width: 700px; margin: 0 auto 40px; }
.cta .btn { margin: 0 auto; }

/* ===== ПОДВАЛ ===== */
footer { background: #0f172a; color: #fff; padding: 60px 0 30px; }
.footer-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; margin-bottom: 40px; }
.footer-col h3 { color: #fff; margin-bottom: 20px; font-size: 20px; }
.footer-col ul { list-style: none; }
.footer-col li { margin-bottom: 10px; }
.footer-col a { color: rgba(255, 255, 255, 0.8); text-decoration: none; transition: color 0.3s; }
.footer-col a:hover { color: #fff; }
.copyright { text-align: center; color: rgba(255, 255, 255, 0.6); font-size: 14px; padding-top: 40px; border-top: 1px solid rgba(255, 255, 255, 0.1); }

/* ===== АДАПТИВ ===== */
@media (max-width: 992px) {
    .about-grid { grid-template-columns: repeat(2, 1fr); }
    nav ul { gap: 20px; }
    .partners-slider { gap: 40px; width: calc(200px * 10); }
    .partner-logo { width: 150px; }
    .hero-inner{ padding: 110px 0 90px; }
    .hero-grid{ grid-template-columns: 1fr; }
    .partner-logo { 
        width: 240px; 
        height: 100px;
    }
}

@media (max-width: 768px) {
    section { padding: 70px 0; }
    .header-container { flex-direction: column; padding: 15px 0; height: auto; }
    nav ul { margin-top: 15px; flex-wrap: wrap; justify-content: center; }
    .hero-inner{ padding: 110px 0 80px; }
    .partners-slider { gap: 30px; width: calc(150px * 10); }
    .partner-logo {
        width: 298px; 
        height: 165px; 
        object-fit: contain; 
        object-position: center;
        filter: grayscale(0%); 
        opacity: 0.7; 
        transition: all 0.3s ease; 
        background: white; 
        padding: 10px; 
        box-sizing: border-box;
    }
    .advantages-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .advantage-card {
        padding: 25px;
        margin: 0 10px;
    }
}

@media (max-width: 480px) {
    h1 { font-size: 36px; }
    h2 { font-size: 28px; }
    .hero-title { font-size: 32px; }
    .hero-chips { gap: 8px; }
    .chip { font-size: 12px; padding: 6px 10px; }
    .hero-actions { flex-direction: column; align-items: center; }
    .btn { width: 100%; max-width: 280px; justify-content: center; }
    .about-grid { grid-template-columns: 1fr; gap: 20px; }
    .about-stat h3 { font-size: 36px; }
    .services-grid { grid-template-columns: 1fr; }
    .advantage-card {
        padding: 20px;
        border-radius: 12px;
    }
}