Files
talk-pro/src/styles/hero.css

383 lines
6.5 KiB
CSS
Raw Normal View History

.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);
}
}