feat(site): add official product landing page
This commit is contained in:
107
apps/site/styles.css
Normal file
107
apps/site/styles.css
Normal file
@@ -0,0 +1,107 @@
|
||||
:root {
|
||||
color: #17233a;
|
||||
background: #ffffff;
|
||||
font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
|
||||
font-synthesis: none;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; }
|
||||
html { scroll-behavior: smooth; }
|
||||
body { margin: 0; min-width: 320px; background: #fff; }
|
||||
a { color: inherit; text-decoration: none; }
|
||||
|
||||
.site-header {
|
||||
align-items: center;
|
||||
background: rgba(255, 255, 255, .96);
|
||||
border-bottom: 1px solid #edf0f5;
|
||||
display: flex;
|
||||
height: 76px;
|
||||
justify-content: space-between;
|
||||
padding: 0 clamp(24px, 5vw, 80px);
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
.brand { align-items: center; display: inline-flex; font-size: 20px; font-weight: 750; gap: 9px; letter-spacing: -.5px; }
|
||||
.brand img { border-radius: 9px; display: block; }
|
||||
nav { align-items: center; display: flex; gap: 16px; font-size: 15px; font-weight: 650; }
|
||||
.download-link { border: 1px solid #bad0ff; border-radius: 6px; color: #165dff; padding: 10px 18px; }
|
||||
.login-link { background: #165dff; border-radius: 6px; color: white; padding: 11px 19px; }
|
||||
.download-link:hover, .text-action:hover { background: #edf4ff; }
|
||||
.login-link:hover, .button-primary:hover { background: #0e4cda; }
|
||||
|
||||
.section-shell { margin: 0 auto; max-width: 1440px; padding-left: clamp(24px, 5vw, 80px); padding-right: clamp(24px, 5vw, 80px); }
|
||||
.hero { display: grid; gap: clamp(36px, 6vw, 92px); grid-template-columns: minmax(300px, .82fr) minmax(540px, 1.3fr); min-height: 720px; overflow: hidden; padding-bottom: 80px; padding-top: clamp(62px, 9vw, 130px); }
|
||||
.hero-copy { align-self: center; max-width: 460px; }
|
||||
.eyebrow, .section-index { color: #165dff; font-size: 14px; font-weight: 750; letter-spacing: .03em; margin: 0 0 22px; }
|
||||
h1, h2 { color: #13203a; letter-spacing: -.065em; margin: 0; }
|
||||
h1 { font-size: clamp(42px, 5vw, 72px); line-height: 1.16; }
|
||||
h2 { font-size: clamp(32px, 3.2vw, 49px); line-height: 1.2; }
|
||||
.hero-description, .section-heading > p:not(.section-index), .showcase-copy > p:not(.section-index) { color: #5f6d84; font-size: 17px; line-height: 1.9; margin: 28px 0; }
|
||||
.hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 25px; margin-top: 36px; }
|
||||
.button { border-radius: 6px; display: inline-flex; font-size: 16px; font-weight: 700; justify-content: center; padding: 15px 27px; transition: background .18s ease; }
|
||||
.button-primary { background: #165dff; box-shadow: 0 10px 24px rgba(22, 93, 255, .18); color: #fff; }
|
||||
.text-action { color: #165dff; font-size: 16px; font-weight: 700; padding: 12px 4px; }
|
||||
.text-action span { font-size: 22px; margin-left: 4px; vertical-align: -1px; }
|
||||
.hero-note { color: #68768d; font-size: 14px; margin: 31px 0 0; }
|
||||
.hero-product { align-self: center; background: #f6f9ff; border: 1px solid #e7eefb; border-radius: 12px; box-shadow: 0 28px 55px rgba(39, 75, 130, .13); overflow: hidden; }
|
||||
.hero-product img, .showcase-image img { display: block; height: auto; width: 100%; }
|
||||
|
||||
.context-section { border-top: 1px solid #edf0f5; display: grid; gap: 70px; grid-template-columns: minmax(300px, .9fr) minmax(450px, 1.1fr); padding-bottom: 120px; padding-top: 120px; }
|
||||
.section-heading > p:not(.section-index) { max-width: 510px; }
|
||||
.context-points { border-left: 1px solid #dce6f5; display: grid; grid-template-columns: repeat(3, 1fr); padding-left: 34px; }
|
||||
.context-points article { padding: 7px 28px 10px; }
|
||||
.context-points article + article { border-left: 1px solid #e8edf5; }
|
||||
.context-points span { color: #1c2c49; font-size: 18px; font-weight: 750; }
|
||||
.context-points p { color: #728098; font-size: 14px; line-height: 1.75; }
|
||||
|
||||
.showcase { align-items: center; background: #f7f9fd; display: grid; gap: clamp(40px, 7vw, 110px); grid-template-columns: minmax(420px, 1.15fr) minmax(300px, .85fr); margin-bottom: 0; max-width: none; padding-bottom: 108px; padding-top: 108px; }
|
||||
.showcase-image { background: #fff; border: 1px solid #e4eaf3; box-shadow: 0 22px 48px rgba(30, 55, 95, .09); overflow: hidden; }
|
||||
.data-preview-grid { display: grid; gap: 12px; grid-template-columns: 1.22fr .78fr; padding: 12px; }
|
||||
.data-preview-grid figure { margin: 0; min-width: 0; }
|
||||
.data-preview-grid figcaption { color: #61718a; font-size: 13px; font-weight: 700; padding: 9px 2px 1px; }
|
||||
.showcase-copy { max-width: 460px; }
|
||||
.showcase-copy dl { border-top: 1px solid #dce4ef; margin: 32px 0 0; }
|
||||
.showcase-copy dl div { border-bottom: 1px solid #dce4ef; padding: 15px 0; }
|
||||
dt { color: #1b2a47; font-size: 16px; font-weight: 750; }
|
||||
dd { color: #718097; font-size: 14px; margin: 7px 0 0; }
|
||||
.showcase-reversed { background: #fff; grid-template-columns: minmax(300px, .85fr) minmax(420px, 1.15fr); }
|
||||
.workflow { align-items: center; display: flex; gap: 12px; margin-top: 34px; }
|
||||
.workflow span, .workflow strong { border: 1px solid #dbe5f5; border-radius: 5px; color: #587093; font-size: 14px; padding: 9px 13px; }
|
||||
.workflow strong { background: #165dff; border-color: #165dff; color: #fff; }
|
||||
.workflow i { background: #9ebdff; height: 1px; width: 22px; }
|
||||
|
||||
.download-section { align-items: center; background: #eff5ff; display: flex; justify-content: space-between; max-width: none; padding-bottom: 88px; padding-top: 88px; }
|
||||
.download-section h2 { font-size: clamp(31px, 3.2vw, 47px); }
|
||||
.download-actions { max-width: 315px; }
|
||||
.download-actions p { color: #6c7b92; font-size: 14px; line-height: 1.7; margin: 16px 0 0; }
|
||||
.site-footer { align-items: center; background: #13213a; color: #fff; display: flex; font-size: 13px; justify-content: space-between; padding: 24px clamp(24px, 5vw, 80px); }
|
||||
.site-footer .brand { font-size: 15px; }
|
||||
|
||||
@media (max-width: 980px) {
|
||||
.hero, .context-section, .showcase, .showcase-reversed { grid-template-columns: 1fr; }
|
||||
.hero { min-height: auto; padding-bottom: 74px; }
|
||||
.hero-copy, .showcase-copy { max-width: 620px; }
|
||||
.context-section { gap: 36px; }
|
||||
.context-points { padding-left: 0; }
|
||||
.showcase { gap: 46px; }
|
||||
.showcase-reversed .showcase-copy { grid-row: 1; }
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.site-header { height: 66px; padding: 0 18px; }
|
||||
.brand { font-size: 17px; gap: 7px; }
|
||||
nav { gap: 8px; font-size: 13px; }
|
||||
.download-link, .login-link { padding: 8px 10px; }
|
||||
.section-shell { padding-left: 20px; padding-right: 20px; }
|
||||
.hero { padding-top: 60px; }
|
||||
h1 { font-size: 43px; }
|
||||
.context-section, .showcase { padding-bottom: 72px; padding-top: 72px; }
|
||||
.context-points { border-left: 0; grid-template-columns: 1fr; }
|
||||
.context-points article { border-bottom: 1px solid #e8edf5; padding: 18px 0; }
|
||||
.context-points article + article { border-left: 0; }
|
||||
.download-section { align-items: flex-start; flex-direction: column; gap: 30px; padding-bottom: 64px; padding-top: 64px; }
|
||||
.workflow { flex-wrap: wrap; }
|
||||
.data-preview-grid { grid-template-columns: 1fr; }
|
||||
}
|
||||
Reference in New Issue
Block a user