.section{padding:96px 0;border-top:1px solid var(--line)}
.section-title{
  margin:12px 0 18px;max-width:800px;
  font-size:clamp(40px,5.1vw,70px);line-height:.99;
  letter-spacing:-.055em;font-weight:400
}
.section-lede{max-width:680px;color:#686b64;font-size:16px;line-height:1.75}
.steps{
  margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.step{
  min-height:360px;padding:22px;border-right:1px solid var(--line);
  display:flex;flex-direction:column;background:rgba(255,255,255,.12)
}
.step:last-child{border-right:0}
.stepno{font-size:10px;color:#979a92}
.step-visual{
  position:relative;height:150px;margin:22px 0 26px;
  border:1px solid var(--line);border-radius:12px;background:#f7f7f3;overflow:hidden
}
.step-visual .caption{
  position:absolute;left:12px;bottom:10px;color:#8c8f87;font-size:9px
}
.step h3{margin:0 0 9px;font-size:19px;font-weight:400;letter-spacing:-.025em}
.step p{margin:0;color:#6d7069;font-size:13px;line-height:1.65}
.mini-file{
  position:absolute;width:54px;height:68px;border:1px solid #aeb0a9;border-radius:7px;background:white
}
.mini-file:before,.mini-file:after{
  content:"";position:absolute;left:10px;right:10px;height:1px;background:#d3d4ce
}
.mini-file:before{top:24px}.mini-file:after{top:36px}
.mf1{left:24px;top:22px}.mf2{left:84px;top:39px}.mf3{right:26px;top:25px}
.mini-target{
  position:absolute;right:32px;top:47px;width:28px;height:28px;border-radius:50%;
  border:1px solid var(--green);box-shadow:0 0 0 8px rgba(40,95,77,.06)
}
.mini-link{position:absolute;height:1px;background:#bfc1ba;transform-origin:left center}
.ml1{left:76px;top:57px;width:98px;transform:rotate(8deg)}
.ml2{left:134px;top:73px;width:57px;transform:rotate(-11deg)}
.mini-runtime{
  position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);
  width:84px;height:84px;border:1px solid #9ea198;border-radius:50%;
  display:grid;place-items:center;background:white
}
.mini-runtime:before,.mini-runtime:after{
  content:"";position:absolute;border:1px dashed #d0d2ca;border-radius:50%
}
.mini-runtime:before{width:112px;height:112px}.mini-runtime:after{width:136px;height:136px}
.runtime-chip{
  position:absolute;padding:5px 8px;border:1px solid var(--line);border-radius:999px;
  background:#fbfbf8;color:#73766e;font-size:9px
}
.rc1{left:13px;top:16px}.rc2{right:12px;top:20px}.rc3{left:18px;bottom:17px}.rc4{right:14px;bottom:15px}
.choice-line{position:absolute;left:34px;right:34px;top:72px;height:1px;background:#c7c9c1}
.choice-node{
  position:absolute;top:61px;width:22px;height:22px;border-radius:50%;
  border:1px solid #aeb1aa;background:white
}
.cn1{left:29px}.cn2{left:50%;transform:translateX(-50%);border-color:var(--green);background:var(--green)}
.cn3{right:29px}
.choice-label{position:absolute;top:91px;font-size:9px;color:#8c8f87}
.cl1{left:18px}.cl2{left:50%;transform:translateX(-50%);color:var(--green)}.cl3{right:18px}
.choice-pulse{
  position:absolute;left:50%;top:72px;width:7px;height:7px;border-radius:50%;background:var(--green);
  transform:translate(-50%,-50%);animation:choicePulse 2.8s ease-in-out infinite
}
@keyframes choicePulse{0%,100%{box-shadow:0 0 0 0 rgba(40,95,77,.18)}50%{box-shadow:0 0 0 11px rgba(40,95,77,0)}}

.dual{display:grid;grid-template-columns:.82fr 1.18fr;gap:84px;align-items:start}
.system{
  margin-top:34px;height:420px;position:relative;overflow:hidden;
  border:1px solid var(--line);background:var(--paper);border-radius:16px
}
.system-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(0,0,0,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.028) 1px,transparent 1px);
  background-size:36px 36px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 92%)
}
.keycore{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:108px;height:108px;border-radius:50%;background:white;border:1px solid #31322e;
  display:grid;place-items:center;text-align:center;font-size:10px;z-index:3
}
.keycore small{display:block;color:#92958d;font-size:8px;margin-top:2px}
.keyring{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  border:1px solid #d0d2ca;border-radius:50%
}
.kr1{width:180px;height:180px}.kr2{width:286px;height:286px;border-style:dashed}
.sys-chip{
  position:absolute;min-width:104px;padding:9px 10px;border:1px solid var(--line);
  border-radius:11px;background:#fbfbf8;box-shadow:0 8px 22px rgba(20,22,18,.025)
}
.sys-chip strong{display:block;font-size:10px;font-weight:400}
.sys-chip span{display:block;margin-top:2px;font-size:8px;color:#8d9088}
.sc1{left:24px;top:28px}.sc2{right:24px;top:38px}.sc3{left:20px;bottom:46px}.sc4{right:20px;bottom:34px}
.sc5{left:50%;top:16px;transform:translateX(-50%)}.sc6{left:50%;bottom:16px;transform:translateX(-50%)}
.sys-line{position:absolute;height:1px;background:#cfd1ca;transform-origin:left center}
.sl1{left:127px;top:83px;width:130px;transform:rotate(27deg)}
.sl2{right:124px;top:92px;width:130px;transform:rotate(153deg)}
.sl3{left:124px;bottom:92px;width:135px;transform:rotate(-27deg)}
.sl4{right:121px;bottom:80px;width:136px;transform:rotate(207deg)}
.sl5{left:50%;top:78px;height:78px;width:1px;background:#cfd1ca}
.sl6{left:50%;bottom:78px;height:78px;width:1px;background:#cfd1ca}
.sys-dot{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:var(--green);transform:translate(-50%,-50%);z-index:4;animation:keyPulse 2.6s ease-in-out infinite}
.glabel{position:absolute;font-size:9px;color:#90938b}
.gl1{left:19px;top:17px}.gl2{right:19px;bottom:17px;text-align:right}
@keyframes keyPulse{0%,100%{box-shadow:0 0 0 0 rgba(40,95,77,.08)}50%{box-shadow:0 0 0 14px rgba(40,95,77,0)}}
.boundary{border-top:1px solid var(--line)}
.brow{display:grid;grid-template-columns:32px 1fr;gap:13px;padding:18px 0;border-bottom:1px solid var(--line)}
.check{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-size:10px}
.brow strong{display:block;font-size:14px;font-weight:400}
.brow span span{display:block;color:#7c7f77;font-size:12px;margin-top:2px}

.agent{background:#e7e7e1}
.agentcard{
  display:grid;grid-template-columns:1fr .9fr;gap:58px;align-items:center;
  background:#f5f5f1;border:1px solid #cfd0c9;border-radius:18px;padding:38px
}
.agentcard h2{margin:12px 0 12px;font-size:clamp(34px,4.2vw,58px);line-height:1;letter-spacing:-.05em;font-weight:400}
.agentcard p{color:#6d7068;max-width:620px}
.process{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:7px;align-items:center}
.pbox{
  min-height:72px;background:white;border:1px solid var(--line2);border-radius:12px;
  display:grid;place-items:center;text-align:center;padding:10px;font-size:11px;color:#777a72;position:relative;overflow:hidden
}
.pbox.active{color:var(--green);border-color:#9fb7ad}
.pbox.active:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(40,95,77,.08),transparent);
  transform:translateX(-100%);animation:sweep 3.2s ease-in-out infinite
}
@keyframes sweep{60%,100%{transform:translateX(100%)}}
.arrow{font-size:11px;color:#9fa29a}
