:root { --bg: #041120; --bg-soft: #0a1c34; --panel: rgba(10, 22, 42, 0.82); --panel-border: rgba(255, 255, 255, 0.1); --text: #eaf1ff; --muted: #9bb0d0; --primary: #5fa0ff; --primary-strong: #8b6cff; --card-radius: 28px; --shadow: 0 18px 60px rgba(0, 0, 0, 0.28); } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; font-family: 'Inter', sans-serif; background: radial-gradient(circle at top left, #12345d 0%, #071326 35%, #030915 100%); color: var(--text); } a { color: inherit; text-decoration: none; } img { max-width: 100%; display: block; } .container { width: 100%; max-width: 1120px; margin: 0 auto; padding-left: 20px; padding-right: 20px; } .site-shell { overflow: hidden; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .header { position: sticky; top: 0; z-index: 20; background: rgba(3, 11, 23, 0.76); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255, 255, 255, 0.08); } .nav-wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 84px; } .brand { display: flex; align-items: center; gap: 14px; } .brand-mark { width: 48px; height: 48px; background: none; } .brand-mark img { width: 100%; height: 100%; object-fit: contain; } .brand-text { display: block; font-size: 1.7rem; font-weight: 800; } .brand small { display: block; color: var(--muted); margin-top: 2px; } .nav { display: flex; align-items: center; gap: 32px; } .nav a { color: #d7e3fb; font-weight: 600; } .nav a:hover { color: #ffffff; } .nav-actions { display: flex; align-items: center; gap: 12px; } .lang-switch { display: flex; align-items: center; gap: 10px; padding: 6px; border-radius: 18px; background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.1); } .lang-flag { width: 48px; height: 34px; padding: 3px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 12px; background: transparent; cursor: pointer; transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, opacity 0.2s ease; opacity: 0.82; } .lang-flag img { width: 100%; height: 100%; display: block; border-radius: 8px; object-fit: cover; box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18); } .lang-flag:hover { opacity: 1; transform: translateY(-1px); } .lang-flag[aria-pressed="true"] { opacity: 1; border-color: rgba(95, 160, 255, 0.65); background: rgba(95, 160, 255, 0.08); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 0 0 1px rgba(95, 160, 255, 0.12); } .menu-toggle { display: none; background: transparent; border: 0; padding: 8px; } .menu-toggle span { display: block; width: 24px; height: 2px; background: #ffffff; margin: 5px 0; } .hero { padding: 72px 0 48px; } .hero-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 42px; align-items: center; } .eyebrow { display: inline-flex; border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(255, 255, 255, 0.04); border-radius: 999px; padding: 8px 14px; color: #bfd1f0; font-size: 0.92rem; margin-bottom: 18px; } .hero h1 { font-size: clamp(2.8rem, 6vw, 5.8rem); line-height: 0.95; margin: 0 0 20px; letter-spacing: -0.06em; } .hero-text { font-size: 1.14rem; line-height: 1.7; color: var(--muted); max-width: 700px; } .hero-actions, .product-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; } .btn { border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 999px; padding: 14px 22px; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; transition: 0.2s ease; } .btn:hover { transform: translateY(-1px); } .btn-primary { background: linear-gradient(135deg, var(--primary), #7ac4ff); color: #071326; } .btn-secondary { background: rgba(255, 255, 255, 0.04); color: var(--text); } .product-actions .btn { min-width: 150px; } .hero-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 28px; } .hero-metrics div, .hero-badge, .service-card, .about-panel, .contact-form, .contact-list > div { background: var(--panel); border: 1px solid var(--panel-border); box-shadow: var(--shadow); } .hero-metrics div { border-radius: 22px; padding: 18px; } .hero-metrics strong { display: block; font-size: 1.7rem; margin-bottom: 8px; } .hero-metrics span { color: var(--muted); } .hero-card-inner { position: relative; min-height: 640px; border-radius: 34px; padding: 28px; background: linear-gradient(180deg, rgba(18, 35, 66, 0.95), rgba(10, 20, 39, 0.9)); border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: var(--shadow); } .hero-card-label { margin: 0 0 14px; color: #d8e5ff; font-weight: 600; } .hero-main-shot { width: 78%; border-radius: 24px; border: 1px solid rgba(255, 255, 255, 0.14); margin-top: 38px; box-shadow: 0 18px 50px rgba(0, 0, 0, 0.36); } .hero-floating { position: absolute; width: 38%; border-radius: 24px; border: 1px solid rgba(255, 255, 255, 0.14); box-shadow: 0 18px 50px rgba(0, 0, 0, 0.36); background: #d9e6ff; } .hero-floating-top { top: 72px; right: -10px; transform: rotate(9deg); } .hero-floating-bottom { right: 10px; bottom: 90px; transform: rotate(-8deg); } .hero-badges { position: absolute; left: 18px; right: 18px; bottom: 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; } .hero-badge { border-radius: 20px; padding: 18px; } .hero-badge strong { display: block; margin-bottom: 6px; } .hero-badge span { color: var(--muted); font-size: 0.96rem; } .section { padding: 42px 0 28px; } .section-heading { max-width: 760px; margin-bottom: 26px; } .section-heading h2 { font-size: clamp(2rem, 3.6vw, 3.2rem); margin: 0 0 14px; letter-spacing: -0.04em; } .section-heading p { color: var(--muted); line-height: 1.7; } .product-stack { display: grid; gap: 28px; } .product-card { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: center; background: rgba(7, 18, 36, 0.66); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: var(--card-radius); padding: 24px; } .product-card.reverse .product-carousel { order: 2; } .product-tag { display: inline-flex; padding: 8px 12px; border-radius: 999px; background: rgba(95, 160, 255, 0.12); color: #cfe0ff; margin-bottom: 14px; } .product-body h3 { font-size: 2rem; margin: 0 0 14px; } .product-body p, .product-body li, .service-card p, .about-grid p, .contact-grid p { color: var(--muted); line-height: 1.72; } .product-body ul { padding-left: 20px; margin: 18px 0 0; } .product-carousel { position: relative; overflow: hidden; border-radius: 24px; min-height: 380px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)); border: 1px solid rgba(255, 255, 255, 0.08); } .carousel-track { position: relative; height: 100%; min-height: 380px; } .carousel-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.35s ease; } .carousel-slide.active { opacity: 1; } .carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.18); background: rgba(4, 17, 32, 0.68); color: #ffffff; font-size: 1.6rem; cursor: pointer; } .carousel-btn.prev { left: 14px; } .carousel-btn.next { right: 14px; } .carousel-dots { position: absolute; left: 0; right: 0; bottom: 16px; z-index: 2; display: flex; justify-content: center; gap: 8px; } .carousel-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, 0.34); border: 0; padding: 0; cursor: pointer; } .carousel-dot.active { background: #ffffff; } .service-grid, .contact-grid, .about-grid { display: grid; gap: 22px; } .service-grid { grid-template-columns: repeat(3, 1fr); } .service-card { padding: 24px; border-radius: 24px; } .about-grid { grid-template-columns: 1.1fr 0.9fr; align-items: start; } .about-panel { border-radius: 28px; padding: 24px; display: grid; gap: 20px; } .about-panel strong { display: block; margin-bottom: 6px; } .contact-grid { grid-template-columns: 0.95fr 1.05fr; align-items: start; } .contact-list { display: grid; gap: 14px; margin-top: 22px; } .contact-list > div { border-radius: 20px; padding: 18px; } .contact-list span { display: block; color: #bfd1f0; margin-bottom: 6px; font-size: 0.94rem; } .contact-form { border-radius: 28px; padding: 24px; display: grid; gap: 16px; } .contact-form label span { display: block; margin-bottom: 8px; font-weight: 600; } .contact-form input, .contact-form textarea { width: 100%; border-radius: 16px; border: 1px solid rgba(255, 255, 255, 0.12); background: #0a1629; color: #ffffff; padding: 14px 16px; font: inherit; } /* Footer */ .footer { padding: 28px 0 44px; } .footer-wrap { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; border-top: 1px solid rgba(255, 255, 255, 0.08); padding-top: 24px; } .footer-wrap p { margin: 0; justify-self: center; } .back-to-top { color: var(--muted); white-space: nowrap; transition: color 0.2s ease; } .back-to-top:hover { color: var(--text); } .footer-links, .footer-legal { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: flex-end; } .footer-links a, .footer-legal a { text-decoration: none; white-space: nowrap; color: var(--muted); transition: color 0.2s ease; } .footer-links a:hover, .footer-legal a:hover { color: var(--text); } /*----------------------------------------*/ /* 31. Cookie consent CSS /*----------------------------------------*/ .cookie-overlay { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99999; padding: 16px; background: rgba(0, 0, 0, 0.75); backdrop-filter: blur(2px); display: none; } .cookie-box { max-width: 1100px; margin: 0 auto; background: #212529; color: #ffffff; border-radius: 10px; padding: 14px 16px; display: flex; gap: 14px; align-items: center; justify-content: space-between; flex-wrap: wrap; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35); } .cookie-text a { color: #ffffff; text-decoration: underline; } .cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; } .cookie-manage { position: fixed; left: 16px; bottom: 16px; z-index: 99998; } @media (max-width: 980px) { .hero-grid, .product-card, .about-grid, .contact-grid, .service-grid { grid-template-columns: 1fr; } .product-card.reverse .product-carousel { order: initial; } .hero-card-inner { min-height: 560px; } } @media (max-width: 760px) { .lang-switch { order: -1; } .nav { position: absolute; left: 16px; right: 16px; top: 84px; display: none; flex-direction: column; align-items: flex-start; gap: 14px; padding: 18px; border-radius: 20px; background: #0a1629; border: 1px solid rgba(255, 255, 255, 0.08); } .nav.is-open { display: flex; } .menu-toggle { display: block; } .hero { padding-top: 40px; } .hero h1 { line-height: 1.02; } .hero-metrics, .hero-badges { grid-template-columns: 1fr; } .hero-card-inner { min-height: 660px; } .hero-main-shot { width: 100%; margin-top: 56px; } .hero-floating { width: 42%; } .hero-floating-top { top: 88px; } .hero-floating-bottom { bottom: 180px; } .footer-wrap { grid-template-columns: 1fr; align-items: flex-start; } .footer-wrap p { justify-self: start; } .footer-links, .footer-legal { justify-content: flex-start; } }