@font-face {
    font-family: "Newsreader";
    src: url("../fonts/newsreader-latin-wght-normal.woff2") format("woff2");
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}

@font-face {
    font-family: "Newsreader";
    src: url("../fonts/newsreader-latin-wght-italic.woff2") format("woff2");
    font-style: italic;
    font-weight: 200 800;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("../fonts/manrope-latin-wght-normal.woff2") format("woff2");
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}

:root {
    --eb-paper: #f4f0e8;
    --eb-ink: #171815;
    --eb-accent: #9e3e31;
    --eb-muted: color-mix(in srgb, var(--eb-ink) 64%, transparent);
    --eb-faint: color-mix(in srgb, var(--eb-ink) 14%, transparent);
    --eb-rule: color-mix(in srgb, var(--eb-ink) 30%, transparent);
    --eb-serif: var(--gh-font-heading, "Newsreader", Iowan Old Style, Baskerville, Georgia, serif);
    --eb-sans: var(--gh-font-body, "Manrope", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    --eb-shell: min(1480px, calc(100vw - 64px));
    --eb-wide: min(1600px, calc(100vw - 32px));
    --eb-text: min(760px, calc(100vw - 40px));
    --eb-radius: 2px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--eb-paper);
    color: var(--eb-ink);
    font-family: var(--eb-sans);
    font-size: 1.6rem;
    line-height: 1.55;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body::before {
    position: fixed;
    inset: 0;
    z-index: -1;
    background-image: url("data:image/svg+xml,%3Csvg width='180' height='180' viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.027'/%3E%3C/svg%3E");
    content: "";
    pointer-events: none;
}

img,
svg,
video {
    display: block;
    max-width: 100%;
}

img {
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    color: inherit;
    font: inherit;
}

button {
    background: none;
    border: 0;
    cursor: pointer;
}

::selection {
    background: color-mix(in srgb, var(--eb-accent) 30%, var(--eb-paper));
}

:focus-visible {
    outline: 2px solid var(--eb-accent);
    outline-offset: 4px;
}

.eb-shell {
    width: var(--eb-shell);
    margin-inline: auto;
}

.eb-shell--wide {
    width: var(--eb-wide);
}

.eb-shell--text {
    width: var(--eb-text);
}

.eb-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.eb-skip {
    position: fixed;
    top: 1.2rem;
    left: 1.2rem;
    z-index: 1000;
    padding: 1rem 1.4rem;
    background: var(--eb-ink);
    color: var(--eb-paper);
    font: 700 1.2rem/1 var(--eb-sans);
    letter-spacing: .08em;
    text-transform: uppercase;
    transform: translateY(-200%);
}

.eb-skip:focus {
    transform: none;
}

.eb-progress {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 3px;
}

.eb-progress span {
    display: block;
    width: 0;
    height: 100%;
    background: var(--eb-accent);
}

.eb-kicker {
    margin: 0 0 .9rem;
    color: var(--eb-accent);
    font: 760 1.08rem/1.25 var(--eb-sans);
    letter-spacing: .15em;
    text-transform: uppercase;
}

a.eb-kicker:hover {
    text-decoration: underline;
    text-underline-offset: .35em;
}

.eb-button {
    display: inline-flex;
    min-height: 4.6rem;
    align-items: center;
    justify-content: center;
    padding: 1.2rem 2rem;
    background: var(--eb-ink);
    border: 1px solid var(--eb-ink);
    border-radius: var(--eb-radius);
    color: var(--eb-paper);
    font: 720 1.2rem/1 var(--eb-sans);
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: background-color .2s ease, color .2s ease;
}

.eb-button:hover {
    background: var(--eb-accent);
    border-color: var(--eb-accent);
}

.eb-button--small {
    min-height: 3.8rem;
    padding: .9rem 1.4rem;
    font-size: 1.05rem;
}

.eb-text-link,
.eb-text-button {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    padding: 0;
    font: 720 1.15rem/1.2 var(--eb-sans);
    letter-spacing: .07em;
    text-transform: uppercase;
}

.eb-text-link svg,
.eb-text-button svg,
.eb-pagination svg {
    width: 1.8rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: square;
    stroke-width: 1.4;
    transition: transform .2s ease;
}

.eb-text-link:hover svg,
.eb-text-button:hover svg {
    transform: translateX(.35rem);
}

/* Header */
.eb-header {
    position: relative;
    z-index: 100;
    background: var(--eb-paper);
    border-bottom: 1px solid var(--eb-rule);
}

.eb-header__utility {
    position: relative;
    display: grid;
    min-height: 10.6rem;
    align-items: center;
    grid-template-columns: 1fr auto 1fr;
}

.eb-wordmark {
    grid-column: 2;
    color: var(--eb-ink);
    font: 640 clamp(3.2rem, 4.6vw, 6.4rem)/.85 var(--eb-serif);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.eb-wordmark img {
    max-width: min(42rem, 46vw);
    max-height: 7rem;
}

.eb-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.6rem;
}

.eb-account-link {
    font: 650 1.18rem/1 var(--eb-sans);
    letter-spacing: .04em;
}

.eb-account-link:hover {
    text-decoration: underline;
    text-underline-offset: .35em;
}

.eb-icon-button {
    display: grid;
    width: 4rem;
    height: 4rem;
    place-items: center;
}

.eb-icon-button svg {
    width: 2rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.45;
}

.eb-menu-button {
    display: none;
    width: 4rem;
    height: 4rem;
    place-items: center;
}

.eb-menu-button__lines,
.eb-menu-button__lines::before,
.eb-menu-button__lines::after {
    display: block;
    width: 2.2rem;
    height: 1px;
    background: currentColor;
    content: "";
    transition: transform .2s ease;
}

.eb-menu-button__lines::before {
    transform: translateY(-.6rem);
}

.eb-menu-button__lines::after {
    transform: translateY(.5rem);
}

.eb-nav {
    border-top: 1px solid var(--eb-faint);
}

.eb-nav .nav {
    display: flex;
    min-height: 4.9rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    gap: clamp(2rem, 3.2vw, 5rem);
    list-style: none;
}

.eb-nav a {
    position: relative;
    display: flex;
    min-height: 4.9rem;
    align-items: center;
    font: 680 1.1rem/1 var(--eb-sans);
    letter-spacing: .1em;
    text-transform: uppercase;
}

.eb-nav a::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--eb-accent);
    content: "";
    transform: scaleX(0);
    transition: transform .2s ease;
}

