/*
Theme Name: Drugi sloj 2.2
Author: Nenad Uskoković
Description: Custom editorial WordPress theme for Drugi sloj — Iza naslova. Ispod površine.
Version: 2.2.1
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: drugi-sloj
*/


:root {
  --paper: #f3efe7;
  --ink: #161614;
  --muted: #6d6a63;
  --line: #cfc8bb;
  --accent: #8f2d24;
  --dark: #1c1b19;
  --card: #faf7f1;
  --max: 1180px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.shell {
  width: min(calc(100% - 40px), var(--max));
  margin-inline: auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(243, 239, 231, .94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}

.topbar {
  width: min(calc(100% - 40px), var(--max));
  min-height: 78px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 28px;
  align-items: center;
}

.brand { display: inline-flex; align-items: center; gap: 10px; }
.brand-mark {
  width: 40px; height: 40px; display: grid; place-items: center;
  background: var(--ink); color: var(--paper); font-weight: 800;
}
.brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.brand-copy strong { letter-spacing: .08em; }
.brand-copy small { margin-top: 4px; color: var(--muted); }

.main-nav {
  display: flex;
  justify-content: center;
  gap: 22px;
  font-size: .92rem;
}
.main-nav a, .support-link { border-bottom: 1px solid transparent; }
.main-nav a:hover, .support-link:hover { border-color: currentColor; }

.support-link {
  color: var(--accent);
  font-weight: 700;
}

.menu-toggle {
  display: none;
  border: 0;
  background: none;
  font: inherit;
  font-weight: 700;
}

.hero { padding: 76px 0 54px; }
.hero-kicker, .eyebrow {
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .74rem;
  font-weight: 700;
  color: var(--accent);
}

.hero-grid {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 42px;
  margin-top: 18px;
}

.hero-story {
  display: grid;
  grid-template-columns: minmax(260px, 42%) 1fr;
  gap: 34px;
  align-items: stretch;
}

.hero-art, .card-art, .feature-art, .portrait-placeholder {
  position: relative;
  overflow: hidden;
  min-height: 340px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), transparent 42%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 18px),
    var(--dark);
}

.hero-art::after, .card-art::after, .portrait-placeholder::after {
  content: "";
  position: absolute;
  inset: 14%;
  border: 1px solid rgba(255,255,255,.22);
  transform: rotate(-7deg);
}

.hero-art span {
  position: absolute;
  left: 22px; bottom: 18px;
  color: rgba(255,255,255,.9);
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 5.2rem;
}

