/* ═══════════════════════════════════════════════════════════
   FAQ PAGE — faq.css
   Premium glass-morphism accordion. Builds on contact.css hero/cta.
   ═══════════════════════════════════════════════════════════ */

/* ── Hero action buttons (reuse contact hero styling) ── */
.faq-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem;
  justify-content: center;
  margin-top: 2rem;
}
.faq-hero__ghost {
  --ghost-fg: #dbe9ff;
  color: #eaf2ff;
  border: 1.5px solid rgba(140, 190, 255, .45);
  background: rgba(90, 150, 240, .12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.faq-hero__ghost:hover {
  background: rgba(120, 175, 255, .22);
  border-color: rgba(170, 210, 255, .7);
}

/* ── Main FAQ section ── */
.faq-main {
  position: relative;
  padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(3rem, 6vw, 5rem);
  background: linear-gradient(180deg, #f6f9ff 0%, #eef4fc 45%, #f6f9ff 100%);
}
.faq-main::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(120% 50% at 50% 0%, rgba(29, 92, 181, .06), transparent 60%);
}
.faq-shell {
  position: relative;
  z-index: 1;
  max-width: 860px;
  margin: 0 auto;
  display: grid;
  gap: 1.1rem;
}

/* ── Section (collapsible group) ── */
.faq-section {
  background: linear-gradient(160deg, rgba(255, 255, 255, .92) 0%, rgba(248, 250, 255, .78) 100%);
  border: 1px solid rgba(180, 205, 255, .42);
  border-radius: 20px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 6px 24px rgba(10, 31, 63, .05);
  overflow: hidden;
  transition: box-shadow .35s ease, border-color .35s ease;
}
.faq-section.is-open {
  border-color: rgba(29, 92, 181, .35);
  box-shadow: 0 14px 44px rgba(10, 31, 63, .1);
}

/* Section header */
.faq-section__header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(1.1rem, 2.4vw, 1.5rem) clamp(1.25rem, 3vw, 1.9rem);
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: #0A1F3F;
  transition: background .25s ease;
}
.faq-section__header:hover { background: rgba(29, 92, 181, .04); }
.faq-section__header:focus-visible {
  outline: 2px solid #1D5CB5;
  outline-offset: -3px;
}
.faq-section__title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: clamp(1.3rem, 2.6vw, 1.7rem);
  line-height: 1.2;
  color: #1D5CB5;
}
.faq-section__chevron {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #1D5CB5;
  background: rgba(29, 92, 181, .08);
  border: 1px solid rgba(29, 92, 181, .16);
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), background .25s ease, color .25s ease;
}
.faq-section__chevron svg { width: 18px; height: 18px; }
.faq-section.is-open .faq-section__chevron {
  transform: rotate(180deg);
  background: #1D5CB5;
  color: #fff;
}

/* Section panel (animated height) */
.faq-section__panel {
  overflow: hidden;
  height: 0;
  transition: height .42s cubic-bezier(.16, 1, .3, 1);
}
.faq-section__panel[hidden] {
  display: block; /* override default to allow height animation */
}
.faq-section__panel-inner {
  padding: 0 clamp(1.25rem, 3vw, 1.9rem) clamp(.6rem, 1.5vw, 1rem);
  display: grid;
  gap: .55rem;
}

/* ── Item (single question) ── */
.faq-item {
  border-top: 1px solid rgba(29, 92, 181, .12);
}
.faq-item:first-child { border-top: 0; }

.faq-item__q {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.05rem .2rem;
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: clamp(.98rem, 1.8vw, 1.06rem);
  color: #142a4d;
  transition: color .25s ease;
}
.faq-item__q:hover { color: #1D5CB5; }
.faq-item__q:focus-visible {
  outline: 2px solid #1D5CB5;
  outline-offset: 2px;
  border-radius: 8px;
}
.faq-item__q-text { line-height: 1.45; }
.faq-item.is-open .faq-item__q { color: #142a4d; }

/* Plus / minus icon */
.faq-item__icon {
  position: relative;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  margin-top: .15rem;
}
.faq-item__icon::before,
.faq-item__icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  color: #1D5CB5;
  transform: translate(-50%, -50%);
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), opacity .3s ease;
}
.faq-item__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-item.is-open .faq-item__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
  opacity: 0;
}

