:root { --animation-left-offset: 6px; --animation-duration: 0.7s; } body { display: flex; flex-direction: column; font-size: 2rem; justify-content: center; margin: auto; } h1 { font-size: 5rem; line-height: 1.3; margin: 0; padding: 0; } @media (max-width: 450px) { h1 { font-size: 4.25rem; } } main { margin-block-start: 10vh; } main .grid { align-items: baseline; display: grid; gap: 0 2rem; grid-template-columns: min-content fit-content(35%); grid-template-rows: repeat(2, max-content); grid-template-areas: "title blurb" "title nav"; padding-inline: 1em; width: min-content; } @media (max-width: 450px) { main .grid { grid-template-columns: 1fr; grid-template-rows: repeat(3, max-content); grid-template-areas: "title" "nav" "blurb"; margin-block-start: 5vh; text-align: center; } } main h1 { letter-spacing: 0.025em; text-align: end; } @media (max-width: 450px) { main h1 { text-align: center; } } main nav { align-items: baseline; } main p { margin: 0; } #title { grid-area: title; } #content { grid-area: blurb } #nav { grid-area: nav } #title, #content, #nav { overflow: none; } #title > *, #content > *, #nav > * { position: relative; } #title > * { animation: left-fade-in var(--animation-duration) ease-in-out; } #content > *, #nav > * { animation: right-fade-in var(--animation-duration) ease-in-out; } @keyframes left-fade-in { from { opacity: 0%; left: var(--animation-left-offset); } 33% { opacity: 0%; left: var(--animation-left-offset); } to { opacity: 100%; left: 0; } } @keyframes right-fade-in { from { opacity: 0%; left: calc(-1 * var(--animation-left-offset)); } 33% { opacity: 0%; left: calc(-1 * var(--animation-left-offset)); } to { opacity: 100%; left: 0; } } .platter { padding: 1.5rem 3rem; }