Files
vnidrop/docs/app/home.css

359 lines
6.4 KiB
CSS

.hero-section {
position: relative;
min-height: 850px;
overflow: hidden;
padding: 150px 0 86px;
background:
radial-gradient(circle at 82% 18%, rgba(211, 165, 255, 0.24), transparent 28%),
radial-gradient(circle at 12% 76%, rgba(184, 108, 255, 0.12), transparent 25%),
linear-gradient(180deg, #fdfcfe 0%, #faf7fb 100%);
}
.hero-section::before {
position: absolute;
inset: 0;
background-image: radial-gradient(rgba(93, 71, 102, 0.1) 0.7px, transparent 0.7px);
background-size: 19px 19px;
content: "";
mask-image: linear-gradient(to bottom, black, transparent 82%);
opacity: 0.38;
}
.hero-ambient {
position: absolute;
border: 1px solid rgba(168, 85, 247, 0.18);
border-radius: 999px;
pointer-events: none;
}
.hero-ambient-one {
top: 120px;
right: -80px;
width: 420px;
height: 420px;
animation: ambient-drift 15s ease-in-out infinite alternate;
}
.hero-ambient-two {
bottom: -190px;
left: -120px;
width: 400px;
height: 400px;
animation: ambient-drift 18s ease-in-out -5s infinite alternate-reverse;
}
.hero-layout {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: minmax(0, 0.88fr) minmax(540px, 1.12fr);
align-items: center;
gap: 30px;
}
.hero-copy {
position: relative;
z-index: 3;
padding-top: 12px;
}
.eyebrow-badge {
display: inline-flex;
align-items: center;
gap: 9px;
margin-bottom: 25px;
padding: 7px 11px;
border: 1px solid #dfd4e4;
border-radius: 999px;
background: rgba(255, 255, 255, 0.72);
color: #665c6b;
font-family: var(--font-mono);
font-size: 10px;
font-weight: 700;
letter-spacing: 0.08em;
}
.eyebrow-dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: var(--warning);
box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.13);
}
.hero-copy h1 {
margin-bottom: 28px;
font-size: clamp(3.5rem, 5.1vw, 5.4rem);
font-weight: 760;
letter-spacing: -0.072em;
line-height: 0.98;
}
.hero-copy h1 span {
background: linear-gradient(100deg, var(--brand-600), #ba62f8 58%, #7c2aef);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
}
.hero-lead {
max-width: 590px;
margin-bottom: 30px;
color: var(--ink-soft);
font-size: 18px;
line-height: 1.7;
}
.hero-actions {
display: flex;
flex-wrap: wrap;
gap: 11px;
}
.hero-platforms {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 14px;
margin-top: 35px;
color: var(--ink-muted);
font-size: 12px;
}
.hero-platforms > span {
font-family: var(--font-mono);
font-size: 10px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.hero-platforms ul {
display: flex;
flex-wrap: wrap;
gap: 7px;
margin: 0;
padding: 0;
list-style: none;
}
.hero-platforms li {
display: grid;
width: 36px;
height: 36px;
place-items: center;
border: 1px solid var(--line);
border-radius: 10px;
background: rgba(255, 255, 255, 0.78);
box-shadow: 0 7px 18px rgba(55, 35, 63, 0.055);
}
.hero-platforms .platform-glyph {
width: 20px;
height: 20px;
}
.platform-glyph[data-platform="android"] { color: #2fbf71; }
.platform-glyph[data-platform="ios"] { color: #201c23; }
.platform-glyph[data-platform="macos"] { color: #1687f8; }
.platform-glyph[data-platform="windows"] { color: #008de5; }
.hero-art-reveal {
min-width: 0;
}
.hero-app-preview {
position: relative;
width: min(112%, 850px);
margin: 0 0 0 -3%;
isolation: isolate;
}
.hero-app-preview::before {
position: absolute;
z-index: -1;
inset: 14% 8% 8% 10%;
border-radius: 48%;
background: rgba(168, 85, 247, 0.2);
filter: blur(70px);
content: "";
}
.hero-app-preview-image {
display: block;
width: 100%;
height: auto;
filter: drop-shadow(0 28px 42px rgba(36, 24, 42, 0.2));
}
.simple-section {
padding: 124px 0;
}
.simple-heading {
max-width: 760px;
margin-bottom: 58px;
}
.kicker {
display: inline-block;
margin-bottom: 17px;
color: var(--brand-600);
font-family: var(--font-mono);
font-size: 10px;
font-weight: 800;
letter-spacing: 0.13em;
}
.kicker-light {
color: #d89bff;
}
.simple-heading h2,
.trust-summary-copy h2 {
margin-bottom: 18px;
font-size: clamp(2.6rem, 4.2vw, 4.6rem);
font-weight: 740;
letter-spacing: -0.06em;
line-height: 1.02;
}
.simple-heading p {
max-width: 650px;
margin: 0;
color: var(--ink-soft);
font-size: 17px;
line-height: 1.7;
}
.simple-steps {
display: grid;
grid-template-columns: repeat(3, 1fr);
border-top: 1px solid var(--line);
border-bottom: 1px solid var(--line);
}
.simple-step {
min-height: 235px;
padding: 30px 30px 36px;
}
.simple-step + .simple-step {
border-left: 1px solid var(--line);
}
.simple-step-top {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 46px;
}
.simple-step-top span {
color: var(--brand-600);
font-family: var(--font-mono);
font-size: 11px;
font-weight: 800;
}
.simple-step-top svg {
width: 24px;
height: 24px;
color: var(--brand-500);
}
.simple-step h3 {
margin-bottom: 10px;
font-size: 22px;
letter-spacing: -0.035em;
}
.simple-step p {
max-width: 310px;
margin: 0;
color: var(--ink-muted);
font-size: 14px;
line-height: 1.65;
}
.trust-summary-section {
padding: 112px 0;
background: #171319;
color: white;
}
.trust-summary {
display: grid;
grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
align-items: start;
gap: 100px;
}
.trust-summary-copy {
max-width: 520px;
}
.trust-summary-copy p {
margin-bottom: 28px;
color: #b7adb9;
font-size: 16px;
line-height: 1.72;
}
.simple-text-link {
display: inline-flex;
align-items: center;
gap: 9px;
color: #ddaaff;
font-size: 14px;
font-weight: 720;
}
.simple-text-link svg {
width: 17px;
}
.simple-text-link:hover {
color: white;
}
.trust-summary-list {
border-top: 1px solid var(--dark-line);
}
.trust-summary-item {
display: grid;
grid-template-columns: 44px 1fr;
gap: 18px;
padding: 24px 0;
border-bottom: 1px solid var(--dark-line);
}
.trust-summary-item > span {
display: grid;
width: 42px;
height: 42px;
place-items: center;
border: 1px solid rgba(192, 132, 252, 0.24);
border-radius: 12px;
color: var(--brand-400);
}
.trust-summary-item svg {
width: 21px;
}
.trust-summary-item h3 {
margin-bottom: 6px;
font-size: 18px;
letter-spacing: -0.025em;
}
.trust-summary-item p {
max-width: 530px;
margin: 0;
color: #a99fac;
font-size: 13px;
line-height: 1.62;
}