/* 1. STICKY APPROACH */
.approach-grid { display: grid; grid-template-columns: 1fr; gap: clamp(40px, 6vw, 60px); }
@media(min-width: 960px) {
    .approach-grid { grid-template-columns: 1fr 1fr; align-items: start; }
    .approach-sticky { position: sticky; top: 120px; }
}
.approach-cards { list-style: none; padding: 0; margin: 0; }
.key-service-card { background: var(--color-white); border: 1px solid rgba(8,24,50,0.08); padding: clamp(24px, 4vw, 32px); border-radius: 16px; margin-bottom: 24px; box-shadow: 0 10px 30px rgba(0,0,0,0.02); display: flex; gap: 20px; transition: transform 0.3s; }
.key-service-card:hover { transform: translateY(-4px); border-color: var(--color-yellow); }
.ks-icon { background: rgba(253,211,44,0.15); color: #b38e00; width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ks-icon svg { width: 24px; height: 24px; }

/* 2. BENTO CAPABILITIES */
.bento-section { background: rgba(8,24,50,0.02); }
.capabilities-grid { display: grid; grid-template-columns: 1fr; gap: 24px; list-style: none; padding: 0; margin: 0; }
@media(min-width: 768px) { .capabilities-grid { grid-template-columns: repeat(2, 1fr); } }
@media(min-width: 1024px) { .capabilities-grid { grid-template-columns: repeat(3, 1fr); } }
.cap-card { background: var(--color-white); border: 1px solid rgba(8,24,50,0.06); padding: 32px; border-radius: 16px; transition: box-shadow 0.3s; }
.cap-card:hover { box-shadow: 0 15px 35px rgba(8,24,50,0.05); }
.cap-card h3 { font-family: var(--font-main); font-weight: 800; font-size: 1.1rem; margin-bottom: 12px; color: var(--color-black); }
.cap-card p { font-size: 0.95rem; color: rgba(8,24,50,0.6); margin: 0; }

/* 3. ZERO-JS TIMELINE (Dark) */
.process-section { background: var(--color-black); color: var(--color-white); }
.timeline-wrapper { display: flex; max-width: 800px; margin: 60px auto 0; position: relative; }
.timeline-track { width: 4px; background: rgba(255,255,255,0.1); border-radius: 4px; margin-right: clamp(20px, 4vw, 32px); flex-shrink: 0; position: relative; }
.timeline-ball { position: sticky; top: 50vh; width: 16px; height: 16px; background: var(--color-yellow); border-radius: 50%; transform: translateX(-6px); box-shadow: 0 0 20px 4px rgba(253, 211, 44, 0.6); z-index: 2; }
.timeline-content { flex: 1; padding-bottom: 60px; list-style: none; padding: 0; margin: 0; }
.timeline-step { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); padding: clamp(24px, 4vw, 32px); border-radius: 16px; margin-bottom: 40px; position: relative; }
.timeline-step-num { font-family: var(--font-main); font-weight: 800; font-size: 0.9rem; color: var(--color-yellow); margin-bottom: 8px; letter-spacing: 0.1em; text-transform: uppercase; display: block;}
.timeline-step h3 { color: var(--color-white); }
.timeline-step p { color: rgba(255,255,255,0.6); margin: 0; }

/* 4. SMOOTH FAQ (White) */
.faq-section { background: var(--color-white); }
.faq-grid { max-width: 800px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }
.nl-accordion { background: var(--color-white); border: 1px solid rgba(8, 24, 50, 0.08); border-radius: 12px; overflow: hidden; transition: border-color 0.3s; }
.nl-accordion.is-open { border-color: var(--color-yellow); box-shadow: 0 10px 30px rgba(8, 24, 50, 0.03); }
.nl-accordion__header { display: flex; justify-content: space-between; align-items: center; padding: 24px; cursor: pointer; background: none; border: none; width: 100%; text-align: left; font-family: var(--font-main); font-weight: 800; font-size: 1.1rem; color: var(--color-black); transition: color 0.2s; }
.nl-accordion__header:hover { color: var(--color-yellow); }
.nl-accordion__icon { position: relative; width: 20px; height: 20px; flex-shrink: 0; }
.nl-accordion__icon::before, .nl-accordion__icon::after { content: ''; position: absolute; background: var(--color-black); transition: transform 0.3s ease; }
.nl-accordion__icon::before { top: 9px; left: 0; width: 20px; height: 2px; }
.nl-accordion__icon::after { top: 0; left: 9px; width: 2px; height: 20px; }
.nl-accordion.is-open .nl-accordion__icon::after { transform: rotate(90deg); }
.nl-accordion.is-open .nl-accordion__icon::before, .nl-accordion.is-open .nl-accordion__icon::after { background: var(--color-yellow); }
.nl-accordion__content { height: 0; overflow: hidden; transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.nl-accordion__inner { padding: 0 24px 24px; color: rgba(8, 24, 50, 0.7); font-size: 1rem; line-height: 1.6; }
.process-heading{
    color: var(--color-white);
}