/* ── ACCORDION METHODS ── */
.acc { margin-top:60px; }
.ai { border:1px solid rgba(0,255,136,.12); border-radius:16px; margin-bottom:16px; overflow:hidden; background:var(--dark); }
.ah {
  width:100%; background:none; border:none; cursor:pointer; padding:28px 32px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  text-align:left; color:var(--white);
}
.ah-left { display:flex; align-items:center; gap:20px; }
.ah-num { font-size:.78rem; letter-spacing:.12em; color:var(--accent); font-weight:700; }
.ah-title { font-size:1.15rem; font-weight:700; }
.ah-icon { width:32px; height:32px; border:1px solid rgba(0,255,136,.3); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--accent); font-size:1.2rem;
  flex-shrink:0; transition:transform .4s; }
.ai.op .ah-icon { transform:rotate(45deg); }
.ab2 { max-height:0; overflow:hidden; transition:max-height .5s cubic-bezier(.4,0,.2,1); }
.ab2-inner { padding:0 32px 32px; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.ab2-text { font-size:.95rem; color:var(--muted); line-height:1.8; }
.ab2-text ul { padding-left:20px; margin-top:12px; }
.ab2-text ul li { margin-bottom:8px; }
.ab2-img { border-radius:12px; overflow:hidden; opacity:0; transform:translateX(20px); transition:opacity .5s .2s,transform .5s .2s; }
.ai.op .ab2-img { opacity:1; transform:translateX(0); }
.ab2-img img { width:100%; display:block; }

/* ── PROCESS STEPS ── */
.process-wrap { position:relative; margin-top:60px; padding-left:60px; }
.ps-line { position:absolute; left:20px; top:0; bottom:0; width:2px; background:rgba(0,255,136,.15); }
.ps-fill-bar { position:absolute; left:20px; top:0; width:2px; height:0%; background:var(--accent); transition:none; z-index:1; }
.ps { position:relative; padding:32px 0 32px 40px; }
.ps-dot { position:absolute; left:-49px; top:36px; width:18px; height:18px; border-radius:50%;
  border:2px solid rgba(0,255,136,.3); background:var(--bg); transition:background .4s,border-color .4s,box-shadow .4s; }
.ps.lit .ps-dot { background:var(--accent); border-color:var(--accent); box-shadow:0 0 16px rgba(0,255,136,.5); }
.ps-num { font-size:.72rem; letter-spacing:.14em; color:var(--accent); margin-bottom:8px; text-transform:uppercase; opacity:.7; }
.ps-head { font-size:1.1rem; font-weight:700; color:var(--white); margin-bottom:10px; transition:color .4s; }
.ps.lit .ps-head { color:var(--accent); }
.ps-body { font-size:.9rem; color:var(--muted); line-height:1.75; max-width:600px; }

/* ── DIAGRAMS ── */
.diag-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:60px; }
.diag-card { border-radius:16px; overflow:hidden; border:1px solid rgba(0,255,136,.12); background:var(--dark); }
.diag-card img { width:100%; display:block; }
.diag-cap { padding:16px 20px; font-size:.85rem; color:var(--muted); border-top:1px solid rgba(0,255,136,.08); }

@media(max-width:768px) {
  .ab2-inner { grid-template-columns:1fr; }
  .diag-grid { grid-template-columns:1fr; }
}
