@layer components {
/* ─── FAQ section ──────────────────────────── */
.tm-section-faq{
  position:relative;
  z-index:0;
  padding:var(--space-8) 0;
  margin:var(--space-6) 0;
}
.tm-section-faq::before{
  content:'';
  position:absolute;
  top:0; bottom:0;
  left:calc(-50vw + 50%);
  width:100vw;
  background:var(--color-surface);
  z-index:-1;
}
.tm-section-faq__title{
  font-size:var(--text-h1);
  font-weight:700;
  margin-bottom:var(--space-4);
  max-width:var(--content-width);
}
.tm-section-faq__intro{
  font-size:var(--text-body);
  line-height:1.7;
  color:var(--color-ink-secondary);
  margin-bottom:var(--space-6);
  max-width:var(--content-width);
}
.tm-faq-list{
  max-width:var(--content-width);
}
.tm-faq-item{
  margin-bottom:var(--space-3);
  border:none;
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:0 2px 8px rgba(26,26,26,.06);
  background:var(--color-surface-alt);
}
.tm-faq-item[open]{
  box-shadow:0 4px 16px rgba(26,26,26,.08);
}
.tm-faq-item summary{
  padding:var(--space-4) var(--space-5);
  cursor:pointer;
  font-weight:600;
  font-size:var(--text-body);
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  -webkit-user-select:none;
  user-select:none;
  transition:color .15s;
}
.tm-faq-item summary::-webkit-details-marker{ display:none; }
.tm-faq-item summary::after{
  content:'+';
  font-size:22px;
  font-weight:400;
  color:var(--color-primary);
  transition:transform .25s ease-out;
  line-height:1;
  flex-shrink:0;
  margin-left:var(--space-4);
}
.tm-faq-item[open] summary::after{
  content:'−';
}
.tm-faq-answer{
  padding:0 var(--space-5) var(--space-5);
}
.tm-faq-answer p{
  font-size:var(--text-body);
  line-height:1.7;
  color:var(--color-ink-secondary);
  margin:0 0 var(--space-3);
}
.tm-faq-answer p:last-child{
  margin-bottom:0;
}
@media (max-width:767px){
  .tm-section-faq__title{
    font-size:1.375rem;
  }
}
}
