.geo-hero { position:relative; isolation:isolate; min-height:540px; display:flex; align-items:center; padding:68px 0; background:#f8faff url("geo-banner.jpg") right center / auto 100% no-repeat; }
.geo-hero:before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.75) 35%,transparent 65%); }
.geo-hero-copy { width:52%; max-width:650px; }
.geo-hero h1 { font-size:clamp(36px,4.5vw,54px); margin:16px 0; color:#203654; }
.geo-hero h2 { font-size:24px; line-height:1.5; color:#315da6; }
.geo-hero p,.geo-page article p,.geo-process p { color:#52647e; font-size:14px; line-height:1.85; }
.geo-link { align-self:center; color:#235de2; padding:12px 0; }
.geo-tags { display:flex; flex-wrap:wrap; gap:18px; margin-top:22px; color:#315da6; font-size:13px; }
.geo-platforms { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.geo-platform { display:flex; align-items:center; gap:12px; padding:22px; border:1px solid #dce6f5; border-radius:12px; color:#203654; background:#fff; }
.geo-platform-logo { display:block; width:64px; height:64px; object-fit:contain; flex:none; border-radius:10px; }
.geo-platform strong { min-width:0; overflow-wrap:anywhere; line-height:1.45; }
@media(max-width:700px) { .geo-platform-logo { width:44px; height:44px; border-radius:8px; } }
@media(max-width:380px) { .geo-platforms .geo-platform { gap:8px; padding:14px 10px; font-size:13px; } .geo-platform-logo { width:36px; height:36px; } }
@media(max-width:350px) { .geo-platforms { grid-template-columns:minmax(0,1fr); } }
.geo-note { color:#677891; font-size:12px; line-height:1.8; margin:20px 0 0; }
.geo-soft { background:#f6f9ff; }
.geo-services,.geo-questions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.geo-service { min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid #dce6f5; border-radius:16px; background:#fff; }
.geo-service>img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; display:block; }
.geo-service-copy { padding:24px; display:flex; flex-direction:column; flex:1; }
.geo-service-copy>span,.geo-questions article>span { color:#235de2; font-size:12px; font-weight:700; }
.geo-page h3 { font-size:20px; line-height:1.5; color:#203654; }
.geo-service-copy small { margin-top:auto; border-top:1px solid #edf1f7; padding-top:16px; color:#677891; line-height:1.8; }
.geo-questions article { padding:24px; background:#fff; border:1px solid #dce6f5; border-radius:14px; }
.geo-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:0; list-style:none; counter-reset:geo; }
.geo-process li { counter-increment:geo; }
.geo-process li:before { content:"0" counter(geo); color:#235de2; font-size:28px; font-weight:800; }
@media(max-width:1000px) { .geo-hero { min-height:0; display:block; padding:48px 0 240px; background-size:auto 300px; background-position:right bottom; background-color:#fff; } .geo-hero:before { background:linear-gradient(180deg,#fff 0%,#fff calc(100% - 260px),transparent calc(100% - 160px)); } .geo-hero-copy { width:100%; max-width:730px; } .geo-services,.geo-questions { gap:14px; } .geo-process { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .geo-services,.geo-questions,.geo-process { grid-template-columns:minmax(0,1fr); } .geo-platforms { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .geo-platform { padding:18px 14px; font-size:14px; } .geo-page .section { padding:42px 0; } .geo-hero { padding:40px 0 220px; } .geo-hero h2 { font-size:21px; } .geo-service-copy { padding:20px; } }
