/* ═══════════════════════════════════════════════════════════
   article.css · manuscript delivered by caravan
   ═══════════════════════════════════════════════════════════
   Не блог, а еженедельный свиток. Тёплая бумага на тёмном
   фоне, deckle-края, восковая печать, водяной знак иврит,
   складки, иллюминированный инициал, marginalia.
   ═══════════════════════════════════════════════════════════ */

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

html, body {
  background: #050301;
  color: #a89e82;
  font-family: Georgia, 'Palatino Linotype', 'Times New Roman', serif;
  line-height: 1.75;
  min-height: 100vh;
}

/* ─── Delivery banner — «доставлено караваном» ─── */
.caravan-banner {
  max-width: 680px; margin: 40px auto 0;
  padding: 12px 24px;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 9px; color: #5a4020;
  letter-spacing: 5px; text-transform: uppercase;
  border-top: 1px solid #2a1e0c;
  border-bottom: 1px solid #2a1e0c;
  background: rgba(20,14,8,0.5);
  font-family: 'Times New Roman', serif;
}
.caravan-banner span { display: inline-block; }
.caravan-banner b { color: #8a6a30; font-family: 'Times New Roman', serif; font-weight: normal; letter-spacing: 3px; }
.caravan-banner .cb-stamp {
  color: #a04030; letter-spacing: 4px; font-style: italic;
}

/* ─── The scroll itself — a warm parchment on dark ─── */
.art-main {
  max-width: 680px;
  margin: 0 auto;
  padding: 60px 60px 100px;
  position: relative;
  background:
    /* subtle horizontal fold lines every ~300px */
    repeating-linear-gradient(
      to bottom,
      transparent 0,
      transparent 298px,
      rgba(90,50,15,0.06) 298px,
      rgba(90,50,15,0.06) 300px
    ),
    /* main parchment gradient */
    radial-gradient(ellipse at 50% 0%,
      rgba(50,32,14,0.35) 0%,
      rgba(20,14,8,0.35) 30%,
      transparent 70%),
    linear-gradient(to bottom,
      #0f0a05 0%,
      #0c0805 100%);
  border-left: 1px solid #1a1208;
  border-right: 1px solid #1a1208;
}
/* Deckle top edge — torn parchment illusion */
.art-main::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 12px;
  background-image:
    linear-gradient(45deg, transparent 46%, #050301 46%, #050301 54%, transparent 54%),
    linear-gradient(-45deg, transparent 46%, #050301 46%, #050301 54%, transparent 54%);
  background-size: 12px 12px;
  background-position: 0 0, 6px 0;
  pointer-events: none;
}
.art-main::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 12px;
  background-image:
    linear-gradient(45deg, transparent 46%, #050301 46%, #050301 54%, transparent 54%),
    linear-gradient(-45deg, transparent 46%, #050301 46%, #050301 54%, transparent 54%);
  background-size: 12px 12px;
  background-position: 0 0, 6px 0;
  pointer-events: none;
}

/* ─── Hebrew watermark (faint, in background) ─── */
.art-watermark {
  position: absolute;
  top: 40%; left: 50%; transform: translate(-50%, -50%) rotate(-8deg);
  font-family: 'Times New Roman', Georgia, serif;
  font-size: 240px;
  color: #1a1208;
  direction: rtl;
  letter-spacing: 20px;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  opacity: 0.5;
  white-space: nowrap;
}

/* Everything above the watermark */
.art-hero, .art-body, .art-footer { position: relative; z-index: 1; }

/* ─── Article header — like envelope opening ─── */
.art-hero {
  text-align: center;
  padding: 40px 0 40px;
  margin-bottom: 40px;
  border-bottom: 1px double #2a1e0c;
}

.art-issue {
  font-size: 10px; color: #4a3818;
  letter-spacing: 6px; text-transform: uppercase;
  margin-bottom: 6px;
}
.art-issue b { color: #8a6a30; font-weight: normal; font-family: 'Times New Roman', serif; }

.art-date {
  font-size: 9px; color: #3a2c14;
  letter-spacing: 4px; text-transform: uppercase;
  margin-bottom: 32px; font-style: italic;
}

.art-hebrew {
  font-family: 'Times New Roman', Georgia, serif;
  font-size: clamp(60px, 11vw, 108px);
  color: #c99a3a; direction: rtl;
  letter-spacing: 12px; line-height: 1;
  text-shadow: 0 0 32px rgba(201,154,58,0.35);
  margin-bottom: 24px;
  font-weight: normal;
}

.art-title {
  font-size: clamp(22px, 3.5vw, 30px);
  color: #c8a250; letter-spacing: 6px;
  text-transform: uppercase; font-style: italic;
  margin-bottom: 8px;
  font-weight: normal;
}

.art-subtitle {
  font-size: 12px; color: #6a5028;
  letter-spacing: 3px;
  font-style: italic;
}

/* Ornamental divider under hero */
.art-hero-ornament {
  margin: 28px auto 0; width: 160px; height: 12px;
  background-image:
    linear-gradient(to right, transparent 0%, #3a2c14 50%, transparent 100%);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: center 6px;
  position: relative;
}
.art-hero-ornament::before {
  content: '◈'; position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  color: #7a5c2e; font-size: 12px;
  background: #0f0a05; padding: 0 8px;
}

/* ─── Article body — the scroll's text ─── */
.art-body {
  font-size: 16.5px;
  color: #b0a488;
  line-height: 1.9;
  font-family: Georgia, 'Palatino Linotype', 'Times New Roman', serif;
}

.art-body p {
  margin-bottom: 24px;
  text-align: justify;
  hyphens: auto;
}

.art-body .art-lede {
  font-size: 18px;
  color: #c8b896;
  font-style: italic;
  line-height: 1.85;
  margin-bottom: 36px;
  padding-bottom: 28px;
  border-bottom: 1px solid #1a1208;
  text-align: left;
}

/* Illuminated drop-cap — first letter of first non-lede paragraph */
.art-body .art-lede + p::first-letter {
  float: left;
  font-family: 'Times New Roman', Georgia, serif;
  font-size: 68px;
  line-height: 0.85;
  padding: 6px 12px 0 0;
  color: #c99a3a;
  text-shadow: 0 0 18px rgba(201,154,58,0.55);
  font-weight: normal;
}

.art-body h3 {
  font-size: 13px;
  color: #8a6a30;
  letter-spacing: 5px;
  text-transform: uppercase;
  margin: 48px 0 22px;
  font-weight: normal;
  font-style: italic;
  padding-bottom: 10px;
  border-bottom: 1px solid #1a1208;
  text-align: center;
}
/* Small ornament in section headers */
.art-body h3::before {
  content: '◇ '; color: #5a3818; margin-right: 8px;
}
.art-body h3::after {
  content: ' ◇'; color: #5a3818; margin-left: 8px;
}

.art-body h4 {
  font-size: 11px;
  color: #7a5c2e;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin: 30px 0 12px;
  font-weight: normal;
}

.art-body em { color: #c8a250; font-style: italic; }
.art-body strong { color: #c8b896; font-weight: normal; letter-spacing: 0.5px; }

.art-body a {
  color: #a07030;
  text-decoration: none;
  border-bottom: 1px solid #3a2810;
  transition: color .2s, border-color .2s;
}
.art-body a:hover { color: #c99a3a; border-color: #7a5c2e; }

/* Inline hebrew */
.heb {
  color: #c99a3a;
  direction: rtl;
  font-family: 'Times New Roman', Georgia, serif;
  font-size: 1.1em;
  letter-spacing: 2px;
  margin: 0 3px;
}

/* Blockquote — as if quoted in the margin */
.art-body blockquote {
  margin: 36px 0;
  padding: 20px 28px 20px 36px;
  border-left: 3px double #5a3818;
  background: linear-gradient(to right, rgba(30,20,10,0.5), transparent);
  font-style: italic;
  color: #8a7a52;
  font-size: 15px;
  line-height: 1.85;
  position: relative;
}
.art-body blockquote::before {
  content: '„';
  position: absolute; left: 12px; top: -8px;
  color: #5a3818; font-size: 42px;
  font-family: 'Times New Roman', serif;
  font-style: normal;
}
.art-body blockquote cite {
  display: block;
  margin-top: 14px;
  font-size: 11px;
  color: #5a4020;
  letter-spacing: 2px;
  font-style: normal;
}
.art-body blockquote cite::before { content: '— '; color: #3a2810; }

/* Pull-quote — mid-manuscript emphasis */
.art-body .pull {
  margin: 44px auto;
  max-width: 460px;
  text-align: center;
  font-family: 'Times New Roman', serif;
  font-style: italic;
  font-size: 22px;
  line-height: 1.6;
  color: #c8a250;
  padding: 24px 20px;
  position: relative;
  border-top: 1px solid #3a2c14;
  border-bottom: 1px solid #3a2c14;
}
.art-body .pull::before,
.art-body .pull::after {
  content: '◇';
  position: absolute; left: 50%;
  transform: translateX(-50%);
  color: #5a3818; font-size: 10px;
  background: #0f0a05; padding: 0 8px;
}
.art-body .pull::before { top: -6px; }
.art-body .pull::after { bottom: -6px; }

/* Hebrew mid-page divider */
.art-body .heb-divider {
  text-align: center;
  margin: 44px 0;
  direction: rtl;
  color: #5a4020;
  font-size: 28px;
  letter-spacing: 8px;
  font-family: 'Times New Roman', serif;
  position: relative;
}
.art-body .heb-divider::before,
.art-body .heb-divider::after {
  content: ''; position: absolute; top: 50%;
  width: 80px; height: 1px; background: #2a1e0c;
}
.art-body .heb-divider::before { left: calc(50% - 130px); }
.art-body .heb-divider::after { right: calc(50% - 130px); }

/* Table — like an insertion of a small parchment */
.art-body .art-table {
  width: 100%;
  border-collapse: collapse;
  margin: 32px 0;
  font-size: 14px;
  border-top: 1px double #2a1e0c;
  border-bottom: 1px double #2a1e0c;
}
.art-body .art-table th {
  text-align: left;
  padding: 12px 12px 12px 0;
  font-size: 10px;
  color: #5a4020;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-weight: normal;
  border-bottom: 1px solid #2a1e0c;
  font-family: 'Times New Roman', serif;
}
.art-body .art-table td {
  padding: 12px 12px 12px 0;
  border-bottom: 1px solid #141210;
  color: #8a7a52;
  vertical-align: top;
  line-height: 1.7;
  font-style: italic;
}
.art-body .art-table td:first-child { color: #a08054; }

/* Lists */
.art-body ul, .art-body ol {
  margin: 20px 0 24px 28px;
}
.art-body li {
  margin-bottom: 12px;
  color: #b0a488;
  line-height: 1.85;
}
.art-body li::marker { color: #5a4020; }

/* ─── Article footer — wax seal + signature ─── */
.art-footer {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px double #2a1e0c;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Wax seal — visual anchor at the end */
.wax-seal-wrap {
  display: flex; justify-content: center; align-items: center;
  padding: 20px 0;
}
.wax-seal {
  width: 96px; height: 96px;
  display: flex; align-items: center; justify-content: center;
  position: relative;
}
.wax-seal svg { width: 100%; height: 100%; }
.wax-seal .seal-outer { fill: #4a1a0a; stroke: #6a2410; stroke-width: 1.2; }
.wax-seal .seal-inner { fill: none; stroke: #a04030; stroke-width: 0.6; }
.wax-seal .seal-glyph {
  fill: #d47048; font-family: 'Times New Roman', Georgia, serif;
  font-size: 34px; text-anchor: middle; dominant-baseline: middle;
  direction: rtl;
}
.wax-seal .seal-circle-text {
  fill: #8a3018; font-family: Georgia, serif;
  font-size: 6.5px; letter-spacing: 2px; text-transform: uppercase;
}

/* Signature block */
.art-signature {
  text-align: center;
  font-family: 'Times New Roman', serif;
  color: #5a4020;
  font-style: italic;
}
.art-signature-line {
  font-size: 11px;
  letter-spacing: 3px;
}
.art-signature-mono {
  display: inline-block;
  margin-top: 6px;
  font-size: 18px;
  color: #7a5c2e;
  direction: rtl;
  letter-spacing: 4px;
}

/* Navigation between issues */
.art-nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  padding-top: 24px;
  border-top: 1px solid #1a1208;
}
.art-nav a {
  font-size: 10px;
  color: #7a5c2e;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid #2a1e0c;
  padding-bottom: 2px;
  font-style: italic;
  transition: color .3s, border-color .3s;
}
.art-nav a:hover { color: #c99a3a; border-color: #5a3818; }
.art-nav a.disabled { color: #2a1e0c; pointer-events: none; border-color: transparent; }

/* Referenced-in section */
.art-related {
  margin-top: 20px;
  padding-top: 24px;
  border-top: 1px solid #1a1208;
  text-align: center;
}
.art-related-label {
  font-size: 9px; color: #3a2c14;
  letter-spacing: 4px; text-transform: uppercase;
  margin-bottom: 16px; display: block;
  font-style: italic;
}
.art-related-list {
  display: flex; gap: 20px; flex-wrap: wrap; justify-content: center;
  list-style: none;
}
.art-related-list a {
  font-size: 11px; color: #7a5c2e;
  letter-spacing: 2px; text-decoration: none;
  border-bottom: 1px solid #221808;
  font-style: italic;
}
.art-related-list a:hover { color: #c99a3a; }

/* ─── INDEX page (all issues) ─── */
.art-index-hero {
  text-align: center;
  padding: 40px 0 30px;
  border-bottom: 1px double #2a1e0c;
  margin-bottom: 40px;
}
.art-index-hero .art-hebrew { font-size: clamp(48px, 8vw, 76px); }
.art-index-hero .art-title { margin-bottom: 4px; }
.art-index-hero .art-intro {
  font-size: 13px; color: #8a7a52;
  font-style: italic; line-height: 1.9;
  max-width: 520px; margin: 24px auto 0;
  text-align: justify;
}

.art-list { display: flex; flex-direction: column; gap: 4px; position: relative; z-index: 1; }

.art-item {
  display: block;
  padding: 26px 22px;
  text-decoration: none;
  border-bottom: 1px solid #141210;
  transition: background .3s, border-color .3s;
  position: relative;
}
.art-item:hover {
  background: linear-gradient(to right, rgba(50,32,14,0.4), transparent);
  border-color: #2a1e0c;
}
.art-item .art-item-meta {
  display: flex; gap: 18px; margin-bottom: 8px;
  font-size: 9px; letter-spacing: 3px; text-transform: uppercase;
}
.art-item .art-item-issue { color: #8a6a30; font-family: 'Times New Roman', serif; }
.art-item .art-item-date { color: #3a2c14; font-style: italic; }
.art-item .art-item-hebrew {
  display: inline-block;
  direction: rtl;
  color: #c99a3a; font-family: 'Times New Roman', serif;
  font-size: 24px; letter-spacing: 4px;
  margin-bottom: 6px;
}
.art-item .art-item-title {
  display: block;
  font-size: 17px; color: #c8a250;
  letter-spacing: 3px; text-transform: uppercase;
  font-style: italic; margin-bottom: 8px;
}
.art-item:hover .art-item-title { color: #f5d888; }
.art-item .art-item-lede {
  font-size: 13.5px; color: #8a7a52;
  line-height: 1.85; font-style: italic;
  max-width: 620px;
}

.art-item.featured {
  padding: 36px 28px;
  background: linear-gradient(135deg, rgba(60,38,16,0.45), rgba(15,10,6,0.7));
  border: 1px double #3a2810;
  margin-bottom: 24px;
  position: relative;
}
.art-item.featured:hover { border-color: #5a3818; }
.art-item.featured .art-item-hebrew { font-size: 34px; }
.art-item.featured .art-item-title { font-size: 22px; }
.art-item.featured::after {
  content: '★ последний караван';
  position: absolute; top: 20px; right: 20px;
  font-size: 8px; color: #a04030; letter-spacing: 3px;
  text-transform: uppercase; font-style: italic;
}

/* ─── Email capture — inside every article ─── */
.caravan-subscribe {
  margin: 50px 0 30px;
  padding: 30px 32px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(80,44,18,0.28) 0%, transparent 65%),
    linear-gradient(135deg, rgba(40,26,10,0.55), rgba(15,10,6,0.75));
  border: 1px double #3a2810;
  text-align: center;
  position: relative;
}
.cs-heb {
  display: block; direction: rtl;
  font-family: 'Times New Roman', Georgia, serif;
  font-size: 30px; color: #c99a3a;
  letter-spacing: 6px; margin-bottom: 12px;
  text-shadow: 0 0 18px rgba(201,154,58,0.35);
}
.cs-title {
  display: block; font-size: 12px; color: #c8a250;
  letter-spacing: 5px; text-transform: uppercase;
  font-style: italic; margin-bottom: 10px;
}
.cs-desc {
  font-size: 13px; color: #8a7a52;
  line-height: 1.85; font-style: italic;
  margin: 0 auto 22px; max-width: 480px;
}
.cs-form {
  display: flex; gap: 10px; justify-content: center;
  max-width: 460px; margin: 0 auto;
  flex-wrap: wrap;
}
.cs-input {
  flex: 1 1 240px; min-width: 200px;
  background: #060402; border: 1px solid #2a1e0c;
  color: #c8a250; padding: 12px 16px;
  font-family: Georgia, serif; font-size: 13px;
  letter-spacing: 1.5px; font-style: italic;
  outline: none;
  transition: border-color .25s, color .25s;
}
.cs-input::placeholder { color: #4a3818; font-style: italic; }
.cs-input:focus { border-color: #5a3818; color: #f5d888; }
.cs-btn {
  background: transparent;
  border: 1px solid #5a3818; color: #c99a3a;
  padding: 12px 24px;
  font-family: Georgia, serif; font-size: 10px;
  letter-spacing: 4px; text-transform: uppercase;
  cursor: pointer;
  transition: color .25s, border-color .25s, background .25s;
  white-space: nowrap;
}
.cs-btn:hover { color: #f5d888; border-color: #c99a3a; background: rgba(90,60,20,0.15); }
.cs-note {
  font-size: 9px; color: #4a3818;
  letter-spacing: 3px; text-transform: uppercase;
  margin-top: 14px; font-style: italic;
}
.cs-thanks {
  display: none;
  padding: 20px 0;
  color: #a08054; font-size: 14px;
  font-style: italic; letter-spacing: 2px;
}
.cs-thanks .heb {
  display: block; color: #c99a3a;
  font-size: 24px; margin-bottom: 10px;
  direction: rtl; letter-spacing: 4px;
}
.caravan-subscribe.submitted .cs-form,
.caravan-subscribe.submitted .cs-note { display: none; }
.caravan-subscribe.submitted .cs-thanks { display: block; }

/* Coming next / schedule */
.art-schedule {
  margin-top: 50px;
  padding: 26px 28px;
  border: 1px dashed #2a1e0c;
  text-align: center;
  background: rgba(15,10,6,0.4);
}
.art-schedule-label {
  font-size: 9px; color: #5a4020;
  letter-spacing: 4px; text-transform: uppercase;
  margin-bottom: 12px; display: block;
  font-style: italic;
}
.art-schedule-text {
  font-size: 12px; color: #7a5c2e;
  font-style: italic; line-height: 1.9;
}
.art-schedule-text b { color: #a08054; font-weight: normal; font-family: 'Times New Roman', serif; letter-spacing: 2px; }

/* Mobile */
@media (max-width: 720px) {
  .art-main { padding: 40px 24px 60px; }
  .art-body { font-size: 15px; }
  .art-body .pull { font-size: 18px; }
  .art-nav { flex-direction: column; }
  .art-body .art-lede + p::first-letter { font-size: 52px; padding: 4px 10px 0 0; }
  .art-watermark { font-size: 140px; }
  .caravan-banner { flex-direction: column; gap: 8px; text-align: center; }
}
