:root {
  --paper: #f3efe6;
  --paper-deep: #e8dfd0;
  --card: #fbf8f1;
  --ink: #211e1a;
  --ink-soft: #4e473e;
  --muted: #776e62;
  --rust: #9f3e28;
  --rust-dark: #77301f;
  --saffron: #d39a36;
  --saffron-pale: #ead6aa;
  --line: #cfc4b3;
  --line-soft: #e3dacd;
  --night: #191714;
  --night-soft: #25211c;
  --display: "Cormorant Garamond", Georgia, serif;
  --body: "Source Serif 4", Georgia, serif;
  --ui: "Inter", system-ui, sans-serif;
  --wide: 1240px;
  --reading: 760px;
  --shadow: 0 18px 50px rgba(49, 37, 24, .11);
}

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

html { font-size: 18px; scroll-behavior: smooth; overflow-x: hidden; }

body {
  overflow-x: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 4%, rgba(211, 154, 54, .08), transparent 26rem),
    linear-gradient(rgba(255, 255, 255, .18), rgba(255, 255, 255, .18)),
    var(--paper);
  font-family: var(--body);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

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

::selection { background: var(--saffron-pale); color: var(--ink); }
img { max-width: 100%; }
a { color: var(--rust-dark); text-decoration-color: var(--saffron); text-underline-offset: 3px; }
a:hover, a:focus { color: var(--rust); }

.container, .container-wide { width: min(100% - 2rem, var(--wide)); margin-inline: auto; }
.container { max-width: var(--reading); }
.site-main { min-height: 60vh; }

/* Masthead */
.site-header {
  color: #f7f0e3;
  background:
    radial-gradient(circle at 50% -80%, rgba(211, 154, 54, .24), transparent 55%),
    var(--night);
  border-bottom: 5px solid var(--saffron);
}

.header-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: var(--wide);
  margin: 0 auto;
  padding: 1.9rem 1.2rem 1.5rem;
  text-align: center;
}

.site-mark {
  display: block;
  text-decoration: none;
}

.site-mark img { display: block; width: min(480px, 90vw); height: auto; }

.site-tagline { margin-top: 1.1rem; color: var(--saffron); font: 600 .67rem/1.2 var(--ui); letter-spacing: .24em; text-transform: uppercase; }

.site-nav { border-top: 1px solid rgba(234, 214, 170, .16); background: rgba(255, 255, 255, .025); }
.site-nav ul { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; max-width: var(--wide); margin: 0 auto; padding: 0 .5rem; }
.site-nav li + li::before { content: "◆"; color: rgba(211, 154, 54, .42); font-size: .38rem; }
.site-nav li { display: flex; align-items: center; }
.site-nav a, .nav-dropdown-toggle {
  display: block;
  padding: .8rem .82rem;
  color: #c9beae;
  background: none;
  border: 0;
  font: 500 .68rem/1 var(--ui);
  letter-spacing: .045em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.site-nav a:hover, .site-nav a:focus,
.nav-dropdown-toggle:hover, .nav-dropdown-toggle:focus { color: #fff4df; }

.nav-dropdown { position: relative; }
.site-nav ul.nav-dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 20;
  min-width: 200px;
  margin: 0;
  padding: .4rem 0;
  list-style: none;
  background: var(--night);
  border: 1px solid rgba(234, 214, 170, .18);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .35);
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
}
.site-nav .nav-dropdown-menu li::before { content: none; }
.site-nav .nav-dropdown-menu li { display: block; }
.nav-dropdown-menu a { padding: .6rem 1rem; white-space: nowrap; }
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown.is-open .nav-dropdown-menu { display: flex; }

