:root {
--color-paper: #f7f5ef;
--color-ink: #203029;
--color-muted: #607068;
--color-leaf: #314f42;
--color-sage: #e4ece7;
--color-earth: #b86a3b;
--color-line: #dde3de;
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
--font-heading: Georgia, serif;
--font-meta: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
--size-reading: 760px;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
background: var(--color-paper);
color: var(--color-ink);
font-family: var(--font-body);
font-size: 16px;
line-height: 1.65;
}
a {
color: inherit;
text-decoration-thickness: 1px;
text-underline-offset: 0.16em;
}
a:hover {
color: var(--color-leaf);
}
button,
input {
font: inherit;
}
.ed-shell {
width: min(var(--size-reading), calc(100% - 40px));
margin-inline: auto;
}
.ed-site-header,
.ed-site-footer {
border-color: var(--color-line);
border-style: solid;
}
.ed-site-header {
border-width: 0 0 1px;
}
.ed-site-footer {
border-width: 1px 0 0;
margin-top: 72px;
}
.ed-site-header__inner,
.ed-site-footer__inner {
display: flex;
align-items: center;
gap: 16px;
min-height: 72px;
}
.ed-site-logo,
.ed-site-main h1,
.ed-site-main h2,
.ed-site-main h3 {
font-family: var(--font-heading);
}
.ed-site-logo {
display: inline-flex;
align-items: center;
min-width: 44px;
min-height: 44px;
padding-inline: 12px;
font-size: 24px;
font-weight: 700;
text-decoration: none;
}
.ed-primary-nav {
margin-left: auto;
}
.ed-menu {
display: flex;
align-items: center;
gap: 16px;
margin: 0;
padding: 0;
list-style: none;
}
.ed-menu a,
.ed-site-footer__utility a {
display: inline-flex;
align-items: center;
min-width: 44px;
min-height: 44px;
padding-inline: 12px;
}
.ed-menu--primary a {
font-size: 14px;
font-weight: 650;
text-decoration: none;
}
.ed-menu--primary .sub-menu {
display: none;
}
.ed-search-form {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 4px 8px;
}
.ed-search-form__label {
grid-column: 1 / -1;
color: var(--color-muted);
font-family: var(--font-meta);
font-size: 12px;
}
.ed-search-form__input,
.ed-search-form__submit,
.ed-menu-toggle {
min-width: 44px;
min-height: 44px;
border: 1px solid var(--color-line);
border-radius: 0;
}
.ed-search-form__input {
width: 132px;
padding: 8px 10px;
background: transparent;
color: var(--color-ink);
}
.ed-search-form__submit,
.ed-menu-toggle {
padding: 8px 12px;
background: var(--color-leaf);
color: var(--color-paper);
cursor: pointer;
}
.ed-menu-toggle {
display: none;
margin-left: auto;
}
.ed-site-main {
min-height: 50vh;
padding-top: 72px;
}
.ed-site-main > * {
width: min(var(--size-reading), calc(100% - 40px));
margin-inline: auto;
}
.ed-site-main h1,
.ed-site-main h2,
.ed-site-main h3 {
line-height: 1.16;
}
.ed-site-main h1 {
font-size: clamp(34px, 7vw, 48px);
}
.ed-site-main h2 {
font-size: clamp(24px, 5vw, 34px);
}
.ed-site-main h3 {
font-size: 24px;
}
.ed-home-section {
margin-bottom: 72px;
padding-bottom: 72px;
border-bottom: 1px solid var(--color-line);
}
.ed-home-section--newsletter {
padding: 40px;
background: var(--color-leaf);
color: var(--color-paper);
}
.ed-home-section--newsletter .ed-eyebrow {
color: var(--color-sage);
}
.ed-home-section--newsletter h2 {
margin-top: 0;
}
.ed-eyebrow {
margin: 0 0 12px;
color: var(--color-muted);
font-family: var(--font-meta);
font-size: 12px;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.ed-home-intro h1 {
max-width: 680px;
margin: 0;
}
.ed-home-intro__lead {
max-width: 620px;
margin-block: 20px 28px;
color: var(--color-muted);
font-size: 18px;
}
.ed-home-intro__actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin: 0;
}
.ed-button,
.ed-topic-links a {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 44px;
min-height: 44px;
padding: 10px 16px;
background: var(--color-leaf);
color: var(--color-paper);
font-weight: 700;
text-decoration: none;
}
.ed-button--quiet {
border: 1px solid var(--color-line);
background: transparent;
color: var(--color-ink);
}
.ed-topic-links {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
margin-top: 24px;
}
.ed-topic-links a {
justify-content: flex-start;
background: var(--color-sage);
color: var(--color-ink);
}
.ed-featured-story {
margin-top: 20px;
}
.ed-featured-story__media,
.ed-featured-story__media img {
display: block;
max-width: 100%;
}
.ed-featured-story__media img {
width: 100%;
height: auto;
}
.ed-featured-story__copy {
padding-top: 24px;
}
.ed-featured-story__copy h2,
.ed-post-row__title {
margin: 0;
}
.ed-featured-story__excerpt,
.ed-post-row__excerpt {
color: var(--color-muted);
}
.ed-text-link {
display: inline-flex;
align-items: center;
min-height: 44px;
font-weight: 700;
}
.ed-post-list {
margin-top: 20px;
border-top: 1px solid var(--color-line);
}
.ed-post-row {
padding-block: 20px;
border-bottom: 1px solid var(--color-line);
}
.ed-post-row__meta {
display: flex;
flex-wrap: wrap;
gap: 8px 12px;
margin-bottom: 6px;
}
.ed-featured-story__copy h2 a,
.ed-post-row__title a,
.ed-post-row__meta a {
display: inline-flex;
align-items: center;
min-width: 44px;
min-height: 44px;
}
.ed-author-card {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 20px;
align-items: start;
}
.ed-author-card__avatar img {
display: block;
width: 96px;
height: 96px;
border-radius: 50%;
}
.ed-meta {
color: var(--color-muted);
font-family: var(--font-meta);
font-size: 12px;
}
.ed-site-footer__inner {
flex-wrap: wrap;
padding-block: 24px;
}
.ed-site-footer__identity {
margin: 0;
font-family: var(--font-meta);
font-size: 12px;
}
.ed-footer-nav,
.ed-site-footer__utility {
display: flex;
flex-wrap: wrap;
gap: 8px 16px;
}
.ed-site-footer__utility {
margin-left: auto;
}
.ed-skip-link {
position: fixed;
top: 8px;
left: 8px;
z-index: 1;
padding: 8px 12px;
min-width: 44px;
min-height: 44px;
background: var(--color-leaf);
color: var(--color-paper);
transform: translateY(-150%);
}
.ed-skip-link:focus {
transform: translateY(0);
}
:focus-visible {
outline: 3px solid var(--color-earth);
outline-offset: 3px;
}
@media (max-width: 1080px) {
.ed-site-header__inner {
flex-wrap: wrap;
padding-block: 12px;
}
.ed-primary-nav {
order: 3;
width: 100%;
margin-left: 0;
}
}
@media (max-width: 767px) {
.ed-shell,
.ed-site-main > * {
width: calc(100% - 32px);
}
.ed-menu-toggle {
display: inline-flex;
align-items: center;
justify-content: center;
}
.ed-primary-nav {
width: 100%;
}
.ed-primary-nav[hidden] {
display: none;
}
.ed-menu--primary {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 4px 12px;
padding-top: 8px;
}
.ed-search-form {
width: 100%;
}
.ed-search-form__input {
width: 100%;
}
.ed-site-footer__utility {
width: 100%;
margin-left: 0;
}
.ed-home-section {
margin-bottom: 48px;
padding-bottom: 48px;
}
.ed-home-section--newsletter {
padding: 28px;
}
.ed-topic-links {
grid-template-columns: 1fr;
}
}
@media (max-width: 600px) {
.ed-menu--primary {
grid-template-columns: 1fr;
}
.ed-home-intro__actions .ed-button {
width: 100%;
}
.ed-author-card {
grid-template-columns: 1fr;
}
}
@media (min-width: 768px) {
.ed-primary-nav[hidden] {
display: block;
}
}
@media (min-width: 1080px) {
.ed-site-header__inner {
flex-wrap: nowrap;
}
.ed-primary-nav {
order: initial;
width: auto;
margin-left: auto;
}
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
scroll-behavior: auto;
transition-duration: 0.01ms !important;
animation-duration: 0.01ms !important;
}
}