:root { --bg: #05060b; --bg-soft: #0a0d16; --panel: rgba(14, 18, 30, 0.82); --panel-strong: rgba(18, 15, 30, 0.94); --border: rgba(159, 96, 255, 0.24); --border-bright: rgba(159, 96, 255, 0.55); --text: #f4f1ff; --muted: #bcb3d8; --purple: #a46cff; --purple-2: #7c3cff; --green: #61ffb1; --blue: #4aa3ff; --orange: #ff7a3d; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: radial-gradient(circle at top left, rgba(124, 60, 255, 0.22), transparent 28rem), radial-gradient(circle at 80% 20%, rgba(74, 163, 255, 0.09), transparent 24rem), linear-gradient(180deg, #05060b 0%, #080713 45%, #05060b 100%); color: var(--text); line-height: 1.6; } body::before { content: ""; position: fixed; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(164, 108, 255, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(164, 108, 255, 0.035) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, black, transparent 75%); } a { color: inherit; text-decoration: none; } img { max-width: 100%; } .site-header { position: sticky; top: 0; z-index: 50; height: 76px; padding: 0 42px; display: flex; align-items: center; gap: 32px; border-bottom: 1px solid rgba(159, 96, 255, 0.16); background: rgba(5, 6, 11, 0.82); backdrop-filter: blur(18px); } .brand { display: flex; align-items: center; gap: 14px; margin-right: auto; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; } .brand img { width: 42px; height: 42px; object-fit: contain; } .site-header nav { display: flex; gap: 26px; font-size: 0.78rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: #ded6ff; } .site-header nav a:hover { color: var(--green); } .nav-button { border: 1px solid var(--border-bright); padding: 10px 16px; border-radius: 8px; color: #eee7ff; font-size: 0.8rem; font-weight: 800; text-transform: uppercase; } .hero { max-width: 1320px; margin: 0 auto; min-height: calc(100vh - 76px); padding: 82px 42px 36px; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 48px; align-items: center; } .eyebrow { color: var(--green); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.22em; text-transform: uppercase; } .hero h1, .section h2, .split-section h2, .skills h2 { margin: 0; line-height: 0.98; letter-spacing: -0.05em; } .hero h1 { font-size: clamp(3rem, 6vw, 5.8rem); max-width: 720px; } .hero h1 span { color: var(--purple); text-shadow: 0 0 28px rgba(164, 108, 255, 0.4); } .hero-copy p:not(.eyebrow) { color: #d4cdec; max-width: 660px; font-size: 1.05rem; } .actions { display: flex; gap: 16px; margin-top: 32px; flex-wrap: wrap; } .button { border-radius: 9px; padding: 14px 20px; font-weight: 900; font-size: 0.86rem; text-transform: uppercase; letter-spacing: 0.04em; } .primary { background: linear-gradient(135deg, var(--purple), var(--purple-2)); box-shadow: 0 0 30px rgba(164, 108, 255, 0.25); } .secondary { border: 1px solid var(--border-bright); background: rgba(255, 255, 255, 0.02); } .hero-art { position: relative; display: flex; justify-content: center; } .hero-art img { max-height: 620px; object-fit: contain; filter: drop-shadow(0 0 42px rgba(164, 108, 255, 0.35)); } .hero-art::after { content: ""; position: absolute; inset: 10%; border-radius: 50%; background: rgba(164, 108, 255, 0.12); filter: blur(90px); z-index: -1; } .stats { max-width: 1240px; margin: 0 auto 18px; padding: 0 42px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border: 1px solid var(--border); border-radius: 18px; background: rgba(12, 15, 27, 0.82); overflow: hidden; } .stats div { padding: 24px; border-right: 1px solid rgba(159, 96, 255, 0.16); } .stats div:last-child { border-right: none; } .stats strong { display: block; font-size: 2rem; color: var(--text); } .stats span { color: var(--muted); } .split-section, .section { max-width: 1240px; margin: 0 auto; padding: 72px 42px; } .split-section { display: grid; grid-template-columns: 1.45fr 0.9fr; gap: 24px; } .panel, .card, .feature-card, .challenge-grid div { background: linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.005)), var(--panel); border: 1px solid var(--border); border-radius: 18px; box-shadow: 0 24px 80px rgba(0, 0, 0, 0.3); } .panel { padding: 28px; } .panel h2, .section h2, .skills h2 { font-size: clamp(2.2rem, 4vw, 4rem); } .panel p, .section > p, .card p, .feature-card p, .challenge-grid p, .panel li { color: var(--muted); } .panel img { margin-top: 22px; border-radius: 14px; border: 1px solid rgba(159, 96, 255, 0.2); } .about ul { list-style: none; padding: 0; margin: 28px 0 0; } .about li { margin: 14px 0; padding-left: 30px; position: relative; } .about li::before { content: "✓"; position: absolute; left: 0; color: var(--green); } .section > p { max-width: 820px; margin-bottom: 28px; } .card-grid { display: grid; gap: 22px; } .card-grid.two { grid-template-columns: repeat(2, 1fr); } .card { overflow: hidden; } .card img { width: 100%; height: 265px; object-fit: cover; object-position: top; border-bottom: 1px solid rgba(159, 96, 255, 0.18); } .card h3 { color: var(--purple); font-size: 1.45rem; padding: 22px 24px 0; margin: 0; } .card p { padding: 8px 24px 24px; margin: 0; } .feature-card { overflow: hidden; } .feature-card img { width: 100%; display: block; } .feature-card div { padding: 28px; } .feature-card h3 { color: var(--purple); font-size: 1.6rem; margin: 0 0 8px; } .challenge-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 26px; } .challenge-grid div { padding: 22px; } .challenge-grid h3 { color: var(--green); margin-top: 0; } .skills { max-width: 1240px; margin: 0 auto; padding: 72px 42px 92px; text-align: center; } .skills-list { margin-top: 28px; display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; } .skills-list span { border: 1px solid var(--border); color: #ded6ff; background: rgba(18, 15, 30, 0.8); padding: 10px 16px; border-radius: 999px; font-weight: 800; font-size: 0.9rem; } footer { border-top: 1px solid rgba(159, 96, 255, 0.16); padding: 34px 42px; text-align: center; color: var(--muted); } footer span { color: var(--purple); font-weight: 900; } footer p { margin: 6px 0 0; } @media (max-width: 1050px) { .site-header { position: static; height: auto; padding: 22px; flex-wrap: wrap; } .site-header nav { order: 3; width: 100%; flex-wrap: wrap; } .hero, .split-section, .card-grid.two, .challenge-grid { grid-template-columns: 1fr; } .stats { grid-template-columns: repeat(2, 1fr); } .stats div { border-bottom: 1px solid rgba(159, 96, 255, 0.16); } } @media (max-width: 650px) { .hero, .split-section, .section, .skills { padding-left: 20px; padding-right: 20px; } .stats { grid-template-columns: 1fr; padding: 0 20px; border: none; background: transparent; gap: 12px; } .stats div { border: 1px solid var(--border); border-radius: 14px; background: var(--panel); } .card img { height: 210px; } }