.page-wrap { margin: 0 auto; padding: 1rem 1.25rem 4rem; } .section { margin-bottom: 4rem; scroll-margin-top: 5.5rem; } .hero { position: relative; overflow: hidden; padding: 2.5rem; border: 1px solid rgba(110, 118, 129, 0.28); border-radius: 24px; background: radial-gradient(circle at top right, rgba(88, 166, 255, 0.2), rgba(13, 17, 23, 0.8)); } .eyebrow { width: fit-content; margin: 0 0 1rem; padding: 0.3rem 0.7rem; border: 1px solid rgba(88, 166, 255, 0.5); border-radius: 999px; font-size: 0.82rem; font-weight: 600; color: #9ecbff; letter-spacing: 0.04em; text-transform: uppercase; } h1 { margin: 0; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.1; } .hero-role { margin: 0.75rem 0 0; font-size: 1.35rem; color: #79c0ff; font-weight: 600; } .hero-intro, .hero-focus { max-width: 60ch; margin: 1rem 0 0; color: #c9d1d9; } .hero-cta { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; } .btn { display: inline-block; padding: 0.72rem 1.2rem; border-radius: 10px; font-weight: 600; text-decoration: none; transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease; } .btn:hover { transform: translateY(-2px); } .btn-primary { background: linear-gradient(135deg, #1f6feb, #2f81f7); color: #ffffff; box-shadow: 0 10px 24px rgba(31, 111, 235, 0.35); } .btn-ghost { border: 1px solid #3d444d; color: #e6edf3; background: rgba(33, 38, 45, 0.55); } .btn-ghost:hover { border-color: #58a6ff; } h2 { margin: 0; font-size: clamp(1.5rem, 2.2vw, 2rem); } .section > p { max-width: 70ch; margin: 0.9rem 0 0; color: #b6bec8; } .section-title-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1.3rem; } .section-title-row p { margin: 0; color: #8b949e; } .card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; } .card h3 { margin: 0; font-size: 1.08rem; } .meta { color: #8b949e; font-size: 0.92rem; } .project-card p { margin: 0.75rem 0 0; } .impact { color: #9ecbff; font-weight: 500; } .timeline { display: grid; gap: 1rem; } .timeline-item { display: grid; grid-template-columns: 260px 1fr; gap: 1rem; padding: 1.1rem; border-left: 3px solid #2f81f7; border-radius: 12px; background: rgba(22, 27, 34, 0.85); } .timeline-item ul { margin: 0; padding-left: 1rem; color: #c9d1d9; } .timeline-item li + li { margin-top: 0.45rem; } @media (max-width: 760px) { .page-wrap { padding-top: 0.5rem; } .hero { padding: 2rem 1.2rem; } .timeline-item { grid-template-columns: 1fr; } }