/* Shared component styles used across multiple sections */
.sc { background:var(--bg3); border:1px solid var(--bdr2); border-radius:var(--r); padding:1.7rem; position:relative; overflow:hidden; transition:all .3s; }
.sc::after { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--c),var(--blue)); transform:scaleX(0); transform-origin:left; transition:transform .35s; }
.sc:hover { border-color:rgba(0,200,255,.18); transform:translateY(-5px); box-shadow:0 24px 60px rgba(0,0,0,.5); }
.sc:hover::after { transform:scaleX(1); }
.sc.featured { border-color:rgba(0,200,255,.2); background:rgba(0,200,255,.04); }
.sc-badge { position:absolute; top:1rem; right:1rem; font-family:var(--fm); font-size:.58rem; background:rgba(0,200,255,.1); border:1px solid rgba(0,200,255,.2); color:var(--c); border-radius:3px; padding:.15rem .45rem; letter-spacing:.06em; text-transform:uppercase; }
.sc-icon { width:46px; height:46px; background:rgba(0,200,255,.07); border:1px solid rgba(0,200,255,.12); border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:1.35rem; margin-bottom:1rem; }
.sc-title { font-family:var(--fh); font-size:1.12rem; font-weight:700; margin-bottom:.5rem; }
.sc-desc { font-size:.84rem; color:var(--mu); line-height:1.75; }
.sc-tags { display:flex; gap:.35rem; flex-wrap:wrap; margin-top:.9rem; }
