.hero { position: relative; display: flex; align-items: flex-start; justify-content: center; width: 100%; min-height: 600px; overflow: hidden; } .hero__bg { position: absolute; inset: 0; width: 100%; max-width: none; height: 100%; object-fit: cover; pointer-events: none; } .hero__inner { position: relative; display: flex; flex-direction: column; align-items: flex-start; width: 100%; max-width: 1280px; height: 100%; gap: 40px; margin: 0 auto; padding: 0 16px; } .hero__phone-column { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; width: 100%; padding-top: 24px; pointer-events: none; } .hero__phone-frame { position: relative; z-index: 2; width: min(320px, 100%); height: 527px; } .hero__phone-crop { position: absolute; inset: 0; overflow: hidden; pointer-events: none; } .hero__phone { position: absolute; top: -7.18%; left: -2.67%; width: 105.35%; max-width: none; height: 114.36%; } .hero__content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; flex-shrink: 0; width: 100%; height: 100%; gap: 60px; padding: 32px 0; overflow: clip; } .hero__badge { display: flex; align-items: center; flex-shrink: 0; padding: 12px 16px; overflow: clip; background: #fff; border: 1px solid #f08458; border-radius: 999px; } .hero__badge-text { margin: 0; font-size: 14px; font-weight: 700; line-height: normal; letter-spacing: var(--ls-14); color: #0d0d0d; } .hero__copy { display: flex; flex-direction: column; align-items: flex-start; flex-shrink: 0; width: 100%; gap: 24px; } .hero__title { width: 100%; font-size: 36px; font-weight: 700; line-height: 1.1; letter-spacing: var(--ls-36); color: #2e2a28; } .hero__title-line { margin: 0; line-height: 1.1; } .hero__description { width: 100%; margin: 0; font-size: 15px; font-weight: 400; line-height: 1.5; letter-spacing: var(--ls-15); color: #7a726d; } .hero__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; flex-shrink: 0; width: 100%; gap: 14px; overflow: clip; } .hero__store-badge { text-decoration: none; transition: transform 160ms ease, filter 160ms ease; } .hero__store-badge:hover { filter: brightness(0.96); transform: translateY(-1px); } .hero__tags { display: flex; flex-wrap: wrap; align-items: center; flex-shrink: 0; gap: 10px; overflow: clip; } .hero__tag { display: flex; align-items: center; flex-shrink: 0; padding: 9px 14px; overflow: clip; background: rgba(255, 255, 255, 0.68); border: 1px solid #fff; border-radius: 999px; } .hero__tag-text { font-size: 14px; font-weight: 700; line-height: normal; letter-spacing: var(--ls-14); color: #7a726d; white-space: nowrap; } @media (max-width: 433px) { .hero__store-badge { min-width: 0; } } @media (max-width: 1024px) { .hero__actions { flex-wrap: nowrap; } .hero__store-badge { flex: 1 1 calc((100% - 14px) / 2); width: calc((100% - 14px) / 2); min-width: 0; padding-right: 10px; padding-left: 10px; } .hero__store-badge .store-badge__copy, .hero__store-badge .store-badge__label { overflow: hidden; text-overflow: ellipsis; } } @media (max-width: 540px) { .hero__actions { flex-direction: column; } .hero__store-badge { flex-basis: auto; width: min(100%, calc(100vw - 32px)); } .hero__tags { justify-content: center; width: 100%; } } @media (min-width: 440px) { .hero__title { font-size: 42px; letter-spacing: var(--ls-42); } } @media (min-width: 576px) { .hero__title { font-size: 48px; letter-spacing: var(--ls-48); } } @media (min-width: 768px) { .hero__title { font-size: 56px; letter-spacing: var(--ls-56); } .hero__phone-column { padding-top: 60px; } .hero__phone-frame { width: min(580px, 100%); height: auto; aspect-ratio: 116 / 191; } .hero__phone-crop { position: relative; inset: auto; overflow: visible; } .hero__phone { position: static; width: 100%; height: auto; } } @media (min-width: 1024px) { .hero { height: 891px; } .hero__inner { flex-direction: row; padding: 0 24px; } .hero__phone-column { position: relative; flex: 1; min-width: 0; height: 100%; overflow: hidden; } .hero__phone-frame { position: absolute; top: 60px; left: 0; right: 0; bottom: 0; overflow: hidden; } .hero__phone-crop { position: relative; inset: auto; height: 100%; overflow: visible; } .hero__phone { position: static; width: auto; height: 100%; } .hero__actions { flex-wrap: nowrap; } .hero__store-badge { flex: 0 1 auto; min-width: 0; } .hero__content { width: clamp(560px, 44vw, 600px); padding: 0; } } @media (min-width: 1200px) { .hero__title { font-size: 64px; letter-spacing: var(--ls-64); } .hero__description { font-size: 18px; letter-spacing: var(--ls-18); } } @media (min-width: 1280px) { .hero__inner { padding: 0; } .hero__phone-column { align-items: flex-start; padding-top: 60px; } .hero__phone-frame { position: static; top: auto; right: auto; bottom: auto; overflow: visible; flex: 1 0 0; width: auto; max-width: calc(955px * 116 / 191); height: 955px; aspect-ratio: 116 / 191; } .hero__phone-crop { height: auto; } .hero__phone { width: 100%; height: 100%; } .hero__content { width: clamp(560px, 52vw, 660px); } } @media (min-width: 1376px) { .hero__title { font-size: 72px; letter-spacing: var(--ls-72); } }