/* Подключение шрифта Euclid Circular B */
@font-face {
    font-family: 'Euclid Circular B';
    src: url('/fonts/EuclidCircularB-Bold.eot');
    src: local('Euclid Circular B Bold'), local('EuclidCircularB-Bold'),
        url('/fonts/EuclidCircularB-Bold.eot?#iefix') format('embedded-opentype'),
        url('/fonts/EuclidCircularB-Bold.woff2') format('woff2'),
        url('/fonts/EuclidCircularB-Bold.woff') format('woff'),
        url('/fonts/EuclidCircularB-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Euclid Circular B';
    src: url('/fonts/EuclidCircularB-Italic.eot');
    src: local('Euclid Circular B Italic'), local('EuclidCircularB-Italic'),
        url('/fonts/EuclidCircularB-Italic.eot?#iefix') format('embedded-opentype'),
        url('/fonts/EuclidCircularB-Italic.woff2') format('woff2'),
        url('/fonts/EuclidCircularB-Italic.woff') format('woff'),
        url('/fonts/EuclidCircularB-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Euclid Circular B';
    src: url('/fonts/EuclidCircularB-Medium.eot');
    src: local('Euclid Circular B Medium'), local('EuclidCircularB-Medium'),
        url('/fonts/EuclidCircularB-Medium.eot?#iefix') format('embedded-opentype'),
        url('/fonts/EuclidCircularB-Medium.woff2') format('woff2'),
        url('/fonts/EuclidCircularB-Medium.woff') format('woff'),
        url('/fonts/EuclidCircularB-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Euclid Circular B';
    src: url('/fonts/EuclidCircularB-SemiBoldItalic.eot');
    src: local('Euclid Circular B SemiBold Italic'), local('EuclidCircularB-SemiBoldItalic'),
        url('/fonts/EuclidCircularB-SemiBoldItalic.eot?#iefix') format('embedded-opentype'),
        url('/fonts/EuclidCircularB-SemiBoldItalic.woff2') format('woff2'),
        url('/fonts/EuclidCircularB-SemiBoldItalic.woff') format('woff'),
        url('/fonts/EuclidCircularB-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
}

@font-face {
    font-family: 'Euclid Circular B';
    src: url('/fonts/EuclidCircularB-BoldItalic.eot');
    src: local('Euclid Circular B Bold Italic'), local('EuclidCircularB-BoldItalic'),
        url('/fonts/EuclidCircularB-BoldItalic.eot?#iefix') format('embedded-opentype'),
        url('/fonts/EuclidCircularB-BoldItalic.woff2') format('woff2'),
        url('/fonts/EuclidCircularB-BoldItalic.woff') format('woff'),
        url('/fonts/EuclidCircularB-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Euclid Circular B';
    src: url('/fonts/EuclidCircularB-MediumItalic.eot');
    src: local('Euclid Circular B Medium Italic'), local('EuclidCircularB-MediumItalic'),
        url('/fonts/EuclidCircularB-MediumItalic.eot?#iefix') format('embedded-opentype'),
        url('/fonts/EuclidCircularB-MediumItalic.woff2') format('woff2'),
        url('/fonts/EuclidCircularB-MediumItalic.woff') format('woff'),
        url('/fonts/EuclidCircularB-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'Euclid Circular B';
    src: url('/fonts/EuclidCircularB-SemiBold.eot');
    src: local('Euclid Circular B SemiBold'), local('EuclidCircularB-SemiBold'),
        url('/fonts/EuclidCircularB-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('/fonts/EuclidCircularB-SemiBold.woff2') format('woff2'),
        url('/fonts/EuclidCircularB-SemiBold.woff') format('woff'),
        url('/fonts/EuclidCircularB-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Euclid Circular B';
    src: url('/fonts/EuclidCircularB-Light.eot');
    src: local('Euclid Circular B Light'), local('EuclidCircularB-Light'),
        url('/fonts/EuclidCircularB-Light.eot?#iefix') format('embedded-opentype'),
        url('/fonts/EuclidCircularB-Light.woff2') format('woff2'),
        url('/fonts/EuclidCircularB-Light.woff') format('woff'),
        url('/fonts/EuclidCircularB-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Euclid Circular B';
    src: url('/fonts/EuclidCircularB-Regular.eot');
    src: local('Euclid Circular B Regular'), local('EuclidCircularB-Regular'),
        url('/fonts/EuclidCircularB-Regular.eot?#iefix') format('embedded-opentype'),
        url('/fonts/EuclidCircularB-Regular.woff2') format('woff2'),
        url('/fonts/EuclidCircularB-Regular.woff') format('woff'),
        url('/fonts/EuclidCircularB-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Euclid Circular B';
    src: url('/fonts/EuclidCircularB-LightItalic.eot');
    src: local('Euclid Circular B Light Italic'), local('EuclidCircularB-LightItalic'),
        url('/fonts/EuclidCircularB-LightItalic.eot?#iefix') format('embedded-opentype'),
        url('/fonts/EuclidCircularB-LightItalic.woff2') format('woff2'),
        url('/fonts/EuclidCircularB-LightItalic.woff') format('woff'),
        url('/fonts/EuclidCircularB-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

/* Общие стили */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    width: 100%;
    overflow-x: hidden;
    font-family: 'Euclid Circular B', sans-serif;
}

body {
    background: #1c1c19 url('/nobg_poster.jpg') no-repeat center center fixed;
    background-size: cover;
    color: #e0e0e0;
    position: relative;
    z-index: 0;
}

/* Частицы */
.particles {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}

.particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: rgba(255, 204, 0, 0.8);
    border-radius: 50%;
    animation: particleFloat infinite linear;
}

.particle.twinkle {
    width: 16px;
    height: 16px;
    background: none;
    position: relative;
    animation: particleFloat infinite linear, twinkle 1.5s infinite alternate;
}

.particle.twinkle::before,
.particle.twinkle::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: linear-gradient(45deg, #f15f22, #f79421);
    clip-path: polygon(50% 0%, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0% 50%, 40% 40%);
}

.particle.twinkle::before {
    width: 16px;
    height: 4px;
}

.particle.twinkle::after {
    width: 4px;
    height: 16px;
}

.particle.twinkle.variant-45::before,
.particle.twinkle.variant-45::after {
    transform: translate(-50%, -50%) rotate(45deg);
}

@keyframes particleFloat {
    0% { transform: translateY(0) scale(1); opacity: 0.7; }
    50% { transform: translateY(-20vh) scale(1.2); opacity: 1; }
    100% { transform: translateY(-40vh) scale(0.8); opacity: 0; }
}

@keyframes twinkle {
    0% { transform: scale(0.5); opacity: 0.3; }
    100% { transform: scale(1.5); opacity: 1; }
}

/* Hero-секция */
.hero-section {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 80px 20px;
    width: 100%;
    z-index: 1;
}

header {
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.svg-logo-header {
    position: relative;
    width: 160px;
    height: auto;
}

.svg-logo-header .logo-front {
    width: 100%;
    height: auto;
    animation: pulse 2s infinite;
}

.hero-content {
    text-align: center;
    max-width: 1200px;
    width: 100%;
    padding-top: 180px;
}

.hero-title {
    font-size: calc(1.40625rem + 1.125vw);
    font-weight: 900;
    background: linear-gradient(45deg, #f15f22, #f79421);
    -webkit-background-clip: text;
    color: transparent;
    margin-bottom: 40px;
}

.typing-text {
    display: inline;
    border-right: 2px solid transparent;
    animation: blink-caret 0.75s step-end infinite;
}

.download-btn {
    display: inline-block;
    padding: 16px 40px;
    background: linear-gradient(45deg, #f15f22, #f79421);
    color: #fff;
    text-decoration: none;
    border-radius: 50px;
    font-size: calc(1rem + 0.5vw);
    font-weight: 700;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.3), -5px -5px 15px rgba(255, 255, 255, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    z-index: 2;
    margin: 0 auto;
    width: auto;
    white-space: nowrap;
}

.download-btn#downloadBtn {
    animation: pulse 2s infinite;
}

.download-btn:hover {
    transform: scale(1.05) translateY(-2px);
    box-shadow: 0 0 20px 5px rgba(241, 95, 34, 0.8),
                5px 5px 15px rgba(0, 0, 0, 0.3),
                -5px -5px 15px rgba(255, 255, 255, 0.1);
}

.footer-cta:hover {
    transform: scale(1.05) translateY(-2px);
    box-shadow: 0 0 20px 5px rgba(241, 95, 34, 0.8),
                5px 5px 15px rgba(0, 0, 0, 0.3),
                -5px -5px 15px rgba(255, 255, 255, 0.1);
}

.platform-info {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 40px;
    font-size: calc(0.8rem + 0.4vw);
    color: #e0e0e0;
}

.platform-info .android-icon {
    margin-right: 8px;
}

/* Секция устройств с круговыми волнами */
.wave-circles {
    text-align: center;
    padding: 0 20px;
}

.devices-title {
    font-size: calc(1.7rem + 0.85vw);
    font-weight: 800;
    background: linear-gradient(45deg, #f15f22, #f79421);
    -webkit-background-clip: text;
    color: transparent;
    margin-bottom: 40px;
}

.wave-container {
    display: flex;
    justify-content: center;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
}

.wave-item {
    position: relative;
    width: 200px;
    text-align: center;
}

.wave-circle {
    width: 80px;
    height: 80px;
    background: radial-gradient(circle, rgba(241, 95, 34, 0.3), transparent);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 10px;
    position: relative;
}

.wave-circle::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1px solid rgba(241, 95, 34, 0.5);
    animation: waveRipple 2s infinite ease-out;
}

.wave-device-icon {
    width: 50px;
    height: 50px;
}

.wave-item h3 {
    font-size: calc(1rem + 0.5vw);
    font-weight: 700;
    background: linear-gradient(45deg, #f15f22, #f79421);
    -webkit-background-clip: text;
    color: transparent;
    margin-bottom: 5px;
}

.wave-item p {
    font-size: calc(0.8rem + 0.2vw);
    color: #e0e0e0;
    opacity: 0.9;
    margin: 0;
}

/* Дополнительный контент */
.about {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
    text-align: center;
    font-size: calc(0.9rem + 0.3vw);
}

@keyframes waveRipple {
    0% { transform: scale(1); opacity: 0.5; }
    100% { transform: scale(1.5); opacity: 0; }
}

/* Подвал */
footer {
    color: #e0e0e0;
    padding: 40px 20px;
    text-align: center;
    font-size: calc(0.8rem + 0.4vw);
    width: 100%;
}

footer h3 {
    font-size: calc(1.5rem + 0.75vw);
    font-weight: 700;
    color: #e0e0e0;
    margin-bottom: 10px;
}

footer h4 {
    font-size: calc(1.3rem + 0.65vw);
    font-weight: 600;
    color: #e0e0e0;
    margin-bottom: 20px;
}

.social-links {
    list-style: none;
    padding: 20px 0;
    margin: 0;
    display: flex;
    justify-content: center;
    gap: 20px;
}

.social-links li {
    display: flex;
    align-items: center;
    gap: 5px;
}

.social-links a {
    color: #e0e0e0;
    text-decoration: none;
    font-size: calc(0.9rem + 0.3vw);
    display: flex;
    align-items: center;
    gap: 5px;
    transition: color 0.3s ease, transform 0.3s ease;
}

.social-links a:hover {
    color: #f79421;
    transform: scale(1.1);
}

.social-icon {
    fill: #e0e0e0;
    transition: fill 0.3s ease;
}

.social-links a:hover .social-icon {
    fill: #f79421;
}

.footer-cta {
    margin-top: 20px;
}

/* Анимации */
@keyframes fadeInUp {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

@keyframes blink-caret {
    from, to { border-color: transparent; }
    50% { border-color: #f79421; }
}

/* Адаптивность */
@media (max-width: 768px) {
    .hero-section { padding: 60px 15px; }
    .hero-title { font-size: calc(1.125rem + 0.84375vw); }
    .download-btn { padding: 12px 32px; font-size: calc(0.8rem + 0.4vw); }
    .platform-info { font-size: calc(0.7rem + 0.3vw); margin-bottom: 30px; }
    .wave-circles { padding: 0 15px; }
    .devices-title { font-size: calc(1.53rem + 0.7225vw); }
    .wave-container { flex-direction: column; align-items: center; gap: 20px; }
    .wave-item { width: 100%; max-width: 300px; }
    .about { font-size: calc(0.8rem + 0.2vw); margin: 30px auto; }
    footer { padding: 30px 15px; }
    footer h3 { font-size: calc(1.35rem + 0.6375vw); }
    footer h4 { font-size: calc(1.17rem + 0.5525vw); }
    .social-links { flex-direction: column; gap: 10px; align-items: center; }
}

@media (max-width: 480px) {
    .hero-section { padding: 40px 10px; }
    .hero-title { font-size: calc(1.0125rem + 0.5625vw); }
    .download-btn { padding: 10px 24px; font-size: calc(0.7rem + 0.3vw); }
    .platform-info { font-size: calc(0.6rem + 0.2vw); margin-bottom: 20px; }
    .wave-circles { padding: 0 10px; }
    .devices-title { font-size: calc(1.275rem + 0.6375vw); }
    .wave-item h3 { font-size: calc(0.9rem + 0.4vw); }
    .wave-item p { font-size: calc(0.7rem + 0.1vw); }
    .about { font-size: calc(0.7rem + 0.1vw); margin: 20px auto; }
    footer h3 { font-size: calc(1.125rem + 0.5625vw); }
    footer h4 { font-size: calc(0.975rem + 0.4875vw); }
    .social-links { flex-direction: column; gap: 10px; align-items: center; }
}