/* Premium standard-post experience. Loaded only for singular posts. */
.single-post .sw-single-main { overflow: clip; background: var(--sw-black); }
.single-post .sw-article { margin: 0; }

.sw-article-masthead {
  padding-block: clamp(4.5rem, 8vw, 7.5rem) clamp(3.5rem, 6vw, 5.5rem);
  border-bottom: 1px solid rgb(166 138 88 / .24);
  background: radial-gradient(circle at 78% 18%, rgb(143 16 25 / .13), transparent 29%), linear-gradient(180deg, var(--sw-ink), var(--sw-black));
}
.sw-article-masthead > .sw-container { display: grid; justify-items: start; }
.sw-article-masthead__eyebrow { margin-bottom: var(--sw-space-4); }
.sw-article-masthead__eyebrow a { color: inherit; text-decoration: none; }
.sw-article-masthead__eyebrow a:hover { color: var(--sw-text); }
.sw-article-title { max-width: 950px; margin-bottom: var(--sw-space-4); overflow-wrap: break-word; font-size: clamp(3.25rem, 5.7vw, 4.75rem); line-height: 1.01; letter-spacing: -.035em; text-wrap: balance; }
.sw-article-deck { max-width: var(--sw-container-reading); margin-bottom: var(--sw-space-5); color: #c1bab0; font-family: var(--sw-font-display); font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.55; }
.sw-article-meta { display: flex; max-width: 100%; flex-wrap: wrap; align-items: center; gap: .5rem 0; color: var(--sw-text-muted); font-size: .7rem; font-weight: 650; letter-spacing: .1em; line-height: 1.45; text-transform: uppercase; }
.sw-article-meta__item { display: inline-flex; align-items: center; }
.sw-article-meta__item + .sw-article-meta__item::before { width: 3px; height: 3px; margin-inline: .8rem; border-radius: 50%; background: var(--sw-gold); content: ""; opacity: .58; }
.sw-article-meta a { color: var(--sw-text-muted); text-decoration-color: rgb(198 173 122 / .45); }
.sw-article-meta a:hover { color: var(--sw-gold-light); }

.sw-article-feature { display: grid; width: fit-content; max-width: min(calc(100% - (2 * var(--sw-gutter))), 68rem); justify-items: center; margin: var(--sw-space-6) auto clamp(3rem, 6vw, 5rem); overflow: hidden; border: 1px solid rgb(166 138 88 / .3); background: var(--sw-charcoal); box-shadow: var(--sw-shadow); }
.sw-article-feature img { width: auto; max-width: 100%; height: auto; max-height: min(70vh, 42rem); aspect-ratio: auto; object-fit: contain; object-position: center; }
.sw-article-feature figcaption { padding: .8rem var(--sw-space-4); border-top: 1px solid var(--sw-border); color: var(--sw-text-muted); font-size: .78rem; line-height: 1.55; }
.sw-article-masthead + .sw-article-content { padding-top: clamp(3.5rem, 7vw, 6.5rem); }

.sw-article-prose { padding-bottom: clamp(4rem, 8vw, 7.5rem); color: #d5cfc5; font-size: clamp(1.075rem, 1.25vw, 1.2rem); line-height: 1.8; overflow-wrap: break-word; }
.sw-article-prose > :first-child { margin-top: 0; }
.sw-article-prose > :last-child { margin-bottom: 0; }
.sw-article-prose p { margin: 0 0 1.45em; }
.sw-article-prose h2,
.sw-article-prose h3,
.sw-article-prose h4,
.sw-article-prose h5,
.sw-article-prose h6 { color: var(--sw-text); scroll-margin-top: 6rem; break-after: avoid; }
.sw-article-prose h2 { margin: 1.9em 0 .65em; font-size: clamp(2.15rem, 4vw, 3.35rem); line-height: 1.08; }
.sw-article-prose h3 { margin: 1.75em 0 .6em; font-size: clamp(1.65rem, 3vw, 2.25rem); line-height: 1.14; }
.sw-article-prose h4 { margin: 2.2em 0 .8em; font-family: var(--sw-font-body); font-size: .86rem; font-weight: 750; letter-spacing: .13em; line-height: 1.4; text-transform: uppercase; }
.sw-article-prose h5,
.sw-article-prose h6 { margin: 2em 0 .7em; font-family: var(--sw-font-body); font-size: 1rem; font-weight: 750; letter-spacing: .04em; }
.sw-article-prose strong { color: #f0ebe2; font-weight: 720; }
.sw-article-prose a { color: var(--sw-gold-light); text-decoration-line: underline; text-decoration-color: rgb(198 173 122 / .55); text-decoration-thickness: 1px; text-underline-offset: .2em; overflow-wrap: anywhere; }
.sw-article-prose a:hover { color: #dfc995; text-decoration-color: currentColor; }
.sw-article-prose ul,
.sw-article-prose ol { padding-left: 1.45em; margin: 0 0 1.6em; }
.sw-article-prose li { padding-left: .28em; margin-bottom: .48em; }
.sw-article-prose li::marker { color: var(--sw-gold); }
.sw-article-prose li > ul,
.sw-article-prose li > ol { margin: .55em 0 0; }
.sw-article-prose dl { margin: 0 0 1.7em; }
.sw-article-prose dt { color: var(--sw-text); font-weight: 750; }
.sw-article-prose dd { margin: .35em 0 1em var(--sw-space-4); color: var(--sw-text-muted); }
.sw-article-prose blockquote { position: relative; padding: var(--sw-space-4) 0 var(--sw-space-4) clamp(1.5rem, 4vw, 2.7rem); margin: clamp(2.5rem, 6vw, 4.5rem) 0; border-left: 2px solid var(--sw-crimson); color: var(--sw-text); font-family: var(--sw-font-display); font-size: clamp(1.35rem, 2.6vw, 1.9rem); line-height: 1.55; }
.sw-article-prose blockquote p { margin-bottom: .75em; }
.sw-article-prose blockquote cite { display: block; color: var(--sw-text-muted); font-family: var(--sw-font-body); font-size: .7rem; font-style: normal; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.sw-article-prose .wp-block-pullquote { padding-block: var(--sw-space-6); border-block: 1px solid rgb(166 138 88 / .35); }
.sw-article-prose .wp-block-pullquote blockquote { padding: 0; margin: 0; border: 0; text-align: center; }
.sw-article-prose hr,
.sw-article-prose .wp-block-separator { width: 100%; margin-block: clamp(2.5rem, 6vw, 4.5rem); border: 0; border-top: 1px solid var(--sw-border); color: transparent; }
.sw-article-prose code,
.sw-article-prose kbd,
.sw-article-prose samp { padding: .12em .35em; border: 1px solid var(--sw-border); background: var(--sw-charcoal); color: #e8dfd1; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .88em; }
.sw-article-prose pre { max-width: 100%; padding: var(--sw-space-4); margin-block: var(--sw-space-5); overflow-x: auto; border: 1px solid var(--sw-border); background: var(--sw-charcoal); color: #e8dfd1; }
.sw-article-prose pre code { padding: 0; border: 0; background: transparent; font-size: .86rem; }
.sw-article-prose sup,
.sw-article-prose sub { font-size: .72em; }
.sw-article-prose sup { vertical-align: super; }
.sw-article-prose sub { vertical-align: sub; }

.sw-article-prose .wp-block-table,
.sw-article-prose > table { display: block; max-width: 100%; margin-block: var(--sw-space-5); overflow-x: auto; border: 1px solid var(--sw-border); }
.sw-article-prose table { width: 100%; min-width: 36rem; border-collapse: collapse; background: var(--sw-ink); font-size: .92em; }
.sw-article-prose th,
.sw-article-prose td { padding: .8rem .9rem; border: 1px solid var(--sw-border); text-align: left; vertical-align: top; }
.sw-article-prose th { background: var(--sw-charcoal); color: var(--sw-text); font-size: .75rem; letter-spacing: .07em; text-transform: uppercase; }
.sw-article-prose tr:nth-child(even) td { background: rgb(255 255 255 / .018); }

.sw-article-prose figure { max-width: 100%; margin-top: var(--sw-space-6); margin-bottom: var(--sw-space-6); }
.sw-article-prose img { max-width: 100%; height: auto; }
.sw-article-prose figcaption,
.sw-article-prose .wp-caption-text,
.sw-article-prose .gallery-caption { margin-top: .7rem; color: var(--sw-text-muted); font-size: .76rem; line-height: 1.55; }
.sw-article-prose .alignleft { float: left; max-width: 45%; margin: .5rem var(--sw-space-5) var(--sw-space-4) 0; }
.sw-article-prose .alignright { float: right; max-width: 45%; margin: .5rem 0 var(--sw-space-4) var(--sw-space-5); }
.sw-article-prose > .alignwide { width: min(calc(100vw - (2 * var(--sw-gutter))), var(--sw-container-standard)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.sw-article-prose > .alignfull { width: min(calc(100vw - (2 * var(--sw-gutter))), var(--sw-container-wide)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.sw-article-prose .wp-block-gallery { gap: clamp(.6rem, 2vw, 1.25rem); }
.sw-article-prose .wp-block-gallery figure { margin: 0; }
.sw-article-prose .wp-block-gallery img { width: 100%; height: 100%; object-fit: cover; }

.sw-article-prose iframe,
.sw-article-prose video,
.sw-article-prose audio { max-width: 100%; }
.sw-article-prose audio { width: 100%; }
.sw-article-prose .wp-block-embed { margin-block: var(--sw-space-6); }
.sw-article-prose .wp-block-embed.is-type-video .wp-block-embed__wrapper { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--sw-charcoal); }
.sw-article-prose .wp-block-embed.is-type-video iframe { position: absolute; width: 100%; height: 100%; inset: 0; }

.sw-article-prose .is-style-editorial-note,
.sw-article-prose .is-style-article-warning,
.sw-article-prose .is-style-source-note,
.sw-article-prose .is-style-historical-context { padding: clamp(1.25rem, 4vw, 2rem); margin-block: var(--sw-space-6); border: 1px solid var(--sw-border); background: var(--sw-surface); }
.sw-article-prose .is-style-editorial-note { border-left: 3px solid var(--sw-gold); }
.sw-article-prose .is-style-article-warning { border-left: 3px solid var(--sw-crimson-bright); }
.sw-article-prose .is-style-source-note { background: var(--sw-ink); font-size: .9em; }
.sw-article-prose .is-style-historical-context { background: radial-gradient(circle at 90% 10%, rgb(166 138 88 / .08), transparent 35%), var(--sw-surface); }
.sw-article-prose .is-style-key-passage { border-left-color: var(--sw-gold); }
.sw-article-prose .is-style-invocation { padding: var(--sw-space-5); border: 1px solid rgb(143 16 25 / .5); background: rgb(143 16 25 / .08); text-align: center; }
.sw-article-prose .is-style-framed-image { padding: .5rem; border: 1px solid rgb(166 138 88 / .38); background: var(--sw-surface); box-shadow: var(--sw-shadow); }
.sw-article-prose .is-style-wide-manuscript-excerpt { width: min(calc(100vw - (2 * var(--sw-gutter))), 58rem); max-width: none; margin-left: 50%; transform: translateX(-50%); border-left-color: var(--sw-gold); }
.sw-article-prose .wp-block-footnotes { padding-top: var(--sw-space-5); margin-top: var(--sw-space-7); border-top: 1px solid var(--sw-border); color: var(--sw-text-muted); font-size: .82em; }

.sw-article-footer { padding-block: var(--sw-space-6); border-top: 1px solid var(--sw-border); }
.sw-article-taxonomies { display: grid; gap: var(--sw-space-4); }
.sw-article-taxonomy { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: var(--sw-space-3); }
.sw-article-taxonomy > span,
.sw-article-share > span { color: var(--sw-text-muted); font-size: .65rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.sw-article-taxonomy ul,
.sw-article-share ul { display: flex; flex-wrap: wrap; gap: .55rem 1rem; padding: 0; margin: 0; list-style: none; }
.sw-article-taxonomy a,
.sw-article-share a { color: var(--sw-text); font-size: .82rem; text-decoration-color: rgb(166 138 88 / .5); }
.sw-article-share { display: flex; align-items: center; gap: var(--sw-space-4); padding-top: var(--sw-space-5); margin-top: var(--sw-space-5); border-top: 1px solid rgb(52 48 49 / .72); }
.sw-article-edit { margin: var(--sw-space-4) 0 0; }
.sw-article-edit a { color: var(--sw-gold-light); font-size: .72rem; }

.sw-author-box { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: var(--sw-space-4); padding-block: var(--sw-space-6); border-top: 1px solid var(--sw-border); }
.sw-author-box__avatar { border: 1px solid var(--sw-border); border-radius: 50%; }
.sw-author-box .sw-eyebrow { margin-bottom: .5rem; }
.sw-author-box h2 { margin-bottom: .4rem; font-size: 1.55rem; }
.sw-author-box h2 a { text-decoration: none; }
.sw-author-box p:last-child { margin: 0; color: var(--sw-text-muted); }

.sw-article-navigation { padding-block: var(--sw-space-7); border-block: 1px solid var(--sw-border); background: var(--sw-ink); }
.sw-article-navigation__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2rem); }
.sw-article-navigation__grid--single { grid-template-columns: minmax(0, 1fr); max-width: 40rem; }
.sw-adjacent-card { display: grid; grid-template-columns: minmax(7rem, .38fr) minmax(0, 1fr); min-height: 10rem; overflow: hidden; border: 1px solid var(--sw-border); background: var(--sw-surface); color: var(--sw-text); text-decoration: none; transition: border-color 180ms ease, transform 180ms ease; }
.sw-adjacent-card:hover { border-color: rgb(198 173 122 / .55); color: var(--sw-text); transform: translateY(-.2rem); }
.sw-adjacent-card:not(:has(.sw-adjacent-card__image)) { grid-template-columns: 1fr; }
.sw-adjacent-card__image { overflow: hidden; border-right: 1px solid var(--sw-border); }
.sw-adjacent-card__image img { width: 100%; height: 100%; object-fit: cover; }
.sw-adjacent-card__body { display: grid; align-content: center; gap: .6rem; padding: var(--sw-space-4); }
.sw-adjacent-card__label { color: var(--sw-gold-light); font-size: .65rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.sw-adjacent-card strong { font-family: var(--sw-font-display); font-size: clamp(1.25rem, 2vw, 1.7rem); font-weight: 400; line-height: 1.2; }

.sw-related { padding-block: var(--sw-space-8); background: var(--sw-black); }
.sw-related__header { margin-bottom: var(--sw-space-6); }
.sw-related__header h2 { max-width: 16ch; margin-bottom: 0; }
.sw-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); }
.sw-related-card { min-width: 0; overflow: hidden; border: 1px solid var(--sw-border); background: var(--sw-surface); transition: border-color 180ms ease, transform 180ms ease; }
.sw-related-card:hover { border-color: rgb(198 173 122 / .55); transform: translateY(-.25rem); }
.sw-related-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-bottom: 1px solid var(--sw-border); background: radial-gradient(circle, rgb(143 16 25 / .1), transparent 58%), var(--sw-charcoal); }
.sw-related-card__media img { width: 100%; height: 100%; object-fit: contain; object-position: center; filter: saturate(.72) contrast(1.07); }
.sw-related-card__fallback { display: grid; width: 100%; height: 100%; place-items: center; background: radial-gradient(circle, rgb(143 16 25 / .2), transparent 55%), var(--sw-charcoal); color: var(--sw-gold); font-size: 1.5rem; }
.sw-related-card__body { padding: var(--sw-space-4); }
.sw-related-card__meta { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; color: var(--sw-text-muted); font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; }
.sw-related-card__meta span { color: var(--sw-gold-light); }
.sw-related-card h3 { margin: 0; font-size: clamp(1.35rem, 2vw, 1.85rem); }
.sw-related-card h3 a { text-decoration: none; }

.sw-comments { padding-block: 0 var(--sw-space-8); }
.sw-comments > h2,
.sw-comments .comment-reply-title { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.sw-comments .comment-list,
.sw-comments .children { padding: 0; margin: 0; list-style: none; }
.sw-comments .comment-list { margin-bottom: var(--sw-space-7); }
.sw-comments .children { padding-left: clamp(1rem, 4vw, 2.5rem); }
.sw-comments .comment-body { padding: var(--sw-space-4); margin-bottom: var(--sw-space-3); border: 1px solid var(--sw-border); background: var(--sw-ink); }
.sw-comments .comment-meta { margin-bottom: var(--sw-space-3); font-size: .75rem; }
.sw-comments .comment-author { display: flex; align-items: center; gap: .7rem; color: var(--sw-text); }
.sw-comments .comment-author img { border-radius: 50%; }
.sw-comments .comment-metadata a { color: var(--sw-text-muted); }
.sw-comments .comment-content { color: #d5cfc5; }
.sw-comments .reply a { color: var(--sw-gold-light); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sw-comment-form { display: grid; gap: var(--sw-space-3); }
.sw-comment-form p { margin: 0; }
.sw-comment-form label { display: block; margin-bottom: .4rem; color: var(--sw-text); font-size: .75rem; font-weight: 700; letter-spacing: .06em; }
.sw-comment-form input:not([type="checkbox"]),
.sw-comment-form textarea { width: 100%; padding: .8rem 1rem; border: 1px solid var(--sw-border); border-radius: 0; background: var(--sw-ink); color: var(--sw-text); }
.sw-comment-form input:focus,
.sw-comment-form textarea:focus { border-color: var(--sw-gold); outline: 1px solid var(--sw-gold); outline-offset: 0; }
.sw-comment-form textarea { min-height: 10rem; resize: vertical; }
.sw-comment-form .form-submit { margin-top: var(--sw-space-3); }
.sw-comments .comment-notes,
.sw-comments .logged-in-as,
.sw-comments__closed { color: var(--sw-text-muted); font-size: .88rem; }

@media (max-width: 782px) {
  .sw-article-title { font-size: clamp(2.55rem, 9vw, 3.5rem); }
  .sw-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sw-related-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 37.5rem) {
  .sw-article-masthead { padding-block: 3.75rem 3rem; }
  .sw-article-title { font-size: clamp(2.375rem, 11vw, 3rem); line-height: 1.04; }
  .sw-article-meta { display: grid; gap: .55rem; }
  .sw-article-meta__item + .sw-article-meta__item::before { display: none; }
  .sw-article-feature { margin-top: var(--sw-space-4); margin-bottom: var(--sw-space-7); }
  .sw-article-prose { font-size: clamp(1.05rem, 4.5vw, 1.125rem); line-height: 1.75; }
  .sw-article-prose ul,
  .sw-article-prose ol { padding-left: 1.2em; }
  .sw-article-prose .alignleft,
  .sw-article-prose .alignright { float: none; width: 100%; max-width: none; margin: var(--sw-space-5) 0; }
  .sw-article-prose table { min-width: 32rem; }
  .sw-article-taxonomy { grid-template-columns: 1fr; gap: .55rem; }
  .sw-article-share { display: grid; gap: .7rem; }
  .sw-article-navigation__grid,
  .sw-related__grid { grid-template-columns: 1fr; }
  .sw-related-card:last-child { grid-column: auto; }
  .sw-adjacent-card { grid-template-columns: 5.5rem minmax(0, 1fr); min-height: 8rem; }
  .sw-comments .children { padding-left: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .sw-adjacent-card,
  .sw-related-card { transition: none; }
}
