/* ===========================================================
   service-single.css
   =========================================================== */

.service-hero { padding-top: 160px; padding-bottom: 64px; border-bottom: 1px solid var(--vc-line); }
.service-hero__title { font-size: clamp(2.5rem, 6vw + 1rem, 6rem); margin: var(--vc-s-2) 0; max-width: 18ch; }
.service-hero__tagline { font-size: var(--vc-text-lg); max-width: 56ch; color: var(--vc-fg-soft); margin: 0; }

.service-intro { padding-top: clamp(60px, 8vw, 120px); }

.service-what { background: var(--vc-bg-alt); }
.service-process { background: var(--vc-bg); }
.process-list { display: grid; gap: var(--vc-s-5); grid-template-columns: 1fr; counter-reset: pl; margin-top: var(--vc-s-8); }
@media (min-width: 768px) { .process-list { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px){ .process-list { grid-template-columns: repeat(3, 1fr); } }
.process-list__item { padding: var(--vc-s-6); border: 1px solid var(--vc-line); border-radius: var(--vc-radius); background: var(--vc-bg-alt); }
.process-list__num { font-family: var(--vc-font-display); color: var(--vc-accent); display: block; margin-bottom: var(--vc-s-2); }
.process-list__title { font-size: var(--vc-text-lg); margin: 0 0 var(--vc-s-2); }
.process-list__desc { color: var(--vc-fg-soft); font-size: var(--vc-text-sm); margin: 0; }

.service-tools { background: var(--vc-bg); }
.tools-grid { display: grid; gap: var(--vc-s-3); grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); margin-top: var(--vc-s-8); }
.tools-grid__item { display: flex; align-items: center; gap: var(--vc-s-3); padding: var(--vc-s-3); border: 1px solid var(--vc-line); border-radius: var(--vc-radius); background: var(--vc-bg-alt); font-size: var(--vc-text-sm); }
.tools-grid__item img { width: 32px; height: 32px; }

.service-related { background: var(--vc-bg-alt); }

.service-faq { background: var(--vc-bg); }
.faq-list { margin-top: var(--vc-s-8); display: flex; flex-direction: column; gap: 2px; }
.faq-item { background: var(--vc-bg-alt); border: 1px solid var(--vc-line); border-radius: var(--vc-radius); overflow: hidden; }
.faq-item__q { padding: var(--vc-s-5) var(--vc-s-6); cursor: pointer; font-family: var(--vc-font-display); font-size: var(--vc-text-md); color: var(--vc-fg); list-style: none; position: relative; }
.faq-item__q::-webkit-details-marker { display: none; }
.faq-item__q::after { content: '+'; position: absolute; right: var(--vc-s-6); top: 50%; transform: translateY(-50%); font-size: var(--vc-text-xl); color: var(--vc-muted); transition: transform var(--vc-dur) var(--vc-ease); }
.faq-item[open] .faq-item__q::after { transform: translateY(-50%) rotate(45deg); }
.faq-item__a { padding: 0 var(--vc-s-6) var(--vc-s-6); color: var(--vc-fg-soft); }

.service-cta {
	background: radial-gradient(60% 80% at 50% 50%, rgba(124,92,255,.16), transparent), var(--vc-bg);
	text-align: center; padding: clamp(80px, 10vw, 160px) 0;
}
.cta__headline { font-size: clamp(2rem, 4vw + 1rem, 3.5rem); margin: 0 0 var(--vc-s-6); max-width: 22ch; margin-inline: auto; }
