diff --git a/style.css b/style.css index 1c0dd6a..ccdf1c0 100644 --- a/style.css +++ b/style.css @@ -2,6 +2,10 @@ box-sizing: border-box; } +html { + scroll-behavior: smooth; +} + body { margin: 0; font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; @@ -15,80 +19,96 @@ a { text-decoration: none; } +img { + max-width: 100%; +} + .hero { min-height: 100vh; padding: 32px; background: - radial-gradient(circle at top left, rgba(138, 43, 226, 0.35), transparent 35%), + radial-gradient(circle at top left, rgba(139, 92, 246, 0.38), transparent 32%), radial-gradient(circle at bottom right, rgba(64, 255, 180, 0.12), transparent 35%), #0d0b14; } -nav { - max-width: 1180px; +.nav { + max-width: 1280px; margin: 0 auto; display: flex; justify-content: space-between; + gap: 24px; align-items: center; } .logo { - font-weight: 800; - font-size: 1.4rem; + font-weight: 900; + font-size: 1.5rem; letter-spacing: 0.04em; color: #b783ff; } .nav-links { display: flex; - gap: 24px; - color: #cfc7e8; + gap: 22px; + color: #d8d0ee; + font-weight: 600; + flex-wrap: wrap; +} + +.nav-links a:hover { + color: #8effc1; +} + +.hero-grid { + max-width: 1280px; + margin: 110px auto 0; + display: grid; + grid-template-columns: 0.95fr 1.05fr; + gap: 42px; + align-items: center; } .hero-content { - max-width: 900px; - margin: 150px auto 0; - text-align: center; + max-width: 720px; } .eyebrow { color: #8effc1; text-transform: uppercase; letter-spacing: 0.15em; - font-size: 0.85rem; - font-weight: 700; + font-size: 0.82rem; + font-weight: 800; } h1 { - font-size: clamp(2.5rem, 7vw, 5.5rem); - line-height: 1; + font-size: clamp(2.6rem, 6vw, 5.2rem); + line-height: 0.98; margin: 16px 0; } .subtext { - max-width: 760px; - margin: 0 auto; color: #cfc7e8; font-size: 1.15rem; } .buttons { - margin-top: 36px; + margin-top: 34px; display: flex; gap: 16px; - justify-content: center; flex-wrap: wrap; } .btn { padding: 14px 22px; border-radius: 999px; - font-weight: 700; + font-weight: 800; } .primary { background: #8b5cf6; color: white; + box-shadow: 0 0 24px rgba(139, 92, 246, 0.35); } .secondary { @@ -96,17 +116,39 @@ h1 { color: #d9ccff; } +.hero-image, +.feature-image, +.screenshot-card { + box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35); +} + +.hero-image img, +.feature-image img, +.screenshot-card img { + display: block; + width: 100%; +} + +.hero-image { + border: 1px solid #302747; + border-radius: 22px; + overflow: hidden; + background: #171321; +} + .stats { max-width: 1180px; - margin: -60px auto 80px; + margin: -58px auto 60px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding: 0 32px; + position: relative; + z-index: 2; } .stats div { - background: #171321; + background: rgba(23, 19, 33, 0.94); border: 1px solid #302747; border-radius: 18px; padding: 24px; @@ -131,14 +173,23 @@ h1 { padding: 80px 32px; } -.section h2 { - font-size: 2.4rem; - margin-bottom: 16px; +.section-heading { + max-width: 860px; + margin-bottom: 32px; } -.section > p { +.section h2 { + font-size: clamp(2rem, 4vw, 3rem); + line-height: 1.05; + margin: 10px 0 16px; +} + +.section p { color: #cfc7e8; - max-width: 820px; +} + +.intro { + padding-top: 40px; } .dark { @@ -148,29 +199,66 @@ h1 { background: #120f1b; } -.cards { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 18px; - margin-top: 32px; +.feature-image { + border: 1px solid #302747; + border-radius: 22px; + overflow: hidden; + background: #171321; } -.card { +.feature-image.wide { + max-width: 100%; +} + +.screenshot-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 24px; +} + +.screenshot-card { background: #171321; border: 1px solid #302747; - border-radius: 18px; - padding: 24px; + border-radius: 20px; + overflow: hidden; } -.card h3 { - margin-top: 0; +.screenshot-card div { + padding: 22px; +} + +.screenshot-card h3 { + margin: 0 0 8px; color: #b783ff; + font-size: 1.3rem; } -.card p { +.screenshot-card p { + margin: 0; color: #cfc7e8; } +.skills { + text-align: center; +} + +.skills-grid { + margin-top: 28px; + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 12px; +} + +.skills-grid span { + border: 1px solid #302747; + background: #171321; + color: #d9ccff; + padding: 10px 14px; + border-radius: 999px; + font-weight: 700; +} + footer { padding: 36px; text-align: center; @@ -178,23 +266,41 @@ footer { border-top: 1px solid #211a31; } -@media (max-width: 800px) { - nav { - flex-direction: column; - gap: 18px; - } - - .nav-links { - flex-wrap: wrap; - justify-content: center; - } - - .stats, - .cards { +@media (max-width: 950px) { + .hero-grid, + .screenshot-grid { grid-template-columns: 1fr; } - .hero-content { - margin-top: 100px; + .hero-grid { + margin-top: 80px; + } + + .stats { + grid-template-columns: repeat(2, 1fr); + margin-top: 40px; + } +} + +@media (max-width: 650px) { + .hero, + .section { + padding-left: 20px; + padding-right: 20px; + } + + .nav { + align-items: flex-start; + flex-direction: column; + } + + .stats { + grid-template-columns: 1fr; + padding: 0 20px; + } + + .dark { + padding-left: 20px; + padding-right: 20px; } } \ No newline at end of file