.eb-nav a:hover::after,
.eb-nav .nav-current a::after {
    transform: scaleX(1);
}

/* Section rhythm */
.eb-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--eb-ink);
    gap: 3rem;
}

.eb-section-head--rule {
    grid-column: 1 / -1;
}

.eb-section-head h2 {
    margin: 0;
    font: 530 clamp(2.7rem, 3.3vw, 4.6rem)/1 var(--eb-serif);
    letter-spacing: -.025em;
}

.eb-section-head > span {
    color: var(--eb-muted);
    font: 500 1.25rem/1.3 var(--eb-sans);
}

/* Home */
.eb-home-intro {
    padding-block: clamp(4.5rem, 7vw, 10rem);
}

.eb-home-intro__eyebrow {
    max-width: 90rem;
    margin: 0 0 2.4rem;
    color: var(--eb-accent);
    font: 760 1.05rem/1.3 var(--eb-sans);
    letter-spacing: .17em;
}

.eb-home-intro__grid {
    display: grid;
    align-items: end;
    grid-template-columns: minmax(0, 1.65fr) minmax(28rem, .65fr);
    gap: clamp(3rem, 8vw, 14rem);
}

.eb-home-intro h1 {
    max-width: 100rem;
    margin: 0;
    font: 480 clamp(5rem, 8.2vw, 12rem)/.87 var(--eb-serif);
    letter-spacing: -.055em;
}

.eb-display-sans .eb-home-intro h1,
.eb-display-sans .eb-card__title,
.eb-display-sans .eb-section-head h2,
.eb-display-sans .eb-archive-head h1,
.eb-display-sans .eb-article__header h1,
.eb-display-sans .eb-page__header h1,
.eb-display-sans .eb-pitch__hero h1 {
    font-family: var(--eb-sans);
    font-weight: 520;
    letter-spacing: -.06em;
}

.eb-home-intro__grid > p {
    max-width: 42rem;
    margin: 0 0 .8rem;
    color: var(--eb-muted);
    font: 430 clamp(1.6rem, 1.7vw, 2.1rem)/1.5 var(--eb-sans);
}

.eb-lead {
    display: grid;
    grid-template-columns: minmax(0, 2.15fr) minmax(28rem, .85fr);
    gap: 3.2rem;
}

.eb-lead > .eb-card--feature,
.eb-lead > .eb-lead__rail {
    margin-top: 1rem;
}

.eb-lead__rail {
    display: grid;
    align-content: start;
    border-top: 1px solid var(--eb-rule);
}

.eb-lead__rail .eb-card {
    grid-template-columns: 12rem 1fr;
    padding-block: 2rem;
    border-bottom: 1px solid var(--eb-rule);
}

.eb-lead__rail .eb-card__image {
    aspect-ratio: 1.08;
}

.eb-lead__rail .eb-card__title {
    font-size: clamp(2.1rem, 2vw, 2.8rem);
}

.eb-latest,
.eb-topic-section,
.eb-recommendations,
.eb-related,
.eb-comments {
    padding-top: clamp(8rem, 11vw, 15rem);
}

.eb-card-grid,
.eb-topic-grid {
    display: grid;
    padding-top: 3rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(3rem, 4vw, 6rem) 2.8rem;
}

