.ohms-puzzle-journey {
  display:flex;
  align-items:stretch;
  gap:1.25rem;
  max-width:1180px;
  margin:2.5rem auto 0;
  padding:1.25rem .75rem 1.75rem;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
}
.ohms-puzzle-journey__item {
  --ohms-piece:#27C4C3;
  --ohms-piece-text:#153B6D;
  position:relative;
  flex:1 0 185px;
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:.18rem;
  padding:1.2rem 1.1rem;
  color:var(--ohms-piece-text)!important;
  background:var(--ohms-piece);
  border-radius:28px;
  box-shadow:0 14px 32px rgba(21,59,109,.13);
  text-align:center;
  text-decoration:none!important;
  scroll-snap-align:center;
  transition:transform .2s ease, box-shadow .2s ease;
}
.ohms-puzzle-journey__item:not(:last-child)::after {
  content:"";
  position:absolute;
  z-index:2;
  right:-1.85rem;
  top:50%;
  width:2.7rem;
  height:2.7rem;
  transform:translateY(-50%);
  border-radius:50%;
  background:var(--ohms-piece);
  box-shadow:8px 0 15px rgba(21,59,109,.05);
}
.ohms-puzzle-journey__item:not(:first-child)::before {
  content:"";
  position:absolute;
  left:-.85rem;
  top:50%;
  width:1.7rem;
  height:1.7rem;
  transform:translateY(-50%);
  border-radius:50%;
  background:#eff0f7;
  box-shadow:inset 0 0 0 1px rgba(21,59,109,.03);
}
.ohms-puzzle-journey__item:hover,
.ohms-puzzle-journey__item:focus-visible {
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(21,59,109,.2);
}
.ohms-puzzle-journey__flag { font-size:1.75rem; line-height:1; }
.ohms-puzzle-journey__period { font-family:Poppins,Aptos,Arial,sans-serif; font-size:1.05rem; line-height:1.25; }
.ohms-puzzle-journey__country { font-family:Poppins,Aptos,Arial,sans-serif; font-size:.92rem; font-weight:600; opacity:.9; }
.ohms-empty-state { max-width:900px; margin:2rem auto; padding:1rem 1.25rem; border-radius:16px; background:#fff; }

/* Legacy class retained for compatibility with older cached markup. */
.ohms-timeline-static { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; align-items:center; position:relative; max-width:1180px; margin:2.5rem auto 0; }
.ohms-timeline-item { color:#153B6D; text-decoration:none; }
.ohms-timeline-item span { font-size:2rem; display:block; }
.ohms-timeline-item small { display:block; opacity:.75; }

.ohms-map-wrap { position:relative; max-width:1080px; margin:2rem auto 0; min-height:520px; }
.ohms-map { width:100%; height:auto; fill:rgba(255,255,255,.13); stroke:rgba(255,255,255,.22); stroke-width:2; }
.ohms-map-pin { position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%); display:flex; align-items:center; gap:.4rem; padding:.45rem .7rem; color:#153B6D!important; background:#fff; border-radius:999px; box-shadow:0 10px 25px rgba(0,0,0,.24); font-family:Poppins,Aptos,Arial,sans-serif; font-weight:700; white-space:nowrap; }
.ohms-map-pin:hover { transform:translate(-50%,-58%) scale(1.04); }
.ohms-map-pin span { font-size:1.25rem; }
.ohms-countdown { margin-top:1rem; padding:1rem; border-radius:18px; background:#F8F6F1; text-align:center; }
.ohms-countdown small { display:block; margin-bottom:.5rem; font-family:Poppins,Aptos,Arial,sans-serif; color:#153B6D; }
.ohms-countdown-grid { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto; gap:.35rem; align-items:end; color:#153B6D; }
.ohms-countdown-grid b { font-size:1.65rem; color:#27C4C3; }
.ohms-countdown-grid span { font-size:.72rem; padding-bottom:.32rem; }
.ohms-countdown.is-complete { display:flex; justify-content:center; gap:.5rem; align-items:center; }
.ohms-featured-story h4 { color:#fff; font-size:1.45rem; margin:.5rem 0; }
.ohms-featured-story a { color:#fff; }
.ohms-featured-story .ohms-text-link { color:#27C4C3; font-weight:700; }
.ohms-guestbook { display:grid; gap:1rem; }
.ohms-guestbook blockquote { margin:0; padding:1.25rem; border:0; border-radius:22px; background:#fff; box-shadow:0 12px 30px rgba(21,59,109,.09); }
.ohms-guestbook cite { display:block; margin-top:.6rem; font-style:normal; font-weight:700; color:#27C4C3; }
.ohms-memory-wall { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.ohms-memory-wall a { position:relative; overflow:hidden; border-radius:20px; aspect-ratio:1; }
.ohms-memory-wall img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.ohms-memory-wall a:hover img { transform:scale(1.04); }
.ohms-memory-wall span { position:absolute; left:.6rem; right:.6rem; bottom:.6rem; background:rgba(21,59,109,.86); color:#fff; padding:.4rem .6rem; border-radius:12px; font-size:.78rem; }
.ohms-story-meta { text-align:center; color:#27C4C3; font-family:Poppins,Aptos,Arial,sans-serif; font-weight:700; }

@media(max-width:900px){
  .ohms-map-wrap{min-height:420px}
  .ohms-map-pin small{display:none}
}
@media(max-width:560px){
  .ohms-puzzle-journey { margin-top:1.5rem; padding-inline:.25rem; }
  .ohms-puzzle-journey__item { flex-basis:165px; min-height:118px; }
  .ohms-map-wrap{min-height:320px}
  .ohms-map-pin{padding:.35rem}
  .ohms-countdown-grid{grid-template-columns:repeat(3,1fr)}
  .ohms-countdown-grid span{display:none}
}
