/* =========================================== Hero Section (Centered & Immersive) — Tapops =========================================== */ .research-hero.immersive-hero { background: radial-gradient(circle at center, #003150 0%, #001e35 100%); color: white; padding: 160px 5% 180px; position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; text-align: center; padding-bottom: 200px; } .research-hero::before { content: ''; position: absolute; width: 800px; height: 800px; left: 50%; top: 50%; transform: translate(-50%, -50%); background: conic-gradient(from 180deg at 50% 50%, transparent 0deg, rgba(254, 180, 1, 0.15) 180deg, transparent 360deg); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #fff 0); mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #fff 0); border-radius: 50%; pointer-events: none; z-index: 1; animation: rotate-orbit 30s linear infinite; } @keyframes rotate-orbit { from { transform: translate(-50%, -50%) rotate(0deg); } to { transform: translate(-50%, -50%) rotate(360deg); } } .hero-container-centered { max-width: 900px; position: relative; z-index: 2; width: 100%; padding: 0 16px; } .hero-kicker { font-size: 0.85rem; letter-spacing: 4px; font-weight: 800; color: var(--secondary-gold); text-transform: uppercase; margin-bottom: 24px; display: inline-block; } .hero-title { font-size: 4.8rem; font-weight: 800; line-height: 1.05; letter-spacing: -3px; margin-bottom: 30px; } .hero-tagline { font-size: 1.25rem; line-height: 1.6; opacity: 0.85; margin-bottom: 45px; } .hero-actions { display: flex; justify-content: center; gap: 20px; } /* --- Floating Insight Bar --- */ .hero-floating-stat-bar { position: absolute; bottom: 50px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; background: rgba(255, 255, 255, 0.03); backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.1); padding: 25px 60px; border-radius: 4px; z-index: 3; gap: 40px; box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3); max-width: calc(100% - 32px); box-sizing: border-box; } .stat-bar-item { display: flex; flex-direction: column; align-items: center; white-space: nowrap; } .stat-bar-value { font-size: 2.2rem; font-weight: 800; color: var(--secondary-gold); line-height: 1.1; } .stat-bar-label { font-size: 0.7rem; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 700; opacity: 0.6; margin-top: 4px; } .stat-bar-divider { width: 1px; height: 40px; background: rgba(255, 255, 255, 0.1); } /* =========================================== Hero Responsive =========================================== */ @media (max-width: 992px) { .research-hero.immersive-hero { padding: 120px 5% 180px; } .hero-title { font-size: 3.5rem; letter-spacing: -2px; } .hero-tagline { font-size: 1.1rem; } .hero-floating-stat-bar { padding: 20px 32px; gap: 24px; } .stat-bar-value { font-size: 1.6rem; } } @media (max-width: 768px) { .research-hero.immersive-hero { padding: 100px 16px 130px; } .hero-kicker { font-size: 0.68rem; letter-spacing: 2.5px; margin-bottom: 16px; } .hero-title { font-size: 2.2rem; letter-spacing: -1px; margin-bottom: 18px; } .hero-tagline { font-size: 0.9rem; line-height: 1.5; margin-bottom: 28px; } .hero-actions { flex-direction: column; align-items: stretch; gap: 12px; width: 100%; max-width: 320px; margin: 0 auto; } .hero-floating-stat-bar { width: 100%; max-width: 320px; padding: 18px 24px; gap: 20px; bottom: 30px; } .stat-bar-value { font-size: 1.3rem; } .stat-bar-label { font-size: 0.6rem; letter-spacing: 1px; } .stat-bar-divider { height: 30px; } .research-hero::before { width: 400px; height: 400px; } } @media (max-width: 480px) { .research-hero.immersive-hero { padding: 80px 12px 125px; } .hero-kicker { font-size: 0.6rem; letter-spacing: 2px; } .hero-title { font-size: 1.8rem; letter-spacing: -0.5px; margin-bottom: 14px; } .hero-tagline { font-size: 0.82rem; line-height: 1.45; margin-bottom: 22px; } .hero-actions { max-width: 280px; } .hero-floating-stat-bar { flex-direction: row; bottom: 20px; gap: 16px; padding: 14px 20px; width: 100%; max-width: 280px; justify-content: space-evenly; } .stat-bar-divider { width: 1px; height: 24px; } .stat-bar-value { font-size: 1.2rem; } .research-hero::before { width: 280px; height: 280px; } }