/* Class-only styling is also retained by the ID-free section-transition snapshots. */
.journeys .section-heading > p {
  position:relative;
  padding:24px 28px;
  border-radius:20px 20px 4px 20px;
  background:#dfecc9;
  color:var(--ink,#1b261e);
  box-shadow:0 3px 0 #1b261e12;
}
.journeys .section-heading > p::after {
  content:'';
  position:absolute;
  right:-10px;
  bottom:0;
  width:20px;
  height:20px;
  background:inherit;
  clip-path:polygon(0 0,100% 100%,0 100%);
}
.journey-carousel-status {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

@media (min-width:800px) and (min-height:680px) and (prefers-reduced-motion:no-preference) {
  .journeys.journey-carousel-enabled {
    height:calc(100svh - var(--header-height,85px));
    min-height:0;
    padding-block:clamp(20px,3vh,40px);
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto minmax(0,1fr);
    justify-content:stretch;
    gap:24px;
    overflow:hidden;
    isolation:isolate;
  }
  .journey-carousel-enabled .section-heading {
    margin:0;
    gap:32px;
    align-items:center;
    position:relative;
    z-index:2;
  }
  .journey-carousel-enabled .section-heading h2 {
    font-size:clamp(48px,min(6vw,9vh),104px);
    line-height:1.02;
    margin:0;
  }
  .journey-carousel-enabled .section-heading > p {
    font-size:clamp(15px,1.15vw,19px);
    line-height:1.55;
    max-width:390px;
    flex:0 0 29%;
    margin:0;
  }
  .journey-carousel-enabled .journey-carousel-viewport {
    min-height:0;
    position:relative;
    overflow:hidden;
    touch-action:pan-y pinch-zoom;
    cursor:grab;
  }
  .journey-carousel-enabled .journey-carousel-viewport.is-dragging { cursor:grabbing; user-select:none; }
  .journey-carousel-enabled .journey-carousel-viewport:focus-visible { outline:2px solid var(--green); outline-offset:-3px; }
  .journey-carousel-enabled .journey-grid {
    display:block;
    position:relative;
    width:100%;
    height:100%;
    margin:0;
  }
  .journey-carousel-enabled .journey-grid > article {
    position:absolute;
    left:50%;
    top:50%;
    width:clamp(320px,32vw,460px);
    margin-left:calc(clamp(320px,32vw,460px) / -2);
    height:min(610px,calc(100% - 24px));
    translate:0 -50%;
    display:flex;
    flex-direction:column;
    padding:20px 24px 24px;
    border:1px solid var(--ink,#1b261e);
    border-top:3px solid var(--green,#145c45);
    background:var(--cream,#f5f1e6);
    box-shadow:5px 6px 0 #1b261e14;
    transform-origin:center;
    will-change:transform,opacity;
  }
  .journey-carousel-enabled .journey-grid .journey-art {
    width:100%;
    height:0;
    min-height:55px;
    max-height:none;
    flex:1 1 180px;
    object-fit:contain;
    background:#eedeca;
    aspect-ratio:auto;
    margin:0 0 14px;
    pointer-events:none;
  }
  .journey-carousel-enabled .journey-grid article > span { flex:none; line-height:1.4; }
  .journey-carousel-enabled .journey-grid h3 { flex:none; font-size:clamp(26px,2.2vw,34px); line-height:1.15; margin:14px 0 12px; }
  .journey-carousel-enabled .journey-grid p { flex:none; font-size:clamp(14px,1.1vw,17px); line-height:1.5; margin:0; }
}

@media (max-width:799px) {
  .journeys .section-heading > p { margin-top:24px; padding:20px 24px; }
  .journeys .journey-grid { grid-template-columns:1fr; }
  .journeys .journey-grid > article { max-width:480px; width:100%; margin-inline:auto; }
}

@media (prefers-reduced-motion:reduce), (max-height:679px) {
  .journeys .journey-carousel-viewport { overflow:visible; }
}
