.shero{padding:76px 0 70px;border-bottom:1px solid var(--line)}
.shero .lead{font-size:18px;color:var(--ink2);max-width:800px;line-height:1.75}
.sec{padding:104px 0}
.shead{max-width:860px;margin-bottom:52px}
.sum3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sum{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 26px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}
.sum::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .25s}
.sum:hover{border-color:#D9D6D2;transform:translateY(-4px);box-shadow:0 14px 34px rgba(23,24,28,.07)}
.sum:hover::before{transform:scaleY(1)}
.sum .no{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--ink3)}
.sum h3{font-size:18px;font-weight:800;letter-spacing:-.02em;margin:10px 0 11px;line-height:1.35}
.sum p{font-size:14px;color:var(--ink2);line-height:1.75}
.elem{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:22px}
.el{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 26px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}
.el::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .25s}
.el:hover{border-color:#D9D6D2;transform:translateY(-4px);box-shadow:0 14px 34px rgba(23,24,28,.07)}
.el:hover::before{transform:scaleY(1)}
.el .t{font-size:18px;font-weight:800;letter-spacing:-.02em}
.el .e{font-family:var(--mono);font-size:10.5px;color:var(--ink3);letter-spacing:.12em;display:block;margin-top:2px}
.el p{font-size:14px;color:var(--ink2);margin-top:11px;line-height:1.75}
.cap8{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cap{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 26px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}
.cap::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .25s}
.cap:hover{border-color:#D9D6D2;transform:translateY(-4px);box-shadow:0 14px 34px rgba(23,24,28,.07)}
.cap:hover::before{transform:scaleY(1)}
.cap .no{width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;font-weight:800;font-size:13.5px;display:flex;align-items:center;justify-content:center;font-family:var(--mono)}
.cap h3{font-size:18px;font-weight:800;margin:14px 0 11px;letter-spacing:-.02em;line-height:1.35}
.cap p{font-size:14px;color:var(--ink2);line-height:1.75}
.capnote{margin-top:24px;font-size:13.5px;color:var(--ink3)}
.cases{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.case{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 26px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.case:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(23,24,28,.08)}
.case .ck{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--red);font-weight:700}
.case h3{font-size:19px;font-weight:800;letter-spacing:-.02em;margin:12px 0 4px}
.case .one{font-size:13.5px;color:var(--red-deep);font-weight:700;margin-bottom:14px}
.case ul{display:flex;flex-direction:column;gap:8px;flex:1}
.case li{font-size:13.5px;color:var(--ink2);padding-left:16px;position:relative;line-height:1.55}
.case li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:2px;background:var(--red)}
.case .tech{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px}
.case .tag{font-family:var(--mono);font-size:10.5px;color:var(--ink2);background:var(--mist);border:1px solid var(--line);border-radius:99px;padding:3px 10px}
.be{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bcol{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 26px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}
.bcol::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .25s}
.bcol:hover{border-color:#D9D6D2;transform:translateY(-4px);box-shadow:0 14px 34px rgba(23,24,28,.07)}
.bcol:hover::before{transform:scaleY(1)}
.bcol .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--ink3)}
.bcol h3{font-size:18px;font-weight:800;letter-spacing:-.02em;margin:10px 0 11px;line-height:1.35}
.bcol li{font-size:13.5px;color:var(--ink2);padding:7px 0 7px 16px;position:relative;border-top:1px solid #F1EFED}
.bcol li:first-child{border-top:0}
.bcol li::before{content:"";position:absolute;left:0;top:16px;width:7px;height:2px;background:var(--red)}
.mcp{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.auto{margin-top:16px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:6px;padding:24px 26px}
.auto h3{font-size:17px;font-weight:800;letter-spacing:-.015em}
.auto p{font-size:14px;color:var(--ink2);margin-top:10px;line-height:1.7}
.auto .flow{margin-top:14px;font-family:var(--mono);font-size:12px;color:var(--ink3);line-height:1.8}
.auto .flow b{color:var(--red);font-weight:700}
.gov{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.gv{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 26px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}
.gv::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .25s}
.gv:hover{border-color:#D9D6D2;transform:translateY(-4px);box-shadow:0 14px 34px rgba(23,24,28,.07)}
.gv:hover::before{transform:scaleY(1)}
.gv .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--ink3)}
.gv h3{font-size:18px;font-weight:800;letter-spacing:-.02em;margin:10px 0 11px;line-height:1.35}
.gv p{font-size:14px;color:var(--ink2);line-height:1.75}
.costline{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:6px;padding:20px 26px;font-size:15px;margin-bottom:44px}
.costline b{color:var(--red)}
.steps{display:flex;flex-direction:column;max-width:920px}
.step{display:grid;grid-template-columns:96px 1fr;gap:26px;padding:24px 0;border-top:1px solid var(--line)}
.step:last-child{border-bottom:1px solid var(--line)}
.step .no{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--red);letter-spacing:.04em;line-height:1.5}
.step .no b{display:block;font-size:22px;letter-spacing:-.02em}
.step h3{font-size:18px;font-weight:800;letter-spacing:-.015em}
.step p{font-size:14px;color:var(--ink2);margin-top:6px}
@media(max-width:1020px){
  .sum3,.cases,.gov{grid-template-columns:1fr 1fr}
  .cap8,.xl{grid-template-columns:1fr 1fr}
  .elem{grid-template-columns:repeat(3,1fr)}
  .be,.mcp{grid-template-columns:1fr}
  .f{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .menu,.nav .btn{display:none}
  .hamb{display:block;background:none;border:0;font-size:24px;cursor:pointer;color:var(--ink)}
  .sec{padding:76px 0}
  .sum3,.cap8,.cases,.gov,.xl{grid-template-columns:1fr}
  .elem{grid-template-columns:1fr 1fr}
  .band .wrap{grid-template-columns:1fr}
  .step{grid-template-columns:72px 1fr;gap:16px}
  .f{grid-template-columns:1fr}
}
