/* FAQ: same design as the homepage FAQ (rules from home.css), used on the AI service pages. */
.faq-section{position:relative;margin:120px auto 0;padding:0 24px;max-width:1280px;}
.faq-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start;}
.faq-intro h2{margin:0;font-size:var(--fs-h2);font-weight:500;line-height:1.12;color:var(--text);}
.faq-cta{position:relative;overflow:hidden;margin-top:48px;border-radius:22px;padding:34px 32px;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 14%,var(--page-bg)),color-mix(in srgb,var(--accent) 4%,var(--page-bg)));border:1px solid var(--service-card-border);}
.faq-cta h3{margin:0;font-size:var(--fs-h3);font-weight:500;color:var(--text);}
.faq-cta p{position:relative;z-index:1;margin:14px 0 26px;font-size:var(--fs-body);line-height:1.6;color:var(--text-2);max-width:280px;}
.faq-cta-button{position:relative;z-index:1;display:inline-flex;gap:9px;height:50px;padding:0 24px;border-radius:25px;font-size:var(--fs-body);}
.faq-bubble{position:absolute;right:24px;bottom:24px;width:120px;height:auto;pointer-events:none;}
@media(max-width:600px){.faq-bubble{position:static;display:block;width:88px;margin:24px 0 0 auto;}}
.faq-list{display:flex;flex-direction:column;gap:16px;}
.faq-item{border-radius:18px;border:1px solid var(--service-card-border);background:var(--service-card-bg);overflow:hidden;transition:background .2s,border-color .2s;}
.faq-item.is-open{background:color-mix(in srgb,var(--accent) 8%,var(--service-card-bg));border-color:color-mix(in srgb,var(--accent) 30%,var(--service-card-border));}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;background:none;border:0;text-align:left;font-family:inherit;font-size:var(--fs-body);font-weight:500;color:var(--service-card-text);cursor:pointer;}
.faq-icon{flex:0 0 auto;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);transition:transform .25s;}
.faq-icon svg{width:14px;height:14px;}
.faq-item.is-open .faq-icon{transform:rotate(180deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-answer p{margin:0;padding:0 24px 24px;font-size:var(--fs-body);line-height:1.65;color:var(--service-card-muted);}
.faq-item.is-open .faq-answer{max-height:220px;}
@media(max-width:900px){.faq-layout{grid-template-columns:1fr;gap:44px;}}
@media(max-width:600px){.faq-section{margin-top:64px;}}
@media(max-width:600px){.faq-cta{padding:28px 24px;}}
@media(max-width:600px){.faq-question{padding:18px 20px;font-size:var(--fs-body);}}
@media(max-width:600px){.faq-answer p{padding:0 20px 20px;}}
.faq-cta .cta-button.faq-cta-button{align-items:center;justify-content:center;flex-shrink:0;white-space:nowrap;background:var(--btn-grad);box-shadow:var(--btn-shadow);color:#fff;font-weight:var(--cta-weight,500);}
body[data-theme="dark"] .faq-cta .cta-button.faq-cta-button{border:1px solid #007f69;text-shadow:0 1px 2px #000;transition:box-shadow .2s,border-color .2s;}
body[data-theme="dark"] .faq-cta .cta-button.faq-cta-button:hover{border-color:#00b493;box-shadow:inset 0 0 14px rgba(0,230,183,.48),0 0 8px rgba(0,208,167,.25);}
body[data-theme="dark"] .faq-cta .cta-button.faq-cta-button:focus-visible{outline:2px solid #5dffdc;outline-offset:4px;}
body[data-theme="light"] .faq-cta .cta-button.faq-cta-button{justify-content:center;letter-spacing:0.5px;border:1px solid rgba(0,192,166,.32);transition:box-shadow .2s,filter .2s;}
body[data-theme="light"] .faq-cta .cta-button.faq-cta-button svg{stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
body[data-theme="light"] .faq-cta .cta-button.faq-cta-button:hover{filter:brightness(1.04);box-shadow:inset 0 1px 2px rgba(157,255,236,.8),0 12px 28px rgba(0,199,169,.36);}
body[data-theme="light"] .faq-cta .cta-button.faq-cta-button:focus-visible{outline:2px solid #009d88;outline-offset:4px;}
.ai-page .faq-section{margin-bottom:96px}
.ai-page .faq-section .faq-question{cursor:pointer}
/* theme variables from home.css, scoped to the FAQ so the AI pages render it identically */
body[data-theme="dark"] .faq-section{--page-bg:#04120d;--text:#f3faf7;--text-2:rgba(228,242,238,0.76);--text-3:rgba(228,242,238,0.58);--accent:#4ff0c9;--btn-grad:radial-gradient(ellipse at 50% 115%,rgba(0,128,105,.3),transparent 65%),linear-gradient(180deg,#04201d,#00110f 55%,#001b17);--btn-shadow:inset 0 1px 2px rgba(87,255,217,.4),inset 0 0 11px rgba(0,230,183,.4),0 0 3px rgba(0,208,167,.2);--service-card-bg:linear-gradient(165deg,#0b201b 0%,#071612 55%,#04120e 100%);--service-card-border:rgba(120,245,214,0.14);--service-card-text:#f3faf7;--service-card-muted:rgba(228,242,238,0.68)}
body[data-theme="light"] .faq-section{--page-bg:#ffffff;--text:#0d1c17;--text-2:#54655f;--text-3:#6d7d77;--accent:#16b296;--btn-grad:radial-gradient(ellipse at 48% 0%,rgba(50,239,211,.4),transparent 65%),linear-gradient(115deg,#00bbae,#00b7a0 60%,#00a994);--btn-shadow:inset 0 1px 2px rgba(157,255,236,.8),inset 0 -2px 5px rgba(0,146,125,.12),0 10px 23px rgba(0,199,169,.3);--service-card-bg:linear-gradient(165deg,#ffffff 0%,#f9fffd 55%,#eefcf8 100%);--service-card-border:rgba(13,28,23,0.08);--service-card-text:#0d1c17;--service-card-muted:#5c6d67}
