.page-faq {
  --pf-bg: #f4f5f7; --pf-card: #ffffff; --pf-hero: #ececec;
  --pf-navy: #1e3a5f; --pf-text: #1a1d23; --pf-secondary: #5f6368; --pf-muted: #9aa0a6;
  --pf-green: #7cb518; --pf-green-d: #6a9e14; --pf-green-light: rgba(124,181,24,0.08);
  --pf-blue-light: rgba(30,58,95,0.06); --pf-border: #e2e5ea;
  --pf-shadow-sm: 0 1px 3px rgba(0,0,0,0.06); --pf-shadow-md: 0 4px 16px rgba(0,0,0,0.08);
  --pf-radius: 16px; --pf-radius-sm: 10px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  background: var(--pf-bg); color: var(--pf-text); -webkit-font-smoothing: antialiased;
}
.page-faq *, .page-faq *::before, .page-faq *::after { margin:0; padding:0; box-sizing:border-box; }
.page-faq .faq-hero { background:var(--pf-hero); padding:56px 40px 64px; position:relative; overflow:hidden; margin-left:calc(-50vw + 50%); margin-right:calc(-50vw + 50%); }
.page-faq .faq-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(30,58,95,0.03) 0%,transparent 50%),linear-gradient(225deg,rgba(124,181,24,0.04) 0%,transparent 50%); pointer-events:none; }
.page-faq .hero-inner { max-width:1200px; margin:0 auto; position:relative; z-index:1; text-align:center; animation:page-faq-fadeUp 0.6s ease forwards; }
.page-faq .faq-hero h1 { font-family:'Instrument Sans',sans-serif; font-size:clamp(28px,4.5vw,44px); font-weight:800; color:var(--pf-navy); line-height:1.15; margin-bottom:14px; font-style:italic; }
.page-faq .faq-hero h1 span { color:var(--pf-green); }
.page-faq .faq-hero p { font-size:16px; line-height:1.6; color:rgba(30,58,95,0.6); max-width:520px; margin:0 auto; }
.page-faq .faq-tabs-wrap { max-width:1200px; margin:-28px auto 0; padding:0 40px; position:relative; z-index:2; }
.page-faq .faq-tabs { background:var(--pf-card); border-radius:var(--pf-radius); box-shadow:var(--pf-shadow-md); padding:14px 20px; display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.page-faq .tab-btn { padding:10px 22px; border:1.5px solid var(--pf-border); border-radius:100px; background:transparent; font-family:inherit; font-size:13px; font-weight:600; color:var(--pf-secondary); cursor:pointer; transition:all 0.2s ease; white-space:nowrap; }
.page-faq .tab-btn:hover { border-color:var(--pf-text); color:var(--pf-text); }
.page-faq .tab-btn.active { background:var(--pf-navy); border-color:var(--pf-navy); color:#fff; }
.page-faq .faq-content { max-width:1200px; margin:0 auto; padding:40px 40px 80px; }
.page-faq .faq-category { margin-bottom:36px; display:none; }
.page-faq .faq-category.active { display:block; }
.page-faq .cat-heading { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.page-faq .cat-heading .cat-icon { width:40px; height:40px; border-radius:10px; background:var(--pf-navy); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.page-faq .cat-heading .cat-icon svg { width:20px; height:20px; color:#fff; }
.page-faq .cat-heading h2 { font-family:'Instrument Sans',sans-serif; font-size:22px; font-weight:700; color:var(--pf-navy); }
.page-faq .faq-item { background:var(--pf-card); border-radius:var(--pf-radius); border:1.5px solid var(--pf-border); margin-bottom:12px; overflow:hidden; transition:border-color 0.3s,box-shadow 0.3s; }
.page-faq .faq-item:hover { border-color:rgba(124,181,24,0.4); }
.page-faq .faq-item.open { border-color:var(--pf-green); box-shadow:var(--pf-shadow-sm); }
.page-faq .faq-question { width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; background:none; border:none; font-family:inherit; font-size:15px; font-weight:600; color:var(--pf-navy); cursor:pointer; text-align:left; line-height:1.4; transition:color 0.2s; }
.page-faq .faq-item.open .faq-question { color:var(--pf-green-d); }
.page-faq .faq-question .chevron { width:32px; height:32px; border-radius:50%; background:var(--pf-blue-light); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all 0.3s; }
.page-faq .faq-item.open .faq-question .chevron { background:var(--pf-green-light); transform:rotate(180deg); }
.page-faq .chevron svg { width:16px; height:16px; color:var(--pf-navy); transition:color 0.3s; }
.page-faq .faq-item.open .chevron svg { color:var(--pf-green-d); }
.page-faq .faq-answer { max-height:0; overflow:hidden; transition:max-height 0.35s ease,padding 0.35s ease; padding:0 24px; }
.page-faq .faq-item.open .faq-answer { max-height:1200px; padding:0 24px 24px; }
.page-faq .faq-answer p { font-size:14px; line-height:1.75; color:var(--pf-secondary); margin-bottom:10px; }
.page-faq .faq-answer p:last-child { margin-bottom:0; }
.page-faq .faq-answer strong { color:var(--pf-navy); }
.page-faq .faq-answer ul { list-style:none; margin:8px 0; padding:0; }
.page-faq .faq-answer ul li { font-size:14px; line-height:1.7; color:var(--pf-secondary); padding:3px 0 3px 20px; position:relative; }
.page-faq .faq-answer ul li::before { content:''; position:absolute; left:0; top:12px; width:6px; height:6px; border-radius:50%; background:var(--pf-green); }
.page-faq .highlight-box { padding:16px 20px; border-radius:var(--pf-radius-sm); background:var(--pf-green-light); border-left:4px solid var(--pf-green); margin-top:10px; }
.page-faq .highlight-box p { font-size:14px; color:var(--pf-secondary); margin:0; }
.page-faq .faq-cta { max-width:1200px; margin:0 auto; padding:0 40px 80px; }
.page-faq .cta-box { background:var(--pf-navy); border-radius:var(--pf-radius); padding:48px; text-align:center; position:relative; overflow:hidden; }
.page-faq .cta-box::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 20% 50%,rgba(124,181,24,0.12) 0%,transparent 60%),radial-gradient(ellipse at 80% 50%,rgba(255,255,255,0.04) 0%,transparent 60%); pointer-events:none; }
.page-faq .cta-box h3 { font-family:'Instrument Sans',sans-serif; font-size:26px; font-weight:700; color:#fff; margin-bottom:10px; position:relative; }
.page-faq .cta-box p { font-size:15px; color:rgba(255,255,255,0.6); margin-bottom:24px; position:relative; }
.page-faq .cta-btn { display:inline-flex; align-items:center; gap:8px; padding:14px 32px; background:var(--pf-green); color:#fff; font-family:inherit; font-size:15px; font-weight:700; border:none; border-radius:var(--pf-radius-sm); cursor:pointer; transition:all 0.25s; text-decoration:none; position:relative; }
.page-faq .cta-btn:hover { background:var(--pf-green-d); transform:translateY(-2px); box-shadow:0 6px 20px rgba(124,181,24,0.35); color:#fff; }
@keyframes page-faq-fadeUp { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@media screen and (max-width:768px) {
  .page-faq .faq-hero { padding:40px 24px 48px; }
  .page-faq .faq-tabs-wrap { padding:0 24px; }
  .page-faq .faq-tabs { padding:12px 14px; gap:6px; }
  .page-faq .tab-btn { padding:8px 16px; font-size:12px; }
  .page-faq .faq-content { padding:32px 24px 60px; }
  .page-faq .faq-question { padding:16px 18px; font-size:14px; }
  .page-faq .faq-answer { padding:0 18px; }
  .page-faq .faq-item.open .faq-answer { padding:0 18px 18px; }
  .page-faq .faq-cta { padding:0 24px 60px; }
  .page-faq .cta-box { padding:36px 24px; }
}