.eb-topic-grid {
    gap: 2.8rem;
}

.eb-topic-section__description {
    max-width: 72rem;
    margin: 2rem 0 0;
    color: var(--eb-muted);
    font: 430 1.6rem/1.5 var(--eb-sans);
}

/* Cards */
.eb-card {
    display: grid;
    align-content: start;
    gap: 2rem;
    min-width: 0;
}

.eb-card__image {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 2.65;
    background: var(--eb-faint);
}

.eb-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.2, .7, .2, 1), filter .3s ease;
}

.eb-card__image:hover img {
    filter: saturate(.9) contrast(1.03);
    transform: scale(1.018);
}

.eb-card__flag {
    position: absolute;
    top: 1.4rem;
    left: 1.4rem;
    padding: .65rem .9rem;
    background: var(--eb-paper);
    font: 740 .95rem/1 var(--eb-sans);
    letter-spacing: .11em;
    text-transform: uppercase;
}

.eb-card__body {
    min-width: 0;
}

.eb-card__title {
    margin: 0;
    font: 540 clamp(2.8rem, 3vw, 4.1rem)/1.02 var(--eb-serif);
    letter-spacing: -.035em;
}

.eb-card__title a {
    background-image: linear-gradient(var(--eb-accent), var(--eb-accent));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    transition: background-size .3s ease;
}

.eb-card__title a:hover {
    background-size: 100% 1px;
}

.eb-card__excerpt {
    max-width: 64rem;
    margin: 1.2rem 0 0;
    color: var(--eb-muted);
    font: 420 1.45rem/1.58 var(--eb-sans);
}

.eb-card__meta {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.5rem;
    color: var(--eb-muted);
    font: 580 1.05rem/1.3 var(--eb-sans);
    gap: .65rem;
    letter-spacing: .035em;
}

.eb-card__meta a:hover {
    color: var(--eb-ink);
    text-decoration: underline;
    text-underline-offset: .25em;
}

.eb-card--feature {
    grid-template-columns: minmax(0, 1.5fr) minmax(26rem, .66fr);
    gap: 3rem;
}

.eb-card--feature .eb-card__image {
    aspect-ratio: 1.35;
}

.eb-card--feature .eb-card__body {
    align-self: end;
    padding-bottom: 1.2rem;
}

.eb-card--feature .eb-card__title {
    font-size: clamp(3.6rem, 4.8vw, 7.4rem);
    line-height: .95;
}

.eb-card--feature .eb-card__excerpt {
    font-size: 1.6rem;
}

.eb-card--compact .eb-card__title {
    font-size: clamp(2.3rem, 2.3vw, 3.2rem);
}

.eb-card--compact .eb-card__excerpt {
    display: none;
}

/* Newsletter */
.eb-newsletter {
    margin-top: clamp(9rem, 12vw, 16rem);
    background: var(--eb-ink);
    color: var(--eb-paper);
}

.eb-newsletter__inner {
    display: grid;
    align-items: end;
    padding-block: clamp(5rem, 7vw, 9rem);
    grid-template-columns: minmax(0, 1.4fr) minmax(28rem, .6fr);
    gap: clamp(4rem, 9vw, 15rem);
}

.eb-newsletter .eb-kicker,
.eb-post-cta .eb-kicker {
    color: color-mix(in srgb, var(--eb-paper) 72%, transparent);
}

.eb-newsletter h2,
.eb-post-cta h2 {
    max-width: 80rem;
    margin: 0;
    font: 470 clamp(4rem, 6vw, 8rem)/.95 var(--eb-serif);
    letter-spacing: -.04em;
}

.eb-newsletter__inner > div:last-child p {
    max-width: 43rem;
    margin: 0 0 2rem;
    color: color-mix(in srgb, var(--eb-paper) 75%, transparent);
}

.eb-newsletter .eb-button,
.eb-post-cta .eb-button {
    background: var(--eb-paper);
    border-color: var(--eb-paper);
    color: var(--eb-ink);
}

.eb-newsletter .eb-button:hover,
.eb-post-cta .eb-button:hover {
    background: var(--eb-accent);
    border-color: var(--eb-accent);
    color: #fff;
}

/* Recommendations */
.recommendations {
    display: grid;
    padding: 3rem 0 0;
    margin: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
    list-style: none;
}

.recommendation a {
    display: grid;
    height: 100%;
    align-content: start;
    border-top: 1px solid var(--eb-ink);
    gap: 1.5rem;
    padding-top: 1.5rem;
}

.recommendation-image {
    width: 100%;
    aspect-ratio: 1.8;
    object-fit: cover;
    filter: saturate(.75);
}

.recommendation-title {
    margin: 0;
    font: 540 2.4rem/1.05 var(--eb-serif);
}

.recommendation-url {
    display: block;
    margin-top: .6rem;
    color: var(--eb-accent);
    font: 700 1rem/1.3 var(--eb-sans);
    letter-spacing: .06em;
}

