/* Hallmark · pre-emit critique: P5 H5 E4 S5 R4 V4
 * User reference · three alternating service explanations */
.service-journey {
  --journey-ink: #071a3a;
  --journey-blue: #1763df;
  --journey-pale: #eaf5ff;
  --journey-line: #cee4fb;
  padding-block: 76px 58px;
  background: var(--color-white);
  color: var(--journey-ink);
}
.service-journey .container { max-width: 1180px; }
.journey-flow { grid-column: 1 / -1; width: 100%; text-align: center; list-style: none; padding: 0; margin: 0 auto 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 52px; max-width: 1050px; }
.journey-flow li { position: relative; border-radius: var(--radius-pill); padding: 9px 12px; background: var(--journey-pale); color: var(--journey-blue); font-size: 19px; font-weight: 700; line-height: 1.4; }
.journey-flow li + li::before { content: '→'; position: absolute; right: calc(100% + 13px); top: 50%; transform: translateY(-50%); font-size: 31px; font-weight: 400; }
.journey-row { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; gap: 24px; padding: 24px 0; }
.journey-row + .journey-row { border-top: 1px solid var(--journey-line); }
.journey-copy { min-width: 0; padding: 18px; }
.journey-copy h3 { font-size: clamp(24px, 3vw, 36px); font-weight: 700; line-height: 1.5; letter-spacing: -.03em; }
.journey-copy > p { font-size: 18px; line-height: 1.8; margin-top: 22px; }
.journey-copy .journey-services { border-top: 1px solid var(--journey-line); padding-top: 16px; color: var(--journey-blue); font-size: 19px; font-weight: 600; }
.journey-visual { width: 100%; margin: 0; background-repeat: no-repeat; background-size: contain; background-position: center; }
.journey-analysis { aspect-ratio: 1536 / 1024; background-image: url('assets/journey-analysis-highres.png'); }
.journey-content { aspect-ratio: 1406 / 1119; background-image: url('assets/journey-content-highres.png'); }
.journey-booking { aspect-ratio: 1536 / 1024; background-image: url('assets/journey-booking-highres.png'); }
.journey-row-reverse { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.journey-row-reverse .journey-visual { grid-column: 1; grid-row: 1; }
.journey-row-reverse .journey-copy { grid-column: 2; grid-row: 1; }
.journey-closing { text-align: center; padding-top: 26px; }
.journey-closing p:first-child { font-size: 23px; font-weight: 700; }
.journey-closing p + p { font-size: 20px; margin-top: 8px; }
@media (max-width: 1000px) {
  .journey-copy { padding: 10px; }
  .journey-copy > p { font-size: 16px; }
  .journey-copy > p br { display: none; }
  .journey-copy .journey-services { font-size: 16px; }
  .journey-flow li { font-size: 16px; }
}
@media (max-width: 800px) {
  .service-journey { padding-block: 54px 44px; }
  .journey-flow { gap: 32px; }
  .journey-flow li { font-size: 13px; padding-inline: 6px; }
  .journey-flow li + li::before { font-size: 23px; right: calc(100% + 6px); }
  .journey-row, .journey-row-reverse { grid-template-columns: minmax(0, 1fr); gap: 12px; max-width: 580px; margin-inline: auto; }
  .journey-row-reverse .journey-visual, .journey-row-reverse .journey-copy { grid-column: auto; grid-row: auto; }
  .journey-copy h3 { font-size: 30px; }
  .journey-copy { padding: 10px 0; }
  .journey-closing p:first-child { font-size: 20px; }
  .journey-closing p + p { font-size: 17px; }
}
@media (max-width: 480px) {
  .journey-flow { grid-template-columns: minmax(0, 1fr); gap: 25px; max-width: 245px; margin-block: 24px 16px; }
  .journey-flow li { font-size: 15px; }
  .journey-flow li + li::before { content: '↓'; top: -25px; left: 50%; right: auto; transform: translateX(-50%); font-size: 20px; }
  .journey-copy h3 { font-size: 25px; }
  .journey-copy > p { font-size: 14px; margin-top: 16px; }
  .journey-copy .journey-services { font-size: 13px; }
  .journey-closing { padding-top: 16px; }
  .journey-closing p:first-child { font-size: 17px; line-height: 1.8; }
  .journey-closing p + p { font-size: 14px; line-height: 1.8; }
}

/* Intro follows the centered section headings used throughout the page. */
.journey-intro { display: block; text-align: center; }
.journey-intro-heading { padding: 0; }
.journey-intro h2 { font-size: clamp(30px, 3.8vw, 48px); line-height: 1.5; font-weight: 800; letter-spacing: -.025em; }
.journey-subtitle { font-size: 20px; line-height: 1.8; font-weight: 500; margin-top: 18px; }
.journey-expertise { color: var(--journey-blue); font-size: 28px; font-weight: 700; line-height: 1.65; margin: 26px auto 0; padding: 0; border: 0; }
.journey-intro .journey-flow { margin-top: 36px; }
@media (max-width: 800px) {
  .journey-intro h2 { font-size: 34px; }
  .journey-subtitle { font-size: 18px; }
  .journey-expertise { font-size: 25px; }
}
@media (max-width: 480px) {
  .journey-intro h2 { font-size: 26px; }
  .journey-subtitle { font-size: 16px; }
  .journey-expertise { font-size: 22px; margin-top: 22px; text-wrap: balance; }
  .journey-expertise br { display: none; }
}
