body.icts-faq-body .content-surface{
  background:
    radial-gradient(circle at top right, rgba(32, 201, 151, .12), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(244, 248, 252, .98) 100%);
  border: 1px solid rgba(26, 54, 93, .14);
}

.icts-faq-page{
  display:flex;
  flex-direction:column;
  gap:1.35rem;
  animation:faq-fade-in .35s ease;
}

.faq-hero-panel,
.faq-shortcuts,
.faq-role-map,
.faq-topic-block,
.faq-side-card{
  border:1px solid rgba(26, 54, 93, .12);
  border-radius:1.35rem;
  box-shadow:0 20px 38px rgba(15, 23, 42, .08);
}

.faq-hero-panel{
  display:grid;
  grid-template-columns:minmax(0, 1.7fr) minmax(280px, .95fr);
  gap:1rem;
  padding:1.35rem;
  background:
    linear-gradient(135deg, rgba(16, 40, 71, .98) 0%, rgba(26, 54, 93, .95) 52%, rgba(16, 110, 133, .92) 100%);
  color:#fff;
  overflow:hidden;
  position:relative;
}

.faq-hero-panel::after{
  content:"";
  position:absolute;
  inset:auto -6% -30% auto;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 70%);
  pointer-events:none;
}

.faq-hero-copy,
.faq-hero-note{
  position:relative;
  z-index:1;
}

.faq-eyebrow,
.faq-section-kicker{
  margin:0 0 .3rem;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.faq-eyebrow{
  color:rgba(255, 255, 255, .76);
}

.faq-hero-copy h2{
  margin:0;
  font-size:clamp(1.7rem, 2vw + 1rem, 2.55rem);
  line-height:1.1;
  max-width:14ch;
  font-weight:900;
}

.faq-hero-lead{
  margin:.9rem 0 1.05rem;
  max-width:62ch;
  color:rgba(255, 255, 255, .88);
  font-size:1rem;
}

.faq-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
}

.faq-pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.48rem .78rem;
  border-radius:999px;
  border:1px solid rgba(255, 255, 255, .18);
  background:rgba(255, 255, 255, .1);
  color:#fff;
  font-size:.82rem;
  font-weight:700;
  backdrop-filter:blur(10px);
}

.faq-hero-note{
  align-self:stretch;
  padding:1rem 1rem 1rem 1.05rem;
  border-radius:1.1rem;
  background:rgba(255, 255, 255, .1);
  border:1px solid rgba(255, 255, 255, .14);
  backdrop-filter:blur(12px);
}

.faq-hero-note h3{
  margin:0 0 .7rem;
  font-size:1rem;
  font-weight:800;
}

.faq-bullet-list{
  display:flex;
  flex-direction:column;
  gap:.7rem;
  margin:0;
  padding:0 0 0 1rem;
  color:rgba(255, 255, 255, .88);
}

.faq-shortcuts,
.faq-role-map,
.faq-topic-block,
.faq-side-card{
  background:linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(248, 250, 252, .98) 100%);
}

.faq-shortcuts,
.faq-role-map{
  padding:1.15rem 1.2rem 1.25rem;
}

.faq-section-header,
.faq-topic-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.95rem;
}

.faq-section-header h3,
.faq-topic-header h3{
  margin:0;
  color:var(--text-primary);
  font-size:1.2rem;
  font-weight:900;
}

.faq-section-kicker{
  color:#31598a;
}

.faq-shortcuts-grid,
.faq-role-grid{
  display:grid;
  gap:.85rem;
}

.faq-shortcuts-grid{
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
}

.faq-shortcut-card{
  display:flex;
  flex-direction:column;
  gap:.55rem;
  min-height:172px;
  padding:1rem;
  border-radius:1rem;
  border:1px solid rgba(26, 54, 93, .12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(241, 245, 249, .95) 100%);
  box-shadow:0 14px 28px rgba(15, 23, 42, .06);
  text-decoration:none;
  color:var(--text-primary);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.faq-shortcut-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 30px rgba(15, 23, 42, .12);
  border-color:rgba(26, 54, 93, .24);
}

.faq-shortcut-card i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.65rem;
  height:2.65rem;
  border-radius:.9rem;
  background:rgba(26, 54, 93, .08);
  color:#214b7d;
  font-size:1.2rem;
}

.faq-shortcut-card strong{
  font-size:1rem;
  font-weight:800;
}

.faq-shortcut-card span{
  color:var(--text-secondary);
  font-size:.9rem;
}

.faq-shortcut-card--primary{
  background:
    radial-gradient(circle at top right, rgba(32, 201, 151, .2), transparent 38%),
    linear-gradient(135deg, rgba(22, 51, 87, .98) 0%, rgba(21, 86, 124, .96) 100%);
  border-color:rgba(16, 110, 133, .24);
  color:#fff;
}

.faq-shortcut-card--primary i{
  background:rgba(255, 255, 255, .14);
  color:#fff;
}

.faq-shortcut-card--primary span{
  color:rgba(255, 255, 255, .82);
}

