/* ==========================================================================
   faqs.css — FAQs page (companion to style2.css)
   ========================================================================== */

/* ---- Shared nav active state ------------------------------------------- */
.nav__list a.is-current{color:#fff}
.nav__list a.is-current::after{width:100%}

/* ---- Page banner ------------------------------------------------------- */
.page-banner{
  position:relative;
  padding:120px 0 56px;
  background:#0d2b2b url("/wp-content/uploads/admin/2023/03/vision-hero.webp") center/cover no-repeat;
  color:#fff;isolation:isolate;
}
.page-banner::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(7,28,28,.55) 0%,rgba(7,28,28,.78) 100%);
}
.page-banner__title{
  color:#fff;font-size:clamp(28px,4vw,42px);
  font-weight:800;letter-spacing:-.02em;margin:0 0 10px;
}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:14px;color:rgba(255,255,255,.8)}
.breadcrumb a{color:rgba(255,255,255,.8)}
.breadcrumb a:hover{color:#fff}
.breadcrumb span{opacity:.6}

/* ---- Intro ------------------------------------------------------------- */
.faq-intro{max-width:720px;margin:0 auto 44px;text-align:center}
.faq-intro .eyebrow{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--teal);margin-bottom:14px;
}
.faq-intro h2{
  font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.02em;
  margin:0 0 16px;color:var(--ink);
}
.faq-intro p{font-size:16px;line-height:1.7;color:var(--muted);margin:0}

/* ---- Accordion --------------------------------------------------------- */
.faq-list{max-width:860px;margin:0 auto}
.faq-item{
  border:1px solid var(--line);border-radius:14px;background:#fff;
  margin-bottom:14px;overflow:hidden;transition:box-shadow .2s,border-color .2s;
}
.faq-item.is-open{border-color:var(--teal);box-shadow:0 10px 34px rgba(6,45,58,.08)}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:22px 26px;background:none;border:none;cursor:pointer;
  font-family:inherit;text-align:left;
  font-size:17px;font-weight:600;line-height:1.4;color:var(--ink);
}
.faq-q:hover{color:var(--teal)}
.faq-icon{
  flex:0 0 26px;width:26px;height:26px;position:relative;
  border-radius:50%;background:var(--teal);transition:transform .3s ease;
}
.faq-icon::before,.faq-icon::after{
  content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  background:#fff;border-radius:2px;
}
.faq-icon::before{width:12px;height:2px}
.faq-icon::after{width:2px;height:12px;transition:transform .3s ease,opacity .2s ease}
.faq-item.is-open .faq-icon{transform:rotate(180deg)}
.faq-item.is-open .faq-icon::after{transform:translate(-50%,-50%) scaleY(0);opacity:0}

.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a__inner{
  padding:2px 26px 26px;color:var(--muted);font-size:15.5px;line-height:1.75;
}
.faq-a__inner > *:first-child{margin-top:0}
.faq-a__inner p{margin:0 0 14px}
.faq-a__inner h3{
  font-size:15px;font-weight:700;color:var(--ink);margin:0 0 14px;
  text-transform:uppercase;letter-spacing:.04em;
}

/* ordered / bulleted answer lists */
.faq-steps{counter-reset:step;list-style:none;margin:0;padding:0}
.faq-steps li{
  position:relative;padding:0 0 16px 44px;
}
.faq-steps li:last-child{padding-bottom:0}
.faq-steps li::before{
  counter-increment:step;content:counter(step);
  position:absolute;left:0;top:0;
  width:30px;height:30px;border-radius:50%;
  background:var(--teal);color:#fff;font-size:13px;font-weight:700;
  display:grid;place-items:center;
}
.faq-bullets{list-style:none;margin:0;padding:0}
.faq-bullets li{
  position:relative;padding:0 0 12px 28px;
}
.faq-bullets li:last-child{padding-bottom:0}
.faq-bullets li::before{
  content:"";position:absolute;left:4px;top:9px;
  width:8px;height:8px;border-radius:50%;background:var(--teal);
}
/* fee / definition list */
.faq-fees{list-style:none;margin:0;padding:0}
.faq-fees li{
  padding:12px 0;border-bottom:1px solid var(--line);
}
.faq-fees li:last-child{border-bottom:none;padding-bottom:0}
.faq-fees strong{display:block;color:var(--ink);font-size:13px;letter-spacing:.04em;margin-bottom:3px}

.faq-note{
  margin-top:16px;padding:14px 18px;border-left:3px solid var(--teal);
  background:#f3f8f8;border-radius:0 10px 10px 0;font-size:14.5px;color:var(--ink);
}

/* ---- Contact CTA ------------------------------------------------------- */
.faq-cta{
  max-width:860px;margin:48px auto 0;text-align:center;
  background:var(--teal-dark, #06303a);color:#fff;
  border-radius:var(--radius);padding:48px 24px;
}
.faq-cta h2{color:#fff;font-size:clamp(22px,3vw,28px);font-weight:800;margin:0 0 10px}
.faq-cta p{color:rgba(255,255,255,.82);max-width:520px;margin:0 auto 22px;font-size:16px}
.faq-cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---- Responsive -------------------------------------------------------- */
@media (max-width:600px){
  .faq-q{padding:18px 18px;font-size:15.5px}
  .faq-a__inner{padding:2px 18px 22px}
}