.recommendation-description {
    margin: 1rem 0 0;
    color: var(--eb-muted);
    font-size: 1.3rem;
}

/* Archives */
.eb-archive-head {
    padding-block: clamp(7rem, 10vw, 14rem) clamp(4rem, 6vw, 8rem);
    border-bottom: 1px solid var(--eb-ink);
}

.eb-archive-head h1,
.eb-author-head h1 {
    margin: 0;
    font: 480 clamp(6rem, 10vw, 14rem)/.85 var(--eb-serif);
    letter-spacing: -.055em;
}

.eb-archive-head > p:last-child {
    max-width: 72rem;
    margin: 3rem 0 0;
    color: var(--eb-muted);
    font: 430 clamp(1.7rem, 2vw, 2.3rem)/1.45 var(--eb-sans);
}

.eb-archive {
    padding-block: 4rem 12rem;
}

.eb-archive .eb-card-grid {
    padding-top: 0;
}

.eb-pagination {
    display: grid;
    align-items: center;
    padding-top: 7rem;
    margin-top: 7rem;
    border-top: 1px solid var(--eb-rule);
    grid-template-columns: 1fr auto 1fr;
    color: var(--eb-muted);
    font: 700 1.1rem/1 var(--eb-sans);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.eb-pagination a {
    display: flex;
    align-items: center;
    gap: .8rem;
    color: var(--eb-ink);
}

.eb-pagination__older {
    justify-self: end;
}

.eb-author-head {
    display: grid;
    align-items: end;
    padding-block: clamp(7rem, 10vw, 13rem) 6rem;
    border-bottom: 1px solid var(--eb-ink);
    grid-template-columns: minmax(18rem, .35fr) minmax(0, 1fr);
    gap: clamp(4rem, 8vw, 12rem);
}

.eb-author-head__image {
    width: min(100%, 34rem);
    aspect-ratio: 1;
    object-fit: cover;
    filter: saturate(.75);
}

.eb-author-head > div > p {
    max-width: 76rem;
    margin: 2.5rem 0 0;
    color: var(--eb-muted);
    font: 430 1.8rem/1.55 var(--eb-sans);
}

.eb-author-head__meta {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2.5rem;
    gap: 1.2rem 2rem;
    font: 680 1.05rem/1.3 var(--eb-sans);
    letter-spacing: .07em;
    text-transform: uppercase;
}

.eb-author-head__meta a {
    color: var(--eb-accent);
}

/* Article */
.eb-article__header {
    max-width: 1180px;
    padding-block: clamp(7rem, 10vw, 14rem) clamp(4rem, 6vw, 8rem);
    text-align: center;
}

.eb-article__header h1 {
    max-width: 112rem;
    margin: 0 auto;
    font: 500 clamp(5.2rem, 8vw, 11rem)/.9 var(--eb-serif);
    letter-spacing: -.055em;
}

.eb-article__dek {
    max-width: 79rem;
    margin: 3rem auto 0;
    color: var(--eb-muted);
    font: 420 clamp(1.8rem, 2.1vw, 2.5rem)/1.45 var(--eb-sans);
}

.eb-article__byline {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 4rem;
    gap: 2rem;
    color: var(--eb-muted);
    font: 620 1.08rem/1.3 var(--eb-sans);
    letter-spacing: .035em;
}

.eb-article__authors,
.eb-article__details {
    display: flex;
    align-items: center;
    gap: .8rem;
}

.eb-article__authors img {
    width: 3.2rem;
    height: 3.2rem;
    margin-right: -.4rem;
    border: 2px solid var(--eb-paper);
    border-radius: 50%;
    object-fit: cover;
}

.eb-article__authors a:hover {
    color: var(--eb-ink);
    text-decoration: underline;
    text-underline-offset: .25em;
}

.eb-article__feature {
    margin-top: 0;
}

.eb-article__feature img,
.eb-page__feature img {
    width: 100%;
    max-height: 85vh;
    object-fit: cover;
}

.eb-article__feature figcaption,
.eb-page__feature figcaption,
.gh-content figcaption {
    margin-top: 1rem;
    color: var(--eb-muted);
    font: 500 1.1rem/1.4 var(--eb-sans);
    text-align: left;
}

.eb-article__layout {
    display: grid;
    padding-top: clamp(5rem, 7vw, 9rem);
    grid-template-columns: minmax(11rem, 1fr) minmax(0, 760px) minmax(11rem, 1fr);
}

.eb-article__content-wrap {
    grid-column: 2;
    min-width: 0;
}

.eb-share {
    position: sticky;
    top: 3rem;
    display: grid;
    align-self: start;
    justify-self: start;
    gap: 1.1rem;
    color: var(--eb-muted);
    font: 670 1rem/1.3 var(--eb-sans);
    letter-spacing: .07em;
    text-transform: uppercase;
}

.eb-share > span {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--eb-rule);
    color: var(--eb-ink);
}

