#temple-journey {
    --journey-wine: #800b23;
    --journey-gold: #bb8745;
    position: relative;
    height: auto;
    min-height: 0;
    padding: clamp(52px, 6vw, 86px) 0 clamp(52px, 6vw, 84px);
    overflow: hidden;
    background: radial-gradient(ellipse at 50% 0%, #fffaf1, #fffdf8 60%);
    color: var(--journey-wine);
  }
  #temple-journey .jp-inner { width: min(1480px, calc(100% - 72px)); margin: auto; }
  #temple-journey .jp-heading { text-align: center; margin-bottom: 38px; }
  #temple-journey .journey-eyebrow {
    margin: 0 0 12px; color: #a47338; font-family: var(--sans);
    font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase;
  }
  #temple-journey .jp-heading h2 {
    margin: 0; color: #800b23; font: 600 var(--section-heading-size, clamp(34px,3.55vw,56px)) / 1.08 var(--serif);
    letter-spacing: 0;
  }
  #temple-journey .jp-subtitle {
    margin: 10px auto 0; color: #6d625c; font: 400 clamp(12px, 1vw, 15px)/1.6 var(--sans);
  }
  #temple-journey .jp-row { display: grid; gap: 18px 14px; align-items: start; }
  #temple-journey .jp-row-top { grid-template-columns: repeat(5, minmax(0,1fr)); }
  #temple-journey .jp-row-bottom {
    grid-template-columns: repeat(5, minmax(0,1fr));
    margin-top: 18px;
  }
  #temple-journey .jp-stage { min-width: 0; position: relative; display: flex; flex-direction: column; }
  #temple-journey .jp-stage-heading {
    min-height: 132px; height: 132px; text-align: center; padding: 0 6px 14px;
    display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  }
  #temple-journey .jp-number {
    display: grid; place-items: center; width: 35px; height: 35px;
    margin: 0 auto 9px; border-radius: 50%; background: #b5803c; color: #fff;
    font: 600 15px/1 var(--sans); font-variant-numeric: tabular-nums;
  }
  #temple-journey .jp-stage h3 {
    margin: 0; color: #800b23; font: 600 clamp(20px, 1.8vw, 28px)/1.02 var(--serif);
  }
  #temple-journey .jp-stage p {
    max-width: 210px; margin: 7px auto 0; color: #5f5853;
    font: 400 clamp(11px, .86vw, 13px)/1.45 var(--sans);
  }
  #temple-journey .jp-status {
    display: inline-flex; width: max-content; margin-top: 8px; padding: 4px 9px;
    border-radius: 999px; background: #f7ead8; color: #800b23;
    font: 700 10px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase;
  }
  #temple-journey .jp-stage[data-status="Completed"] .jp-status { background: #800b23; color: #fff; }
  #temple-journey .jp-stage[data-status="In Progress"] .jp-status { background: #d4aa6d; color: #3d271b; }
  #temple-journey .jp-photo {
    position: relative; height: clamp(158px, 17vw, 250px); overflow: hidden;
    border-radius: 6px; background: #f1e8d7;
  }
  #temple-journey .jp-photo img {
    display: block; width: 100%; height: 100%; object-fit: cover;
    object-position: center; transition: transform 600ms ease;
  }
  #temple-journey .jp-stage:hover .jp-photo img { transform: scale(1.045); }
  #temple-journey .jp-row-top .jp-photo,
  #temple-journey .jp-row-bottom .jp-photo { border-bottom: 3px solid #d4aa6d; }
  #temple-journey .jp-flow { display: none; }
  #temple-journey .jp-row-bottom .jp-stage:nth-child(1) { grid-column: 1; }
  #temple-journey .jp-row-bottom .jp-stage:nth-child(2) { grid-column: 2; }
  #temple-journey .jp-row-bottom .jp-stage:nth-child(3) { grid-column: 3; }
  #temple-journey .jp-row-bottom .jp-stage:nth-child(4) { grid-column: 4; }
  #temple-journey .jp-bottom-link {
    display: flex; justify-content: center; gap: 18px; margin-top: 32px; flex-wrap: wrap;
  }
  #temple-journey .jp-bottom-link a {
    display: inline-flex; align-items: center; justify-content: center; min-height: 42px;
    padding: 0 19px; border: 1px solid #bd945d; border-radius: 999px;
    font: 600 11px/1 var(--sans); letter-spacing: .05em; color: #800b23;
    background: rgba(255,253,248,.8); transition: background .2s, transform .2s;
  }
  #temple-journey .jp-bottom-link a:hover { background: #f9eddf; transform: translateY(-2px); }
  @media(max-width: 900px) {
    #temple-journey .jp-inner { width: min(100% - 36px, 720px); }
    #temple-journey .jp-row-top, #temple-journey .jp-row-bottom { grid-template-columns: repeat(2, minmax(0,1fr)); }
    #temple-journey .jp-row-bottom { margin-top: 12px; }
    #temple-journey .jp-row-bottom .jp-stage:nth-child(n) { grid-column: auto; }
    #temple-journey .jp-stage-heading, #temple-journey .jp-row-bottom .jp-stage-heading { min-height: 118px; height: 118px; }
    #temple-journey .jp-photo { height: clamp(145px, 31vw, 225px); }
  }
  @media(max-width: 520px) {
    #temple-journey { padding: 48px 0 56px; }
    #temple-journey .jp-heading h2 { font-size: var(--section-heading-mobile-size, 39px); }
    #temple-journey .jp-row { gap: 18px 10px; }
    #temple-journey .jp-stage h3 { font-size: 21px; }
    #temple-journey .jp-stage p { font-size: 11px; }
    #temple-journey .jp-number { width: 30px; height: 30px; font-size: 12px; }
    #temple-journey .jp-stage-heading, #temple-journey .jp-row-bottom .jp-stage-heading { min-height: 126px; height: 126px; }
  }
  @media(prefers-reduced-motion: reduce) { #temple-journey .jp-photo img { transition: none; } }
