/* BPG v9.3.0 — Complete Prophecy Timeline
   Built from Daniel 2 v9.0.15 visual method:
   approved two-column layout, white cards, art panel, HTML/CSS markers.
*/

.timeline-hero-note {
  max-width: 860px;
}

.timeline-clean-visual-card,
.timeline-event-card,
.timeline-note-card,
.timeline-study-card,
.timeline-path-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
}

.timeline-clean-visual-card {
  padding: clamp(1rem, 2vw, 1.35rem);
  border-radius: var(--radius-lg);
  box-shadow: 0 18px 40px rgba(17, 17, 17, 0.06);
}

.timeline-clean-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(460px, 1.1fr);
  gap: clamp(1rem, 1.8vw, 1.25rem);
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.timeline-card-stack {
  display: grid;
  gap: 0.85rem;
}

.timeline-event-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
  min-height: 104px;
  padding: clamp(0.88rem, 1.45vw, 1.08rem);
  border-radius: var(--radius-md);
}

.timeline-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-top: 0.12rem;
  border-radius: 999px;
  background: var(--color-black);
  color: var(--color-white);
  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1;
}

.timeline-event-card .eyebrow {
  margin-bottom: 0.18rem;
}

.timeline-event-card h3 {
  margin-bottom: 0.18rem;
  font-size: clamp(1.15rem, 1.75vw, 1.42rem);
  line-height: 1.08;
}

.timeline-event-card p {
  margin-bottom: 0;
  color: var(--color-muted);
  line-height: 1.35;
}

.timeline-ref-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.36rem;
  margin-top: 0.48rem;
}

.timeline-ref {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 0.12rem 0.56rem;
  border: 1px solid rgba(29,29,31,.09);
  border-radius: 999px;
  background: var(--color-light);
  color: var(--color-black);
  font-size: 0.78rem;
  font-weight: 650;
}

