:root { --animation-offset: 6px; --font-size-max: 12px; } 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: 599px) { h1 { font-size: 4.25rem; } } html { font-size: clamp(var(--font-size-min), 2.5vw, var(--font-size-max)); } main { margin-block-start: 10vh; width: inherit; } main .grid { align-items: baseline; display: grid; gap: 0 2rem; grid-template-columns: minmax(min-content, 1fr) minmax(min-content, 2fr); grid-template-rows: repeat(2, max-content); grid-template-areas: "title blurb" "title nav"; padding-inline: 1em; width: min-content; } @media (max-width: 599px) { main .grid { gap: 1rem 0; grid-template-columns: 1fr; grid-template-rows: repeat(3, max-content); grid-template-areas: "title" "blurb" "nav"; text-align: center; } } main h1 { letter-spacing: 0.025em; text-align: end; } @media (max-width: 599px) { main h1 { text-align: center; } } nav { align-items: baseline; display: flex; list-style: none; text-transform: lowercase; } nav > li { margin-inline-start: 0.5em; } nav > li:first-of-type { margin-inline-start: 0; } p { margin: 0; } h1 { grid-area: title; } #content { grid-area: blurb } nav { grid-area: nav } h1, #content > p, nav { position: relative; } h1 { animation: left-fade-in var(--transition-duration) ease-in-out; } @media (max-width: 599px) { h1 { animation: top-fade-in var(--transition-duration) ease-in-out; } } #content > p, nav { animation: right-fade-in var(--transition-duration) ease-in-out; } @media (max-width: 599px) { #content > p, nav { animation: bottom-fade-in var(--transition-duration) ease-in-out; } } @keyframes left-fade-in { from { opacity: 0%; left: var(--animation-offset); } 33% { opacity: 0%; left: var(--animation-offset); } to { opacity: 100%; left: 0; } } @keyframes right-fade-in { from { opacity: 0%; left: calc(-1 * var(--animation-offset)); } 33% { opacity: 0%; left: calc(-1 * var(--animation-offset)); } to { opacity: 100%; left: 0; } } @keyframes top-fade-in { from { opacity: 0%; bottom: calc(-1 * var(--animation-offset)); } 33% { opacity: 0%; bottom: calc(-1 * var(--animation-offset)); } to { opacity: 100%; bottom: 0; } } @keyframes bottom-fade-in { from { opacity: 0%; bottom: var(--animation-offset); } 33% { opacity: 0%; bottom: var(--animation-offset); } to { opacity: 100%; bottom: 0; } } .platter { padding: 1.5rem 3rem; }