/* =========================================================
   DigiForge — Capabilities page styles
   ========================================================= */

.caps-hero{position:relative;overflow:hidden;padding-top:calc(var(--header-h) + clamp(44px,7vw,80px));padding-bottom:clamp(12px,3vw,28px);}
.caps-hero .hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;}
.caps-hero-inner{position:relative;z-index:2;max-width:var(--maxw);}
.caps-hero h1{max-width:780px;font-size:clamp(36px,6vw,68px);margin-top:22px;}
.caps-hero .lead{color:var(--text-dim);font-size:clamp(16px,1.9vw,20px);max-width:600px;margin-top:22px;}

.caps-stats{display:flex;flex-wrap:wrap;gap:clamp(26px,5vw,56px);margin-top:clamp(34px,5vw,52px);padding-top:30px;border-top:1px solid var(--line);position:relative;z-index:2;}
.caps-stats .n{font-family:var(--f-display);font-weight:600;font-size:clamp(26px,3.6vw,38px);letter-spacing:-0.03em;}
.caps-stats .l{font-family:var(--f-mono);font-size:12px;letter-spacing:.07em;color:var(--text-faint);text-transform:uppercase;margin-top:6px;}

/* discipline grid */
.caps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(390px,1fr));gap:16px;}
.cap-card{
  position:relative;background:var(--ink-1);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 28px 12px;overflow:hidden;transition:transform .4s var(--ease),border-color .4s,background .4s;
}
.cap-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;opacity:0;
  background:linear-gradient(140deg,var(--ember),transparent 42%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  transition:opacity .4s var(--ease);
}
.cap-card:hover{transform:translateY(-5px);background:var(--ink-2);}
.cap-card:hover::before{opacity:1;}
.cap-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:18px;}
.cap-ico{
  width:50px;height:50px;flex:none;border-radius:13px;display:grid;place-items:center;
  background:var(--ember-soft);border:1px solid rgba(255,106,61,0.22);color:var(--ember);transition:transform .4s var(--ease);
}
.cap-card:hover .cap-ico{transform:rotate(-5deg) scale(1.05);}
.cap-ico svg{width:25px;height:25px;}
.cap-head h3{font-size:20px;letter-spacing:-0.02em;}
.cap-head p{color:var(--text-dim);font-size:14px;margin-top:7px;line-height:1.5;}

.cap-tech{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:13px 0;border-top:1px solid var(--line);}
.ct-name{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:600;font-size:15px;letter-spacing:-0.01em;color:var(--text);flex:none;}
.ct-name .dot{width:6px;height:6px;border-radius:50%;background:var(--ember);flex:none;transition:transform .3s var(--ease),box-shadow .3s;}
.cap-tech:hover .ct-name .dot{transform:scale(1.6);box-shadow:0 0 9px var(--ember);}
.ct-desc{color:var(--text-faint);font-size:13px;text-align:right;line-height:1.45;}

@media (max-width:560px){
  .caps-grid{grid-template-columns:1fr;}
  .cap-tech{flex-direction:column;gap:4px;align-items:flex-start;}
  .ct-desc{text-align:left;}
}
