/* GEO reference reconstruction. Page-only styles; shared navigation and forms stay in styles.css. */
.gx { --gx-blue: var(--blue-bright); --gx-muted: #6e7887; --gx-line: #e0e5ed; color: var(--ink); overflow: clip; }
/* Use the shared .shell: 1600px maximum, 32px desktop / 16px mobile gutters. */
.gx-section { padding: 94px 0; position: relative; background: #fff; }
.gx-muted { background: #f5f6f9; }
.gx-heading { margin-bottom: 32px; max-width: 1020px; }
.gx-tag { display: inline-flex; align-items: center; margin: 0 0 19px; padding: 5px 12px; border: 1px solid #b9d7fa; border-radius: 30px; background: #edf5ff80; color: var(--blue); font-size: 12px; line-height: 1.4; font-weight: 650; letter-spacing: .08em; }
.gx-tag--en { font-size: 10px; letter-spacing: .16em; }
.gx h2 { margin: 0; font-size: clamp(28px, 2.6vw, 38px); line-height: 1.45; font-weight: 750; letter-spacing: -.035em; }
.gx h2 em { color: var(--blue-bright); font-style: normal; }
.gx h3 { margin: 0 0 12px; font-size: 18px; line-height: 1.5; font-weight: 700; }
.gx-intro { max-width: 920px; margin: 18px 0 0; color: var(--gx-muted); font-size: 14px; line-height: 1.9; }
.gx p { text-wrap: pretty; }
.gx .btn { font-size: 14px; min-height: 49px; padding-inline: 23px; }
.gx .btn--blue { background: var(--blue-bright); }
.gx .btn--blue:hover { background: var(--blue); }
.gx-hero { position: relative; background: radial-gradient(ellipse at 80% 42%, #eaf1fb 0, #f8f9fc 42%, #fdfdfe 72%); }
.gx-hero::after { content: ''; position: absolute; inset: auto 0 0; height: 90px; opacity: .2; background-image: linear-gradient(#b8d2ef 1px,transparent 1px),linear-gradient(90deg,#b8d2ef 1px,transparent 1px); background-size: 75px 30px; transform: perspective(150px) rotateX(35deg); transform-origin: bottom; mask-image: linear-gradient(transparent,#000); }
.gx-hero-layout { min-height: 715px; display: grid; grid-template-columns: 1.12fr 1fr; align-items: center; gap: 20px; padding-block: 75px; }
.gx-hero-copy { z-index: 2; position: relative; }
.gx h1 { font-size: clamp(38px,4.25vw,60px); line-height: 1.22; letter-spacing: -.065em; margin: 0 0 25px; color: #102238; font-weight: 800; }
.gx h1 span { color: var(--blue-bright); }
.gx-hero-lead { color: #606c7c; font-size: 15px; line-height: 1.95; margin: 0 0 29px; }
.gx-hero-metrics { display: flex; width: fit-content; max-width: 100%; margin-top: 35px; padding: 20px 7px; border: 1px solid #e3e8ef; border-radius: 15px; background: #ffffffb8; box-shadow: 0 14px 32px #223e6410; }
.gx-hero-metrics > div { padding: 0 20px; display: flex; flex-direction: column; gap: 5px; }
.gx-hero-metrics > div + div { border-left: 1px solid var(--gx-line); }
.gx-hero-metrics strong { font-size: 24px; font-weight: 650; color: var(--blue-bright); line-height: 1.2; white-space: nowrap; }
.gx-hero-metrics span { font-size: 11px; color: #7a8290; }
.gx-orbit { width: 100%; max-width: 580px; justify-self: center; aspect-ratio: 1; min-width: 0; position: relative; isolation: isolate; }
.gx-globe { position: absolute; inset: -8%; border-radius: 50%; background: radial-gradient(circle at 35% 24%,#fff9,transparent 39%),repeating-radial-gradient(ellipse at 50% 50%, transparent 0 28px, #a5c6e320 29px 30px, transparent 31px 48px),radial-gradient(ellipse at 62% 68%,#a9cce642,#e3edf750 55%,transparent 72%); border: 2px solid #c6d8eb30; box-shadow: inset 12px 18px 40px #fff, inset -15px -20px 38px #8ba9c71b, 0 0 60px #adc9e322; transform: rotate(-24deg); }
.gx-globe::before,.gx-globe::after { content:''; position:absolute; inset: 10% 30%; border: 1px solid #aac8e540; border-radius: 50%; }
.gx-globe::after { inset: 30% 6%; }
.gx-orbit-ring { position: absolute; inset: 8%; border: 1px solid #6cacf859; border-radius: 50%; }
.gx-orbit-ring::before { content:''; width: 6px; height: 6px; background: #2190ff; border-radius: 50%; position:absolute; top: 15%; left: 15%; box-shadow: 0 0 12px #2a98ff90; }
.gx-orbit-ring--a { animation: gx-orbit-turn 60s linear infinite; }
.gx-orbit-ring--b { inset: 18%; border-style: dashed; opacity: .6; transform: rotate(90deg); }
.gx-orbit-ring--c { inset: 1% 13%; transform: rotate(35deg); border-color: #bfd8ef70; }
.gx-orbit-core { position:absolute; width: 41%; aspect-ratio: 1; top: 29.5%; left: 29.5%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap: 7px; border-radius: 30px; background: linear-gradient(140deg,#fff,#f8faffd9); border: 1px solid #fff; box-shadow: 0 22px 55px #3b78b832, inset 0 0 24px #fff; }
.gx-orbit-core small { color: #8a95a5; font-size: 9px; letter-spacing: .2em; }
.gx-orbit-core b { font-size: 17px; font-weight: 550; }
.gx-orbit-core strong { color: var(--blue-bright); font-size: 18px; }
.gx-orbit-core > span:last-child { font-size: 9px; color: #8493a6; }
.gx-icon { display: inline-grid; place-items: center; width: 49px; height: 49px; border: 1px solid #b9d8ff; border-radius: 12px; color: #1984ef; background: linear-gradient(135deg,#fff,#edf5ff); box-shadow: 0 5px 13px #197bd10c; }
.gx-icon svg { width: 29px; height: 29px; }
.gx-orbit-core .gx-icon { border:0; background:transparent; box-shadow:none; width:48px; height:40px; }
.gx-platform { position:absolute; padding: 5px 10px; background:#fffffff0; border:1px solid #eaf1f8; box-shadow:0 4px 13px #3460910b; border-radius:20px; color:#748295; font-size:10px; white-space:nowrap; }
.gx-platform::before { content:''; display:inline-block; width:4px; height:4px; margin: 0 6px 2px 0; background:#268eff; border-radius:50%; }
.gx-platform--0 { top:10%;left:9%; }.gx-platform--1 { top:1%;left:44%; }.gx-platform--2 { top:13%;right:-2%; }.gx-platform--3 { top:36%;right:-3%; }.gx-platform--4 { top:62%;right:-3%; }.gx-platform--5 { bottom:8%;right:6%; }.gx-platform--6 { bottom:0;left:42%; }.gx-platform--7 { bottom:9%;left:11%; }.gx-platform--8 { top:62%;left:-5%; }.gx-platform--9 { top:36%;left:-6%; }
.gx-orbit-caption { position:absolute; bottom:-42px; width:100%; text-align:center; font-size:10px; color:#899aaf; }
.gx-stats { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--gx-line); border-radius:17px; background:#fff; overflow:hidden; box-shadow:0 10px 25px #24365b04; }
.gx-stats a { display:flex; flex-direction:column; gap:8px; padding:24px; transition:background .2s; }
.gx-stats a:hover { background:#f0f7ff; }
.gx-stats a+a { border-left:1px solid var(--gx-line); }
.gx-stats small { font-size:9px; letter-spacing:.1em; color:#8b93a0; display:flex; justify-content:space-between; }
.gx-stats small span { color:var(--blue-bright); font-size:14px; }
.gx-stats strong { color:var(--blue-bright); font-size:32px; line-height:1.1; font-weight:650; letter-spacing:-.04em; }
.gx-stats a > span { font-size:11px; line-height:1.6; color:#7b8490; }
.gx-source-note { font-size:10px; color:#88909b; margin:12px 0 25px; line-height:1.7; }
.gx-comparison { display:grid; grid-template-columns:1fr 44px 1fr; align-items:center; gap:15px; }
.gx-compare-card { position:relative; border:1px solid var(--gx-line); padding:28px; border-radius:19px; background:#fff; }
.gx-compare-card--blue { border-color:#b7d6fc; background:linear-gradient(145deg,#edf5ff90,#fff); }
.gx-compare-card .gx-tag { font-size:10px; margin-bottom:12px; }.gx-tag--gray { border-color:#eee; background:#f4f4f6; color:#787e88; }
.gx-step-watermark { position:absolute; right:25px; top:18px; font-size:32px; color:#dce3eb; font-weight:300; }
.gx-compare-card h3 { font-size:17px; }
.gx-compare-arrow { color:var(--blue-bright); font-size:38px; text-align:center; }
.gx-route { display:flex; align-items:center; padding:13px 12px; border:1px solid #e3e7ec; border-radius:8px; background:#f7f8fa; margin:16px 0; gap:7px; font-size:10px; color:#748193; white-space:nowrap; }
.gx-route i { flex:1; min-width:10px; height:1px; background:#b8c5d5; position:relative; }
.gx-route i::after { content:''; position:absolute; width:3px; height:3px; top:-1px; right:0; background:#8596ab; border-radius:50%; }
.gx-compare-card--blue .gx-route { background:#eaf3ff; border-color:#c7ddfc; }.gx-compare-card--blue .gx-route i { background:#92c2ff; }
.gx-compare-card p { font-size:11px; color:#7c8591; margin:7px 0 0; line-height:1.6; }.gx-compare-card p b { color:#516076; font-weight:550; }
.gx-common { display:flex; align-items:center; gap:20px; border-block:1px solid var(--gx-line); margin-top:24px; padding:18px 0; font-size:10px; }
.gx-common > span { margin-left:auto; color:var(--blue-bright); }.gx-common b { white-space:nowrap; }
.gx-pills { display:flex; flex-wrap:wrap; gap:7px; }.gx-pills span { padding:4px 9px; border:1px solid #d8e5fb; border-radius:20px; color:#507bc9; background:#f0f5ff; font-size:10px; line-height:1.5; }
.gx-common .gx-pills span { background:#fff; color:#79818c; border-color:#e3e7ec; }
.gx-network-bg { background: radial-gradient(ellipse at 100% 0,#e4eff945,transparent 40%),radial-gradient(ellipse at 0 100%,#deedff50,transparent 40%),#fafbfd; }
.gx-network-bg .shell,.gx-answer-section .shell { position:relative; }
.gx-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.gx-card { padding:32px; border:1px solid #e3e7ee; border-radius:18px; background:linear-gradient(135deg,#fff,#fffffff0); box-shadow:0 18px 35px #25375606; display:flex; flex-direction:column; align-items:flex-start; transition:transform .2s,box-shadow .2s; }
.gx-card:hover { transform:translateY(-4px); box-shadow:0 22px 35px #2537560d; }
.gx-card h3 { font-size:17px; margin:18px 0 12px; }
.gx-card p { margin:0 0 24px; color:#7c8490; font-size:13px; line-height:1.9; }
.gx-card .gx-pills { margin-top:auto; }
.gx-method-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(28px, 3vw, 48px); align-items:center; }.gx-method-layout .gx-heading { margin-bottom:30px; }.gx-method-layout h2 { font-size:33px; }
.gx-timeline { list-style:none; padding:0; margin:0; }.gx-timeline li { position:relative; display:grid; grid-template-columns:43px 1fr; gap:20px; padding-bottom:28px; }.gx-timeline li:last-child { padding-bottom:0; }
.gx-timeline li:not(:last-child)::after { content:''; position:absolute; width:1px; left:21px; top:48px; bottom:5px; background:linear-gradient(#72adf5,#d3e4fa); }
.gx-timeline li > span { width:43px; height:43px; display:grid; place-items:center; color:var(--blue-bright); border:1px solid #bcd8fb; border-radius:50%; font-size:12px; background:#f8fbff; }
.gx-timeline h3 { font-size:15px; margin:1px 0 7px; }.gx-timeline p { margin:0; color:#7b8490; font-size:12px; line-height:1.8; }.gx-timeline small { display:block; margin-top:6px; font-size:10px; color:#5684b8; }
.gx-process-art { margin:0; width:100%; max-width:none; justify-self:stretch; position:relative; border-radius:24px; overflow:hidden; background:#e9eef6; min-height:560px; }.gx-process-art img { width:100%; height:clamp(620px, 42vw, 720px); object-fit:contain; }.gx-process-art figcaption { position:absolute; inset:auto 0 0; padding:55px 28px 25px; background:linear-gradient(transparent,#e5eef7e6); }.gx-process-art small { display:block; font-size:9px; color:var(--blue-bright); letter-spacing:.15em; margin-bottom:10px; }.gx-process-art strong { display:block; font-size:15px; }
.gx-answer-section { background:linear-gradient(115deg,#f9fbfe,#fff 55%,#ecf3fc90); }.gx-answer-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px, 3vw, 48px); align-items:center; }.gx-answer-layout .gx-heading { margin-bottom:22px; }.gx-answer-layout h2 { font-size:33px; }
.gx-checklist { padding:0; margin:20px 0; list-style:none; color:#78828f; font-size:13px; line-height:1.9; }.gx-checklist li { position:relative; padding-left:20px; margin:8px 0; }.gx-checklist li::before { content:'✓'; color:var(--blue-bright); position:absolute; left:0; font-size:12px; }
.gx-text-link { display:inline-flex; gap:20px; color:var(--blue-bright); font-size:13px; margin-top:10px; }
.gx-demo { width:100%; max-width:none; justify-self:stretch; background:#fff; border:1px solid #e0e6ef; border-radius:20px; box-shadow:0 22px 45px #284b7815,0 -17px 0 -7px #f9fbff,0 -18px 0 -7px #e5ebf3; overflow:hidden; }
.gx-demo-bar { display:flex; align-items:center; gap:12px; padding:15px 20px; border-bottom:1px solid #e1e6ef; background:#f4f6fa; font-size:10px; color:#838e9d; }.gx-demo-bar > span { display:flex;gap:5px; }.gx-demo-bar i { width:7px;height:7px;border-radius:50%;background:#ff707a; }.gx-demo-bar i:nth-child(2){background:#ffc145}.gx-demo-bar i:nth-child(3){background:#35c966}.gx-demo-bar b { font-weight:500; }.gx-demo-bar small { margin-left:auto; font-size:9px; color:#647a92; }
.gx-demo-tabs { display:flex; gap:6px; margin:20px 22px 0; }.gx-demo-tabs button { border:0; padding:7px 12px; background:transparent; border-radius:20px; font:inherit; font-size:11px; color:#8592a4; cursor:pointer; }.gx-demo-tabs button[aria-selected="true"] { background:#eaf3ff;color:var(--blue-bright); }.gx-demo-tabs button:focus-visible {outline:2px solid var(--blue);outline-offset:2px;}
.gx-demo-body { padding:20px 24px; min-height:247px; }.gx-demo-question { margin:0 0 20px; padding:13px 16px; background:#f4f6f9; border-left:2px solid var(--blue-bright); border-radius:8px; font-size:13px; line-height:1.8; }.gx-demo-answer { display:flex; gap:12px; }.gx-answer-mark { color:var(--blue-bright);font-size:22px; }.gx-demo-answer p { margin:0; font-size:12px; line-height:1.9; color:#748195; }.gx-demo-sources { margin:20px 0 0 28px; border-top:1px solid #e8edf4; padding-top:12px; display:flex; flex-direction:column; gap:7px; font-size:10px; color:#5f89bd; }.gx-demo-sources small { color:#8b95a5; }.gx-demo-note { padding:12px 20px; margin:0; border-top:1px solid #e9edf4; color:#919aa7;font-size:9px;line-height:1.6; }
.gx-scenario-grid,.gx-plan-grid { display:grid; grid-template-columns:repeat(3,1fr);gap:26px; }.gx-scenario { border:1px solid #e1e5ed; border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 13px 30px #14294405;display:flex;flex-direction:column; }.gx-scenario-image { position:relative; }.gx-scenario-image img { width:100%;height:227px;object-fit:cover; }.gx-scenario-image::after {content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#17293b80);}.gx-scenario-image > span { position:absolute;z-index:1;bottom:17px;left:22px;color:white;font-size:9px;letter-spacing:.14em; }.gx-scenario-copy { padding:28px;display:flex;flex-direction:column;flex:1; }.gx-scenario-copy h3 { font-size:16px; margin:14px 0 12px;line-height:1.65; }.gx-scenario-copy p { font-size:12px;line-height:1.9;color:#7c8490;margin:0 0 13px; }.gx-scenario-copy > strong { color:var(--blue-bright);font-size:12px;line-height:1.9;border-top:1px solid #e3e8ef;padding-top:16px;margin-top:auto;font-weight:600; }
.gx-plan { position:relative;border:1px solid #e1e6ee;border-radius:19px;box-shadow:0 16px 35px #273c5c05;padding:32px 28px;display:flex;flex-direction:column; }.gx-plan h3 { font-size:21px;margin-bottom:16px; }.gx-plan > p { color:#7c8592;font-size:13px;line-height:1.85;min-height:73px;margin:0; }.gx-plan .gx-checklist { font-size:12px;margin:12px 0 25px; }.gx-plan .btn { margin-top:auto; width:100%; }.gx-plan--featured { border-color:#a8ceff;background:linear-gradient(#f2f8ff,#fff); }.gx-plan-badge { position:absolute;right:22px;top:0;background:var(--blue-bright);color:#fff;border-radius:0 0 5px 5px;padding:6px 10px;font-size:10px; }.gx-plan-note { font-size:11px;color:#8793a2;line-height:1.8;margin:22px 0 0; }
.gx-benefits { display:grid; grid-template-columns:repeat(3,1fr);gap:22px; }.gx-benefits article { padding:27px 22px;border:1px solid #e3e7ee;border-radius:17px;text-align:center;background:linear-gradient(145deg,#fff,#fdfdff);box-shadow:0 13px 30px #25365a05; }.gx-benefits h3 { font-size:16px;margin:16px 0 10px; }.gx-benefits p {font-size:12px;line-height:1.8;color:#7e8795;margin:0;}.gx-boundary-note { font-size:11px;color:#8390a2;line-height:1.8;margin:25px 0 0; }
.gx-faq {background:linear-gradient(125deg,#fff,#fdfdff)}.gx-faq-list {display:grid;gap:9px}.gx-faq-list details {border:1px solid #e1e6ed;border-radius:10px;background:#fff;overflow:hidden}.gx-faq-list summary {display:flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 21px;font-size:14px;cursor:pointer;list-style:none;line-height:1.6}.gx-faq-list summary::-webkit-details-marker{display:none}.gx-faq-list summary span{flex-shrink:0;width:8px;height:8px;border-right:1.5px solid var(--blue-bright);border-bottom:1.5px solid var(--blue-bright);transform:rotate(45deg);margin-right:4px;transition:transform .2s}.gx-faq-list details[open] summary{color:var(--blue-bright)}.gx-faq-list details[open] summary span{transform:rotate(225deg)}.gx-faq-list details p {font-size:13px;color:#718094;line-height:1.95;border-top:1px solid #edf0f5;margin:0;padding:16px 21px 20px;max-width:100%;}
.gx .geo-contact { padding:85px 0;background:var(--navy); }.gx .geo-contact__layout {grid-template-columns:.85fr 1.15fr;gap:55px}.gx .geo-contact__intro h2 {color:white;font-size:35px}.gx .geo-lead-form {padding:32px;border-radius:18px}.gx .geo-lead-form__head {margin-bottom:25px;gap:20px}.gx .geo-lead-form__head h3 {font-size:22px}.gx .geo-lead-form__head p{line-height:1.8}.gx .geo-contact__intro >p{line-height:1.9}.gx .geo-contact__deliverables {margin-top:30px;}.gx .form__row label{font-size:12px;}.gx .geo-lead-form .btn{min-height:50px}.gx .geo-contact__intro .kicker--light{color:#8fc3ff}
@keyframes gx-orbit-turn {to{transform:rotate(360deg)}}
@media(min-width:1600px){.gx-hero-layout{min-height:780px}.gx-hero-layout{gap:45px}}
@media(max-width:1100px){.gx-hero-layout{min-height:650px;grid-template-columns:1.1fr 1fr}.gx h1{font-size:47px}.gx-hero-lead{font-size:13px}.gx-hero-metrics>div{padding-inline:13px}.gx-hero-metrics strong{font-size:21px}.gx-orbit-core strong{font-size:15px}.gx-orbit-core b{font-size:15px}.gx-orbit-core{gap:5px}.gx-method-layout,.gx-answer-layout{gap:28px}.gx-card{padding:24px}.gx-common{flex-wrap:wrap;gap:12px}.gx-stats a{padding:19px}.gx-plan{padding:30px 22px}.gx .geo-contact__layout{gap:30px}.gx .geo-lead-form{padding:28px}.gx-scenario-copy{padding:21px}}
@media(max-width:820px){.gx-section{padding:58px 0}.gx-hero-layout{grid-template-columns:1fr;min-height:0;padding:55px 0 70px;gap:50px}.gx-hero-copy{max-width:650px}.gx h1{font-size:clamp(36px,7vw,54px)}.gx-hero-lead{font-size:14px}.gx-orbit{width:min(440px,87%);margin:auto}.gx-orbit-caption{bottom:-25px}.gx-orbit-core strong{font-size:17px}.gx-stats{grid-template-columns:repeat(2,1fr)}.gx-stats a:nth-child(3){border-left:0;border-top:1px solid var(--gx-line)}.gx-stats a:nth-child(4){border-top:1px solid var(--gx-line)}.gx-service-grid{grid-template-columns:repeat(2,1fr)}.gx-comparison{gap:10px;grid-template-columns:1fr 22px 1fr}.gx-compare-card{padding:22px 17px}.gx-compare-arrow{font-size:26px}.gx-route{gap:4px;padding-inline:8px;font-size:9px}.gx-method-layout,.gx-answer-layout{grid-template-columns:1fr;gap:40px}.gx-process-art{max-width:480px;width:100%;justify-self:center}.gx-process-art img{height:600px}.gx-answer-layout .gx-heading{max-width:600px}.gx-demo{width:100%;max-width:620px;justify-self:center}.gx-scenario-grid,.gx-plan-grid{gap:16px}.gx-scenario-copy{padding:18px}.gx-scenario-image img{height:180px}.gx-scenario-copy h3{font-size:14px}.gx-plan{padding:30px 18px}.gx-benefits{gap:15px}.gx-benefits article{padding:24px 16px}.gx .geo-contact__layout{grid-template-columns:1fr}.gx .geo-contact__intro{max-width:650px}.gx .geo-lead-form{margin:0}.gx .geo-contact__intro h2{font-size:30px}}
@media(max-width:600px){.gx-section{padding:58px 0}.gx .gx-heading{margin-bottom:27px}.gx h2,.gx-method-layout h2,.gx-answer-layout h2{font-size:27px;letter-spacing:-.03em;line-height:1.5}.gx-tag{font-size:10px;margin-bottom:15px}.gx-tag--en{font-size:8px}.gx-hero-layout{padding-top:42px}.gx h1{font-size:38px;line-height:1.26}.gx-hero-lead{font-size:13px}.gx .button-row{gap:10px}.gx .button-row .btn{font-size:12px;padding-inline:16px;min-height:46px}.gx-hero-metrics{width:100%;padding:17px 0;margin-top:27px}.gx-hero-metrics>div{flex:1;padding:0 11px}.gx-hero-metrics strong{font-size:20px}.gx-hero-metrics span{font-size:9px}.gx-orbit{width:88%;max-width:380px}.gx-orbit-core{border-radius:22px;gap:4px}.gx-orbit-core .gx-icon{height:29px}.gx-orbit-core .gx-icon svg{width:24px;height:24px}.gx-orbit-core b{font-size:13px}.gx-orbit-core small{font-size:7px}.gx-orbit-core strong{font-size:13px}.gx-orbit-core>span:last-child{font-size:7px}.gx-platform{font-size:8px;padding:4px 7px}.gx-platform::before{margin-right:4px;width:3px;height:3px}.gx-orbit-caption{font-size:8px}.gx-intro{font-size:12px;line-height:1.85}.gx-stats a{padding:18px 15px}.gx-stats strong{font-size:28px}.gx-stats a>span{font-size:10px}.gx-stats small{font-size:8px}.gx-source-note{font-size:9px}.gx-comparison{grid-template-columns:1fr;gap:10px}.gx-compare-card{padding:23px}.gx-compare-arrow{transform:rotate(90deg);line-height:1;height:24px}.gx-route{font-size:11px}.gx-common{padding-block:16px}.gx-common>span{margin-left:0}.gx-service-grid,.gx-scenario-grid,.gx-plan-grid{grid-template-columns:1fr;gap:18px}.gx-card{padding:25px}.gx-card h3{font-size:17px}.gx-card p{font-size:13px}.gx-card .gx-icon{width:44px;height:44px}.gx-method-layout{gap:30px}.gx-timeline li{gap:16px;padding-bottom:23px}.gx-timeline p{font-size:12px}.gx-process-art{min-height:0;border-radius:18px}.gx-process-art img{height:470px}.gx-process-art figcaption{padding:45px 20px 22px}.gx-process-art strong{font-size:13px}.gx-answer-layout{gap:40px}.gx-demo-body{min-height:290px;padding:18px}.gx-demo-tabs{margin-inline:15px}.gx-demo-tabs button{font-size:10px}.gx-demo-question{font-size:12px}.gx-demo-note{font-size:9px}.gx-scenario-image img{height:230px}.gx-scenario-copy{padding:24px}.gx-scenario-copy h3{font-size:17px}.gx-plan{padding:30px}.gx-plan>p{min-height:0}.gx-plan .gx-checklist{margin-block:20px}.gx-benefits{grid-template-columns:repeat(2,1fr);gap:12px}.gx-benefits article{padding:23px 14px}.gx-benefits h3{font-size:14px;margin-top:14px}.gx-benefits p{font-size:11px}.gx-benefits .gx-icon{width:42px;height:42px}.gx-faq-list summary{font-size:12px;padding:15px;gap:15px}.gx-faq-list details p{font-size:12px;padding:15px}.gx .geo-contact{padding:55px 0}.gx .geo-lead-form{padding:24px 20px;border-radius:15px}.gx .geo-lead-form__head h3{font-size:19px}.gx .geo-lead-form__head>strong{font-size:10px}.gx .geo-contact__intro h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.gx *, .gx *::before,.gx *::after{animation:none!important;transition:none!important}}

/* Five-step service process, matching the reference layout. */
#geo-method { padding-block: 64px; background: #f5f5f7; }
#geo-method .gx-method-layout { grid-template-columns: minmax(0, 1.28fr) minmax(0, 1fr); gap: clamp(40px, 4.3vw, 88px); align-items: stretch; }
#geo-method .gx-heading { max-width: none; margin-bottom: 40px; }
#geo-method .gx-tag { padding: 8px 18px; margin-bottom: 22px; font-size: 13px; letter-spacing: .1em; }
#geo-method h2 { font-size: clamp(28px, 2.55vw, 46px); line-height: 1.4; letter-spacing: -.035em; }
#geo-method .gx-intro { max-width: none; margin-top: 20px; font-size: clamp(15px, 1.12vw, 20px); line-height: 1.85; }
#geo-method .gx-timeline { --step-size: clamp(48px, 3.5vw, 64px); padding-left: 20px; }
#geo-method .gx-timeline li { grid-template-columns: var(--step-size) minmax(0, 1fr); gap: 25px; padding-bottom: 32px; min-height: 122px; }
#geo-method .gx-timeline li:last-child { padding-bottom: 0; min-height: 0; }
#geo-method .gx-timeline li > span { width: var(--step-size); height: var(--step-size); font-size: 15px; font-weight: 600; border-color: #bddafb; background: #f5f5f7; box-shadow: 0 0 0 7px #f5f5f7; }
#geo-method .gx-timeline li:not(:last-child)::after { left: calc(var(--step-size) / 2); top: calc(var(--step-size) + 8px); bottom: 8px; background: linear-gradient(#0876ef, #d9e9fd); }
#geo-method .gx-timeline h3 { margin: 4px 0 12px; font-size: clamp(17px, 1.18vw, 21px); line-height: 1.5; }
#geo-method .gx-timeline p { margin: 0; font-size: clamp(14px, 1.06vw, 19px); color: #7b7d83; line-height: 1.8; }
#geo-method .gx-process-art { position: relative; align-self: stretch; min-height: 0; width: 100%; max-width: none; margin: 18px 0 0; border-radius: 30px; background: #e9edf4; }
#geo-method .gx-process-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
@media (min-width: 1600px) {
  #geo-method .gx-timeline li { min-height: 136px; padding-bottom: 38px; }
  #geo-method .gx-timeline li:last-child { min-height: 0; padding-bottom: 0; }
}
@media (max-width: 1100px) {
  #geo-method .gx-method-layout { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 32px; }
  #geo-method .gx-timeline { padding-left: 0; }
  #geo-method .gx-timeline li { gap: 18px; }
  #geo-method .gx-process-art img { object-fit: contain; }
}
@media (max-width: 820px) {
  #geo-method { padding-block: 48px; }
  #geo-method .gx-method-layout { grid-template-columns: 1fr; gap: 30px; }
  #geo-method .gx-heading { margin-bottom: 30px; }
  #geo-method h2 { font-size: clamp(28px, 4.6vw, 38px); }
  #geo-method .gx-timeline { --step-size: 48px; }
  #geo-method .gx-timeline li { min-height: 112px; }
  #geo-method .gx-process-art { max-width: 560px; justify-self: center; margin: 0; border-radius: 24px; }
  #geo-method .gx-process-art img { position: static; height: auto; object-fit: contain; }
}
@media (max-width: 480px) {
  #geo-method .gx-tag { font-size: 11px; margin-bottom: 18px; }
  #geo-method .gx-intro { font-size: 14px; }
  #geo-method .gx-timeline { --step-size: 42px; }
  #geo-method .gx-timeline li { gap: 16px; padding-bottom: 28px; }
  #geo-method .gx-timeline li > span { font-size: 13px; }
  #geo-method .gx-timeline h3 { font-size: 17px; margin-top: 3px; margin-bottom: 10px; }
  #geo-method .gx-timeline p { font-size: 13px; }
}
