// ============================================ // Product Page Styles - Flexbox Layout // ============================================ // Variables @bg-hero: #010005; @gradient-card: linear-gradient(180deg, #111111 17%, #083868 100%); @gradient-orange: linear-gradient(180deg, #FEA648 0%, #FE6B23 100%); @gradient-blue: linear-gradient(90deg, #0077EE 0%, #006AF2 100%); @text-primary: #FFFFFF; @text-title: #04020D; @tag-bg: rgba(242, 213, 190, 0.08); @font-display: 'IntelOne Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; @font-sf: 'SF Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; // Page Container .product-page { width: 100%; min-height: 100vh; background: white; } // Hero Section .hero-section { width: 100%; height: 640px; background: @bg-hero; position: relative; overflow: hidden; display: flex; align-items: center; .hero-bg-image { position: absolute; width: 100%; height: 100%; left: 0; top: 0; object-fit: cover; } .hero-content { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; padding: 0 40px; width: 100%; } .hero-title { font-family: @font-display; font-size: 72px; font-weight: 500; letter-spacing: 1.44px; color: @text-primary; margin: 0 0 32px 0; line-height: 1.1; @media (max-width: 1024px) { font-size: 48px; } @media (max-width: 768px) { font-size: 32px; letter-spacing: 0.5px; margin-bottom: 16px; } @media (max-width: 480px) { font-size: 24px; } } .hero-subtitle { font-family: @font-display; font-size: 24px; font-weight: 400; letter-spacing: 0.36px; color: @text-primary; margin: 0; max-width: 560px; line-height: 1.5; @media (max-width: 1024px) { font-size: 18px; } @media (max-width: 768px) { font-size: 15px; max-width: 100%; } @media (max-width: 480px) { font-size: 14px; } } } // Products Section .products-section { width: 100%; max-width: 1680px; margin: 0 auto; padding: 60px 40px; box-sizing: border-box; @media (max-width: 1024px) { padding: 40px 20px; } @media (max-width: 768px) { padding: 32px 16px; } @media (max-width: 480px) { padding: 24px 12px; } } // Section Title .section-title { text-align: center; font-family: @font-display; font-size: 48px; font-weight: 500; letter-spacing: 0.24px; color: @text-title; margin: 0 0 60px 0; @media (max-width: 1024px) { font-size: 32px; margin-bottom: 40px; } @media (max-width: 768px) { font-size: 24px; margin-bottom: 32px; } @media (max-width: 480px) { font-size: 20px; margin-bottom: 24px; } span { color: @text-title; } } // Products Grid - Flexbox Layout .products-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; max-width: 1600px; margin: 0 auto; } // Product Card .product-card { flex: 0 0 calc(50% - 10px); max-width: 790px; min-width: 375px; height: 800px; background: @gradient-card; border-radius: 12px; overflow: hidden; @media (max-width: 1024px) { flex: 1 1 100%; min-width: auto; height: auto; min-height: 800px; } .product-card-inner { display: flex; flex-direction: column; height: 100%; padding: 64px 80px 0; box-sizing: border-box; @media (max-width: 1024px) { padding: 40px 24px 0; } } .product-content { display: flex; flex-direction: column; align-items: center; text-align: center; flex: 1; } // Product Header - Logo + Tagline .product-header { display: flex; flex-direction: column; align-items: center; margin-bottom: 24px; width: 100%; } .product-logo { width: 320px; height: 42px; object-fit: contain; margin-bottom: 10px; @media (max-width: 480px) { width: 100%; max-width: 320px; height: auto; } } .product-tagline { font-family: @font-display; font-size: 14px; font-weight: 500; letter-spacing: 0.07px; background: @gradient-orange; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; white-space: nowrap; } // Description .product-description { font-family: @font-display; font-size: 24px; font-weight: 400; letter-spacing: 0.36px; color: @text-primary; margin: 0 0 24px 0; max-width: 534px; line-height: 1.4; @media (max-width: 1024px) { font-size: 18px; } @media (max-width: 768px) { font-size: 15px; margin-bottom: 16px; } @media (max-width: 480px) { font-size: 14px; margin-bottom: 12px; } } // Tags - Flexbox layout .product-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 32px; width: 100%; max-width: 630px; @media (max-width: 768px) { gap: 6px; margin-bottom: 20px; } @media (max-width: 480px) { gap: 4px; margin-bottom: 16px; } } .tag { background: @tag-bg; border-radius: 4px; padding: 9px 12px; font-family: @font-sf; font-size: 14px; font-weight: 400; color: @text-primary; white-space: nowrap; line-height: 1; @media (max-width: 768px) { font-size: 12px; padding: 6px 10px; } @media (max-width: 480px) { font-size: 11px; padding: 5px 8px; } } // Learn More Button .learn-more-btn { width: 168px; height: 44px; background: @gradient-blue; border: none; border-radius: 24px; font-family: @font-sf; font-size: 16px; font-weight: 510; letter-spacing: 0.08px; color: @text-primary; cursor: pointer; transition: opacity 0.2s ease; margin-bottom: auto; &:hover { opacity: 0.9; } @media (max-width: 768px) { width: 140px; height: 40px; font-size: 14px; } @media (max-width: 480px) { width: 120px; height: 36px; font-size: 13px; } } // Product Image .product-image { width: 100%; margin-top: 40px; flex-shrink: 0; img { width: 100%; height: 360px; object-fit: cover; border-radius: 12px 12px 0 0; display: block; } &--large-radius img { border-radius: 28px 28px 0 0; } @media (max-width: 1024px) { margin-top: 32px; img { height: auto; aspect-ratio: 690 / 360; } } @media (max-width: 768px) { margin-top: 24px; img { border-radius: 10px 10px 0 0; } &--large-radius img { border-radius: 20px 20px 0 0; } } @media (max-width: 480px) { margin-top: 20px; } } } // Animations @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .product-card { animation: fadeInUp 0.6s ease-out; animation-fill-mode: both; &:nth-child(1) { animation-delay: 0.1s; } &:nth-child(2) { animation-delay: 0.15s; } &:nth-child(3) { animation-delay: 0.2s; } &:nth-child(4) { animation-delay: 0.25s; } &:nth-child(5) { animation-delay: 0.3s; } &:nth-child(6) { animation-delay: 0.35s; } }