/* FAQ PREMIUM SECTION STYLES */
.faqPremiumSection {
    --faq-primary: #0066FF;
    --faq-primary-light: #3385FF;
    --faq-primary-dark: #0052CC;
    --faq-accent: #10B981;
    --faq-card-bg: #ffffff;
    --faq-border: rgba(0, 102, 255, 0.08);
    --faq-text-primary: #0a1628;
    --faq-text-secondary: #4a5568;
    --faq-text-muted: #718096;
    --faq-radius: 20px;
    --faq-radius-sm: 14px;
    --faq-shadow: 0 4px 24px rgba(0, 102, 255, 0.06);
    --faq-shadow-hover: 0 8px 32px rgba(0, 102, 255, 0.12);
    width: 100%;
    padding: clamp(60px, 8vw, 100px) clamp(16px, 4vw, 40px);
    background: linear-gradient(180deg, #ffffff 0%, #f8faff 35%, #f0f4ff 70%, #eef2ff 100%);
    position: relative;
    overflow: hidden;
}
.faqPremiumSection::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(ellipse 80% 50% at 20% 30%, rgba(0, 102, 255, 0.04) 0%, transparent 70%),
        radial-gradient(ellipse 60% 40% at 80% 70%, rgba(16, 185, 129, 0.03) 0%, transparent 70%);
    pointer-events: none;
}
.faqPremiumInner { max-width: 900px; margin: 0 auto; position: relative; z-index: 1; }
.faqPremiumHeader { text-align: center; margin-bottom: clamp(40px, 5vw, 60px); }
.faqEyebrow { display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px 8px 9px; background: rgba(255, 255, 255, 0.82); border: 1px solid rgba(255, 255, 255, 0.95); border-radius: 100px; box-shadow: 0 6px 18px rgba(0, 102, 255, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.9); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); margin-bottom: 18px; }
.faqEyebrowIcon { display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; background: linear-gradient(135deg, var(--faq-primary) 0%, var(--faq-primary-dark) 100%); border-radius: 50%; color: #fff; box-shadow: 0 3px 8px rgba(0, 102, 255, 0.35); }
.faqEyebrowText { font-family: 'DM Sans', system-ui, sans-serif; font-size: 13.5px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--faq-primary-dark); }
.faqPremiumTitle { font-family: 'Plus Jakarta Sans', 'DM Sans', system-ui, sans-serif; font-size: clamp(27px, 3.6vw, 38px); font-weight: 800; line-height: 1.18; color: var(--faq-text-primary); letter-spacing: -0.5px; margin: 0 0 16px 0; }
.faqTitleAccent { background: linear-gradient(120deg, var(--faq-primary) 0%, var(--faq-primary-dark) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.faqPremiumSubtitle { font-family: 'DM Sans', system-ui, sans-serif; font-size: clamp(16px, 2vw, 18px); line-height: 1.7; color: var(--faq-text-secondary); margin: 0; max-width: min(100%, var(--lead-measure, 1040px)); margin-inline: auto; }
.faqAccordionContainer { display: flex; flex-direction: column; gap: 20px; }
.faqAccordionItem { background: var(--faq-card-bg); border: 1px solid var(--faq-border); border-radius: var(--faq-radius); box-shadow: var(--faq-shadow); overflow: hidden; transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1); }
.faqAccordionItem:hover { border-color: rgba(0, 102, 255, 0.15); box-shadow: var(--faq-shadow-hover); }
.faqAccordionItem.is-open { border-color: rgba(0, 102, 255, 0.2); box-shadow: 0 12px 40px rgba(0, 102, 255, 0.1); }
.faqAccordionHeader { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: clamp(22px, 3.5vw, 32px) clamp(24px, 4vw, 36px); background: transparent; border: none; cursor: pointer; text-align: left; transition: background 0.2s ease; }
.faqAccordionHeader:hover { background: rgba(0, 102, 255, 0.02); }
.faqQuestionWrapper { display: flex; align-items: center; gap: 20px; flex: 1; }
.faqQuestionIcon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: linear-gradient(135deg, rgba(0, 102, 255, 0.08) 0%, rgba(0, 102, 255, 0.04) 100%); border-radius: 14px; color: var(--faq-primary); flex-shrink: 0; transition: all 0.3s ease; }
.faqAccordionItem.is-open .faqQuestionIcon { background: linear-gradient(135deg, var(--faq-primary) 0%, var(--faq-primary-dark) 100%); color: white; }
.faqQuestionText { font-family: 'DM Sans', system-ui, sans-serif; font-size: clamp(17px, 2.2vw, 20px); font-weight: 600; color: var(--faq-text-primary); line-height: 1.5; letter-spacing: -0.2px; }
.faqAccordionToggle { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: rgba(0, 102, 255, 0.06); border-radius: 12px; color: var(--faq-primary); flex-shrink: 0; transition: all 0.3s ease; position: relative; }
.faqAccordionItem.is-open .faqAccordionToggle { background: var(--faq-primary); color: white; transform: rotate(180deg); }
.faqIconPlus, .faqIconMinus { position: absolute; transition: opacity 0.2s ease, transform 0.3s ease; }
.faqIconMinus { opacity: 0; }
.faqAccordionItem.is-open .faqIconPlus { opacity: 0; transform: rotate(90deg); }
.faqAccordionItem.is-open .faqIconMinus { opacity: 1; }
.faqAccordionContent { max-height: 0; overflow: hidden; transition: max-height 0.4s cubic-bezier(0.23, 1, 0.32, 1); }
.faqAnswerInner { padding: 8px clamp(24px, 4vw, 36px) clamp(28px, 4vw, 40px); padding-left: calc(clamp(24px, 4vw, 36px) + 48px + 20px); }
.faqAnswerInner p { font-family: 'DM Sans', system-ui, sans-serif; font-size: clamp(16px, 2vw, 18px); line-height: 1.85; color: var(--faq-text-secondary); margin: 0 0 20px 0; }
.faqAnswerInner p:last-child { margin-bottom: 0; }
.faqAnswerInner strong { font-family: 'DM Sans', system-ui, sans-serif; font-weight: 700; color: var(--faq-text-primary); }
.faqAnswerInner a { font-family: inherit; font-size: inherit; font-weight: inherit; color: var(--faq-primary); text-decoration: none; }
.faqAnswerInner a:hover { color: var(--faq-primary-dark); text-decoration: underline; }
.faqAnimatedLink { position: relative; display: inline-block; font-family: inherit; font-size: inherit; font-weight: inherit; }
.faqAnimatedLink::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 2px; background: linear-gradient(90deg, var(--faq-primary) 0%, var(--faq-primary-dark) 100%); border-radius: 2px; animation: faqLineGrow 4s ease-in-out infinite; }
@keyframes faqLineGrow { 0%, 70% { width: 0; left: 0; opacity: 0; } 75% { width: 0; left: 0; opacity: 1; } 85% { width: 100%; left: 0; opacity: 1; } 95% { width: 100%; left: 0; opacity: 1; } 100% { width: 0; left: 100%; opacity: 0; } }
.faqBottomCTA { display: flex; align-items: center; justify-content: center; margin-top: clamp(36px, 5vw, 52px); }
.faqMoreButton { display: inline-flex; align-items: center; gap: 14px; padding: 16px 32px; background: linear-gradient(135deg, var(--faq-primary) 0%, var(--faq-primary-dark) 100%); color: white; font-family: 'DM Sans', system-ui, sans-serif; font-size: 17px; font-weight: 600; letter-spacing: 0.5px; text-decoration: none; border-radius: 14px; box-shadow: 0 6px 20px rgba(0, 102, 255, 0.25); transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1); position: relative; overflow: hidden; }
.faqMoreButton:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(0, 102, 255, 0.35); }
.faqMoreArrow { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: rgba(255, 255, 255, 0.2); border-radius: 8px; transition: all 0.3s ease; }
.faqMoreButton:hover .faqMoreArrow { background: rgba(255, 255, 255, 0.3); transform: translateX(4px); }
@media (max-width: 768px) { .faqQuestionIcon { width: 42px; height: 42px; border-radius: 12px; } .faqAccordionToggle { width: 36px; height: 36px; } .faqAnswerInner { padding-left: clamp(20px, 3vw, 28px); } .faqQuestionText { font-size: clamp(16px, 2vw, 18px); } .faqPremiumTitle { font-size: clamp(25px, 4.6vw, 34px); } }
@media (max-width: 480px) { .faqPremiumSection { padding: 50px 16px; } .faqQuestionWrapper { gap: 12px; } .faqQuestionIcon { width: 36px; height: 36px; min-width: 36px; } .faqQuestionIcon svg { width: 18px; height: 18px; } .faqQuestionText { font-size: 16px; line-height: 1.4; } .faqAccordionHeader { padding: 18px 16px; gap: 14px; } .faqAccordionToggle { width: 32px; height: 32px; min-width: 32px; } .faqAnswerInner { padding: 8px 16px 24px; } .faqAnswerInner p { font-size: 16px; line-height: 1.7; margin-bottom: 16px; } .faqPremiumSubtitle { font-size: 16px; } .faqEyebrow { padding: 7px 15px 7px 8px; } .faqEyebrowText { font-size: 12.5px; letter-spacing: 1.1px; } }
@media (max-width: 350px) { .faqPremiumTitle { font-size: 23px; } }
@media (prefers-reduced-motion: reduce) { .faqAccordionItem, .faqAccordionContent, .faqQuestionIcon, .faqAccordionToggle, .faqMoreButton, .faqMoreArrow { transition: none; } .faqAnimatedLink::after { animation: none; } }
