.hk-faq { padding: 100px 0; background: #f7f7f7; }
.hk-faq__layout { display: grid; grid-template-columns: 272px minmax(0,1fr); gap: 60px; }
.hk-faq__label { display: block; margin-bottom: 20px; color: #c5a451; font-size: 12px; font-weight: 600; letter-spacing: .15em; }
.hk-faq h2 { font-size: 36px; font-weight: 600; line-height: 1.2; margin: 0; }
.hk-faq details { border-top: 1px solid #ccc9c1; }
.hk-faq details:last-child { border-bottom: 1px solid #ccc9c1; }
.hk-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; min-height: 76px; cursor: pointer; list-style: none; font-size: 16px; font-weight: 600; line-height: 1.45; }
.hk-faq summary::-webkit-details-marker { display: none; }
.hk-faq summary::after { content: '+'; flex: 0 0 28px; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #c9c6be; border-radius: 50%; font-size: 16px; }
.hk-faq details[open] summary::after { content: '×'; }
.hk-faq summary:focus-visible { outline: 3px solid #a88b3d; outline-offset: 4px; }
.hk-faq__answer { max-width: 740px; margin: 0; padding: 0 0 26px; font-size: 14px; color: #777; line-height: 1.8; }
@media(max-width:1023px) { .hk-faq__layout { grid-template-columns: 220px minmax(0,1fr); gap: 32px; } }
@media(max-width:767px) { .hk-faq { padding: 56px 0; } .hk-faq__layout { grid-template-columns: minmax(0,1fr); } .hk-faq h2 { font-size: 28px; } .hk-faq h2 br { display: none; } .hk-faq summary { font-size: 15px; gap: 16px; } }
