:root{--g-electric:#1677ff;--g-cyan:#20c8e6;--g-dark:#071c3b}
.geo-modules-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#f4f9ff)}
.geo-modules-section:before{content:"";position:absolute;right:-180px;bottom:-220px;width:520px;height:520px;border:1px solid rgba(31,126,239,.1);transform:rotate(30deg);box-shadow:0 0 0 55px rgba(31,126,239,.025),0 0 0 110px rgba(31,126,239,.018)}
.head small{display:block;margin-bottom:12px;color:#1786ed;font-size:11px;font-weight:900;letter-spacing:.18em}
.geo-modules{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.geo-modules article{position:relative;min-height:250px;padding:34px 30px;overflow:hidden;border:1px solid #dbe8f5;border-radius:18px;background:rgba(255,255,255,.86);box-shadow:0 16px 46px rgba(20,68,114,.06);transition:transform .55s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .55s}
.geo-modules article:before{content:"";position:absolute;left:30px;right:30px;top:88px;height:2px;background:linear-gradient(90deg,var(--g-electric),rgba(22,119,255,.08));transform-origin:left;transition:transform .55s cubic-bezier(.16,1,.3,1)}
.geo-modules article:after{content:"";position:absolute;inset:auto -30% -75% 15%;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(26,139,243,.12),transparent 67%);opacity:0;transition:opacity .5s,transform .7s;transform:translateY(35px)}
.geo-modules article:hover{z-index:2;transform:translateY(-9px);border-color:#9cccf7;box-shadow:0 28px 64px rgba(21,91,154,.14)}
.geo-modules article:hover:before{transform:scaleX(.55)}.geo-modules article:hover:after{opacity:1;transform:none}
.geo-modules article>span{position:absolute;right:25px;top:27px;color:#b7cce0;font:700 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.geo-modules i{width:40px;height:40px;display:grid;place-items:center;margin-bottom:32px;border-radius:10px;color:#1677ff;background:#eaf3ff;font-style:normal;font-size:18px;transition:.45s}
.geo-modules article:hover i{color:#fff;background:linear-gradient(135deg,var(--g-electric),var(--g-cyan));transform:rotate(-5deg) scale(1.08)}
.geo-modules h3{position:relative;z-index:1;margin-bottom:17px;font-size:19px}.geo-modules p{position:relative;z-index:1;color:#66798f;font-size:14px;line-height:1.85}
.geo-guide-entry{position:relative;padding:110px 0;overflow:hidden;color:#fff;background:radial-gradient(circle at 80% 10%,rgba(27,189,242,.26),transparent 30%),linear-gradient(120deg,#061b3b,#074780 62%,#066e96)}
.geo-guide-entry:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1px);background-size:28px 28px;opacity:.22;mask-image:linear-gradient(90deg,#000,transparent 72%)}
.guide-entry-inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:86px;align-items:center}
.guide-entry-copy>span{color:#6de2fb;font-size:11px;font-weight:900;letter-spacing:.18em}.guide-entry-copy h2{margin:18px 0 21px;font-size:clamp(34px,4vw,50px);line-height:1.18;letter-spacing:-.04em}.guide-entry-copy p{max-width:660px;color:rgba(255,255,255,.72);line-height:1.9}
.guide-entry-tags{display:flex;flex-wrap:wrap;gap:9px;margin:27px 0}.guide-entry-tags b{padding:8px 12px;border:1px solid rgba(128,224,255,.22);border-radius:999px;color:#bdeeff;background:rgba(19,121,174,.2);font-size:11px}
.guide-entry-copy>a{display:inline-flex;align-items:center;gap:30px;margin-top:8px;padding:14px 20px;border-radius:10px;color:#08355f;background:#fff;font-weight:800;box-shadow:0 16px 40px rgba(0,19,45,.24);transition:.4s}.guide-entry-copy>a:hover{gap:42px;transform:translateY(-3px);box-shadow:0 22px 55px rgba(0,19,45,.34)}.guide-entry-copy>a i{font-style:normal;color:#168af0}
.guide-entry-visual{position:relative;min-height:390px;display:grid;align-content:center;gap:13px;perspective:1000px}.guide-entry-visual:before{content:"";position:absolute;inset:0;border:1px solid rgba(123,224,255,.2);border-radius:50%;transform:rotate(-13deg)}.guide-entry-visual em{position:absolute;right:0;top:12px;color:rgba(255,255,255,.08);font-size:80px;font-style:normal;font-weight:900;letter-spacing:-.06em}
.guide-entry-visual div{position:relative;padding:22px 25px;display:flex;align-items:center;gap:20px;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(255,255,255,.09);box-shadow:0 18px 44px rgba(0,25,54,.18);backdrop-filter:blur(12px);transition:.5s cubic-bezier(.16,1,.3,1)}.guide-entry-visual div:nth-of-type(1){margin-right:50px;transform:rotate(2deg)}.guide-entry-visual div:nth-of-type(2){margin-left:42px;transform:rotate(-1.5deg)}.guide-entry-visual div:nth-of-type(3){margin-right:20px;transform:rotate(1deg)}.guide-entry-visual div:hover{z-index:2;transform:translateX(-8px) rotate(0) scale(1.025)}.guide-entry-visual span{color:#61def7;font:700 12px/1 ui-monospace,monospace}.guide-entry-visual b{font-size:16px}
@media(max-width:900px){.geo-modules{grid-template-columns:1fr 1fr}.guide-entry-inner{grid-template-columns:1fr;gap:45px}.guide-entry-visual{min-height:330px}}
@media(max-width:600px){.geo-modules{grid-template-columns:1fr}.geo-modules article{min-height:220px}.geo-guide-entry{padding:80px 0}.guide-entry-visual{min-height:300px}.guide-entry-visual em{font-size:55px}.guide-entry-visual div:nth-of-type(n){margin-left:0;margin-right:0}}
@media(prefers-reduced-motion:reduce){.geo-modules article,.geo-modules i,.guide-entry-copy>a,.guide-entry-visual div{transition:none}}

/* GEO ecosystem orbit */
.ai-orbit{position:relative;width:360px;height:360px;margin:auto;border:0;animation:none;isolation:isolate}
.orbit-track{position:absolute;inset:29px;border:1px dashed rgba(45,145,239,.48);border-radius:50%;box-shadow:0 0 0 24px rgba(53,151,239,.035),inset 0 0 55px rgba(57,153,241,.04)}
.orbit-track:before,.orbit-track:after{content:"";position:absolute;border-radius:50%;background:#5db2fb;box-shadow:0 0 16px #57b0ff}
.orbit-track:before{width:7px;height:7px;left:24px;top:50px}.orbit-track:after{width:5px;height:5px;right:32px;bottom:43px}
.ai-core{z-index:3;inset:108px;display:flex;flex-direction:column;justify-content:center;gap:4px;border:1px solid rgba(255,255,255,.75);background:linear-gradient(145deg,#58b0fa,#1477d2);box-shadow:0 0 0 15px rgba(56,151,238,.1),0 19px 45px rgba(23,112,195,.3)}
.ai-core svg{width:24px;height:24px;margin-bottom:2px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.ai-core b{font-size:17px}.ai-core small{font-size:9px;font-weight:600;opacity:.76}
.ai-ring{position:absolute;inset:0;border-radius:50%;animation:ring-spin 26s linear infinite}
.model-node{--angle:calc(var(--index)*60deg);position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--angle)) translateX(151px)}
.model-card{position:absolute;left:-35px;top:-35px;width:70px;height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(146,196,239,.55);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 12px 28px rgba(24,95,158,.16);backdrop-filter:blur(10px);animation:model-counter 26s linear infinite;transition:box-shadow .35s,border-color .35s}
.model-card img{width:45px;height:45px;object-fit:contain;border-radius:50%}.model-card b{position:absolute;top:74px;left:50%;padding:4px 8px;white-space:nowrap;border:1px solid #dceafa;border-radius:999px;color:#31597e;background:rgba(255,255,255,.94);box-shadow:0 5px 14px rgba(39,96,151,.08);font-size:9px;line-height:1;transform:translateX(-50%)}
.model-card:hover{border-color:#67b8fa;box-shadow:0 18px 40px rgba(21,115,201,.25)}
.ai-orbit:hover .ai-ring,.ai-orbit:hover .model-card{animation-play-state:paused}
@keyframes ring-spin{to{transform:rotate(360deg)}}
@keyframes model-counter{from{transform:rotate(calc(var(--index)*-60deg)) rotate(0deg)}to{transform:rotate(calc(var(--index)*-60deg)) rotate(-360deg)}}

/* Copy-specific advantage icons */
.adv{position:relative;overflow:hidden}.adv:after{content:"";position:absolute;right:-45px;bottom:-50px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(38,143,242,.1),transparent 68%);transition:.5s}
.adv:hover:after{transform:scale(1.25)}
.adv .adv-icon{position:relative;z-index:1;width:52px;height:52px;border-radius:15px;box-shadow:0 11px 24px rgba(23,137,218,.2)}
.adv:nth-child(2) .adv-icon{background:linear-gradient(145deg,#7755ef,#5585f7)}.adv:nth-child(3) .adv-icon{background:linear-gradient(145deg,#11a9c0,#31d1b6)}
.adv .adv-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.adv:hover .adv-icon svg{transform:scale(1.1) rotate(-4deg)}

/* Six service modules */
.geo-modules-section{background:radial-gradient(circle at 8% 6%,rgba(52,137,255,.08),transparent 24%),radial-gradient(circle at 92% 86%,rgba(21,201,192,.07),transparent 25%),linear-gradient(180deg,#fbfdff,#f2f7fd)}
.geo-modules-section:before{right:auto;bottom:auto;left:-130px;top:-160px;border-radius:50%;transform:none;box-shadow:0 0 0 45px rgba(31,126,239,.025),0 0 0 90px rgba(31,126,239,.016)}
.geo-modules-section:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(44,127,222,.18) .7px,transparent .7px);background-size:24px 24px;opacity:.18;mask-image:linear-gradient(120deg,#000,transparent 32%,transparent 72%,#000)}
.geo-modules-section .container{position:relative;z-index:1}
.geo-modules{gap:24px}
.geo-modules .geo-module{position:relative;min-height:292px;padding:30px 30px 28px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 18%,#dfeaf4);border-radius:20px;background:linear-gradient(145deg,#fff 54%,var(--tint));box-shadow:0 17px 44px rgba(22,64,111,.075);transition:transform .55s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .55s}
.geo-modules .geo-module:before{content:"";position:absolute;z-index:0;inset:-70% -55% auto auto;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 13%,transparent),transparent 68%);opacity:.45;transform:translate(30px,-30px);transition:opacity .5s,transform .7s cubic-bezier(.16,1,.3,1)}
.geo-modules .geo-module:after{content:"";position:absolute;z-index:2;left:0;right:55%;bottom:0;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--accent),var(--accent-2));opacity:.9;transform-origin:left;transition:right .55s cubic-bezier(.16,1,.3,1)}
.geo-modules .geo-module:hover{z-index:2;transform:translateY(-8px) scale(1.012);border-color:color-mix(in srgb,var(--accent) 48%,#dce8f4);box-shadow:0 28px 60px color-mix(in srgb,var(--accent) 18%,transparent)}
.geo-modules .geo-module:hover:before{opacity:1;transform:translate(0,0) scale(1.15)}.geo-modules .geo-module:hover:after{right:0}
.geo-modules .module-no{position:absolute;z-index:2;right:24px;top:23px;color:color-mix(in srgb,var(--accent) 28%,#dfe8f2);font:900 25px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.05em}
.geo-modules .module-icon{position:relative;z-index:3;width:52px;height:52px;margin-bottom:25px;border:1px solid rgba(255,255,255,.74);border-radius:15px;color:#fff;background:linear-gradient(145deg,var(--accent-2),var(--accent));box-shadow:0 10px 22px color-mix(in srgb,var(--accent) 28%,transparent),inset 0 1px rgba(255,255,255,.52);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.geo-modules .module-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.geo-modules .geo-module:hover .module-icon{color:#fff;background:linear-gradient(145deg,var(--accent-2),var(--accent));transform:translateY(-4px) rotate(-5deg) scale(1.06);box-shadow:0 15px 28px color-mix(in srgb,var(--accent) 38%,transparent)}
.geo-modules .geo-module h3{position:relative;z-index:3;max-width:72%;margin-bottom:16px;color:#102b4e;font-size:20px;line-height:1.45}.geo-modules .geo-module p{position:relative;z-index:3;max-width:69%;color:#63788f;font-size:14px;line-height:1.82}
.module-visual{position:absolute;z-index:1;right:12px;bottom:13px;width:128px;height:112px;color:var(--accent);opacity:.15;transition:opacity .45s,transform .65s cubic-bezier(.16,1,.3,1)}
.module-visual svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.geo-module:hover .module-visual{opacity:.28;transform:translate(5px,-5px) scale(1.08) rotate(2deg)}

@media(max-width:900px){.ai-orbit{width:330px;height:330px}.ai-core{inset:96px}.model-node{transform:rotate(var(--angle)) translateX(138px)}.geo-modules .geo-module h3,.geo-modules .geo-module p{max-width:72%}}
@media(max-width:600px){.ai-orbit{width:280px;height:280px}.orbit-track{inset:25px}.ai-core{inset:85px}.ai-core small{display:none}.model-node{transform:rotate(var(--angle)) translateX(116px)}.model-card{left:-27px;top:-27px;width:54px;height:54px;border-radius:17px}.model-card img{width:36px;height:36px}.model-card b{top:58px;font-size:8px}.geo-modules .geo-module{min-height:260px;padding:27px 25px}.geo-modules .geo-module h3{max-width:80%;font-size:18px}.geo-modules .geo-module p{max-width:76%}.module-visual{right:3px;width:105px;opacity:.1}}
@media(prefers-reduced-motion:reduce){.ai-ring,.model-card{animation:none}.geo-modules .geo-module,.geo-modules .module-icon,.module-visual,.adv .adv-icon svg{transition:none}}
