.page-hero{padding:72px 0 0}.page-hero .section-title{font-size:clamp(40px,5.4vw,72px)}.group{padding:80px 0 0}.group-title{border-bottom:1px solid var(--rule);margin:0 0 24px;padding-bottom:16px;font-size:clamp(24px,2.6vw,30px);line-height:1.15}.projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.project{background:var(--card);border:1px solid var(--rule);border-radius:20px;flex-direction:column;gap:18px;padding:24px;scroll-margin-top:24px;transition:border-color .3s,transform .3s;display:flex}.project:hover{border-color:#4a4a4a;transform:translateY(-2px)}.project:target{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.project .head{align-items:center;gap:16px;display:flex}.project .app-icon{width:72px;height:72px;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.project:hover .app-icon{transform:scale(1.05)rotate(-2deg)}.project h3{margin:0 0 8px;font-size:22px;line-height:1.15}.project p{color:var(--soft);flex:1;margin:0;font-size:15.5px}.nums{flex-wrap:wrap;gap:8px;display:flex}.nums span{font-family:var(--mono);letter-spacing:.03em;color:var(--soft);border:1px solid var(--rule);border-radius:999px;padding:4px 10px;font-size:12px}.facts{font-family:var(--mono);color:var(--muted);letter-spacing:.02em;font-size:12px;line-height:1.9}.facts a{border-bottom:1px solid var(--rule);text-decoration:none}.facts a:hover{color:var(--fg)}.links{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:8px;padding-top:18px;display:flex}.btn.sm{border-radius:10px;padding:10px 14px;font-size:14.5px}.star{color:var(--soft);margin-left:auto;padding:4px 0;font-size:14px;text-decoration:none}.star:hover{color:var(--brand)}.star .n{color:var(--fg);font-weight:600}.star .n:empty{display:none}.star .n:after{content:" · ";color:var(--muted);font-weight:400}.group-lead{color:var(--soft);margin:-8px 0 20px;font-size:16px}.after{background:linear-gradient(160deg,#22160a 0%,var(--card) 55%);border:1px solid #ff851b55;border-radius:24px;margin:96px 0 0;padding:40px}.after p{max-width:60ch;color:var(--soft);margin:0;font-size:18px}.after .ctas{margin-top:28px}@media (prefers-reduced-motion:reduce){.project,.project .app-icon{transition:none}.project:hover,.project:hover .app-icon{transform:none}}@media (max-width:960px){.projects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.projects{grid-template-columns:1fr;gap:12px}.page-hero{padding-top:40px}.group{padding-top:56px}.project{padding:20px}.project .app-icon{width:64px;height:64px}.after{border-radius:20px;margin-top:72px;padding:24px}.after p{font-size:16.5px}.after .ctas{flex-direction:column}}