/* Answer panel (animated height) */
.faq-item__a {
  overflow: hidden;
  height: 0;
  transition: height .38s cubic-bezier(.16, 1, .3, 1);
}
.faq-item__a[hidden] { display: block; }
.faq-item__a-inner {
  padding: 0 .2rem 1.15rem;
  max-width: 64ch;
}
.faq-item__a-inner p {
  margin: 0 0 .8rem;
  font-size: .96rem;
  line-height: 1.7;
  color: #475569;
}
.faq-item__a-inner p:last-child { margin-bottom: 0; }

/* ── CTA action buttons ── */
.faq-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem;
  justify-content: center;
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .faq-section__panel,
  .faq-item__a,
  .faq-section__chevron,
  .faq-item__icon::before,
  .faq-item__icon::after {
    transition: none;
  }
}

/* ── Responsive ── */
@media (max-width: 540px) {
  .ct-hero__title { font-size: 1.9rem; }
  .faq-hero__actions .btn,
  .faq-cta__actions .btn { width: 100%; justify-content: center; }
  .faq-section__title { font-size: 1.2rem; }
}

/* ── Why Work With Us section (duplicated from About page) ── */
.wwu-section--light {
  color: #0A1F3F;
  background:
    radial-gradient(980px 320px at 10% 110%, rgba(37, 111, 236, 0.1), transparent 72%),
    radial-gradient(1100px 330px at 85% -10%, rgba(35, 102, 214, 0.12), transparent 70%),
    linear-gradient(180deg, #f3f6fb 0%, #edf2fb 100%);
}
.wwu-section--light::before { opacity: 0.22; }
.wwu-section--light .wwu-orb { opacity: 0.2; }
.wwu-section--light .wwu-kicker {
  color: #1D5CB5;
  background: rgba(29, 92, 181, 0.08);
  border: 1px solid rgba(29, 92, 181, 0.18);
}
.wwu-section--light .wwu-title { color: #0A1F3F; }
.wwu-section--light .wwu-title em { color: #1D5CB5; text-shadow: none; }
.wwu-section--light .wwu-desc { color: #3a4a5c; }
/* ghost button readable on the light backdrop */
.wwu-section--light .btn.btn--ghost {
  background: rgba(29, 92, 181, 0.06);
  color: #1D5CB5;
  border: 1px solid rgba(29, 92, 181, 0.3);
}
.wwu-section--light .btn.btn--ghost:hover {
  background: rgba(29, 92, 181, 0.12);
  border-color: rgba(29, 92, 181, 0.5);
}

/* (c) feature pills — mirror the Standard/Premium package hero pills */
.wwu-pills--feature { gap: 0.8rem 1rem; }
.wwu-feature-pill {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(248, 249, 253, 0.95));
  border-radius: 16px;
  padding: 0.62rem 1.05rem;
  box-shadow: 0 10px 30px rgba(10, 31, 63, 0.12), 0 0 0 1px rgba(29, 92, 181, 0.08);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
}
.wwu-feature-pill:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(10, 31, 63, 0.18), 0 0 0 1px rgba(29, 92, 181, 0.14), 0 0 24px rgba(29, 92, 181, 0.1);
}
.wwu-feature-pill svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  color: #1D5CB5;
  transition: transform 0.3s ease;
}
.wwu-feature-pill:hover svg { transform: scale(1.12) rotate(-4deg); }
.wwu-feature-pill .pill-label {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  color: #0A1F3F;
  letter-spacing: 0.01em;
  line-height: 1.2;
}
.wwu-feature-pill .pill-desc {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 0.7rem;
  color: #5a6b80;
  line-height: 1.3;
}