/* Homepage introduction */
.homepage { width: min(100% - 2.4rem, var(--wide)); margin: 0 auto; padding: 3rem 0 5rem; }
.archive-intro { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr); column-gap: 4.5rem; align-items: start; margin: .7rem 0 3.3rem; padding: 0 0 2.5rem; border-bottom: 1px solid var(--line); }
.story-kicker, .article-kicker { color: var(--rust); font: 700 .66rem/1.25 var(--ui); letter-spacing: .16em; text-transform: uppercase; }
.archive-intro h1 { max-width: 850px; font: 600 clamp(1.7rem, 3vw, 2.8rem)/1.15 var(--display); letter-spacing: -.02em; }
.archive-deck { color: var(--ink-soft); font-size: 1rem; line-height: 1.65; padding-bottom: .35rem; }

/* Shared section furniture */
.featured-section { margin-top: 2.6rem; margin-bottom: 4.5rem; }
.section-header { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1.2rem; border-bottom: 1px solid var(--ink); }
.section-heading { position: relative; padding: 0 0 .7rem 1.2rem; font: 700 1.15rem/1 var(--display); letter-spacing: .01em; text-transform: none; }
.section-heading::before { content: ""; position: absolute; left: 0; top: .05rem; width: 4px; height: 1.15rem; background: var(--rust); }
.section-note { color: var(--muted); font: 500 .68rem/1 var(--ui); text-decoration: none; }
.section-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: var(--rust);
  font: 700 .78rem/1 var(--ui);
  letter-spacing: .03em;
  text-decoration: none;
  padding-bottom: .2rem;
  border-bottom: 1px solid transparent;
  transition: border-color .15s ease, gap .15s ease, color .15s ease;
}
.section-link:hover, .section-link:focus {
  color: var(--rust-dark);
  border-bottom-color: currentColor;
  gap: .6rem;
}
.section-link span, .read-story span, .mission-card a span { color: var(--rust); margin-left: .25rem; }
.section-link span { color: inherit; margin-left: 0; font-size: 1rem; }

