/* V4: Bank Launch illustration family, five type sizes and two focused case studies. */
.mainframe-page{--type-display:49px;--type-section:32px;--type-heading:20px;--type-body:16px;--type-label:14px;color:#506a85}
.mainframe-page .container{width:clamp(932px,calc(100% - 240px),1200px);max-width:none;margin-inline:auto}
.mainframe-page h1,.mainframe-page h2,.mainframe-page h3{font-weight:600}
.mainframe-page h2{font-size:var(--type-section);line-height:1.3;letter-spacing:-.7px;color:var(--navy)}
.mainframe-page h3{font-size:var(--type-heading);line-height:1.4;letter-spacing:-.2px;color:var(--navy)}
.mainframe-page p,.mainframe-page dd{font-size:var(--type-body);line-height:1.8}
.mainframe-page .eyebrow,.small-label{font-size:var(--type-label);line-height:1.5;font-weight:600;letter-spacing:1px;color:#3678ad}
.mainframe-page .eyebrow{margin-bottom:16px}
.mainframe-page .button{font-size:var(--type-body)}
.migration-hero{position:relative;isolation:isolate;overflow:hidden;background:#0c3157;color:white}
.migration-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.migration-hero:after{content:"";position:absolute;inset:0;background:#06294f1f;z-index:-1}
.migration-hero-inner{min-height:368px;padding:28px 0 37px}
.breadcrumb{display:flex;align-items:center;gap:12px;font-size:var(--type-label);line-height:1.5;color:#d4e6fa;margin-bottom:24px;flex-wrap:wrap}
.breadcrumb a:hover{text-decoration:underline;color:white}
.mainframe-page .migration-hero .eyebrow{color:#b9dcff;letter-spacing:1px;margin-bottom:12px}
.migration-hero h1{font-size:var(--type-display);line-height:1.12;letter-spacing:-1.4px;max-width:850px}
.mainframe-page .migration-hero-description{font-size:var(--type-heading);line-height:1.6;margin-top:16px;color:#f2f7ff;max-width:730px}
.solution-overview{padding:44px 0 64px}
.solution-intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:48px;align-items:center;margin-bottom:28px;min-height:370px}
.solution-description{margin-top:24px;max-width:570px}
.solution-copy .button{margin-top:28px;padding:16px 23px}
.solution-visual,.case-visual{margin:0;min-width:0;mix-blend-mode:multiply}
.solution-visual img,.case-visual img{display:block;width:100%;height:auto}
.solution-visual img,.case-visual img{mask-image:linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 5%,#000 95%,transparent 100%);mask-composite:intersect}
.migration-diagram{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:36px;padding:28px 32px;border:1px solid #d5e5f2;background:#f4f8fc;border-radius:8px}
.platform-node{display:flex;align-items:center;gap:20px;min-width:0}
.platform-icon{width:34px;height:34px;display:block;flex:none;color:#5987ac}
.platform-icon svg,.feature-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.platform-node h3{margin:7px 0 4px}
.mainframe-page .platform-node p{font-size:var(--type-body)}
.small-label{display:block}
.migration-path{text-align:center;min-width:0}
.mainframe-page .migration-path h3{font-size:var(--type-body);letter-spacing:0;margin-bottom:12px;color:#3d6c90}
.mainframe-page .migration-path>p{font-size:var(--type-label);margin-top:10px}
.path-arrow{height:1px;background:#9ac6e2;position:relative}
.path-arrow:after{content:"";position:absolute;right:0;top:-4px;width:9px;height:9px;border-top:1px solid #7aafcf;border-right:1px solid #7aafcf;transform:rotate(45deg)}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:32px}
.solution-feature{min-width:0;padding:28px;border:1px solid #dae7f1;border-radius:10px;display:flex;flex-direction:column;background:white}
.feature-icon{display:block;width:28px;height:28px;color:#4f87b0;margin-bottom:20px}
.solution-feature h3{margin-bottom:16px}
.mainframe-page .solution-feature .automation-note{font-size:var(--type-label);border-top:1px solid #dfeaf3;padding-top:16px;margin-top:20px;color:#506f89}
.automation-note strong{font-weight:600;color:var(--navy)}
.automation-note span{margin:0 4px;color:#8ba6bc}
.benchmark-strip{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:center;margin-top:32px;padding:26px 0;background:white;border-block:1px solid #dfebf6}
.mainframe-page .comparison-note{font-size:var(--type-label);line-height:1.7}
.benchmark-strip .comparison-note{margin-top:8px}
.benchmarks{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:0}
.benchmarks>div+div{border-left:1px solid #d6e4f0;padding-left:32px}
.benchmarks dt{font-size:var(--type-section);font-weight:600;letter-spacing:-.7px;line-height:1.2;color:#245f90;font-variant-numeric:tabular-nums}
.benchmarks dd{margin:8px 0 0}
.mainframe-page .delivery-note{display:flex;gap:24px;align-items:baseline;margin-top:24px;font-size:var(--type-body)}
.delivery-note strong{color:#355f80;font-weight:600;flex:none}
.case-study{padding:64px 0;border-top:1px solid #dfeaf3}
.case-1{background:#f4f8fc}
.case-heading{margin-bottom:24px}
.case-heading .eyebrow{color:#3678ad;margin-bottom:16px}
.mainframe-page .case-success-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;margin-bottom:20px;background:#164e7d;border:1px solid #164e7d;border-radius:6px;color:#fff;font-size:var(--type-heading);font-weight:600;line-height:1.4;letter-spacing:.4px}
.case-success-badge svg{display:block;width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mainframe-page .case-success-result{margin-top:16px;padding-left:12px;border-left:3px solid #438dc4;font-size:var(--type-heading);font-weight:600;line-height:1.5;color:#175b91}
.mainframe-page .case-context{font-size:var(--type-body);margin-top:12px}
.case-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:48px;align-items:center}
.case-story>p{max-width:600px}
.case-transition{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:28px 0 0;padding-top:24px;border-top:1px solid #d4e2ef}
.case-transition>div{min-width:0;position:relative}
.case-transition>div+div:before{content:"→";position:absolute;left:-30px;top:26px;font-size:var(--type-heading);color:#81abc9}
.case-transition dt{font-size:var(--type-label);line-height:1.5;font-weight:600;letter-spacing:.5px;margin-bottom:8px;color:#5b7d98}
.case-transition dd{margin:0;color:#2c5779}
.case-results{padding:28px 30px;background:#e8f1f9;color:var(--navy);border:1px solid #d9e6f2;border-radius:10px;margin-top:32px}
.mainframe-page .results-label{font-size:var(--type-label);line-height:1.5;letter-spacing:.5px;color:#46779b;font-weight:600;margin-bottom:24px}
.case-metrics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) repeat(4,minmax(0,.9fr));gap:20px;padding:0;margin:0;align-items:end}
.case-metric{min-width:0}
.case-metric+ .case-metric{border-left:1px solid #caddeb;padding-left:20px}
.case-metric dt{font-size:var(--type-heading);font-weight:600;letter-spacing:-.3px;line-height:1.2;color:var(--navy);font-variant-numeric:tabular-nums}
.case-metric:nth-child(-n+2) dt{font-size:var(--type-display);letter-spacing:-1px}
.case-metric dd{margin:8px 0 0;color:#506a85}
.case-2 .case-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.case-2 .case-metric{grid-column:auto;padding:0 0 0 32px;border:0;border-left:1px solid #caddeb}
.case-2 .case-metric:first-child{border-left:0;padding:0}
.case-2 .case-metric dt{font-size:var(--type-section)}
.case-2 .case-metric:first-child dt{font-size:var(--type-display)}
.case-2 .comparison-note{margin-top:20px;color:#506a85}
.case-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px;padding-top:28px;border-top:1px solid #d6e4f0}
.case-outcomes>div+div{border-left:1px solid #d6e4f0;padding-left:32px}
.case-outcomes h3{margin-bottom:12px}
.mainframe-page .contact h2{color:white;font-size:var(--type-section);line-height:1.3;font-weight:600}
.mainframe-page .contact p:last-child{font-size:var(--type-body)}
.mainframe-page .contact .eyebrow{color:#b9dcff;font-size:var(--type-label)}
.dropdown [aria-current=page]{color:var(--blue);background:#f1f7fd}

@media(max-width:1500px){.solution-intro,.case-layout{gap:40px}.migration-diagram{gap:24px;padding:26px}.platform-node{gap:15px}.solution-feature{padding:26px 24px}.case-outcomes{gap:26px}.case-outcomes>div+div{padding-left:26px}}
@media(max-width:1200px){.mainframe-page{--type-display:44px}.migration-hero-inner{min-height:340px}.solution-intro,.case-layout{gap:32px}.migration-diagram{gap:20px;padding:24px}.platform-node{display:block}.platform-icon{margin-bottom:14px}.feature-grid{gap:18px}.solution-feature{padding:24px 20px}.benchmark-strip{gap:32px}.case-results{padding:26px}.case-outcomes{gap:24px}.case-outcomes>div+div{padding-left:24px}.case-metric+ .case-metric{padding-left:16px}}
@media(max-width:980px){.mainframe-page .container{width:calc(100% - 48px)}.solution-intro,.case-layout{gap:28px}.solution-intro{min-height:0}.solution-description{margin-top:20px}.case-results{padding:26px}.case-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.case-metric+ .case-metric{padding-left:0;border:0}.case-metric:nth-child(-n+2){grid-column:span 2;padding-bottom:20px;border-bottom:1px solid #caddeb}.case-2 .case-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.case-2 .case-metric{grid-column:auto;border:0;border-left:1px solid #caddeb;padding:0 0 0 24px}.case-2 .case-metric:first-child{border:0;padding:0}.benchmark-strip{gap:28px}.benchmarks{gap:24px}.benchmarks>div+div{padding-left:24px}.mainframe-page .delivery-note{display:block}.delivery-note strong{display:block;margin-bottom:8px}}
@media(max-width:760px){
 .mainframe-page .container{width:calc(100% - 40px)}
 .solution-overview,.case-study{padding:40px 0}.solution-intro,.case-layout{grid-template-columns:1fr;gap:20px}.solution-intro{margin-bottom:24px}.solution-intro h2 br{display:none}.solution-description{margin-top:20px}.solution-copy .button{margin-top:24px}.solution-visual,.case-visual{width:100%;max-width:560px;margin-inline:auto}
 .migration-diagram{grid-template-columns:1fr;gap:22px;padding:24px}.platform-node{display:flex;gap:16px}.platform-icon{margin:0;width:30px;height:30px}
 .migration-path{margin-left:14px;padding:8px 0 8px 30px;border-left:1px solid #a4cbe5;text-align:left;position:relative}.migration-path:after{content:"";position:absolute;bottom:0;left:-4px;width:7px;height:7px;border-right:1px solid #7aafcf;border-bottom:1px solid #7aafcf;transform:rotate(45deg)}.migration-path h3{margin-bottom:6px}.migration-path>p{margin-top:0}.path-arrow{display:none}
 .feature-grid{grid-template-columns:1fr;gap:18px;margin-top:28px}.solution-feature{padding:24px}.feature-icon{margin-bottom:16px}
 .benchmark-strip{grid-template-columns:1fr;gap:24px;margin-top:28px}.benchmarks{gap:20px}.benchmarks>div+div{padding-left:20px}.benchmarks dt{letter-spacing:-.6px}
 .case-heading{margin-bottom:24px}.case-transition{gap:30px}.case-transition>div+div:before{left:-24px}.case-results{padding:24px;margin-top:24px}.case-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.case-metric:nth-child(-n+2){grid-column:auto;padding-bottom:20px}.case-metrics dt{letter-spacing:-.5px}
 .case-2 .case-metrics{grid-template-columns:1fr 1fr;gap:24px 16px}.case-2 .case-metric{border:0;padding:0}.case-2 .case-metric:first-child{grid-column:1/-1;border-bottom:1px solid #caddeb;padding:0 0 20px}
 .case-outcomes{grid-template-columns:1fr;gap:24px;margin-top:28px;padding-top:24px}.case-outcomes>div+div{border-left:0;padding:24px 0 0;border-top:1px solid #d6e4f0}.case-outcomes h3{margin-bottom:10px}
}
@media(max-width:700px){.mainframe-page{--type-display:34px;--type-section:28px}.migration-hero-inner{min-height:385px;padding:22px 0 30px}.migration-hero-photo{object-position:38% center}.migration-hero:after{background:#06294f66}.breadcrumb{gap:7px;margin-bottom:24px}.migration-hero h1{letter-spacing:-.8px;line-height:1.16}.migration-hero h1 br{display:none}.mainframe-page .migration-hero-description{font-size:var(--type-body);line-height:1.7;max-width:320px;margin-top:18px}}
