| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066 |
- /* ===== CSS Variables ===== */
- :root {
- --bg-primary: #FFFFFF;
- --bg-secondary: #F8FAFC;
- --bg-tertiary: #F1F5F9;
- --text-primary: #0F172A;
- --text-secondary: #475569;
- --text-muted: #94A3B8;
- --accent-blue: #1890FF;
- --accent-purple: #7C3AED;
- --accent-cyan: #06B6D4;
- --accent-pink: #EC4899;
- --gradient-hero: linear-gradient(135deg, #667EEA 0%, #764BA2 50%, #F093FB 100%);
- --gradient-btn: linear-gradient(135deg, #1890FF 0%, #7C3AED 100%);
- --gradient-card: linear-gradient(180deg, rgba(24, 144, 255, 0.03) 0%, rgba(124, 58, 237, 0.03) 100%);
- --border-color: #E2E8F0;
- --border-light: rgba(0, 0, 0, 0.06);
- --radius-sm: 8px;
- --radius-md: 16px;
- --radius-lg: 24px;
- --radius-xl: 32px;
- --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
- --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
- --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
- --shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
- --shadow-glow: 0 0 60px rgba(24, 144, 255, 0.3);
- --shadow-purple: 0 20px 40px rgba(124, 58, 237, 0.15);
- }
- /* ===== Reset & Base ===== */
- *, *::before, *::after {
- box-sizing: border-box;
- margin: 0;
- padding: 0;
- }
- html {
- scroll-behavior: smooth;
- }
- body {
- font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
- background: var(--bg-primary);
- color: var(--text-primary);
- line-height: 1.7;
- overflow-x: hidden;
- font-size: 16px;
- -webkit-font-smoothing: antialiased;
- }
- a {
- color: inherit;
- text-decoration: none;
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
- }
- ul {
- list-style: none;
- }
- /* ===== Layout ===== */
- .container {
- max-width: 1280px;
- margin: 0 auto;
- padding: 0 32px;
- }
- /* ===== Navigation ===== */
- .nav {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- z-index: 100;
- background: rgba(255, 255, 255, 0.8);
- backdrop-filter: blur(20px) saturate(180%);
- border-bottom: 1px solid var(--border-light);
- transition: all 0.3s ease;
- }
- .nav.scrolled {
- box-shadow: var(--shadow-md);
- }
- .nav-container {
- max-width: 1280px;
- margin: 0 auto;
- padding: 16px 32px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
- .logo {
- display: flex;
- align-items: center;
- gap: 10px;
- font-size: 1.5rem;
- font-weight: 800;
- letter-spacing: -0.02em;
- }
- .logo-icon {
- width: 36px;
- height: 36px;
- transition: transform 0.3s ease;
- }
- .logo:hover .logo-icon {
- transform: rotate(-10deg) scale(1.1);
- }
- .nav-links {
- display: flex;
- gap: 40px;
- }
- .nav-links a {
- color: var(--text-secondary);
- font-size: 0.95rem;
- font-weight: 500;
- position: relative;
- }
- .nav-links a::after {
- content: '';
- position: absolute;
- bottom: -4px;
- left: 0;
- width: 0;
- height: 2px;
- background: var(--gradient-btn);
- border-radius: 2px;
- transition: width 0.3s ease;
- }
- .nav-links a:hover {
- color: var(--text-primary);
- }
- .nav-links a:hover::after {
- width: 100%;
- }
- .nav-actions {
- display: flex;
- align-items: center;
- gap: 16px;
- }
- .lang-switch {
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 8px 14px;
- background: transparent;
- border: 1px solid var(--border-color);
- border-radius: var(--radius-sm);
- font-size: 0.875rem;
- font-weight: 500;
- color: var(--text-secondary);
- cursor: pointer;
- transition: all 0.3s ease;
- }
- .lang-switch:hover {
- border-color: var(--accent-blue);
- color: var(--accent-blue);
- background: rgba(24, 144, 255, 0.05);
- }
- /* ===== Buttons ===== */
- .btn {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- gap: 8px;
- padding: 14px 28px;
- border-radius: var(--radius-sm);
- font-weight: 600;
- font-size: 0.95rem;
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
- cursor: pointer;
- border: none;
- position: relative;
- overflow: hidden;
- }
- .btn-sm {
- padding: 10px 20px;
- font-size: 0.875rem;
- }
- .btn-lg {
- padding: 18px 36px;
- font-size: 1rem;
- border-radius: var(--radius-md);
- }
- .btn-primary {
- background: var(--gradient-btn);
- color: #FFFFFF;
- box-shadow: 0 4px 14px rgba(24, 144, 255, 0.4);
- }
- .btn-primary::before {
- content: '';
- position: absolute;
- top: 0;
- left: -100%;
- width: 100%;
- height: 100%;
- background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
- transition: left 0.5s ease;
- }
- .btn-primary:hover {
- transform: translateY(-3px);
- box-shadow: 0 8px 25px rgba(24, 144, 255, 0.5);
- }
- .btn-primary:hover::before {
- left: 100%;
- }
- .btn-secondary {
- background: var(--bg-primary);
- color: var(--text-primary);
- border: 2px solid var(--border-color);
- }
- .btn-secondary:hover {
- background: var(--bg-secondary);
- border-color: var(--accent-blue);
- color: var(--accent-blue);
- }
- .btn-block {
- width: 100%;
- }
- .play-icon {
- font-size: 0.75rem;
- }
- /* ===== Hero Section ===== */
- .hero {
- position: relative;
- min-height: 100vh;
- display: flex;
- align-items: center;
- padding: 140px 0 100px;
- overflow: hidden;
- }
- .hero-bg {
- position: absolute;
- inset: 0;
- background:
- radial-gradient(ellipse 100% 80% at 50% -30%, rgba(124, 58, 237, 0.12), transparent 60%),
- radial-gradient(ellipse 80% 60% at 100% 50%, rgba(6, 182, 212, 0.08), transparent 50%),
- radial-gradient(ellipse 60% 50% at 0% 80%, rgba(236, 72, 153, 0.06), transparent 50%);
- pointer-events: none;
- }
- .hero-bg::before {
- content: '';
- position: absolute;
- top: 20%;
- left: 10%;
- width: 400px;
- height: 400px;
- background: radial-gradient(circle, rgba(24, 144, 255, 0.1) 0%, transparent 70%);
- border-radius: 50%;
- filter: blur(60px);
- animation: float 8s ease-in-out infinite;
- }
- .hero-bg::after {
- content: '';
- position: absolute;
- bottom: 20%;
- right: 10%;
- width: 300px;
- height: 300px;
- background: radial-gradient(circle, rgba(124, 58, 237, 0.1) 0%, transparent 70%);
- border-radius: 50%;
- filter: blur(60px);
- animation: float 6s ease-in-out infinite reverse;
- }
- @keyframes float {
- 0%, 100% { transform: translateY(0) scale(1); }
- 50% { transform: translateY(-30px) scale(1.05); }
- }
- .hero .container {
- display: grid;
- grid-template-columns: 1fr 1fr;
- gap: 80px;
- align-items: center;
- }
- .hero-content {
- position: relative;
- z-index: 1;
- }
- .badge {
- display: inline-flex;
- align-items: center;
- gap: 8px;
- padding: 10px 20px;
- background: linear-gradient(135deg, rgba(24, 144, 255, 0.1), rgba(124, 58, 237, 0.1));
- border: 1px solid rgba(24, 144, 255, 0.2);
- border-radius: 100px;
- font-size: 0.875rem;
- font-weight: 500;
- color: var(--accent-blue);
- margin-bottom: 28px;
- animation: pulse 3s ease-in-out infinite;
- }
- @keyframes pulse {
- 0%, 100% { box-shadow: 0 0 0 0 rgba(24, 144, 255, 0.2); }
- 50% { box-shadow: 0 0 0 10px rgba(24, 144, 255, 0); }
- }
- .hero h1 {
- font-size: 4rem;
- font-weight: 800;
- line-height: 1.1;
- margin-bottom: 28px;
- letter-spacing: -0.03em;
- }
- .gradient-text {
- background: var(--gradient-hero);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- background-clip: text;
- background-size: 200% 200%;
- animation: gradient-shift 5s ease infinite;
- }
- @keyframes gradient-shift {
- 0%, 100% { background-position: 0% 50%; }
- 50% { background-position: 100% 50%; }
- }
- .hero-desc {
- font-size: 1.25rem;
- color: var(--text-secondary);
- margin-bottom: 40px;
- max-width: 520px;
- line-height: 1.8;
- }
- .hero-actions {
- display: flex;
- gap: 16px;
- margin-bottom: 60px;
- }
- .hero-stats {
- display: flex;
- gap: 48px;
- padding-top: 32px;
- border-top: 1px solid var(--border-color);
- }
- .stat {
- display: flex;
- flex-direction: column;
- }
- .stat-value {
- font-size: 2rem;
- font-weight: 800;
- background: var(--gradient-btn);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- background-clip: text;
- }
- .stat-label {
- font-size: 0.875rem;
- color: var(--text-muted);
- font-weight: 500;
- }
- /* Workflow Preview */
- .hero-visual {
- position: relative;
- perspective: 1000px;
- }
- .workflow-preview {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 0;
- padding: 48px;
- background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
- border: 1px solid var(--border-color);
- border-radius: var(--radius-lg);
- box-shadow: var(--shadow-lg), 0 0 0 1px rgba(0,0,0,0.02);
- transform: rotateY(-5deg) rotateX(5deg);
- transition: transform 0.5s ease;
- }
- .workflow-preview:hover {
- transform: rotateY(0) rotateX(0);
- }
- .workflow-node {
- display: flex;
- align-items: center;
- gap: 14px;
- padding: 18px 28px;
- background: var(--bg-primary);
- border: 1px solid var(--border-color);
- border-radius: var(--radius-md);
- font-size: 0.95rem;
- font-weight: 500;
- min-width: 220px;
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
- box-shadow: var(--shadow-sm);
- }
- .workflow-node:hover {
- border-color: var(--accent-blue);
- box-shadow: var(--shadow-md), 0 0 0 4px rgba(24, 144, 255, 0.1);
- transform: translateX(8px);
- }
- .node-trigger {
- border-left: 4px solid var(--accent-purple);
- background: linear-gradient(90deg, rgba(124, 58, 237, 0.05), transparent);
- }
- .node-icon {
- font-size: 1.5rem;
- }
- .workflow-line {
- width: 3px;
- height: 28px;
- background: linear-gradient(180deg, var(--accent-blue), var(--accent-purple));
- border-radius: 3px;
- }
- /* ===== Section Styles ===== */
- section {
- padding: 120px 0;
- position: relative;
- }
- .section-header {
- text-align: center;
- margin-bottom: 80px;
- }
- .section-header h2 {
- font-size: 3rem;
- font-weight: 800;
- margin-bottom: 20px;
- letter-spacing: -0.02em;
- }
- .section-header p {
- font-size: 1.25rem;
- color: var(--text-secondary);
- max-width: 600px;
- margin: 0 auto;
- }
- /* ===== Features ===== */
- .features {
- background: var(--bg-secondary);
- position: relative;
- }
- .features::before {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- height: 1px;
- background: linear-gradient(90deg, transparent, var(--border-color), transparent);
- }
- .features-grid {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- gap: 32px;
- }
- .feature-card {
- padding: 40px;
- background: var(--bg-primary);
- border: 1px solid var(--border-color);
- border-radius: var(--radius-lg);
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
- position: relative;
- overflow: hidden;
- }
- .feature-card::before {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- height: 4px;
- background: var(--gradient-btn);
- transform: scaleX(0);
- transform-origin: left;
- transition: transform 0.4s ease;
- }
- .feature-card:hover {
- transform: translateY(-8px);
- box-shadow: var(--shadow-xl);
- border-color: transparent;
- }
- .feature-card:hover::before {
- transform: scaleX(1);
- }
- .feature-icon {
- font-size: 3rem;
- margin-bottom: 24px;
- display: block;
- }
- .feature-card h3 {
- font-size: 1.375rem;
- font-weight: 700;
- margin-bottom: 14px;
- letter-spacing: -0.01em;
- }
- .feature-card p {
- color: var(--text-secondary);
- font-size: 1rem;
- line-height: 1.7;
- }
- /* ===== How it Works ===== */
- .steps {
- display: flex;
- align-items: flex-start;
- justify-content: center;
- gap: 0;
- position: relative;
- }
- .step {
- display: flex;
- flex-direction: column;
- align-items: center;
- text-align: center;
- max-width: 320px;
- padding: 0 24px;
- }
- .step-number {
- width: 80px;
- height: 80px;
- display: flex;
- align-items: center;
- justify-content: center;
- background: var(--gradient-btn);
- color: #FFFFFF;
- font-size: 1.75rem;
- font-weight: 800;
- border-radius: 50%;
- margin-bottom: 32px;
- box-shadow: var(--shadow-purple);
- position: relative;
- }
- .step-number::after {
- content: '';
- position: absolute;
- inset: -6px;
- border: 2px dashed rgba(124, 58, 237, 0.3);
- border-radius: 50%;
- animation: spin 20s linear infinite;
- }
- @keyframes spin {
- from { transform: rotate(0deg); }
- to { transform: rotate(360deg); }
- }
- .step-content h3 {
- font-size: 1.5rem;
- font-weight: 700;
- margin-bottom: 14px;
- }
- .step-content p {
- color: var(--text-secondary);
- font-size: 1rem;
- line-height: 1.7;
- }
- .step-connector {
- width: 120px;
- height: 3px;
- background: linear-gradient(90deg, var(--accent-blue), var(--accent-purple));
- margin-top: 40px;
- border-radius: 3px;
- position: relative;
- }
- .step-connector::after {
- content: '';
- position: absolute;
- right: -6px;
- top: -4px;
- width: 10px;
- height: 10px;
- background: var(--accent-purple);
- border-radius: 50%;
- }
- /* ===== Architecture ===== */
- .architecture {
- background: var(--bg-secondary);
- }
- .arch-content {
- display: grid;
- grid-template-columns: 1fr 1fr;
- gap: 80px;
- align-items: center;
- }
- .arch-text h2 {
- font-size: 3rem;
- font-weight: 800;
- margin-bottom: 28px;
- letter-spacing: -0.02em;
- }
- .arch-text > p {
- color: var(--text-secondary);
- font-size: 1.25rem;
- margin-bottom: 40px;
- line-height: 1.8;
- }
- .arch-list {
- display: flex;
- flex-direction: column;
- gap: 20px;
- }
- .arch-list li {
- display: flex;
- align-items: center;
- gap: 16px;
- font-size: 1.1rem;
- font-weight: 500;
- }
- .check {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 28px;
- height: 28px;
- background: linear-gradient(135deg, rgba(24, 144, 255, 0.1), rgba(124, 58, 237, 0.1));
- color: var(--accent-blue);
- font-weight: 700;
- border-radius: 50%;
- font-size: 0.875rem;
- }
- .arch-diagram {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 20px;
- }
- .arch-box {
- width: 100%;
- max-width: 360px;
- padding: 28px;
- border-radius: var(--radius-lg);
- border: 1px solid var(--border-color);
- background: var(--bg-primary);
- box-shadow: var(--shadow-md);
- }
- .arch-cloud {
- background: linear-gradient(135deg, rgba(124, 58, 237, 0.05), rgba(124, 58, 237, 0.02));
- border-color: rgba(124, 58, 237, 0.2);
- }
- .arch-local {
- background: linear-gradient(135deg, rgba(24, 144, 255, 0.05), rgba(24, 144, 255, 0.02));
- border-color: rgba(24, 144, 255, 0.2);
- }
- .arch-label {
- display: inline-block;
- font-size: 0.75rem;
- font-weight: 700;
- text-transform: uppercase;
- letter-spacing: 0.1em;
- color: var(--text-muted);
- margin-bottom: 20px;
- padding: 6px 12px;
- background: var(--bg-secondary);
- border-radius: 100px;
- }
- .arch-item {
- padding: 14px 18px;
- background: var(--bg-secondary);
- border-radius: var(--radius-sm);
- margin-bottom: 10px;
- font-size: 0.95rem;
- font-weight: 500;
- border: 1px solid var(--border-color);
- transition: all 0.3s ease;
- }
- .arch-item:hover {
- background: var(--bg-primary);
- border-color: var(--accent-blue);
- }
- .arch-item:last-child {
- margin-bottom: 0;
- }
- .arch-arrow {
- font-size: 2rem;
- color: var(--accent-purple);
- animation: bounce 2s ease-in-out infinite;
- }
- @keyframes bounce {
- 0%, 100% { transform: translateY(0); }
- 50% { transform: translateY(5px); }
- }
- /* ===== Pricing ===== */
- .pricing-cards {
- display: flex;
- justify-content: center;
- gap: 40px;
- }
- .pricing-card {
- position: relative;
- width: 100%;
- max-width: 400px;
- padding: 48px;
- background: var(--bg-primary);
- border: 1px solid var(--border-color);
- border-radius: var(--radius-xl);
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
- }
- .pricing-card:hover {
- transform: translateY(-8px);
- box-shadow: var(--shadow-xl);
- }
- .pricing-card.featured {
- border: 2px solid transparent;
- background: linear-gradient(var(--bg-primary), var(--bg-primary)) padding-box,
- var(--gradient-btn) border-box;
- box-shadow: var(--shadow-purple);
- }
- .pricing-badge {
- position: absolute;
- top: -14px;
- left: 50%;
- transform: translateX(-50%);
- padding: 8px 24px;
- background: var(--gradient-btn);
- color: #FFFFFF;
- font-size: 0.8rem;
- font-weight: 700;
- border-radius: 100px;
- text-transform: uppercase;
- letter-spacing: 0.05em;
- box-shadow: 0 4px 14px rgba(124, 58, 237, 0.4);
- }
- .pricing-header {
- text-align: center;
- margin-bottom: 40px;
- }
- .pricing-header h3 {
- font-size: 1.5rem;
- font-weight: 700;
- margin-bottom: 12px;
- }
- .price {
- font-size: 4rem;
- font-weight: 800;
- letter-spacing: -0.03em;
- }
- .price span {
- font-size: 1.125rem;
- font-weight: 500;
- color: var(--text-muted);
- }
- .pricing-features {
- margin-bottom: 40px;
- }
- .pricing-features li {
- display: flex;
- align-items: center;
- gap: 14px;
- padding: 14px 0;
- border-bottom: 1px solid var(--border-color);
- font-size: 1rem;
- }
- .pricing-features li:last-child {
- border-bottom: none;
- }
- /* ===== CTA ===== */
- .cta {
- background: linear-gradient(135deg, var(--bg-secondary) 0%, #EEF2FF 100%);
- text-align: center;
- position: relative;
- overflow: hidden;
- }
- .cta::before {
- content: '';
- position: absolute;
- top: -50%;
- left: -50%;
- width: 200%;
- height: 200%;
- background: radial-gradient(circle, rgba(124, 58, 237, 0.05) 0%, transparent 50%);
- animation: rotate 30s linear infinite;
- }
- @keyframes rotate {
- from { transform: rotate(0deg); }
- to { transform: rotate(360deg); }
- }
- .cta-content {
- position: relative;
- z-index: 1;
- }
- .cta-content h2 {
- font-size: 3rem;
- font-weight: 800;
- margin-bottom: 20px;
- letter-spacing: -0.02em;
- }
- .cta-content p {
- font-size: 1.25rem;
- color: var(--text-secondary);
- margin-bottom: 40px;
- }
- /* ===== Footer ===== */
- .footer {
- padding: 80px 0 32px;
- background: var(--bg-primary);
- border-top: 1px solid var(--border-color);
- }
- .footer-content {
- display: grid;
- grid-template-columns: 1.5fr 2fr;
- gap: 80px;
- margin-bottom: 60px;
- }
- .footer-brand p {
- color: var(--text-secondary);
- margin-top: 20px;
- font-size: 1rem;
- line-height: 1.7;
- }
- .footer-links {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- gap: 40px;
- }
- .footer-col h4 {
- font-size: 0.875rem;
- font-weight: 700;
- text-transform: uppercase;
- letter-spacing: 0.08em;
- color: var(--text-primary);
- margin-bottom: 24px;
- }
- .footer-col a {
- display: block;
- color: var(--text-secondary);
- font-size: 0.95rem;
- padding: 8px 0;
- }
- .footer-col a:hover {
- color: var(--accent-blue);
- transform: translateX(4px);
- }
- .footer-bottom {
- text-align: center;
- padding-top: 32px;
- border-top: 1px solid var(--border-color);
- }
- .footer-bottom p {
- color: var(--text-muted);
- font-size: 0.875rem;
- }
- /* ===== Responsive ===== */
- @media (max-width: 1024px) {
- .hero .container {
- grid-template-columns: 1fr;
- text-align: center;
- }
- .hero-content {
- order: 1;
- }
- .hero-visual {
- order: 2;
- }
- .hero-desc {
- margin-left: auto;
- margin-right: auto;
- }
- .hero-actions {
- justify-content: center;
- }
- .hero-stats {
- justify-content: center;
- }
- .workflow-preview {
- transform: none;
- }
- .features-grid {
- grid-template-columns: repeat(2, 1fr);
- }
- .arch-content {
- grid-template-columns: 1fr;
- text-align: center;
- }
- .arch-list {
- align-items: center;
- }
- }
- @media (max-width: 768px) {
- .nav-links {
- display: none;
- }
- .hero h1 {
- font-size: 2.75rem;
- }
- .section-header h2 {
- font-size: 2.25rem;
- }
- .features-grid {
- grid-template-columns: 1fr;
- }
- .steps {
- flex-direction: column;
- gap: 48px;
- }
- .step-connector {
- width: 3px;
- height: 60px;
- margin: 0;
- }
- .step-connector::after {
- right: -4px;
- top: auto;
- bottom: -6px;
- }
- .pricing-cards {
- flex-direction: column;
- align-items: center;
- }
- .footer-content {
- grid-template-columns: 1fr;
- text-align: center;
- }
- .footer-links {
- grid-template-columns: 1fr;
- gap: 32px;
- }
- }
- @media (max-width: 480px) {
- .hero h1 {
- font-size: 2.25rem;
- }
- .hero-stats {
- flex-direction: column;
- gap: 24px;
- }
- .hero-actions {
- flex-direction: column;
- }
- .section-header h2 {
- font-size: 1.875rem;
- }
- .cta-content h2 {
- font-size: 2rem;
- }
- }
|