UNIT 27 • STAGE 6 OF 7

Contact Section + Footer

Contact form and a simple footer to complete the portfolio

UNIT 6 / 7
STEP 1

The Contact Section

A portfolio without a way to reach you is an open door with no mailbox. The contact section has two columns: left for human context (why reach out, how to find you), right for the form. This structure is more inviting than a form alone — it humanizes the request.

The form inputs use the same CSS variable pattern as the rest of the site: background: var(--bg) and border: 1px solid var(--border). They adapt to light/dark mode automatically.

STEP 2

Add the Contact CSS and HTML

👉 Form input CSS: .contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-field input, .form-field textarea { background: var(--bg); border: 1px solid var(--border); color: var(--text); outline: none; }
.form-field input:focus, .form-field textarea:focus { border-color: var(--accent); }

Stage 6 Complete

The full portfolio is built: hero, about, projects, and contact. The theme toggle works in both dark and light mode across all sections.

Next: Stage 7 polishes the motion — card hover lifts, skill tag bounces, button transitions.

Code Editor
Live Preview