.timeline-accent-gold { box-shadow: inset 5px 0 0 #d7ae4b; }
.timeline-accent-blue { box-shadow: inset 5px 0 0 #7f9cac; }
.timeline-accent-bronze { box-shadow: inset 5px 0 0 #b98053; }
.timeline-accent-silver { box-shadow: inset 5px 0 0 #aeb4bb; }
.timeline-accent-black { box-shadow: inset 5px 0 0 #000; }
.timeline-accent-green { box-shadow: inset 5px 0 0 #6f8f72; }

.timeline-column-art {
  position: relative;
  display: grid;
  grid-template-columns: clamp(3.6rem, 5vw, 5rem) minmax(0, 1fr);
  align-content: stretch;
  justify-items: center;
  align-items: stretch;
  margin: 0;
  min-height: 100%;
  height: 100%;
  padding: 0;
  background:
    radial-gradient(circle at 55% 12%, rgba(215,174,75,.11), transparent 30%),
    radial-gradient(circle at 55% 76%, rgba(127,156,172,.10), transparent 36%),
    transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

.timeline-column-stage {
  display: grid;
  align-content: stretch;
  justify-items: center;
  align-items: stretch;
  min-height: 100%;
  height: 100%;
  width: 100%;
  overflow: visible;
}

.timeline-column-stage picture,
.timeline-column-stage img {
  display: block;
}

.timeline-column-stage img {
  width: auto;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  margin: 0 auto;
  filter: drop-shadow(0 22px 22px rgba(0, 0, 0, 0.12));
}

.timeline-marker-rail {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-rows: repeat(8, 1fr);
  align-items: center;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.timeline-marker {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.timeline-marker-dot {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #000;
  color: #fff;
  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1;
  box-shadow: 0 0 0 6px rgba(255,255,255,.92), 0 8px 18px rgba(17,17,17,.12);
}

.timeline-marker-line {
  display: block;
  flex: 1 1 auto;
  min-width: 1.9rem;
  height: 2px;
  margin-left: 0.48rem;
  background: linear-gradient(90deg, rgba(29,29,31,.42), rgba(29,29,31,.12));
}

.timeline-marker-line::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin-left: auto;
  margin-top: -2px;
  border-radius: 999px;
  background: rgba(29,29,31,.38);
}

/* Desktop fine tuning controls.
   Use these live:
   height: 115% scales like Daniel 2 v9.0.15
   transform controls vertical/horizontal placement
*/
@media (min-width: 1041px) {
  .timeline-clean-layout {
    grid-template-columns: minmax(0, 0.96fr) minmax(460px, 1.1fr);
    align-items: stretch;
  }

  .timeline-column-art {
    min-height: 100%;
  }

  .timeline-column-stage img {
    height: 115%;
    max-height: 1280px;
    transform: translate(0px, -6px);
  }

  .timeline-marker-rail {
    transform: translateY(-6px);
  }
}

.timeline-summary-grid,
.timeline-study-grid {
  display: grid;
  gap: 1rem;
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.timeline-summary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.timeline-study-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.timeline-note-card,
.timeline-study-card,
.timeline-path-card {
  padding: clamp(1.1rem, 2vw, 1.35rem);
  border-radius: var(--radius-lg);
}

.timeline-note-card h2,
.timeline-path-card h2 {
  margin-bottom: 0.7rem;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
}

.timeline-note-card p,
.timeline-study-card p,
.timeline-path-card p {
  color: var(--color-muted);
}

.timeline-study-card {
  display: block;
}

.timeline-study-card h3 {
  margin-bottom: 0.4rem;
  font-size: 1.25rem;
}

.timeline-study-card p {
  margin-bottom: 0;
  font-size: 0.96rem;
}

@media (max-width: 1040px) {
  .timeline-clean-layout {
    grid-template-columns: 1fr;
  }

  .timeline-column-art {
    order: -1;
    height: auto;
    padding: 0.5rem 0;
  }

  .timeline-column-stage img {
    width: min(100%, 380px);
    height: auto;
    max-height: none;
  }

  .timeline-marker-rail {
    min-height: 680px;
  }

  .timeline-summary-grid,
  .timeline-study-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .timeline-clean-visual-card {
    padding: 0.75rem;
    border-radius: 24px;
  }

  .timeline-column-art {
    grid-template-columns: 3.25rem minmax(0, 1fr);
    border-radius: 20px;
  }

  .timeline-column-stage img {
    width: min(100%, 310px);
    height: auto;
    max-height: none;
  }

  .timeline-marker-rail {
    min-height: 560px;
  }

  .timeline-marker-dot {
    width: 1.72rem;
    height: 1.72rem;
    font-size: 0.78rem;
  }

  .timeline-marker-line {
    min-width: 1.15rem;
    margin-left: 0.32rem;
  }

  .timeline-event-card {
    min-height: 0;
    border-radius: 18px;
  }

  .timeline-note-card,
  .timeline-study-card,
  .timeline-path-card {
    border-radius: 22px;
  }
}


/* =========================================================
   BPG v9.3.1 — Timeline Column Prep Handoff
   Use the Daniel 2 v9.0.15 method:
   - artwork as transparent/clean visual
   - no visible box behind the column
   - image centered by stage
   - size controlled by height/max-height/transform
   - HTML/CSS marker numbers and lines
   Fine tune here first, then save as v9.4.0 when approved.
   ========================================================= */

.timeline-column-art {
  position: relative;
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  align-content: stretch;
  justify-items: center;
  align-items: stretch;
  min-height: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible;
}

.timeline-column-art::before,
.timeline-column-art::after,
.timeline-column-stage::before,
.timeline-column-stage::after {
  display: none !important;
  content: none !important;
}

.timeline-column-stage {
  display: grid;
  align-content: stretch;
  justify-items: center;
  align-items: stretch;
  min-height: 100%;
  height: 100%;
  width: 100%;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}

.timeline-column-stage picture,
.timeline-column-stage img {
  display: block;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.timeline-column-stage img {
  width: auto;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center center;
  margin: 0 auto;
  filter: drop-shadow(0 22px 22px rgba(0, 0, 0, 0.12));
}

.timeline-marker-rail {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-rows: repeat(8, 1fr);
  align-items: center;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.timeline-marker {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.timeline-marker-dot {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #000;
  color: #fff;
  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1;
  box-shadow:
    0 0 0 6px rgba(255, 255, 255, 0.92),
    0 8px 18px rgba(17, 17, 17, 0.12);
}

.timeline-marker-line {
  display: block;
  flex: 1 1 auto;
  min-width: 1.9rem;
  height: 2px;
  margin-left: 0.48rem;
  background: linear-gradient(90deg, rgba(29, 29, 31, 0.42), rgba(29, 29, 31, 0.12));
}

.timeline-marker-line::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin-left: auto;
  margin-top: -2px;
  border-radius: 999px;
  background: rgba(29, 29, 31, 0.38);
}

/* DESKTOP LIVE TUNING CONTROLS */
@media (min-width: 1041px) {
  .timeline-clean-layout {
    grid-template-columns: minmax(0, 0.96fr) minmax(460px, 1.1fr);
    align-items: stretch;
  }

  .timeline-column-art {
    min-height: 100%;
    grid-template-columns: 5rem minmax(0, 1fr);
  }

  .timeline-column-stage img {
    height: 115%;
    max-height: 1280px;
    transform: translate(0px, -6px);
  }

  .timeline-marker-rail {
    transform: translateY(-6px);
  }
}

/* TABLET */
@media (max-width: 1040px) {
  .timeline-clean-layout {
    grid-template-columns: 1fr;
  }

  .timeline-column-art {
    order: -1;
    grid-template-columns: 4rem minmax(0, 1fr);
    height: auto;
    min-height: 720px;
    padding: 0.5rem 0;
  }

  .timeline-column-stage img {
    width: min(100%, 380px);
    height: auto;
    max-height: none;
    transform: translate(0px, 0px);
  }

  .timeline-marker-rail {
    min-height: 680px;
    transform: translateY(0px);
  }
}

/* IPHONE */
@media (max-width: 680px) {
  .timeline-column-art {
    grid-template-columns: 3.25rem minmax(0, 1fr);
    min-height: 600px;
  }

  .timeline-column-stage img {
    width: min(100%, 310px);
    height: auto;
    max-height: none;
    transform: translate(0px, 0px);
  }

  .timeline-marker-rail {
    min-height: 560px;
  }

  .timeline-marker-dot {
    width: 1.72rem;
    height: 1.72rem;
    font-size: 0.78rem;
  }

  .timeline-marker-line {
    min-width: 1.15rem;
    margin-left: 0.32rem;
  }

  .timeline-marker-line::after {
    width: 5px;
    height: 5px;
    margin-top: -1.5px;
  }
}

/* =========================================================
   BPG v9.3.3 REVIEW — Timeline Column Daniel 2 Method
   Narrow layer carried forward from v9.3.2 and applied on top of proven v9.3.1.
   Purpose:
   - keep Daniel 2 statue untouched
   - use transparent/cropped column artwork like the statue asset
   - center the column artwork independently from markers
   - overlay HTML/CSS marker rail and connector lines like Daniel 2
   - leave live tuning controls in one obvious place
   ========================================================= */

.timeline-column-art {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  align-content: stretch;
  justify-items: center;
  align-items: stretch;
  min-height: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible;
}

.timeline-column-stage {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  align-content: center;
  justify-items: center;
  align-items: center;
  width: 100%;
  min-height: 100%;
  height: 100%;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}

.timeline-column-stage picture,
.timeline-column-stage img {
  display: block;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.timeline-column-stage img {
  width: auto;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center center;
  margin: 0 auto;
  filter: drop-shadow(0 22px 22px rgba(0, 0, 0, 0.12));
}

.timeline-marker-rail {
  position: absolute;
  z-index: 5;
  top: 6%;
  bottom: 5%;
  left: clamp(0.35rem, 1.3vw, 1rem);
  width: clamp(3.4rem, 5vw, 4.8rem);
  display: grid;
  grid-template-rows: repeat(8, 1fr);
  align-items: center;
  pointer-events: none;
}

.timeline-marker {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.timeline-marker-dot {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #000;
  color: #fff;
  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1;
  box-shadow:
    0 0 0 6px rgba(255, 255, 255, 0.92),
    0 8px 18px rgba(17, 17, 17, 0.12);
}

.timeline-marker-line {
  display: block;
  flex: 1 1 auto;
  min-width: 1.75rem;
  height: 2px;
  margin-left: 0.48rem;
  background: linear-gradient(90deg, rgba(29, 29, 31, 0.42), rgba(29, 29, 31, 0.12));
}

.timeline-marker-line::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin-left: auto;
  margin-top: -2px;
  border-radius: 999px;
  background: rgba(29, 29, 31, 0.38);
}

/* DESKTOP LIVE TUNING CONTROLS — adjust here first */
@media (min-width: 1041px) {
  .timeline-clean-layout {
    grid-template-columns: minmax(0, 0.96fr) minmax(460px, 1.1fr);
    align-items: stretch;
  }

  .timeline-column-art {
    min-height: 100%;
  }

  .timeline-column-stage img {
    height: 118%;
    max-height: 1320px;
    transform: translate(0px, -10px);
  }

  .timeline-marker-rail {
    top: 6%;
    bottom: 5%;
    left: clamp(0.35rem, 1.3vw, 1rem);
    width: clamp(3.4rem, 5vw, 4.8rem);
    transform: translateY(-10px);
  }
}

@media (max-width: 1040px) {
  .timeline-column-art {
    order: -1;
    height: auto;
    min-height: 720px;
    padding: 0.5rem 0;
  }

  .timeline-column-stage img {
    width: min(100%, 380px);
    height: auto;
    max-height: none;
    transform: translate(0px, 0px);
  }

  .timeline-marker-rail {
    top: 6%;
    bottom: 5%;
    left: calc(50% - 190px);
    width: 4rem;
    transform: translateY(0px);
  }
}

@media (max-width: 680px) {
  .timeline-column-art {
    min-height: 600px;
  }

  .timeline-column-stage img {
    width: min(100%, 310px);
    height: auto;
    max-height: none;
    transform: translate(0px, 0px);
  }

  .timeline-marker-rail {
    top: 6%;
    bottom: 5%;
    left: calc(50% - 155px);
    width: 3.35rem;
  }

  .timeline-marker-dot {
    width: 1.72rem;
    height: 1.72rem;
    font-size: 0.78rem;
  }

  .timeline-marker-line {
    min-width: 1.15rem;
    margin-left: 0.32rem;
  }

  .timeline-marker-line::after {
    width: 5px;
    height: 5px;
    margin-top: -1.5px;
  }
}

/* =========================================================
   BPG v9.3.4 REVIEW — Timeline Column Actual Daniel 2 Method
   Applied after v9.3.3 review based on live check.
   Purpose:
   - make the column artwork behave like the Daniel 2 statue
   - keep transparent artwork only, no visual stage/background box
   - remove nested-stage sizing conflict by allowing the image to size from the figure
   - center and enlarge the column while leaving marker rail CSS-adjustable
   ========================================================= */

.timeline-column-art {
  position: relative;
  display: grid;
  align-content: stretch;
  justify-items: center;
  align-items: stretch;
  margin: 0;
  min-height: 100%;
  height: 100%;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}

.timeline-column-stage,
.timeline-column-stage picture {
  display: contents;
}

.timeline-column-stage img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center center;
  margin: 0 auto;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 22px 22px rgba(0, 0, 0, 0.12));
}

.timeline-marker-rail {
  position: absolute;
  z-index: 5;
  top: 6%;
  bottom: 5%;
  left: clamp(0.35rem, 1.3vw, 1rem);
  width: clamp(3.4rem, 5vw, 4.8rem);
  display: grid;
  grid-template-rows: repeat(8, 1fr);
  align-items: center;
  pointer-events: none;
}

/* DESKTOP LIVE TUNING CONTROLS — match Daniel 2 statue logic first */
@media (min-width: 1041px) {
  .timeline-clean-layout {
    grid-template-columns: minmax(0, 0.96fr) minmax(460px, 1.1fr);
    align-items: stretch;
  }

  .timeline-column-art {
    min-height: 100%;
    height: 100%;
  }

  .timeline-column-stage img {
    height: 122%;
    max-height: 1380px;
    transform: translate(0px, -12px);
  }

  .timeline-marker-rail {
    top: 6%;
    bottom: 5%;
    left: clamp(0.35rem, 1.3vw, 1rem);
    width: clamp(3.4rem, 5vw, 4.8rem);
    transform: translateY(-12px);
  }
}

@media (max-width: 1040px) {
  .timeline-column-art {
    order: -1;
    height: auto;
    min-height: 720px;
    padding: 0.5rem 0;
  }

  .timeline-column-stage img {
    width: min(100%, 400px);
    height: auto;
    max-height: none;
    transform: translate(0px, 0px);
  }

  .timeline-marker-rail {
    top: 6%;
    bottom: 5%;
    left: calc(50% - 200px);
    width: 4rem;
    transform: translateY(0px);
  }
}

@media (max-width: 680px) {
  .timeline-column-art {
    min-height: 620px;
  }

  .timeline-column-stage img {
    width: min(100%, 330px);
    height: auto;
    max-height: none;
    transform: translate(0px, 0px);
  }

  .timeline-marker-rail {
    top: 6%;
    bottom: 5%;
    left: calc(50% - 165px);
    width: 3.35rem;
  }
}

/* =========================================================
   BPG v9.3.6 REVIEW — Timeline Column Centered Daniel 2 Method
   Scope: Prophecy Timeline column only.
   Purpose:
   - make the column behave like the approved Daniel 2 statue visual
   - remove the nested stage conflict
   - center the artwork vertically and horizontally inside the art figure
   - keep background transparent
   - keep HTML/CSS marker numbers and connector lines independent from image
   - leave one small tuning area for live adjustment
   ========================================================= */

.timeline-column-art {
  position: relative;
  display: grid;
  align-content: stretch;
  justify-items: center;
  align-items: stretch;
  min-height: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}

.timeline-column-picture {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}

.timeline-column-picture img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center center;
  margin: 0 auto;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 22px 22px rgba(0, 0, 0, 0.12));
}

.timeline-marker-rail {
  position: absolute;
  z-index: 5;
  top: 6%;
  bottom: 5%;
  left: clamp(0.35rem, 1.3vw, 1rem);
  width: clamp(3.4rem, 5vw, 4.8rem);
  display: grid;
  grid-template-rows: repeat(8, 1fr);
  align-items: center;
  pointer-events: none;
}

/* DESKTOP LIVE TUNING CONTROLS — adjust these first */
@media (min-width: 1041px) {
  .timeline-clean-layout {
    grid-template-columns: minmax(0, 0.96fr) minmax(460px, 1.1fr);
    align-items: stretch;
  }

  .timeline-column-art {
    min-height: 100%;
    height: 100%;
  }

  .timeline-column-picture img {
    height: 116%;
    max-height: 1340px;
    transform: translate(0px, -4%);
  }

  .timeline-marker-rail {
    top: 6%;
    bottom: 5%;
    left: clamp(0.35rem, 1.3vw, 1rem);
    width: clamp(3.4rem, 5vw, 4.8rem);
    transform: translateY(0px);
  }
}

@media (max-width: 1040px) {
  .timeline-clean-layout {
    grid-template-columns: 1fr;
  }

  .timeline-column-art {
    order: -1;
    height: auto;
    min-height: 720px;
    padding: 0.5rem 0;
  }

  .timeline-column-picture {
    min-height: 720px;
  }

  .timeline-column-picture img {
    width: min(100%, 410px);
    height: auto;
    max-height: none;
    transform: translate(0px, -1.5%);
  }

  .timeline-marker-rail {
    top: 6%;
    bottom: 5%;
    left: calc(50% - 205px);
    width: 4rem;
    transform: translateY(0px);
  }
}

@media (max-width: 680px) {
  .timeline-column-art {
    min-height: 620px;
  }

  .timeline-column-picture {
    min-height: 620px;
  }

  .timeline-column-picture img {
    width: min(100%, 335px);
    height: auto;
    max-height: none;
    transform: translate(0px, -1%);
  }

  .timeline-marker-rail {
    top: 6%;
    bottom: 5%;
    left: calc(50% - 167px);
    width: 3.35rem;
  }
}

/* =========================================================
   BPG v9.3.7 REVIEW — Timeline Column Graphic Template Correction
   Scope: Prophecy Timeline column only.
   Standard to reuse for future BPG graphics with HTML/CSS cards:
   - artwork image contains artwork only with transparent background
   - figure/stage has no background, border, or visible box
   - image is centered as the main visual object
   - marker rail, numbers, and connector lines are HTML/CSS, not baked into art
   - marker CSS follows the approved Daniel 2 statue method
   ========================================================= */

.timeline-column-art {
  position: relative;
  display: grid;
  align-content: stretch;
  justify-items: center;
  align-items: stretch;
  justify-self: center;
  width: min(100%, 540px);
  min-height: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}

.timeline-column-art::before,
.timeline-column-art::after,
.timeline-column-picture::before,
.timeline-column-picture::after {
  content: none !important;
  display: none !important;
}

.timeline-column-picture {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}

.timeline-column-picture img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center center;
  margin: 0 auto;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 22px 22px rgba(0, 0, 0, 0.12));
}

.timeline-marker-rail {
  position: absolute;
  z-index: 5;
  top: 6%;
  bottom: 5%;
  left: clamp(0.35rem, 1.3vw, 1rem);
  width: clamp(3.4rem, 5vw, 4.8rem);
  display: grid;
  grid-template-rows: repeat(8, 1fr);
  align-items: center;
  pointer-events: none;
}

.timeline-marker {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.timeline-marker-dot {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #000;
  color: #fff;
  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1;
  box-shadow:
    0 0 0 6px rgba(255, 255, 255, 0.92),
    0 8px 18px rgba(17, 17, 17, 0.12);
}

.timeline-marker-line {
  display: block;
  flex: 1 1 auto;
  min-width: 1.75rem;
  height: 2px;
  margin-left: 0.48rem;
  background: linear-gradient(90deg, rgba(29, 29, 31, 0.42), rgba(29, 29, 31, 0.12));
}

.timeline-marker-line::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin-left: auto;
  margin-top: -2px;
  border-radius: 999px;
  background: rgba(29, 29, 31, 0.38);
}

/* DESKTOP LIVE TUNING CONTROLS — adjust these first after upload. */
@media (min-width: 1041px) {
  .timeline-clean-layout {
    grid-template-columns: minmax(0, 0.96fr) minmax(460px, 1.1fr);
    align-items: stretch;
  }

  .timeline-column-art {
    width: min(100%, 540px);
    min-height: 100%;
    height: 100%;
  }

  .timeline-column-picture img {
    height: 122%;
    max-height: 1420px;
    transform: translate(0px, -11%);
  }

  .timeline-marker-rail {
    top: 6%;
    bottom: 5%;
    left: clamp(0.35rem, 1.3vw, 1rem);
    width: clamp(3.4rem, 5vw, 4.8rem);
    transform: translateY(-11%);
  }
}

@media (max-width: 1040px) {
  .timeline-clean-layout {
    grid-template-columns: 1fr;
  }

  .timeline-column-art {
    order: -1;
    width: min(100%, 460px);
    height: auto;
    min-height: 760px;
    padding: 0.5rem 0;
  }

  .timeline-column-picture {
    min-height: 760px;
  }

  .timeline-column-picture img {
    width: min(100%, 410px);
    height: auto;
    max-height: none;
    transform: translate(0px, -4%);
  }

  .timeline-marker-rail {
    top: 6%;
    bottom: 5%;
    left: calc(50% - 205px);
    width: 4rem;
    transform: translateY(-4%);
  }
}

@media (max-width: 680px) {
  .timeline-column-art {
    width: min(100%, 370px);
    min-height: 640px;
  }

  .timeline-column-picture {
    min-height: 640px;
  }

  .timeline-column-picture img {
    width: min(100%, 340px);
    height: auto;
    max-height: none;
    transform: translate(0px, -2%);
  }

  .timeline-marker-rail {
    top: 6%;
    bottom: 5%;
    left: calc(50% - 170px);
    width: 3.35rem;
    transform: translateY(-2%);
  }

  .timeline-marker-dot {
    width: 1.72rem;
    height: 1.72rem;
    font-size: 0.78rem;
  }

  .timeline-marker-line {
    min-width: 1.15rem;
    margin-left: 0.32rem;
  }

  .timeline-marker-line::after {
    width: 5px;
    height: 5px;
    margin-top: -1.5px;
  }
}


/* =========================================================
   BPG v9.3.8 REVIEW — Final Prophecy Timeline Graphic Placement
   This layer uses the new 8-medallion centered column artwork.
   Standard method for future BPG image + HTML-card visuals:
   1. Count the cards first.
   2. Design artwork anchor points around card centers.
   3. Use HTML/CSS numbers and lines.
   4. Keep artwork transparent and decorative/supporting.
   5. Tune only after desktop/tablet/mobile preview.
   ========================================================= */

.timeline-column-art {
  width: min(100%, 520px);
}

.timeline-column-picture img {
  object-position: center center;
}

/* Desktop live tuning controls for the final 8-medallion column. */
@media (min-width: 1041px) {
  .timeline-column-art {
    width: min(100%, 520px);
  }

  .timeline-column-picture img {
    height: 126%;
    max-height: 1500px;
    transform: translate(0px, -4%);
  }

  .timeline-marker-rail {
    top: 5.5%;
    bottom: 5.5%;
    left: clamp(0.35rem, 1.3vw, 1rem);
    width: clamp(3.4rem, 5vw, 4.8rem);
    transform: translateY(0);
  }
}

@media (max-width: 1040px) {
  .timeline-column-art {
    width: min(100%, 455px);
    min-height: 780px;
  }

  .timeline-column-picture {
    min-height: 780px;
  }

  .timeline-column-picture img {
    width: min(100%, 405px);
    transform: translate(0px, -2%);
  }

  .timeline-marker-rail {
    top: 5.5%;
    bottom: 5.5%;
    left: calc(50% - 202px);
    transform: translateY(0);
  }
}

@media (max-width: 680px) {
  .timeline-column-art {
    width: min(100%, 365px);
    min-height: 650px;
  }

  .timeline-column-picture {
    min-height: 650px;
  }

  .timeline-column-picture img {
    width: min(100%, 335px);
    transform: translate(0px, -1.5%);
  }

  .timeline-marker-rail {
    top: 5.5%;
    bottom: 5.5%;
    left: calc(50% - 168px);
    transform: translateY(0);
  }
}
