main { display: grid; grid-template-columns: 3fr 2fr; grid-template-rows: auto 1fr; } main > h1 { grid-column: 1; grid-row: 1; text-transform: uppercase; color: var(--member-h1); } #bio { grid-column: 1; grid-row: 2; justify-self: center; margin-right: 0.5em; } #bio dt, #bio dd { display: inline; } #bio dt { font-weight: bold; color: var(--member-dt); } #bio dd { margin-left: 0; } #bio dl { margin-top: 0.2em; margin-bottom: 0.2em; } main > img { display: block; /* Align with title; h1 typically has font-size 2em and margin * .67em. */ margin-top: 1.33em; grid-column: 2; grid-row: 1 / -1; width: 100%; background-size: cover; position: sticky; top: 2em; } @media (max-width: 80em) { main { grid-template-columns: 3fr 2fr; grid-template-rows: auto auto; align-items: center; justify-items: center; } main > h1 { grid-column: 1; grid-row: 1; text-align: center; } main > img { grid-column: 2; grid-row: 1; position: static; margin-top: auto; } main > #bio { grid-column: 1 / -1; grid-row: 2; } } @media (max-width: 40em) { main > h1 { font-size: 1.2em; } }