.prj-intro{padding-bottom:0}.prj-intro .cat-copy{max-width:46em}.prj-section{padding-top:clamp(40px,5vw,72px)}.prj-filter{border-bottom:1px solid var(--line);gap:14px;margin-bottom:clamp(28px,3.5vw,44px);padding-bottom:22px;display:grid}.prj-filter-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prj-filter-label{letter-spacing:.04em;min-width:7em;color:var(--muted);margin-right:6px;font-size:13px}.prj-filter button,.prj-none button{border:1px solid var(--line);min-height:44px;color:var(--navy);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:0 16px;font-size:14px;transition:border-color .2s,background .2s,color .2s}.prj-filter button:hover,.prj-none button:hover{border-color:var(--blue)}.prj-filter button[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}.prj-filter button:focus-visible,.prj-none button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.prj-count{color:var(--muted);margin:0;font-size:13px}.prj-none{background:var(--surface);flex-wrap:wrap;align-items:center;gap:12px 20px;padding:28px;display:flex}.prj-none p{color:#304d62;margin:0;font-size:16px}.prj-list{columns:2;column-gap:clamp(20px,2.4vw,36px);margin:0;padding:0;list-style:none}.prj-list>li{break-inside:avoid;margin-bottom:clamp(20px,2.4vw,36px)}.prj-list>li:last-child{margin-bottom:0}.prj-list>li[hidden]{display:none}.prj-card{border:1px solid var(--line);scroll-margin-top:calc(var(--site-header-h,0px) + 20px);background:#fff;flex-direction:column;display:flex}.prj-media{margin:0}.prj-media-frame{aspect-ratio:16/10;background:#0c1a28;position:relative;overflow:hidden}.prj-media-frame img{object-fit:cover;width:100%;height:100%;display:block}.prj-place{color:#fff;letter-spacing:.04em;background:#050b14c2;padding:4px 9px;font-size:12px;position:absolute;bottom:12px;left:12px}.prj-media figcaption{color:var(--muted);padding:10px 24px 0;font-size:13px;line-height:1.6}.prj-body{flex-direction:column;flex:1;gap:14px;padding:24px 26px 28px;display:flex}.prj-meta{letter-spacing:.03em;color:var(--blue);margin:0;font-size:13px;line-height:1.6}.prj-supply{border-left:3px solid var(--blue);color:#304d62;background:#eef6f9;margin:0;padding:10px 14px;font-size:14px;line-height:1.6}.prj-supply strong{color:var(--navy);margin-right:6px}.cat-section .prj-card h2{letter-spacing:-.01em;font-size:clamp(21px,1.8vw,26px);line-height:1.35}html[lang=zh-CN] .cat-section .prj-card h2{letter-spacing:0;text-wrap:pretty}.prj-summary{color:#304d62;margin:0;font-size:16px;line-height:1.8}.prj-scope h3{letter-spacing:.04em;color:var(--muted);margin:0 0 6px;font-size:13px;font-weight:600}.prj-scope ul{color:#304d62;margin:0;padding-left:20px;font-size:15px;line-height:1.7;list-style:outside}.prj-scope li::marker{color:var(--blue)}.prj-scope li+li{margin-top:4px}.prj-links{border-top:1px solid #e3eaee;gap:6px;padding-top:16px;font-size:14px;display:grid}.prj-links p{align-items:flex-start;gap:0 16px;margin:0;display:flex}.prj-links-label{min-height:44px;color:var(--muted);flex:none;align-items:center;display:inline-flex}.prj-links-list{flex-wrap:wrap;gap:0 16px;min-width:0;display:flex}.prj-links p a{min-height:44px;color:var(--navy);border-bottom:1px solid #0000;align-items:center;display:inline-flex}.prj-links p a:hover{color:var(--blue)}.prj-inquiry{min-height:44px;color:var(--navy);border-bottom:1px solid #081f354d;justify-self:start;align-items:center;gap:10px;font-weight:600;transition:color .2s,border-color .2s;display:inline-flex}.prj-inquiry:hover{color:var(--blue);border-color:var(--blue)}.prj-related ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.prj-related a{border:1px solid var(--line);height:100%;color:inherit;background:#fff;flex-direction:column;gap:8px;padding:22px 24px;transition:border-color .2s;display:flex}.prj-related a:hover{border-color:var(--blue)}.prj-related a>span{color:var(--blue);font-size:13px}.prj-related strong{justify-content:space-between;gap:12px;font-size:17px;font-weight:600;line-height:1.5;display:flex}.prj-related strong svg{color:var(--muted);flex:none;margin-top:3px}@media (max-width:800px){.prj-list{columns:auto}.prj-related ul{grid-template-columns:minmax(0,1fr)}.prj-filter-label{width:100%;min-width:0}.prj-body{padding:20px 20px 24px}}
