diff --git a/index.html b/index.html
index 0644120..cc1a3c2 100644
--- a/index.html
+++ b/index.html
@@ -26,11 +26,16 @@
line-height: 1.6;
-webkit-font-smoothing: antialiased;
overflow-x: hidden;
+ min-width: 320px;
}
/* Utility Classes */
- .container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
- .container-lg { max-width: 1400px; margin: 0 auto; padding: 0 1.5rem; }
+ .container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }
+ .container-lg { max-width: 1400px; margin: 0 auto; padding: 0 1rem; }
+
+ @media (min-width: 640px) {
+ .container, .container-lg { padding: 0 1.5rem; }
+ }
.text-center { text-align: center; }
.font-bold { font-weight: 700; }
@@ -118,15 +123,19 @@
align-items: center;
justify-content: center;
gap: 0.5rem;
- padding: 1rem 2rem;
+ padding: 0.875rem 1.5rem;
font-weight: 700;
- font-size: 1rem;
+ font-size: 0.875rem;
border-radius: 0.75rem;
border: none;
cursor: pointer;
transition: transform 0.2s, box-shadow 0.2s;
}
+ @media (min-width: 640px) {
+ .btn { padding: 1rem 2rem; font-size: 1rem; }
+ }
+
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
@@ -219,11 +228,20 @@
/* Hero */
.hero {
min-height: 100vh;
- padding: 8rem 0 5rem;
+ min-height: 100dvh;
+ padding: 6rem 0 3rem;
position: relative;
overflow: hidden;
}
+ @media (min-width: 640px) {
+ .hero { padding: 7rem 0 4rem; }
+ }
+
+ @media (min-width: 768px) {
+ .hero { padding: 8rem 0 5rem; }
+ }
+
.hero-bg {
position: absolute;
inset: 0;
@@ -269,24 +287,29 @@
}
.hero-title {
- font-size: 3rem;
+ font-size: 2.25rem;
font-weight: 900;
- line-height: 1;
+ line-height: 1.1;
letter-spacing: -0.025em;
margin-bottom: 1.5rem;
}
- @media (min-width: 768px) { .hero-title { font-size: 4.5rem; } }
+ @media (min-width: 480px) { .hero-title { font-size: 2.75rem; } }
+ @media (min-width: 640px) { .hero-title { font-size: 3.5rem; } }
+ @media (min-width: 768px) { .hero-title { font-size: 4.5rem; line-height: 1; } }
@media (min-width: 1024px) { .hero-title { font-size: 6rem; } }
.hero-subtitle {
- font-size: 1.25rem;
+ font-size: 1rem;
color: #a1a1aa;
max-width: 48rem;
- margin: 0 auto 2.5rem;
- line-height: 1.7;
+ margin: 0 auto 2rem;
+ line-height: 1.6;
+ padding: 0 0.5rem;
}
+ @media (min-width: 480px) { .hero-subtitle { font-size: 1.125rem; } }
+ @media (min-width: 640px) { .hero-subtitle { font-size: 1.25rem; padding: 0; margin-bottom: 2.5rem; line-height: 1.7; } }
@media (min-width: 768px) { .hero-subtitle { font-size: 1.5rem; } }
/* Product Mockup */
@@ -295,18 +318,26 @@
max-width: 72rem;
margin: 0 auto;
padding: 2px;
- border-radius: 1.5rem;
+ border-radius: 1rem;
background: linear-gradient(135deg, #22c55e, #10b981, #06b6d4, #8b5cf6);
background-size: 300% 300%;
animation: gradient-shift 4s ease infinite;
}
+ @media (min-width: 640px) {
+ .mockup-wrapper { border-radius: 1.5rem; }
+ }
+
.mockup {
background: #0a0a0a;
- border-radius: calc(1.5rem - 2px);
+ border-radius: calc(1rem - 2px);
overflow: hidden;
}
+ @media (min-width: 640px) {
+ .mockup { border-radius: calc(1.5rem - 2px); }
+ }
+
.mockup-chrome {
display: flex;
align-items: center;
@@ -344,9 +375,10 @@
.mockup-body {
display: flex;
- height: 28rem;
+ height: 22rem;
}
+ @media (min-width: 480px) { .mockup-body { height: 26rem; } }
@media (min-width: 768px) { .mockup-body { height: 32rem; } }
.mockup-sidebar {
@@ -382,21 +414,34 @@
.chat-messages {
flex: 1;
- padding: 1.5rem;
+ padding: 0.75rem;
overflow-y: auto;
display: flex;
flex-direction: column;
- gap: 1rem;
+ gap: 0.625rem;
+ }
+
+ @media (min-width: 640px) {
+ .chat-messages { padding: 1.5rem; gap: 1rem; }
}
.message {
- max-width: 85%;
- padding: 0.875rem 1.25rem;
- border-radius: 1rem;
- font-size: 0.875rem;
+ max-width: 90%;
+ padding: 0.625rem 0.875rem;
+ border-radius: 0.75rem;
+ font-size: 0.75rem;
line-height: 1.5;
}
+ @media (min-width: 640px) {
+ .message {
+ max-width: 85%;
+ padding: 0.875rem 1.25rem;
+ border-radius: 1rem;
+ font-size: 0.875rem;
+ }
+ }
+
.message.user {
align-self: flex-end;
background: rgba(34, 197, 94, 0.15);
@@ -425,18 +470,30 @@
}
.chat-input {
- padding: 1rem;
+ padding: 0.5rem;
border-top: 1px solid rgba(255,255,255,0.05);
}
+ @media (min-width: 640px) {
+ .chat-input { padding: 1rem; }
+ }
+
.chat-input-inner {
display: flex;
align-items: center;
- gap: 0.75rem;
- padding: 0.875rem 1rem;
+ gap: 0.5rem;
+ padding: 0.625rem 0.75rem;
background: rgba(255,255,255,0.03);
border: 1px solid rgba(255,255,255,0.08);
- border-radius: 1rem;
+ border-radius: 0.75rem;
+ }
+
+ @media (min-width: 640px) {
+ .chat-input-inner {
+ gap: 0.75rem;
+ padding: 0.875rem 1rem;
+ border-radius: 1rem;
+ }
}
.chat-input input {
@@ -445,7 +502,12 @@
border: none;
outline: none;
color: #fff;
- font-size: 0.875rem;
+ font-size: 0.8125rem;
+ min-width: 0;
+ }
+
+ @media (min-width: 640px) {
+ .chat-input input { font-size: 0.875rem; }
}
.chat-input input::placeholder { color: #52525b; }
@@ -571,10 +633,12 @@
/* Section Styles */
section {
- padding: 6rem 0;
+ padding: 3rem 0;
}
- @media (min-width: 768px) { section { padding: 8rem 0; } }
+ @media (min-width: 640px) { section { padding: 5rem 0; } }
+ @media (min-width: 768px) { section { padding: 6rem 0; } }
+ @media (min-width: 1024px) { section { padding: 8rem 0; } }
.section-badge {
display: inline-flex;
@@ -588,35 +652,46 @@
}
.section-title {
- font-size: 2.25rem;
+ font-size: 1.75rem;
font-weight: 900;
- line-height: 1.1;
- margin-bottom: 1.5rem;
+ line-height: 1.15;
+ margin-bottom: 1rem;
letter-spacing: -0.025em;
}
+ @media (min-width: 480px) { .section-title { font-size: 2rem; } }
+ @media (min-width: 640px) { .section-title { font-size: 2.25rem; margin-bottom: 1.5rem; } }
@media (min-width: 768px) { .section-title { font-size: 3rem; } }
@media (min-width: 1024px) { .section-title { font-size: 3.75rem; } }
.section-subtitle {
- font-size: 1.125rem;
+ font-size: 1rem;
color: #a1a1aa;
max-width: 48rem;
margin: 0 auto;
- line-height: 1.7;
+ line-height: 1.6;
}
+ @media (min-width: 640px) { .section-subtitle { font-size: 1.125rem; line-height: 1.7; } }
@media (min-width: 768px) { .section-subtitle { font-size: 1.25rem; } }
/* Problem Cards */
.problem-card {
- padding: 2rem;
- border-radius: 1.5rem;
+ padding: 1.25rem;
+ border-radius: 1rem;
background: rgba(255,255,255,0.02);
border: 1px solid rgba(248, 113, 113, 0.1);
transition: border-color 0.3s, transform 0.3s;
}
+ @media (min-width: 640px) {
+ .problem-card { padding: 1.5rem; border-radius: 1.25rem; }
+ }
+
+ @media (min-width: 768px) {
+ .problem-card { padding: 2rem; border-radius: 1.5rem; }
+ }
+
.problem-card:hover {
border-color: rgba(248, 113, 113, 0.3);
transform: translateY(-4px);
@@ -652,14 +727,22 @@
}
.pipeline-card {
- padding: 2rem;
- border-radius: 1.5rem;
+ padding: 1.25rem;
+ border-radius: 1rem;
background: rgba(255,255,255,0.02);
border: 1px solid rgba(255,255,255,0.06);
position: relative;
transition: transform 0.3s, box-shadow 0.3s;
}
+ @media (min-width: 640px) {
+ .pipeline-card { padding: 1.5rem; border-radius: 1.25rem; }
+ }
+
+ @media (min-width: 768px) {
+ .pipeline-card { padding: 2rem; border-radius: 1.5rem; }
+ }
+
.pipeline-card:hover {
transform: translateY(-4px);
box-shadow: 0 20px 40px rgba(34, 197, 94, 0.1);
@@ -723,13 +806,21 @@
/* Feature Cards */
.feature-card {
- padding: 2rem;
- border-radius: 1.5rem;
+ padding: 1.25rem;
+ border-radius: 1rem;
background: rgba(255,255,255,0.02);
border: 1px solid rgba(255,255,255,0.06);
transition: transform 0.3s, border-color 0.3s;
}
+ @media (min-width: 640px) {
+ .feature-card { padding: 1.5rem; border-radius: 1.25rem; }
+ }
+
+ @media (min-width: 768px) {
+ .feature-card { padding: 2rem; border-radius: 1.5rem; }
+ }
+
.feature-card:hover {
transform: translateY(-4px);
border-color: rgba(34, 197, 94, 0.2);
@@ -762,54 +853,82 @@
display: flex;
flex-direction: column;
align-items: center;
- gap: 1.5rem;
- padding: 2.5rem;
- border-radius: 1.5rem;
+ gap: 1rem;
+ padding: 1.5rem;
+ border-radius: 1rem;
background: rgba(255,255,255,0.02);
border: 1px solid rgba(255,255,255,0.06);
+ text-align: center;
+ }
+
+ @media (min-width: 640px) {
+ .step-card { padding: 2rem; gap: 1.25rem; border-radius: 1.25rem; }
}
@media (min-width: 1024px) {
.step-card {
flex-direction: row;
gap: 2.5rem;
+ padding: 2.5rem;
+ border-radius: 1.5rem;
+ text-align: left;
}
}
.step-number {
- width: 5rem;
- height: 5rem;
- border-radius: 1.25rem;
+ width: 4rem;
+ height: 4rem;
+ border-radius: 1rem;
display: flex;
align-items: center;
justify-content: center;
- font-size: 2.5rem;
+ font-size: 2rem;
font-weight: 900;
color: #000;
flex-shrink: 0;
}
+ @media (min-width: 640px) {
+ .step-number { width: 5rem; height: 5rem; font-size: 2.5rem; border-radius: 1.25rem; }
+ }
+
.step-title {
- font-size: 1.5rem;
+ font-size: 1.25rem;
font-weight: 900;
- margin-bottom: 0.75rem;
+ margin-bottom: 0.5rem;
+ }
+
+ @media (min-width: 640px) {
+ .step-title { font-size: 1.5rem; margin-bottom: 0.75rem; }
}
.step-text {
color: #a1a1aa;
- font-size: 1.0625rem;
- line-height: 1.7;
+ font-size: 0.9375rem;
+ line-height: 1.6;
+ }
+
+ @media (min-width: 640px) {
+ .step-text { font-size: 1.0625rem; line-height: 1.7; }
}
/* Pricing */
.pricing-card {
- padding: 2.5rem;
- border-radius: 1.5rem;
+ padding: 1.5rem;
+ border-radius: 1rem;
background: rgba(255,255,255,0.02);
border: 1px solid rgba(255,255,255,0.06);
transition: transform 0.3s;
}
+ @media (min-width: 640px) {
+ .pricing-card { padding: 2rem; border-radius: 1.25rem; }
+ }
+
+ @media (min-width: 768px) {
+ .pricing-card { padding: 2.5rem; border-radius: 1.5rem; }
+ }
+
.pricing-card:hover {
transform: translateY(-4px);
}
@@ -850,11 +969,19 @@
}
.pricing-price {
- font-size: 2.75rem;
+ font-size: 2rem;
font-weight: 900;
margin-bottom: 0.25rem;
}
+ @media (min-width: 640px) {
+ .pricing-price { font-size: 2.5rem; }
+ }
+
+ @media (min-width: 768px) {
+ .pricing-price { font-size: 2.75rem; }
+ }
+
.pricing-period {
font-size: 1rem;
color: #71717a;