.page-faq{
  --faq-rail-w:244px;
  --faq-line:linear-gradient(90deg,var(--gold),var(--gold-deep));
  --faq-border:rgba(212,175,55,.28);
  background:var(--bg);
  color:var(--fg);
}
.page-faq .faq-top{padding-top:var(--space-lg)}
.page-faq .faq-top .breadcrumb{margin-bottom:var(--space-md)}
.page-faq .faq-top-grid{display:grid;gap:var(--space-lg);align-items:end}
.page-faq .faq-heading{position:relative;padding-top:var(--space-sm)}
.page-faq .faq-heading::before{content:"";display:block;width:76px;height:4px;background:var(--faq-line);margin-bottom:var(--space-sm)}
.page-faq .faq-kicker{margin:0 0 var(--space-xs);font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.page-faq .faq-top h1{margin:0 0 var(--space-sm);font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;line-height:1.15}
.page-faq .faq-lead{margin:0 0 var(--space-sm);max-width:64ch;font-size:1rem;line-height:var(--lh)}
.page-faq .faq-meta{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:0}
.page-faq .faq-meta-tag{display:inline-block;padding:5px 10px;background:var(--bg-panel);border:1px solid rgba(212,175,55,.4);font-family:var(--mono);font-size:12px;color:var(--gold-soft)}
.page-faq .faq-meta-tag.faq-meta-red{background:var(--red);border-color:var(--red);color:var(--fg-strong)}
.page-faq .faq-search{position:relative;padding:var(--space-md);background:var(--bg-deep);border:1px solid var(--faq-border)}
.page-faq .faq-search::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--faq-line)}
.page-faq .faq-search label{display:block;margin-bottom:10px;font-family:var(--serif);font-weight:700;font-size:14px;color:var(--gold-soft)}
.page-faq .faq-search-box{display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--bg-panel);border:1px solid rgba(212,175,55,.45);clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}
.page-faq .faq-search-box input{flex:1;min-width:0;padding:12px 0;background:transparent;border:0;color:var(--fg-strong);font-family:var(--sans);font-size:14px;outline:none}
.page-faq .faq-search-box input::placeholder{color:var(--gray)}
.page-faq .faq-search-key{color:var(--gold);font-size:22px;line-height:1}
.page-faq .faq-search-hint{margin:10px 0 0;font-size:12px;color:var(--fg-muted)}
.page-faq .faq-shell{margin-top:var(--space-lg)}
.page-faq .faq-rail{margin-bottom:var(--space-lg)}
.page-faq .faq-rail-inner{position:relative;padding:var(--space-md);background:var(--bg-panel);border:1px solid var(--faq-border);clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}
.page-faq .faq-rail-inner::after{content:"";position:absolute;right:6px;bottom:6px;width:18px;height:18px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);opacity:.7}
.page-faq .faq-rail-title{margin:0 0 var(--space-sm);font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--gold);text-transform:uppercase}
.page-faq .faq-rail-list{display:flex;gap:6px;margin:0 0 var(--space-md);padding:0;list-style:none;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.page-faq .faq-rail-list li{flex:0 0 auto;scroll-snap-align:start}
.page-faq .faq-rail-link{display:block;padding:8px 12px;border:1px solid transparent;white-space:nowrap;color:var(--fg);font-size:14px;text-decoration:none;transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease)}
.page-faq .faq-rail-link:hover{color:var(--gold);border-color:rgba(212,175,55,.5)}
.page-faq .faq-rail-status{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-sm);font-size:13px;color:var(--fg-muted)}
.page-faq .faq-rail .btn{margin-top:var(--space-sm)}
.page-faq .faq-content{min-width:0}
.page-faq .faq-section{padding:var(--space-xl) 0;border-top:1px solid rgba(212,175,55,.22);scroll-margin-top:var(--space-md)}
.page-faq .faq-content .faq-section:first-of-type{border-top:0;padding-top:0}
.page-faq .faq-section-head{position:relative;margin-bottom:var(--space-lg);padding-left:var(--space-md)}
.page-faq .faq-section-head::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:linear-gradient(180deg,var(--gold),var(--gold-deep))}
.page-faq .faq-section-no{margin:0 0 6px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--gold)}
.page-faq .faq-section-head h2{margin:0 0 var(--space-xs);font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.75rem);font-weight:800;line-height:1.2}
.page-faq .faq-section-desc{margin:0;max-width:64ch;color:var(--fg-muted);font-size:.95rem;line-height:var(--lh)}
.page-faq .faq-tree{display:grid;gap:var(--space-md);margin-bottom:var(--space-lg)}
.page-faq .faq-layer{position:relative;padding:var(--space-md);background:var(--bg-panel);border:1px solid rgba(212,175,55,.25);transition:border-color .3s var(--ease),transform .3s var(--ease)}
.page-faq .faq-layer:hover{border-color:var(--gold);transform:translateY(-3px)}
.page-faq .faq-layer-title{display:flex;align-items:center;gap:10px;margin:0 0 var(--space-sm);font-family:var(--serif);font-size:1.08rem}
.page-faq .faq-layer-num{padding:3px 8px;background:var(--bg-deep);border:1px solid rgba(212,175,55,.4);font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--gold)}
.page-faq .faq-layer ul{margin:0;padding:0;list-style:none}
.page-faq .faq-layer li{position:relative;padding:6px 0 6px 18px;border-bottom:1px dashed rgba(212,175,55,.16);color:var(--fg-muted);font-size:.92rem;line-height:var(--lh)}
.page-faq .faq-layer li:last-child{border-bottom:0}
.page-faq .faq-layer li::before{content:"▸";position:absolute;left:0;top:7px;color:var(--gold);font-size:12px}
.page-faq .faq-figure{margin:var(--space-lg) 0 0}
.page-faq .faq-figure img{display:block;max-width:100%;height:auto}
.page-faq .faq-figure figcaption{margin-top:var(--space-sm);color:var(--fg-muted);font-size:13px}
.page-faq .faq-rankboard{padding:var(--space-md);background:linear-gradient(rgba(212,175,55,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,55,.04) 1px,transparent 1px),var(--bg-deep);background-size:100% 44px,44px 100%,auto;border:1px solid rgba(212,175,55,.3)}
.page-faq .faq-rankboard-note{margin:0 0 6px;font-family:var(--mono);font-size:12px;color:var(--fg-muted)}
.page-faq .faq-rank{padding:var(--space-sm) 0}
.page-faq .faq-rank + .faq-rank{border-top:1px solid rgba(212,175,55,.15)}
.page-faq .faq-rank-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:10px}
.page-faq .faq-rank-top h3{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--serif);font-size:1.05rem}
.page-faq .faq-rank-stars{font-family:var(--mono);font-size:12px;font-weight:400;color:var(--gold-soft)}
.page-faq .faq-rank-current{font-family:var(--mono);font-size:12px;color:var(--gold);white-space:nowrap}
.page-faq .faq-rank-track{position:relative;height:10px;overflow:hidden;background:var(--bg-soft);border:1px solid rgba(212,175,55,.2)}
.page-faq .faq-rank-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--gold-deep),var(--gold),var(--gold-soft));box-shadow:0 0 12px rgba(212,175,55,.45)}
.page-faq .faq-rank.is-filled .faq-rank-fill{width:100%}
.page-faq .faq-rank.is-half .faq-rank-fill{width:66.6%}
.page-faq .faq-rank.is-start .faq-rank-fill{width:33.3%}
.page-faq .faq-rank.is-locked .faq-rank-fill{width:0;box-shadow:none}
.page-faq .faq-index-groups{display:grid;gap:var(--space-xl)}
.page-faq .faq-group{background:var(--bg-panel);border:1px solid rgba(212,175,55,.22)}
.page-faq .faq-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:var(--space-sm) var(--space-md);background:linear-gradient(90deg,rgba(212,175,55,.18),transparent);border-bottom:1px solid rgba(212,175,55,.22);font-family:var(--serif);font-size:1rem}
.page-faq .faq-group-count{padding:2px 7px;border:1px solid rgba(212,175,55,.4);font-family:var(--mono);font-size:12px;color:var(--gold)}
.page-faq .faq-item{border-bottom:1px dashed rgba(212,175,55,.16)}
.page-faq .faq-item:last-child{border-bottom:0}
.page-faq .faq-item[open]{background:rgba(212,175,55,.05)}
.page-faq .faq-item summary{position:relative;padding:14px 48px 14px var(--space-md);list-style:none;cursor:pointer;font-weight:600;font-size:.95rem;line-height:1.4;transition:color .2s}
.page-faq .faq-item summary::-webkit-details-marker{display:none}
.page-faq .faq-item summary:hover{color:var(--gold)}
.page-faq .faq-item summary::after{content:"+";position:absolute;right:var(--space-md);top:50%;display:grid;place-items:center;width:24px;height:24px;transform:translateY(-50%);border:1px solid rgba(212,175,55,.4);font-family:var(--mono);font-size:16px;line-height:1;color:var(--gold)}
.page-faq .faq-item[open] summary::after{content:"−";background:var(--gold);border-color:var(--gold);color:var(--bg-deep)}
.page-faq .faq-item-body{padding:0 var(--space-md) var(--space-sm)}
.page-faq .faq-item-body p{margin:0;color:var(--fg-muted);font-size:.9rem;line-height:var(--lh)}
.page-faq .faq-item-body a{color:var(--gold)}
.page-faq .faq-steps{display:grid;gap:var(--space-md);margin:0 0 var(--space-md);padding:0;list-style:none}
.page-faq .faq-step{position:relative;padding:var(--space-lg) var(--space-md) var(--space-md);background:var(--bg-soft);border:1px solid rgba(212,175,55,.25);clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}
.page-faq .faq-step-no{position:absolute;top:14px;right:16px;font-family:var(--mono);font-size:26px;font-weight:700;line-height:1;color:rgba(212,175,55,.4)}
.page-faq .faq-step h3{margin:0 0 8px;font-family:var(--serif);font-size:1.1rem}
.page-faq .faq-step p{margin:0;color:var(--fg-muted);font-size:.9rem;line-height:var(--lh)}
.page-faq .faq-deposit-note{padding:var(--space-sm) var(--space-md);background:var(--bg-panel);border:1px dashed rgba(212,175,55,.45);color:var(--fg-muted);font-size:14px}
.page-faq .faq-deposit-note a{color:var(--gold);font-weight:600;text-decoration:none}
.page-faq .faq-contact{position:relative;margin-top:var(--space-sm);overflow:hidden;border:1px solid rgba(212,175,55,.3);background:linear-gradient(135deg,rgba(212,175,55,.14),rgba(139,0,0,.12) 60%,transparent),var(--bg-panel)}
.page-faq .faq-contact::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--gold),var(--red))}
.page-faq .faq-contact-inner{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}
.page-faq .faq-contact h2{margin:0 0 6px;font-family:var(--serif);font-size:1.3rem}
.page-faq .faq-contact p{margin:0;color:var(--fg-muted);font-size:14px}
.page-faq a:focus-visible,.page-faq summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