.eb-share a:hover,
.eb-share button:hover {
    color: var(--eb-accent);
}

/* Ghost editor content */
.gh-content {
    color: var(--eb-ink);
    font: 420 clamp(1.9rem, 2.05vw, 2.18rem)/1.72 var(--eb-serif);
}

.gh-content > * {
    margin-top: 0;
    margin-bottom: 2.8rem;
}

.gh-content > p:first-child::first-letter {
    float: left;
    padding: .08em .1em 0 0;
    color: var(--eb-accent);
    font: 650 4.5em/.74 var(--eb-serif);
}

.gh-content h2,
.gh-content h3,
.gh-content h4 {
    color: var(--eb-ink);
    font-family: var(--eb-serif);
    font-weight: 560;
    letter-spacing: -.03em;
}

.gh-content h2 {
    margin-top: 7rem;
    font-size: clamp(3.4rem, 4vw, 5rem);
    line-height: 1.03;
}

.gh-content h3 {
    margin-top: 5rem;
    font-size: clamp(2.7rem, 3vw, 3.7rem);
    line-height: 1.08;
}

.gh-content h4 {
    margin-top: 4rem;
    font-size: 2.4rem;
}

.gh-content a:not(.kg-btn) {
    color: color-mix(in srgb, var(--eb-accent) 86%, var(--eb-ink));
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .18em;
}

.gh-content a:not(.kg-btn):hover {
    color: var(--eb-accent);
    text-decoration-thickness: 2px;
}

.gh-content strong {
    font-weight: 680;
}

.gh-content blockquote {
    padding: .4rem 0 .4rem 3rem;
    margin: 5rem 0;
    border-left: 3px solid var(--eb-accent);
    color: var(--eb-muted);
    font-size: clamp(2.3rem, 2.8vw, 3.2rem);
    font-style: italic;
    line-height: 1.35;
}

.gh-content hr {
    width: 7rem;
    height: 1px;
    margin: 6rem auto;
    background: var(--eb-ink);
    border: 0;
}

.gh-content ul,
.gh-content ol {
    padding-left: 1.35em;
}

.gh-content li {
    padding-left: .35em;
    margin-bottom: .7rem;
}

.gh-content table {
    display: block;
    width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    font: 500 1.35rem/1.45 var(--eb-sans);
}

.gh-content th,
.gh-content td {
    min-width: 14rem;
    padding: 1.2rem;
    border-bottom: 1px solid var(--eb-rule);
    text-align: left;
    vertical-align: top;
}

.gh-content th {
    font-weight: 750;
}

.gh-content pre {
    overflow-x: auto;
    padding: 2rem;
    background: var(--eb-ink);
    color: var(--eb-paper);
    font: 500 1.35rem/1.6 ui-monospace, SFMono-Regular, Consolas, monospace;
}

.gh-content code {
    font: .86em/1.5 ui-monospace, SFMono-Regular, Consolas, monospace;
}

.gh-content :not(pre) > code {
    padding: .12em .3em;
    background: var(--eb-faint);
}

