.question-hub { --qh-accent:#9a560c; }
.qh-topics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:24px; }
.qh-topics a { display:flex; gap:12px; align-items:center; padding:16px; border:1px solid var(--line); border-radius:18px; background:white; color:var(--ink); font-size:15px; font-weight:600; }
.qh-topics a:hover,.qh-topics a[aria-current="true"] { border-color:var(--orange); background:#fff8ed; }
.qh-topics .ri-icon { width:40px; height:40px; border-radius:12px; }
.qh-topics b { margin-left:auto; color:var(--qh-accent); font-size:15px; font-weight:500; }
.qh-group { background:#ffffff80; border:1px solid var(--line); border-radius:24px; padding:26px; margin-top:24px; scroll-margin-top:120px; }
.qh-group > header { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:22px; }
.qh-group h3 { margin:8px 0 0; font-size:26px; line-height:1.3; letter-spacing:-.03em; }
.qh-group > header a { flex:none; color:var(--qh-accent); font-size:15px; font-weight:600; }
.qh-group > header a span { margin-left:12px; }
.qh-questions { display:grid; gap:10px; }
.qh-questions details { border:1px solid var(--line); border-radius:16px; background:white; overflow:hidden; }
.qh-questions details[open] { border-color:#e6b36e; background:#fff6e7; }
.qh-questions summary { display:flex; align-items:center; gap:16px; padding:20px; cursor:pointer; list-style:none; }
.qh-questions summary::-webkit-details-marker { display:none; }
.qh-questions summary strong { font-size:16px; line-height:1.5; font-weight:600; }
.qh-question-icon { flex:none; width:30px; height:30px; border:1px solid #e9cba4; border-radius:10px; display:grid; place-items:center; color:var(--qh-accent); font-size:16px; }
.qh-expand { margin-left:auto; flex:none; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:var(--orange-soft); color:var(--qh-accent); font-size:23px; }
.qh-questions details[open] .qh-expand { transform:rotate(45deg); }
.qh-answer { padding:0 66px 22px; color:#4e4d47; font-size:16px; line-height:1.75; overflow-wrap:anywhere; }
.qh-answer p { margin:0 0 14px; }
.qh-answer p:last-child { margin-bottom:0; }
.qh-answer a { color:#955006; text-decoration:underline; text-underline-offset:3px; }
.qh-ask { padding:64px 0; scroll-margin-top:120px; }
.qh-ask-layout { display:grid; grid-template-columns:1fr 1.15fr; gap:64px; align-items:start; }
.qh-ask h2 { font-size:clamp(28px,3vw,42px); line-height:1.2; margin:16px 0 24px; }
.qh-ask p { font-size:16px; line-height:1.75; color:var(--muted); }
.qh-ask .qh-form-note { padding:20px; margin-top:28px; font-size:15px; background:var(--orange-soft); border:1px solid #ecd0aa; border-radius:18px; }
.qh-form { padding:28px; background:white; border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); }
.qh-form label { display:flex; flex-direction:column; gap:9px; font-size:15px; font-weight:600; margin-bottom:20px; }
.qh-form label > span { font-size:14px; font-weight:400; color:var(--muted); }
.qh-form :is(input:not([type=hidden]),select,textarea) { width:100%; min-width:0; font:inherit; font-size:16px; font-weight:400; border:1px solid #c9c8bf; border-radius:12px; padding:14px; background:var(--paper); color:var(--ink); }
.qh-form textarea { resize:vertical; min-height:150px; }
.qh-form button { width:100%; display:flex; justify-content:space-between; align-items:center; background:var(--orange); border:0; border-radius:14px; padding:18px 22px; font-size:17px; font-weight:700; color:var(--ink); cursor:pointer; }
.qh-form > p { font-size:14px; margin:16px 0 0; }
.qh-form .qh-notice { margin:0 0 20px; padding:18px; border:1px solid #bc6f21; border-radius:14px; background:#fff5e6; color:#7c450c; font-size:16px; }
.qh-form .qh-success { color:#245b34; border-color:#8ab597; background:#edf7ed; }
.qh-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.question-hub :is(summary,textarea):focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
@media(max-width:1000px) { .qh-topics { grid-template-columns:repeat(2,minmax(0,1fr)); } .qh-ask-layout { gap:28px; } }
@media(max-width:700px) {
 .qh-topics { gap:8px; } .qh-topics a { padding:12px; gap:10px; flex-wrap:wrap; } .qh-topics a > span:not(.ri-icon) { order:3; width:100%; font-size:14px; }
 .qh-group { padding:16px; scroll-margin-top:140px; } .qh-group h3 { font-size:23px; } .qh-group > header { flex-direction:column; align-items:flex-start; gap:12px; }
 .qh-questions summary { padding:16px 12px; gap:10px; } .qh-question-icon { display:none; } .qh-expand { width:26px; height:26px; }
 .qh-answer { padding:0 16px 20px; } .qh-ask { padding:36px 0; scroll-margin-top:140px; } .qh-ask-layout { grid-template-columns:1fr; gap:24px; }
 .qh-form { padding:20px; } .qh-form label { font-size:16px; } .qh-ask .qh-form-note { margin-top:16px; }
}
