/* Overview solution modules; independent of pricing and other GEO sections. */
.geo-solution-list{margin-top:44px;}
.geo-solution-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:56px;padding:44px 0;scroll-margin-top:100px;}
.geo-solution-row:first-child{padding-top:0;}
.geo-solution-row:last-child{padding-bottom:0;}
.geo-solution-row+.geo-solution-row{border-top:1px solid #eceef2;}
.geo-solution-row:nth-child(even){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);}
.geo-solution-row:nth-child(even) .geo-solution-visual{grid-column:2;grid-row:1;}
.geo-solution-row:nth-child(even) .geo-solution-copy{grid-column:1;grid-row:1;}
.geo-solution-visual{width:100%;aspect-ratio:4/3;min-width:0;background:#f7f8fa;border:1px solid #f0f1f4;}
.geo-solution-visual img{display:block;width:100%;height:100%;object-fit:contain;}
.geo-solution-copy{min-width:0;}
.geo-solutions .geo-solution-copy h3{margin:0;color:#222;font-size:26px;font-weight:400;line-height:1.4;}
.geo-solution-subtitle{margin:12px 0 14px;color:#cc0000;font-size:18px;line-height:1.7;}
.geo-solution-intro{margin:0;color:#666;font-size:14px;line-height:1.9;}
.geo-solution-features{display:grid;gap:14px;margin:24px 0 28px;padding:0;list-style:none;}
.geo-solution-features li{position:relative;margin:0;padding-left:16px;color:#666;font-size:14px;line-height:1.9;overflow-wrap:break-word;}
.geo-solution-features li:before{content:'';position:absolute;left:0;top:10px;width:5px;height:5px;background:#cc0000;}
.geo-solution-features strong{color:#333;font-weight:600;}
.geo-solution-actions{grid-template-columns:repeat(2,144px);justify-content:start;gap:14px;margin:0;}
.geo-solution-actions .geo-consult,.geo-solution-actions .geo-plan-more{height:40px;font-size:14px;}
:is(#geo-solution-diagnosis,#geo-solution-content,#geo-solution-monitoring){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;}
.geo-solution-visual.geo-diagnosis-gallery{height:auto;aspect-ratio:auto;padding:12px;background:#fff;border:0;border-radius:0;box-shadow:0 18px 36px rgba(28,44,74,.1);scroll-margin-top:90px;}
.geo-diagnosis-stage{aspect-ratio:2/1;background:#fff;overflow:hidden;}
.geo-diagnosis-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 3px 12px;font-size:13px;color:#333;}
.geo-diagnosis-current:before{content:'';display:inline-block;width:3px;height:12px;margin-right:8px;background:#cc0000;vertical-align:-1px;}
.geo-diagnosis-counter{color:#999;font-size:11px;font-variant-numeric:tabular-nums;}
.geo-diagnosis-slide{position:relative;display:block;width:100%;padding:0;border:0;background:#fff;animation:geo-diagnosis-reveal .25s ease;}
.geo-diagnosis-slide[hidden]{display:none;}
.geo-diagnosis-slide img{aspect-ratio:2/1;height:auto;object-fit:contain;}
.geo-diagnosis-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;}
.geo-diagnosis-thumb{min-width:0;padding:4px;border:1px solid #e6e8ed;background:#fff;cursor:pointer;color:#777;transition:border-color .2s,background .2s;}
.geo-diagnosis-thumb img{width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;}
.geo-diagnosis-thumb span{display:block;padding:6px 0 2px;font-size:11px;line-height:1.4;}
.geo-diagnosis-thumb[aria-pressed=true]{border-color:#cc0000;background:#fff6f6;color:#cc0000;}
:is(#geo-solution-diagnosis,#geo-solution-content,#geo-solution-monitoring) .geo-solution-features{gap:6px;margin:18px 0 22px;}
:is(#geo-solution-diagnosis,#geo-solution-content,#geo-solution-monitoring) .geo-solution-features li{padding:0;}
:is(#geo-solution-diagnosis,#geo-solution-content,#geo-solution-monitoring) .geo-solution-features li:before{display:none;}
.geo-diagnosis-feature{display:flex;gap:10px;width:100%;padding:10px 12px;border:1px solid transparent;border-left:2px solid #e9ebef;background:transparent;text-align:left;color:#666;font:inherit;line-height:1.8;cursor:pointer;transition:background .2s,border-color .2s;}
.geo-diagnosis-feature[aria-pressed=true]{border-color:#f2dada;border-left-color:#cc0000;background:#fff7f7;}
.geo-diagnosis-thumb:focus-visible,.geo-diagnosis-feature:focus-visible{outline:2px solid #cc0000;outline-offset:3px;}
@keyframes geo-diagnosis-reveal{from{opacity:.5;}to{opacity:1;}}
@media(hover:hover){.geo-diagnosis-thumb:hover{border-color:#cc0000;}.geo-diagnosis-feature:hover{background:#fff7f7;border-left-color:#cc0000;}}
@media(prefers-reduced-motion:reduce){.geo-diagnosis-slide{animation:none;}.geo-diagnosis-feature,.geo-diagnosis-thumb{transition:none;}}
@media(min-width:769px) and (max-width:1100px){.geo-solution-row{gap:32px;}.geo-solutions .geo-solution-copy h3{font-size:24px;}.geo-solution-subtitle{font-size:17px;}}
@media(max-width:768px){
 :is(#geo-solution-diagnosis,#geo-solution-content,#geo-solution-monitoring){grid-template-columns:minmax(0,1fr);gap:0;}
 :is(#geo-solution-diagnosis,#geo-solution-content,#geo-solution-monitoring) .geo-solution-copy{display:contents;}
 :is(#geo-solution-diagnosis,#geo-solution-content,#geo-solution-monitoring) h3{grid-row:1;}
 :is(#geo-solution-diagnosis,#geo-solution-content,#geo-solution-monitoring) .geo-solution-subtitle{grid-row:2;margin-bottom:18px;}
 :is(#geo-solution-diagnosis,#geo-solution-content,#geo-solution-monitoring) .geo-diagnosis-gallery{grid-row:3;padding:9px;}
 .geo-diagnosis-toolbar{font-size:12px;padding-bottom:9px;}
 .geo-diagnosis-thumbs{gap:5px;margin-top:9px;}
 .geo-diagnosis-thumb{padding:3px;}
 .geo-diagnosis-thumb span{font-size:10px;}
 .geo-diagnosis-feature{padding:9px 10px;gap:8px;}
 .geo-solution-list{margin-top:28px;}
 .geo-solution-row,.geo-solution-row:nth-child(even){grid-template-columns:minmax(0,1fr);gap:20px;padding:28px 0;}
 .geo-solution-row:nth-child(even) .geo-solution-visual,.geo-solution-row:nth-child(even) .geo-solution-copy{grid-column:auto;grid-row:auto;}
 .geo-solution-visual{height:160px;aspect-ratio:auto;}
 .geo-solutions .geo-solution-copy h3{font-size:20px;}
 .geo-solution-subtitle{margin:8px 0 10px;font-size:15px;}
 .geo-solution-intro,.geo-solution-features li{font-size:12px;line-height:1.85;}
 .geo-solution-features{gap:12px;margin:18px 0 20px;}
 .geo-solution-features li{padding-left:13px;}
 .geo-solution-features li:before{top:9px;width:4px;height:4px;}
 .geo-solution-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:320px;}
 .geo-solution-actions .geo-consult,.geo-solution-actions .geo-plan-more{height:38px;font-size:12px;}
}

#geo-solution-content .geo-diagnosis-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));}
