
.section{ padding: 80px 24px; }
.cardfaq{
  max-width:1400px;
  margin:0 auto;
  display:flex;
  align-items:flex-start;
  gap:64px;
  padding:56px 40px;
  border:1px solid oklch(0.185 0.020 50 / 0.22);
}
.intro{
  flex:0 0 380px;
  top:100px;
}
.intro .eyebrow{ margin-bottom:16px; }
.intro h2{
  font-family:var(--font-display);
  font-weight:700;
  font-size:44px;
  line-height:0.95;
  letter-spacing:-0.02em;
  color:var(--mesquite);
}
.intro .dot{ color:var(--chile); }
.intro p{
  margin-top:20px;
  font-size:15px;
  line-height:1.7;
  color:var(--mesquite-soft);
  max-width:34ch;
}
.slashes{ color:var(--chile); }


  .qlist{flex:1; min-width:0; display:flex; flex-direction:column; gap:14px;}
  .qitem{
    border:1px solid oklch(0.185 0.020 50 / 0.22);
    border-radius:4px;
    background:transparent;
    transition:border-color .25s ease, background .25s ease;
    overflow:hidden;
  }
  .qitem.open{
    background:var(--parchment-deep);
    border-color:oklch(0.185 0.020 50 / 0.35);
  }
  .qhead{
    all:unset; box-sizing:border-box; width:100%; cursor:pointer;
    display:flex; align-items:center; gap:16px; padding:20px 22px;
  }
  .qhead .idx{
    font-family:var(--font-mono); font-size:12.5px; letter-spacing:0.06em; color:var(--chile);
    flex:0 0 auto; min-width:22px;
  }
  .qhead .qtext{
    flex:1; font-family:var(--font-sans); font-weight:600; font-size:15.5px; color:var(--mesquite);
  }
  .qhead .chev{
    flex:0 0 auto; width:18px; height:18px; color:var(--mesquite-soft);
    transition:transform .3s ease, color .25s ease;
  }
  .qitem.open .qhead .chev{transform:rotate(180deg); color:var(--chile);}

  .qbody{max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.2,.7,.1,1);}
  .qitem.open .qbody{max-height:260px;}
  .qbody-inner{padding:0 22px 22px 58px;}
  .qbody-inner p{margin:0; font-size:14.5px; line-height:1.7; color:var(--mesquite-soft); max-width:56ch;}

  @media (max-width:820px){
    .cardfaq{flex-direction:column; padding:36px 24px; gap:36px;}
    .intro{flex:none;}
    .intro h2{font-size:30px;}
  }