/* =========================
   FAQ PAGE
   ========================= */

.faq-page-modern{
  background:linear-gradient(180deg, #f4f8fc 0%, #f8fbfe 24%, #ffffff 100%);
}

.faq-hero-modern{
  position:relative;
  overflow:hidden;
  padding:96px 0 110px;
  background:linear-gradient(135deg, #0f2747 0%, #16375e 48%, #1f5ea6 100%);
  color:#fff;
}

.faq-hero-modern__bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 28%),
    radial-gradient(circle at bottom left, rgba(255,255,255,.08), transparent 24%);
  pointer-events:none;
}

.faq-hero-modern__content{
  position:relative;
  z-index:2;
  max-width:760px;
}

.faq-eyebrow{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.faq-hero-modern h1{
  margin:0 0 16px;
  font-size:clamp(2.4rem, 4vw, 4rem);
  line-height:1.04;
  color:#fff;
}

.faq-hero-modern p{
  margin:0;
  max-width:700px;
  color:rgba(255,255,255,.92);
  font-size:1.06rem;
  line-height:1.8;
}

.faq-overview-band{
  position:relative;
  margin-top:-54px;
  padding-bottom:18px;
  z-index:5;
}

.faq-overview-card{
  padding:30px 32px;
  border-radius:28px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(15,39,71,.08);
  box-shadow:0 24px 60px rgba(15,23,42,.08);
  backdrop-filter:blur(10px);
}

.faq-overview-copy{
  max-width:920px;
  margin-bottom:24px;
}

.faq-section-kicker{
  display:inline-block;
  margin-bottom:10px;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#1d5ea8;
}

.faq-overview-copy h2,
.faq-section-heading h2{
  margin:0 0 12px;
  font-size:clamp(1.7rem, 2.4vw, 2.35rem);
  line-height:1.15;
  color:#0f2747;
}

.faq-overview-copy p,
.faq-section-heading p{
  margin:0;
  color:#526072;
  font-size:1rem;
  line-height:1.8;
}

.faq-topic-nav{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.faq-topic-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  background:#fff;
  border:1px solid #d9e3ee;
  color:#173a63;
  text-decoration:none;
  font-weight:600;
  transition:all .22s ease;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}

.faq-topic-pill:hover,
.faq-topic-pill:focus{
  background:#173a63;
  border-color:#173a63;
  color:#fff;
  transform:translateY(-2px);
}

.faq-section-block{
  padding:28px 0;
}

.faq-section-shell{
  padding:30px;
  border-radius:28px;
  background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border:1px solid #e3ebf3;
  box-shadow:0 16px 42px rgba(15,23,42,.05);
}

.faq-section-heading{
  margin-bottom:22px;
  max-width:920px;
}

.faq-accordion{
  display:grid;
  gap:16px;
}

.faq-item{
  border:1px solid #dfe7f0;
  border-radius:20px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.faq-item:hover{
  transform:translateY(-2px);
  border-color:#d1ddea;
  box-shadow:0 16px 34px rgba(15,23,42,.08);
}

.faq-item[open]{
  border-color:#bfd3e8;
  box-shadow:0 18px 40px rgba(29,94,168,.10);
}

.faq-question{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px;
  cursor:pointer;
  list-style:none;
  color:#102a43;
  font-size:1.02rem;
  font-weight:600;
  line-height:1.55;
}

.faq-question::-webkit-details-marker{
  display:none;
}

.faq-question span:first-child{
  flex:1 1 auto;
}

.faq-icon{
  position:relative;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#f5f9fd;
  border:1px solid #d8e3ee;
}

.faq-icon::before,
.faq-icon::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:14px;
  height:2px;
  border-radius:2px;
  background:#1d5ea8;
  transform:translate(-50%, -50%);
  transition:all .2s ease;
}

.faq-icon::after{
  transform:translate(-50%, -50%) rotate(90deg);
}

.faq-item[open] .faq-icon{
  background:#1d5ea8;
  border-color:#1d5ea8;
}

.faq-item[open] .faq-icon::before,
.faq-item[open] .faq-icon::after{
  background:#fff;
}

.faq-item[open] .faq-icon::after{
  opacity:0;
}

.faq-answer{
  padding:0 24px 24px;
}

.faq-answer p{
  margin:0;
  color:#526072;
  font-size:.98rem;
  line-height:1.85;
  max-width:980px;
}

.faq-cta-modern{
  padding:34px 0 84px;
}

.faq-cta-modern__panel{
  display:grid;
  grid-template-columns:1.45fr .9fr;
  gap:24px;
  align-items:center;
  padding:34px 36px;
  border-radius:28px;
  background:linear-gradient(135deg, #0f2747 0%, #173a63 55%, #1d5ea8 100%);
  box-shadow:0 24px 56px rgba(15,39,71,.18);
}

.faq-cta-modern__copy h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(1.55rem, 2.2vw, 2rem);
  line-height:1.15;
}

.faq-cta-modern__copy p{
  margin:0;
  color:rgba(255,255,255,.9);
  line-height:1.8;
}

.faq-cta-modern__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.faq-cta-modern .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:150px;
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  transition:all .22s ease;
}

.faq-cta-modern .btn-primary{
  background:#fff;
  color:#12345b;
}

.faq-cta-modern .btn-primary:hover,
.faq-cta-modern .btn-primary:focus{
  background:#eef5fc;
  color:#12345b;
  transform:translateY(-2px);
}

.faq-cta-modern .btn-secondary{
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.34);
}

.faq-cta-modern .btn-secondary:hover,
.faq-cta-modern .btn-secondary:focus{
  background:rgba(255,255,255,.14);
  color:#fff;
  transform:translateY(-2px);
}
