*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;color:#17222b;background:#f3f2ee}body{background:radial-gradient(circle at 48% 46%,#fff 0,#f7f6f2 37%,#eeede8 100%);overflow-x:hidden}.page{width:min(1320px,calc(100% - 60px));margin:auto;min-height:100vh;display:flex;flex-direction:column}header{height:92px;display:flex;align-items:center;border-bottom:1px solid rgba(23,34,43,.09)}.signature{display:flex;flex-direction:column;gap:4px}.signature strong{font-size:11px;letter-spacing:.22em}.signature span,.live{font-size:8px;letter-spacing:.27em;color:#849099}.live{margin-left:auto}.live i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#2aa8ad;margin-right:8px}.intro{position:absolute;top:135px;left:max(30px,calc((100vw - 1320px)/2));z-index:5}.intro p{font-size:9px;letter-spacing:.3em;color:#4a9ca2;margin:0 0 13px}.intro h1{font-size:clamp(31px,3.2vw,48px);line-height:1.02;letter-spacing:-.04em;margin:0;font-weight:520}.intro h1 span{font-weight:330;color:#899399}.orbit{position:relative;width:min(900px,78vw);aspect-ratio:1/1;margin:10px auto 20px;isolation:isolate}.rings,.rings i{position:absolute;inset:0;border-radius:50%;pointer-events:none}.rings:before{content:"";position:absolute;inset:12%;border:1px solid rgba(32,74,91,.09);border-radius:50%}.rings:after{content:"";position:absolute;inset:25%;border:1px solid rgba(32,74,91,.07);border-radius:50%}.rings i:nth-child(1){inset:5%;border:1px dashed rgba(32,74,91,.055)}.rings i:nth-child(2){inset:34%;background:radial-gradient(circle,rgba(54,159,168,.07),transparent 68%)}.core{position:absolute;left:50%;top:50%;width:215px;height:215px;transform:translate(-50%,-50%);border-radius:50%;padding:9px;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(226,229,226,.9));box-shadow:0 24px 65px rgba(44,58,66,.12),inset 0 0 0 1px rgba(255,255,255,.8);z-index:3}.core:before{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(55,135,143,.17)}.core-inner{width:100%;height:100%;border-radius:50%;background:linear-gradient(145deg,#17313f,#0d1f2b);display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;text-align:center;box-shadow:inset 0 0 30px rgba(255,255,255,.035)}.core span{font-size:7px;letter-spacing:.32em;color:#8db3b8;margin-bottom:8px}.core strong{font-size:25px;letter-spacing:.12em;font-weight:520}.core small{font-size:7px;letter-spacing:.18em;line-height:1.7;color:#78929d;margin-top:12px}.node{position:absolute;width:178px;text-decoration:none;color:#17222b;text-align:center;z-index:4;transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1);outline:none}.disc{width:150px;height:150px;margin:auto;border-radius:50%;background:#fbfbf9;border:1px solid rgba(26,54,68,.1);box-shadow:0 14px 38px rgba(37,51,59,.10);display:grid;place-items:center;overflow:hidden;transition:box-shadow .4s,border-color .4s,transform .4s}.disc:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;box-shadow:inset 0 0 0 7px rgba(255,255,255,.45);pointer-events:none}.disc img{max-width:82%;max-height:74%;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s}.node-name{display:block;margin-top:13px;font-size:9px;letter-spacing:.22em;font-weight:650}.node-ia{left:50%;top:7%;transform:translateX(-50%)}.node-optic{right:6%;top:59%;transform:translateY(-50%)}.node-files{left:6%;top:59%;transform:translateY(-50%)}.node:hover .disc,.node:focus .disc,.node.active .disc{transform:scale(1.07);border-color:rgba(37,151,160,.35);box-shadow:0 22px 50px rgba(33,81,91,.17),0 0 0 7px rgba(55,165,173,.055)}.node:hover .disc img,.node:focus .disc img,.node.active .disc img{transform:scale(1.035)}.orbit.has-active .node:not(.active){opacity:.42}.connector{position:absolute;left:50%;top:50%;width:1px;height:190px;background:linear-gradient(to bottom,rgba(50,121,128,.18),transparent);transform-origin:top center;z-index:1}.c1{transform:rotate(180deg)}.c2{transform:rotate(60deg)}.c3{transform:rotate(-60deg)}.info{position:absolute;left:50%;bottom:1.5%;transform:translateX(-50%);width:390px;text-align:center;z-index:5;transition:opacity .25s}.info span:first-child{font-size:7px;letter-spacing:.3em;color:#47959b}.info h2{font-size:17px;letter-spacing:.08em;margin:8px 0 8px;font-weight:560}.info p{font-size:11px;line-height:1.55;color:#7c888e;margin:0 auto;max-width:370px}.info-action{display:inline-block;margin-top:11px;font-size:7px;letter-spacing:.22em;color:#478e94;opacity:.55}footer{height:76px;margin-top:auto;border-top:1px solid rgba(23,34,43,.08);display:flex;align-items:center;gap:16px;font-size:7px;letter-spacing:.23em;color:#879198}footer i{height:1px;background:rgba(23,34,43,.08);flex:1}@media(max-width:850px){.page{width:calc(100% - 28px)}header{height:74px}.intro{position:relative;top:auto;left:auto;padding:35px 3px 10px}.orbit{width:100%;aspect-ratio:auto;height:650px;margin:0 auto}.core{width:160px;height:160px}.core strong{font-size:19px}.node{width:132px}.disc,.disc:after{width:116px;height:116px}.node-ia{top:5%}.node-optic{right:1%;top:49%}.node-files{left:1%;top:49%}.info{width:min(92%,380px);bottom:3%}.connector{height:140px}.rings:before{inset:18% 5%}.rings:after{display:none}}@media(max-width:430px){.orbit{height:610px}.core{top:43%}.node-ia{top:2%}.node-optic,.node-files{top:58%}.disc,.disc:after{width:102px;height:102px}.node{width:116px}.info{bottom:1%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.hover-card{position:absolute;z-index:20;width:245px;padding:15px 17px;border-radius:16px;text-align:left;pointer-events:none;background:rgba(255,255,255,.82);border:1px solid rgba(30,62,75,.1);box-shadow:0 18px 45px rgba(35,53,61,.13);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;visibility:hidden;transform:translateY(7px) scale(.985);transition:.28s}.hover-card b{display:block;font-size:9px;letter-spacing:.18em;color:#19333f;margin-bottom:8px}.hover-card em{display:block;font-size:10px;line-height:1.55;font-style:normal;font-weight:400;color:#6e7d84;letter-spacing:0}.node-ia .hover-card{left:calc(100% + 12px);top:34px}.node-optic .hover-card{right:calc(100% + 12px);top:28px}.node-files .hover-card{left:calc(100% + 12px);top:28px}@media (hover:hover) and (pointer:fine){.node:hover{z-index:30}.node:hover .hover-card,.node:focus .hover-card{opacity:1;visibility:visible;transform:translateY(0) scale(1)}}@media(max-width:850px){.hover-card{display:none}}
/* v2.3 premium microinteractions */
.page{animation:pageIn .65s ease both}
.core{opacity:0;animation:coreIn .72s .12s cubic-bezier(.2,.8,.2,1) forwards}
.node{opacity:0;animation:nodeIn .62s cubic-bezier(.2,.8,.2,1) forwards}
.node-ia{animation-delay:.36s}.node-optic{animation-delay:.49s}.node-files{animation-delay:.62s}
.info{opacity:0;animation:softIn .55s .82s ease forwards}
.connector{transition:background .35s,box-shadow .35s,opacity .35s}
.connector.active{background:linear-gradient(to bottom,rgba(42,158,166,.62),rgba(42,158,166,.08));box-shadow:0 0 12px rgba(42,158,166,.18)}
.rings i:nth-child(1){animation:ringTurn 34s linear infinite}
.orbit-dot{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:rgba(52,143,150,.34);transform-origin:2.5px 2.5px;z-index:2;pointer-events:none}
.d1{animation:dotOrbit1 24s linear infinite}.d2{width:3px;height:3px;margin:-1.5px;background:rgba(39,80,94,.24);animation:dotOrbit2 31s linear infinite reverse}
.hover-card small{display:block;margin-top:10px;font-size:7px;letter-spacing:.2em;color:#3f9197;font-style:normal}
@keyframes pageIn{from{opacity:.2}to{opacity:1}}
@keyframes coreIn{from{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes nodeIn{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}
@keyframes softIn{to{opacity:1}}
@keyframes ringTurn{to{transform:rotate(360deg)}}
@keyframes dotOrbit1{from{transform:rotate(0deg) translateX(315px)}to{transform:rotate(360deg) translateX(315px)}}
@keyframes dotOrbit2{from{transform:rotate(0deg) translateX(245px)}to{transform:rotate(360deg) translateX(245px)}}
@media(max-width:850px){.orbit-dot{display:none}}
@media(prefers-reduced-motion:reduce){.page,.core,.node,.info,.rings i:nth-child(1),.orbit-dot{animation:none!important;opacity:1!important}}