.faq-role-grid{
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
}

.faq-role-card{
  padding:1rem;
  border-radius:1rem;
  border:1px solid rgba(26, 54, 93, .1);
  background:
    linear-gradient(180deg, rgba(245, 248, 252, 1) 0%, rgba(255, 255, 255, .98) 100%);
}

.faq-role-icon{
  width:2.8rem;
  height:2.8rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:.9rem;
  background:linear-gradient(135deg, rgba(26, 54, 93, .12) 0%, rgba(32, 201, 151, .14) 100%);
  color:#1f4f83;
  font-size:1.2rem;
}

.faq-role-card h4{
  margin:.85rem 0 .35rem;
  font-size:1rem;
  font-weight:800;
  color:var(--text-primary);
}

.faq-role-card p{
  margin:0;
  font-size:.9rem;
  color:var(--text-secondary);
}

.faq-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.65fr) minmax(260px, .9fr);
  gap:1rem;
}

.faq-main-column,
.faq-side-column{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.faq-topic-block{
  padding:1.15rem 1.2rem 1.25rem;
}

.faq-item{
  border:1px solid rgba(26, 54, 93, .1);
  border-radius:1rem;
  background:#fff;
  box-shadow:0 10px 24px rgba(15, 23, 42, .05);
}

.faq-item + .faq-item{
  margin-top:.8rem;
}

.faq-item summary{
  list-style:none;
  cursor:pointer;
  position:relative;
  padding:1rem 3.2rem 1rem 1rem;
  font-size:.96rem;
  font-weight:800;
  color:var(--text-primary);
}

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

.faq-item summary::after{
  content:"+";
  position:absolute;
  right:1rem;
  top:50%;
  transform:translateY(-50%);
  width:1.9rem;
  height:1.9rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(26, 54, 93, .08);
  color:#1f4f83;
  font-size:1.1rem;
  font-weight:700;
}

.faq-item[open] summary{
  border-bottom:1px solid rgba(26, 54, 93, .1);
}

.faq-item[open] summary::after{
  content:"-";
}

.faq-answer{
  padding:1rem;
}

.faq-answer p{
  margin:0;
  color:var(--text-secondary);
  font-size:.92rem;
}

.faq-answer p + p{
  margin-top:.65rem;
}

.faq-checklist{
  display:grid;
  gap:.8rem;
}

.faq-check-item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.8rem;
  align-items:start;
  padding:.9rem 1rem;
  border-radius:1rem;
  border:1px solid rgba(26, 54, 93, .1);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(242, 249, 247, .9) 100%);
}

.faq-check-icon{
  width:2rem;
  height:2rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(22, 163, 74, .12);
  color:#15803d;
  font-size:1rem;
}

.faq-check-item h4{
  margin:0;
  color:var(--text-primary);
  font-size:.96rem;
  font-weight:800;
}

.faq-check-item p{
  margin:.28rem 0 0;
  color:var(--text-secondary);
  font-size:.9rem;
}

.faq-side-card{
  padding:1rem 1rem 1.05rem;
}

.faq-side-card h3{
  margin:0;
  color:var(--text-primary);
  font-size:1.04rem;
  font-weight:850;
}

.faq-side-card p{
  margin:.55rem 0 0;
  color:var(--text-secondary);
  font-size:.92rem;
}

.faq-side-card--accent{
  background:
    radial-gradient(circle at top right, rgba(32, 201, 151, .12), transparent 34%),
    linear-gradient(180deg, rgba(239, 246, 255, 1) 0%, rgba(255, 255, 255, .98) 100%);
}

.faq-steps{
  margin:.7rem 0 0;
  padding-left:1.15rem;
  color:var(--text-secondary);
}

.faq-steps li + li{
  margin-top:.55rem;
}

.faq-inline-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-top:.9rem;
  color:#1a4b7c;
  font-weight:800;
  text-decoration:none;
}

.faq-inline-link:hover{
  color:#10385f;
}

@media (max-width: 1100px){
  .faq-hero-panel,
  .faq-layout{
    grid-template-columns:1fr;
  }

  .faq-hero-copy h2{
    max-width:none;
  }
}

@media (max-width: 760px){
  .icts-faq-page{
    gap:1rem;
  }

  .faq-hero-panel,
  .faq-shortcuts,
  .faq-role-map,
  .faq-topic-block,
  .faq-side-card{
    border-radius:1.05rem;
  }

  .faq-hero-panel,
  .faq-shortcuts,
  .faq-role-map,
  .faq-topic-block,
  .faq-side-card{
    padding:1rem;
  }

  .faq-pill-row{
    gap:.45rem;
  }

  .faq-pill{
    width:100%;
    justify-content:center;
  }

  .faq-shortcuts-grid,
  .faq-role-grid{
    grid-template-columns:1fr;
  }

  .faq-shortcut-card{
    min-height:auto;
  }

  .faq-item summary{
    padding-right:2.8rem;
  }
}

@keyframes faq-fade-in{
  from{
    opacity:0;
    transform:translateY(10px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}
