.renewal-solution {
    --renewal-navy: #163a5f;
    --renewal-blue: #2176bd;
    --renewal-sky: #eaf6fb;
    --renewal-green: #42a97b;
    --renewal-orange: #f39a43;
    --renewal-red: #d65d5d;
    --renewal-ink: #263746;
    --renewal-muted: #667786;
    color: var(--renewal-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Meiryo, sans-serif;
    line-height: 1.8;
    overflow: hidden;
}

.renewal-solution.top-wrap { margin-top: 120px; }
.renewal-solution .container { width: 1170px; max-width: 100%; }
/* Bootstrap 3のclearfix疑似要素がCSS Gridの1要素として数えられるため、Grid化したcontainerだけ無効化する。 */
.renewal-hero__inner::before, .renewal-hero__inner::after,
.renewal-hero__flow::before, .renewal-hero__flow::after,
.renewal-vision > .container::before, .renewal-vision > .container::after,
.renewal-changes > .container::before, .renewal-changes > .container::after { display: none; }

.renewal-solution *, .renewal-solution *::before, .renewal-solution *::after { box-sizing: border-box; }
.renewal-solution h1, .renewal-solution h2, .renewal-solution h3, .renewal-solution p { margin-top: 0; }
.renewal-section { padding: 100px 0; }
.renewal-section-label { margin-bottom: 10px; color: var(--renewal-blue); font-size: 13px; font-weight: 800; letter-spacing: .18em; }
.renewal-section h2, .renewal-cta h2 { margin-bottom: 22px; color: var(--renewal-navy); font-size: 38px; font-weight: 800; line-height: 1.45; letter-spacing: -.025em; }
.renewal-section-lead { margin-bottom: 50px; color: var(--renewal-muted); font-size: 17px; text-align: center; }

.renewal-hero { position: relative; min-height: 650px; padding-bottom: 42px; background: #f8fcfd; border-bottom: 1px solid #e3eef2; }
.renewal-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 82% 25%, rgba(106,204,220,.18), transparent 28%); pointer-events: none; }
.renewal-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 47% 53%; align-items: center; min-height: 545px; padding-top: 48px; padding-bottom: 20px; }
.renewal-eyebrow { margin-bottom: 22px; color: var(--renewal-blue); font-size: 14px; font-weight: 800; letter-spacing: .06em; }
.renewal-eyebrow span { display: inline-block; margin-left: 9px; padding: 2px 9px; color: #fff; background: var(--renewal-blue); border-radius: 999px; font-size: 11px; letter-spacing: .1em; }
.renewal-hero h1 { margin-bottom: 24px; color: var(--renewal-navy); font-size: 41px; font-weight: 700; line-height: 1.42; letter-spacing: -.04em; }
.renewal-hero h1 strong { position: relative; color: var(--renewal-blue); font-size: 46px; font-weight: 900; }
.renewal-hero h1 strong::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 7px; background: var(--renewal-orange); border-radius: 8px; opacity: .75; }
.renewal-hero__lead { margin-bottom: 32px; color: #465d70; font-size: 17px; line-height: 2; }
.renewal-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.renewal-button { display: inline-flex; min-height: 56px; padding: 12px 26px; align-items: center; justify-content: center; border: 2px solid var(--renewal-blue); border-radius: 7px; font-size: 15px; font-weight: 800; text-decoration: none !important; transition: .2s ease; }
.renewal-button:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(22,58,95,.13); }
.renewal-button--primary { color: #fff !important; background: var(--renewal-blue); }
.renewal-button--outline { color: var(--renewal-blue) !important; background: #fff; }
.renewal-hero__visual { position: relative; align-self: stretch; display: flex; align-items: center; margin-right: -20px; }
.renewal-hero__visual img { display: block; width: 100%; height: auto; }
.renewal-hero__flow { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(5, 1fr); overflow: hidden; padding: 0; background: #fff; border: 1px solid #dce9ef; border-radius: 12px; box-shadow: 0 16px 34px rgba(22,58,95,.09); }
.renewal-hero__flow div { position: relative; display: flex; min-height: 72px; padding: 14px 18px; align-items: center; justify-content: center; }
.renewal-hero__flow div + div { border-left: 1px solid #e2ebef; }
.renewal-hero__flow div + div::before { content: "›"; position: absolute; left: -7px; top: 18px; color: var(--renewal-blue); background: #fff; font-size: 22px; font-weight: 900; }
.renewal-hero__flow span { margin-right: 10px; color: var(--renewal-blue); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.renewal-hero__flow strong { color: var(--renewal-navy); font-size: 14px; }

.renewal-problems { text-align: center; background: #fff; }
.renewal-problem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 50px; text-align: left; }
.renewal-problem-grid article { padding: 34px 30px; background: #fafbfc; border: 1px solid #e7edf1; border-radius: 12px; }
.renewal-problem-icon { display: grid; width: 48px; height: 48px; margin-bottom: 22px; place-items: center; color: var(--renewal-red); background: #fff0f0; border-radius: 10px; font-size: 19px; font-weight: 900; }
.renewal-problem-grid h3 { margin-bottom: 12px; color: var(--renewal-navy); font-size: 20px; font-weight: 800; }
.renewal-problem-grid p { margin: 0; color: var(--renewal-muted); }
.renewal-workload-callout { max-width: 920px; margin: 48px auto 0; padding: 32px 40px; color: #fff; background: var(--renewal-navy); border-radius: 14px; box-shadow: 12px 12px 0 #dceff5; text-align: left; }
.renewal-workload-callout span { display: block; margin-bottom: 3px; color: #8edcf5; font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.renewal-workload-callout strong { display: block; font-size: 27px; line-height: 1.55; }
.renewal-workload-callout p { margin: 8px 0 0; color: #d9e8f1; }
.renewal-problem-grid--story article { position: relative; padding-top: 40px; border-top: 5px solid #dfe8ec; }
.renewal-problem-grid--story article:nth-child(2) { border-top-color: var(--renewal-orange); }
.renewal-problem-grid--story article:nth-child(3) { border-top-color: var(--renewal-red); }
.renewal-problem-scene { display: block; margin-bottom: 18px; color: var(--renewal-blue); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.renewal-problem-grid--story h3 { min-height: 64px; font-size: 19px; line-height: 1.65; }
.renewal-problem-grid--story p { font-size: 14px; }
.renewal-problem-grid--story .renewal-problem-voice { position: relative; margin-top: 25px; padding: 13px 15px; color: #a84d4d; background: #fff0f0; border-radius: 7px; font-weight: 800; }
.renewal-problem-grid--story .renewal-problem-voice::before { content: "担当者の頭の中"; display: block; margin-bottom: 2px; color: #c57a7a; font-size: 10px; letter-spacing: .08em; }
.renewal-problem-core { max-width: 940px; margin: 60px auto 0; padding: 45px 55px; background: #fff8f3; border: 2px solid #f3d6bf; border-radius: 16px; }
.renewal-problem-core p { margin-bottom: 12px; color: #7a6658; font-weight: 700; }
.renewal-problem-core strong { display: block; color: var(--renewal-navy); font-size: 30px; line-height: 1.55; }
.renewal-problem-core span { display: block; margin-top: 17px; color: #9a5a3c; font-weight: 700; }

.renewal-vision { color: #fff; background: var(--renewal-navy); }
.renewal-vision .container { display: block; }
.renewal-vision .renewal-section-label { color: #7ed0f4; }
.renewal-vision h2 { color: #fff; }
.renewal-vision__heading { max-width: 980px; margin: 0 auto; text-align: center; }
.renewal-dx-keywords { display: flex; gap: 9px; justify-content: center; margin: 20px 0 26px; }
.renewal-dx-keywords span { padding: 5px 13px; color: #b8eaff; border: 1px solid rgba(126,208,244,.45); border-radius: 999px; font-size: 10px; font-weight: 900; letter-spacing: .11em; }
.renewal-vision__statement { margin-top: 25px; color: #d9e8f1; font-size: 20px; }
.renewal-vision__statement strong { color: #fff; background: linear-gradient(transparent 62%, rgba(243,154,67,.75) 62%); }
.renewal-future-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 58px; }
.renewal-future-grid article { position: relative; min-height: 330px; padding: 35px 30px 30px; overflow: hidden; color: var(--renewal-ink); background: #fff; border-radius: 15px; text-align: left; }
.renewal-future-grid article::after { content: ""; position: absolute; right: -45px; bottom: -50px; width: 140px; height: 140px; background: var(--renewal-sky); border-radius: 50%; }
.renewal-future-grid__number { position: absolute; top: 25px; right: 27px; color: #dbe8ee; font-size: 36px; font-weight: 300; line-height: 1; }
.renewal-future-grid .renewal-future-grid__keyword { margin-bottom: 17px; color: var(--renewal-blue); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.renewal-future-grid h3 { position: relative; z-index: 1; margin-bottom: 17px; color: var(--renewal-navy); font-size: 22px; font-weight: 900; line-height: 1.6; }
.renewal-future-grid article > p:last-child { position: relative; z-index: 1; margin: 0; color: var(--renewal-muted); font-size: 14px; }
.renewal-work-switch { display: grid; grid-template-columns: 1fr 80px 1fr; align-items: stretch; margin-top: 55px; }
.renewal-work-switch > div:not(.renewal-work-switch__arrow) { padding: 38px 40px; border-radius: 14px; text-align: left; }
.renewal-work-switch__before { color: #536675; background: #eef2f4; }
.renewal-work-switch__after { color: var(--renewal-navy); background: #fff; box-shadow: 0 18px 45px rgba(0,0,0,.2); }
.renewal-work-switch span { display: block; margin-bottom: 13px; color: #74838d; font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.renewal-work-switch__after span { color: var(--renewal-blue); }
.renewal-work-switch h3 { margin-bottom: 18px; color: inherit; font-size: 25px; font-weight: 900; line-height: 1.55; }
.renewal-work-switch p { margin-bottom: 10px; font-weight: 800; }
.renewal-work-switch small { color: #758693; }
.renewal-work-switch__arrow { display: grid; place-items: center; color: #7ed0f4; font-size: 44px; font-weight: 900; }
.renewal-no-work-heading { max-width: 920px; margin: 75px auto 0; text-align: center; }
.renewal-no-work-heading > span { display: inline-block; margin-bottom: 16px; padding: 6px 16px; color: var(--renewal-navy); background: #7ed0f4; border-radius: 999px; font-size: 12px; font-weight: 900; }
.renewal-no-work-heading h3 { margin-bottom: 15px; color: #fff; font-size: 32px; font-weight: 900; line-height: 1.55; }
.renewal-no-work-heading p { color: #c8dce8; }
.renewal-connected-flow { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 38px; overflow: hidden; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); border-radius: 14px; }
.renewal-connected-flow div { position: relative; min-height: 205px; padding: 28px 18px 24px; text-align: left; }
.renewal-connected-flow div + div { border-left: 1px solid rgba(255,255,255,.15); }
.renewal-connected-flow div + div::before { content: "→"; position: absolute; left: -11px; top: 91px; width: 22px; color: #7ed0f4; background: var(--renewal-navy); font-weight: 900; text-align: center; }
.renewal-connected-flow span { display: block; margin-bottom: 18px; color: #7ed0f4; font-size: 10px; font-weight: 900; letter-spacing: .05em; }
.renewal-connected-flow strong { display: block; color: #fff; font-size: 22px; font-weight: 900; line-height: 1.45; }
.renewal-connected-flow small { display: block; margin-top: 15px; color: #b8cfdd; font-size: 11px; line-height: 1.65; }
.renewal-no-work-impact { max-width: 900px; margin: 30px auto 0; padding: 18px 25px; color: #d8e8f1; background: rgba(126,208,244,.1); border-left: 4px solid #7ed0f4; text-align: center; }
.renewal-no-work-impact strong { color: #fff; }
.renewal-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.renewal-principles div { min-height: 170px; padding: 25px 18px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 12px; }
.renewal-principles span { display: block; margin-bottom: 24px; color: #75cef4; font-size: 13px; font-weight: 800; letter-spacing: .12em; }
.renewal-principles strong { color: #fff; font-size: 16px; line-height: 1.8; }
.renewal-future-scene { margin-top: 58px; overflow: hidden; color: var(--renewal-ink); background: #fff; border-radius: 18px; box-shadow: 0 18px 48px rgba(0,0,0,.2); }
.renewal-future-scene__copy { max-width: 850px; padding: 42px 48px 30px; }
.renewal-future-scene__copy > span { display: block; margin-bottom: 11px; color: var(--renewal-blue); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.renewal-future-scene__copy h3 { margin-bottom: 13px; color: var(--renewal-navy); font-size: 31px; font-weight: 900; line-height: 1.5; }
.renewal-future-scene__copy p { margin: 0; color: var(--renewal-muted); font-weight: 700; }
.renewal-vision__illustration { overflow: hidden; background: #fff; }
.renewal-vision__illustration img { display: block; width: 100%; height: auto; }
.renewal-vision__conclusion { max-width: 940px; margin: 55px auto 0; text-align: center; }
.renewal-vision__conclusion span { display: inline-block; margin-bottom: 16px; padding: 5px 15px; color: var(--renewal-navy); background: #7ed0f4; border-radius: 999px; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.renewal-vision__conclusion strong { display: block; color: #fff; font-size: 30px; line-height: 1.6; }
.renewal-vision__conclusion p { margin: 18px 0 0; color: #c8dce8; }

.renewal-compare { text-align: center; background: #f4f8fa; }
.renewal-compare__illustration { max-width: 940px; margin: 35px auto 55px; overflow: hidden; background: #fff; border-radius: 18px; box-shadow: 0 16px 40px rgba(22,58,95,.08); }
.renewal-compare__illustration img { display: block; width: 100%; height: auto; }
.renewal-compare__grid { display: grid; grid-template-columns: 1fr 90px 1fr; align-items: center; margin-top: 48px; text-align: left; }
.renewal-compare__grid article { overflow: hidden; background: #fff; border-radius: 16px; box-shadow: 0 14px 36px rgba(22,58,95,.08); }
.renewal-compare__before { border: 1px solid #e3e8eb; }
.renewal-compare__after { border: 2px solid var(--renewal-blue); }
.renewal-compare__heading { padding: 22px 28px; border-bottom: 1px solid #e6edf1; }
.renewal-compare__heading span { font-size: 12px; font-weight: 900; letter-spacing: .15em; }
.renewal-compare__heading h3 { margin: 3px 0 0; color: var(--renewal-navy); font-size: 22px; font-weight: 800; }
.renewal-compare__before .renewal-compare__heading span { color: #89949c; }
.renewal-compare__after .renewal-compare__heading { color: #fff; background: var(--renewal-blue); border: 0; }
.renewal-compare__after .renewal-compare__heading h3 { color: #fff; }
.renewal-compare ol { margin: 0; padding: 26px 28px; list-style: none; }
.renewal-compare li { position: relative; min-height: 44px; padding: 9px 8px 9px 34px; color: #566874; border-bottom: 1px solid #edf1f3; }
.renewal-compare li:last-child { border: 0; }
.renewal-compare li::before { content: "↓"; position: absolute; left: 6px; color: #b8c2c9; font-weight: 800; }
.renewal-compare li:first-child::before { content: "●"; color: #aab5bc; font-size: 10px; }
.renewal-compare li em { float: right; padding: 0 7px; color: var(--renewal-red); background: #fff0f0; border-radius: 3px; font-size: 11px; font-style: normal; font-weight: 800; }
.renewal-compare__waste, .renewal-compare__paper { background: linear-gradient(90deg, transparent, #fff9f9); }
.renewal-compare__arrow { color: var(--renewal-blue); font-size: 42px; font-weight: 900; text-align: center; }
.renewal-compare__arrow span { display: block; margin-bottom: 5px; font-size: 11px; line-height: 1.5; letter-spacing: .05em; }
.renewal-compare__after li { min-height: 58px; padding: 13px 8px 13px 42px; color: var(--renewal-ink); font-weight: 700; }
.renewal-compare__after li::before { left: 10px; color: var(--renewal-blue); }
.renewal-compare__after li:first-child::before { color: var(--renewal-blue); }
.renewal-compare__after li b { display: block; color: var(--renewal-blue); font-size: 10px; letter-spacing: .08em; }
.renewal-compare__after li.renewal-compare__done { margin-top: 10px; padding: 12px; color: #fff; background: var(--renewal-green); border-radius: 6px; text-align: center; }
.renewal-compare__after li.renewal-compare__done::before { content: "✓"; position: static; margin-right: 8px; color: #fff; }
.renewal-compare__result { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 28px 28px; }
.renewal-compare__result strong { padding: 12px 8px; color: var(--renewal-blue); background: var(--renewal-sky); border-radius: 6px; font-size: 12px; text-align: center; }

.renewal-steps { text-align: center; background: #fff; }
.renewal-step-list { margin-top: 58px; text-align: left; }
.renewal-step { position: relative; display: grid; grid-template-columns: 100px 1fr 250px; gap: 34px; align-items: center; min-height: 290px; padding: 38px 42px; background: #fff; border: 1px solid #dfe9ee; border-radius: 16px; box-shadow: 0 10px 30px rgba(22,58,95,.06); }
.renewal-step + .renewal-step { margin-top: 34px; }
.renewal-step + .renewal-step::before { content: "↓"; position: absolute; top: -34px; left: 82px; color: var(--renewal-blue); font-size: 24px; font-weight: 900; }
.renewal-step__number { color: var(--renewal-blue); text-align: center; }
.renewal-step__number small { display: block; font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.renewal-step__number span { display: block; margin-top: -4px; font-size: 52px; font-weight: 300; line-height: 1.25; }
.renewal-step__tag { margin-bottom: 8px; color: var(--renewal-blue); font-size: 12px; font-weight: 800; letter-spacing: .06em; }
.renewal-step h3 { margin-bottom: 14px; color: var(--renewal-navy); font-size: 25px; font-weight: 800; line-height: 1.45; }
.renewal-step__content > p:not(.renewal-step__tag):not(.renewal-step__benefit):not(.renewal-step__link) { color: var(--renewal-muted); }
.renewal-step__benefit { margin: 16px 0 0; padding-left: 14px; color: var(--renewal-navy); border-left: 3px solid var(--renewal-orange); font-weight: 700; }
.renewal-step__content ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 15px 0 0; padding: 0; list-style: none; }
.renewal-step__content li { padding: 3px 10px; color: var(--renewal-blue); background: var(--renewal-sky); border-radius: 999px; font-size: 11px; font-weight: 700; }
.renewal-step__link a { color: var(--renewal-blue); font-weight: 800; }
.renewal-step__mini { min-height: 170px; padding: 22px; color: var(--renewal-navy); background: #f3f9fb; border: 1px solid #dcecf2; border-radius: 12px; }
.renewal-step__mini span, .renewal-step__mini small { display: block; color: var(--renewal-muted); font-size: 11px; }
.renewal-step__mini strong { display: block; color: var(--renewal-blue); }
.renewal-step__mini--notice { display: flex; flex-direction: column; justify-content: center; text-align: center; }
.renewal-step__mini--notice strong { margin: 2px 0; font-size: 40px; }
.renewal-step__mini--form strong { margin: 3px 0 13px; padding: 5px 8px; background: #fff; border-bottom: 2px solid #bad8e7; font-size: 16px; }
.renewal-step__mini--message p { margin: 8px 0 12px; padding: 9px; background: #fff; border-radius: 5px; font-size: 11px; line-height: 1.5; }
.renewal-step__mini--message strong, .renewal-step__mini--message em { display: block; margin-top: 5px; padding: 5px; color: #fff; background: var(--renewal-blue); border-radius: 4px; font-size: 11px; font-style: normal; text-align: center; }
.renewal-step__mini--message em { color: var(--renewal-blue); background: #fff; border: 1px solid var(--renewal-blue); }
.renewal-step__mini--document { position: relative; background: #fff; box-shadow: inset 0 0 0 1px #e6edef; }
.renewal-step__mini--document i { display: block; height: 2px; margin-top: 15px; background: #cdd8dd; }
.renewal-step__mini--document strong { position: absolute; right: 18px; bottom: 16px; padding: 4px 12px; color: #fff; background: var(--renewal-blue); border-radius: 4px; font-size: 11px; }
.renewal-step__mini--sign { display: flex; flex-direction: column; justify-content: center; text-align: center; }
.renewal-step__mini--sign::before { content: "✓"; display: grid; width: 42px; height: 42px; margin: 0 auto 10px; place-items: center; color: #fff; background: var(--renewal-green); border-radius: 50%; font-size: 20px; font-weight: 900; }
.renewal-step__mini--sign strong { margin: 4px 0; }

.renewal-changes { background: var(--renewal-sky); }
.renewal-changes .container { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: start; }
.renewal-changes__heading > p:last-child { color: var(--renewal-muted); }
.renewal-change-list { margin: 0; padding: 0; background: #fff; border-radius: 14px; box-shadow: 0 16px 38px rgba(22,58,95,.08); list-style: none; }
.renewal-change-list li { display: flex; min-height: 72px; padding: 15px 25px; align-items: center; border-bottom: 1px solid #e6edf1; color: var(--renewal-navy); font-weight: 700; }
.renewal-change-list li:last-child { border: 0; }
.renewal-change-list span { min-width: 42px; color: var(--renewal-blue); font-size: 12px; font-weight: 900; letter-spacing: .08em; }

.renewal-cta { padding: 90px 0; color: #fff; background: linear-gradient(120deg, #175385, #2176bd); text-align: center; }
.renewal-cta .renewal-section-label { color: #9ee0ff; }
.renewal-cta h2 { color: #fff; font-size: 40px; }
.renewal-cta > .container > p:not(.renewal-section-label):not(.renewal-cta__consult) { margin-bottom: 30px; color: #e4f2f9; font-size: 17px; }
.renewal-actions--center { justify-content: center; }
.renewal-button--white { color: var(--renewal-blue) !important; background: #fff; border-color: #fff; }
.renewal-button--ghost { color: #fff !important; background: transparent; border-color: rgba(255,255,255,.8); }
.renewal-cta__consult { margin: 22px 0 0; }
.renewal-cta__consult a { color: #fff; font-weight: 700; text-decoration: underline; }

@media (max-width: 991px) {
    .renewal-hero__inner { grid-template-columns: 1fr 1fr; }
    .renewal-hero h1 { font-size: 39px; }
    .renewal-hero h1 strong { font-size: 44px; }
    .renewal-hero__visual { margin-right: -40px; }
    .renewal-vision .container, .renewal-changes .container { gap: 40px; }
    .renewal-step { grid-template-columns: 75px 1fr 210px; gap: 24px; padding: 32px 26px; }
}

@media (max-width: 767px) {
    .renewal-solution.top-wrap { margin-top: 50px; }
    .renewal-section { padding: 68px 0; }
    .renewal-section h2, .renewal-cta h2 { font-size: 27px; }
    .renewal-section-lead { margin-bottom: 35px; font-size: 15px; text-align: left; }
    .renewal-hero { min-height: 0; padding-bottom: 28px; }
    .renewal-hero__inner { display: flex; min-height: 0; padding-top: 50px; padding-bottom: 18px; flex-direction: column; }
    .renewal-eyebrow { font-size: 11px; line-height: 1.6; }
    .renewal-hero h1 { font-size: 32px; line-height: 1.5; }
    .renewal-hero h1 strong { font-size: 37px; }
    .renewal-hero__lead { font-size: 15px; }
    .renewal-actions { display: grid; grid-template-columns: 1fr; }
    .renewal-button { width: 100%; }
    .renewal-hero__visual { order: 2; margin: 25px -55px 0 0; }
    .renewal-solution .renewal-hero__flow { grid-template-columns: 1fr; width: auto; margin: 0 15px; }
    .renewal-hero__flow div { min-height: 52px; justify-content: flex-start; padding-left: 30px; }
    .renewal-hero__flow div + div { border-top: 1px solid #e2ebef; border-left: 0; }
    .renewal-hero__flow div + div::before { content: "↓"; top: -13px; left: 50%; transform: translateX(-50%); padding: 0 6px; font-size: 14px; }
    .renewal-problem-grid { grid-template-columns: 1fr; gap: 14px; }
    .renewal-problem-grid article { padding: 26px 24px; }
    .renewal-workload-callout { margin-top: 34px; padding: 25px 22px; box-shadow: 7px 7px 0 #dceff5; }
    .renewal-workload-callout strong { font-size: 21px; }
    .renewal-problem-grid--story h3 { min-height: 0; }
    .renewal-problem-core { margin-top: 35px; padding: 30px 22px; }
    .renewal-problem-core strong { font-size: 23px; }
    .renewal-vision .container, .renewal-changes .container { display: block; }
    .renewal-vision__statement { font-size: 17px; }
    .renewal-dx-keywords { flex-wrap: wrap; margin-top: 16px; }
    .renewal-dx-keywords span { padding: 4px 9px; font-size: 9px; }
    .renewal-future-grid { grid-template-columns: 1fr; gap: 13px; margin-top: 38px; }
    .renewal-future-grid article { min-height: 0; padding: 30px 23px; }
    .renewal-future-grid h3 { font-size: 21px; }
    .renewal-work-switch { display: block; margin-top: 38px; }
    .renewal-work-switch > div:not(.renewal-work-switch__arrow) { padding: 28px 23px; }
    .renewal-work-switch h3 { font-size: 21px; }
    .renewal-work-switch__arrow { height: 58px; transform: rotate(90deg); }
    .renewal-no-work-heading { margin-top: 50px; text-align: left; }
    .renewal-no-work-heading h3 { font-size: 25px; }
    .renewal-no-work-heading > span { font-size: 11px; }
    .renewal-connected-flow { grid-template-columns: 1fr; margin-top: 28px; }
    .renewal-connected-flow div { min-height: 0; padding: 20px 24px; }
    .renewal-connected-flow div + div { border-top: 1px solid rgba(255,255,255,.15); border-left: 0; }
    .renewal-connected-flow div + div::before { content: "↓"; top: -13px; left: 50%; transform: translateX(-50%); }
    .renewal-connected-flow strong { font-size: 21px; }
    .renewal-no-work-impact { padding: 16px 18px; text-align: left; }
    .renewal-vision__conclusion { margin-top: 38px; }
    .renewal-vision__conclusion strong { font-size: 23px; }
    .renewal-principles { margin-top: 38px; }
    .renewal-principles div { min-height: 140px; padding: 20px 12px; }
    .renewal-principles strong { font-size: 13px; }
    .renewal-future-scene { margin-top: 32px; border-radius: 10px; }
    .renewal-future-scene__copy { padding: 28px 22px 20px; }
    .renewal-future-scene__copy h3 { font-size: 24px; }
    .renewal-vision__illustration img { width: 140%; max-width: none; margin-left: -20%; }
    .renewal-compare__illustration { margin: 25px 0 35px; border-radius: 10px; }
    .renewal-compare__illustration img { width: 150%; max-width: none; margin-left: -25%; }
    .renewal-compare__grid { display: block; margin-top: 34px; }
    .renewal-compare__arrow { padding: 18px 0; transform: rotate(90deg); }
    .renewal-compare__arrow span { display: none; }
    .renewal-compare__heading, .renewal-compare ol { padding-left: 22px; padding-right: 22px; }
    .renewal-compare__result { padding-left: 22px; padding-right: 22px; }
    .renewal-step { display: block; min-height: 0; padding: 28px 22px; }
    .renewal-step + .renewal-step { margin-top: 26px; }
    .renewal-step + .renewal-step::before { top: -27px; left: 50%; transform: translateX(-50%); }
    .renewal-step__number { display: flex; align-items: baseline; text-align: left; }
    .renewal-step__number small { margin-right: 7px; }
    .renewal-step__number span { font-size: 36px; }
    .renewal-step h3 { font-size: 22px; }
    .renewal-step__mini { min-height: 150px; margin-top: 24px; }
    .renewal-change-list { margin-top: 35px; }
    .renewal-change-list li { padding: 14px 18px; font-size: 13px; }
    .renewal-change-list span { min-width: 34px; }
    .renewal-cta { padding: 70px 0; }
    .renewal-cta > .container > p:not(.renewal-section-label):not(.renewal-cta__consult) { font-size: 15px; }
}
