.hero-section { position: relative; min-height: 800px; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; overflow: hidden; padding-top: 180px; padding-bottom: 30px; text-align: center; background: transparent; z-index: 0; } .hero-bg-svg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 150%; height: auto; z-index: 0; opacity: 0.7; pointer-events: none; } .hero-content { position: relative; z-index: 10; display: flex; flex-direction: column; align-items: center; gap: 50px; width: 100%; } .hero-circles-wrapper { position: relative; display: flex; justify-content: center; align-items: center; gap: 0; margin-bottom: 0; z-index: 5; } .hero-circle { width: 375px; height: 375px; border-radius: 50%; display: flex; justify-content: center; align-items: center; position: relative; border: 15px solid #233038; overflow: hidden; flex-shrink: 0; box-sizing: content-box; } /* Specific Circle Styles */ .circle-1 { background-color: var(--yellow-100); z-index: 1; margin-right: -120px; } .circle-noise { position: absolute; inset: 0; background-image: url('/bg/noiseEffect.png'); background-size: 480px 480px; background-position: top left; opacity: 0.2; pointer-events: none; border-radius: 50%; } .circle-1-inner { position: absolute; left: 70px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 15px; align-items: flex-start; width: 220px; } .circle-icon { width: 20px; height: 20px; filter: brightness(0) invert(1); display: block; } .circle-text-column { display: flex; flex-direction: column; align-items: flex-start; color: #fff; font-weight: 500; font-size: 24px; line-height: 1.2; text-align: left; } .circle-2 { background-color: #000; z-index: 1; width: 375px; height: 375px; } /* Circle 2 halftone overlay */ .circle-2-halftone { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 400px; height: 400px; display: flex; align-items: center; justify-content: center; pointer-events: none; } .circle-2-halftone img { width: 400px; height: 400px; object-fit: cover; transform: rotate(-90deg); display: block; } .circle-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; } .circle-3 { background-color: #252525; z-index: 2; margin-left: -120px; } /* Circle 3 wave lines effect */ .circle-3-wave-inner { position: absolute; display: flex; align-items: center; justify-content: center; left: -164px; top: -236px; width: 875px; height: 875px; pointer-events: none; } .circle-3-wave-mask { transform: rotate(-4deg) scaleY(-1); width: 820px; height: 820px; opacity: 0.29; mask-image: url('/bg/hero-circle3-ellipse-mask.jpg'); -webkit-mask-image: url('/bg/hero-circle3-ellipse-mask.jpg'); mask-size: 820px 820px; -webkit-mask-size: 820px 820px; mask-repeat: no-repeat; -webkit-mask-repeat: no-repeat; mask-position: center; -webkit-mask-position: center; position: relative; flex-shrink: 0; } .circle-3-wave-content { position: absolute; inset: -40.14%; } .circle-3-wave-content img { width: 100%; height: 100%; display: block; } /* Circle 3 background group element */ .circle-3-group-wrapper { position: absolute; inset: -52.87% -62.25% -39.25% -29.78%; display: flex; align-items: center; justify-content: center; pointer-events: none; } .circle-3-group-img { width: 773px; height: 773px; transform: rotate(8.96deg); flex-shrink: 0; display: block; } /* Circle 3 main portrait */ .circle-3-portrait { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; object-fit: cover; pointer-events: none; } /* Brand label under circles */ .hero-brand-label { display: flex; justify-content: center; align-items: center; width: 100%; } .hero-brand-text { font-size: 2rem; font-weight: 700; color: var(--light-grey-100); letter-spacing: 0.02em; text-align: center; } /* Main Text Content */ .hero-text-content { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 50px; width: 100%; max-width: 100%; margin: 0 auto; } .hero-title { font-size: 24px; font-weight: 400; color: var(--light-grey-100); line-height: 1.2; text-transform: none; max-width: 100%; margin: 0 auto; text-align: center; white-space: nowrap; } .cta-button { background: var(--orange-100); color: var(--dark-grey-100); padding: 10px 50px; height: 70px; border-radius: 69px; font-size: 24px; font-weight: 700; border: none; cursor: pointer; transition: transform 0.2s; align-self: center; margin: 0 auto; white-space: nowrap; } .cta-button:hover { transform: translateY(-2px); } /* Responsive */ @media (max-width: 1024px) { .hero-circles-wrapper { flex-direction: column; gap: -30px; margin-top: 2rem; } .hero-circle { margin: 0 !important; margin-bottom: -60px !important; width: 300px; height: 300px; border-width: 10px; } .circle-1-inner { left: 40px; width: 160px; } .circle-text-column { font-size: 18px; } .circle-2 { width: 300px; height: 300px; } .circle-3 { margin-bottom: 0 !important; } .circle-3-portrait { width: 100%; height: 100%; } .hero-title { font-size: 18px; white-space: normal; padding: 0 1rem; } .cta-button { font-size: 18px; height: 56px; padding: 10px 36px; } } @media (max-width: 768px) { .hero-section { min-height: auto; padding-top: 120px; padding-bottom: 20px; } .hero-content { gap: 30px; } .hero-circle { width: 220px !important; height: 220px !important; margin-bottom: -40px !important; border-width: 8px; } .circle-2 { width: 220px !important; height: 220px !important; } .circle-1-inner { left: 25px; width: 130px; gap: 10px; } .circle-text-column { font-size: 14px; } .circle-icon { width: 16px; height: 16px; } .circle-3-portrait { width: 100%; height: 100%; } .circle-3 { margin-bottom: 0 !important; } .hero-title { font-size: 16px; } .cta-button { font-size: 16px; height: 50px; padding: 8px 30px; } .hero-text-content { gap: 30px; } } @media (max-width: 480px) { .hero-section { padding-top: 100px; } .hero-content { gap: 20px; } .hero-circle { width: 180px !important; height: 180px !important; margin-bottom: -30px !important; border-width: 6px; } .circle-2 { width: 180px !important; height: 180px !important; } .circle-1-inner { left: 20px; width: 110px; gap: 8px; } .circle-text-column { font-size: 12px; } .circle-icon { width: 14px; height: 14px; } .circle-3 { margin-bottom: 0 !important; } .hero-title { font-size: 14px; } .cta-button { font-size: 14px; height: 44px; padding: 6px 24px; } .hero-text-content { gap: 20px; } }