/* 5g: a connected case journey followed by the story, learning and representation. */
main > .case-route-section { background: #F3EEE5; border-radius: 25.6px; padding-block: 72px 52px; }
.case-route-heading { max-width: 1050px; margin-bottom: 32px; }
.case-route-heading .h2 { font-size: clamp(36px,3.8vw,49px); }
.case-route-heading > p:last-child { max-width: 850px; margin: 18px 0 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.case-route-part-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 23px; }
.case-route-part-number { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; border: 1px solid #CFC4B3; color: #8A6B42; font-size: 11px; font-weight: 500; }
.case-route-part-heading h3, .case-route-part-heading > p { margin: 0; font-size: 19px; line-height: 1.4; letter-spacing: -.025em; font-weight: 600; }
.case-route-board { padding: 29px 27px 0; background: #FFFCF6; border: 1px solid #E2D9C9; border-radius: 21px; overflow: hidden; }
.case-route-steps { list-style: none; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; padding: 0; margin: 0; }
.case-route-step { position: relative; min-width: 0; }
.case-route-picture { position: relative; display: flex; align-items: center; justify-content: center; height: 158px; margin: 0 0 18px; }
.case-route-picture > img, .case-route-picture > svg { position: relative; width: 190px; height: auto; max-width: 100%; }
.case-route-disc { position: absolute; width: 136px; height: 136px; border-radius: 50%; background: #F2E6BE; }
.case-route-step--keys .case-route-disc { background: #DDEDCB; }
.case-route-milestone { position: relative; display: flex; align-items: center; gap: 8px; font-size: 10px; font-weight: 600; line-height: 1.4; color: #75664A; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 14px; }
.case-route-step:not(:last-child) .case-route-milestone::after { content: ''; position: absolute; z-index: 0; top: 13px; left: 27px; right: -22px; border-top: 1px dashed #D7CBB5; }
.case-route-milestone > span { z-index: 1; background: #FFFCF6; padding-right: 7px; }
.case-route-milestone > span:first-child { display: grid; place-items: center; flex: 0 0 27px; width: 27px; height: 27px; border-radius: 50%; background: #B6995A; color: #FFF; padding: 0; font-size: 11px; }
.case-route-step h4 { margin: 0 0 9px; font-size: 21px; line-height: 1.3; font-weight: 600; letter-spacing: -.035em; }
.case-route-step > p { margin: 0; font-size: 14px; line-height: 1.65; color: #6B6355; }
.case-route-shortfall { flex-direction: column; gap: 5px; border-radius: 80px; color: #A44D35; background: #F8E0D4; }
.case-route-shortfall > span:first-child { font-size: 12px; }
.case-route-shortfall strong { font-size: clamp(29px,3vw,37px); line-height: 1.3; letter-spacing: -.055em; font-weight: 600; white-space: nowrap; }
.case-route-stop-mark { display: grid; place-items: center; margin-top: 5px; width: 26px; height: 26px; font-size: 15px; border-radius: 50%; background: #B36248; color: #FFF5E9; }
.case-route-step--gap .case-route-milestone > span:first-child { background: #B36248; }
.case-route-step--gap .case-route-milestone { color: #9C5137; }
.case-route-finance { display: flex; flex-direction: column; gap: 0; align-items: stretch; }
.case-route-rejected { display: flex; gap: 8px; align-items: center; border-radius: 11px; padding: 9px 11px; font-size: 11px; line-height: 1.5; background: #F8EAE3; color: #90543E; }
.case-route-rejected > span:first-child { display: grid; place-items: center; flex: 0 0 20px; width: 20px; height: 20px; border-radius: 50%; background: #EFCCBB; font-size: 16px; }
.case-route-detour { font-size: 28px; color: #688AA1; line-height: 1; padding-left: 18px; height: 28px; }
.case-route-approved { display: flex; gap: 8px; align-items: center; border-radius: 12px; padding: 11px; background: #DCECDF; border: 1px solid #BCD7C3; color: #376249; font-size: 11px; line-height: 1.5; font-weight: 550; }
.case-route-approved > svg { flex: 0 0 31px; width: 31px; height: 31px; }
.case-route-approved b { display: grid; place-items: center; width: 21px; height: 21px; flex: 0 0 21px; border-radius: 50%; background: #4E8868; color: white; font-size: 13px; }
.case-route-step--finance .case-route-milestone { color: #54748B; }
.case-route-step--finance .case-route-milestone > span:first-child { background: #6F91AA; }
.case-route-step--keys .case-route-milestone { color: #38724D; }
.case-route-step--keys .case-route-milestone > span:first-child { background: #4E8868; }
.case-route-step--keys h4 { color: #306644; }
.case-route-support { display: flex; gap: 13px; align-items: center; border-radius: 12px; background: #EBF1F4; color: #466578; margin-top: 25px; padding: 16px 19px; }
.case-route-support__icon { width: 30px; height: 30px; flex: 0 0 30px; }
.case-route-support__icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.case-route-support strong { display: block; font-size: 12px; line-height: 1.4; font-weight: 600; }
.case-route-support p { display: flex; flex-wrap: wrap; gap: 8px; margin: 5px 0 0; font-size: 12px; line-height: 1.5; }
.case-route-support i { font-style: normal; }
.case-route-result { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px 24px; margin: 23px -27px 0; padding: 19px 27px; background: #2B6349; color: #F8F8EA; }
.case-route-result strong { display: flex; gap: 10px; font-size: 19px; letter-spacing: -.025em; line-height: 1.4; font-weight: 600; }
.case-route-result strong > span:first-child { color: #D9D8A3; }
.case-route-result > span { color: #DBE6D4; font-size: 12px; line-height: 1.5; }
.case-route-story { margin-top: 32px; padding: 28px 29px 0; background: #FFFCF6; border: 1px solid #E2D9C9; border-radius: 18px; }
.case-route-story .case-route-part-heading { margin-bottom: 16px; }
.case-route-story__lead { max-width: 850px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.case-route-story .case-complete-details { margin-top: 19px; }
.case-route-lessons { margin-top: 33px; }
.case-route-lessons__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.case-route-lesson { --lesson-accent: #50758D; --lesson-fill: #DBE8EF; padding: 22px; border: 1px solid #DFD6C5; border-top: 3px solid var(--lesson-accent); border-radius: 14px; background: #FFFCF6; display: flex; flex-direction: column; align-items: flex-start; }
.case-route-lesson--gold { --lesson-accent: #876536; --lesson-fill: #F3E6C6; }
.case-route-lesson--green { --lesson-accent: #657C4E; --lesson-fill: #E2EBD4; }
.case-route-lesson__symbol { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 11px; background: var(--lesson-fill); color: var(--lesson-accent); font-size: 27px; font-weight: 400; }
.case-route-lesson__symbol svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.case-route-lesson h4 { margin: 15px 0; font-size: 19px; line-height: 1.35; letter-spacing: -.03em; font-weight: 600; }
.case-route-lesson > p { color: #6A6356; font-size: 14px; line-height: 1.7; margin: 0 0 22px; }
.case-route-lesson > p strong { display: block; margin-bottom: 5px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--lesson-accent); }
.case-route-lesson > div { display: flex; gap: 8px; align-items: flex-start; width: 100%; margin-top: auto; border-top: 1px solid #E0DCCA; padding-top: 14px; color: #3B694C; font-size: 13px; line-height: 1.6; }
.case-route-lesson > div strong { font-weight: 600; }
.case-route-moral { display: flex; gap: 22px; margin: 17px 0 0; padding: 20px 24px; background: #EAE1CB; color: #6A593C; border-radius: 12px; font-size: 15px; line-height: 1.65; }
.case-route-moral strong { color: #70562C; font-weight: 600; }
.case-route-ieva { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: 39px; background: #203F34; color: #FCF9EE; border-radius: 20px; padding: 35px; margin-top: 33px; align-items: center; }
.case-route-ieva__image { margin: 0; }
.case-route-ieva__image img { display: block; width: 235px; height: 298px; object-fit: cover; border-radius: 120px 120px 14px 14px; }
.case-route-ieva__image > span { display: block; color: #D1DECD; font-size: 12px; margin-top: 13px; text-align: center; }
.case-route-ieva .case-route-part-heading { color: #D9C68E; margin-bottom: 18px; }
.case-route-ieva .case-route-part-heading > p { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.case-route-ieva .case-route-part-number { border-color: #718064; color: #D9C68E; }
.case-route-ieva h3 { margin: 0 0 17px; max-width: 620px; font-size: 33px; line-height: 1.2; letter-spacing: -.04em; font-weight: 550; }
.case-route-ieva__intro { margin: 0; color: #D1DFD2; font-size: 14px; line-height: 1.75; }
.case-route-ieva ul { list-style: none; padding: 0; margin: 20px 0 24px; display: grid; gap: 10px; }
.case-route-ieva li { display: flex; gap: 11px; align-items: flex-start; font-size: 14px; line-height: 1.5; }
.case-route-ieva li > span:first-child { color: #DBC78A; }
.case-route-ieva .btn { background: #ECD8A3; border-color: #ECD8A3; color: #223D30; min-height: 48px; padding: 12px 23px; font-size: 14px; }
.case-route-ieva .btn:hover { background: #F4E5C2; border-color: #F4E5C2; }
@media (min-width:701px) and (max-width:1000px) {
  .case-route-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
  .case-route-step:nth-child(2) .case-route-milestone::after { display: none; }
  .case-route-picture { max-width: 260px; margin-inline: auto; }
  .case-route-lessons__grid { gap: 11px; }
  .case-route-lesson { padding: 18px; }
  .case-route-lesson h4 { font-size: 18px; }
  .case-route-ieva { grid-template-columns: 175px minmax(0,1fr); gap: 25px; padding: 28px; }
  .case-route-ieva__image img { width: 175px; height: 222px; }
}
@media (max-width:700px) {
  main > .case-route-section { padding-block: 64px 36px; }
  .case-route-heading .h2 { font-size: clamp(34px,8.5vw,43px); }
  .case-route-heading .h2 em { display: block; }
  .case-route-board { padding: 23px 20px 0; }
  .case-route-part-heading { gap: 10px; margin-bottom: 24px; }
  .case-route-part-heading h3 { font-size: 20px; }
  .case-route-steps { display: block; }
  .case-route-step { display: grid; grid-template-columns: minmax(0,1fr) 94px; column-gap: 11px; padding: 0 0 29px 33px; }
  .case-route-step:not(:last-child)::before { content: ''; position: absolute; left: 12px; top: 30px; bottom: 0; border-left: 1px dashed #D4C7AD; }
  .case-route-step:not(:last-child) .case-route-milestone::after { display: none; }
  .case-route-milestone { grid-column: 1 / -1; grid-row: 1; margin-bottom: 12px; min-height: 27px; font-size: 10px; }
  .case-route-milestone > span:first-child { position: absolute; left: -33px; top: 0; width: 25px; height: 25px; }
  .case-route-picture { grid-column: 2; grid-row: 2 / 4; height: auto; margin: 0; }
  .case-route-picture > img, .case-route-picture > svg { width: 100%; }
  .case-route-disc { width: 83px; height: 83px; }
  .case-route-step h4 { grid-column: 1; grid-row: 2; font-size: 20px; }
  .case-route-step > p { grid-column: 1; grid-row: 3; font-size: 14px; }
  .case-route-step--gap .case-route-picture { grid-column: 1 / -1; grid-row: 2; height: auto; min-height: 105px; margin: 0 0 15px; border-radius: 15px; padding: 14px; }
  .case-route-step--gap h4 { grid-column: 1 / -1; grid-row: 3; }
  .case-route-step--gap > p { grid-column: 1 / -1; grid-row: 4; }
  .case-route-shortfall strong { font-size: 34px; }
  .case-route-stop-mark { display: none; }
  .case-route-step--finance .case-route-picture { grid-column: 1 / -1; grid-row: 2; margin-bottom: 16px; }
  .case-route-step--finance h4 { grid-column: 1 / -1; grid-row: 3; }
  .case-route-step--finance > p { grid-column: 1 / -1; grid-row: 4; }
  .case-route-rejected { font-size: 11px; }
  .case-route-approved { font-size: 12px; }
  .case-route-step--keys { padding-bottom: 0; }
  .case-route-support { align-items: flex-start; padding: 15px; margin-top: 23px; }
  .case-route-support p { display: grid; gap: 4px; }
  .case-route-support i { display: none; }
  .case-route-support strong { font-size: 13px; }
  .case-route-result { margin-inline: -20px; padding: 19px 20px; gap: 10px; }
  .case-route-result strong { font-size: 19px; }
  .case-route-result > span { font-size: 12px; padding-left: 24px; }
  .case-route-story { padding: 23px 21px 0; margin-top: 28px; }
  .case-route-lessons__grid { grid-template-columns: 1fr; gap: 16px; }
  .case-route-lesson { padding: 23px; }
  .case-route-lesson h4 { font-size: 21px; }
  .case-route-moral { display: block; padding: 18px 20px; }
  .case-route-moral strong { display: block; margin-bottom: 7px; }
  .case-route-ieva { grid-template-columns: 1fr; gap: 23px; padding: 26px 22px; margin-top: 28px; }
  .case-route-ieva__image { display: flex; align-items: center; gap: 18px; }
  .case-route-ieva__image img { width: 91px; height: 116px; border-radius: 52px 52px 10px 10px; }
  .case-route-ieva__image > span { margin: 0; font-size: 13px; }
  .case-route-ieva h3 { font-size: 31px; }
  .case-route-ieva .btn { width: 100%; padding-inline: 15px; font-size: 13px; }
}
@media (max-width:360px) {
  .case-route-board { padding-inline: 16px; }
  .case-route-step { grid-template-columns: minmax(0,1fr) 70px; gap: 8px; }
  .case-route-step h4 { font-size: 18px; }
  .case-route-disc { width: 66px; height: 66px; }
  .case-route-result { margin-inline: -16px; padding-inline: 16px; }
  .case-route-ieva { padding-inline: 18px; }
}