.gh-content .kg-width-wide {
    width: min(1120px, calc(100vw - 40px));
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

.gh-content .kg-width-full {
    width: 100vw;
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

.gh-content .kg-image,
.gh-content .kg-gallery-image img {
    width: 100%;
}

.gh-content .kg-gallery-container,
.gh-content .kg-gallery-row {
    display: flex;
}

.gh-content .kg-gallery-container {
    flex-direction: column;
    gap: .8rem;
}

.gh-content .kg-gallery-row {
    gap: .8rem;
}

.gh-content .kg-gallery-image {
    flex: 1;
}

.gh-content .kg-gallery-image img {
    height: 100%;
    object-fit: cover;
}

.gh-content .kg-card.kg-callout-card {
    padding: 2.2rem;
    border: 1px solid var(--eb-rule);
    border-radius: var(--eb-radius);
    font-family: var(--eb-sans);
    font-size: 1.55rem;
}

.gh-content .kg-bookmark-card a.kg-bookmark-container {
    border-color: var(--eb-rule);
    border-radius: var(--eb-radius);
}

.gh-content .kg-btn {
    background: var(--eb-ink);
    border-radius: var(--eb-radius);
    font-family: var(--eb-sans);
    font-size: 1.2rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.gh-content .kg-signup-card,
.gh-content .kg-header-card {
    border-radius: 0;
}

.gh-content .kg-toggle-card {
    padding: 0;
    background: transparent;
    box-shadow: none;
    border-top: 1px solid var(--eb-rule);
}

.gh-content .kg-toggle-heading {
    padding-top: 2rem;
    font-family: var(--eb-sans);
}

.gh-content .footnotes {
    margin-top: 7rem;
    padding-top: 3rem;
    border-top: 1px solid var(--eb-rule);
    color: var(--eb-muted);
    font-family: var(--eb-sans);
    font-size: 1.35rem;
}

.eb-content-cta {
    padding: 4rem;
    margin: 5rem 0;
    background: color-mix(in srgb, var(--eb-ink) 5%, transparent);
    border-top: 2px solid var(--eb-accent);
}

.eb-content-cta h2 {
    margin: 0;
    font: 540 3.4rem/1 var(--eb-serif);
}

.eb-content-cta > p:not(.eb-kicker) {
    margin: 1.5rem 0 2.5rem;
    color: var(--eb-muted);
}

.eb-content-cta__actions {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.eb-article__tags {
    display: flex;
    flex-wrap: wrap;
    padding-top: 3rem;
    margin-top: 6rem;
    border-top: 1px solid var(--eb-rule);
    gap: .8rem;
    font: 670 1rem/1.4 var(--eb-sans);
    letter-spacing: .07em;
    text-transform: uppercase;
}

.eb-article__tags > span {
    margin-right: .7rem;
    color: var(--eb-muted);
}

.eb-article__tags a {
    padding: .55rem .8rem;
    border: 1px solid var(--eb-rule);
}

.eb-article__tags a:hover {
    border-color: var(--eb-accent);
    color: var(--eb-accent);
}

.eb-author-notes {
    max-width: 980px;
    padding-top: 9rem;
}

.eb-author-note {
    display: grid;
    align-items: center;
    padding: 3rem 0;
    border-top: 1px solid var(--eb-ink);
    grid-template-columns: 12rem 1fr;
    gap: 3rem;
}

.eb-author-note img {
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    object-fit: cover;
    filter: saturate(.8);
}

.eb-author-note h2 {
    margin: 0;
    font: 540 3rem/1 var(--eb-serif);
}

.eb-author-note h2 a:hover {
    color: var(--eb-accent);
}

.eb-author-note p:last-child {
    max-width: 68rem;
    margin: 1rem 0 0;
    color: var(--eb-muted);
    font-size: 1.4rem;
}

.eb-post-cta {
    margin-top: 10rem;
    background: var(--eb-accent);
    color: #fff;
}

.eb-post-cta__inner {
    display: grid;
    min-height: 42rem;
    align-content: center;
    justify-items: center;
    padding-block: 6rem;
    text-align: center;
}

.eb-post-cta__inner > p:not(.eb-kicker) {
    margin: 2rem 0;
    color: color-mix(in srgb, white 82%, transparent);
}

.eb-comments {
    max-width: 920px;
    padding-bottom: 12rem;
}

/* Pages */
.eb-page__header {
    padding-block: clamp(7rem, 10vw, 14rem) clamp(4rem, 6vw, 8rem);
}

.eb-page__header h1 {
    margin: 0;
    font: 490 clamp(5.4rem, 8vw, 10rem)/.9 var(--eb-serif);
    letter-spacing: -.055em;
}

.eb-page__header > p:last-child {
    max-width: 72rem;
    margin: 2.5rem 0 0;
    color: var(--eb-muted);
    font: 420 clamp(1.8rem, 2.2vw, 2.4rem)/1.45 var(--eb-sans);
}

.eb-page__content {
    width: var(--eb-text);
    padding-block: 7rem 12rem;
    margin-inline: auto;
}

.eb-page__content--wide {
    width: min(1120px, calc(100vw - 40px));
}

.eb-pitch__hero {
    display: grid;
    align-items: end;
    padding-block: clamp(8rem, 11vw, 15rem);
    border-bottom: 1px solid var(--eb-ink);
    grid-template-columns: minmax(0, 1.4fr) minmax(30rem, .6fr);
    gap: clamp(4rem, 8vw, 12rem);
}

.eb-pitch__hero h1 {
    max-width: 90rem;
    margin: 0;
    font: 490 clamp(6rem, 9vw, 13rem)/.86 var(--eb-serif);
    letter-spacing: -.055em;
}

.eb-pitch__hero > div:last-child p {
    margin: 0 0 2.5rem;
    color: var(--eb-muted);
    font-size: 1.8rem;
}

.eb-pitch__layout {
    display: grid;
    padding-block: 7rem 12rem;
    grid-template-columns: minmax(22rem, .36fr) minmax(0, 760px) minmax(0, .15fr);
    gap: clamp(4rem, 7vw, 10rem);
}

.eb-pitch__aside {
    align-self: start;
    padding-top: 1.5rem;
    border-top: 1px solid var(--eb-ink);
}

.eb-pitch__aside ol {
    padding-left: 1.6rem;
    margin: 2rem 0 0;
    color: var(--eb-muted);
    font-size: 1.3rem;
}

.eb-pitch__aside li {
    padding-left: .5rem;
    margin-bottom: 1rem;
}

.eb-pitch__content {
    grid-column: 2;
}

/* Error */
.eb-error {
    display: grid;
    min-height: 68vh;
    align-content: center;
    justify-items: start;
    padding-block: 8rem;
}

.eb-error h1 {
    max-width: 96rem;
    margin: 0;
    font: 500 clamp(5.5rem, 9vw, 13rem)/.86 var(--eb-serif);
    letter-spacing: -.055em;
}

.eb-error > p:not(.eb-kicker) {
    max-width: 57rem;
    margin: 3rem 0;
    color: var(--eb-muted);
    font-size: 1.8rem;
}

.eb-error__actions {
    display: flex;
    align-items: center;
    gap: 2rem;
}

/* Footer */
.eb-footer {
    padding-top: 7rem;
    margin-top: 12rem;
    background: var(--eb-ink);
    color: var(--eb-paper);
}

.eb-footer__lead {
    display: flex;
    align-items: end;
    justify-content: space-between;
    padding-bottom: 5rem;
    border-bottom: 1px solid color-mix(in srgb, var(--eb-paper) 24%, transparent);
    gap: 4rem;
}

.eb-footer__wordmark {
    font: 560 clamp(5rem, 10vw, 14rem)/.7 var(--eb-serif);
    letter-spacing: .03em;
    text-transform: uppercase;
}

.eb-footer__lead p {
    max-width: 42rem;
    margin: 0;
    color: color-mix(in srgb, var(--eb-paper) 68%, transparent);
    font-size: 1.35rem;
}

.eb-footer__grid {
    display: grid;
    padding-block: 5rem 7rem;
    grid-template-columns: 1fr 1.2fr .6fr;
    gap: 8rem;
}

.eb-footer .eb-kicker {
    color: color-mix(in srgb, var(--eb-paper) 55%, transparent);
}

.eb-footer .nav,
.eb-socials {
    display: grid;
    padding: 0;
    margin: 0;
    gap: .8rem;
    list-style: none;
}

.eb-footer .nav a,
.eb-socials a {
    font-size: 1.35rem;
}

.eb-footer .nav a:hover,
.eb-socials a:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: .3em;
}

.eb-footer__grid > div:nth-child(2) > p:not(.eb-kicker) {
    max-width: 42rem;
    color: color-mix(in srgb, var(--eb-paper) 68%, transparent);
    font-size: 1.35rem;
}

.eb-footer .eb-text-link {
    margin-top: 1rem;
}

.eb-footer__base {
    display: flex;
    min-height: 7rem;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid color-mix(in srgb, var(--eb-paper) 24%, transparent);
    color: color-mix(in srgb, var(--eb-paper) 54%, transparent);
    font: 620 1rem/1.3 var(--eb-sans);
    letter-spacing: .07em;
    text-transform: uppercase;
}

@media (max-width: 1100px) {
    :root {
        --eb-shell: min(100% - 40px, 1480px);
    }

    .eb-lead {
        grid-template-columns: minmax(0, 1.7fr) minmax(26rem, .7fr);
    }

    .eb-card--feature {
        grid-template-columns: 1fr;
    }

    .eb-card--feature .eb-card__body {
        padding-bottom: 0;
    }

    .eb-lead__rail .eb-card {
        grid-template-columns: 9rem 1fr;
    }

    .eb-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .eb-article__layout {
        grid-template-columns: 10rem minmax(0, 760px) 1fr;
    }

    .recommendations {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 4rem;
    }
}

@media (max-width: 760px) {
    :root {
        --eb-shell: calc(100vw - 32px);
        --eb-wide: 100vw;
        --eb-text: calc(100vw - 32px);
    }

    html {
        font-size: 60%;
    }

    .eb-header__utility {
        min-height: 7.2rem;
    }

    .eb-menu-button {
        display: grid;
        justify-self: start;
    }

    .eb-wordmark {
        font-size: clamp(2.7rem, 9vw, 4.2rem);
    }

    .eb-wordmark img {
        max-width: 47vw;
        max-height: 4.6rem;
    }

    .eb-account-link,
    .eb-header__actions .eb-button {
        display: none;
    }

    .eb-header__actions {
        gap: 0;
    }

    .eb-nav {
        display: none;
        width: 100%;
        border-top: 1px solid var(--eb-rule);
    }

    .eb-nav.is-open {
        display: block;
    }

    .eb-nav .nav {
        display: grid;
        min-height: auto;
        justify-content: stretch;
        padding-block: 1rem 2rem;
        gap: 0;
    }

    .eb-nav a {
        min-height: 4.6rem;
        border-bottom: 1px solid var(--eb-faint);
    }

    .eb-nav a::after {
        display: none;
    }

    .eb-menu-button[aria-expanded="true"] .eb-menu-button__lines {
        background: transparent;
    }

    .eb-menu-button[aria-expanded="true"] .eb-menu-button__lines::before {
        transform: translateY(0) rotate(45deg);
    }

    .eb-menu-button[aria-expanded="true"] .eb-menu-button__lines::after {
        transform: translateY(-1px) rotate(-45deg);
    }

    .eb-home-intro {
        padding-block: 5.5rem 6.5rem;
    }

    .eb-home-intro__grid,
    .eb-newsletter__inner,
    .eb-pitch__hero {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .eb-home-intro h1 {
        font-size: clamp(5rem, 17vw, 7.5rem);
    }

    .eb-home-intro__grid > p {
        font-size: 1.65rem;
    }

    .eb-section-head {
        align-items: start;
    }

    .eb-section-head > span,
    .eb-section-head > .eb-text-link,
    .eb-section-head > .eb-text-button {
        display: none;
    }

    .eb-lead {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .eb-lead > .eb-card--feature,
    .eb-lead > .eb-lead__rail {
        margin-top: 0;
    }

    .eb-lead__rail {
        margin-top: 1rem;
    }

    .eb-lead__rail .eb-card {
        grid-template-columns: 10rem 1fr;
    }

    .eb-card--feature .eb-card__title {
        font-size: clamp(3.8rem, 12vw, 5.4rem);
    }

    .eb-card-grid,
    .eb-topic-grid,
    .recommendations {
        grid-template-columns: 1fr;
    }

    .eb-card-grid {
        gap: 5rem;
    }

    .eb-topic-grid .eb-card {
        grid-template-columns: 11rem 1fr;
        padding-bottom: 2rem;
        border-bottom: 1px solid var(--eb-rule);
    }

    .eb-topic-grid .eb-card__image {
        aspect-ratio: 1;
    }

    .eb-latest,
    .eb-topic-section,
    .eb-recommendations,
    .eb-related,
    .eb-comments {
        padding-top: 8rem;
    }

    .eb-newsletter {
        margin-top: 9rem;
    }

    .eb-newsletter__inner {
        padding-block: 6rem;
    }

    .eb-newsletter h2,
    .eb-post-cta h2 {
        font-size: clamp(4rem, 13vw, 6rem);
    }

    .eb-archive-head h1,
    .eb-author-head h1 {
        font-size: clamp(6rem, 20vw, 9rem);
    }

    .eb-archive {
        padding-bottom: 8rem;
    }

    .eb-pagination {
        grid-template-columns: 1fr 1fr;
    }

    .eb-pagination > span {
        display: none;
    }

    .eb-author-head {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .eb-author-head__image {
        width: 14rem;
    }

    .eb-article__header {
        padding-block: 6rem 4rem;
        text-align: left;
    }

    .eb-article__header h1 {
        font-size: clamp(5rem, 15.5vw, 7.2rem);
        margin-left: 0;
    }

    .eb-article__dek {
        margin-left: 0;
        font-size: 1.75rem;
    }

    .eb-article__byline {
        align-items: start;
        justify-content: start;
        flex-direction: column;
        margin-top: 3rem;
        gap: 1.2rem;
    }

    .eb-article__feature {
        width: 100%;
    }

    .eb-article__layout {
        display: block;
        padding-top: 5rem;
    }

    .eb-share {
        position: static;
        display: flex;
        padding-bottom: 2rem;
        margin-bottom: 3rem;
        border-bottom: 1px solid var(--eb-rule);
        gap: 1.5rem;
        overflow-x: auto;
    }

    .eb-share > span {
        padding: 0;
        border: 0;
    }

    .gh-content {
        font-size: 1.9rem;
    }

    .gh-content .kg-width-wide {
        width: calc(100vw - 16px);
    }

    .gh-content .kg-gallery-row {
        flex-direction: column;
    }

    .eb-content-cta {
        padding: 3rem 2rem;
    }

    .eb-content-cta__actions {
        align-items: start;
        flex-direction: column;
    }

    .eb-author-notes {
        padding-top: 7rem;
    }

    .eb-author-note {
        grid-template-columns: 8rem 1fr;
        gap: 2rem;
    }

    .eb-author-note img {
        width: 8rem;
        height: 8rem;
    }

    .eb-pitch__hero {
        padding-block: 7rem;
    }

    .eb-pitch__hero h1,
    .eb-page__header h1,
    .eb-error h1 {
        font-size: clamp(5rem, 16vw, 7.5rem);
    }

    .eb-pitch__layout {
        grid-template-columns: 1fr;
        padding-block: 5rem 8rem;
    }

    .eb-pitch__content {
        grid-column: 1;
    }

    .eb-page__content {
        padding-block: 5rem 8rem;
    }

    .eb-footer {
        margin-top: 8rem;
    }

    .eb-footer__lead {
        align-items: start;
        flex-direction: column;
    }

    .eb-footer__wordmark {
        font-size: clamp(4rem, 17vw, 7rem);
    }

    .eb-footer__grid {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .eb-footer__base {
        align-items: start;
        flex-direction: column;
        justify-content: center;
        gap: .5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
