* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { background: #e7dfce; }
::selection { background: rgba(124,47,42,0.18); }
@keyframes travel { to { stroke-dashoffset: -160; } }
@keyframes wmark { 0%,100% { opacity:.5 } 50% { opacity:.62 } }

.dc-container { padding: 0 40px; }
.dc-page {
  --accent: #7c2f2a;
  position:relative;
  background:#efe8d8;
  background-image: radial-gradient(120% 80% at 50% -10%, #f4eee0 0%, #efe8d8 38%, #e8e0cd 100%);
  color:#2b2620;
  font-family:'PT Serif', Georgia, serif;
  min-height:100vh;
  overflow:hidden;
}
.dc-vignette {
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow: inset 0 0 220px rgba(74,60,40,0.16);
  z-index:1;
}
.dc-grain {
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:60;
  opacity:0.05;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.dc-content {
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:0 auto;
}
.dc-archive-header { padding:46px 0 0; }
.dc-masthead-bar { display:flex; justify-content:space-between; align-items:baseline; }
.dc-masthead-bar {
  font-family:'PT Mono', monospace;
  font-size:12px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:#8a7d63;
  border-bottom:1px solid #c8bda4;
  padding-bottom:14px;
}
.dc-masthead-bar__sheet { letter-spacing:0.16em; }
.dc-hero-grid { display:grid; grid-template-columns:1.05fr 0.95fr; gap:64px; align-items:end; padding:64px 0 30px; }
.dc-hero-kicker {
  font-family:'PT Mono', monospace;
  font-size:13px;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--accent, #7c2f2a);
  margin-bottom:26px;
}
.dc-hero-title { font-size: 84px; line-height: 0.98; }
.dc-hero-title {
  font-family:'Playfair Display', serif;
  font-weight:700;
  letter-spacing:-0.01em;
  margin:0;
  color:#241f19;
}
.dc-hero-title__accent {
  font-style:italic;
  font-weight:500;
}
.dc-hero-date-row {
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:30px;
}
.dc-hero-year {
  font-family:'Playfair Display', serif;
  font-size:30px;
  color:var(--accent, #7c2f2a);
}
.dc-hero-rule {
  flex:1;
  height:1px;
  background:#c8bda4;
  max-width:120px;
}
.dc-hero-location {
  font-family:'PT Mono', monospace;
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:#8a7d63;
}
.dc-hero-lead {
  font-family:'PT Serif', serif;
  font-size:20px;
  line-height:1.66;
  color:#4a4236;
  max-width:30em;
  margin:34px 0 0;
  text-wrap:pretty;
}
.dc-hero-figure { margin:0; }
.dc-hero-card {
  background:#f3eddf;
  padding:14px 14px 0;
  border:1px solid #cdc1a6;
  box-shadow:0 18px 40px -22px rgba(50,38,20,0.55), 0 2px 0 #d9cfb5;
}
.dc-hero-media {
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:#d8cfb8;
}
.dc-hero-video {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(0.12) sepia(0.12) contrast(1.02);
}
.dc-hero-caption {
  display:flex;
  justify-content:space-between;
  font-family:'PT Mono', monospace;
  font-size:10.5px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#8a7d63;
  padding:11px 2px 13px;
}
.dc-timeline-section { padding:70px 0 30px; }
.dc-section-heading {
  display:flex;
  align-items:baseline;
  gap:18px;
  margin-bottom:54px;
}
.dc-section-title {
  font-family:'Playfair Display', serif;
  font-weight:600;
  font-size:30px;
  margin:0;
  color:#241f19;
}
.dc-section-rule {
  flex:1;
  height:1px;
  background:#c8bda4;
}
.dc-section-count {
  font-family:'PT Mono', monospace;
  font-size:11px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:#8a7d63;
}
.dc-chapter { display:grid; grid-template-columns:160px 1fr; gap:36px; }
.dc-chapter-meta {
  position:relative;
  align-self:start;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  text-align:right;
  padding-top:2px;
}
.dc-chapter-number {
  font-family:'PT Mono', monospace;
  font-size:11px;
  letter-spacing:0.16em;
  color:#a89a7d;
}
.dc-chapter-place {
  font-family:'PT Mono', monospace;
  font-size:10.5px;
  letter-spacing:0.08em;
  color:var(--accent,#7c2f2a);
  margin-top:8px;
}
.dc-chapter-year {
  font-family:'Playfair Display', serif;
  font-size:30px;
  line-height:1.04;
  color:#241f19;
  margin-top:6px;
}
.dc-chapter-body { border-left:1px solid #cdc1a6; padding:0 0 60px 44px; position:relative; }
.dc-chapter-body--last { border-left:none; padding:0 0 10px 44px; }
.dc-chapter-title {
  font-family:'Playfair Display', serif;
  font-weight:600;
  font-size:26px;
  margin:0 0 14px;
  color:#241f19;
}
.dc-chapter-title--spaced { margin-bottom:18px; }
.dc-chapter-copy {
  font-size:18.5px;
  line-height:1.72;
  color:#403a30;
  max-width:34em;
  margin:0 0 16px;
  text-wrap:pretty;
}
.dc-chapter-copy--flush { margin-bottom:0; }
.dc-chapter-copy--wide { max-width:36em; margin-bottom:8px; }
.dc-chapter-copy--split { max-width:none; }
.dc-quote {
  margin:22px 0 0;
  padding:4px 0 4px 24px;
  border-left:3px solid var(--accent,#7c2f2a);
  font-family:'Playfair Display', serif;
  font-style:italic;
  font-size:21px;
  line-height:1.5;
  color:#3a342a;
  max-width:30em;
}
.dc-quote--fluid { max-width:none; }
.dc-inline-figure { margin:0; }
.dc-photo-card {
  background:#f3eddf;
  padding:11px 11px 0;
  border:1px solid #cdc1a6;
  box-shadow:0 14px 30px -20px rgba(50,38,20,0.55);
}
.dc-photo-card--clickable { cursor:pointer; }
.dc-photo-frame {
  aspect-ratio:4/5;
  overflow:hidden;
  background:#d8cfb8;
}
.dc-photo-img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(0.1) sepia(0.1) contrast(1.02);
}
.dc-photo-caption {
  display:flex;
  justify-content:space-between;
  font-family:'PT Mono', monospace;
  font-size:10px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#8a7d63;
  padding:9px 2px 11px;
}
.dc-map-section {
  position:relative;
  z-index:2;
  background:#e4d8bd;
  background-image: radial-gradient(140% 100% at 20% 0%, #ece2cb 0%, #e2d6ba 55%, #d8caaa 100%);
  border-top:1px solid #c4b793;
  border-bottom:1px solid #c4b793;
  padding:64px 0;
}
.dc-map-heading {
  display:flex;
  align-items:baseline;
  gap:18px;
  margin-bottom:10px;
}
.dc-map-kicker {
  font-family:'PT Mono', monospace;
  font-size:11px;
  letter-spacing:0.26em;
  text-transform:uppercase;
  color:#9a8a64;
}
.dc-map-title {
  font-family:'Playfair Display', serif;
  font-weight:600;
  font-size:38px;
  margin:0 0 6px;
  color:#2a2317;
}
.dc-map-copy {
  font-family:'PT Serif', serif;
  font-size:18px;
  line-height:1.6;
  color:#5a4f38;
  max-width:40em;
  margin:0 0 30px;
}
.dc-map-card {
  position:relative;
  width:100%;
  border:1px solid #b9a87c;
  background:#ece1c6;
  box-shadow: inset 0 0 90px rgba(120,98,54,0.18), 0 16px 40px -26px rgba(60,46,20,0.5);
}
.dc-map-svg {
  display:block;
  width:100%;
  height:auto;
}
.dc-map-watermarks { animation:wmark 7s ease-in-out infinite; }
.dc-route-dash { animation:travel 5.5s linear infinite; }
.dc-map-legend {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  font-family:'PT Mono', monospace;
  font-size:11px;
  letter-spacing:0.1em;
  color:#9a8a64;
  margin-top:14px;
}
.dc-legacy-section {
  position:relative;
  z-index:2;
  background:#26201a;
  color:#ece3d2;
  padding:78px 0;
}
.dc-legacy-kicker {
  font-family:'PT Mono', monospace;
  font-size:11px;
  letter-spacing:0.26em;
  text-transform:uppercase;
  color:#b39a6e;
  margin-bottom:14px;
}
.dc-legacy-title {
  font-family:'Playfair Display', serif;
  font-weight:600;
  font-size:40px;
  margin:0 0 40px;
  color:#f3ead8;
  max-width:16em;
}
.dc-gallery-figure { margin:0; }
.dc-gallery-card {
  background:#1c1712;
  padding:14px;
  border:1px solid #43392c;
}
.dc-gallery-frame {
  overflow:hidden;
  background:#322a20;
}
.dc-gallery-frame--wide { aspect-ratio:5/4; }
.dc-gallery-frame--portrait { aspect-ratio:4/5; }
.dc-gallery-img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.dc-gallery-caption {
  font-family:'PT Mono', monospace;
  font-size:11px;
  letter-spacing:0.1em;
  color:#a08c66;
  padding:12px 2px 0;
  display:flex;
  justify-content:space-between;
}
.dc-legacy-quote {
  margin:60px auto 0;
  max-width:18em;
  text-align:center;
  font-family:'Playfair Display', serif;
  font-style:italic;
  font-size:34px;
  line-height:1.3;
  color:#f3ead8;
}
.dc-legacy-rule {
  width:54px;
  height:1px;
  background:#7a6648;
  margin:30px auto 0;
}
.dc-footer {
  position:relative;
  z-index:2;
  background:#efe8d8;
  padding:34px 0;
}
.dc-footer-inner {
  max-width:1180px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
  font-family:'PT Mono', monospace;
  font-size:11px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#9a8d70;
}
.dc-metrika-pixel {
  position:absolute;
  left:-9999px;
}
.dc-timeline-dot {
  position:absolute; left:-7px; top:6px; z-index:8;
  display:block;
  width:13px; height:13px; padding:0; border-radius:50%;
  background:#efe8d8; border:2px solid var(--accent,#7c2f2a);
  appearance:none; -webkit-appearance:none;
}
.dc-era-note {
  cursor:help;
}
.dc-timeline-dot--solid { background:var(--accent,#7c2f2a); }
.dc-era-year {
  display:inline-block;
  margin:6px 0 0;
  padding:0;
  border:0;
  background:transparent;
  color:#241f19;
  font-family:'Playfair Display', serif;
  font-size:34px;
  line-height:1;
  text-align:right;
  cursor:help;
}
.dc-era-year--stacked {
  font-size:30px;
  line-height:1.04;
}
.dc-era-year:focus-visible {
  outline:2px solid rgba(124,47,42,0.42);
  outline-offset:4px;
}
.dc-era-tooltip {
  position:absolute; right:0; top:calc(100% + 10px); z-index:9;
  width:min(240px, calc(100vw - 96px));
  padding:12px 14px 13px;
  border:1px solid #c8bda4;
  background:#f4eddd;
  box-shadow:0 16px 34px -24px rgba(46,35,18,0.58), inset 0 0 0 1px rgba(255,255,255,0.32);
  color:#403a30;
  font-family:'PT Serif', Georgia, serif;
  font-size:14.5px;
  line-height:1.48;
  text-align:left;
  opacity:0;
  visibility:hidden;
  transform:translateY(4px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  pointer-events:none;
}
.dc-era-tooltip::before {
  content:'';
  position:absolute; right:18px; top:-7px;
  width:12px; height:12px;
  background:#f4eddd;
  border-left:1px solid #c8bda4;
  border-top:1px solid #c8bda4;
  transform:rotate(45deg);
}
.dc-era-kicker {
  display:block;
  margin-bottom:5px;
  font-family:'PT Mono', monospace;
  font-size:9.5px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--accent,#7c2f2a);
}
.dc-era-year:hover ~ .dc-era-tooltip,
.dc-era-year:focus-visible ~ .dc-era-tooltip,
.dc-chapter-meta:focus-within .dc-era-tooltip {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.dc-split { gap: 38px; }
.dc-split-grid { display:grid; align-items:start; }
.dc-split--text-first { grid-template-columns: 1fr 280px; }
.dc-split--photo-first { grid-template-columns: 280px 1fr; }
.dc-gallery-grid { grid-template-columns:1.15fr 0.85fr; gap:32px; }

.dc-hero-media { cursor: pointer; }
.dc-play-hint {
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  pointer-events:none;
  background: linear-gradient(180deg, rgba(20,16,10,0) 55%, rgba(20,16,10,0.32) 100%);
  opacity:1;
  transition: opacity .3s ease;
}
.dc-hero-media.is-playing .dc-play-hint { opacity: 0; }
.dc-play-circle {
  width:60px; height:60px; border-radius:50%;
  background: rgba(36,31,25,0.42);
  border: 1px solid rgba(243,234,216,0.55);
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 10px 26px rgba(20,16,10,0.35);
  transition: transform .3s ease;
}
.dc-hero-media:hover .dc-play-circle { transform: scale(1.08); }
.dc-play-circle::after {
  content:'';
  width:0; height:0;
  border-style:solid;
  border-width:9px 0 9px 15px;
  border-color: transparent transparent transparent #f3ead8;
  margin-left:4px;
}
.dc-play-label {
  font-family:'PT Mono', monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:#f3ead8;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.dc-play-label--touch { display:none; }
@media (hover: none), (pointer: coarse) {
  .dc-play-label--mouse { display:none; }
  .dc-play-label--touch { display:inline; }
}

@media (max-width: 720px) {
  .dc-container { padding: 0 20px; }
  .dc-masthead-bar { flex-direction: column; align-items: flex-start; gap: 6px; }
  .dc-hero-grid { grid-template-columns: 1fr; gap: 32px; align-items: start; padding: 36px 0 16px; }
  .dc-hero-title { font-size: 42px; line-height: 1.04; }
  .dc-chapter { grid-template-columns: 1fr; gap: 10px; }
  .dc-chapter-meta { flex-direction:row; flex-wrap:wrap; align-items:center; gap:6px 14px; text-align:left; padding-top:0; margin-bottom:10px; }
  .dc-chapter-body { padding: 0 0 36px 20px; }
  .dc-chapter-body--last { padding: 0 0 10px 20px; }
  .dc-era-year, .dc-era-year--stacked { margin-top:0; font-size:30px; line-height:1.04; text-align:left; }
  .dc-era-tooltip {
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    display:none;
    flex-basis:100%;
    width:min(320px, calc(100vw - 40px));
    margin-top:4px;
    transform:none;
  }
  .dc-era-tooltip::before { left:18px; right:auto; top:-7px; border:0; border-left:1px solid #c8bda4; border-top:1px solid #c8bda4; }
  .dc-era-year:hover ~ .dc-era-tooltip,
  .dc-era-year:focus-visible ~ .dc-era-tooltip,
  .dc-chapter-meta:focus-within .dc-era-tooltip {
    display:block;
    transform:none;
  }
  .dc-split--text-first, .dc-split--photo-first { grid-template-columns: 1fr; gap: 20px; }
  .dc-gallery-grid { grid-template-columns: 1fr; gap: 20px; }
  h2 { font-size: 26px !important; }
  h3 { font-size: 21px !important; }
  p { font-size: 16px !important; }
  blockquote { font-size: 18px !important; }
}
