/** * Home hero carousel — scoped to #section-1.home-hero-carousel * Source: Serena/Figma HeroCarousel.tsx (autoplay 5s, fade, pill dots) */ #homepage #section-1.home-hero-carousel { position: relative; overflow: hidden; padding: 0; margin: 0; background: transparent; --hero-inner-padding-bottom: 40px; } /* #homepage .home-hero-carousel__glow { pointer-events: none; position: absolute; top: -120px; left: 50%; width: 140%; max-width: 1600px; height: 700px; transform: translateX(-50%); border-radius: 50%; opacity: 0.7; background: radial-gradient( ellipse at center, #f7931e 0%, #88510f 18%, #2b1905 40%, transparent 70% ); } */ #homepage .home-hero-carousel__inner { position: relative; z-index: 1; max-width: 1128px; margin: 0 auto; padding: 48px 20px 56px; } @media (min-width: 768px) { #homepage .home-hero-carousel__inner { padding: 76px 32px 64px; } } @media (min-width: 992px) { #homepage .home-hero-carousel__inner { padding: var(--hero-nav-gap) 32px calc(var(--hero-coach-dots-gap) + var(--hero-dots-height) + var(--hero-inner-padding-bottom)); min-height: calc( var(--hero-nav-gap) + var(--hero-slide1-viewport-height) + var(--hero-coach-dots-gap) + var(--hero-dots-height) + var(--hero-inner-padding-bottom) ); } } #homepage .home-hero-carousel__viewport { position: relative; overflow: hidden; height: 720px; } @media (min-width: 992px) { #homepage .home-hero-carousel__viewport { height: var(--hero-slide1-viewport-height); overflow: hidden; } } @media (max-width: 991.98px) { #homepage .home-hero-carousel__viewport { touch-action: pan-y; } } #homepage .home-hero-carousel__slide { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 40px; opacity: 0; pointer-events: none; position: absolute; inset: 0; transition: opacity 0.7s ease; } #homepage .home-hero-carousel__slide.is-active { opacity: 1; pointer-events: auto; } #homepage .home-hero-carousel__slide-grid { display: flex; flex-direction: column; align-items: center; gap: 40px; width: 100%; height: 100%; } @media (min-width: 992px) { #homepage .home-hero-carousel__slide { justify-content: flex-start; } #homepage .home-hero-carousel__slide-grid { flex-direction: row; align-items: flex-start; justify-content: space-between; gap: 48px; height: 100%; } } #homepage .home-hero-carousel__content { display: flex; flex-direction: column; gap: 48px; width: 100%; max-width: 560px; text-align: center; } @media (min-width: 992px) { #homepage .home-hero-carousel__content { text-align: left; align-items: flex-start; } } #homepage .home-hero-carousel__copy { display: flex; flex-direction: column; gap: 24px; } #homepage .home-hero-carousel__heading-group { display: flex; flex-direction: column; align-items: center; gap: 8px; } @media (min-width: 992px) { #homepage .home-hero-carousel__heading-group { align-items: flex-start; } } #homepage .home-hero-carousel__badge { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 20px; background: rgba(249, 135, 21, 0.4); color: #f98715; font-size: 16px; line-height: 18px; letter-spacing: -0.01em; } #homepage .home-hero-carousel__badge-icon { flex-shrink: 0; display: block; width: 20px; height: 20px; object-fit: contain; } #homepage .home-hero-carousel__title { margin: 0; font-size: clamp(36px, 5vw, 54px); line-height: 1.1; letter-spacing: -0.01em; font-weight: 800; color: #fff; } #homepage .home-hero-carousel__desc { margin: 0; font-size: clamp(18px, 2.2vw, 20px); line-height: 1.4; color: #fff; } #homepage .home-hero-carousel__actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; width: 100%; } @media (min-width: 576px) { #homepage .home-hero-carousel__actions { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 12px; row-gap: 14px; justify-content: center; align-items: start; width: auto; } #homepage .home-hero-carousel__actions .home-hero-carousel__btn--primary { grid-column: 1; grid-row: 1; } #homepage .home-hero-carousel__actions .home-hero-carousel__btn--ghost, #homepage .home-hero-carousel__actions .home-hero-carousel__btn--ai-coach { grid-column: 2; grid-row: 1; } #homepage .home-hero-carousel__actions .home-hero-carousel__ai-coach { grid-column: 1; grid-row: 2; justify-self: center; } } #homepage .home-hero-carousel__ai-coach { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 20px; line-height: 20px; text-decoration: underline; text-underline-offset: 4px; } #homepage .home-hero-carousel__ai-coach:hover { color: #fff; text-decoration: underline; opacity: 0.9; } #homepage .home-hero-carousel__ai-coach img { display: block; width: 48px; height: 48px; flex-shrink: 0; object-fit: contain; } @media (min-width: 992px) { #homepage .home-hero-carousel__actions { justify-content: flex-start; } #homepage .home-hero-carousel__actions .home-hero-carousel__ai-coach { justify-self: start; } } #homepage .home-hero-carousel__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; padding: 16px 40px; border-radius: 10px; font-size: clamp(18px, 2vw, 20px); font-weight: 500; letter-spacing: -0.01em; line-height: 1; text-decoration: none; transition: opacity 0.2s ease, background 0.2s ease; } #homepage .home-hero-carousel__btn--primary { color: #fff; background: #f98715; } #homepage .home-hero-carousel__btn--primary:hover { opacity: 0.9; color: #fff; text-decoration: none; } #homepage .home-hero-carousel__btn--ghost { color: #fff; background: rgba(15, 15, 15, 0.5); border: 1px solid #666; } #homepage .home-hero-carousel__btn--ghost:hover { background: rgba(15, 15, 15, 0.8); color: #fff; text-decoration: none; } #homepage .home-hero-carousel__btn--ai-coach { gap: 6px; padding: 5px 20px 5px 8px; } #homepage .home-hero-carousel__btn--ai-coach img { display: block; width: 45px; height: 45px; flex-shrink: 0; object-fit: contain; object-position: left center; margin-right: -6px; } #homepage .home-hero-carousel__visual { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 520px; } #homepage .home-hero-carousel__visual img { display: block; width: 100%; max-width: 440px; height: auto; object-fit: contain; } @media (min-width: 992px) { #homepage .home-hero-carousel__visual img { max-width: none; } } #homepage .home-hero-carousel__dots { position: absolute; z-index: 2; left: 20px; right: 20px; bottom: 32px; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 0; } @media (min-width: 768px) { #homepage .home-hero-carousel__dots { left: 32px; right: 32px; bottom: 40px; } } @media (min-width: 992px) { #homepage .home-hero-carousel__dots { top: calc( var(--hero-nav-gap) + var(--hero-slide1-content-height) + var(--hero-coach-dots-gap) ); bottom: auto; left: 32px; right: 32px; margin-top: 0; justify-content: flex-start; } } #homepage .home-hero-carousel__dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: rgba(250, 250, 250, 0.4); cursor: pointer; transition: width 0.3s ease, background 0.3s ease; } #homepage .home-hero-carousel__dot:hover { background: rgba(250, 250, 250, 0.6); } #homepage .home-hero-carousel__dot.is-active { width: 40px; background: #f98715; } @media (prefers-reduced-motion: reduce) { #homepage .home-hero-carousel__slide, #homepage .home-hero-carousel__dot { transition: none; } }