/* Feature composition */
.featured-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(370px, .8fr); gap: 1.2rem; }
.lead-story { position: relative; min-height: 610px; overflow: hidden; background: var(--night-soft); color: white; box-shadow: var(--shadow); isolation: isolate; }
.lead-story::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 22%, rgba(16, 14, 12, .26) 48%, rgba(16, 14, 12, .96) 100%); }
.lead-story.no-image::before { content: "PV"; position: absolute; right: -1rem; top: 1rem; color: rgba(255,255,255,.05); font: 700 15rem/1 var(--display); }
.lead-story-image { position: absolute; inset: 0; z-index: -2; }
.lead-story-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.05); transition: transform .6s ease; }
.lead-story:hover .lead-story-image img { transform: scale(1.025); }
.lead-story-body { position: absolute; inset: auto 0 0; padding: clamp(1.6rem, 4vw, 3.1rem); }
.lead-story .story-kicker { color: #efbd63; margin-bottom: .7rem; }
.lead-story h2 { max-width: 780px; font: 600 clamp(2.2rem, 4vw, 4rem)/.98 var(--display); letter-spacing: -.035em; }
.lead-story h2 a { color: #fff8ec; text-decoration: none; }
.story-meta { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: .9rem; color: #d6ccbd; font: 500 .68rem/1.3 var(--ui); }
.story-meta span::before { content: "◆"; margin-right: .7rem; color: var(--saffron); font-size: .45rem; }
.read-story { display: inline-block; margin-top: 1.4rem; padding-bottom: .25rem; border-bottom: 1px solid rgba(239,189,99,.7); color: white; font: 600 .72rem/1 var(--ui); text-decoration: none; }
.read-story:hover { color: #efbd63; }

.feature-rail { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.rail-story { display: flex; flex-direction: column; min-width: 0; background: var(--card); border: 1px solid var(--line-soft); box-shadow: 0 10px 28px rgba(49,37,24,.07); transition: transform .2s ease, box-shadow .2s ease; }
.rail-story:hover { transform: translateY(-3px); box-shadow: 0 15px 32px rgba(49,37,24,.12); }
.rail-story-image { display: block; aspect-ratio: 1; overflow: hidden; background: var(--paper-deep); }
.rail-story-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); transition: transform .35s ease; }
.rail-story:hover img { transform: scale(1.04); }
.rail-story-body { flex: 1; display: flex; flex-direction: column; padding: 1rem 1.05rem 1.05rem; border-top: 3px solid var(--saffron); }
.rail-story .story-kicker { margin-bottom: .4rem; font-size: .56rem; }
.rail-story h3 { font: 600 1.18rem/1.08 var(--display); }
.rail-story h3 a { color: var(--ink); text-decoration: none; }
.rail-story h3 a:hover { color: var(--rust); }
.rail-story time { margin-top: auto; padding-top: .8rem; color: var(--muted); font: 500 .6rem/1 var(--ui); }

/* Latest + discovery */
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 4rem; align-items: start; }
.content-layout.archive-page { display: block; max-width: 900px; margin: 0 auto; }
.post-list { display: flex; flex-direction: column; }
.post-list-item { display: grid; grid-template-columns: 38px minmax(0, 1fr) 145px; gap: 1rem; align-items: center; min-height: 132px; padding: 1.1rem 0; border-bottom: 1px solid var(--line-soft); }
.post-list-item:first-child { padding-top: 0; }
.story-number { align-self: start; padding-top: .22rem; color: #aa9f91; font: 500 .68rem/1 var(--ui); }
.post-list-category { display: block; width: fit-content; margin-bottom: .32rem; color: var(--rust); font: 700 .58rem/1 var(--ui); letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.post-list-content h3 { max-width: 690px; font: 600 clamp(1.35rem, 2vw, 1.65rem)/1.08 var(--display); }
.post-list-content h3 a { color: var(--ink); text-decoration: none; }
.post-list-content h3 a:hover { color: var(--rust); }
.post-list-meta { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: .45rem; color: var(--muted); font: 500 .62rem/1.3 var(--ui); }
.post-list-meta span::before { content: "◆"; margin-right: .7rem; font-size: .5rem; vertical-align: middle; }
.post-list-image { display: block; aspect-ratio: 1; overflow: hidden; background: var(--paper-deep); }
.post-list-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72); transition: filter .2s ease, transform .3s ease; }
.post-list-item:hover .post-list-image img { filter: saturate(1); transform: scale(1.035); }

.discovery-panel { position: sticky; top: 1.25rem; display: grid; gap: 1.1rem; }
.mission-card { position: relative; overflow: hidden; padding: 2.15rem 1.8rem 1.8rem; color: #f7efe2; background: var(--rust-dark); box-shadow: var(--shadow); }
.mission-monogram { position: absolute; right: -1rem; top: -.8rem; color: rgba(255,255,255,.06); font: 700 8rem/1 var(--display); }
.mission-card .story-kicker { position: relative; color: #efbd63; }
.mission-card h2 { position: relative; margin: .8rem 0 .75rem; font: 600 2.25rem/.97 var(--display); }
.mission-card > p:not(.story-kicker) { position: relative; color: #ded1c1; font-size: .85rem; line-height: 1.65; }
.mission-card a { position: relative; display: inline-block; margin-top: 1.25rem; color: white; font: 600 .68rem/1 var(--ui); text-decoration: none; }
.topics-card { padding: 1.35rem 1.45rem; border: 1px solid var(--line); background: rgba(251,248,241,.62); }
.aside-heading { padding-bottom: .7rem; border-bottom: 1px solid var(--ink); font: 700 .65rem/1 var(--ui); letter-spacing: .14em; text-transform: uppercase; }
.topic-list a { display: flex; justify-content: space-between; gap: 1rem; padding: .72rem 0; border-bottom: 1px solid var(--line-soft); color: var(--ink); font: 600 1rem/1.1 var(--display); text-decoration: none; }
.topic-list a:last-child { border: 0; padding-bottom: 0; }
.topic-list a:hover { color: var(--rust); }
.topic-list small { color: var(--muted); font: 500 .58rem/1 var(--ui); }
.documents-card { display: grid; grid-template-columns: 1fr auto; padding: 1.3rem 1.4rem; border-left: 4px solid var(--saffron); color: var(--ink); background: var(--paper-deep); text-decoration: none; }
.documents-card .story-kicker { grid-column: 1 / -1; margin-bottom: .3rem; font-size: .55rem; }
.documents-card strong { font: 600 1.2rem/1.05 var(--display); }
.documents-arrow { align-self: center; color: var(--rust); }

/* Pagination */
.pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; margin-top: 2rem; padding: 1rem 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
.pagination a { color: var(--rust-dark); font: 700 .65rem/1 var(--ui); text-decoration: none; text-transform: uppercase; letter-spacing: .08em; }
.pagination .next { justify-self: end; }
.page-info { color: var(--ink); font: 600 1.05rem/1 var(--display); }
.page-info span { color: var(--muted); font-weight: 500; }

/* Articles and pages */
.post, .page { max-width: var(--reading); margin: 0 auto; padding: 4rem 1.2rem 5rem; }
.page-wide { max-width: 1040px; }
.post-header, .page-header { position: relative; margin-bottom: 2.5rem; text-align: center; }
.post-title, .page-title { font: 600 clamp(2.8rem, 7vw, 5.2rem)/.94 var(--display); letter-spacing: -.045em; }
.post-meta, .page-date { display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem; margin-top: 1.15rem; color: var(--muted); font: 500 .68rem/1.3 var(--ui); }
.post-categories { display: flex; justify-content: center; flex-wrap: wrap; gap: .35rem; margin-top: 1rem; }
.post-categories a { padding: .35rem .65rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-soft); font: 600 .56rem/1 var(--ui); letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.post-categories a:hover { border-color: var(--rust); color: var(--rust); }
.post-header::after, .page-header::after { content: "◆"; display: flex; align-items: center; gap: .8rem; margin-top: 1.6rem; color: var(--saffron); font-size: .48rem; }
.post-header::after, .page-header::after { background: linear-gradient(var(--line),var(--line)) left center/46% 1px no-repeat, linear-gradient(var(--line),var(--line)) right center/46% 1px no-repeat; justify-content: center; }

.post-header.has-image {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(160px, 300px);
  gap: 2.2rem;
  align-items: center;
  width: min(960px, calc(100vw - 2.4rem));
  margin: 0 50% 2.7rem;
  transform: translateX(-50%);
  text-align: left;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--line);
}
.post-header.has-image::after { content: none; }
.post-header.has-image .post-header-text { min-width: 0; }
.post-header.has-image .post-title { min-width: 0; overflow-wrap: break-word; font-size: clamp(2rem, 4.4vw, 3.1rem); letter-spacing: -.03em; }
.post-header.has-image .post-meta,
.post-header.has-image .post-categories { justify-content: flex-start; }
.post-header.has-image .post-featured-image { grid-row: 1 / -1; grid-column: 2; margin: 0; width: auto; transform: none; text-align: center; }
.post-header.has-image .post-featured-image img { max-width: 100%; max-height: 260px; }

.post-featured-image { width: min(960px, calc(100vw - 2.4rem)); margin: 0 50% 2.7rem; transform: translateX(-50%); text-align: center; }
.post-featured-image img { display: inline-block; max-width: 100%; height: auto; max-height: 640px; border: 3px solid var(--saffron); box-shadow: var(--shadow); }
.post-content { color: #2b2722; font-size: 1.08rem; line-height: 1.82; overflow-wrap: break-word; word-break: break-word; }
.post-content a { overflow-wrap: anywhere; }
.post-content p { margin-bottom: 1.4rem; }
.post-content > p:first-of-type::first-letter { float: left; margin: .12rem .45rem 0 0; color: var(--rust); font: 600 4.7rem/.7 var(--display); }
.post-content h2, .post-content h3, .post-content h4 { margin: 2.5rem 0 .8rem; font-family: var(--display); line-height: 1.06; }
.post-content h2 { font-size: 2rem; }
.post-content h3 { font-size: 1.6rem; }
.post-content h4 { font-size: 1.3rem; }
.post-content blockquote { position: relative; margin: 2.3rem 0; padding: 1.6rem 2rem 1.6rem 3.2rem; border-left: 5px solid var(--saffron); color: var(--ink-soft); background: var(--paper-deep); font: 500 1.25rem/1.55 var(--display); }
.post-content blockquote::before { content: "“"; position: absolute; left: .7rem; top: -.6rem; color: rgba(159,62,40,.25); font: 600 3.4rem/1 var(--display); }
.post-content blockquote p:last-child { margin-bottom: 0; }
.post-content img { display: block; height: auto; margin: 2rem auto; box-shadow: 0 8px 25px rgba(49,37,24,.1); }
.post-content ul, .post-content ol { margin: 1.2rem 0 1.5rem 1.5rem; }
.post-content li { margin-bottom: .45rem; padding-left: .2rem; }
.post-content hr { height: 1px; margin: 2.8rem 0; border: 0; background: var(--line); }
.post-content table { width: 100%; margin: 2rem 0; border-collapse: collapse; font: 500 .8rem/1.4 var(--ui); }
.post-content th, .post-content td { padding: .65rem .75rem; border: 1px solid var(--line); text-align: left; }
.post-content th { background: var(--paper-deep); }
.post-content iframe { max-width: 100%; margin: 2rem auto; }
.post-content iframe[src*="youtube.com/embed"],
.post-content iframe[src*="player.vimeo.com"] { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.video-embed { position: relative; width: 100%; margin: 2rem 0; padding-top: 56.25%; background: var(--night-soft); }
.post-content .video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; border: 0; }
.document-embed { margin: 2rem 0; }
.post-content .document-embed iframe { display: block; width: 100%; height: min(75vh, 850px); min-height: 520px; margin: 0; border: 1px solid var(--line); background: #fff; }
.document-embed p { margin-top: .65rem; font: 600 .72rem/1.4 var(--ui); }
.archive-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin: 2rem 0; }
.archive-gallery a { display: block; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--line); background: var(--paper-deep); }
.post-content .archive-gallery img { width: 100%; height: 100%; margin: 0; object-fit: cover; box-shadow: none; transition: transform .2s ease; }
.archive-gallery a:hover img, .archive-gallery a:focus img { transform: scale(1.03); }
.archive-notice { margin: 2rem 0; padding: 1rem 1.2rem; border-left: 4px solid var(--saffron); background: var(--paper-deep); color: var(--ink-soft); }

/* Russian archive index */
.russian-archive-list { margin-top: .5rem; border-bottom: 1px solid var(--line); }
.russian-archive-item { display: grid; grid-template-columns: 7rem minmax(0, 1fr) auto; align-items: center; gap: 1.4rem; padding: 1.45rem 1rem; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; transition: color .2s ease, background .2s ease, padding .2s ease; }
.russian-archive-item:hover, .russian-archive-item:focus-visible { padding-left: 1.3rem; color: var(--rust); background: var(--paper-deep); }
.russian-archive-item time { color: var(--muted); font: 600 .64rem/1.35 var(--ui); letter-spacing: .06em; text-transform: uppercase; }
.russian-archive-item time span { display: block; color: var(--saffron-dark); font: 600 1.8rem/.9 var(--display); letter-spacing: -.02em; }
.russian-archive-title { display: flex; min-width: 0; flex-direction: column; gap: .25rem; }
.russian-archive-title small { color: var(--saffron-dark); font: 700 .6rem/1.2 var(--ui); letter-spacing: .12em; text-transform: uppercase; }
.russian-archive-title strong { font: 600 clamp(1.25rem, 2.5vw, 1.65rem)/1.15 var(--display); }
.russian-archive-arrow { color: var(--saffron-dark); font: 500 1.5rem/1 var(--display); transition: transform .2s ease; }
.russian-archive-item:hover .russian-archive-arrow, .russian-archive-item:focus-visible .russian-archive-arrow { transform: translateX(.25rem); }

/* Authors directory */
.authors-directory { margin-top: .5rem; border-top: 1px solid var(--line); }
.author-group { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: 2rem; padding: 2rem 0; border-bottom: 1px solid var(--line); }
.post-content .author-group h2 { margin: 0; color: var(--ink); font: 600 1.75rem/1.05 var(--display); letter-spacing: -.02em; }
.author-group-header span { display: block; margin-top: .55rem; color: var(--muted); font: 700 .61rem/1.2 var(--ui); letter-spacing: .1em; text-transform: uppercase; }
.author-articles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: .55rem 1.25rem; }
.post-content .author-articles a { position: relative; display: block; padding: .65rem 1.8rem .65rem .8rem; border-left: 2px solid var(--saffron); color: var(--ink-soft); background: rgba(255,255,255,.28); font: 600 .92rem/1.35 var(--ui); text-decoration: none; transition: color .2s ease, background .2s ease, transform .2s ease; }
.post-content .author-articles a::after { content: "→"; position: absolute; top: 50%; right: .65rem; color: var(--saffron-dark); transform: translateY(-50%); }
.post-content .author-articles a:hover, .post-content .author-articles a:focus-visible { color: var(--rust); background: var(--paper-deep); transform: translateX(.2rem); }
.related-posts { margin-top: 3.5rem; padding: 1.8rem 2rem; border: 1px solid var(--line); border-top: 4px solid var(--rust); background: rgba(251,248,241,.6); }
.related-posts h2 { margin-bottom: 1rem; font: 700 .65rem/1 var(--ui); letter-spacing: .14em; text-transform: uppercase; }
.related-posts ul { list-style: none; }
.related-posts li { padding: .52rem 0; border-bottom: 1px solid var(--line-soft); font: 600 1.08rem/1.2 var(--display); }
.related-posts li:last-child { border: 0; }
.related-posts a { color: var(--ink); text-decoration: none; }
.related-posts a:hover { color: var(--rust); }

/* Category archive */
.category-page { max-width: 930px; margin: 0 auto; padding: 4rem 1.2rem 5rem; }
.category-header { margin-bottom: 2.4rem; text-align: center; }
.category-header h1 { font: 600 clamp(3.2rem, 8vw, 5.4rem)/.95 var(--display); letter-spacing: -.04em; }
.category-count-label { margin-top: .7rem; color: var(--muted); font: 500 .68rem/1 var(--ui); text-transform: uppercase; letter-spacing: .12em; }
.category-page .post-list-item { grid-template-columns: 42px minmax(0,1fr) 170px; }
.back-home { margin-top: 2rem; text-align: center; font: 600 .68rem/1 var(--ui); text-transform: uppercase; letter-spacing: .08em; }
.back-home a { text-decoration: none; }

/* Footer */
.site-footer { padding: 4rem 0 2.6rem; color: #c5b9aa; background: var(--night); border-top: 5px solid var(--saffron); }
.footer-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 5rem; padding-bottom: 2.5rem; }
.footer-title { color: #fff4df; font: 600 2.5rem/.9 var(--display); }
.footer-tagline { margin-top: .5rem; color: var(--saffron); font: 600 .6rem/1 var(--ui); letter-spacing: .19em; text-transform: uppercase; }
.footer-description { max-width: 500px; margin-top: 1rem; color: #9e9385; font-size: .85rem; }
.footer-label { margin-bottom: .8rem; color: #fff4df; font: 700 .6rem/1 var(--ui); letter-spacing: .15em; text-transform: uppercase; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: .55rem 1rem; }
.footer-links .footer-label { grid-column: 1/-1; }
.footer-links a { color: #b8ad9f; font: 500 .7rem/1.2 var(--ui); text-decoration: none; }
.footer-links a:hover { color: var(--saffron); }

@media (max-width: 980px) {
  .featured-layout { grid-template-columns: 1fr; }
  .lead-story { min-height: 520px; }
  .feature-rail { grid-template-columns: repeat(4, 1fr); }
  .rail-story-image { aspect-ratio: 1; }
  .content-layout { grid-template-columns: minmax(0,1fr) 290px; gap: 2rem; }
  .post-list-item { grid-template-columns: 32px minmax(0,1fr) 120px; }
}

@media (max-width: 760px) {
  html { font-size: 17px; }
  .header-inner { padding: 1.35rem .8rem 1.1rem; }
  .site-tagline { font-size: .52rem; letter-spacing: .17em; }
  .site-nav ul { row-gap: .2rem; }
  .site-nav a, .nav-dropdown-toggle { padding: .75rem .7rem; font-size: .62rem; }
  .site-nav .nav-dropdown-menu { left: 50%; transform: translateX(-50%); }
  .homepage { width: min(100% - 1.4rem, var(--wide)); padding-top: 2rem; }
  .archive-intro { display: block; margin-bottom: 2.4rem; padding-bottom: 1.8rem; }
  .archive-intro h1 { font-size: clamp(2.55rem, 12vw, 4rem); }
  .archive-deck { margin-top: 1rem; }
  .featured-section { margin-bottom: 3rem; }
  .lead-story { min-height: 460px; }
  .lead-story-body { padding: 1.5rem; }
  .lead-story h2 { font-size: clamp(2.2rem, 10vw, 3.3rem); }
  .feature-rail { grid-template-columns: 1fr 1fr; }
  .author-group { grid-template-columns: 1fr; gap: 1rem; }
  .content-layout { display: block; }
  .discovery-panel { position: static; margin-top: 3rem; }
  .post-list-item { grid-template-columns: 28px minmax(0,1fr) 100px; min-height: 112px; gap: .7rem; }
  .post-list-content h3 { font-size: 1.35rem; }
  .footer-grid { grid-template-columns: 1fr; gap: 2.2rem; }
}

@media (max-width: 480px) {
  .section-link, .section-note { display: none; }
  .feature-rail { grid-template-columns: 1fr; }
  .rail-story { display: grid; grid-template-columns: 120px 1fr; }
  .rail-story-image { width: 100%; height: 100%; min-height: 140px; aspect-ratio: auto; }
  .rail-story-body { border-top: 0; border-left: 3px solid var(--saffron); }
  .lead-story { min-height: 420px; }
  .story-meta { display: none; }
  .post-list-item, .category-page .post-list-item { grid-template-columns: 24px minmax(0,1fr); }
  .post-list-image { display: none; }
  .post-list-content h3 { font-size: 1.3rem; }
  .post, .page, .category-page { padding: 3rem .9rem 4rem; }
  .post-title, .page-title { font-size: 2.8rem; }
  .post-featured-image { width: calc(100vw - 1rem); }
  .post-header.has-image { grid-template-columns: 1fr; width: calc(100vw - 1rem); text-align: center; }
  .post-header.has-image .post-title { font-size: 2.4rem; }
  .post-header.has-image .post-meta,
  .post-header.has-image .post-categories { justify-content: center; }
  .post-header.has-image .post-featured-image { grid-row: auto; grid-column: auto; order: -1; margin-bottom: 1.5rem; }
  .post-content { font-size: 1rem; }
  .post-content > p:first-of-type::first-letter { font-size: 4rem; }
  .post-content blockquote { padding: 1.25rem 1.2rem 1.25rem 2.2rem; }
  .post-content blockquote::before { left: .5rem; top: -.5rem; font-size: 2.6rem; }
  .archive-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
  .post-content .document-embed iframe { min-height: 420px; }
  .russian-archive-item { grid-template-columns: 1fr auto; gap: .65rem 1rem; padding: 1.25rem .8rem; }
  .russian-archive-item:hover, .russian-archive-item:focus-visible { padding-left: 1rem; }
  .russian-archive-item time { grid-column: 1 / -1; }
  .russian-archive-item time span { display: inline; margin-right: .3rem; font: inherit; letter-spacing: inherit; }
  .russian-archive-title strong { font-size: 1.25rem; }
  .author-group { padding: 1.5rem 0; }
  .author-articles { grid-template-columns: 1fr; }
}

@media print {
  .site-header, .site-footer, .related-posts, .pagination, .discovery-panel { display: none; }
  body { background: #fff; color: #000; font-size: 12pt; }
  .post, .page { max-width: none; padding: 0; }
}
