/* Individual Solution pages retain each reference's assets and content order. */
.solution-page{--solution-unit:min(5.208333vw,100px);--solution-radius:var(--solution-unit);background:#fff}
.solution-page .solution-content{max-width:1400px}
.solution-page h2{font-size:calc(var(--solution-unit)*.6);line-height:1.25;font-weight:500;margin:0 0 calc(var(--solution-unit)*.65)}
.solution-hero{position:relative;height:calc(var(--solution-unit)*8);min-height:490px;color:#fff;display:flex;align-items:center;text-align:center;padding:125px 0 100px;background:#242424}
.solution-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.solution-hero:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.5);pointer-events:none}
.solution-hero-copy{position:relative;z-index:1;padding-top:20px}
.solution-hero h1{font-size:calc(var(--solution-unit)*.64);font-weight:500;line-height:1.22;margin:0 auto 24px;max-width:1250px;text-wrap:balance}
.solution-hero-copy>p{font-size:clamp(16px,calc(var(--solution-unit)*.2),20px);line-height:1.65;max-width:815px;width:65%;margin:0 auto 28px}
.solution-hero .button{border-color:#fff;background:transparent;color:#fff;min-width:170px}
.solution-hero .button:hover{background:var(--cms-primary,#17813f);border-color:var(--cms-primary,#17813f)}
.solution-breadcrumbs{position:absolute;inset:calc(var(--solution-unit)*1.4) 0 auto;z-index:2;display:flex;align-items:center;flex-wrap:wrap;gap:12px;text-align:start;font-size:14px;color:#fff}
.solution-breadcrumbs a:hover{text-decoration:underline}
.solution-rounded{position:relative;border-radius:var(--solution-radius) var(--solution-radius) 0 0;margin-top:calc(var(--solution-unit)*-1.1)}
.solution-outputs{background:#f8f8f8;padding:calc(var(--solution-unit)*1.4) 0 calc(var(--solution-unit)*2.5)}
.solution-output-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.solution-output-card{border:0;background:transparent;padding:0;cursor:pointer;color:#333;text-align:center;min-width:0;transition:transform .35s}
.solution-output-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:calc(var(--solution-unit)*.25);transition:transform .35s;display:block}
.solution-output-card span{display:block;font-size:calc(var(--solution-unit)*.26);font-weight:500;line-height:1.4;margin-top:22px;overflow-wrap:anywhere}
.solution-output-card.active,.solution-output-card:hover{color:var(--cms-primary,#17813f);transform:translateY(calc(var(--solution-unit)*-.12))}
.solution-output-card.active img,.solution-output-card:hover img{transform:scale(1.025)}
.solution-output-card:focus-visible,.solution-process-tabs button:focus-visible,.solution-diagram:focus-visible,.solution-stage-image:focus-visible{outline:2px solid var(--cms-primary,#17813f);outline-offset:6px}
.solution-overview{background:#fff;padding:calc(var(--solution-unit)*1.1) 0 calc(var(--solution-unit)*2.9)}
.solution-overview p,.solution-article-section li{font-size:18px;line-height:1.8;margin:0 0 28px;overflow-wrap:anywhere}
.solution-diagram{display:block;border:0;background:transparent;padding:0;width:100%;margin:35px auto;cursor:zoom-in}
.solution-diagram img{display:block;max-width:100%;max-height:650px;object-fit:contain;margin:auto}
.solution-video{position:relative;margin:50px auto 0;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:calc(var(--solution-unit)*.4);background:#171717}
.solution-video video{display:block;width:100%;height:100%;object-fit:contain}
.solution-video-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:76px;height:76px;border:2px solid #fff;border-radius:50%;background:#0005;color:#fff;font-size:25px;cursor:pointer;display:grid;place-items:center}
.solution-video-play span{padding-inline-start:5px}
.solution-video-play[hidden]{display:none}
.solution-benefits{padding:calc(var(--solution-unit)*1.5) 0 calc(var(--solution-unit)*1.65);color:#fff;background:#292b2b;overflow:hidden}
.solution-benefit-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.24}
.solution-benefits .solution-content{position:relative;z-index:1}
.solution-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 70px}
.solution-benefit-grid article{display:flex;align-items:flex-start;gap:25px}
.solution-benefit-number{font-size:30px;line-height:1.1;border:1px solid #ffffff75;border-radius:50%;width:64px;height:64px;flex:0 0 64px;display:grid;place-items:center;font-weight:300}
.solution-benefit-grid p{font-size:18px;line-height:1.65;margin:3px 0 0}
.solution-process{background:#fff;padding:calc(var(--solution-unit)*1.4) 0 calc(var(--solution-unit)*2.5)}
.solution-process>.solution-content{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.solution-process h2{max-width:600px}
.solution-process-tabs{position:relative;padding-inline-start:30px;border-inline-start:1px solid #ddd;display:flex;flex-direction:column;gap:0;--stage-index:0}
.solution-process-tabs button{border:0;background:transparent;text-align:start;min-height:calc(var(--solution-unit)*.7);font-size:clamp(18px,1.5vw,24px);color:#777;font-weight:400;padding:10px 0;cursor:pointer;line-height:1.35}
.solution-process-tabs button.active{color:var(--cms-primary,#17813f);font-weight:500}
.solution-process-progress{position:absolute;inset-block-start:calc(var(--stage-index)*var(--solution-unit)*.7);inset-inline-start:-3px;width:5px;height:calc(var(--solution-unit)*.7);background:var(--cms-primary,#17813f);transition:inset-block-start .45s}
.solution-process-progress:after{content:'';position:absolute;inset-block-start:50%;inset-inline-start:-4px;transform:translateY(-50%);width:13px;height:13px;background:var(--cms-primary,#17813f);border-radius:50%}
.solution-stage-image{display:block;width:100%;aspect-ratio:1.02;background:#f7f7f7;border:0;border-radius:15px;overflow:hidden;padding:0;cursor:zoom-in}
.solution-stage-image img{width:100%;height:100%;object-fit:contain;display:block}
.solution-process-images article>p{margin:20px 0 0;font-size:16px;line-height:1.7;color:#666}
.solution-process-images article:not([hidden]){animation:solution-stage-enter .55s ease}
.solution-article-section{margin:55px 0}
.solution-article-blue{padding:40px;background:#f1f8fd;border-radius:20px}
.solution-article-section h2{font-size:clamp(25px,2.4vw,36px);margin-bottom:24px}
.solution-article-section>img{display:block;max-width:100%;margin:30px auto}
.solution-table-wrap{overflow-x:auto;margin:32px 0}
.solution-table-wrap table{border-collapse:collapse;width:100%;min-width:450px;font-size:16px;line-height:1.6}
.solution-table-wrap td,.solution-table-wrap th{border:1px solid #ddd;padding:18px 22px;text-align:start}
.solution-table-wrap th{background:#f4f4f4;font-weight:500}
.solution-faq article{border-top:1px solid #ddd;padding:20px 0}
.solution-faq h3{font-size:18px;font-weight:500;margin:0}
.solution-faq article p{margin:18px 0 0;font-size:16px}
.solution-related,.solution-cases{background:#f8f8f8;padding:80px 0}
.solution-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.solution-related-card img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:15px}
.solution-related-card h3{font-size:24px;margin:20px 0}
.solution-case-source{font-size:14px;color:#777;margin-top:-25px;margin-bottom:30px}
.solution-case-track{gap:30px}
.solution-case-card{flex:0 0 calc((100% - 60px)/3);display:flex;flex-direction:column;color:inherit}
.solution-case-card>img{aspect-ratio:1.6;object-fit:cover;width:100%;border-radius:15px}
.solution-case-card>div{padding-top:24px}
.solution-case-card h3{font-size:23px;line-height:1.4;font-weight:400;margin:0 0 15px}
.solution-case-card p{font-size:16px;line-height:1.65;color:#666}
.solution-case-card time{display:block;font-size:14px;margin:20px 0;color:#777}
.solution-case-card span{color:var(--cms-primary,#17813f);font-size:16px}
.solution-inquiry{max-width:1400px;padding-top:40px;padding-bottom:100px}
.solution-inquiry #inquiry{margin:0;padding:30px 0}
.solution-image-dialog{padding:55px 20px 20px;border:0;border-radius:18px;max-width:95vw;width:1200px;background:#fff}
.solution-image-dialog img{display:block;max-height:80vh;width:100%;object-fit:contain}
.solution-image-dialog>[data-close]{position:absolute;inset:10px 15px auto auto;background:transparent;border:0;font-size:36px;cursor:pointer;color:#333}
.solution-image-dialog::backdrop{background:#000b}
@keyframes solution-stage-enter{from{opacity:.4;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1580px){.solution-page{--solution-unit:66px}.solution-benefit-grid{gap:35px 40px}.solution-process>.solution-content{gap:40px}}
@media(max-width:991px){.solution-hero-copy>p{width:100%;font-size:17px}.solution-output-grid{gap:22px}.solution-output-card span{font-size:18px}.solution-benefit-grid{gap:30px}.solution-benefit-grid article{gap:16px}.solution-benefit-number{width:48px;height:48px;flex-basis:48px;font-size:24px}.solution-benefit-grid p{font-size:16px}.solution-case-card{flex-basis:calc((100% - 30px)/2)}}
@media(max-width:767px){.solution-page{--solution-unit:calc(100vw / 7.5)}.solution-hero{height:calc(var(--solution-unit)*12);min-height:580px;padding-top:150px;padding-bottom:120px}.solution-hero-copy{padding-top:0}.solution-hero h1{font-size:32px}.solution-hero-copy>p{font-size:16px}.solution-breadcrumbs{inset-block-start:110px;font-size:13px;gap:8px}.solution-page h2{font-size:31px;margin-bottom:35px}.solution-output-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 20px}.solution-output-card span{font-size:18px;margin-top:16px}.solution-overview p{font-size:16px;line-height:1.8}.solution-video{margin-top:30px}.solution-video-play{width:55px;height:55px;font-size:19px}.solution-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 22px}.solution-benefit-grid article{display:block}.solution-benefit-number{margin-bottom:18px}.solution-benefit-grid p{font-size:16px}.solution-process>.solution-content{grid-template-columns:1fr;gap:35px}.solution-process-tabs button{min-height:50px;font-size:18px}.solution-process-progress{height:50px;inset-block-start:calc(var(--stage-index)*50px)}.solution-case-card{flex-basis:100%}.solution-related-grid{grid-template-columns:1fr}.solution-inquiry{padding-bottom:60px}.solution-article-section{margin:35px 0}.solution-article-section h2{font-size:26px}.solution-table-wrap td,.solution-table-wrap th{padding:12px}.solution-output-card.active,.solution-output-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.solution-output-card,.solution-output-card img,.solution-process-progress{transition:none}.solution-process-images article:not([hidden]){animation:none}}

/* Fully editable Solution media and form fields. */
.solution-media{margin:0;min-width:0}.solution-media img{display:block;max-width:100%;height:auto}.solution-media figcaption,.solution-media-caption{font-size:13px;line-height:1.6;color:#78847d;margin:10px 0 0;text-align:center}.solution-benefits .solution-media figcaption{color:#d4ddd7}.solution-benefit-grid article>div{min-width:0}.solution-benefit-grid h3{font-size:20px;line-height:1.45;margin:0 0 10px}.solution-benefit-grid .solution-media{max-width:180px;margin-bottom:16px}.solution-stage-image .solution-media{height:100%;display:flex;flex-direction:column}.solution-stage-image .solution-media img{flex:1;min-height:0;height:0;object-fit:contain}.solution-stage-image .solution-media figcaption{flex:none;margin:0;padding:9px}.solution-case-card>.solution-media img{aspect-ratio:1.6;object-fit:cover;width:100%;border-radius:15px}.solution-related-card p{font-size:16px;line-height:1.7;color:#68766d}.solution-output-card small{display:block;font-size:13px;color:#7c8981;margin-top:8px}.solution-hero-caption{display:block;font-size:13px;line-height:1.6;margin-top:20px;color:#e4ece6}.solution-video-title{font-size:23px;margin:28px 0 0}.solution-inquiry-note,.solution-inquiry-privacy{font-size:13px;line-height:1.7;color:#7c8981}.solution-inquiry-privacy a{text-decoration:underline;color:var(--cms-primary,#17813f)}
