Guest Pass Travel Advantage — бесплатно · Procreator.top { "@context": "https://schema.org", "@type": "TravelAgency", "name": "Travel Advantage Procreator", "description": "Эксклюзивные групповые туры и путешествия для фрилансеров и цифровых кочевников", "url": "https://procreator.top", "logo": "https://procreator.top/logo.png", "image": "https://procreator.top/og-image.jpg", "telephone": "+79853422252", "contactPoint": { "@type": "ContactPoint", "telephone": "+79853422252", "contactType": "customer service", "areaServed": "RU", "availableLanguage": "Russian" }, "areaServed": "Worldwide", "priceRange": "$$", "offers": { "@type": "Offer", "url": "https://procreator.top/guest-pass-travel/", "priceCurrency": "USD", "price": "0", "availability": "https://schema.org/InStock" }, "sameAs": ["https://t.me/NikolayMaksimenko"] } :root { --accent: #4f9df7; --text: #e0e8ff; --bg-dark: #000; --bg-card: rgba(255, 255, 255, 0.02); --radius: 12px; --gap-xs: 12px; --gap-s: 20px; --gap-m: 32px; --gap-l: 48px; --gap-xl: 64px; } * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--bg-dark); color: var(--text); line-height: 1.6; overflow-x: hidden; min-height: 100vh; } .container { width: 100%; padding: 0; margin: 0; } h1, h2, h3, h4 { font-weight: 700; line-height: 1.2; } h1 { font-size: clamp(2.8rem, 8vw, 5.4rem); margin-bottom: 1rem; } h2 { font-size: clamp(2.2rem, 5.5vw, 3.4rem); text-align: center; margin-bottom: var(--gap-l); position: relative; } h2::after { content: ''; display: block; width: 80px; height: 3px; background: linear-gradient(135deg, var(--accent), #7abaff); margin: 28px auto 0; border-radius: 2px; opacity: 0.9; } h3 { font-size: clamp(1.4rem, 3vw, 1.8rem); margin-bottom: 0.75rem; } p { margin-bottom: 1rem; opacity: 0.92; } a { color: var(--accent); text-decoration: none; transition: all 0.28s ease; } a:hover { color: #7abaff; } img, video { max-width: 100%; display: block; } header { padding: 16px 0; text-align: center; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(10px); z-index: 100; width: 100%; position: sticky; top: 0; } .logo { font-size: clamp(1.3rem, 3.8vw, 1.7rem); font-weight: 700; letter-spacing: 0.5px; background: linear-gradient(90deg, #2d6eb8, var(--accent), #7abaff, var(--accent)); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: 0 0 16px rgba(79, 157, 247, 0.35); background-size: 200% 100%; background-position: 0% 50%; animation: gradient-shift 8s ease-in-out infinite; } @keyframes gradient-shift { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } .hero { position: relative; min-height: 60vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: var(--gap-xl) 0; overflow: hidden; width: 100%; } .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.68; z-index: -1; } .hero-content { width: 100%; max-width: 100%; margin: 0 auto; padding: 0 20px; } .hero p { font-size: clamp(1.1rem, 3vw, 1.35rem); opacity: 0.92; } .btn { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-height: 64px; padding: 0 2.8rem; font-size: 1.25rem; font-weight: 700; color: #fff; text-decoration: none; border-radius: 999px; background: transparent; border: 2px solid; border-image: linear-gradient(135deg, var(--accent), #2d6eb8) 1; transition: all 0.28s ease; box-shadow: 0 4px 20px rgba(79, 157, 247, 0.2), inset 0 0 12px rgba(79,157,247,0.15); will-change: transform; position: relative; background-image: linear-gradient(to bottom, rgba(255,255,255,0.03), rgba(255,255,255,0.01)); touch-action: manipulation; -webkit-tap-highlight-color: transparent; } .btn:hover { transform: translateY(-3px); box-shadow: 0 16px 48px rgba(79, 157, 247, 0.7), inset 0 0 16px rgba(79,157,247,0.25); border-image: linear-gradient(135deg, #7abaff, var(--accent)) 1; } .btn:focus { outline: 2px solid var(--accent); outline-offset: 2px; } .btn small { font-size: 0.88rem; font-weight: 400; opacity: 0.9; margin-top: 4px; } .btn-club { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 16px 32px; font-size: clamp(1.1rem, 2.8vw, 1.35rem); font-weight: 700; color: #fff; text-decoration: none; border-radius: 8px; background: transparent; border: 2px solid transparent; position: relative; overflow: hidden; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 4px 20px rgba(79, 157, 247, 0.25); will-change: transform, box-shadow; text-transform: uppercase; letter-spacing: 0.5px; touch-action: manipulation; -webkit-tap-highlight-color: transparent; } .btn-club::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, var(--accent), #7abaff, #2d6eb8, var(--accent)); z-index: -1; filter: blur(8px); opacity: 0.8; transition: all 0.4s ease; } .btn-club::after { content: ''; position: absolute; inset: 2px; background: var(--bg-dark); border-radius: 6px; z-index: -1; transition: all 0.3s ease; } .btn-club:hover { transform: translateY(-4px) scale(1.02); box-shadow: 0 12px 40px rgba(79, 157, 247, 0.6), 0 0 30px rgba(79, 157, 247, 0.4); color: #fff; } .btn-club:hover::before { filter: blur(12px); opacity: 1; } .btn-club:hover::after { transform: scale(0.95); opacity: 0.85; } .btn-club:active { transform: translateY(0) scale(0.98); } .btn-club span { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; } .btn-club small { display: block; font-size: clamp(0.75rem, 1.8vw, 0.9rem); font-weight: 500; opacity: 0.95; margin-top: 4px; letter-spacing: 0.3px; text-transform: none; } .btn-club:focus { outline: 2px solid var(--accent); outline-offset: 2px; } section { padding: var(--gap-xl) 0; width: 100%; } .cta { text-align: center; padding: var(--gap-xl) 0; width: 100%; } .reviews { overflow-x: auto; padding: 20px 0; scroll-snap-type: x mandatory; scrollbar-width: none; position: relative; z-index: 1; -webkit-overflow-scrolling: touch; touch-action: pan-x; margin: 0; max-width: 100%; background: var(--bg-dark); overflow: visible; width: 100%; } .reviews::-webkit-scrollbar { display: none; } .reviews-inner { display: flex; gap: 28px; justify-content: center; padding: 16px 20px; position: relative; overflow: visible; width: 100%; } .sphere { flex: 0 0 130px; height: 130px; border-radius: 50%; overflow: hidden; background: var(--bg-dark); cursor: pointer; transition: all 0.28s ease; scroll-snap-align: center; position: relative; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7), 0 0 28px rgba(79, 157, 247, 0.25); touch-action: manipulation; z-index: 10; will-change: transform, filter; outline: 0; -webkit-tap-highlight-color: transparent; } .sphere:focus { outline: 2px solid var(--accent); outline-offset: 2px; } .sphere::before { content: ''; position: absolute; inset: -6px; border-radius: 50%; background: linear-gradient(135deg, #7abaff, var(--accent), #2d6eb8, #1a5299, #7abaff); z-index: -1; animation: pulse 4.5s ease-in-out infinite; opacity: 0.65; filter: blur(16px); will-change: transform, opacity, filter; } .sphere::after { content: ''; position: absolute; inset: -2.5px; border-radius: 50%; background: linear-gradient(105deg, #7abaff, var(--accent), #2d6eb8, #7abaff); z-index: -1; opacity: 0.9; filter: blur(8px); } .sphere .inner-dark { position: absolute; inset: 7px; background: var(--bg-dark); border-radius: 50%; z-index: 2; } .sphere video { width: 100%; height: 100%; object-fit: cover; opacity: 0.26; filter: brightness(0.42) contrast(1.35); will-change: filter; } .sphere:hover { transform: scale(1.14); box-shadow: 0 10px 32px rgba(0, 0, 0, 0.8), 0 0 40px rgba(79, 157, 247, 0.45); } .sphere:hover::before { animation: pulse 2.2s ease-in-out infinite; filter: blur(20px); opacity: 0.85; } .sphere:hover::after { filter: blur(10px); opacity: 1; } @keyframes pulse { 0%, 100% { transform: scale(1); opacity: 0.55; } 50% { transform: scale(1.14); opacity: 0.75; } } .social-proof { text-align: center; padding: var(--gap-l) 0; width: 100%; } .social-proof h3 { margin-bottom: 16px; font-size: clamp(1.6rem, 4vw, 2rem); } .ambassador { width: 100%; max-width: 100%; margin: 0 auto; text-align: center; padding: 0 20px; } .ambassador-avatar { width: 140px; height: 170px; margin: 0 auto 16px; overflow: hidden; border-radius: var(--radius); } .ambassador-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; will-change: transform; } .ambassador-status { color: var(--accent); font-size: 0.95rem; margin-bottom: 12px; font-weight: 600; } .ambassador h2 a { color: var(--text); font-size: clamp(1.4rem, 3.5vw, 1.8rem); text-decoration: none; font-weight: 700; display: inline-block; padding: 8px 20px; transition: all 0.28s ease; } .ambassador h2 a:hover { color: #7abaff; } .ambassador h2 a:focus { outline: 2px solid var(--accent); outline-offset: 2px; } .grid-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--gap-l); margin-top: var(--gap-m); width: 100%; padding: 0 20px; justify-items: center; } .benefit { padding: var(--gap-m); background: var(--bg-card); border-radius: var(--radius); text-align: center; border: 1px solid rgba(255, 255, 255, 0.05); transition: all 0.28s ease; max-width: 360px; touch-action: manipulation; -webkit-tap-highlight-color: transparent; } .benefit:hover { background: rgba(255, 255, 255, 0.05); transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3); } .how-to-section { background: #0a0a0a; padding: var(--gap-xl) 0; width: 100%; } .how-to { width: 100%; max-width: 100%; margin: 0 auto; padding: 0 20px; display: flex; flex-direction: column; align-items: center; } .step-item { margin-bottom: var(--gap-l); padding-left: var(--gap-m); border-left: 4px solid var(--accent); max-width: 800px; width: 100%; } .step-item h3 { font-size: clamp(1.3rem, 3vw, 1.6rem); margin-bottom: 0.5rem; } .step-item p { font-size: clamp(0.95rem, 2vw, 1.1rem); opacity: 0.9; } .modal { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.96); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity 0.3s ease; touch-action: none; } .modal.active { opacity: 1; visibility: visible; } .modal-content { width: 96vw; max-width: 100%; max-height: 90vh; position: relative; } .modal-video { width: 100%; height: auto; max-height: 90vh; object-fit: contain; border-radius: 12px; background: var(--bg-dark); } .modal-close { position: absolute; top: 16px; right: 16px; color: rgba(255, 255, 255, 0.85); font-size: 1.8rem; background: rgba(0, 0, 0, 0.45); border: none; border-radius: 50%; cursor: pointer; padding: 8px; min-height: 40px; min-width: 40px; z-index: 10; transition: all 0.28s ease; backdrop-filter: blur(4px); touch-action: manipulation; -webkit-tap-highlight-color: transparent; } .modal-close:hover { color: white; background: rgba(79, 157, 247, 0.4); transform: scale(1.15); box-shadow: 0 0 16px rgba(79, 157, 247, 0.5); } .modal-close:focus { outline: 2px solid var(--accent); outline-offset: 2px; } .modal-overlay { position: absolute; inset: 0; z-index: 5; } :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; } button, a, .benefit { transition: all 0.28s ease; } .club-section { background: linear-gradient(135deg, rgba(79,157,247,0.15), rgba(0,0,0,0.95)); padding: var(--gap-xl) 0; text-align: center; border-top: 1px solid rgba(79,157,247,0.3); border-bottom: 1px solid rgba(79,157,247,0.3); box-shadow: inset 0 0 40px rgba(79,157,247,0.2); width: 100%; position: relative; overflow: hidden; } .club-section::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at center, rgba(79,157,247,0.25), transparent); opacity: 0.6; z-index: -1; } .club-section h2 { color: #fff; text-shadow: 0 0 12px rgba(79,157,247,0.5); } .club-section p { max-width: 800px; margin: 0 auto var(--gap-m); font-size: clamp(1rem, 2.5vw, 1.2rem); opacity: 0.95; } .club-section .club-features { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--gap-m); margin-bottom: var(--gap-l); } .club-section .club-feature { flex: 1 1 280px; padding: var(--gap-s); background: rgba(255,255,255,0.03); border-radius: var(--radius); border: 1px solid rgba(79,157,247,0.15); text-align: left; transition: all 0.28s ease; } .club-section .club-feature:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(79,157,247,0.25); } .club-section .club-feature h3 { font-size: clamp(1.2rem, 2.8vw, 1.4rem); margin-bottom: 0.5rem; color: var(--accent); } .club-section .club-feature p { margin: 0; font-size: 0.95rem; opacity: 0.9; } @media (max-width: 768px) { .club-section .club-features { flex-direction: column; align-items: center; } .club-section .club-feature { width: 100%; max-width: 480px; text-align: center; } } /* ──────────────────────────────────────────────── ОБНОВЛЁННЫЙ КОМПАКТНЫЙ ФУТЕР Центрирован, растянут по ширине, адаптивный ───────────────────────────────────────────────── */ footer { padding: 32px 16px 40px; text-align: center; color: #777; border-top: 1px solid #1a1a1a; background: rgba(0, 0, 0, 0.96); font-size: 0.92rem; width: 100%; } footer .container { max-width: 100%; padding: 0; } footer .phones { margin: 16px 0 24px; font-size: 1.05rem; opacity: 0.92; } footer .phones a { color: #ccc; text-decoration: none; transition: all 0.2s ease; } footer .phones a:hover { color: var(--accent); text-shadow: 0 0 8px rgba(79, 157, 247, 0.5); } footer .footer-menu { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 24px; margin: 0 auto 20px; max-width: 780px; font-size: 0.94rem; padding: 0; list-style: none; } footer .footer-menu a { color: #aaa; text-decoration: none; transition: color 0.22s ease; white-space: nowrap; padding: 4px 8px; border-radius: 4px; touch-action: manipulation; -webkit-tap-highlight-color: transparent; } footer .footer-menu a:hover, footer .footer-menu a:focus { color: var(--accent); background: rgba(79, 157, 247, 0.08); outline: none; transform: translateY(-1px); } footer .declaration { font-size: 0.78rem; line-height: 1.5; opacity: 0.55; margin-top: 20px; max-width: 640px; margin-left: auto; margin-right: auto; color: #666; } /* ── МОБИЛЬНАЯ АДАПТАЦИЯ ФУТЕРА ── */ @media (max-width: 768px) { footer { padding: 28px 12px 36px; } footer .footer-menu { gap: 12px 18px; font-size: 0.86rem; line-height: 1.4; } footer .phones { font-size: 0.98rem; margin: 12px 0 20px; } footer .declaration { font-size: 0.72rem; opacity: 0.50; margin-top: 24px; } } @media (max-width: 480px) { footer { padding: 24px 10px 32px; } footer .footer-menu { gap: 10px 14px; font-size: 0.82rem; flex-direction: column; align-items: center; } footer .footer-menu a { width: 100%; max-width: 320px; padding: 6px 12px; } footer .phones { font-size: 0.94rem; margin: 10px 0 18px; } footer .declaration { font-size: 0.68rem; opacity: 0.48; margin-top: 22px; line-height: 1.4; } } @media (max-width: 360px) { footer { padding: 20px 8px 28px; } footer .footer-menu { gap: 8px 12px; font-size: 0.78rem; } footer .phones { font-size: 0.9rem; margin: 8px 0 16px; } footer .declaration { font-size: 0.64rem; opacity: 0.45; margin-top: 20px; } } /* === УЛУЧШЕННАЯ МОБИЛЬНАЯ ВЕРСИЯ === */ @media (max-width: 768px) { :root { --gap-xl: 40px; --gap-l: 32px; --gap-m: 20px; --gap-s: 16px; } header { padding: 12px 0; background: rgba(0, 0, 0, 0.7); backdrop-filter: blur(8px); } .logo { font-size: clamp(1.15rem, 4vw, 1.4rem); letter-spacing: 0.3px; } .hero { min-height: 50vh; padding: var(--gap-l) 0; } .hero-video { opacity: 0.55; } h1 { font-size: clamp(2rem, 7vw, 3.5rem); line-height: 1.15; } .hero p { font-size: clamp(1rem, 2.8vw, 1.2rem); line-height: 1.5; } .btn { min-height: 56px; font-size: clamp(1.1rem, 2.8vw, 1.2rem); padding: 0 clamp(1.5rem, 3vw, 2rem); width: 100%; max-width: 440px; } .btn small { font-size: clamp(0.8rem, 2vw, 0.85rem); } .btn-club { width: 100%; max-width: 440px; padding: 16px clamp(1.2rem, 2.5vw, 1.8rem); font-size: clamp(1rem, 2.5vw, 1.15rem); } .btn-club small { font-size: clamp(0.65rem, 1.8vw, 0.8rem); } .reviews { padding: 12px 0; } .reviews-inner { gap: 16px; padding: 10px 12px; } .sphere { flex: 0 0 100px; height: 100px; } .sphere::before, .sphere::after { filter: blur(12px); } .ambassador-avatar { width: 100px; height: 120px; } .ambassador-status { font-size: 0.85rem; } .ambassador h2 a { font-size: clamp(1.25rem, 3vw, 1.5rem); padding: 6px 14px; } .grid-benefits { grid-template-columns: 1fr; gap: var(--gap-m); } .benefit { padding: var(--gap-s); } .step-item { padding-left: var(--gap-s); margin-bottom: var(--gap-m); } .step-item h3 { font-size: clamp(1.2rem, 2.8vw, 1.4rem); } .step-item p { font-size: clamp(0.9rem, 1.8vw, 1rem); } .club-section { padding: var(--gap-l) 0; } .club-section p { font-size: clamp(0.95rem, 2.2vw, 1.1rem); } .club-section .club-features { gap: var(--gap-s); margin-bottom: var(--gap-m); } .club-section .club-feature { padding: var(--gap-xs); } .club-section .club-feature h3 { font-size: clamp(1.1rem, 2.5vw, 1.3rem); } .club-section .club-feature p { font-size: clamp(0.85rem, 1.8vw, 0.95rem); } } @media (max-width: 480px) { :root { --gap-xl: 32px; --gap-l: 24px; --gap-m: 16px; --gap-s: 12px; --gap-xs: 8px; } header { padding: 10px 0; } .logo { font-size: clamp(1rem, 4.5vw, 1.25rem); } .hero { min-height: 40vh; padding: var(--gap-m) 0; } h1 { font-size: clamp(1.8rem, 6vw, 2.8rem); } .hero p { font-size: clamp(0.95rem, 2.5vw, 1.1rem); } .btn { min-height: 52px; font-size: clamp(1rem, 2.5vw, 1.1rem); padding: 0 clamp(1.2rem, 2.8vw, 1.6rem); } .btn small { font-size: clamp(0.75rem, 1.8vw, 0.8rem); } .btn-club { padding: 14px clamp(1rem, 2.2vw, 1.4rem); font-size: clamp(0.95rem, 2.2vw, 1.05rem); } .btn-club small { font-size: clamp(0.6rem, 1.6vw, 0.7rem); } .reviews-inner { gap: 12px; padding: 8px 10px; } .sphere { flex: 0 0 88px; height: 88px; } .ambassador-avatar { width: 85px; height: 100px; } .ambassador h2 a { font-size: clamp(1.15rem, 2.8vw, 1.4rem); } h2 { font-size: clamp(1.8rem, 4.5vw, 2.4rem); } h2::after { width: 60px; height: 2px; margin: 20px auto 0; } h3 { font-size: clamp(1.25rem, 2.8vw, 1.5rem); } .social-proof h3 { font-size: clamp(1.4rem, 3.5vw, 1.8rem); } .club-section h2 { font-size: clamp(1.8rem, 4.5vw, 2.4rem); } } @media (max-width: 360px) { :root { --gap-xl: 28px; --gap-l: 20px; --gap-m: 14px; --gap-s: 10px; --gap-xs: 6px; } header { padding: 8px 0; } .logo { font-size: clamp(0.95rem, 4.8vw, 1.15rem); } .hero { min-height: 35vh; padding: var(--gap-s) 0; } h1 { font-size: clamp(1.6rem, 5.5vw, 2.4rem); } .hero p { font-size: clamp(0.9rem, 2.2vw, 1rem); } .btn { min-height: 48px; font-size: clamp(0.95rem, 2.2vw, 1rem); padding: 0 clamp(1rem, 2.5vw, 1.4rem); } .btn small { font-size: clamp(0.7rem, 1.6vw, 0.75rem); } .btn-club { padding: 12px clamp(0.9rem, 2vw, 1.2rem); font-size: clamp(0.9rem, 2vw, 1rem); } .btn-club small { font-size: clamp(0.55rem, 1.4vw, 0.65rem); } .reviews-inner { gap: 10px; padding: 6px 8px; } .sphere { flex: 0 0 80px; height: 80px; } .ambassador-avatar { width: 75px; height: 90px; } .ambassador h2 a { font-size: clamp(1.1rem, 2.6vw, 1.3rem); } h2 { font-size: clamp(1.6rem, 4vw, 2.1rem); } h3 { font-size: clamp(1.2rem, 2.6vw, 1.4rem); } .step-item h3 { font-size: clamp(1.15rem, 2.5vw, 1.3rem); } .step-item p { font-size: clamp(0.85rem, 1.6vw, 0.95rem); } .club-section h2 { font-size: clamp(1.6rem, 4vw, 2.1rem); } }

Guest Pass Travel Advantage

Доступ к 2 млн отелей · скидки до 50%
Закрытый клуб путешественников по приглашению

Впечатления амбассадоров

Николай Максименко
Официальный амбассадор MWR Life

💬 Nikolay Maksimenko

Путешествия, которые меняют жизнь

Глобальное сообщество

Предприниматели, лидеры и вдохновляющие личности рядом с вами.

AI-ассистент

Подбирает маршруты, отслеживает цены, находит уникальные места.

Эксклюзивный доступ

2 млн отелей, виллы, закрытые мероприятия, ранний доступ.

Как начать своё путешествие

Получите Guest Pass

Доступ на две ночи. Без обязательств и без привязки карты.

Выберите свой экспириенс

Присоединитесь к групповой поездке или создайте индивидуальный маршрут.

Развивайтесь вместе с нами

Стать амбассадором за $99 — получить доступ к Biz Center и маркетинговым инструментам

Для доступа к платформе может потребоваться VPN. Посмотреть презентацию

Эксклюзивный клуб путешественников

Присоединяйтесь к Travel Advantage™ и откройте незабываемые путешествия с Life Experiences©. Зарабатывайте баллы лояльности ежемесячно и путешествуйте бесплатно после 12 месяцев!

Эксклюзивные поездки

Курированные приключения, культура и отдых по премиум-качеству за fraction цены.

Баллы лояльности

До 100% стоимости поездки за баллы после 12 месяцев. Скидки сразу.

Глобальное сообщество

Присоединяйтесь к единомышленникам-исследователям со всего мира.

Присоединиться сейчас Незабываемое путешествие начинается здесь
window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js',new Date());gtag('config','G-XXXXXXXXXX'); (function(){'use strict';document.addEventListener('DOMContentLoaded',function(){ /* === ВИДЕО МОДАЛЬНОЕ ОКНО === */ const spheres = document.querySelectorAll('.sphere'); const modal = document.getElementById('videoModal'); const player = document.getElementById('modalVideoPlayer'); const closeBtn = document.getElementById('closeVideoModal'); const modalOverlay = document.getElementById('modalOverlay'); let lastPlayedSphere = null; const closeModal = function() { player.pause(); player.currentTime = 0; player.src = ''; modal.classList.remove('active'); document.body.style.overflow = ''; document.body.style.touchAction = ''; if (lastPlayedSphere) { const sphereVideo = lastPlayedSphere.querySelector('video'); if (sphereVideo) { sphereVideo.play().catch(function(){}); } } }; spheres.forEach(function(sphere) { sphere.addEventListener('click', function(e) { e.stopPropagation(); const videoUrl = this.dataset.video; if (lastPlayedSphere && lastPlayedSphere !== this) { const prevVideo = lastPlayedSphere.querySelector('video'); if (prevVideo) prevVideo.pause(); } player.src = videoUrl; player.load(); player.oncanplay = function() { player.play().catch(function(err) { console.log('Autoplay prevented:', err); }); }; player.onerror = function(e) { console.error('Ошибка загрузки видео:', e); alert('Не удалось загрузить видео. Попробуйте позже.'); }; modal.classList.add('active'); document.body.style.overflow = 'hidden'; document.body.style.touchAction = 'none'; lastPlayedSphere = this; }); }); closeBtn.addEventListener('click', function(e) { e.stopPropagation(); closeModal(); }, {passive: false}); modalOverlay.addEventListener('click', function(e) { e.stopPropagation(); closeModal(); }, {passive: false}); modal.addEventListener('click', function(e) { if (e.target === modal) closeModal(); }, {passive: false}); document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && modal.classList.contains('active')) { closeModal(); } }, {passive: false}); /* === ОПТИМИЗАЦИЯ ВИДЕО === */ const optimizeVideos = function() { if ('ontouchstart' in window || navigator.maxTouchPoints > 0) { document.querySelectorAll('.sphere video').forEach(function(video) { video.setAttribute('playsinline', ''); video.setAttribute('webkit-playsinline', ''); video.muted = true; video.play().catch(function(){}); }); } }; const setupScrollHandler = function() { let scrollTimer; window.addEventListener('scroll', function() { clearTimeout(scrollTimer); scrollTimer = setTimeout(function() { document.querySelectorAll('.sphere video').forEach(function(vid) { if (!vid.paused) vid.pause(); }); }, 200); }, {passive: true}); }; optimizeVideos(); setupScrollHandler(); /* === ТАЧ-ЭФФЕКТЫ === */ if ('ontouchstart' in window || navigator.maxTouchPoints) { document.querySelectorAll('.btn, .benefit').forEach(function(el) { el.addEventListener('touchstart', function() { this.style.transform = 'scale(0.98)'; }, {passive: true}); el.addEventListener('touchend', function() { this.style.transform = ''; }, {passive: true}); }); } })})();