/* ============================================================
   project-page-hx.css — project pages with hx design system
   ============================================================ */

/* SHARED DETAIL PAGE PIECES */
.hx-breadcrumb{display:flex;align-items:center;gap:12px;padding:24px 0 32px;font-family:'JetBrains Mono',monospace;font-size:13px;color:rgba(220,230,250,.6)}
.hx-breadcrumb a{color:#4cc9f0;text-decoration:none;transition:color .2s ease}
.hx-breadcrumb a:hover{color:#fff}
.hx-breadcrumb-sep{color:rgba(220,230,250,.3)}
.hx-breadcrumb-current{color:#eaf1ff}
.hx-aside-card{padding:24px;background:rgba(255,255,255,.02);border:1px solid rgba(76,201,240,.15);border-radius:10px;transition:all .3s ease}
.hx-aside-card:hover{border-color:rgba(76,201,240,.4);background:rgba(76,201,240,.04);box-shadow:0 8px 24px rgba(76,201,240,.1)}
.hx-aside-tag{display:block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.15em;color:#4cc9f0;margin-bottom:12px;text-transform:uppercase}
.hx-aside-card p{font-size:14px;line-height:1.7;color:rgba(220,230,250,.8);margin:0}
.hx-tag-strip{display:flex;flex-wrap:wrap;gap:10px;padding:32px 0 60px;justify-content:center}
.hx-tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;color:rgba(220,230,250,.7);padding:8px 16px;background:rgba(255,255,255,.02);border:1px solid rgba(157,123,255,.2);border-radius:6px;transition:all .25s ease}
.hx-tag:hover{border-color:rgba(157,123,255,.6);background:rgba(157,123,255,.08);color:#9d7bff;transform:translateY(-2px)}

/* PROJECT HERO */
.hx-project-hero{display:grid;grid-template-columns:1fr 360px;gap:48px;padding:40px 0 60px;align-items:start}
.hx-project-hero-main{max-width:720px;min-width:0}
.hx-project-meta{margin-top:36px}
.hx-project-aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:120px}

/* PROJECT MODULES */
.hx-project-modules{padding:60px 0}
.hx-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;margin-top:48px}
.hx-module-card{padding:28px 24px;background:rgba(255,255,255,.02);border:1px solid rgba(157,123,255,.15);border-radius:10px;transition:all .3s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden}
.hx-module-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:0;background:linear-gradient(to bottom,#9d7bff,#4cc9f0);transition:height .4s cubic-bezier(.2,.7,.2,1)}
.hx-module-card:hover::before{height:100%}
.hx-module-card:hover{border-color:rgba(157,123,255,.4);background:rgba(157,123,255,.04);transform:translateY(-2px)}
.hx-module-num{display:block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.15em;color:#9d7bff;margin-bottom:12px;text-transform:uppercase}
.hx-module-card h3{font-family:'Space Grotesk',system-ui,sans-serif;font-size:18px;font-weight:700;color:#eaf1ff;margin:0 0 10px;line-height:1.3}
.hx-module-card p{font-size:14px;line-height:1.6;color:rgba(220,230,250,.7);margin:0}

/* PROJECT ARTICLES GRID */
.hx-project-articles{padding:60px 0 100px}
.hx-articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:28px}

/* ARTICLE CARD */
.hx-article-card{display:flex;flex-direction:column;gap:16px;padding:28px 24px;background:rgba(255,255,255,.02);border:1px solid rgba(76,201,240,.15);border-radius:10px;text-decoration:none;transition:all .4s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden}
.hx-article-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:0;background:linear-gradient(to bottom,#4cc9f0,#4ad6c4);transition:height .4s cubic-bezier(.2,.7,.2,1)}
.hx-article-card:hover::before{height:100%}
.hx-article-card:hover{border-color:rgba(76,201,240,.5);background:rgba(76,201,240,.06);transform:translateY(-4px);box-shadow:0 12px 32px rgba(76,201,240,.15)}

.hx-article-meta{display:flex;align-items:center;gap:12px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;color:rgba(220,230,250,.5);text-transform:uppercase}
.hx-article-date{color:#4cc9f0}
.hx-article-cat{padding:4px 8px;background:rgba(157,123,255,.08);border:1px solid rgba(157,123,255,.2);border-radius:4px;color:#9d7bff}

.hx-article-card h3{font-family:'Space Grotesk',system-ui,sans-serif;font-size:20px;font-weight:700;color:#eaf1ff;margin:0;line-height:1.3;transition:color .3s ease}
.hx-article-card:hover h3{color:#fff}

.hx-article-card p{font-size:14px;line-height:1.6;color:rgba(220,230,250,.7);margin:0;transition:color .3s ease}
.hx-article-card:hover p{color:rgba(220,230,250,.85)}

.hx-article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.hx-article-tags span{font-family:'JetBrains Mono',monospace;font-size:10px;padding:4px 8px;background:rgba(74,214,196,.08);border:1px solid rgba(74,214,196,.2);border-radius:4px;color:#4ad6c4;transition:all .3s ease}
.hx-article-card:hover .hx-article-tags span{border-color:rgba(74,214,196,.4);background:rgba(74,214,196,.12)}

/* LOADING STATE */
.hx-loading-state{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px 24px;font-family:'JetBrains Mono',monospace;font-size:13px;color:rgba(220,230,250,.5)}
.hx-loading-state .hx-dot{animation:hxPulse 1.5s ease-in-out infinite}

/* EMPTY STATE */
.hx-empty-state{text-align:center;padding:80px 24px}
.hx-empty-state svg{width:64px;height:64px;margin:0 auto 24px;opacity:.3;stroke:currentColor}
.hx-empty-state h3{font-family:'Space Grotesk',system-ui,sans-serif;font-size:20px;color:rgba(220,230,250,.6);margin:0 0 12px}
.hx-empty-state p{font-size:14px;color:rgba(220,230,250,.4);margin:0}
.hx-empty-state a{color:#4cc9f0;text-decoration:none}
.hx-empty-state a:hover{color:#fff}

/* RESPONSIVE */
@media (max-width:900px){
.hx-project-hero{grid-template-columns:1fr;gap:32px}
.hx-project-aside{position:static;flex-direction:row}
}
@media (max-width:640px){
.hx-project-aside{flex-direction:column}
.hx-articles-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
.hx-article-card:hover,.hx-module-card:hover{transform:none}
}