@media (min-width:640px){
  .page-faq .faq-contact-inner{flex-direction:row;align-items:center;justify-content:space-between}
}
@media (min-width:760px){
  .page-faq .faq-steps{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:860px){
  .page-faq .faq-tree{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:960px){
  .page-faq .faq-top-grid{grid-template-columns:minmax(0,1fr) 340px}
  .page-faq .faq-shell{display:grid;grid-template-columns:var(--faq-rail-w) minmax(0,1fr);column-gap:var(--space-xl);align-items:start}
  .page-faq .faq-rail{position:sticky;top:var(--space-md);margin-bottom:0}
  .page-faq .faq-rail-list{flex-direction:column;gap:2px;overflow:visible;scroll-snap-type:none}
  .page-faq .faq-rail-list li{flex:none}
  .page-faq .faq-rail-link{white-space:normal;border-left:2px solid transparent;padding:10px 12px}
  .page-faq .faq-rail-link:hover{border-left-color:var(--gold);background:rgba(212,175,55,.08)}
  .page-faq .faq-index-groups{grid-template-columns:repeat(3,1fr);gap:var(--space-lg);align-items:start}
}
@media (prefers-reduced-motion:no-preference){
  .page-faq .faq-rank-fill{animation:faq-rank-grow .9s var(--ease) both}
  .page-faq .faq-rank.is-locked .faq-rank-fill{animation:none}
}
@keyframes faq-rank-grow{from{width:0}}
@media (prefers-reduced-motion:reduce){
  .page-faq .faq-rank-fill{animation:none}
  .page-faq .faq-layer,.page-faq .faq-step{transition:none}
}
