@font-face{font-family:Longarc;src:url('assets/longarc-sans.woff2?v=629ce4d') format('woff2');font-weight:100 900;font-display:swap}
:root{--navy:#061226;--navy2:#0b2346;--blue:#116cff;--cyan:#6ed5ee;--ink:#102139;--muted:#758094;--line:#dce2eb;--paper:#f5f7fa;--ease:cubic-bezier(.16,1,.3,1);--focus:#0f6fe8}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;color:var(--ink);font-family:Longarc,'PingFang SC','Noto Sans SC',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;line-height:1.7;background:var(--navy);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:4px}button{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.045em;line-height:1.2}h2{font-size:clamp(40px,5.1vw,76px)}h3{font-size:28px}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.eyebrow{font-family:Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.2em;line-height:1.6}.section-dek{font-size:20px;line-height:1.8;letter-spacing:.02em}.tiny-label{font-size:11px;letter-spacing:.17em;color:#89a1bf}.section-light{background:white}.ink-gradient{background:linear-gradient(105deg,#174d9f,#136eff 65%,#41b4d6);background-clip:text;-webkit-background-clip:text;color:transparent}.skip-link{position:fixed;left:15px;top:15px;padding:12px;background:white;color:#000;z-index:200;transform:translateY(-200%)}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:88px;padding:0 4.1%;display:flex;align-items:center;color:#fff;gap:35px;transition:background .4s,border .4s,height .4s; border-bottom:1px solid #ffffff00}.site-header.scrolled{height:72px;background:#061226e8;border-color:#ffffff12;backdrop-filter:blur(24px)}.brand{display:flex;align-items:center;gap:12px;margin-right:auto;flex-shrink:0}.brand svg{width:39px;height:26px;stroke:#70d5f0;stroke-width:2.7;fill:none}.brand span{font-size:19px;line-height:1.4;font-weight:600;letter-spacing:.11em}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:.34em;opacity:.58;margin-top:3px}.desktop-nav{display:flex;gap:27px;font-size:13px;letter-spacing:.03em}.desktop-nav a{opacity:.72;transition:opacity .2s}.desktop-nav a:hover,.desktop-nav a.active{opacity:1}.nav-contact{font-size:13px;border:1px solid #ffffff42;padding:9px 17px;border-radius:100px;display:flex;gap:23px;align-items:center;transition:background .3s}.nav-contact:hover{background:#ffffff17}.menu-toggle{display:none;background:none;border:0;width:40px;height:40px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{display:block;width:24px;height:1px;background:white;transition:transform .3s}.mobile-menu{display:none}
.hero{height:max(800px,100svh);position:relative;color:#fff;overflow:hidden;isolation:isolate;background:#071d37}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media{z-index:-2;will-change:transform}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(1,10,23,.76) 0%,rgba(2,14,31,.4) 42%,rgba(0,12,32,.05) 85%),linear-gradient(0deg,#041327e8 0%,transparent 35%,#06122665 100%)}.hero-beam{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 64% 37%,#50afff16,transparent 34%);animation:beambreathe 8s ease-in-out infinite}.hero-content{position:relative;width:min(1350px,calc(100% - 112px));margin:auto;padding-top:clamp(205px,25vh,320px)}.hero .eyebrow{color:#a2cced}.hero h1{font-size:clamp(64px,7.8vw,120px);line-height:1.14;letter-spacing:-.05em;font-weight:600;margin-top:34px}.hero h1 span{color:#e7f3ff}.hero-dek{font-size:clamp(17px,1.65vw,24px);color:#d0ddef;letter-spacing:.045em;margin-top:29px}.text-link{display:inline-flex;align-items:center;gap:17px;font-size:15px;letter-spacing:.015em}.round-arrow{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid currentColor;border-radius:50%;font:19px Arial;transition:transform .4s var(--ease),background .3s}.text-link:hover .round-arrow{transform:rotate(45deg);background:#ffffff15}.hero-link{margin-top:43px}.hero-bottom{position:absolute;bottom:39px;left:4.1%;right:4.1%;display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid #ffffff29;padding-top:23px}.hero-caption p{font-size:13px;margin-top:8px;color:#dae4f1}.hero-place{font-size:12px;color:#d1ddee;line-height:1.9;letter-spacing:.1em;text-align:right}.hero-place small{font-size:10px;color:#87a3c3;letter-spacing:.2em}.scroll-hint{display:flex;align-items:center;gap:21px;font-size:12px;color:#bdd1e5}.scroll-line{width:1px;height:45px;background:#ffffff29;position:relative;overflow:hidden}.scroll-line:after{content:'';position:absolute;width:1px;height:18px;background:white;animation:scrolldash 2s infinite}.hero-index{position:absolute;right:28px;top:50%;writing-mode:vertical-rl;font:10px Arial;letter-spacing:.22em;opacity:.45}.hero-enter{animation:enter 1.4s var(--ease) both}.hero-enter:nth-child(2){animation-delay:.12s}.hero-enter:nth-child(3){animation-delay:.24s}.hero-enter:nth-child(4){animation-delay:.36s}
.vision{padding:150px 0 128px;border-radius:32px 32px 0 0;position:relative;margin-top:-26px;z-index:2}.vision .eyebrow{color:#7a889d}.vision-statement{font-size:clamp(42px,5.25vw,80px);line-height:1.35;margin-top:54px;max-width:1060px}.vision-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:58px;gap:35px}.vision-bottom p{font-size:19px;line-height:1.9;color:#5d6b80}.vision-bottom .vision-note{font-size:14px;line-height:2;color:#8390a0}.platform{height:920px;min-height:95svh;color:white;position:relative;overflow:hidden;isolation:isolate}.platform-image,.platform-shade{position:absolute;inset:0;z-index:-1}.platform-image img{width:100%;height:100%;object-fit:cover;object-position:center}.platform-shade{background:linear-gradient(90deg,#031329ed,#06255768 70%,#0a2c4533),linear-gradient(0deg,#051932ed,transparent 50%)}.platform-inner{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:115px 0 66px}.platform .eyebrow{color:#8dbedc}.platform h2{margin:28px 0;font-size:clamp(50px,5.5vw,84px);line-height:1.18}.platform h2 span{color:#a6d2ee}.platform .section-dek{color:#bdcede;font-size:18px}.platform .text-link{margin-top:34px}.platform-rail{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;padding-top:35px;border-top:1px solid #ffffff36}.platform-rail p{font-size:15px;color:#a0bad0}.platform-rail strong{font-weight:400;color:#e4eff7}.platform-pillars{display:flex;gap:40px;font-size:14px;white-space:nowrap}.platform-pillars b{font:11px Arial;display:block;letter-spacing:.1em;color:#7baaca;margin-bottom:12px}
.site-footer{background:var(--navy);color:white;padding:130px 0 25px;overflow:hidden}.site-footer .eyebrow{color:#80a1c4}.site-footer h2{font-size:clamp(44px,5.8vw,87px);line-height:1.25;margin:32px 0}.site-footer h2 span{color:#6886a9}.footer-actions{display:flex;gap:35px;align-items:center;margin-top:45px}.button{border-radius:40px;display:inline-flex;gap:36px;align-items:center;justify-content:center;padding:16px 25px;font-size:15px;transition:transform .35s var(--ease),background .3s}.button:hover{transform:translateY(-3px)}.button-light{color:#102c4a;background:white}.button-light:hover{background:#dceeff}.footer-info{display:flex;justify-content:space-between;align-items:flex-start;margin-top:100px;padding-top:24px;border-top:1px solid #ffffff22;font-size:16px}.footer-info p{font-size:13px;text-align:right;color:#acbfd4}.footer-info p span{font-size:12px;color:#647e9d}.footer-wordmark{font-family:Arial,sans-serif;font-size:clamp(74px,16.8vw,245px);font-weight:700;letter-spacing:-.075em;line-height:1.22;text-align:center;color:#132e4f;margin:44px -10px 27px;user-select:none}.footer-base{border-top:1px solid #ffffff13;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#6f8aaa}.footer-base span:nth-child(2){font-family:Arial;letter-spacing:.16em}.image-dialog{border:none;padding:0;border-radius:18px;max-width:min(1200px,94vw);max-height:94svh;background:#f6f8fc;color:#122a46;box-shadow:0 20px 100px #0006;overflow:hidden}.image-dialog::backdrop{background:#020c1ee8;backdrop-filter:blur(18px)}.dialog-close{display:block;margin:12px 15px 12px auto;padding:6px 16px;border:0;background:#dce5ef;border-radius:30px;font-size:13px}.dialog-close span{margin-left:16px;font-size:22px;vertical-align:middle}.dialog-image-wrap{overflow:auto;max-height:76svh;padding:0 22px}.dialog-image-wrap img{margin:auto;width:auto;max-width:100%;max-height:none}.image-dialog p{padding:15px 22px;font-size:13px;color:#62758d}
.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform 1s var(--ease)}.js-motion .reveal.is-visible{opacity:1;transform:none}.reveal-delay{transition-delay:.12s!important}
@keyframes enter{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-zoom{from{transform:scale(1.085)}to{transform:scale(1)}}@keyframes beambreathe{0%,100%{opacity:.3}50%{opacity:1}}@keyframes scrolldash{0%{transform:translateY(-20px)}100%{transform:translateY(50px)}}
@media(min-width:1600px){.hero-content{padding-top:25vh}.hero-media img{object-position:center}}
@media(max-width:1100px){.desktop-nav{gap:18px;font-size:12px}.site-header{gap:22px}.container,.hero-content{width:calc(100% - 80px)}.platform-pillars{gap:25px}.hero{height:max(780px,95svh)}}
@media(max-width:800px){html{scroll-padding-top:75px}.container,.hero-content{width:calc(100% - 44px)}.site-header{height:76px;padding-inline:22px;gap:15px}.site-header.scrolled{height:66px}.brand svg{width:30px}.brand span{font-size:17px}.brand small{font-size:8px}.desktop-nav{display:none}.nav-contact{margin-left:auto;font-size:12px;padding:6px 14px;gap:12px}.menu-toggle{display:flex}.site-header.menu-open{background:#061226}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{display:flex;position:fixed;inset:66px 0 auto;background:#061226f7;backdrop-filter:blur(24px);z-index:49;color:white;padding:28px 26px 40px;flex-direction:column;gap:0;transform:translateY(-130%);visibility:hidden;transition:transform .5s var(--ease),visibility .5s}.mobile-menu.open{transform:translateY(0);visibility:visible}.mobile-menu a{font-size:23px;border-bottom:1px solid #ffffff18;padding:14px 0;display:flex;justify-content:space-between}.mobile-menu a span{font:12px Arial;opacity:.4;margin-top:10px}.hero{height:830px;max-height:none;min-height:100svh}.hero-content{padding-top:clamp(170px,24vh,240px)}.hero h1{font-size:clamp(52px,10vw,78px);margin-top:25px}.hero-dek{font-size:16px;line-height:1.9;max-width:270px}.hero .eyebrow{font-size:10px;letter-spacing:.13em}.hero-media img{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#031326c4,#05173552),linear-gradient(0deg,#041327f0,transparent 50%)}.hero-link{margin-top:30px;font-size:14px}.hero-bottom{left:22px;right:22px;bottom:28px}.hero-caption p{font-size:11px}.hero-place{display:none}.scroll-hint{font-size:11px;gap:14px}.hero-index{display:none}.vision{padding:88px 0;border-radius:24px 24px 0 0}.vision-statement{font-size:clamp(31px,7.5vw,55px);margin-top:34px;line-height:1.5;letter-spacing:-.05em}.vision-bottom{flex-direction:column;align-items:flex-start;margin-top:34px;gap:25px}.vision-bottom p{font-size:16px}.vision-bottom .vision-note{font-size:13px}.platform{height:820px;min-height:0}.platform-inner{padding:80px 0 45px}.platform h2{font-size:50px;margin-top:25px}.platform .section-dek{font-size:16px}.platform-image img{object-position:60% center}.platform-rail{display:block;padding-top:24px}.platform-rail p{font-size:13px}.platform-pillars{gap:0;justify-content:space-between;margin-top:30px;font-size:12px}.platform-pillars b{font-size:10px}.site-footer{padding:85px 0 25px}.site-footer h2{font-size:43px}.footer-actions{gap:22px;flex-wrap:wrap}.footer-actions .text-link{font-size:13px}.footer-info{margin-top:65px;flex-direction:column;gap:20px}.footer-info>a{font-size:15px}.footer-info p{text-align:left}.footer-wordmark{margin:36px -4px 22px;font-size:18.5vw}.footer-base{font-size:10px;flex-wrap:wrap}.footer-base span:nth-child(2){display:none}.eyebrow{font-size:11px;letter-spacing:.16em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.js-motion .reveal{opacity:1;transform:none}.hero-media{transform:none!important}}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px}.section-heading .eyebrow{color:#708095;margin-bottom:24px}.section-heading h2{font-size:clamp(38px,4.6vw,66px);line-height:1.28}.muted-heading{color:#98a4b3}.section-heading>p{font-size:16px;line-height:1.9;color:#718095;max-width:330px;padding-bottom:8px}.products{padding:128px 0 75px}.product-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin-top:54px}.product-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:18px 28px;color:#8994a3;font-size:16px;transition:color .2s,border .3s}.product-tabs button span{font:11px Arial;letter-spacing:.02em;margin-left:11px;opacity:.55}.product-tabs button[aria-selected=true]{color:#122742;border-bottom-color:#1476ee}.product-tabs button:hover{color:#176ce1}.product-stage{background:linear-gradient(145deg,#f2f5f9,#f8fafc);border-radius:0 0 22px 22px;overflow:hidden;min-height:605px}.product-panel{display:grid;grid-template-columns:38% 62%;min-height:605px;align-items:center;padding:55px 0 35px 45px;animation:panel-enter .6s var(--ease)}.product-panel[hidden]{display:none}.product-copy{padding:0 25px 0 0;position:relative;z-index:2}.chapter-tag{font:11px Arial;letter-spacing:.17em;color:#7693b0}.product-copy h3{font-size:clamp(29px,3.15vw,44px);line-height:1.3;margin:20px 0}.product-copy>p{font-size:15px;color:#758496;line-height:1.9;max-width:330px}.feature-list{list-style:none;margin:25px 0 27px;padding:0;color:#4b627d;font-size:13px}.feature-list li{margin-bottom:8px;padding-left:13px;border-left:2px solid #aacdfb}.subtle-button{background:none;border:0;padding:0;display:inline-flex;align-items:center;gap:25px;font-size:13px;color:#1269cd}.subtle-button:hover span{transform:translate(3px,-3px)}.subtle-button span{transition:transform .3s}.phone-gallery{height:505px;position:relative;perspective:1300px}.phone{padding:0;border:5px solid #fff;box-shadow:0 15px 40px #0924471c,0 2px 7px #03152f19;border-radius:25px;overflow:hidden;background:white;transition:transform .65s var(--ease),box-shadow .65s;width:207px;position:absolute}.phone img{width:100%;height:auto}.phone-back{left:3%;top:49px;transform:rotate(-7deg) scale(.84);z-index:1;filter:saturate(.8)}.phone-front{left:32%;top:6px;z-index:3}.phone-side{left:62%;top:53px;transform:rotate(7deg) scale(.84);z-index:2;filter:saturate(.8)}.phone:hover{transform:translateY(-12px) rotate(0deg);box-shadow:0 25px 45px #09244732;z-index:4}.product-footnote{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#91a0b1;font-size:11px;letter-spacing:.1em}.desktop-product{width:100%;align-self:center;box-shadow:0 25px 70px #0e29412c;background:#fff;border:1px solid #dce4ee;border-radius:12px;overflow:hidden;transform:perspective(1500px) rotateY(-8deg) rotateX(3deg);transition:transform .7s var(--ease)}.desktop-product:hover{transform:perspective(1500px) rotateY(-2deg) rotateX(0deg)}.product-panel>.desktop-product{width:112%;margin-left:12px}.browser-top{height:35px;background:#fafbfd;display:flex;align-items:center;gap:5px;padding:0 13px;border-bottom:1px solid #eaf0f5}.browser-top i{width:6px;height:6px;background:#d7e0ea;border-radius:50%;display:block}.browser-top span{font-size:10px;letter-spacing:.02em;display:block;flex:1;text-align:center;color:#92a1b1;margin-right:28px}.screenshot-button{padding:0;border:0;background:transparent;display:block;width:100%}.screenshot-button img{width:100%;height:auto}.product-underlay{display:flex;justify-content:space-around;padding:28px;font-size:12px;color:#537ca8;border-top:1px solid #eef2f7}.community-product{position:relative;height:440px;padding-top:36px}.community-product>.desktop-product{width:105%;margin-left:6px}.community-phone{width:139px;bottom:0;right:16px;z-index:2;transform:rotate(5deg)}.product-meta{display:flex;justify-content:space-between;gap:20px;color:#8895a5;font-size:12px;padding-top:24px}.product-meta span:first-child{color:#4b6889}
.intelligence{height:260vh;min-height:1800px;position:relative;background:#040e1d;color:#f2f7ff}.intelligence-sticky{position:sticky;top:0;height:100svh;min-height:780px;overflow:hidden;background:radial-gradient(ellipse at 82% 72%,#0b37642e,transparent 55%)}.intelligence-sticky>.container{padding-top:108px;position:relative;height:100%}.intelligence-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}.intelligence-heading .eyebrow{grid-column:1 / -1;color:#6d99c0;margin-bottom:23px}.intelligence-heading h2{font-size:clamp(38px,4.3vw,64px);line-height:1.22}.intelligence-heading h2 span{color:#768fae}.intelligence-heading .section-dek{font-size:16px;color:#8fa3bd;align-self:end;padding-bottom:9px}.loop-layout{display:grid;grid-template-columns:.68fr 1.32fr;gap:80px;margin-top:53px;align-items:start}.loop-controls{display:flex;flex-direction:column}.loop-step{position:relative;display:flex;align-items:center;gap:22px;background:none;border:0;border-bottom:1px solid #ffffff12;padding:15px 0;text-align:left;color:#596c85;transition:color .3s}.loop-step span{font:11px Arial;letter-spacing:.1em}.loop-step b{font-size:18px;font-weight:400}.loop-step i{width:5px;height:5px;border-radius:50%;background:transparent;margin-left:auto;transition:background .3s}.loop-step.active{color:#eff7ff}.loop-step.active span{color:#68c9ed}.loop-step.active i{background:#65cdf4;box-shadow:0 0 16px #69d9ff}.loop-visual{min-height:330px;position:relative;padding-top:2px}.loop-line{height:50px;display:flex;justify-content:space-between;position:relative;margin-bottom:18px}.loop-line:before,.loop-line:after{content:'';position:absolute;top:15px;left:0;right:0;height:1px;background:#ffffff1a}.loop-line:after{right:auto;width:var(--line-progress,0%);background:linear-gradient(90deg,#2f81eb,#91dfff);box-shadow:0 0 12px #59d1ff70;transition:width .5s var(--ease)}.loop-line span{width:7px;height:7px;border:1px solid #5b6a7b;background:#040e1d;border-radius:50%;z-index:2;margin-top:12px;transition:background .3s,border .3s;position:relative}.loop-line span.done{background:#7fd6ff;border-color:#7fd6ff}.loop-line span:after{content:'0' calc(var(--n) + 1);position:absolute;top:20px;font:9px Arial;color:#6f859f;left:-3px}.loop-label{font:11px Arial;letter-spacing:.16em;color:#6894bc}.loop-detail h3{font-size:clamp(28px,3vw,41px);line-height:1.3;margin-top:17px}.loop-description{font-size:15px;line-height:1.85;color:#869bb6;max-width:560px;margin-top:20px}.loop-tokens{display:flex;gap:25px;margin-top:25px;font-size:12px;color:#bad6ef}.loop-tokens span{padding-left:10px;border-left:1px solid #4585c0}.loop-foot{display:flex;justify-content:space-between;gap:20px;margin-top:25px;font-size:11px;color:#586d88}.loop-foot #loop-count{font:12px Arial;letter-spacing:.08em;color:#79bfea}.loop-progress{position:absolute;bottom:32px;height:1px;left:0;right:0;background:#ffffff14}.loop-progress i{display:block;height:100%;background:#6bcbe9;width:var(--loop-progress,0%);box-shadow:0 0 8px #6bcbe9}
.agents{padding:126px 0 95px}.agent-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:70px}.agent{border-top:1px solid #d9e2ec;padding-top:22px;position:relative}.agent-number{font-size:12px;color:#8191a5}.agent-glyph{font:100px Arial,sans-serif;letter-spacing:-.08em;color:#d5e4f7;font-weight:500;line-height:1.2;margin:20px 0 15px;display:flex;align-items:center;gap:22px}.agent-glyph span{font-size:33px;font-weight:300;color:#83a9d6;transition:transform .5s var(--ease)}.agent:hover .agent-glyph span{transform:translate(7px,-7px)}.agent h3{font-size:26px;letter-spacing:-.025em}.agent p{font-size:15px;color:#7e8c9e;line-height:1.9;margin:19px 0 23px}.agent-output{font-size:12px;color:#1e61b3;border-bottom:1px solid #b9d5f5;padding-bottom:9px;display:inline-block}.foundation{border-top:1px solid #dfe5ec;margin-top:57px;padding-top:32px;display:flex;justify-content:space-between;gap:30px;align-items:center}.foundation>span{font-size:15px;color:#738399}.foundation p{font-size:13px;color:#375f8d;word-spacing:10px}.foundation i{color:#b8c8d9;font-style:normal;margin:0 9px}
.smart-home{background:#f0f4f9;padding:100px 0}.smart-home-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:85px;align-items:center}.smart-home .eyebrow{color:#6b83a1;margin-bottom:25px}.smart-home h2{font-size:42px;line-height:1.35}.smart-home .section-dek{font-size:16px;color:#7a8aa0;margin-top:28px}.home-stage-note{font-size:12px;color:#8396ac;border-left:2px solid #bfd4ea;padding-left:13px;margin-top:25px}.home-evolution>div{display:grid;grid-template-columns:56px 1fr;gap:4px 20px;padding:20px 0;border-bottom:1px solid #d2deeb;align-items:baseline;color:#9aa8b9}.home-evolution span{font:30px Arial;grid-row:span 2;letter-spacing:-.05em}.home-evolution b{font-size:18px;font-weight:500}.home-evolution p{font-size:13px;color:#8d9db0}.home-evolution .home-current{color:#1372e9;border-bottom-color:#72a7ed}.home-evolution .home-current p{color:#6482a5}
.capabilities{color:white;background:#06162e}.capability-intro{height:550px;position:relative;display:flex;align-items:center;overflow:hidden}.capability-intro>img,.capability-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.capability-intro>img{object-position:50% 64%;opacity:.6}.capability-overlay{background:linear-gradient(90deg,#06162efe,#06162e64 70%),linear-gradient(0deg,#06162e,transparent 65%)}.capability-intro .container{position:relative}.capability-intro .eyebrow{color:#73a0c8;margin-bottom:25px}.capability-intro h2{font-size:62px}.capability-intro p:not(.eyebrow){font-size:16px;color:#a9bdd4;margin-top:28px;line-height:1.9}.capability-stories{padding:20px 0 90px}.capability-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;padding:60px 0 110px;border-bottom:1px solid #ffffff16}.capability-story.reverse{grid-template-columns:1.2fr .8fr;padding:110px 0 80px}.capability-story.reverse .capability-copy{order:2}.capability-story.reverse .capability-screen{order:1}.capability-copy .eyebrow{color:#5f96c8;font-size:11px}.capability-copy h3{font-size:43px;line-height:1.3;margin:25px 0}.capability-copy>p{color:#90a6c0;font-size:15px;line-height:1.9;max-width:385px}.capability-points{display:flex;gap:20px;color:#bacfe5;margin-top:25px;font-size:12px}.capability-copy .text-link{background:none;border:0;padding:0;margin-top:35px;font-size:13px}.capability-copy .round-arrow{width:33px;height:33px;font-size:15px;color:#8cbce6}.capability-screen{padding:0;text-align:left;border:1px solid #426087;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 25px 60px #0005;transform:perspective(1200px) rotateY(-7deg);transition:transform .65s var(--ease)}.capability-story.reverse .capability-screen{transform:perspective(1200px) rotateY(7deg)}.capability-screen:hover,.capability-story.reverse .capability-screen:hover{transform:perspective(1200px) rotateY(0deg) translateY(-7px)}.capability-screen img{width:100%;height:auto}.capability-boundary{font-size:12px;color:#597998;text-align:center;margin-top:28px}
.journey{padding:130px 0 90px}.journey-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:65px}.journey-stages article{border-top:1px solid #d5dee9;padding-top:23px}.journey-top{display:flex;justify-content:space-between;color:#8fa0b3;font-size:11px}.journey-top>span{font:18px Arial}.journey-top b{font-weight:400}.journey-stages h3{margin:35px 0 22px;font-size:27px}.journey-stages article>p{font-size:15px;color:#8a96a7;line-height:1.85;min-height:87px}.journey-stages article>div:last-child{font-size:12px;color:#98a6b7;margin-top:25px}.journey-stages strong{font-weight:400;color:#466484;margin-left:15px}.journey-stages .journey-current{border-top:2px solid #1376ef;padding-top:22px}.journey-current .journey-top,.journey-current h3{color:#1269d4}.journey-current .journey-top b{background:#e8f2ff;padding:2px 10px;border-radius:15px}.recurring-value{margin-top:70px;border-top:1px solid #dfe7ef;padding-top:30px}.recurring-value>p{font-size:18px;font-weight:500;margin-bottom:25px}.recurring-value>div{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#4f6a8b;gap:9px}.recurring-value i{font-size:18px;color:#b7c7db;font-style:normal}
.about{padding:125px 0 95px;background:#eef3f9}.about-top{position:relative}.about-top .eyebrow{color:#758ba5;margin-bottom:27px}.about-top h2{font-size:62px;line-height:1.25}.about-top h2 span{color:#7a94b1}.about-top>p:last-child{position:absolute;right:0;bottom:5px;color:#7890ad;font-size:15px;line-height:1.95}.company-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:70px 0 0;gap:25px}.company-stats>div{padding-top:26px;border-top:1px solid #cad8e7;display:flex;flex-direction:column}.company-stats b{font:64px Arial,sans-serif;font-weight:500;letter-spacing:-.065em;color:#214f86;line-height:1.2}.company-stats b span{font:18px Longarc,sans-serif;margin-left:8px;letter-spacing:0}.company-stats>div>span{font-size:12px;color:#8195af;margin-top:17px}.about-background{display:flex;align-items:center;gap:50px;font-size:13px;color:#527195;margin:45px 0 90px;padding-top:25px;border-top:1px solid #dae3ee}.about-background>span{font-size:12px;color:#8d9fb5}.principles{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;border-top:1px solid #cad8e7;padding-top:55px}.principles .eyebrow{font-size:10px;color:#7894b3;margin-bottom:25px}.principles h3{font-size:31px;line-height:1.4;color:#55769c}.principle-list details{border-bottom:1px solid #d1dce9;padding:18px 0}.principle-list summary{display:flex;justify-content:space-between;align-items:center;font-size:15px;cursor:pointer;list-style:none;color:#3f5b7a;gap:15px}.principle-list summary::-webkit-details-marker{display:none}.principle-list summary span{font:24px Arial;color:#86a1bf;transition:transform .3s}.principle-list details[open] summary span{transform:rotate(45deg)}.principle-list details>p{font-size:14px;line-height:1.85;color:#7990ab;margin-top:15px;padding-right:30px;animation:enter .4s var(--ease)}.cooperate{padding:125px 0}.cooperate-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:65px}.cooperate-timeline>div{border-top:1px solid #cbdbea;padding-top:20px}.cooperate-timeline span{font-size:12px;color:#4880c1}.cooperate-timeline h3{font-size:22px;margin:28px 0 15px}.cooperate-timeline p{font-size:14px;color:#8b98a9;line-height:1.9;max-width:245px}.cooperation-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;background:#f3f6fa;padding:30px 34px;margin-top:60px;border-radius:12px}.cooperation-modes span{font-size:15px;color:#3b597b}.cooperation-modes p{font-size:12px;color:#8a9bb0;margin-top:6px}
@keyframes panel-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-height:850px) and (min-width:801px){.intelligence-sticky{min-height:710px}.intelligence-sticky>.container{padding-top:88px}.intelligence-heading h2{font-size:49px}.loop-layout{margin-top:36px;gap:70px}.loop-step{padding:11px 0}.loop-detail h3{font-size:33px}.loop-description{font-size:14px;margin-top:15px}.loop-tokens{margin-top:20px}.loop-line{margin-bottom:6px}.loop-foot{margin-top:18px}.loop-progress{bottom:26px}}
@media(max-width:1100px){.product-panel{padding-left:30px;grid-template-columns:37% 63%}.phone{width:178px}.phone-gallery{height:445px}.phone-front{left:29%}.phone-side{left:55%}.phone-back{left:0}.product-copy h3{font-size:33px}.product-copy>p{font-size:14px}.loop-layout{gap:45px}.smart-home-grid{gap:45px}.smart-home h2{font-size:35px}.capability-story{gap:40px}.capability-copy h3{font-size:37px}.company-stats b{font-size:56px}.about-top>p:last-child{font-size:13px}}
@media(max-width:800px){.section-heading{display:block}.section-heading h2{font-size:36px;line-height:1.35}.section-heading>p{font-size:14px;margin-top:24px}.section-heading .eyebrow{margin-bottom:20px}.products{padding:80px 0 55px}.product-tabs{margin-top:28px;justify-content:space-between;gap:0}.product-tabs button{font-size:14px;padding:15px 10px;flex:1}.product-tabs button span{display:block;font-size:9px;margin:3px 0 0;letter-spacing:.025em}.product-stage{min-height:0}.product-panel{display:flex;flex-direction:column;min-height:0;padding:35px 22px 23px;align-items:stretch}.product-copy{padding:0}.product-copy h3{font-size:30px;margin:17px 0}.chapter-tag{font-size:10px}.product-copy>p{font-size:14px;max-width:none}.feature-list{display:none}.subtle-button{font-size:12px;margin-top:20px}.phone-gallery{height:385px;margin:30px -17px 0;overflow:hidden}.phone{width:158px;border-width:4px;border-radius:19px}.phone-front{left:50%;margin-left:-79px;top:5px}.phone-side{left:auto;right:-21px;top:30px;transform:rotate(7deg) scale(.76)}.phone-back{left:-21px;top:30px;transform:rotate(-7deg) scale(.76)}.phone:hover{transform:translateY(-5px) scale(.98)}.phone-side:hover,.phone-back:hover{transform:rotate(0deg) scale(.82)}.product-footnote{bottom:0;font-size:10px}.product-meta{font-size:11px;display:block;padding-top:20px}.product-meta span{display:block;margin-bottom:7px}.product-panel>.desktop-product{width:110%;margin:40px 0 15px -5%;transform:none}.browser-top{height:26px}.browser-top span{font-size:8px}.browser-top i{height:4px;width:4px}.product-underlay{font-size:10px;padding:16px}.community-product{height:270px;padding-top:40px}.community-product>.desktop-product{width:114%;margin-left:-7%;transform:none}.community-phone{width:88px;bottom:0;right:-5px;border-width:3px;border-radius:14px}.intelligence{height:auto;min-height:0;padding:85px 0 65px}.intelligence-sticky{position:relative;min-height:0;height:auto}.intelligence-sticky>.container{padding-top:0}.intelligence-heading{display:block}.intelligence-heading h2{font-size:37px;line-height:1.32}.intelligence-heading .section-dek{font-size:14px;margin-top:24px}.loop-layout{display:block;margin-top:35px}.loop-controls{flex-direction:row;margin-bottom:30px;gap:4px;justify-content:space-between}.loop-step{padding:10px 0;display:flex;flex-direction:column;gap:8px;flex:1;border-bottom-width:2px}.loop-step b{font-size:11px;white-space:nowrap}.loop-step span{font-size:10px}.loop-step i{display:none}.loop-step.active{border-bottom-color:#6ecce9}.loop-visual{min-height:350px}.loop-line{height:32px;margin-bottom:15px}.loop-detail h3{font-size:30px;line-height:1.4;margin-top:16px}.loop-label{font-size:10px}.loop-description{font-size:14px;min-height:80px}.loop-tokens{gap:19px;font-size:11px;margin-top:21px}.loop-foot{font-size:10px;gap:12px;margin-top:28px}.loop-progress{display:none}.agents{padding:80px 0 65px}.agent-columns{display:block;margin-top:36px}.agent{padding:25px 0;display:grid;grid-template-columns:80px 1fr;column-gap:18px;row-gap:12px}.agent-number{grid-column:1/-1;font-size:11px}.agent-glyph{grid-column:1;grid-row:2/5;font-size:72px;margin:0;gap:8px;align-items:flex-start}.agent-glyph span{font-size:20px;margin-top:10px}.agent h3{font-size:23px}.agent p{font-size:13px;line-height:1.9;margin:0}.agent-output{justify-self:start;font-size:11px;padding-bottom:5px}.foundation{display:block;margin-top:15px;padding-top:25px}.foundation>span{font-size:13px}.foundation p{font-size:11px;margin-top:15px;word-spacing:0}.foundation i{margin:0 4px}.smart-home{padding:70px 0}.smart-home-grid{display:block}.smart-home h2{font-size:32px}.smart-home .section-dek{font-size:14px}.home-stage-note{font-size:11px}.home-evolution{margin-top:34px}.home-evolution>div{padding:17px 0;gap:4px 14px}.home-evolution span{font-size:27px}.home-evolution b{font-size:16px}.home-evolution p{font-size:12px}.capability-intro{height:470px}.capability-intro h2{font-size:40px}.capability-intro p:not(.eyebrow){font-size:14px;line-height:1.9;max-width:300px}.capability-intro>img{object-position:60% center}.capability-stories{padding:0 0 55px}.capability-story,.capability-story.reverse{display:flex;flex-direction:column;gap:40px;padding:45px 0 60px;align-items:stretch}.capability-story.reverse .capability-copy{order:0}.capability-story.reverse .capability-screen{order:1}.capability-copy h3{font-size:34px;margin:22px 0}.capability-copy>p{font-size:14px;max-width:none}.capability-points{font-size:11px;gap:18px}.capability-copy .text-link{margin-top:25px;font-size:12px}.capability-screen,.capability-story.reverse .capability-screen{transform:none}.capability-boundary{font-size:11px;text-align:left;line-height:1.9;margin-top:20px}.journey{padding:80px 0 65px}.journey-stages{display:block;margin-top:38px}.journey-stages article{padding:25px 0 30px}.journey-stages .journey-current{padding-top:24px}.journey-stages h3{font-size:26px;margin:19px 0 14px}.journey-stages article>p{font-size:14px;min-height:0}.journey-stages article>div:last-child{margin-top:16px;font-size:11px}.recurring-value{margin-top:20px;padding-top:25px}.recurring-value>p{font-size:16px}.recurring-value>div{flex-wrap:wrap;justify-content:flex-start;font-size:11px;gap:12px}.recurring-value i{font-size:14px}.about{padding:75px 0 65px}.about-top h2{font-size:38px}.about-top>p:last-child{position:static;margin-top:25px;font-size:14px}.company-stats{grid-template-columns:repeat(2,1fr);gap:30px 20px;margin-top:43px}.company-stats>div{padding-top:20px}.company-stats b{font-size:49px}.company-stats b span{font-size:15px}.company-stats>div>span{font-size:11px;margin-top:9px}.about-background{display:block;margin:33px 0 50px;font-size:12px;line-height:1.9}.about-background p{margin-top:11px}.principles{display:block;padding-top:35px}.principles h3{font-size:28px}.principles .eyebrow{margin-bottom:18px}.principle-list{margin-top:28px}.principle-list summary{font-size:14px}.principle-list details>p{font-size:13px;padding-right:8px}.cooperate{padding:80px 0 70px}.cooperate-timeline{grid-template-columns:repeat(2,1fr);gap:33px 22px;margin-top:40px}.cooperate-timeline span{font-size:11px}.cooperate-timeline h3{font-size:19px;margin:17px 0 12px}.cooperate-timeline p{font-size:12px}.cooperation-modes{display:block;padding:12px 23px;margin-top:35px}.cooperation-modes>div{padding:17px 0;border-bottom:1px solid #dfe6ef}.cooperation-modes>div:last-child{border:0}.cooperation-modes span{font-size:14px}.cooperation-modes p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.intelligence{height:auto;min-height:0;padding:50px 0 80px}.intelligence-sticky{height:auto;position:relative;min-height:0}.intelligence-sticky>.container{padding-block:40px}.loop-progress{display:none}.phone,.desktop-product,.capability-screen{transform:none!important}.product-panel{animation:none}}
/* Interaction details */
body.modal-open{overflow:hidden}.loop-line span:after{content:attr(data-number)}.product-panel:focus-visible,.loop-detail:focus-visible{outline:2px solid #5bb4eb;outline-offset:8px}
/* Readable body copy and compact-screen handling. */
.vision-bottom .vision-note,.section-heading>p,.product-copy>p,.product-meta,.home-stage-note,.home-evolution p,.journey-stages article>p,.journey-stages article>div:last-child,.cooperate-timeline p,.cooperation-modes p{color:#63758a}.company-stats>div>span,.about-background>span,.about-top>p:last-child,.principle-list details>p{color:#617791}.product-footnote{color:#637991}.mobile-menu{max-height:calc(100dvh - 66px);overflow-y:auto}body.menu-visible{overflow:hidden}
@media(max-height:720px) and (min-width:801px){.intelligence{height:auto;min-height:0;padding:60px 0 75px}.intelligence-sticky{position:relative;height:auto;min-height:0}.intelligence-sticky>.container{padding-top:35px}.loop-progress{display:none}}
@media(max-height:500px) and (max-width:800px){.mobile-menu{padding:15px 25px 24px}.mobile-menu a{font-size:18px;padding:10px 0}}

/* ==========================================================================
   Refinement layer (claude/frontend-polish)
   Visual finish, rhythm and interaction feedback only. Content and structure unchanged.
   ========================================================================== */

/* Typography: phrase-level CJK line breaks for headings, no single-character widows in copy. */
h1,h2,h3{word-break:keep-all;overflow-wrap:break-word;text-wrap:balance}
p,li,summary{text-wrap:pretty}
::selection{background:#116cff2e}

/* Focus: 2px ring, blue on light surfaces and cyan on dark ones, so it keeps 3:1 contrast everywhere. */
:is(.site-header,.mobile-menu,.hero,.platform,.intelligence,.capabilities,.site-footer){--focus:#7cdcf5}
.site-header.on-light:not(.menu-open){--focus:#0f6fe8}
:is(.brand,.desktop-nav a,.text-link,.subtle-button,.scroll-hint,.footer-info a,.footer-base a,.skip-link){border-radius:8px}
.product-tabs button:focus-visible{outline-offset:-2px}
.loop-step:focus-visible{outline-offset:3px}
[data-image]{cursor:zoom-in}

/* Header: light frosted state over light sections, animated nav underline, filled hover on the pill. */
.site-header{transition:background .3s ease,border-color .3s,height .4s var(--ease),color .3s,box-shadow .3s}
.site-header.scrolled{backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4)}
.site-header.on-light:not(.menu-open){color:var(--ink);background:#fbfcfedb;border-color:#0b234614;box-shadow:0 10px 30px -24px #0b2346}
.brand svg{transition:stroke .3s}
.site-header.on-light:not(.menu-open) .brand svg{stroke:#1476ee}
.site-header.on-light:not(.menu-open) .brand small{opacity:.62}
.site-header.on-light:not(.menu-open) .nav-contact{border-color:#1021392e}
.site-header.on-light:not(.menu-open) .menu-toggle span{background:var(--ink)}
.menu-toggle span{transition:transform .3s,background .3s}
.desktop-nav a{position:relative;padding:6px 0}
.desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.desktop-nav a.active::after{transform:scaleX(1);transform-origin:left}
.nav-contact{transition:background .3s,color .2s,border-color .3s,transform .3s var(--ease)}
.nav-contact span,.button span{display:inline-block;transition:transform .4s var(--ease)}
.nav-contact:active,.button:active{transform:scale(.97)}
@media(hover:hover){
  .desktop-nav a:hover::after{transform:scaleX(1);transform-origin:left}
  .nav-contact:hover{background:#fff;color:var(--navy);border-color:#fff}
  .site-header.on-light:not(.menu-open) .nav-contact:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
  .nav-contact:hover span,.button:hover span{transform:translate(2px,-2px)}
  .scroll-hint:hover{color:#fff}
}
.scroll-hint{transition:color .3s}

/* Circular arrow links: fill on hover, press feedback on touch. */
.round-arrow{transition:transform .45s var(--ease),background .3s,color .3s,border-color .3s}
.text-link:active .round-arrow{transform:scale(.92)}
@media(hover:hover){.text-link:hover .round-arrow{background:#fff;color:var(--navy);border-color:#fff}}

/* Product experience: gliding tab indicator, softer stage, keyboard focus mirrors hover. */
.product-tabs{position:relative}
.product-tabs button{transition:color .25s,border-color .3s}
.product-tabs.has-indicator button[aria-selected=true]{border-bottom-color:transparent}
.product-tabs.has-indicator::after{content:'';position:absolute;left:0;bottom:-1px;height:2px;width:var(--tab-w,0);transform:translateX(var(--tab-x,0));background:linear-gradient(90deg,#1476ee,#41b4d6);border-radius:2px;transition:transform .55s var(--ease),width .55s var(--ease)}
.product-stage{background:radial-gradient(ellipse at 72% 18%,#fff 0,#ffffff00 58%),linear-gradient(145deg,#f1f4f8,#f8fafc);box-shadow:inset 1px 0 #e8edf3,inset -1px 0 #e8edf3,inset 0 -1px #e8edf3}
.subtle-button{position:relative}
.subtle-button::after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;opacity:.5;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
@media(hover:hover){.subtle-button:hover::after{transform:scaleX(1)}}
.phone:focus-visible{transform:translateY(-12px) rotate(0deg);z-index:4}
.desktop-product:has(.screenshot-button:focus-visible){transform:perspective(1500px) rotateY(-2deg) rotateX(0deg)}
.capability-screen:focus-visible,.capability-story.reverse .capability-screen:focus-visible{transform:perspective(1200px) rotateY(0deg) translateY(-7px)}

/* AI loop: step hover, a progress stroke under the active step, a halo on the current node. */
.loop-step:hover{color:#9fb2ca}
.loop-line span{transition:background .3s,border .3s,box-shadow .45s}
.loop-line span.current{box-shadow:0 0 0 5px #7fd6ff1c,0 0 14px #69d9ff80}
@media(min-width:801px){
  .loop-step::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,#3d8ef0,#7fd6ff);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
  .loop-step.active::after{transform:scaleX(1)}
  .loop-step b{transition:transform .45s var(--ease)}
  .loop-step.active b{transform:translateX(6px)}
}

/* Reveal rhythm: three agents arrive in order; grouped rows stagger their items. */
.agent-columns .agent:nth-child(3){transition-delay:.24s}
.js-motion :is(.journey-stages,.company-stats,.cooperate-timeline,.home-evolution).reveal{opacity:1;transform:none}
.js-motion :is(.journey-stages,.company-stats,.cooperate-timeline,.home-evolution).reveal>*{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .9s var(--ease)}
.js-motion :is(.journey-stages,.company-stats,.cooperate-timeline,.home-evolution).reveal.is-visible>*{opacity:1;transform:none}
.js-motion :is(.journey-stages,.company-stats,.cooperate-timeline,.home-evolution).reveal>:nth-child(2){transition-delay:.08s}
.js-motion :is(.journey-stages,.company-stats,.cooperate-timeline,.home-evolution).reveal>:nth-child(3){transition-delay:.16s}
.js-motion :is(.journey-stages,.company-stats,.cooperate-timeline,.home-evolution).reveal>:nth-child(4){transition-delay:.24s}

/* Principles: clearer disclosure affordance and a smooth open where supported. */
.principle-list summary{transition:color .25s}
.principle-list summary span{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;border:1px solid #c7d5e5;border-radius:50%;font:18px/1 Arial,sans-serif;transition:transform .45s var(--ease),background .3s,color .3s,border-color .3s}
.principle-list details[open] summary{color:#12345a}
.principle-list details[open] summary span{background:#1466c8;border-color:#1466c8;color:#fff}
@media(hover:hover){
  .principle-list summary:hover{color:#1466c8}
  .principle-list summary:hover span{border-color:#1466c8;color:#1466c8}
  .principle-list details[open] summary:hover span{color:#fff}
}
@supports (interpolate-size:allow-keywords){
  .principle-list details{interpolate-size:allow-keywords}
  .principle-list details::details-content{block-size:0;overflow:clip;transition:block-size .5s var(--ease),content-visibility .5s allow-discrete}
  .principle-list details[open]::details-content{block-size:auto}
}

/* Footer: underline links, arrow nudges, a quieter wordmark gradient. */
.footer-info>a,.footer-base a,.footer-actions .text-link{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .45s var(--ease),color .3s}
.footer-actions .text-link span{display:inline-block;transition:transform .4s var(--ease)}
@media(hover:hover){
  .footer-info>a:hover,.footer-base a:hover,.footer-actions .text-link:hover{background-size:100% 1px}
  .footer-actions .text-link:hover span{transform:translateY(3px)}
}
.footer-wordmark{background:linear-gradient(180deg,#18385f 0%,#0b1f38 92%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Image dialog: caption and close share a top bar; gentle open and close. */
.image-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"cap close" "img img";align-items:center;animation:dialog-in .45s var(--ease)}
.image-dialog .dialog-close{grid-area:close;margin:12px 14px 12px 0;transition:background .25s,color .25s}
.image-dialog p{grid-area:cap;padding:14px 22px;font-size:13px;line-height:1.5;letter-spacing:.02em;color:#4f6580}
.dialog-image-wrap{grid-area:img;padding-bottom:22px;overscroll-behavior:contain;scrollbar-width:thin}
.image-dialog::backdrop{animation:fade-in .35s ease}
.image-dialog.closing{animation:dialog-out .18s ease forwards}
.image-dialog.closing::backdrop{animation:fade-out .18s ease forwards}
@media(hover:hover){.dialog-close:hover{background:#122a46;color:#fff}}
@keyframes dialog-in{from{opacity:0;transform:translateY(14px) scale(.975)}}
@keyframes dialog-out{to{opacity:0;transform:translateY(8px) scale(.985)}}
@keyframes fade-in{from{opacity:0}}
@keyframes fade-out{to{opacity:0}}

/* Mobile: dim the page behind the menu, stagger its links, drop duplicate loop numbers. */
@media(max-width:800px){
  .mobile-menu{box-shadow:0 0 0 100vmax #020a1600;transition:transform .5s var(--ease),visibility .5s,box-shadow .5s}
  .mobile-menu.open{box-shadow:0 0 0 100vmax #020a1680}
  .mobile-menu a{opacity:0;transform:translateY(-8px);transition:opacity .35s,transform .5s var(--ease),color .2s}
  .mobile-menu.open a{opacity:1;transform:none}
  .mobile-menu.open a:nth-child(2){transition-delay:.04s}
  .mobile-menu.open a:nth-child(3){transition-delay:.08s}
  .mobile-menu.open a:nth-child(4){transition-delay:.12s}
  .mobile-menu.open a:nth-child(5){transition-delay:.16s}
  .mobile-menu.open a:nth-child(6){transition-delay:.2s}
  .mobile-menu a:active{color:#8fdcf5}
  .loop-line{height:20px;margin-bottom:24px}
  .loop-line span:after{display:none}
  .image-dialog p{padding:12px 16px}
  .dialog-image-wrap{padding:0 14px 16px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-delay:0s!important}
  .principle-list details::details-content{transition:none}
  .image-dialog[open],.image-dialog::backdrop{animation:none}
}

/* ==========================================================================
   Hero lighthouse: a live beam that turns toward the pointer and idles into a slow sweep.
   The base photo has its baked-in beam painted out (assets/hero-lighthouse.jpg, derived from cover.jpg).
   ========================================================================== */
.hero-scene{position:absolute;inset:0;animation:hero-zoom 2.6s var(--ease) both}
.lamp-light{position:absolute;inset:0;pointer-events:none;--lx:70.4%;--ly:27.8%}
.lamp-rotor{position:absolute;left:var(--lx);top:var(--ly);width:0;height:0;transform:rotate(10deg);will-change:transform}
.lamp-beam{position:absolute;left:0;top:0;display:block;width:1700px;height:1040px;margin-top:-520px;mix-blend-mode:screen;opacity:0;transition:opacity .8s ease}
.lamp-beam.ready{opacity:1}
.lamp-glow{position:absolute;left:var(--lx);top:var(--ly);width:200px;height:200px;margin:-100px 0 0 -100px;border-radius:50%;background:radial-gradient(circle,rgba(240,251,255,.95) 0,rgba(170,226,255,.5) 8%,rgba(96,176,255,.16) 30%,rgba(96,176,255,0) 68%);mix-blend-mode:screen;animation:lamp-pulse 3.8s ease-in-out infinite}
.lamp-spot{position:absolute;left:0;top:0;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;background:radial-gradient(circle,rgba(176,228,255,.26) 0,rgba(120,196,255,.1) 34%,rgba(120,196,255,0) 68%);mix-blend-mode:screen;opacity:0;transition:opacity .7s ease;will-change:transform,opacity}
.lamp-spot.on{opacity:1}
@keyframes lamp-pulse{0%,100%{opacity:.82;transform:scale(1)}50%{opacity:1;transform:scale(1.14)}}
@media(max-width:800px){.lamp-rotor{transform:rotate(208deg)}.lamp-beam.ready{opacity:.8}.lamp-glow{width:150px;height:150px;margin:-75px 0 0 -75px}}
@media(prefers-reduced-motion:reduce){.hero-scene{animation:none}.lamp-glow{animation:none}.lamp-spot{display:none}}

/* ==========================================================================
   Fields & clients: where Changhujia and GEO are used today.
   ========================================================================== */
:root{--mono:'SF Mono',ui-monospace,Menlo,Consolas,'Liberation Mono',monospace}
@keyframes rise{from{opacity:0;transform:translateY(26px)}}
/* Front marquee of served fields */
.fields{margin-top:92px;padding-top:26px;border-top:1px solid #e3e9f0}
.fields-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
.fields .eyebrow{color:#7a889d}
.fields-toggle{background:none;border:1px solid #d3dce7;border-radius:100px;padding:5px 14px;font-size:12px;color:#5b6d84;transition:border-color .25s,color .25s}
@media(hover:hover){.fields-toggle:hover{border-color:#1466c8;color:#1466c8}}
.fields-marquee{margin-top:26px;overflow:hidden}
.fields-track{display:flex;flex-wrap:wrap;row-gap:14px}
.fields-track.is-looping{flex-wrap:nowrap;width:max-content;animation:fields-scroll 48s linear infinite}
.fields-marquee:has(.is-looping){-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.fields.paused .fields-track,.fields-marquee:hover .fields-track,.fields-marquee:focus-within .fields-track{animation-play-state:paused}
.fields-group{display:flex;align-items:center;flex-wrap:wrap;row-gap:10px;margin:0;padding:0 0 0 0;list-style:none}
.fields-group li{position:relative;padding:0 24px;font-size:clamp(20px,2.1vw,30px);font-weight:500;letter-spacing:-.02em;color:#1b3250;white-space:nowrap}
.fields-group li:not(.fields-tag)+li::before{content:'';position:absolute;left:-3px;top:50%;width:5px;height:5px;margin-top:-2px;border-radius:50%;background:#a8c8ee}
.fields-group .fields-tag{margin:0 6px 0 30px;padding:9px 13px 8px;border:1px solid #b9d3f3;border-radius:100px;font:600 11px/1 var(--mono);letter-spacing:.12em;color:#1466c8}
.fields-track:not(.is-looping) .fields-group:first-child .fields-tag{margin-left:0}
@keyframes fields-scroll{to{transform:translateX(-50%)}}

/* Changhujia clients */
.clients{position:relative;overflow:hidden;padding:112px 0 122px;color:#eef5ff;background:radial-gradient(ellipse at 12% 0,#0e2e58 0,rgba(14,46,88,0) 55%),#051228}
.clients::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%)}
.clients .container{position:relative}
.clients-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.clients-head .eyebrow{color:#6fa3d2;margin-bottom:22px}
.clients-head h2{font-size:clamp(36px,4.2vw,58px);line-height:1.25}
.clients-head>p{max-width:390px;padding-bottom:8px;font-size:15px;line-height:1.9;color:#8ea6c4}
.client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:58px}
.client-card{position:relative;display:flex;flex-direction:column;min-height:300px;padding:26px 24px 24px;overflow:hidden;border:1px solid #ffffff14;border-radius:18px;background:linear-gradient(180deg,#ffffff0b,#ffffff03);transition:border-color .35s,transform .5s var(--ease),background .35s}
.client-card::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(94,182,255,.17),rgba(94,182,255,0) 62%);opacity:0;transition:opacity .45s}
.client-card:focus-within{border-color:#6fc3ff55}
@media(hover:hover){.client-card:hover{border-color:#6fc3ff59;transform:translateY(-4px);background:linear-gradient(180deg,#ffffff10,#ffffff04)}.client-card:hover::before{opacity:1}}
.client-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font:500 11px/1 var(--mono);letter-spacing:.12em;color:#6f8fb4}
.client-type{padding:7px 10px;border:1px solid #ffffff1f;border-radius:100px;letter-spacing:.04em;color:#a6cff0;font-family:Longarc,'PingFang SC',sans-serif}
.client-card h3{position:relative;margin:58px 0 14px;font-size:26px;letter-spacing:-.03em}
.client-card p{position:relative;flex:1;font-size:14px;line-height:1.85;color:#91a8c4}
.client-link{position:relative;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:26px;padding:0;border:0;background:none;font-size:13px;color:#82d5f7;border-radius:6px}
.client-link span{transition:transform .35s var(--ease)}
@media(hover:hover){.client-card:hover .client-link span{transform:translateX(5px)}}
.js-motion .client-grid.reveal{opacity:1;transform:none}
.js-motion .client-grid.reveal:not(.is-visible)>*{opacity:0}
.js-motion .client-grid.reveal.is-visible>*{animation:rise .9s var(--ease) backwards}
.js-motion .client-grid.reveal.is-visible>:nth-child(2){animation-delay:.08s}
.js-motion .client-grid.reveal.is-visible>:nth-child(3){animation-delay:.16s}
.js-motion .client-grid.reveal.is-visible>:nth-child(4){animation-delay:.24s}
@media(max-width:1100px){.client-grid{grid-template-columns:repeat(2,1fr)}.client-card{min-height:250px}.client-card h3{margin-top:40px}}
@media(max-width:800px){
  .fields{margin-top:56px;padding-top:22px}
  .fields-marquee{margin-top:18px}
  .fields-group li{padding:0 16px;font-size:19px}
  .fields-group .fields-tag{margin-left:20px;padding:7px 10px 6px;font-size:10px}
  .clients{padding:76px 0 80px}
  .clients-head{display:block}
  .clients-head h2{font-size:36px}
  .clients-head>p{margin-top:20px;font-size:14px}
  .client-grid{grid-template-columns:1fr;gap:12px;margin-top:34px}
  .client-card{min-height:0;padding:22px 20px}
  .client-card h3{margin:26px 0 10px;font-size:23px}
  .client-card p{font-size:13px}
  .client-link{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){.fields-track.is-looping{animation:none}}

/* ==========================================================================
   GEO: an automated, text-run demo of the workflow (question set → retest).
   ========================================================================== */
.geo{padding:110px 0 30px}
.geo-head{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:end}
.geo-head .capability-copy h3{margin:25px 0}
.geo-side{display:flex;flex-direction:column;gap:22px;padding-bottom:6px}
.geo-flow{display:flex;align-items:center;gap:14px;font:500 12px/1 var(--mono);letter-spacing:.06em;color:#bcd6ef}
.geo-flow span{padding:9px 12px;border:1px solid #ffffff1f;border-radius:100px;background:#ffffff08}
.geo-flow i{flex:1;max-width:46px;height:1px;background:linear-gradient(90deg,#3d8ef0,#7fd6ff);position:relative}
.geo-flow i::after{content:'';position:absolute;right:-1px;top:-3px;border:3.5px solid transparent;border-left:5px solid #7fd6ff}
.geo-side-note{font-size:14px;line-height:1.85;color:#8ea4bf;max-width:440px}
.geo-shot{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:18px;padding:10px 16px 10px 10px;border:1px solid #ffffff17;border-radius:14px;background:#ffffff06;color:#cfe3f7;text-align:left;transition:border-color .3s,background .3s}
.geo-shot-frame{display:block;overflow:hidden;border-radius:8px;border:1px solid #ffffff1a;background:#fff}
.geo-shot-frame img{width:100%;height:auto;transition:transform .6s var(--ease)}
.geo-shot-cap{font-size:13px}
.geo-shot-cap span{display:inline-block;margin-left:6px;transition:transform .35s var(--ease)}
@media(hover:hover){.geo-shot:hover{border-color:#6fc3ff59;background:#ffffff0b}.geo-shot:hover img{transform:scale(1.05)}.geo-shot:hover .geo-shot-cap span{transform:translate(2px,-2px)}}
.geo-shot:focus-visible{border-radius:14px}

.geo-demo{position:relative;margin-top:56px;border:1px solid #ffffff1c;border-radius:22px;background:linear-gradient(180deg,#0c2244 0,#081830 40%,#06132a 100%);box-shadow:0 50px 120px -50px #000c,inset 0 1px 0 #ffffff14;overflow:hidden}
.geo-demo::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px circle at var(--mx,80%) var(--my,0%),rgba(88,176,255,.1),rgba(88,176,255,0) 60%)}
.geo-bar{position:relative;display:flex;align-items:center;gap:16px;height:48px;padding:0 20px;border-bottom:1px solid #ffffff12;background:#ffffff05}
.geo-dots{display:flex;gap:6px}.geo-dots i{width:9px;height:9px;border-radius:50%;background:#ffffff1f}
.geo-title{flex:1;font:500 12px/1 var(--mono);letter-spacing:.04em;color:#9fb8d6}
.geo-title em{font-style:normal;margin-left:8px;padding:3px 6px;border-radius:4px;background:#7fd6ff1f;color:#8fe0ff;font-size:10px;letter-spacing:.1em}
.geo-status{display:inline-flex;align-items:center;gap:8px;font:500 11px/1 var(--mono);color:#8aa3c2}
.geo-status i{width:7px;height:7px;border-radius:50%;background:#5d7493}
.geo-status[data-state=running] i{background:#7fe3ff;box-shadow:0 0 0 0 #7fe3ff99;animation:geo-ping 1.4s ease-out infinite}
.geo-status[data-state=running]{color:#bfefff}
.geo-status[data-state=paused] i{background:#fbbf77}
.geo-status[data-state=done] i{background:#6ee7b7}.geo-status[data-state=done]{color:#a7f0d2}
@keyframes geo-ping{to{box-shadow:0 0 0 8px #7fe3ff00}}
.geo-controls{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;border-bottom:1px solid #ffffff10}
.geo-industries{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.geo-label{font:500 11px/1 var(--mono);letter-spacing:.12em;color:#6f8cae;margin-right:6px}
.geo-chip{padding:8px 14px;border:1px solid #ffffff1f;border-radius:100px;background:#ffffff06;font-size:13px;color:#b3c8e1;transition:background .25s,border-color .25s,color .25s,transform .25s var(--ease)}
.geo-chip[aria-pressed=true]{background:linear-gradient(135deg,#1c78f0,#23a4d8);border-color:transparent;color:#fff;box-shadow:0 8px 24px -10px #1c8cf0}
.geo-chip:active{transform:scale(.96)}
@media(hover:hover){.geo-chip:hover:not([aria-pressed=true]){border-color:#7fd6ff66;color:#e6f5ff}}
.geo-actions{display:flex;gap:10px;flex-shrink:0}
.geo-run,.geo-restart{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:100px;font-size:13px;transition:background .25s,border-color .25s,color .25s,transform .25s var(--ease)}
.geo-run{border:0;background:#eaf6ff;color:#0b2346;font-weight:500}
.geo-run-icon{width:0;height:0;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent}
.geo-run[data-mode=pause] .geo-run-icon{width:8px;height:10px;border:0;border-left:3px solid currentColor;border-right:3px solid currentColor}
.geo-restart{border:1px solid #ffffff26;background:none;color:#b8cbe2}
.geo-run:active,.geo-restart:active{transform:scale(.96)}
@media(hover:hover){.geo-run:hover{background:#fff}.geo-restart:hover{border-color:#7fd6ff66;color:#fff}}
.geo-body{position:relative;display:grid;grid-template-columns:250px minmax(0,1fr) 220px;height:540px}
.geo-steps{margin:0;padding:14px 0;list-style:none;border-right:1px solid #ffffff10}
.geo-step{position:relative;display:grid;grid-template-columns:30px 1fr auto;align-items:start;gap:10px;width:100%;padding:13px 18px 13px 20px;border:0;background:none;color:#7e95b3;text-align:left;transition:color .3s,background .3s}
.geo-step::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:2px;background:#7fd6ff;transform:scaleY(0);transition:transform .4s var(--ease)}
.geo-step-no{font:500 11px/1.9 var(--mono);color:#58708f}
.geo-step-main b{display:block;font-size:15px;font-weight:500;color:#c2d5ea}
.geo-step-main small{display:block;margin-top:3px;font-size:12px;line-height:1.55;color:#6f87a6}
.geo-step-state{font:500 10px/2 var(--mono);letter-spacing:.06em;color:#58708f}
.geo-step[data-state=running]{background:linear-gradient(90deg,#7fd6ff14,#7fd6ff00)}
.geo-step[data-state=running]::before{transform:scaleY(1)}
.geo-step[data-state=running] .geo-step-no,.geo-step[data-state=running] .geo-step-state{color:#8fe3ff}
.geo-step[data-state=running] .geo-step-main b{color:#fff}
.geo-step[data-state=done] .geo-step-state{color:#6ee7b7}
.geo-step[data-state=done] .geo-step-main b{color:#dbe8f6}
@media(hover:hover){.geo-step:hover{background:#ffffff08}.geo-step:hover .geo-step-main b{color:#fff}}
.geo-step:focus-visible{outline-offset:-3px}
.geo-console{position:relative;min-height:0;overflow:auto;padding:26px 28px 30px;background:linear-gradient(180deg,#040c1a,#050f20);font:13px/1.95 var(--mono);color:#a9bfd9;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;overscroll-behavior:contain}
.geo-console:focus-visible{outline-offset:-3px}
.geo-meter{position:sticky;top:-26px;display:block;height:2px;margin:-26px -28px 24px;background:#ffffff0d;z-index:1}
.geo-meter i{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(var(--p,0));background:linear-gradient(90deg,#2f81eb,#7fe3ff);box-shadow:0 0 10px #59d1ff88;transition:transform .35s ease}
.geo-line{margin:0;white-space:pre-wrap;word-break:break-word}
.geo-line.gl-cmd{color:#8fe8ff}
.geo-line.gl-cmd::before{content:'longarc@geo:~$ ';color:#4f6f95}
.geo-line.gl-head{margin-top:14px;color:#eef6ff;font-weight:600}
.geo-line.gl-head .geo-tag{color:#7fd6ff;margin-right:10px}
.geo-line.gl-item{color:#a3b9d4;padding-left:18px}
.geo-line.gl-ok{color:#6ee7b7;padding-left:18px}
.geo-line.gl-warn{color:#fbc783;padding-left:18px}
.geo-line.gl-dim{color:#5d7697}
.geo-line.gl-check{padding-left:18px;color:#c9dbef}
.geo-line.gl-check .geo-k{display:inline-block;min-width:4.5em;color:#8fe3ff}
.geo-line.gl-check .geo-v{color:#6ee7b7}
.geo-line cite{font-style:normal;color:#7fd6ff}
.geo-line.is-typing::after{content:'';display:inline-block;width:.55em;height:1.1em;margin-left:2px;vertical-align:-.18em;background:#8fe8ff;animation:geo-caret 1s steps(1) infinite}
@keyframes geo-caret{50%{opacity:0}}
.geo-output{padding:22px 20px;border-left:1px solid #ffffff10;background:#ffffff03}
.geo-output .geo-label{display:block;margin:4px 0 14px}
.geo-deliver,.geo-checks{margin:0 0 26px;padding:0;list-style:none;display:grid;gap:8px}
.geo-deliver li{position:relative;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px dashed #ffffff21;border-radius:10px;font-size:13px;color:#6f87a6;transition:color .4s,border-color .4s,background .4s}
.geo-deliver li::after{content:'待生成';font:10px var(--mono);color:#58708f}
.geo-deliver li.on{border-style:solid;border-color:#6ee7b766;background:#6ee7b70f;color:#e3fff3;animation:geo-pop .5s var(--ease)}
.geo-deliver li.on::after{content:'✓ 已生成';color:#6ee7b7}
.geo-checks li{padding:9px 12px;border-radius:10px;background:#ffffff05;border:1px solid #ffffff0f;transition:border-color .4s,background .4s}
.geo-checks b{display:block;font-size:13px;font-weight:500;color:#9fb5cf}
.geo-checks span{display:block;font-size:11px;color:#617b9b;margin-top:2px}
.geo-checks li.on{border-color:#7fd6ff4d;background:#7fd6ff0d;animation:geo-pop .5s var(--ease)}
.geo-checks li.on b{color:#e8f7ff}
@keyframes geo-pop{0%{transform:scale(.96)}60%{transform:scale(1.02)}100%{transform:none}}
.geo-note{position:relative;padding:14px 20px;border-top:1px solid #ffffff10;font-size:12px;color:#6481a3}
.geo+.capability-boundary{margin-top:26px}
@media(max-width:1100px){.geo-head{grid-template-columns:1fr;gap:34px}.geo-body{grid-template-columns:220px minmax(0,1fr);grid-template-rows:520px auto;height:auto}.geo-output{grid-column:1/-1;border-left:0;border-top:1px solid #ffffff10;display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.geo-output .geo-label{grid-row:1}.geo-deliver,.geo-checks{grid-row:2;margin-bottom:0}}
@media(max-width:800px){
  .geo{padding:60px 0 20px}
  .geo-head .capability-copy h3{font-size:34px;margin:22px 0}
  .geo-flow{gap:8px;font-size:11px}.geo-flow span{padding:7px 9px}.geo-flow i{max-width:18px}
  .geo-shot{grid-template-columns:110px 1fr}
  .geo-demo{margin:36px -8px 0;border-radius:18px}
  .geo-bar{height:44px;padding:0 14px;gap:10px}.geo-title{font-size:11px}.geo-title em{display:none}
  .geo-controls{flex-direction:column;align-items:stretch;gap:14px;padding:14px}
  .geo-industries{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -14px;padding:0 14px}
  .geo-industries::-webkit-scrollbar{display:none}
  .geo-chip{flex-shrink:0}.geo-label{flex-shrink:0}
  .geo-actions .geo-run{flex:1;justify-content:center}
  .geo-body{display:block;min-height:0}
  .geo-steps{display:flex;overflow-x:auto;scrollbar-width:none;padding:0;border-right:0;border-bottom:1px solid #ffffff10}
  .geo-steps::-webkit-scrollbar{display:none}
  .geo-steps li{flex:0 0 auto}
  .geo-step{grid-template-columns:auto auto;gap:6px;padding:12px 14px}
  .geo-step::before{left:12px;right:12px;top:auto;bottom:0;width:auto;height:2px;transform:scaleX(0)}
  .geo-step[data-state=running]::before{transform:scaleX(1)}
  .geo-step-main small,.geo-step-state{display:none}
  .geo-step-main b{font-size:13px;white-space:nowrap}
  .geo-console{height:380px;padding:20px 16px 24px;font-size:12px}
  .geo-meter{top:-20px;margin:-20px -16px 18px}
  .geo-line.gl-item,.geo-line.gl-ok,.geo-line.gl-warn,.geo-line.gl-check{padding-left:10px}
  .geo-output{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;padding:18px 14px}
  .geo-deliver li{padding:9px 10px;font-size:12px}
  .geo-checks li{padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){.geo-status i,.geo-line.is-typing::after{animation:none}}

/* ==========================================================================
   Tech layer: live service flow, reading progress, decoding labels, tilt, magnetic CTAs.
   ========================================================================== */
.eyebrow,.chapter-tag,.loop-label{font-family:var(--mono);letter-spacing:.16em}
.eyebrow{font-size:12px}
@media(max-width:800px){.eyebrow{font-size:10.5px;letter-spacing:.13em}}

/* Reading progress along the bottom edge of the header */
.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;transform-origin:0 50%;transform:scaleX(var(--read,0));background:linear-gradient(90deg,#2f81eb,#7fe3ff);box-shadow:0 0 10px #59d1ff66;opacity:0;transition:opacity .4s}
.site-header.scrolled .scroll-progress{opacity:1}

/* Changhujia live service flow (illustrative) */
.platform-inner{position:relative}
.chj-live{position:absolute;right:0;top:115px;width:372px;padding:18px 18px 14px;border:1px solid #ffffff24;border-radius:18px;background:linear-gradient(180deg,#0a2448b3,#061a36cc);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 30px 80px -30px #000a,inset 0 1px 0 #ffffff1a}
.chj-live-head{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid #ffffff14}
.chj-live-head p{flex:1;font:500 12px/1 var(--mono);letter-spacing:.06em;color:#cfe4f7}
.chj-live-head em{font-style:normal;margin-left:6px;padding:3px 6px;border-radius:4px;background:#7fd6ff1f;color:#8fe0ff;font-size:10px;letter-spacing:.08em}
.chj-live-dot{width:7px;height:7px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 0 0 #6ee7b799;animation:geo-ping 1.6s ease-out infinite}
.chj-live.paused .chj-live-dot{background:#fbbf77;animation:none}
.chj-live-toggle{padding:4px 10px;border:1px solid #ffffff26;border-radius:100px;background:none;font-size:11px;color:#b8cbe2;transition:border-color .25s,color .25s}
@media(hover:hover){.chj-live-toggle:hover{border-color:#7fd6ff66;color:#fff}}
.chj-live-list{position:relative;height:292px;margin:0;padding:0;list-style:none;overflow:hidden}
.chj-live-list li{display:grid;grid-template-columns:44px 1fr;gap:4px 12px;padding:12px 2px;border-bottom:1px solid #ffffff0f}
.chj-live-list li:last-child{border-bottom:0}
.chj-live-list time{grid-row:span 2;font:500 11px/1.9 var(--mono);color:#6f8fb4}
.chj-live-list b{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#eef6ff}
.chj-live-list b span{padding:2px 7px;border-radius:5px;font:500 10px/1.5 var(--mono);letter-spacing:.04em;color:#8fe0ff;background:#7fd6ff17}
.chj-live-list b span[data-tag=AI]{color:#c7b8ff;background:#a78bfa1f}
.chj-live-list small{font-size:12px;line-height:1.6;color:#93aac6}
.chj-live-list li.is-new{animation:live-in .7s var(--ease)}
.chj-live-list li.is-new b{color:#fff}
@keyframes live-in{from{opacity:0;transform:translateY(-14px)}}
.chj-live-foot{padding-top:12px;border-top:1px solid #ffffff14;font-size:11px;color:#7f9bbd}
@media(max-width:1100px){.chj-live{width:330px}}
@media(max-width:960px){
  .platform{height:auto;min-height:0}
  .platform-inner{height:auto;gap:44px}
  .chj-live{position:relative;top:auto;right:auto;width:auto;max-width:480px}
}
@media(max-width:800px){.chj-live-list{height:280px}}

/* AI loop: a light pulse travels the completed path; subtle dot grid behind the story */
.loop-pulse{position:absolute;left:0;top:13px;width:var(--line-progress,0%);height:5px;pointer-events:none}
.loop-pulse::after{content:'';position:absolute;top:0;left:0;width:26px;height:5px;margin-left:-13px;border-radius:5px;background:radial-gradient(closest-side,#e6f9ff,#7fd6ff66 60%,transparent);animation:loop-pulse 2.6s cubic-bezier(.5,0,.3,1) infinite}
@keyframes loop-pulse{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}
.intelligence-sticky::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1.2px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse at 72% 62%,#000 0,transparent 70%);mask-image:radial-gradient(ellipse at 72% 62%,#000 0,transparent 70%)}

/* Screens tilt toward the pointer with a moving glare */
.desktop-product,.capability-screen{position:relative}
.desktop-product::after,.capability-screen::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.2),rgba(255,255,255,0) 55%);opacity:0;transition:opacity .45s}
.desktop-product.is-tilting,.capability-screen.is-tilting,.capability-story.reverse .capability-screen.is-tilting{transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px);transition:transform .25s ease-out}
.desktop-product.is-tilting::after,.capability-screen.is-tilting::after{opacity:1}

/* Magnetic calls to action (individual translate, so hover transforms still apply) */
.nav-contact,.button,.geo-run,.round-arrow{transition-property:background,color,border-color,transform,translate;transition-duration:.3s,.3s,.3s,.45s,.45s;transition-timing-function:ease,ease,ease,var(--ease),var(--ease)}

@media(prefers-reduced-motion:reduce){.loop-pulse{display:none}.scroll-progress{transition:none}}
.chj-live::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(300px circle at var(--mx,70%) var(--my,0%),rgba(120,200,255,.13),rgba(120,200,255,0) 65%)}
.chj-live>*{position:relative}
.loop-line.at-start .loop-pulse{display:none}

/* Hero headline reads as a single line from tablet width up; phones keep the two-line break. */
@media(min-width:801px){.hero-break{display:none}.hero h1{font-size:clamp(48px,6vw,92px);white-space:nowrap}.hero-content{padding-top:clamp(240px,30vh,400px)}}
/* About: five company facts in one row (two columns on phones). */
@media(min-width:801px){.company-stats{grid-template-columns:repeat(5,1fr)}}
.js-motion .company-stats.reveal>:nth-child(5){transition-delay:.32s}

/* Keep the filing in the copyright row; phones use a compact two-row grid. */
.footer-base{align-items:center}.footer-base .footer-icp{color:#acbfd4;white-space:nowrap;font-size:11px;line-height:1.8}.footer-base .footer-icp:hover{color:#fff}.footer-base .footer-icp:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
@media(max-width:800px){.footer-base{display:grid;grid-template-columns:1fr auto;gap:10px 14px}.footer-base>span{grid-column:1/-1}.footer-base .footer-icp{justify-self:start}.footer-base>a:last-child{justify-self:end}}