.art-society { background-color: #272521; }
.art-migration { background-color: #63342e; }
.art-work { background-color: #3d4a43; }
.art-public { background-color: #4e464f; }
.art-history { background-color: #44372d; }
.art-archive { background-color: #303a47; }

.hero-content { display: flex; flex-direction: column; justify-content: center; }

.meta {
  color: var(--muted);
  font-size: .82rem;
  font-weight: 600;
  margin-bottom: 12px;
}

h1, h2, h3 {
  font-family: "Libre Caslon Display", Georgia, serif;
  font-weight: 400;
  line-height: 1.06;
  margin: 0;
}

h1 { font-size: clamp(2.7rem, 5.2vw, 5.6rem); max-width: 900px; }
h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
h3 { font-size: clamp(1.6rem, 2.4vw, 2.5rem); }

.hero-content p {
  max-width: 650px;
  color: #45423d;
  font-size: 1.02rem;
  margin: 22px 0;
}

.text-link { font-weight: 700; color: var(--accent); width: fit-content; }

.editor-note {
  border-left: 1px solid var(--line);
  padding-left: 24px;
  align-self: end;
  color: #393631;
}
.editor-note p {
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.36rem;
  line-height: 1.3;
}

.news-strip {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.strip-inner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 22px;
  align-items: center;
  padding: 14px 0;
}
.strip-label {
  background: var(--accent);
  color: white;
  padding: 7px 9px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
}
.ticker { display: flex; gap: 30px; overflow-x: auto; scrollbar-width: none; }
.ticker a { white-space: nowrap; font-size: .9rem; }

.editorial-grid, .split-section, .compact-grid, .people-section, .archive-section {
  padding: 84px 0;
  border-bottom: 1px solid var(--line);
}

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}
.section-heading > a { color: var(--muted); font-size: .9rem; }

.cards { display: grid; gap: 22px; }
.cards-3 { grid-template-columns: 1.25fr 1fr 1fr; }
.cards-2 { grid-template-columns: 1fr 1fr; }

.card {
  background: rgba(255,255,255,.36);
  border: 1px solid var(--line);
}
.card-art { min-height: 220px; }
.card-art span, .portrait-placeholder span {
  position: absolute; left: 18px; bottom: 16px; color: white;
  font-weight: 800; letter-spacing: .14em; font-size: .72rem;
}
.card-body { padding: 24px; }
.card-body h3 { font-size: 2rem; }
.card-body p { color: var(--muted); }

.feature-split {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  min-height: 480px;
  border: 1px solid var(--line);
}
.feature-copy {
  padding: clamp(34px, 6vw, 74px);
  display: flex; flex-direction: column; justify-content: center;
  background: var(--card);
}
.feature-copy p { max-width: 560px; color: var(--muted); }
.feature-art {
  min-height: 420px;
  padding: 54px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.16), transparent 22%),
    linear-gradient(145deg, #22201e, #58443c);
  color: white;
}
.feature-art p {
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: clamp(2rem, 4vw, 4.2rem);
  line-height: 1.04;
  max-width: 560px;
}
.quote-mark { font-size: 6rem; line-height: .6; opacity: .45; }

.compact-list { border-top: 1px solid var(--line); }
.compact-list article {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 18px;
  padding: 26px 0;
  border-bottom: 1px solid var(--line);
}
.number { font-size: .78rem; color: var(--accent); font-weight: 800; }
.compact-list h3 { font-size: clamp(1.5rem, 3vw, 2.55rem); max-width: 980px; }

.horizontal-card {
  display: grid;
  grid-template-columns: 42% 1fr;
  min-height: 290px;
}
.horizontal-card .card-art { min-height: 100%; }

.people-layout {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 42px;
  align-items: center;
}
.portrait-placeholder {
  min-height: 460px;
  background:
    radial-gradient(circle at 52% 36%, #6c645d 0 12%, transparent 13%),
    radial-gradient(ellipse at 50% 72%, #514943 0 28%, transparent 29%),
    #2a2826;
}
.people-copy p { color: var(--muted); max-width: 620px; font-size: 1.04rem; }

.support-section {
  background: var(--dark);
  color: #f7f2e9;
  padding: 72px 0;
}
.support-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 46px;
  align-items: center;
}
.support-inner h2 { max-width: 830px; }
.support-inner p { max-width: 760px; color: #cbc5bc; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 20px;
  background: #f7f2e9;
  color: var(--dark);
  font-weight: 800;
  min-width: 190px;
}

.archive-heading { align-items: center; }
.search-box { min-width: min(100%, 340px); }
.search-box label { display: block; font-size: .76rem; color: var(--muted); margin-bottom: 5px; }
.search-box input {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--ink);
  background: transparent;
  padding: 10px 2px;
  font: inherit;
  outline: none;
}

.filter-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.filter {
  border: 1px solid var(--line);
  background: transparent;
  padding: 8px 12px;
  font: inherit;
  cursor: pointer;
}
.filter.active { background: var(--ink); color: var(--paper); border-color: var(--ink); }

.archive-list { border-top: 1px solid var(--line); }
.archive-item {
  display: grid;
  grid-template-columns: 150px 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}
.archive-item .category {
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .7rem;
  font-weight: 800;
  color: var(--accent);
}
.archive-item h3 { font-size: 1.4rem; }
.archive-item time { color: var(--muted); font-size: .82rem; white-space: nowrap; }
.no-results { color: var(--muted); }

.newsletter { padding: 66px 0; background: #e7e0d4; }
.newsletter-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  align-items: end;
}
#newsletter-form { display: grid; grid-template-columns: 1fr auto; }
#newsletter-form input {
  border: 1px solid var(--ink);
  border-right: 0;
  background: transparent;
  padding: 14px;
  font: inherit;
}
#newsletter-form button {
  border: 1px solid var(--ink);
  background: var(--ink);
  color: white;
  padding: 0 18px;
  font: inherit;
  font-weight: 700;
}
#newsletter-message { grid-column: 2; margin: 0; color: var(--muted); font-size: .82rem; }

.site-footer { background: #11100f; color: #d5d0c7; padding: 48px 0; }
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr .8fr .8fr;
  gap: 30px;
}
.footer-grid p { max-width: 430px; color: #9c978f; }
.footer-links, .footer-meta { display: flex; flex-direction: column; gap: 8px; }
.footer-meta { color: #858079; font-size: .84rem; }

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

.article-page .article-hero {
  width: min(calc(100% - 40px), 920px);
  margin: 0 auto;
  padding: 92px 0 36px;
}
.article-page .article-hero h1 { font-size: clamp(2.8rem, 6vw, 5.8rem); }
.article-lead {
  color: #45423d;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.36;
  max-width: 760px;
}
.article-byline {
  display: flex; gap: 16px; flex-wrap: wrap;
  color: var(--muted); font-size: .86rem;
  border-top: 1px solid var(--line);
  padding-top: 18px; margin-top: 26px;
}
.article-body {
  width: min(calc(100% - 40px), 760px);
  margin: 0 auto;
  padding: 34px 0 90px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.16rem;
  line-height: 1.8;
}
.article-body h2 { font-size: 2.3rem; margin: 48px 0 16px; }
.article-body blockquote {
  margin: 34px 0;
  padding: 8px 0 8px 26px;
  border-left: 3px solid var(--accent);
  font-size: 1.5rem;
  line-height: 1.45;
}

@media (max-width: 920px) {
  .topbar { grid-template-columns: auto auto 1fr; }
  .menu-toggle { display: block; justify-self: end; order: 3; }
  .support-link { display: none; }
  .main-nav {
    display: none;
    position: absolute;
    left: 0; right: 0; top: 78px;
    padding: 18px 20px 24px;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    flex-direction: column;
  }
  .main-nav.open { display: flex; }
  .hero-grid { grid-template-columns: 1fr; }
  .editor-note { border-left: 0; border-top: 1px solid var(--line); padding: 22px 0 0; }
  .cards-3 { grid-template-columns: 1fr 1fr; }
  .card-large { grid-column: 1 / -1; }
  .feature-split, .people-layout { grid-template-columns: 1fr; }
  .support-inner { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .shell, .topbar { width: min(calc(100% - 28px), var(--max)); }
  .hero { padding-top: 42px; }
  .hero-story { grid-template-columns: 1fr; }
  .hero-art { min-height: 280px; }
  .cards-3, .cards-2 { grid-template-columns: 1fr; }
  .horizontal-card { grid-template-columns: 1fr; }
  .archive-heading { align-items: start; flex-direction: column; }
  .search-box { width: 100%; }
  .archive-item { grid-template-columns: 1fr; gap: 5px; }
  .newsletter-inner { grid-template-columns: 1fr; }
  #newsletter-message { grid-column: 1; }
  .footer-grid { grid-template-columns: 1fr; }
  .section-heading { align-items: start; }
  .section-heading > a { display: none; }
}


/* V2 identity sections */
.column-section {
  padding: 76px 0;
  background: #ded7ca;
  border-bottom: 1px solid var(--line);
}
.column-inner {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 70px;
  align-items: end;
}
.column-label h2 {
  font-size: clamp(3rem, 6vw, 6.5rem);
  max-width: 680px;
}
.column-copy {
  max-width: 620px;
  padding-bottom: 8px;
}
.column-copy p {
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.65rem;
  line-height: 1.35;
  margin-top: 0;
}

.author-section {
  padding: 84px 0;
  border-bottom: 1px solid var(--line);
}
.author-inner {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 56px;
  align-items: center;
}
.author-monogram {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  background: var(--ink);
  color: var(--paper);
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 5.5rem;
}
.author-copy p {
  max-width: 760px;
  color: #514d47;
  font-size: 1.02rem;
}

@media (max-width: 820px) {
  .column-inner, .author-inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .author-monogram {
    width: 180px;
  }
}


.author-lead {
  font-size: 1.08rem !important;
  line-height: 1.72;
}

.author-manifesto {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.42rem !important;
  line-height: 1.42;
  color: var(--ink) !important;
}


/* ===== V3 visual identity ===== */
:root {
  --navy: #062536;
  --navy-2: #0b3447;
  --cream: #f6f2ea;
  --cream-2: #fbf8f2;
  --gold: #e8b45d;
  --gold-dark: #c99238;
  --ink: #10202b;
  --paper: #f7f4ee;
  --line: #ded8ce;
}

body {
  background: var(--cream);
}

.v3-header {
  background: var(--navy);
  border-bottom: none;
  color: white;
}

.v3-header .topbar {
  min-height: 74px;
  width: min(calc(100% - 40px), 1460px);
}

.v3-header .brand-copy strong {
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.7rem;
  letter-spacing: .02em;
}

.v3-header .brand-copy small {
  color: #c1d0d8;
}

.stacked-mark {
  background: transparent;
  color: white;
  border: 1px solid #8da7b4;
  font-size: .78rem;
}

.v3-header .main-nav a {
  color: #f3f7f8;
}

.support-pill {
  color: var(--navy) !important;
  background: var(--gold);
  padding: 10px 14px;
  border-radius: 6px;
  font-weight: 800;
  border: 0 !important;
  white-space: nowrap;
}

.v3-hero {
  width: min(calc(100% - 40px), 1460px);
  padding: 22px 0 30px;
}

.hero-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 22px;
  align-items: start;
}

.hero-panel {
  min-height: 520px;
  border-radius: 10px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 43% 57%;
  background: linear-gradient(90deg, #0d2d3c 0%, #173a49 43%, #d8c2ac 43%);
  box-shadow: 0 12px 35px rgba(15, 28, 36, .12);
}

.hero-copy {
  padding: 48px 42px;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.hero-copy h1 {
  font-size: clamp(3rem, 5vw, 5.5rem);
  max-width: 740px;
}

.hero-copy p {
  color: #edf3f5;
  font-size: 1.08rem;
  max-width: 580px;
  margin: 24px 0;
}

.hero-meta {
  color: var(--gold);
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  font-size: .88rem;
  color: #d6e0e5;
}

.light-button {
  background: white;
  color: var(--navy);
  border-radius: 5px;
}

.hero-visual {
  position: relative;
  overflow: hidden;
  min-height: 520px;
  background:
    radial-gradient(circle at 65% 38%, rgba(255,228,194,.7), transparent 13%),
    linear-gradient(180deg, #b9c2c4 0%, #c6aa8a 48%, #7e624c 70%, #2e3030 100%);
}

.hero-cityline {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 22%;
  height: 24%;
  background:
    linear-gradient(90deg,
      #314451 0 10%, transparent 10% 13%,
      #344f59 13% 20%, transparent 20% 23%,
      #2c4852 23% 32%, transparent 32% 36%,
      #415964 36% 44%, transparent 44% 50%,
      #2c4653 50% 62%, transparent 62% 66%,
      #385561 66% 76%, transparent 76% 80%,
      #2e4652 80% 100%);
  opacity: .72;
}

.hero-person {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 210px;
  height: 360px;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 50% 12%, #2f2926 0 9%, transparent 10%),
    radial-gradient(ellipse at 50% 78%, #18232a 0 43%, transparent 44%);
  filter: drop-shadow(0 10px 14px rgba(0,0,0,.2));
}

.hero-sidebar {
  display: grid;
  gap: 16px;
}

.author-card,
.quote-card,
.sidebar-card {
  background: var(--cream-2);
  border: 1px solid #e7e1d7;
  border-radius: 8px;
  padding: 20px;
}

.author-card {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 16px;
}

.author-thumb {
  height: 142px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: linear-gradient(145deg, #2a3943, #111e26);
  color: white;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 2.3rem;
}

.author-card h3 {
  font-size: 1.8rem;
  margin: 3px 0 10px;
}

.author-card p {
  font-size: .9rem;
  color: #3d4a52;
  margin: 8px 0;
}

.quote-card {
  position: relative;
  padding-left: 54px;
}

.quote-symbol {
  position: absolute;
  left: 18px;
  top: 8px;
  color: var(--gold);
  font-size: 3.8rem;
  font-family: Georgia, serif;
}

.quote-card p {
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.25rem;
  font-style: italic;
  margin: 0 0 8px;
}

.quote-card span {
  font-size: .82rem;
  color: var(--muted);
}

.sidebar-card strong {
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.35rem;
}

.sidebar-card p {
  font-size: .88rem;
  color: #4a575d;
}

.mini-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
}

.mini-form input {
  min-width: 0;
  border: 1px solid #d8d2c7;
  background: white;
  border-radius: 5px;
  padding: 11px 12px;
}

.mini-form button {
  border: 0;
  border-radius: 5px;
  background: var(--navy);
  color: white;
  padding: 0 16px;
  font-weight: 700;
}

.patreon-card {
  background: var(--navy);
  color: white;
}

.patreon-card p {
  color: #d9e2e7;
}

.gold-button {
  background: var(--gold);
  color: #2e2618;
  border-radius: 5px;
  width: 100%;
}

.editorial-grid, .split-section, .compact-grid, .people-section, .archive-section {
  width: min(calc(100% - 40px), 1460px);
  padding: 54px 0;
}

.card,
.feature-split {
  border-radius: 8px;
  overflow: hidden;
  background: var(--cream-2);
  box-shadow: 0 5px 18px rgba(26, 37, 45, .05);
}

.featured-strip {
  width: min(calc(100% - 40px), 1460px);
  padding: 30px 0 60px;
  display: grid;
  grid-template-columns: 1.15fr .95fr .75fr;
  gap: 22px;
}

.column-feature,
.selected-quote,
.podcast-card {
  border-radius: 8px;
  padding: 28px;
  min-height: 240px;
  border: 1px solid #e1dbd1;
}

.column-feature,
.selected-quote {
  background: var(--cream-2);
}

.column-feature h2 {
  font-size: 2.2rem;
}

.selected-quote blockquote {
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.5rem;
  line-height: 1.3;
  margin: 18px 0;
}

.podcast-card {
  background:
    radial-gradient(circle at 25% 55%, #37414a 0 9%, transparent 10%),
    linear-gradient(140deg, #29343b, #101b21);
  color: white;
}

.podcast-card h3 {
  font-size: 2rem;
  margin: 10px 0;
}

.secondary-support {
  background: #0a2838;
}

.site-footer {
  background: var(--navy);
}

@media (max-width: 1120px) {
  .hero-main {
    grid-template-columns: 1fr;
  }
  .hero-sidebar {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .featured-strip {
    grid-template-columns: 1fr 1fr;
  }
  .podcast-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .hero-panel {
    grid-template-columns: 1fr;
  }
  .hero-visual {
    min-height: 340px;
  }
  .hero-sidebar {
    grid-template-columns: 1fr;
  }
  .featured-strip {
    grid-template-columns: 1fr;
  }
  .podcast-card {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .v3-header .topbar,
  .v3-hero,
  .editorial-grid,
  .split-section,
  .compact-grid,
  .people-section,
  .archive-section,
  .featured-strip {
    width: min(calc(100% - 28px), 1460px);
  }
  .hero-copy {
    padding: 34px 24px;
  }
  .author-card {
    grid-template-columns: 90px 1fr;
  }
}


/* ===== V3.1 refinements ===== */
:root {
  --navy: #12384a;
  --navy-2: #1c4a5e;
  --cream: #fbfaf6;
  --cream-2: #fffdf9;
  --gold: #d9ad64;
  --gold-dark: #b98b43;
  --ink: #20313a;
  --paper: #fbfaf6;
  --line: #e7e1d8;
}

body {
  background: #fbfaf6;
}

.v3-header {
  background: #14394b;
}

.v3-header .brand-copy small {
  color: #d7e0e4;
}

.support-pill {
  background: #e6bc72;
}

.v3-hero {
  padding-top: 20px;
  padding-bottom: 24px;
}

.hero-main {
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 18px;
}

.hero-panel {
  min-height: 430px;
  grid-template-columns: 46% 54%;
  background: linear-gradient(90deg, #24495a 0%, #2f596a 46%, #ded0bf 46%);
  box-shadow: 0 8px 24px rgba(27, 45, 56, .08);
}

.hero-copy {
  padding: 34px 34px;
}

.hero-copy h1 {
  font-size: clamp(2.5rem, 4vw, 4.35rem);
  line-height: 1.02;
  max-width: 620px;
}

.hero-copy p {
  font-size: 1rem;
  margin: 18px 0 20px;
  max-width: 540px;
}

.hero-visual {
  min-height: 430px;
  background:
    radial-gradient(circle at 65% 34%, rgba(255,235,210,.72), transparent 13%),
    linear-gradient(180deg, #d5dde0 0%, #d9c6ae 46%, #a18168 70%, #505758 100%);
}

.hero-person {
  width: 180px;
  height: 310px;
}

.author-card,
.quote-card,
.sidebar-card {
  background: #fffdf9;
  border-color: #ebe5dc;
  box-shadow: 0 4px 14px rgba(40, 52, 58, .035);
}

.unified-author {
  grid-template-columns: 88px 1fr;
  gap: 16px;
  align-items: start;
  padding: 18px;
}

.unified-author .author-thumb {
  height: 118px;
  border-radius: 5px;
  background: linear-gradient(145deg, #49616c, #243b46);
  font-size: 1.8rem;
}

.author-copy-mini h3 {
  font-size: 1.55rem;
  margin: 2px 0 7px;
}

.author-copy-mini p {
  margin: 5px 0;
  font-size: .84rem;
  line-height: 1.48;
  color: #526068;
}

.author-copy-mini .author-role {
  color: #2f414b;
  font-weight: 600;
}

.centered-quote {
  text-align: center;
  padding: 24px 28px 20px;
}

.centered-quote .quote-symbol {
  position: static;
  display: block;
  line-height: .7;
  margin-bottom: 8px;
  font-size: 3rem;
}

.centered-quote p {
  max-width: 280px;
  margin: 0 auto 10px;
  text-align: center;
  font-size: 1.18rem;
  line-height: 1.42;
}

.centered-quote span {
  display: block;
  text-align: center;
}

.sidebar-card {
  padding: 18px;
}

.patreon-card {
  background: #21495a;
}

.gold-button {
  background: #e2b86c;
}

.news-strip {
  background: #f5f1e9;
}

.card,
.feature-split,
.column-feature,
.selected-quote {
  background: #fffdf9;
}

.secondary-support {
  background: #1d4658;
}

.site-footer {
  background: #173d4f;
}

/* slightly calmer section spacing */
.editorial-grid,
.split-section,
.compact-grid,
.people-section,
.archive-section {
  padding-top: 48px;
  padding-bottom: 48px;
}

@media (max-width: 820px) {
  .hero-panel {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .hero-visual {
    min-height: 300px;
  }

  .hero-copy {
    padding: 30px 24px;
  }

  .hero-copy h1 {
    font-size: clamp(2.35rem, 9vw, 3.8rem);
  }
}


/* ===== Hero supporting editorial picks ===== */
.hero-left {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.hero-supporting {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.support-story {
  background: #fffdf9;
  border: 1px solid #ebe5dc;
  border-radius: 8px;
  padding: 20px 22px;
  box-shadow: 0 4px 14px rgba(40, 52, 58, .03);
}

.support-story h3 {
  font-size: 1.55rem;
  line-height: 1.08;
  margin-bottom: 10px;
}

.support-story p {
  color: #5a666d;
  font-size: .9rem;
  line-height: 1.5;
  margin: 0 0 12px;
}

.more-topics {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 4px 2px;
  border-top: 1px solid var(--line);
  color: #52616a;
  font-size: .88rem;
}

.more-label {
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .7rem;
  font-weight: 800;
  color: var(--gold-dark);
  margin-right: 4px;
}

.more-topics a {
  font-weight: 700;
}

.more-topics a:hover {
  color: var(--navy);
}

@media (max-width: 820px) {
  .hero-supporting {
    grid-template-columns: 1fr;
  }

  .more-topics {
    grid-column: auto;
    flex-wrap: wrap;
  }
}


/* ===== V3.3 warmer orange accent ===== */
:root {
  --orange: #d97732;
  --orange-soft: #e79a5f;
  --orange-pale: #f3d6bf;
  --navy: #1c4253;
  --navy-2: #285568;
  --gold: #d8aa63;
  --gold-dark: #b8833f;
}

.hero-meta,
.eyebrow,
.meta,
.more-label {
  color: var(--orange);
}

.support-pill {
  background: var(--orange);
  color: white !important;
}

.support-pill:hover {
  background: #c86727;
}

.text-link {
  color: var(--orange);
}

.text-link:hover {
  color: #b85d24;
}

.strip-label {
  background: var(--orange);
}

.gold-button {
  background: var(--orange);
  color: white;
}

.gold-button:hover {
  background: #c86727;
}

.quote-symbol {
  color: var(--orange-soft);
}

.feature-art,
.patreon-card,
.secondary-support {
  background-color: var(--navy-2);
}

.more-topics {
  border-top-color: #ead4c4;
}

.support-story {
  border-top: 3px solid var(--orange-pale);
}

.card .meta,
.compact-list .meta,
.archive-item .category {
  color: var(--orange);
}

.filter.active {
  background: var(--orange);
  border-color: var(--orange);
  color: white;
}

.button.light-button {
  border-bottom: 3px solid var(--orange-soft);
}

.news-strip {
  border-top-color: #ead8c9;
  border-bottom-color: #ead8c9;
}

.site-footer {
  background: #173b4a;
}


/* ===== V3 article layout ===== */
.v3-article-page {
  background: #fbfaf6;
}

.article-header-v3 {
  padding: 68px 20px 38px;
}

.article-header-inner {
  width: min(920px, 100%);
  margin: 0 auto;
}

.article-kicker {
  color: var(--orange);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .75rem;
  font-weight: 800;
  margin-bottom: 14px;
}

.article-header-v3 h1 {
  font-size: clamp(3.3rem, 7vw, 6.7rem);
  max-width: 900px;
  line-height: .98;
}

.article-deck {
  max-width: 800px;
  margin: 24px 0 22px;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.4;
  color: #4e5b62;
}

.article-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: #68747a;
  font-size: .88rem;
}

.article-hero-image {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto 52px;
}

.article-hero-image img {
  width: 100%;
  max-height: 760px;
  object-fit: cover;
  object-position: center 38%;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(30, 44, 52, .08);
}

.article-hero-image figcaption {
  margin-top: 8px;
  color: #7b817f;
  font-size: .76rem;
  text-align: right;
}

.article-layout-v3 {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 170px minmax(0, 720px) 230px;
  gap: 30px;
  align-items: start;
  padding-bottom: 90px;
}

.article-body-v3 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.18rem;
  line-height: 1.82;
  color: #263238;
}

.article-body-v3 p {
  margin: 0 0 1.5em;
}

.article-body-v3 p:first-child::first-letter {
  float: left;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 4.7rem;
  line-height: .78;
  padding-right: 10px;
  padding-top: 8px;
  color: var(--orange);
}

.article-quote {
  margin: 34px 0;
  padding: 26px 28px;
  border-left: 4px solid var(--orange);
  background: #fff7ef;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.55rem;
  line-height: 1.45;
  color: #24343c;
}

.article-emphasis {
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.55rem;
  line-height: 1.45;
  color: #173d4f;
  padding: 4px 0 4px 22px;
  border-left: 2px solid var(--orange-soft);
}

.article-rail {
  font-family: "DM Sans", sans-serif;
}

.rail-sticky {
  position: sticky;
  top: 100px;
  border-top: 3px solid var(--orange);
  padding-top: 14px;
}

.rail-sticky p {
  color: #68747a;
  font-size: .82rem;
  line-height: 1.55;
}

.rail-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: .82rem;
  font-weight: 700;
}

.article-side-note {
  display: grid;
  gap: 16px;
  font-family: "DM Sans", sans-serif;
}

.side-note-card {
  background: #fffdf9;
  border: 1px solid #ebe5dc;
  border-radius: 8px;
  padding: 18px;
}

.mini-author-row {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 12px;
  align-items: start;
  margin-top: 10px;
}

.small-thumb {
  width: 58px;
  height: 70px;
  font-size: 1.05rem;
}

.mini-author-row p {
  color: #68747a;
  font-size: .78rem;
  line-height: 1.45;
  margin-bottom: 0;
}

.quote-side-card p {
  margin: 0;
  text-align: center;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.06rem;
  font-style: italic;
  line-height: 1.45;
}

.article-end {
  margin-top: 54px;
  padding: 34px;
  background: #f4eee5;
  border-radius: 8px;
  font-family: "DM Sans", sans-serif;
}

.article-end h2 {
  font-size: 2.2rem;
  margin: 8px 0 12px;
}

.article-end p {
  font-family: "DM Sans", sans-serif;
  font-size: .98rem;
  line-height: 1.5;
}

.article-end-actions {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 18px;
}

@media (max-width: 1050px) {
  .article-layout-v3 {
    grid-template-columns: minmax(0, 720px) 220px;
    justify-content: center;
  }
  .article-rail {
    display: none;
  }
}

@media (max-width: 780px) {
  .article-layout-v3 {
    grid-template-columns: 1fr;
    width: min(calc(100% - 28px), 760px);
  }

  .article-side-note {
    grid-row: 1;
    grid-template-columns: 1fr 1fr;
  }

  .article-hero-image {
    width: min(calc(100% - 28px), 1180px);
  }

  .article-header-v3 {
    padding-top: 44px;
  }

  .article-header-v3 h1 {
    font-size: clamp(2.7rem, 13vw, 4.7rem);
  }
}

@media (max-width: 560px) {
  .article-side-note {
    grid-template-columns: 1fr;
  }

  .article-body-v3 {
    font-size: 1.08rem;
    line-height: 1.75;
  }

  .article-quote,
  .article-emphasis {
    font-size: 1.3rem;
  }
}


/* ===== Sources / documentation ===== */
.sources-section {
  margin-top: 62px;
  padding-top: 34px;
  border-top: 1px solid var(--line);
  font-family: "DM Sans", sans-serif;
}

.sources-heading h2 {
  margin: 6px 0 12px;
  font-size: 2.45rem;
}

.sources-heading > p {
  max-width: 650px;
  margin: 0 0 30px;
  color: #69757b;
  font-size: .92rem;
  line-height: 1.62;
  font-family: "DM Sans", sans-serif;
}

.sources-group {
  margin-top: 30px;
}

.sources-group h3 {
  margin-bottom: 12px;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.45rem;
}

.source-list {
  margin: 0;
  padding: 0;
  list-style-position: inside;
  counter-reset: none;
  border-top: 1px solid var(--line);
}

.source-list li {
  padding: 16px 0 17px;
  border-bottom: 1px solid var(--line);
  color: var(--orange);
  font-weight: 700;
}

.source-list li a {
  color: #1e4556;
  text-decoration: underline;
  text-decoration-color: #e4b18d;
  text-underline-offset: 3px;
}

.source-list li a:hover {
  color: var(--orange);
}

.source-list li span {
  display: block;
  margin-top: 5px;
  padding-left: 1.45em;
  color: #718087;
  font-size: .82rem;
  line-height: 1.5;
  font-weight: 400;
}

.sources-note {
  margin-top: 20px !important;
  padding: 14px 16px;
  background: #f5f0e8;
  border-left: 3px solid var(--orange-soft);
  color: #67747a;
  font-family: "DM Sans", sans-serif;
  font-size: .82rem;
  line-height: 1.55;
}

@media (max-width: 560px) {
  .sources-heading h2 {
    font-size: 2rem;
  }
  .source-list li span {
    padding-left: 0;
  }
}


/* ===== V3.6 real editorial homepage ===== */
.popular-section {
  width: min(calc(100% - 40px), 1460px);
  padding: 48px 0;
  border-bottom: 1px solid var(--line);
}

.popular-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.popular-card {
  min-height: 190px;
  padding: 22px;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  border-right: 1px solid var(--line);
  background: #fffdf9;
}

.popular-card:last-child {
  border-right: 0;
}

.popular-rank {
  color: var(--orange);
  font-size: .78rem;
  font-weight: 800;
}

.popular-card h3 {
  font-size: 1.55rem;
  margin-bottom: 10px;
}

.popular-card p {
  margin: 0;
  color: #788187;
  font-size: .82rem;
}

.people-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  margin-top: 18px;
}

.secondary-text-link {
  color: #4e6672;
}

.ticker strong {
  color: var(--orange);
}

@media (max-width: 980px) {
  .popular-grid {
    grid-template-columns: 1fr 1fr;
  }
  .popular-card:nth-child(2) {
    border-right: 0;
  }
  .popular-card:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }
}

@media (max-width: 560px) {
  .popular-grid {
    grid-template-columns: 1fr;
  }
  .popular-card {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    min-height: auto;
  }
  .popular-card:last-child {
    border-bottom: 0;
  }
}


/* ===== V3.7 corrections ===== */
.latest-feature {
  width: min(calc(100% - 40px), 1460px);
  margin: 28px auto 0;
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 24px;
  padding: 26px 28px;
  background: #fffdf9;
  border: 1px solid var(--line);
  border-left: 4px solid var(--orange);
  border-radius: 8px;
}

.latest-label {
  padding-top: 4px;
}

.latest-content h2 {
  font-size: clamp(2rem, 4vw, 3.4rem);
  margin: 4px 0 10px;
}

.latest-content p {
  max-width: 850px;
  color: #5f6a70;
  margin-bottom: 18px;
}

.latest-button {
  background: var(--orange);
  color: white;
  border-radius: 5px;
}

.v3-article-page .article-hero-image {
  width: min(920px, calc(100% - 40px));
  background: #f3eee7;
  border-radius: 10px;
  padding: 14px;
}

.v3-article-page .article-hero-image img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center;
  border-radius: 6px;
  box-shadow: none;
}

@media (max-width: 680px) {
  .latest-feature {
    width: min(calc(100% - 28px), 1460px);
    grid-template-columns: 1fr;
    padding: 22px;
  }
}


/* ===== Long-form analytical article refinements ===== */
.article-body-v3 h2 {
  margin: 2.2em 0 .8em;
  padding-top: .2em;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 2.15rem;
  line-height: 1.12;
  color: #173d4f;
}

.article-body-v3 h2::before {
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  margin-bottom: 14px;
  background: var(--orange);
}

@media (max-width: 560px) {
  .article-body-v3 h2 {
    font-size: 1.75rem;
  }
}


/* ===== Quiet historical long-form ===== */
.quiet-article {
  background: #f8f7f3;
}

.quiet-header {
  padding-bottom: 34px;
}

.quiet-header .article-kicker {
  color: #7e6c5d;
}

.quiet-header h1 {
  color: #243039;
}

.quiet-header .article-deck {
  color: #60696d;
}

.quiet-image {
  background: #efeee9 !important;
  padding: 12px !important;
}

.quiet-image img {
  filter: saturate(.82);
}

.quiet-body {
  color: #30383c;
}

.quiet-body .article-emphasis {
  color: #39474d;
  border-left-color: #9d8b7c;
}

.quiet-body .article-quote {
  background: #f0efeb;
  border-left-color: #8f7d6f;
  color: #303a3e;
}

.quiet-rail {
  border-top-color: #8f7d6f;
}

.quiet-side-quote {
  background: #f2f0eb;
}

.quiet-end {
  background: #efede7;
}

.quiet-body .sources-section {
  border-top-color: #d8d3ca;
}

.quiet-body .sources-note {
  background: #efede7;
  border-left-color: #9d8b7c;
}


/* ===== Narrative / personal essay ===== */
.narrative-article {
  background: #fbfaf7;
}

.narrative-header .article-kicker {
  color: #a7633d;
}

.narrative-header h1 {
  font-size: clamp(4rem, 9vw, 8.5rem);
}

.narrative-image {
  background: #f1ede6 !important;
  padding: 12px !important;
}

.narrative-image img {
  max-height: none !important;
  object-fit: contain !important;
  height: auto !important;
}

.narrative-layout {
  grid-template-columns: 170px minmax(0, 650px) 230px;
}

.narrative-body {
  font-size: 1.16rem;
  line-height: 1.72;
}

.narrative-body p {
  margin-bottom: 1.15em;
}

.narrative-body p:first-child::first-letter {
  float: none;
  font-size: inherit;
  line-height: inherit;
  padding: 0;
  color: inherit;
}

.narrative-dialogue {
  margin-left: 28px !important;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.34rem;
}

.narrative-emphasis {
  margin: 1.7em 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.75rem !important;
  line-height: 1.25 !important;
  color: #2a3940 !important;
}

.narrative-dedication {
  margin-top: 2.8em !important;
  padding-top: 1.5em;
  border-top: 1px solid var(--line);
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.4rem;
  font-style: italic;
  color: #5c6467;
}

.narrative-rail {
  border-top-color: #a7633d;
}

.narrative-side-quote {
  background: #f4eee7;
}

.narrative-note {
  margin-top: 48px;
  padding: 18px 20px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-family: "DM Sans", sans-serif;
}

.narrative-note p {
  margin: 8px 0 0;
  color: #6c767a;
  font-family: "DM Sans", sans-serif;
  font-size: .82rem;
  line-height: 1.55;
}

.narrative-end {
  background: #f3ede5;
}

@media (max-width: 1050px) {
  .narrative-layout {
    grid-template-columns: minmax(0, 680px) 220px;
  }
}

@media (max-width: 780px) {
  .narrative-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .narrative-body {
    font-size: 1.08rem;
  }
  .narrative-dialogue {
    margin-left: 12px !important;
    font-size: 1.22rem;
  }
  .narrative-emphasis {
    font-size: 1.5rem !important;
  }
}


/* ===== Section pages ===== */
.section-page {
  background: #fbfaf7;
  color: #233139;
}

.section-page .main-nav .active {
  color: var(--orange);
  font-weight: 700;
}

.section-hero {
  padding: 68px 0 46px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 70px;
  border-bottom: 1px solid var(--line);
}

.section-hero h1 {
  margin: 6px 0 14px;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: clamp(4rem, 8vw, 8.2rem);
  line-height: .9;
  color: #173d4f;
}

.section-hero-copy > p {
  max-width: 760px;
  margin: 0;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.45;
  color: #57656b;
}

.section-hero-note {
  align-self: end;
  padding: 22px 0 4px 24px;
  border-left: 2px solid var(--orange);
}

.section-hero-note p {
  margin: 7px 0 0;
  color: #657177;
  line-height: 1.6;
}

.section-lead-grid {
  padding: 42px 0 54px;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(300px, .8fr);
  gap: 28px;
  border-bottom: 1px solid var(--line);
}

.section-lead-card {
  padding: 34px;
  background: #183f50;
  color: #fff;
  border-radius: 10px;
}

.section-lead-card .meta,
.section-lead-card .section-story-meta {
  color: #e5c3a9;
}

.section-lead-card h2 {
  margin: 10px 0 18px;
  max-width: 850px;
  font-size: clamp(2.7rem, 5vw, 5rem);
  line-height: .98;
  color: #fff;
}

.section-lead-card p {
  max-width: 760px;
  color: #dfe8eb;
  font-size: 1.04rem;
  line-height: 1.7;
}

.section-lead-card .text-link {
  display: inline-block;
  margin-top: 22px;
  color: #fff0e5;
}

.section-latest-card {
  padding: 30px;
  background: #fffdf9;
  border: 1px solid var(--line);
  border-top: 4px solid var(--orange);
  border-radius: 10px;
}

.section-latest-card h3 {
  margin: 10px 0 15px;
  font-size: 2.1rem;
}

.section-latest-card p {
  color: #667177;
  line-height: 1.65;
}

.section-grid-block {
  padding: 54px 0;
  border-bottom: 1px solid var(--line);
}

.section-story-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 20px;
}

.section-story-grid-two {
  grid-template-columns: 1fr 1fr;
}

.section-story-card {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  background: #fffdf9;
  border: 1px solid var(--line);
  border-radius: 9px;
  overflow: hidden;
}

.featured-story-card {
  grid-row: span 1;
}

.section-story-art {
  min-height: 190px;
  background:
    radial-gradient(circle at 22% 22%, rgba(255,173,82,.5), transparent 24%),
    linear-gradient(135deg, #e2a466, #d5693e 48%, #5b4a43);
}

.section-story-copy {
  padding: 22px;
}

.section-story-copy h3 {
  margin: 8px 0 12px;
  font-size: 1.7rem;
  line-height: 1.08;
}

.section-story-copy p {
  margin: 0 0 16px;
  color: #68747a;
  line-height: 1.58;
}

.section-story-meta {
  display: block;
  margin-top: 14px;
  color: #8a9498;
  font-family: "DM Sans", sans-serif;
  font-size: .78rem;
}

.section-archive {
  padding: 54px 0 70px;
}

.section-archive-list {
  border-top: 1px solid var(--line);
}

.section-archive-list article {
  display: grid;
  grid-template-columns: 145px 1fr;
  gap: 22px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}

.archive-date {
  color: #8a9498;
  font-family: "DM Sans", sans-serif;
  font-size: .79rem;
  padding-top: 5px;
}

.section-archive-list h3 {
  margin: 4px 0 0;
  font-size: 1.55rem;
}

.section-archive-list h3 a {
  color: inherit;
}

@media (max-width: 980px) {
  .section-hero,
  .section-lead-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .section-hero-note {
    max-width: 650px;
  }
  .section-story-grid {
    grid-template-columns: 1fr 1fr;
  }
  .section-story-grid .section-story-card:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .section-hero {
    padding-top: 44px;
  }
  .section-hero h1 {
    font-size: 4.2rem;
  }
  .section-story-grid,
  .section-story-grid-two {
    grid-template-columns: 1fr;
  }
  .section-story-grid .section-story-card:first-child {
    grid-column: auto;
  }
  .section-archive-list article {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}


/* ===== Psychology section ===== */
.psychology-section-page {
  background: #fcfbf8;
}

.psychology-section-page .section-hero {
  border-bottom-color: #d9d4ca;
}

.psychology-hero {
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
}

.psychology-hero h1 {
  color: #294c57;
}

.psychology-hero-quote {
  align-self: end;
  padding: 26px 28px;
  background: #f1eee6;
  border-radius: 10px;
}

.psychology-hero-quote .quote-mark {
  display: block;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 4.7rem;
  line-height: .6;
  color: #c17043;
}

.psychology-hero-quote p {
  margin: 14px 0 0;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.45;
  color: #4a575b;
}

.psychology-lead {
  padding: 54px 0;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) 310px;
  gap: 48px;
  border-bottom: 1px solid var(--line);
}

.psychology-lead-copy h2 {
  margin: 9px 0 18px;
  max-width: 900px;
  font-size: clamp(2.8rem, 5.5vw, 5.4rem);
  line-height: .98;
  color: #244653;
}

.psychology-lead-copy > p {
  max-width: 770px;
  color: #626e73;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.27rem;
  line-height: 1.58;
}

.psychology-lead-copy .latest-button {
  display: inline-block;
  margin-top: 22px;
}

.psychology-lead-aside {
  align-self: center;
  padding: 24px;
  border-top: 3px solid #6d8a82;
  background: #f5f4ef;
}

.psychology-lead-aside ul {
  margin: 14px 0 0;
  padding-left: 18px;
  color: #677177;
  line-height: 1.75;
}

.psychology-essay-grid {
  padding: 54px 0;
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: 22px;
  border-bottom: 1px solid var(--line);
}

.psychology-essay-card {
  padding: 26px;
  background: #fffefa;
  border: 1px solid var(--line);
  border-radius: 9px;
}

.psychology-essay-large {
  background: #e9efec;
  border-color: #d2ddd8;
}

.psychology-essay-card h3 {
  margin: 9px 0 14px;
  font-size: 1.9rem;
  line-height: 1.08;
}

.psychology-essay-large h3 {
  font-size: 2.45rem;
  color: #2e4f59;
}

.psychology-essay-card p {
  margin: 0 0 15px;
  color: #69747a;
  line-height: 1.62;
}

.psychology-theme-strip {
  padding: 58px 0;
  display: grid;
  grid-template-columns: .9fr 1.25fr;
  gap: 70px;
  border-bottom: 1px solid var(--line);
}

.psychology-theme-intro h2 {
  margin: 8px 0 0;
  font-size: clamp(2.5rem, 4.7vw, 4.7rem);
  line-height: 1;
  color: #294c57;
}

.psychology-theme-copy {
  padding-top: 6px;
}

.psychology-theme-copy p {
  margin: 0 0 18px;
  color: #5f6b70;
  font-size: 1.03rem;
  line-height: 1.75;
}

.psychology-archive .section-archive-list h3 {
  max-width: 900px;
}

@media (max-width: 960px) {
  .psychology-hero,
  .psychology-lead,
  .psychology-theme-strip {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .psychology-essay-grid {
    grid-template-columns: 1fr 1fr;
  }
  .psychology-essay-large {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .psychology-essay-grid {
    grid-template-columns: 1fr;
  }
  .psychology-essay-large {
    grid-column: auto;
  }
  .psychology-hero-quote p {
    font-size: 1.22rem;
  }
}


/* ===== History section ===== */
.history-section-page {
  background: #f8f6f1;
}

.history-section-page .section-hero h1 {
  color: #3c4549;
}

.history-hero {
  grid-template-columns: minmax(0, 1.35fr) 330px;
}

.history-method {
  align-self: end;
  padding: 24px;
  background: #ece8df;
  border-top: 3px solid #7b6655;
}

.history-method-row {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #d5cfc3;
}

.history-method-row:last-child {
  border-bottom: 0;
}

.history-method-row span {
  color: #9a7b62;
  font-size: .78rem;
  font-weight: 700;
}

.history-method-row p {
  margin: 0;
  color: #505b60;
  font-size: .92rem;
}

.history-lead {
  padding: 54px 0;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) 330px;
  gap: 52px;
  border-bottom: 1px solid var(--line);
}

.history-lead-story h2 {
  margin: 8px 0 18px;
  max-width: 800px;
  font-size: clamp(3rem, 6vw, 5.8rem);
  line-height: .96;
  color: #354248;
}

.history-lead-story h2 a {
  color: inherit;
}

.history-lead-story > p {
  max-width: 780px;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.25rem;
  line-height: 1.58;
  color: #5d696e;
}

.history-button {
  display: inline-block;
  margin-top: 22px;
  background: #6f5b4c;
  color: white;
  border-radius: 5px;
}

.history-document-box {
  align-self: center;
  padding: 26px;
  border: 1px solid #d7d0c5;
  background: #f0ede6;
}

.history-document-box h3 {
  margin: 8px 0 14px;
  font-size: 1.7rem;
  color: #424e53;
}

.history-document-box p {
  color: #667074;
  line-height: 1.62;
}

.history-feature-list {
  padding: 30px 0 56px;
  border-bottom: 1px solid var(--line);
}

.history-feature {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 24px;
  padding: 30px 0;
  border-bottom: 1px solid var(--line);
}

.history-feature:last-child {
  border-bottom: 0;
}

.history-number {
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 2.7rem;
  color: #9a7b62;
}

.history-feature-copy h3 {
  margin: 7px 0 12px;
  max-width: 900px;
  font-size: 2rem;
  color: #3d494e;
}

.history-feature-copy p {
  max-width: 800px;
  margin: 0 0 12px;
  color: #687277;
  line-height: 1.65;
}

.history-quote-section {
  padding: 64px 0;
  text-align: center;
  border-bottom: 1px solid var(--line);
}

.history-quote-mark {
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 5.5rem;
  line-height: .7;
  color: #9a7b62;
}

.history-quote-section blockquote {
  max-width: 960px;
  margin: 15px auto 22px;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1.15;
  color: #3a464b;
}

.history-archive .section-archive-list h3 {
  max-width: 920px;
}

@media (max-width: 960px) {
  .history-hero,
  .history-lead {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 620px) {
  .history-feature {
    grid-template-columns: 48px 1fr;
    gap: 14px;
  }
  .history-number {
    font-size: 2rem;
  }
  .history-feature-copy h3 {
    font-size: 1.55rem;
  }
}


/* ===== People section ===== */
.people-section-page {
  background: #fbf8f4;
}

.people-section-page .section-hero h1 {
  color: #5a4438;
}

.people-hero {
  grid-template-columns: minmax(0, 1.25fr) 330px;
}

.people-hero-note {
  align-self: end;
  padding: 26px;
  background: #f1e8df;
  border-radius: 10px;
}

.people-hero-note p {
  margin: 8px 0 0;
  color: #6a625d;
  line-height: 1.65;
}

.people-lead {
  padding: 54px 0;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) 330px;
  gap: 48px;
  border-bottom: 1px solid var(--line);
}

.people-lead-story h2 {
  margin: 8px 0 18px;
  font-size: clamp(4rem, 8vw, 8rem);
  line-height: .88;
  color: #5a4438;
}

.people-lead-story h2 a {
  color: inherit;
}

.people-lead-story > p {
  max-width: 760px;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.28rem;
  line-height: 1.58;
  color: #685f5a;
}

.people-button {
  display: inline-block;
  margin-top: 22px;
  background: #a7633d;
  color: white;
  border-radius: 5px;
}

.people-lead-quote {
  align-self: center;
  padding: 28px;
  background: #efe5db;
  border-left: 4px solid #a7633d;
}

.people-lead-quote .quote-mark {
  font-size: 4rem;
  line-height: .7;
  color: #a7633d;
}

.people-lead-quote blockquote {
  margin: 14px 0 0;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.7rem;
  line-height: 1.35;
  color: #5d4a40;
}

.people-portrait-grid {
  padding: 54px 0;
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 22px;
  border-bottom: 1px solid var(--line);
}

.people-portrait-card {
  background: #fffdf9;
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
}

.people-portrait-featured {
  grid-row: span 2;
}

.people-portrait-art {
  min-height: 260px;
  background:
    radial-gradient(circle at 50% 28%, #817269 0 10%, transparent 11%),
    radial-gradient(ellipse at 50% 78%, #4f4844 0 28%, transparent 29%),
    linear-gradient(145deg, #d8c4b4, #897a70);
}

.people-portrait-copy {
  padding: 24px;
}

.people-portrait-copy h3 {
  margin: 8px 0 12px;
  font-size: 1.95rem;
  line-height: 1.05;
  color: #5a4438;
}

.people-portrait-featured .people-portrait-copy h3 {
  font-size: 2.6rem;
}

.people-portrait-copy p {
  color: #6d6763;
  line-height: 1.62;
}

.people-manifesto {
  padding: 62px 0;
  display: grid;
  grid-template-columns: .95fr 1.15fr;
  gap: 70px;
  border-bottom: 1px solid var(--line);
}

.people-manifesto h2 {
  margin: 8px 0 0;
  font-size: clamp(2.6rem, 5vw, 5rem);
  line-height: 1;
  color: #5a4438;
}

.people-manifesto p {
  margin: 0 0 18px;
  color: #665f5b;
  line-height: 1.75;
}

.people-archive .section-archive-list h3 {
  max-width: 900px;
}

@media (max-width: 960px) {
  .people-hero,
  .people-lead,
  .people-manifesto {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .people-portrait-grid {
    grid-template-columns: 1fr 1fr;
  }
  .people-portrait-featured {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

@media (max-width: 620px) {
  .people-portrait-grid {
    grid-template-columns: 1fr;
  }
  .people-portrait-featured {
    grid-column: auto;
  }
  .people-lead-story h2 {
    font-size: 4.7rem;
  }
}


/* ===== Medicine section ===== */
.medicine-section-page {
  background: #f9fbfa;
}

.medicine-section-page .section-hero h1 {
  color: #28535b;
}

.medicine-hero {
  grid-template-columns: minmax(0, 1.3fr) 330px;
}

.medicine-principles {
  align-self: end;
  padding: 24px;
  background: #e9f0ee;
  border-top: 3px solid #597e78;
}

.medicine-principle {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid #d1ddda;
}

.medicine-principle:last-child {
  border-bottom: 0;
}

.medicine-principle strong {
  color: #63847e;
  font-size: .78rem;
}

.medicine-principle span {
  color: #4d6266;
}

.medicine-lead {
  padding: 54px 0;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) 330px;
  gap: 48px;
  border-bottom: 1px solid var(--line);
}

.medicine-lead-card {
  padding: 34px;
  background: #edf3f1;
  border-left: 5px solid #557b75;
}

.medicine-lead-card h2 {
  margin: 9px 0 18px;
  max-width: 900px;
  font-size: clamp(2.8rem, 5.2vw, 5.1rem);
  line-height: .98;
  color: #28535b;
}

.medicine-lead-card p {
  max-width: 800px;
  color: #5f7074;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.22rem;
  line-height: 1.6;
}

.medicine-side-card {
  align-self: center;
  padding: 26px;
  background: #fff;
  border: 1px solid var(--line);
}

.medicine-side-card h3 {
  margin: 8px 0 13px;
  font-size: 1.8rem;
  color: #345961;
}

.medicine-side-card p {
  color: #66777a;
  line-height: 1.65;
}

.medicine-evidence-grid {
  padding: 54px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  border-bottom: 1px solid var(--line);
}

.medicine-evidence-card {
  padding: 26px;
  background: #fff;
  border: 1px solid #dbe4e1;
  border-radius: 8px;
}

.medicine-evidence-label {
  color: #6a8983;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.medicine-evidence-card h3 {
  margin: 10px 0 14px;
  font-size: 1.85rem;
  line-height: 1.08;
  color: #31575f;
}

.medicine-evidence-card p {
  color: #68777a;
  line-height: 1.62;
}

.medicine-method-block {
  padding: 62px 0;
  border-bottom: 1px solid var(--line);
}

.medicine-method-title {
  max-width: 820px;
}

.medicine-method-title h2 {
  margin: 8px 0 34px;
  font-size: clamp(2.8rem, 5vw, 5.2rem);
  line-height: 1;
  color: #28535b;
}

.medicine-method-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.medicine-method-columns > div {
  padding-top: 18px;
  border-top: 2px solid #8ca9a3;
}

.medicine-method-columns strong {
  display: block;
  margin-bottom: 8px;
  color: #315a62;
  font-size: 1.05rem;
}

.medicine-method-columns p {
  margin: 0;
  color: #677579;
  line-height: 1.65;
}

.medicine-crosslinks {
  padding: 54px 0;
  border-bottom: 1px solid var(--line);
}

.medicine-crosslink-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.medicine-crosslink-grid article {
  padding: 24px;
  background: #eef3f1;
}

.medicine-crosslink-grid article > span {
  color: #698982;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.medicine-crosslink-grid h3 {
  margin: 8px 0 12px;
  font-size: 1.9rem;
  color: #31555d;
}

.medicine-crosslink-grid p {
  color: #69767a;
  line-height: 1.6;
}

@media (max-width: 960px) {
  .medicine-hero,
  .medicine-lead {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .medicine-evidence-grid,
  .medicine-method-columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .medicine-crosslink-grid {
    grid-template-columns: 1fr;
  }
}


/* ===== Kad me već pitate ===== */
.column-section-page {
  background: #fffaf4;
}

.column-section-page .main-nav .active {
  color: #a7633d;
  font-weight: 700;
}

.column-hero {
  padding: 72px 0 50px;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) 330px;
  gap: 60px;
  border-bottom: 1px solid var(--line);
}

.column-hero h1 {
  margin: 6px 0 16px;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: clamp(4rem, 8vw, 8rem);
  line-height: .9;
  color: #a05432;
}

.column-hero-copy > p {
  max-width: 760px;
  margin: 0;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.35rem;
  line-height: 1.5;
  color: #6d625c;
}

.column-badge {
  align-self: end;
  padding: 28px;
  background: #173f50;
  color: #fff;
  border-radius: 12px;
}

.column-badge-top {
  display: block;
  margin-bottom: 9px;
  color: #e7b695;
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .11em;
}

.column-badge strong {
  display: block;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 2rem;
  line-height: 1.1;
}

.column-badge small {
  display: block;
  margin-top: 12px;
  color: #d7e1e4;
}

.column-lead {
  padding: 54px 0;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) 330px;
  gap: 48px;
  border-bottom: 1px solid var(--line);
}

.column-lead-story h2 {
  margin: 8px 0 18px;
  max-width: 900px;
  font-size: clamp(3rem, 6vw, 6rem);
  line-height: .96;
  color: #8f4e32;
}

.column-lead-story p {
  max-width: 800px;
  color: #6d645f;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.22rem;
  line-height: 1.6;
}

.column-side-note {
  align-self: center;
  padding: 26px;
  background: #f3e9df;
  border-left: 4px solid #b36d47;
}

.column-side-note p {
  margin: 8px 0 0;
  color: #6b615c;
  line-height: 1.68;
}

.column-format-grid {
  padding: 54px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  border-bottom: 1px solid var(--line);
}

.column-format-card {
  padding: 26px;
  background: #fff;
  border: 1px solid #e5d8cd;
  border-radius: 9px;
}

.column-format-number {
  display: block;
  margin-bottom: 18px;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 2.2rem;
  color: #bc7a55;
}

.column-format-card h3 {
  margin: 0 0 12px;
  font-size: 1.8rem;
  color: #88503a;
}

.column-format-card p {
  margin: 0;
  color: #706964;
  line-height: 1.62;
}

.column-podcast-block {
  padding: 60px 0;
  display: grid;
  grid-template-columns: 90px minmax(0, 820px);
  gap: 26px;
  align-items: start;
  border-bottom: 1px solid var(--line);
}

.column-podcast-mark {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #173f50;
  color: #fff;
  font-size: 1.6rem;
}

.column-podcast-block h2 {
  margin: 7px 0 12px;
  font-size: clamp(2.5rem, 5vw, 4.7rem);
  line-height: 1;
  color: #173f50;
}

.column-podcast-block p {
  margin: 0;
  color: #687378;
  line-height: 1.68;
}

.column-archive {
  padding: 54px 0 70px;
}

.column-archive-list {
  border-top: 1px solid var(--line);
}

.column-archive-list article {
  display: grid;
  grid-template-columns: 145px 1fr;
  gap: 22px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}

.column-archive-list h3 {
  margin: 4px 0 0;
  font-size: 1.55rem;
}

@media (max-width: 960px) {
  .column-hero,
  .column-lead {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .column-format-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .column-podcast-block {
    grid-template-columns: 1fr;
  }
  .column-archive-list article {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}


/* ===== Author page ===== */
.author-page {
  background: #fbfaf7;
  color: #28353b;
}

.author-hero {
  padding: 72px 0 54px;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) 330px;
  gap: 56px;
  border-bottom: 1px solid var(--line);
}

.author-hero h1 {
  margin: 7px 0 16px;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: clamp(4rem, 8vw, 8rem);
  line-height: .9;
  color: #173f50;
}

.author-intro {
  max-width: 820px;
  margin: 0;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.48;
  color: #5e6a70;
}

.author-hero-card {
  align-self: end;
  padding: 28px;
  background: #efe9e1;
  border-radius: 10px;
}

.author-monogram {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  border-radius: 50%;
  background: #173f50;
  color: #fff;
  font-weight: 700;
  letter-spacing: .06em;
}

.author-hero-card blockquote {
  margin: 0;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.45rem;
  line-height: 1.45;
  color: #594f49;
}

.author-story {
  padding: 62px 0;
  display: grid;
  grid-template-columns: .95fr 1.2fr;
  gap: 70px;
  border-bottom: 1px solid var(--line);
}

.author-story-title h2 {
  margin: 8px 0 0;
  font-size: clamp(2.7rem, 5vw, 5rem);
  line-height: 1;
  color: #294c57;
}

.author-story-copy p {
  margin: 0 0 20px;
  color: #5e6a70;
  font-size: 1.02rem;
  line-height: 1.8;
}

.author-path {
  padding: 58px 0;
  border-bottom: 1px solid var(--line);
}

.author-path-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.author-path-grid article {
  padding: 24px;
  background: #fffdf9;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.author-path-num {
  display: block;
  margin-bottom: 18px;
  color: #a7633d;
  font-size: .78rem;
  font-weight: 700;
}

.author-path-grid h3 {
  margin: 0 0 10px;
  color: #2d515b;
  font-size: 1.55rem;
}

.author-path-grid p {
  margin: 0;
  color: #6a7478;
  line-height: 1.62;
}

.author-themes {
  padding: 62px 0;
  display: grid;
  grid-template-columns: .9fr 1.25fr;
  gap: 70px;
  border-bottom: 1px solid var(--line);
}

.author-themes h2 {
  margin: 8px 0 14px;
  font-size: clamp(2.8rem, 5vw, 5rem);
  color: #173f50;
}

.author-themes-copy p {
  color: #627075;
  line-height: 1.75;
}

.author-theme-list {
  border-top: 1px solid var(--line);
}

.author-theme-list a {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  color: inherit;
}

.author-theme-list strong {
  color: #294f59;
}

.author-theme-list span {
  color: #6f797d;
}

.author-approach {
  padding: 62px 0;
  border-bottom: 1px solid var(--line);
}

.author-approach > div:first-child {
  max-width: 900px;
}

.author-approach h2 {
  margin: 8px 0 34px;
  font-size: clamp(2.8rem, 5vw, 5.1rem);
  color: #173f50;
}

.author-approach-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.author-approach-grid article {
  padding-top: 18px;
  border-top: 2px solid #a7633d;
}

.author-approach-grid strong {
  display: block;
  margin-bottom: 8px;
  color: #31545d;
}

.author-approach-grid p {
  margin: 0;
  color: #687478;
  line-height: 1.66;
}

.author-selected {
  padding: 58px 0;
  border-bottom: 1px solid var(--line);
}

.author-selected-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.author-selected-grid article {
  padding: 22px;
  background: #f2eee8;
  border-radius: 8px;
}

.author-selected-grid span {
  color: #9b674b;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.author-selected-grid h3 {
  margin: 9px 0 0;
  font-size: 1.55rem;
  line-height: 1.1;
}

.author-selected-grid h3 a {
  color: #314e57;
}

.author-end {
  padding: 68px 0 80px;
  text-align: center;
}

.author-end h2 {
  max-width: 980px;
  margin: 10px auto 28px;
  font-size: clamp(2.8rem, 5vw, 5.2rem);
  line-height: 1;
  color: #173f50;
}

.author-end-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 22px;
}

@media (max-width: 980px) {
  .author-hero,
  .author-story,
  .author-themes {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .author-path-grid,
  .author-selected-grid {
    grid-template-columns: 1fr 1fr;
  }
  .author-approach-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .author-path-grid,
  .author-selected-grid {
    grid-template-columns: 1fr;
  }
  .author-theme-list a {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .author-end-actions {
    flex-direction: column;
  }
}


/* ===== Author monogram refinement ===== */
.author-hero-card .author-monogram {
  width: 82px;
  height: 82px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 0 0 30px 0;
  padding: 0;
  line-height: 1;
  text-align: center;
  font-family: "DM Sans", sans-serif;
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: .045em;
}

.author-hero-card blockquote {
  margin-top: 0;
}


/* ===== Author page typography refinement ===== */
.author-page .author-intro,
.author-page .author-story-copy p,
.author-page .author-themes-copy p,
.author-page .author-approach-grid p,
.author-page .author-path-grid p,
.author-page .author-theme-list span {
  font-family: "Source Serif 4", Georgia, serif;
}

.author-page .author-story-copy p {
  font-size: 1.08rem;
  line-height: 1.82;
}

.author-page .author-intro {
  font-size: 1.5rem;
  line-height: 1.52;
}

.author-page .author-themes-copy p,
.author-page .author-approach-grid p,
.author-page .author-path-grid p {
  font-size: 1.02rem;
  line-height: 1.72;
}


/* ===== FINAL PORTAL POLISH V3.22 ===== */
.main-nav a.active {
  color: var(--orange, #a7633d);
  font-weight: 700;
}

.main-nav a,
.footer-links a,
.brand,
.text-link {
  text-decoration: none;
}

.main-nav a:hover,
.footer-links a:hover,
.text-link:hover,
.section-archive-list h3 a:hover,
.master-archive-item h3 a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  align-content: start;
}

.archive-page {
  background: #fbfaf7;
}

.master-archive-hero {
  padding: 68px 0 42px;
  border-bottom: 1px solid var(--line);
}

.master-archive-hero h1 {
  margin: 6px 0 14px;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: clamp(4rem, 8vw, 8rem);
  line-height: .9;
  color: #173f50;
}

.master-archive-hero p {
  max-width: 760px;
  margin: 0;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 1.25rem;
  line-height: 1.6;
  color: #647177;
}

.master-archive-list {
  padding: 28px 0 72px;
}

.master-archive-item {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 28px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}

.master-archive-meta {
  padding-top: 4px;
  font-family: "DM Sans", sans-serif;
  font-size: .76rem;
  color: #8a9498;
}

.master-archive-meta span,
.master-archive-meta time {
  display: block;
}

.master-archive-meta span {
  margin-bottom: 4px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.master-archive-item h3 {
  margin: 0;
  max-width: 900px;
  font-size: 1.65rem;
  line-height: 1.16;
}

.master-archive-item h3 a {
  color: #314b55;
}

/* Slightly more robust responsive header */
@media (max-width: 980px) {
  .topbar {
    flex-wrap: wrap;
    row-gap: 14px;
  }

  .main-nav {
    order: 3;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: 3px;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 620px) {
  .topbar {
    padding-left: 16px;
    padding-right: 16px;
  }

  .brand-copy small {
    display: none;
  }

  .support-pill {
    font-size: .76rem;
    padding: 8px 10px;
  }

  .main-nav {
    gap: 14px;
    font-size: .82rem;
  }

  .master-archive-item {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }
}


/* ===== Beograd city essay ===== */
.city-essay-page {
  background: #faf8f4;
}

.city-essay-header .article-kicker {
  color: #a35b3b;
}

.city-essay-header h1 {
  max-width: 1180px;
  color: #263f4a;
}

.city-essay-image {
  background: #efeae3 !important;
  padding: 12px !important;
}

.city-essay-image img {
  width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}

.city-essay-body {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 1.08rem;
  line-height: 1.78;
}

.city-essay-body .city-emphasis {
  margin: 1.55em 0;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.65rem;
  line-height: 1.28;
  color: #304952;
}

.city-essay-rail {
  border-top-color: #a35b3b;
}

.city-side-quote {
  background: #f0e8df;
}

.city-side-quote p {
  font-size: 1.7rem !important;
}

.legacy-social-cta {
  margin: 44px 0 16px;
  padding: 20px 22px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #f4f0ea;
}

.legacy-social-cta p {
  margin: 0 !important;
  font-family: "DM Sans", sans-serif;
  font-size: .9rem;
  line-height: 1.65;
  color: #657075;
}

.city-sources {
  margin-top: 56px;
}

.city-essay-end {
  background: #efe8df;
}

@media (max-width: 620px) {
  .city-essay-body {
    font-size: 1.03rem;
  }
  .city-essay-body .city-emphasis {
    font-size: 1.45rem;
  }
}


/* ===== HOMEPAGE CITY HERO IMAGE + CENTERED ARTICLE V3.24 ===== */
.homepage-hero-city-image {
  margin: 0 0 22px;
  overflow: hidden;
  border-radius: 10px;
  background: #eee8e0;
}

.homepage-hero-city-image a {
  display: block;
}

.homepage-hero-city-image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
}

/* The Beograd essay uses a centered reading column */
.city-essay-layout {
  grid-template-columns: minmax(150px, 1fr) minmax(0, 720px) minmax(190px, 1fr);
  align-items: start;
}

.centered-city-copy {
  width: 100%;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.centered-city-copy > p,
.centered-city-copy > .sources-section,
.centered-city-copy > .legacy-social-cta,
.centered-city-copy > .article-end {
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1050px) {
  .city-essay-layout {
    grid-template-columns: minmax(0, 720px) 220px;
    justify-content: center;
  }
}

@media (max-width: 780px) {
  .city-essay-layout {
    grid-template-columns: 1fr;
  }

  .centered-city-copy {
    max-width: 680px;
  }
}

@media (max-width: 620px) {
  .homepage-hero-city-image img {
    max-height: none;
    object-fit: contain;
  }
}


/* ===== FIX CITY ARTICLE SPACING V3.25 ===== */
.city-essay-layout {
  grid-template-columns: 180px minmax(0, 720px) 220px;
  gap: 28px;
  justify-content: center;
  align-items: start;
}

.centered-city-copy {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}

.city-essay-layout .article-rail,
.city-essay-layout .article-side-note {
  width: 100%;
  max-width: 220px;
}

@media (max-width: 1100px) {
  .city-essay-layout {
    grid-template-columns: minmax(0, 720px) 220px;
    gap: 26px;
    justify-content: center;
  }

  .city-essay-layout .article-rail {
    display: none;
  }
}

@media (max-width: 820px) {
  .city-essay-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .city-essay-layout .article-side-note {
    max-width: 720px;
    margin: 0 auto;
  }
}


/* ===== HOMEPAGE HERO — REAL IMAGE, NO EMPTY MIDDLE V3.26 ===== */
.hero-panel {
  grid-template-columns: 46% 54%;
  align-items: stretch;
  background: #24495a;
}

.hero-copy {
  min-width: 0;
  height: 100%;
}

.hero-visual.real-homepage-hero {
  position: relative;
  min-height: 430px;
  height: 100%;
  overflow: hidden;
  background: #202b31;
}

.hero-visual.real-homepage-hero a {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-visual.real-homepage-hero img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  object-position: center center;
}

.hero-visual.real-homepage-hero .hero-person,
.hero-visual.real-homepage-hero .hero-cityline {
  display: none !important;
}

@media (max-width: 820px) {
  .hero-panel {
    grid-template-columns: 1fr;
  }

  .hero-visual.real-homepage-hero {
    min-height: 0;
  }

  .hero-visual.real-homepage-hero img {
    height: auto;
    min-height: 0;
    max-height: none;
    object-fit: contain;
  }
}


/* ===== Small shops / Kad me već pitate article ===== */
.small-shops-page {
  background: #fcf8f2;
}

.small-shops-header .article-kicker {
  color: #a45d38;
}

.small-shops-header h1 {
  max-width: 1150px;
  color: #6b4635;
}

.small-shops-image {
  background: #eee6dc !important;
  padding: 12px !important;
}

.small-shops-image img {
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}

.small-shops-layout {
  grid-template-columns: 180px minmax(0, 720px) 220px;
  gap: 28px;
  justify-content: center;
  align-items: start;
}

.small-shops-body {
  max-width: 720px;
  margin: 0 auto;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 1.08rem;
  line-height: 1.8;
}

.small-shops-emphasis {
  margin: 1.6em 0 !important;
  font-family: "Libre Caslon Display", Georgia, serif !important;
  font-size: 1.58rem !important;
  line-height: 1.32 !important;
  color: #6e4f41 !important;
}

.small-shops-dialogue {
  margin: 1.6em 0;
  padding: 18px 22px;
  border-left: 3px solid #b97952;
  background: #f2e9df;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.45rem;
  color: #644b3f;
}

.small-shops-rail {
  border-top-color: #a45d38;
}

.small-shops-side-quote {
  background: #f1e6db;
}

.personal-essay-note {
  margin: 48px 0 0;
  padding: 18px 20px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #f6f1ea;
  font-family: "DM Sans", sans-serif;
}

.personal-essay-note p {
  margin: 8px 0 0;
  color: #6d716f;
  font-size: .83rem;
  line-height: 1.58;
}

.small-shops-end {
  background: #f1e6db;
}

@media (max-width: 1100px) {
  .small-shops-layout {
    grid-template-columns: minmax(0, 720px) 220px;
  }
  .small-shops-layout .article-rail {
    display: none;
  }
}

@media (max-width: 820px) {
  .small-shops-layout {
    grid-template-columns: 1fr;
  }
  .small-shops-layout .article-side-note {
    max-width: 720px;
    margin: 0 auto;
  }
}

@media (max-width: 620px) {
  .small-shops-body {
    font-size: 1.03rem;
  }
  .small-shops-emphasis {
    font-size: 1.4rem !important;
  }
}


/* ===== Medicine essay: body, society and work ===== */
.medicine-essay-page {
  background: #f8fbfa;
}

.medicine-essay-header .article-kicker {
  color: #557d78;
}

.medicine-essay-header h1 {
  max-width: 1120px;
  color: #2a5058;
}

.medicine-essay-image {
  background: #e9efed !important;
  padding: 12px !important;
}

.medicine-essay-image img {
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}

.medicine-essay-layout {
  grid-template-columns: 180px minmax(0, 720px) 220px;
  gap: 28px;
  justify-content: center;
  align-items: start;
}

.medicine-essay-body {
  max-width: 720px;
  margin: 0 auto;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 1.08rem;
  line-height: 1.8;
}

.medicine-essay-body h2 {
  margin: 2.05em 0 .7em;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 2.15rem;
  line-height: 1.08;
  color: #315860;
}

.medicine-essay-emphasis {
  margin: 1.5em 0 !important;
  font-family: "Libre Caslon Display", Georgia, serif !important;
  font-size: 1.62rem !important;
  line-height: 1.3 !important;
  color: #365c62 !important;
}

.medicine-essay-quote {
  margin: 1.45em 0;
  padding: 16px 20px;
  border-left: 3px solid #6c948e;
  background: #edf3f1;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 1.38rem;
  color: #36585e;
}

.medicine-essay-list {
  margin: 1.1em 0 1.5em;
  padding-left: 1.35em;
}

.medicine-essay-list li {
  margin: .42em 0;
}

.medicine-essay-rail {
  border-top-color: #5f827c;
}

.medicine-essay-side-quote {
  background: #eaf1ef;
}

.clinical-caution {
  margin-top: 30px;
  padding: 22px;
  background: #e9f0ee;
  border-left: 4px solid #557d78;
  font-family: "DM Sans", sans-serif;
}

.clinical-caution strong {
  color: #2e555c;
}

.clinical-caution p {
  margin: 9px 0 0 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: .84rem !important;
  line-height: 1.62 !important;
  color: #5f7074 !important;
}

.medicine-essay-end {
  background: #e8f0ee;
}

/* Lead image on Medicina section */
.medicine-lead-image {
  display: block;
  margin: -34px -34px 28px;
  overflow: hidden;
}

.medicine-lead-image img {
  display: block;
  width: 100%;
  max-height: 390px;
  object-fit: cover;
}

.medicine-lead-card h2 a {
  color: inherit;
}

@media (max-width: 1100px) {
  .medicine-essay-layout {
    grid-template-columns: minmax(0, 720px) 220px;
  }
  .medicine-essay-layout .article-rail {
    display: none;
  }
}

@media (max-width: 820px) {
  .medicine-essay-layout {
    grid-template-columns: 1fr;
  }
  .medicine-essay-layout .article-side-note {
    max-width: 720px;
    margin: 0 auto;
  }
}

@media (max-width: 620px) {
  .medicine-essay-body {
    font-size: 1.03rem;
  }
  .medicine-essay-emphasis {
    font-size: 1.42rem !important;
  }
  .medicine-lead-image {
    margin: -34px -34px 24px;
  }
}


/* ===== Novak — duration and memory essay ===== */
.novak-essay-page {
  background: #faf9f5;
}

.novak-essay-header .article-kicker {
  color: #7c6a4f;
}

.novak-essay-header h1 {
  color: #243e48;
}

.novak-essay-image {
  background: #eceae3 !important;
  padding: 12px !important;
}

.novak-essay-image img {
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}

.novak-essay-layout {
  grid-template-columns: 180px minmax(0, 720px) 220px;
  gap: 28px;
  justify-content: center;
  align-items: start;
}

.novak-essay-body {
  max-width: 720px;
  margin: 0 auto;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 1.08rem;
  line-height: 1.8;
}

.novak-emphasis {
  margin: 1.6em 0 !important;
  font-family: "Libre Caslon Display", Georgia, serif !important;
  font-size: 1.62rem !important;
  line-height: 1.3 !important;
  color: #314a54 !important;
}

.novak-essay-rail {
  border-top-color: #8a7657;
}

.novak-side-quote {
  background: #efebe1;
}

.novak-sources {
  margin-top: 54px;
}

.novak-essay-end {
  background: #efece4;
}

.people-portrait-copy h3 a {
  color: inherit;
}

@media (max-width: 1100px) {
  .novak-essay-layout {
    grid-template-columns: minmax(0, 720px) 220px;
  }
  .novak-essay-layout .article-rail {
    display: none;
  }
}

@media (max-width: 820px) {
  .novak-essay-layout {
    grid-template-columns: 1fr;
  }
  .novak-essay-layout .article-side-note {
    max-width: 720px;
    margin: 0 auto;
  }
}

@media (max-width: 620px) {
  .novak-essay-body {
    font-size: 1.03rem;
  }
  .novak-emphasis {
    font-size: 1.42rem !important;
  }
}


/* ===== Kuda teče Bosna ===== */
.bosna-essay-page {
  background: #faf8f3;
}

.bosna-essay-header .article-kicker {
  color: #8a6d3f;
}

.bosna-essay-header h1 {
  color: #324c55;
}

.bosna-essay-image {
  background: #ece8de !important;
  padding: 12px !important;
}

.bosna-essay-image img {
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}

.bosna-essay-layout {
  grid-template-columns: 180px minmax(0, 720px) 220px;
  gap: 28px;
  justify-content: center;
  align-items: start;
}

.bosna-essay-body {
  max-width: 720px;
  margin: 0 auto;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 1.08rem;
  line-height: 1.8;
}

.bosna-emphasis {
  margin: 1.55em 0 !important;
  font-family: "Libre Caslon Display", Georgia, serif !important;
  font-size: 1.62rem !important;
  line-height: 1.3 !important;
  color: #3d5961 !important;
}

.bosna-essay-rail {
  border-top-color: #9b7841;
}

.bosna-side-quote {
  background: #efe8dc;
}

.bosna-sources {
  margin-top: 54px;
}

.bosna-essay-end {
  background: #efe8dc;
}

.history-feature-copy h3 a {
  color: inherit;
}

@media (max-width: 1100px) {
  .bosna-essay-layout {
    grid-template-columns: minmax(0, 720px) 220px;
  }
  .bosna-essay-layout .article-rail {
    display: none;
  }
}

@media (max-width: 820px) {
  .bosna-essay-layout {
    grid-template-columns: 1fr;
  }
  .bosna-essay-layout .article-side-note {
    max-width: 720px;
    margin: 0 auto;
  }
}

@media (max-width: 620px) {
  .bosna-essay-body {
    font-size: 1.03rem;
  }
  .bosna-emphasis {
    font-size: 1.42rem !important;
  }
}


/* ===== RELEASE CANDIDATE 1 — QA POLISH ===== */
.button-disabled {
  cursor: default;
  opacity: .82;
  user-select: none;
}

.card h3 a,
.compact-list h3 a,
.people-copy h3 a {
  color: inherit;
}

.people-portrait-image {
  display: block;
  min-height: 360px;
  overflow: hidden;
  border-radius: 10px;
  background: #e9e4dd;
}

.people-portrait-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  object-position: center;
}

.medicine-future-topics {
  position: relative;
}

.medicine-future-topics::before {
  content: "Teme koje slede";
  grid-column: 1 / -1;
  display: block;
  margin-bottom: 4px;
  color: #6a8983;
  font-family: "DM Sans", sans-serif;
  font-size: .76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.newsletter-message {
  min-height: 1.2em;
}

@media (max-width: 820px) {
  .people-portrait-image {
    min-height: 0;
  }
  .people-portrait-image img {
    min-height: 0;
    height: auto;
  }
}


/* ===== WordPress integration ===== */
.wp-site-blocks { margin: 0; }
.wp-caption, .gallery-caption { max-width: 100%; }
.alignwide { width: min(calc(100% - 40px), 1180px); margin-inline: auto; }
.alignfull { width: 100%; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus { width: auto; height: auto; clip: auto; padding: 12px; margin: 8px; background: #fff; z-index: 9999; }

.ds-card-image, .category-lead-image, .category-card-image {
  display:block; overflow:hidden; background:#ebe7df;
}
.ds-card-image img, .category-lead-image img, .category-card-image img {
  width:100%; height:100%; object-fit:cover; display:block;
}
.ds-card-image img { min-height: 220px; }
.category-lead-image img { min-height: 330px; }
.category-card-image img { min-height: 180px; }

.single-post .article-body-v3 > h2 {
  margin: 2em 0 .7em;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: 2.1rem;
  line-height: 1.08;
  color: #31515a;
}
.single-post .article-body-v3 > h3 { margin-top: 1.8em; }
.single-post .article-body-v3 ul, .single-post .article-body-v3 ol { padding-left: 1.4em; }

.ds-category-page .section-hero { padding-top: 64px; }
.ds-category-grid {
  padding: 48px 0 60px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  border-bottom:1px solid var(--line);
}
.ds-category-card {
  background:#fffdf9; border:1px solid var(--line); border-radius:9px; overflow:hidden;
}
.ds-category-card .card-body { padding:22px; }
.ds-category-card h3 { margin:8px 0 10px; font-size:1.75rem; line-height:1.08; }
.ds-category-card p { color:#68747a; }
.ds-category-lead {
  padding: 50px 0; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:36px;
  border-bottom:1px solid var(--line);
}
.ds-category-lead-copy { padding:30px; background:#fffdf9; border:1px solid var(--line); }
.ds-category-lead-copy h2 { margin:8px 0 16px; font-size:clamp(2.8rem,5vw,5rem); line-height:.98; }
.ds-category-lead-copy p { font-family:"Source Serif 4", Georgia, serif; font-size:1.15rem; line-height:1.65; color:#617076; }
.ds-category-lead-image { border-radius:10px; overflow:hidden; }

.ds-front-section { padding: 54px 0; border-bottom:1px solid var(--line); }
.ds-front-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ds-front-grid.two { grid-template-columns:repeat(2,1fr); }
.ds-front-card { background:#fffdf9; border:1px solid var(--line); border-radius:9px; overflow:hidden; }
.ds-front-card .card-body { padding:22px; }
.ds-front-card h3 { margin:7px 0 10px; font-size:1.65rem; line-height:1.08; }
.ds-front-card p { color:#68747a; line-height:1.58; }

.ds-archive-filter { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.ds-archive-filter button { border:1px solid var(--line); background:#fff; padding:8px 12px; cursor:pointer; font:inherit; }
.ds-archive-filter button.active { background:#173f50; color:#fff; }
.ds-archive-search { width:100%; max-width:540px; padding:12px 14px; border:1px solid var(--line); background:#fff; font:inherit; }

.ds-notice { padding:14px 16px; background:#f2eee7; border-left:3px solid #a7633d; color:#646d70; font-size:.9rem; }

@media (max-width: 900px) {
  .ds-category-grid, .ds-front-grid, .ds-front-grid.two { grid-template-columns:1fr 1fr; }
  .ds-category-lead { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .ds-category-grid, .ds-front-grid, .ds-front-grid.two { grid-template-columns:1fr; }
}

.main-nav-list { list-style:none; margin:0; padding:0; display:flex; justify-content:center; gap:22px; }
@media (max-width: 980px) { .main-nav-list { width:max-content; } }


/* ===== Drugi sloj 1.1 — iPad / medium viewport responsive fix ===== */
@media (max-width: 1180px) {
  .hero-main {
    grid-template-columns: 1fr !important;
  }

  .hero-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px;
  }

  .unified-author {
    grid-template-columns: 110px minmax(0, 1fr);
  }

  .centered-quote p {
    max-width: 420px;
  }

  .sidebar-card .mini-form,
  .sidebar-card form {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .sidebar-card input[type="email"] {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 820px) {
  .hero-sidebar {
    grid-template-columns: 1fr !important;
  }

  .unified-author {
    grid-template-columns: 96px minmax(0, 1fr);
  }
}

@media (max-width: 560px) {
  .unified-author {
    grid-template-columns: 78px minmax(0, 1fr);
  }

  .author-copy-mini h3 {
    font-size: 1.35rem;
  }

  .sidebar-card .mini-form,
  .sidebar-card form {
    grid-template-columns: 1fr;
  }

  .sidebar-card button {
    width: 100%;
  }
}


/* ===== Drugi sloj 1.2 — editorial typography cleanup ===== */

/* Drop cap only on the actual opening paragraph of an article.
   Reset nested first paragraphs in quote/source/note blocks. */
.article-body-v3 p:first-child::first-letter {
  float: none !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  padding: 0 !important;
  color: inherit !important;
}

.article-body-v3 > p:first-of-type::first-letter {
  float: left !important;
  font-family: "Libre Caslon Display", Georgia, serif !important;
  font-size: 4.7rem !important;
  line-height: .78 !important;
  padding-right: 10px !important;
  padding-top: 8px !important;
  color: var(--orange) !important;
}

/* Medicine: compact quoted speech instead of oversized pull-quote cards. */
.medicine-essay-quote {
  margin: .55em 0 1.1em !important;
  padding: 14px 20px 15px 22px !important;
  border-left: 3px solid #6c948e !important;
  background: #f0f5f3 !important;
  font-family: "Source Serif 4", Georgia, serif !important;
  font-size: 1.12rem !important;
  line-height: 1.55 !important;
  color: #36585e !important;
  letter-spacing: 0 !important;
}

.medicine-essay-quote::first-letter {
  float: none !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  padding: 0 !important;
  color: inherit !important;
}

.medicine-essay-quote br {
  display: block;
  content: "";
  margin-top: .22em;
}

.medicine-quote-lead {
  margin-top: 1.15em !important;
  margin-bottom: .38em !important;
}

.medicine-essay-quote + .medicine-quote-lead {
  margin-top: 1.25em !important;
}

/* Lists: introductory sentence is outside the bullets; list items are fragments. */
.medicine-essay-list {
  margin: .45em 0 1.55em !important;
  padding-left: 1.45em !important;
}

.medicine-essay-list li {
  margin: .34em 0 !important;
  padding-left: .18em;
}

/* Keep source typography calmer on tablets. */
@media (max-width: 820px) {
  .medicine-essay-quote {
    font-size: 1.08rem !important;
    padding: 13px 17px 14px 19px !important;
  }
}


/* ===== Drugi sloj 1.3 — natural wrapping in notes and source annotations ===== */
.clinical-caution p,
.sources-section .source-list span,
.sources-section .sources-heading p,
.sources-section .sources-note {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* ===== Drugi sloj 1.4 — aligned source bibliography ===== */
.sources-section .source-list {
  list-style-position: outside !important;
  padding-left: 2rem !important;
}

.sources-section .source-list li {
  padding-left: .35rem !important;
}

.sources-section .source-list li > a {
  display: block !important;
  margin: 0 !important;
}

.sources-section .source-list li > span {
  display: block !important;
  margin-top: 10px !important;
  padding-left: 0 !important;
  max-width: none !important;
}

/* Keep the source introduction on the same text measure as the bibliography. */
.sources-section .sources-heading > p {
  max-width: none !important;
}

@media (max-width: 820px) {
  .sources-section .source-list {
    padding-left: 1.8rem !important;
  }

  .sources-section .source-list li {
    padding-left: .25rem !important;
  }
}


/* ===== Drugi sloj 1.5 — justified prose in expert/source section ===== */

/* Introductory prose and source annotations should read as proper paragraphs,
   not as ragged fragments. Keep titles/references left-aligned. */
.sources-section .sources-heading > p,
.sources-section .source-list li > span,
.sources-section .sources-note {
  text-align: justify !important;
  text-justify: inter-word;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-wrap: pretty;
}

/* Slightly improve paragraph measure/spacing inside the source section. */
.sources-section .sources-heading > p {
  line-height: 1.65 !important;
}

.sources-section .source-list li > span {
  line-height: 1.58 !important;
}

/* Bibliographic titles remain conventionally left-aligned. */
.sources-section .source-list li > a {
  text-align: left !important;
  text-wrap: pretty;
}


/* ===== Drugi sloj 1.6 — functional tablet/mobile menu ===== */
@media (max-width: 980px) {
  .v3-header {
    position: relative;
    z-index: 1000;
  }

  .v3-header .topbar {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
  }

  .v3-header .menu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    justify-self: end;
    order: 2;
    min-height: 42px;
    padding: 8px 12px;
    color: #ffffff;
    background: transparent;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 6px;
    cursor: pointer;
  }

  .v3-header .main-nav {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 1px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    order: 3;
    padding: 14px 18px 18px !important;
    margin: 0 !important;
    background: #12384a !important;
    border-top: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(0,0,0,.18);
    box-shadow: 0 12px 28px rgba(0,0,0,.18);
    overflow: visible !important;
    white-space: normal !important;
    z-index: 1100;
  }

  .v3-header .main-nav.open {
    display: block !important;
  }

  .v3-header .main-nav-list {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .v3-header .main-nav-list li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .v3-header .main-nav a,
  .v3-header .main-nav-list a {
    display: block !important;
    width: 100% !important;
    padding: 11px 4px !important;
    color: #f7fafb !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    font-size: .98rem;
    line-height: 1.35;
  }

  .v3-header .main-nav a:last-child,
  .v3-header .main-nav-list li:last-child a {
    border-bottom: 0 !important;
  }

  .v3-header .main-nav a.active {
    color: #e49a5a !important;
  }
}

/* Fallback nav is made of direct <a> children rather than a WordPress <ul>. */
@media (max-width: 980px) {
  .v3-header .main-nav:not(:has(.main-nav-list)) {
    flex-direction: column !important;
  }
}


/* ===== Drugi sloj 1.7 — category grid adapts to article count ===== */

/* A lone secondary article should not sit in one third of an empty 3-column grid. */
.ds-category-grid > .ds-category-card:only-child {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(320px, 46%) minmax(0, 1fr);
  align-items: stretch;
  min-height: 360px;
}

.ds-category-grid > .ds-category-card:only-child .category-card-image {
  height: 100%;
  min-height: 360px;
}

.ds-category-grid > .ds-category-card:only-child .category-card-image img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  object-position: center;
}

.ds-category-grid > .ds-category-card:only-child .card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 38px 42px;
}

.ds-category-grid > .ds-category-card:only-child h3 {
  font-size: clamp(2.4rem, 4vw, 4rem);
  line-height: 1;
  margin: 10px 0 18px;
}

.ds-category-grid > .ds-category-card:only-child p {
  max-width: 650px;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 1.08rem;
  line-height: 1.65;
}

.ds-category-grid > .ds-category-card:only-child .text-link {
  margin-top: 8px;
}

@media (max-width: 760px) {
  .ds-category-grid > .ds-category-card:only-child {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .ds-category-grid > .ds-category-card:only-child .category-card-image {
    min-height: 0;
    height: auto;
  }

  .ds-category-grid > .ds-category-card:only-child .category-card-image img {
    min-height: 0;
    height: auto;
    max-height: none;
    object-fit: contain;
  }

  .ds-category-grid > .ds-category-card:only-child .card-body {
    padding: 26px 24px 30px;
  }

  .ds-category-grid > .ds-category-card:only-child h3 {
    font-size: 2.25rem;
  }
}


/* ===== Drugi sloj 1.8 — clean source prose / no stretched word spacing ===== */

/* Source introductions and annotations are ordinary prose:
   natural left alignment is more readable than justified text on tablets. */
.sources-section .sources-heading > p,
.sources-section .source-list li > span,
.sources-section .sources-note {
  text-align: left !important;
  text-justify: auto !important;
  word-spacing: normal !important;
  letter-spacing: normal !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  text-wrap: pretty;
}

/* Give explanatory prose one consistent measure and rhythm. */
.sources-section .sources-heading > p {
  max-width: 680px !important;
  line-height: 1.65 !important;
}

.sources-section .source-list li > span {
  max-width: 680px !important;
  line-height: 1.58 !important;
}

/* Titles/references and their annotations share the same left edge. */
.sources-section .source-list li > a,
.sources-section .source-list li > span {
  margin-left: 0 !important;
  padding-left: 0 !important;
}


/* ===== Drugi sloj 1.9 — source prose uses the full available line width ===== */
.sources-section .sources-heading > p,
.sources-section .source-list li > span,
.sources-section .sources-note {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-spacing: normal !important;
  letter-spacing: normal !important;
}

/* Imported hard <br> breaks in explanatory prose must not force a new line. */
.sources-section .sources-heading > p br,
.sources-section .source-list li > span br,
.sources-section .sources-note br {
  display: none !important;
}
\n\n/* ===== Drugi sloj 2.0 — automatic latest-post module on the homepage ===== */\n.ds-latest-section {\n  padding: 10px 0 64px;\n  border-bottom: 1px solid var(--line);\n}\n\n.ds-latest-heading {\n  display: flex;\n  align-items: end;\n  justify-content: space-between;\n  gap: 24px;\n  margin-bottom: 18px;\n}\n\n.ds-latest-heading > div {\n  display: flex;\n  align-items: baseline;\n  gap: 14px;\n}\n\n.ds-latest-heading strong {\n  font-family: "Libre Caslon Display", Georgia, serif;\n  font-size: 1.55rem;\n  font-weight: 400;\n}\n\n.ds-latest-date {\n  color: var(--muted);\n  font-size: .86rem;\n}\n\n.ds-latest-feature {\n  display: grid;\n  grid-template-columns: minmax(360px, 46%) minmax(0, 1fr);\n  min-height: 430px;\n  overflow: hidden;\n  background: #fffdf9;\n  border: 1px solid var(--line);\n  border-radius: 10px;\n}\n\n.ds-latest-image {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 430px;\n  padding: 18px;\n  background: #0d3344;\n}\n\n.ds-latest-image img {\n  width: 100%;\n  height: 100%;\n  max-height: 520px;\n  object-fit: contain;\n  object-position: center;\n}\n\n.ds-latest-copy {\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  padding: clamp(30px, 5vw, 58px);\n}\n\n.ds-latest-copy h2 {\n  margin: 0 0 18px;\n  font-size: clamp(2.3rem, 4.2vw, 4.25rem);\n  line-height: 1.02;\n}\n\n.ds-latest-copy p {\n  max-width: 650px;\n  margin: 0 0 24px;\n  color: #59666c;\n  font-family: "Source Serif 4", Georgia, serif;\n  font-size: 1.08rem;\n  line-height: 1.66;\n}\n\n.ds-latest-button {\n  width: fit-content;\n  background: #12384a;\n  color: #fff;\n  border-bottom: 3px solid #d77936;\n}\n\n@media (max-width: 860px) {\n  .ds-latest-section { padding-top: 2px; padding-bottom: 46px; }\n  .ds-latest-heading { align-items: flex-start; }\n  .ds-latest-heading > div { display: block; }\n  .ds-latest-heading strong { display: block; margin-top: 5px; }\n  .ds-latest-feature { grid-template-columns: 1fr; min-height: 0; }\n  .ds-latest-image { min-height: 0; max-height: 470px; padding: 14px; }\n  .ds-latest-image img { width: auto; max-width: 100%; height: auto; max-height: 440px; }\n  .ds-latest-copy { padding: 28px 24px 32px; }\n  .ds-latest-copy h2 { font-size: clamp(2.15rem, 7vw, 3.25rem); }\n}\n\n@media (max-width: 520px) {\n  .ds-latest-date { display: none; }\n  .ds-latest-heading { margin-bottom: 14px; }\n  .ds-latest-image { max-height: 390px; }\n  .ds-latest-image img { max-height: 365px; }\n}\n

/* ===== Drugi sloj 2.2 — visually dominant automatic latest article ===== */
.ds-latest-feature-section {
  padding: 22px 0 30px;
  background: #fbf5ec;
  border-bottom: 1px solid var(--line);
}

.ds-latest-feature-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: #c5682e;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.ds-latest-feature-label::before {
  content: "";
  width: 34px;
  height: 3px;
  background: #d77936;
}

.ds-latest-feature-card {
  display: grid;
  grid-template-columns: minmax(330px, 42%) minmax(0, 1fr);
  min-height: 360px;
  overflow: hidden;
  background: #fffdf9;
  border: 1px solid #ded4c6;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(34, 45, 49, .06);
}

.ds-latest-feature-media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 360px;
  padding: 18px;
  background: #0f3444;
}

.ds-latest-feature-media img {
  width: 100%;
  height: 100%;
  max-height: 450px;
  object-fit: contain;
  object-position: center;
}

.ds-latest-feature-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(30px, 5vw, 56px);
}

.ds-latest-feature-meta {
  margin-bottom: 12px;
  color: #8b7769;
  font-size: .84rem;
  font-weight: 600;
}

.ds-latest-feature-copy h2 {
  max-width: 760px;
  margin: 0 0 18px;
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: clamp(2.45rem, 4.3vw, 4.4rem);
  line-height: .98;
  font-weight: 400;
  color: #183f50;
}

.ds-latest-feature-copy h2 a:hover { color: #c5682e; }

.ds-latest-feature-copy p {
  max-width: 700px;
  margin: 0 0 26px;
  color: #56676e;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 1.08rem;
  line-height: 1.68;
}

.ds-latest-feature-cta {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 48px;
  padding: 12px 18px;
  background: #183f50;
  color: #fff;
  border-bottom: 3px solid #d77936;
  border-radius: 5px;
  font-weight: 700;
}

.ds-latest-feature-cta:hover { background: #123647; }

@media (max-width: 860px) {
  .ds-latest-feature-section { padding-top: 16px; padding-bottom: 24px; }
  .ds-latest-feature-card { grid-template-columns: 1fr; min-height: 0; }
  .ds-latest-feature-media { min-height: 0; max-height: 470px; padding: 14px; }
  .ds-latest-feature-media img { width: auto; max-width: 100%; height: auto; max-height: 440px; }
  .ds-latest-feature-copy { padding: 28px 24px 32px; }
  .ds-latest-feature-copy h2 { font-size: clamp(2.2rem, 7vw, 3.45rem); }
}

@media (max-width: 520px) {
  .ds-latest-feature-section { padding-top: 12px; }
  .ds-latest-feature-label { margin-bottom: 10px; }
  .ds-latest-feature-media { max-height: 390px; }
  .ds-latest-feature-media img { max-height: 365px; }
  .ds-latest-feature-copy { padding: 24px 20px 28px; }
  .ds-latest-feature-copy p { font-size: 1rem; }
}
