/* Solution-only geometry; shared header, footer, typography and buttons stay intact. */
.solution-page{--s:min(1px,.0520833333vw)}
.solution-page main section{position:relative;isolation:isolate;scroll-margin-top:24px}
.solution-page .sol-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:-1}
.solution-page h1{font-size:calc(75 * var(--s));line-height:1.28;letter-spacing:0;margin:0 0 calc(18 * var(--s))}
.solution-page h1 strong,.solution-page h2 strong{color:#1535a2;font-weight:inherit}
.solution-page h2{font-size:calc(64 * var(--s));line-height:1.32;letter-spacing:0;margin:0 0 calc(22 * var(--s))}
.solution-page .eyebrow{font-size:calc(20 * var(--s));margin-bottom:calc(20 * var(--s))}
.solution-page .sol-description{font-size:calc(22 * var(--s));line-height:1.55;color:#626b76;margin:0 0 calc(40 * var(--s))}
.solution-page .sol-hero{min-height:calc(747 * var(--s));display:grid;align-items:start}
.solution-page .sol-hero>.container{min-height:inherit;padding-block:calc(153 * var(--s)) calc(100 * var(--s))}
.solution-page .sol-hero-copy{position:relative;z-index:1;width:62%}
.solution-page .sol-hero h2{font-size:calc(52 * var(--s));color:#347aff;line-height:1.4;margin-bottom:calc(25 * var(--s))}
.solution-page .sol-hero .sol-description{max-width:calc(820 * var(--s));margin-bottom:calc(110 * var(--s))}
.solution-page .sol-hero-art{position:absolute;right:0;top:calc(170 * var(--s));width:calc(760 * var(--s));height:auto;max-width:47.5%;z-index:0}
.solution-page main .button{display:inline-flex;align-items:center;justify-content:center;gap:calc(42 * var(--s));font-size:calc(20 * var(--s));min-height:calc(64 * var(--s));padding:calc(14 * var(--s)) calc(38 * var(--s));line-height:1.4}
.solution-page .sol-section{padding:calc(80 * var(--s)) 0 calc(100 * var(--s))}
.solution-page .sol-challenge-grid,.solution-page .sol-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(16 * var(--s))}
.solution-page .sol-challenge-card{position:relative;isolation:isolate;min-height:calc(548 * var(--s));padding:calc(26 * var(--s)) calc(30 * var(--s));border:1px solid #deebff;border-radius:calc(14 * var(--s));overflow:hidden}
.solution-page .sol-card-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;pointer-events:none}
.solution-page .sol-number{display:block;color:#80a5ff;font-size:calc(28 * var(--s));line-height:1.2;margin-bottom:calc(14 * var(--s))}
.solution-page .sol-challenge-card h3{font-size:calc(36 * var(--s));color:#162655;line-height:1.35;margin:0 0 calc(14 * var(--s))}
.solution-page .sol-challenge-card p{font-size:calc(25 * var(--s));line-height:1.48;color:#7b839a;margin:0;padding-bottom:calc(250 * var(--s))}
.solution-page .sol-architecture{padding-bottom:calc(100 * var(--s))}
.solution-page .sol-architecture-art{width:100%;height:auto;object-fit:contain}
.solution-page .sol-process{min-height:calc(963 * var(--s));padding-bottom:calc(100 * var(--s))}
.solution-page .sol-process-grid{position:relative;min-height:calc(620 * var(--s));display:grid;grid-template-columns:39% minmax(0,1fr)}
.solution-page .sol-process-list{list-style:none;margin:0;padding:calc(30 * var(--s)) 0;position:relative;z-index:1;display:grid;gap:calc(40 * var(--s))}
.solution-page .sol-process-list:before{content:"";position:absolute;left:calc(-48 * var(--s));top:calc(58 * var(--s));bottom:calc(72 * var(--s));width:2px;background:linear-gradient(#2b71ff 0 30%,#c6d7ef 30%)}
.solution-page .sol-process-list li{position:relative;display:grid;grid-template-columns:calc(42 * var(--s)) calc(76 * var(--s)) minmax(0,1fr);gap:calc(18 * var(--s));align-items:start}
.solution-page .sol-process-list li:before{content:"";position:absolute;left:calc(-57 * var(--s));top:calc(22 * var(--s));width:calc(18 * var(--s));height:calc(18 * var(--s));background:#c6d7ef;border:3px solid #eef6ff;border-radius:50%}
.solution-page .sol-process-list li:first-child:before{background:#1670ff}
.solution-page .sol-step-number{color:#88a2c7;font-size:calc(26 * var(--s));font-weight:600;padding-top:calc(8 * var(--s))}
.solution-page .sol-process-list li:first-child .sol-step-number{color:#2878ff}
.solution-page .sol-step-icon{width:calc(76 * var(--s));height:calc(76 * var(--s));object-fit:contain;border-radius:calc(12 * var(--s));background:#e2efff;padding:calc(15 * var(--s))}
.solution-page .sol-process-list h3{font-size:calc(28 * var(--s));color:#1e305e;margin:calc(3 * var(--s)) 0 calc(10 * var(--s))}
.solution-page .sol-process-list p{font-size:calc(20 * var(--s));line-height:1.55;color:#7a849d;margin:0;max-width:calc(390 * var(--s))}
.solution-page .sol-process-art{position:absolute;width:calc(1920 * var(--s));max-width:none;height:auto;right:calc(-160 * var(--s));bottom:calc(-100 * var(--s));pointer-events:none;z-index:0}
.solution-page .sol-process{overflow:hidden}
.solution-page .sol-scene-tabs{display:flex;gap:calc(48 * var(--s));margin-bottom:calc(24 * var(--s));border-bottom:1px solid #edf2fa}
.solution-page .sol-scene-tabs button{border:0;border-bottom:3px solid transparent;background:none;color:#565f6e;font-size:calc(24 * var(--s));font-weight:600;line-height:1.5;padding:calc(12 * var(--s)) 0 calc(18 * var(--s));text-align:left}
.solution-page .sol-scene-tabs button.active{color:#337fff;border-bottom-color:#337fff}
.solution-page .sol-scene-panel{display:grid;grid-template-columns:45% minmax(0,1fr);gap:calc(45 * var(--s));padding:calc(56 * var(--s));min-height:calc(590 * var(--s));border-radius:calc(12 * var(--s));background:linear-gradient(120deg,#f0f7ff,#f4f8ff)}
.solution-page .sol-scene-copy h3{font-size:calc(36 * var(--s));line-height:1.4;margin:0 0 calc(12 * var(--s));color:#233252}
.solution-page .sol-scene-copy h3 strong{color:#347cff;font-weight:700}
.solution-page .sol-tags{display:flex;flex-wrap:wrap;gap:calc(20 * var(--s));color:#19c7a4;font-size:calc(18 * var(--s));margin-bottom:calc(36 * var(--s))}
.solution-page .sol-tags span:before{content:none}
.solution-page .sol-scene-step{margin-bottom:calc(22 * var(--s))}
.solution-page .sol-scene-step h4{font-size:calc(24 * var(--s));line-height:1.4;margin:0 0 calc(6 * var(--s))}
.solution-page .sol-scene-step p{font-size:calc(19 * var(--s));line-height:1.5;color:#7a8496;margin:0}
.solution-page .sol-scene-visual{display:grid;align-items:center;min-width:0}
.solution-page .sol-scene-visual>img{width:100%;height:auto;object-fit:contain}
.solution-page .sol-flow{position:relative;color:#394f80}
.solution-page .sol-flow-pill{margin:0 0 15px auto;width:max-content;max-width:100%;border-radius:30px;box-shadow:0 8px 25px #94b7ff2e;background:#fff;padding:10px 22px;font-size:calc(20 * var(--s))}
.solution-page .sol-flow-grid{display:grid;grid-template-columns:1fr 2fr 1.1fr;gap:calc(22 * var(--s));align-items:center}
.solution-page .sol-flow-edge{margin:0;padding:calc(18 * var(--s)) calc(10 * var(--s));font-size:calc(19 * var(--s));text-align:center;border-radius:12px;box-shadow:0 10px 30px #adcaff4d;background:#ffffffb8}
.solution-page .sol-flow-levels{position:relative;display:grid;gap:calc(12 * var(--s));padding:calc(20 * var(--s));border:1px solid #dceaff;background:linear-gradient(#fff,#f3f5ff);border-radius:20px;box-shadow:0 12px 45px #b7ceff66}
.solution-page .sol-flow-levels>div{background:#f0f6ff;padding:calc(15 * var(--s));border-radius:10px;text-align:center}
.solution-page .sol-flow h4{font-size:calc(20 * var(--s));line-height:1.4;margin:0 0 8px}
.solution-page .sol-flow-levels p{font-size:calc(17 * var(--s));margin:0;color:#8f9bb5}
.solution-page .sol-flow-state{background:#fff;padding:calc(20 * var(--s));border-radius:15px;box-shadow:0 10px 30px #c0d4fc55}
.solution-page .sol-flow-state p{font-size:calc(17 * var(--s));margin:0 0 12px;white-space:nowrap}
.solution-page .sol-flow-state p:before{content:"◉";color:#2e87ff;margin-right:8px}
.solution-page .sol-flow-down{position:absolute;left:50%;bottom:-26px;color:#3c82ff}
.solution-page .sol-flow-end{margin:40px 0 0 auto;width:max-content;max-width:100%;font-size:calc(19 * var(--s));background:#fff;box-shadow:0 10px 20px #a4bfff44;border-radius:25px;padding:10px 25px}
.solution-page .sol-values{background:#f7f8fd}
.solution-page .sol-value-grid article{background:#fff;min-height:calc(548 * var(--s));padding:calc(32 * var(--s));display:flex;flex-direction:column}
.solution-page .sol-value-grid h3{font-size:calc(32 * var(--s));margin:0 0 calc(12 * var(--s))}
.solution-page .sol-value-grid p{font-size:calc(20 * var(--s));line-height:1.5;color:#8891a2;margin:0 0 calc(20 * var(--s))}
.solution-page .sol-value-grid img{width:100%;height:calc(320 * var(--s));object-fit:contain;margin-top:auto}
.solution-page .sol-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(24 * var(--s))}
.solution-page .sol-related-card{isolation:isolate;position:relative;display:grid;grid-template-columns:calc(62 * var(--s)) minmax(0,1fr) calc(32 * var(--s));gap:calc(26 * var(--s));min-height:calc(177 * var(--s));padding:calc(34 * var(--s));border:1px solid #e5edf8;box-shadow:0 12px 34px #647eae13;border-radius:calc(14 * var(--s));overflow:hidden;align-items:start}
.solution-page .sol-related-icon{width:calc(62 * var(--s));height:calc(62 * var(--s));object-fit:contain;padding:calc(10 * var(--s));background:#f9fcff;border:1px solid #e3eeff;border-radius:calc(12 * var(--s))}
.solution-page .sol-related-card h3{font-size:calc(28 * var(--s));color:#26345f;margin:0 0 calc(12 * var(--s))}
.solution-page .sol-related-card p{font-size:calc(18 * var(--s));line-height:1.55;color:#8f98b0;max-width:calc(540 * var(--s));margin:0}
.solution-page .sol-related-arrow{color:#7797ff;font-size:calc(28 * var(--s));line-height:1.2}
.solution-page .sol-cta{min-height:calc(365 * var(--s));padding:calc(72 * var(--s)) 0 calc(56 * var(--s))}
.solution-page .sol-cta-eyebrow{color:#5594ff;font-size:calc(22 * var(--s));margin-bottom:calc(12 * var(--s))}
.solution-page .sol-cta h2{font-size:calc(52 * var(--s));margin-bottom:calc(12 * var(--s))}
.solution-page .sol-cta .sol-description{font-size:calc(22 * var(--s));margin-bottom:calc(24 * var(--s));max-width:65%}
.solution-page .sol-cta-actions{display:flex;gap:calc(24 * var(--s));flex-wrap:wrap}
@media(max-width:1100px){
 .solution-page{--s:.65px}.solution-page .container{max-width:none;width:calc(100% - 64px)}
 .solution-page .sol-hero-art{opacity:.8;right:0;max-width:42%}.solution-page .sol-hero-copy{width:58%}
 .solution-page .sol-challenge-card p{padding-bottom:150px}.solution-page .sol-challenge-card h3{font-size:22px}.solution-page .sol-challenge-card p{font-size:16px}
 .solution-page .sol-process-grid{grid-template-columns:45% 1fr}.solution-page .sol-process-list:before,.solution-page .sol-process-list li:before{display:none}
 .solution-page .sol-flow-grid{grid-template-columns:1fr 2fr}.solution-page .sol-flow-state{grid-column:2}.solution-page .sol-flow-state p{display:inline-block;margin-right:12px}.solution-page .sol-flow-pill{font-size:14px}
}
@media(max-width:700px){
 .solution-page{--s:1px}.solution-page .container{width:calc(100% - 40px)}
 .solution-page .sol-hero{min-height:0}.solution-page .sol-hero>.container{padding:55px 0 25px}.solution-page .sol-hero-copy{width:100%}
 .solution-page h1{font-size:32px;line-height:1.4}.solution-page .sol-hero h2{font-size:23px;line-height:1.45}
 .solution-page h2{font-size:28px;line-height:1.45;margin-bottom:16px}.solution-page .eyebrow{font-size:14px;margin-bottom:14px}
 .solution-page .sol-description{font-size:15px;line-height:1.65;margin-bottom:24px}.solution-page .sol-hero .sol-description{margin-bottom:24px;max-width:none}
 .solution-page .sol-hero-art{position:static;opacity:1;width:100%;max-width:100%;height:230px;object-fit:contain;margin:20px auto 0}
 .solution-page main .button{font-size:14px;min-height:44px;padding:11px 22px;gap:22px}
 .solution-page .sol-section{padding:45px 0}.solution-page .sol-challenge-grid,.solution-page .sol-value-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .solution-page .sol-challenge-card{min-height:335px;padding:18px 15px;border-radius:10px}.solution-page .sol-number{font-size:16px;margin-bottom:10px}.solution-page .sol-challenge-card h3{font-size:18px;margin-bottom:10px}.solution-page .sol-challenge-card p{font-size:13px;padding-bottom:105px}.solution-page .sol-card-backdrop{object-fit:cover}
 .solution-page .sol-architecture-art{margin-top:20px}.solution-page .sol-process{min-height:0}.solution-page .sol-process-grid{display:block;min-height:0}.solution-page .sol-process-list{gap:25px;padding:10px 0}.solution-page .sol-process-list li{grid-template-columns:22px 45px 1fr;gap:12px}.solution-page .sol-step-number{font-size:15px}.solution-page .sol-step-icon{width:45px;height:45px;padding:10px}.solution-page .sol-process-list h3{font-size:18px;margin-top:0}.solution-page .sol-process-list p{font-size:14px;max-width:none}.solution-page .sol-process-art{position:static;width:calc(100% + 40px);margin-left:-20px;max-width:none;margin-top:-30px}
 .solution-page .sol-scene-tabs{gap:20px;overflow-x:auto;margin-bottom:20px}.solution-page .sol-scene-tabs button{font-size:14px;flex:0 0 auto;padding:10px 0;max-width:145px;white-space:normal}
 .solution-page .sol-scene-panel{grid-template-columns:1fr;padding:24px 18px;gap:28px;min-height:0}.solution-page .sol-scene-copy h3{font-size:22px}.solution-page .sol-tags{font-size:12px;gap:12px;margin-bottom:24px}.solution-page .sol-scene-step h4{font-size:16px}.solution-page .sol-scene-step p{font-size:13px}.solution-page .sol-scene-step{margin-bottom:18px}
 .solution-page .sol-flow-grid{gap:10px;grid-template-columns:.85fr 1.8fr}.solution-page .sol-flow-pill{font-size:12px;padding:8px 14px}.solution-page .sol-flow-edge{font-size:12px;padding:12px 7px}.solution-page .sol-flow-levels{padding:12px;gap:10px}.solution-page .sol-flow-levels>div{padding:12px 8px}.solution-page .sol-flow h4{font-size:13px}.solution-page .sol-flow-levels p,.solution-page .sol-flow-state p{font-size:12px}.solution-page .sol-flow-state{padding:12px}.solution-page .sol-flow-end{font-size:12px;margin-top:22px;padding:8px 14px}
 .solution-page .sol-value-grid article{padding:18px 15px;min-height:300px}.solution-page .sol-value-grid h3{font-size:19px}.solution-page .sol-value-grid p{font-size:13px}.solution-page .sol-value-grid img{height:155px}
 .solution-page .sol-related-grid{grid-template-columns:1fr;gap:14px}.solution-page .sol-related-card{min-height:130px;padding:23px 18px;grid-template-columns:38px 1fr 18px;gap:12px;border-radius:10px}.solution-page .sol-related-icon{width:38px;height:38px;padding:7px;border-radius:8px}.solution-page .sol-related-card h3{font-size:18px;margin-bottom:8px}.solution-page .sol-related-card p{font-size:13px}.solution-page .sol-related-arrow{font-size:20px}
 .solution-page .sol-cta{min-height:0;padding:35px 0 90px}.solution-page .sol-cta h2{font-size:26px}.solution-page .sol-cta-eyebrow{font-size:14px}.solution-page .sol-cta .sol-description{font-size:14px;max-width:100%}.solution-page .sol-cta-actions{gap:12px}
}
/* The supplied scene artwork is a whole-card background, with a clear text area. */
.solution-page .sol-scene-panel{position:relative;isolation:isolate;overflow:hidden}
.solution-page .sol-scene-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;pointer-events:none}
.solution-page .sol-value-grid img{object-fit:cover;object-position:center bottom}
@media(max-width:700px){
 .solution-page .sol-scene-panel:has(.sol-scene-backdrop){padding-bottom:290px}
 .solution-page .sol-scene-backdrop{top:auto;bottom:0;height:275px;object-fit:cover;object-position:right center;width:220%;max-width:none;left:auto;right:0}
 .solution-page .sol-scene-panel:has(.sol-scene-backdrop) .sol-scene-visual:empty{display:none}
}

.solution-page h1 span,.solution-page h1 strong{display:inline}
.solution-page .sol-hero h1{font-family:var(--type-font)}
.solution-page .sol-process-list li:first-child .sol-step-icon{background:linear-gradient(135deg,#40c7ff,#1268ff)}
.solution-page .sol-scene-panel{grid-template-columns:39% minmax(0,1fr)}
.solution-page .sol-scene-backdrop{height:auto;top:50%;bottom:auto;transform:translateY(-50%)}
@media(max-width:700px){.solution-page .sol-scene-panel{grid-template-columns:1fr}.solution-page .sol-scene-backdrop{top:auto;bottom:0;height:275px;transform:none}}
/* Shared header is positioned over the hero, so the hero includes its 106px. */
@media(min-width:1101px){.solution-page .sol-hero{min-height:calc(853 * var(--s))}.solution-page .sol-hero>.container{padding-top:calc(270 * var(--s))}}
@media(min-width:701px) and (max-width:1100px){.solution-page .sol-hero>.container{padding-top:145px}}
@media(max-width:700px){.solution-page .sol-hero>.container{padding-top:115px}.solution-page .sol-hero:not(:has(.sol-hero-art))>.container{padding-bottom:70px}}
/* New original value cards replace temporary challenge illustrations. */
.solution-page .sol-value-grid article{position:relative;isolation:isolate;min-height:calc(535 * var(--s));padding-bottom:calc(330 * var(--s))}
.solution-page .sol-value-grid .sol-value-art{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;margin:0;z-index:-1}
.solution-page .sol-tags>span{display:flex;align-items:center;gap:calc(7 * var(--s))}
.solution-page .sol-tags>span:before{content:none}
.solution-page .sol-tags img{width:calc(24 * var(--s));height:calc(24 * var(--s));object-fit:contain;flex:none}
@media(max-width:700px){
 .solution-page .sol-value-grid article{min-height:340px;padding-bottom:200px}
 .solution-page .sol-value-grid .sol-value-art{inset:auto 0 0;width:100%;height:auto;object-fit:contain}
 .solution-page .sol-tags>span{gap:5px}.solution-page .sol-tags img{width:16px;height:16px}
}
@media(max-width:700px){
 .solution-page .sol-scene-panel:has(.sol-scene-backdrop){padding-bottom:calc((100vw - 40px) * .75 + 20px)}
 .solution-page .sol-scene-backdrop{width:200%;height:auto;object-fit:contain}
}

#top.solution-page .sol-scene-tabs{gap:38px;overflow-x:auto}
#top.solution-page .sol-scene-tabs button{display:flex;align-items:center;gap:9px;white-space:nowrap;cursor:pointer}
#top.solution-page .sol-scene-tabs button img{width:20px;height:20px;object-fit:contain}
#top.solution-page .sol-scene-panel{grid-template-columns:minmax(0,48fr) minmax(0,52fr);gap:24px;align-items:center;padding:36px 50px;min-height:510px}
#top.solution-page .sol-scene-copy{align-self:center}
#top.solution-page .sol-scene-copy h3{font-size:28px;line-height:1.4;margin-bottom:18px}
#top.solution-page .sol-scene-step h4{font-size:20px;line-height:1.4}
#top.solution-page .sol-scene-step p{font-size:16px;line-height:1.65}
#top.solution-page .sol-scene-visual>img{height:430px;object-fit:contain}
#top.solution-page .sol-related-card{display:grid;grid-template-columns:48px minmax(0,1fr) 22px;gap:18px;min-height:200px;padding:28px 32px;align-items:start;background:#f5f9ff;transition:box-shadow .2s,transform .2s}
#top.solution-page .sol-related-card>.sol-related-icon{width:48px;height:48px;object-fit:contain}
#top.solution-page .sol-related-card>div{padding-right:190px;min-width:0}
#top.solution-page .sol-related-card .sol-card-backdrop{object-fit:cover;opacity:.35;mask-image:linear-gradient(to right,#000 0 20%,transparent 48%)}
#top.solution-page .sol-related-decoration{position:absolute;width:190px;height:160px;right:24px;bottom:12px;object-fit:contain;pointer-events:none}
#top.solution-page .sol-related-card p{font-size:16px;line-height:1.65;color:#61718a}
#top.solution-page .sol-related-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #2978ff1b}
#top.solution-page .sol-related-card:focus-visible{outline:2px solid #2878ff;outline-offset:3px}
@media(max-width:1100px){#top.solution-page .sol-related-card>div{padding-right:90px}#top.solution-page .sol-related-decoration{width:110px;right:10px}}
@media(max-width:700px){#top.solution-page .sol-scene-panel{grid-template-columns:1fr;padding:24px;min-height:0}#top.solution-page .sol-scene-copy h3{font-size:24px}#top.solution-page .sol-scene-visual>img{height:260px}#top.solution-page .sol-related-card{grid-template-columns:36px minmax(0,1fr) 18px;gap:12px;padding:22px;min-height:190px}#top.solution-page .sol-related-card>.sol-related-icon{width:36px;height:36px}#top.solution-page .sol-related-card>div{padding-right:0;padding-bottom:70px}#top.solution-page .sol-related-decoration{height:85px;width:105px;bottom:0}}
