:root {
  --faq-radius:14px;
  --faq-border:1px solid #e4e7eb;
  --faq-bg:#ffffff;
  --faq-bg-alt:#f9fafb;
  --faq-text:#222;
  --faq-muted:#556070;
  --faq-accent: #1d4ed8;
  --faq-focus: 0 0 0 3px rgba(29,78,216,.35);
  --faq-shadow-open:0 4px 18px -4px rgba(0,0,0,.08),0 2px 6px -1px rgba(0,0,0,.04);
  --faq-transition: 160ms cubic-bezier(.4,0,.2,1);
}

#faq {

  /* background removed per request to blend with page */
  background:transparent;
}
#faq .eyebrow { 
  text-transform:uppercase;
  font-size:.7rem;
  letter-spacing:.12em;
  font-weight:600;
  color:var(--faq-accent);
  margin:0 0 .5rem;
}
#faq h2 { 
  font-size:2rem; 
  line-height:1.15; 
  margin:0 0 2.25rem; 
  font-weight:700; 
  color:var(--faq-text);
}
.faq-accordion { 
  /* Reduced 20% from 940px -> 752px per request */
  max-width:752px; 
  margin:0 auto; 
  list-style:none; 
  padding:0; 
  display:flex; 
  flex-direction:column; 
  gap:14px; 
}
.faq-item { 
  background:var(--faq-bg); 
  border:var(--faq-border); 
  border-radius:var(--faq-radius); 
  overflow:hidden; 
  position:relative; 
}
.faq-item[open] { 
  box-shadow:var(--faq-shadow-open); 
  border-color:#d5dae0; 
}
.faq-item h3 { 
  margin:0; 
  font-size:1rem; 
  font-weight:600; 
}
.faq-question { 
  all:unset; 
  box-sizing:border-box; 
  display:flex; 
  align-items:center; 
  justify-content:space-between; 
  gap:1rem; 
  width:100%; 
  cursor:pointer; 
  padding:18px 22px; 
  line-height:1.35; 
  color:var(--faq-text); 
  font-weight:500; 
  font-size:1rem; 
}
.faq-question:focus-visible { 
  outline:var(--faq-focus); 
  border-radius:calc(var(--faq-radius) - 2px); 
}
.faq-question:hover { background:#f3f5f7; }
.faq-item[open] .faq-question { background:#eef2f7; }
.faq-icon { 
  flex:0 0 auto; 
  width:16px; 
  height:16px; 
  position:relative; 
}
.faq-icon:before, .faq-icon:after { 
  content:""; 
  position:absolute; 
  top:50%; 
  left:50%; 
  width:14px; 
  height:2px; 
  background:#66707b; 
  transform:translate(-50%,-50%); 
  transition:var(--faq-transition); 
}
.faq-icon:after { transform:translate(-50%,-50%) rotate(90deg); }
.faq-item[open] .faq-icon:after { transform:translate(-50%,-50%) rotate(0deg); }
.faq-answer-wrapper { 
  max-height:0; 
  overflow:hidden; 
  transition:max-height var(--faq-transition); 
}
@media (prefers-reduced-motion: reduce){
  .faq-answer-wrapper { transition:none; }
}
.faq-item[open] .faq-answer-wrapper { 
  max-height:400px; 
}
.faq-answer { 
  padding:0 22px 22px; 
  font-size:.95rem; 
  line-height:1.5; 
  color:var(--faq-muted); 
}
.faq-answer p { margin:.6rem 0 .9rem; }
.faq-answer a { color:var(--faq-accent); text-decoration:none; }
.faq-answer a:hover, .faq-answer a:focus { text-decoration:underline; }

/* Mobile multi-open behaviour spacing remains natural */
@media (max-width: 780px){
  .faq-accordion { gap:12px; }
  .faq-question { padding:16px 18px; }
  .faq-answer { padding:0 18px 18px; }
}
