.faq-section { margin:56px auto; max-width:1180px; padding:0 24px; scroll-margin-top:94px; }
.faq-heading { align-items:flex-start; border-bottom:1px solid #e5dce8; display:block; margin-bottom:24px; padding-bottom:22px; }
.faq-heading .step-label { color:var(--pink); letter-spacing:.18em; margin-bottom:9px; }
.faq-heading h2 { color:#301737; font-size:clamp(29px,2.1vw,32px); font-weight:800; letter-spacing:-.035em; line-height:1.04; margin:0; }
.faq-heading>p { color:#655b69; font-size:12.5px; font-weight:600; line-height:1.65; margin:11px 0 0; max-width:650px; }
.faq-grid { display:grid; gap:11px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.faq-grid details { background:#fff; border:1px solid #e5dce8; border-radius:14px; box-shadow:0 10px 28px rgba(58,22,70,.04); min-width:0; overflow:hidden; }
.faq-grid summary { align-items:center; color:#3a2d3f; cursor:pointer; display:flex; font-size:12.5px; font-weight:850; gap:14px; justify-content:space-between; min-height:61px; padding:14px 16px; }
.faq-grid summary::-webkit-details-marker { display:none; }
.faq-grid summary::marker { content:""; }
.faq-grid summary span { align-items:center; background:#f4edf6; border-radius:50%; color:#6e2577; display:flex; flex:0 0 auto; font-size:15px; height:28px; justify-content:center; transition:transform .18s; width:28px; }
.faq-grid details[open] summary { background:#faf6fb; color:#591862; }
.faq-grid details[open] summary span { transform:rotate(45deg); }
.faq-grid details p { border-top:1px solid #eee6f0; color:#625967; font-size:11.5px; font-weight:600; line-height:1.65; margin:0; padding:14px 16px 16px; }
.home-guides { margin:0 auto 56px; max-width:1180px; padding:0 24px; }
.home-guides-heading { align-items:end; border-bottom:1px solid #e5dce8; display:flex; gap:35px; justify-content:space-between; margin-bottom:18px; padding-bottom:18px; }
.home-guides-heading .step-label { color:var(--pink); letter-spacing:.18em; margin-bottom:8px; }
.home-guides-heading h2 { color:#301737; font-size:27px; font-weight:800; letter-spacing:-.035em; margin:0; }
.home-guides-heading>p { color:#655b69; font-size:11.5px; font-weight:600; line-height:1.6; margin:0; max-width:390px; }
.home-guides nav { display:grid; gap:10px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.home-guides a { background:#fff; border:1px solid #e5dce8; border-radius:13px; color:#302434; min-width:0; padding:15px 16px; text-decoration:none; transition:border-color .18s,box-shadow .18s,transform .18s; }
.home-guides a:hover { border-color:#cbaed1; box-shadow:0 10px 24px rgba(58,22,70,.07); transform:translateY(-1px); }
.home-guides a:focus-visible { outline:3px solid rgba(213,0,77,.24); outline-offset:3px; }
.home-guides a span,.home-guides a strong,.home-guides a small { display:block; }
.home-guides a span { color:#a80b47; font-size:8.5px; font-weight:900; letter-spacing:.12em; }
.home-guides a strong { font-size:12px; font-weight:850; line-height:1.35; margin-top:7px; }
.home-guides a small { color:#6b606f; font-size:10px; font-weight:600; line-height:1.5; margin-top:5px; }

@media (max-width:900px) {
  .faq-heading,.home-guides-heading { align-items:flex-start; flex-direction:column; gap:8px; }
  .home-guides nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:650px) {
  .faq-section { margin:28px auto; padding:0 14px; }
  .faq-heading h2 { font-size:23px; }
  .faq-grid { grid-template-columns:1fr; }
  .faq-grid summary { min-height:58px; }
  .home-guides { margin-bottom:38px; padding:0 14px; }
  .home-guides nav { grid-template-columns:1fr; }
  .home-guides a { min-height:44px; }
  .home-guides-heading h2 { font-size:24px; }
}
