/* ═══ tokens ═══ */
:root{
  --navy:#16305c; --navy-d:#0f2244; --navy-l:#1e3f75;
  --gold:#c9962e; --gold-l:#e8b545; --gold-bg:#fdf8ec;
  --paper:#faf9f7; --card:#fff;
  --ink:#182338; --ink-2:#5a6478; --ink-3:#98a0b0;
  --line:#e6e4df; --line-2:#f2f0ec;
  --sh-1:0 1px 2px rgba(22,48,92,.05);
  --sh-2:0 2px 8px rgba(22,48,92,.07);
  --sh-3:0 12px 32px rgba(22,48,92,.10);
  --r:10px; --r-lg:16px;
  --ff:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  --ez:cubic-bezier(.32,.72,0,1);
  --nav-h:62px;
  --nav-h-sm:56px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{font-family:var(--ff);font-size:16px;line-height:1.65;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
button,input{font-family:inherit}
button{cursor:pointer;border:none;background:none;color:inherit}
a{color:inherit;text-decoration:none}

/* ═══ buttons ═══ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 22px;border-radius:6px;background:var(--navy);color:#fff;font-size:.86rem;font-weight:600;letter-spacing:.02em;transition:background .2s var(--ez),transform .2s var(--ez)}
.btn:hover{background:var(--navy-l);transform:translateY(-1px)}
.btn-sm{padding:8px 17px;font-size:.79rem}
.btn-block{width:100%;margin-top:12px}

/* ═══ nav ═══ */
.nav{position:sticky;top:0;z-index:80;background:rgba(250,249,247,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .25s,background .25s}
.nav.stuck{border-bottom-color:var(--line);background:rgba(250,249,247,.96)}
.nav-in{max-width:1180px;margin:0 auto;padding:0 32px;height:62px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{width:34px;height:34px;flex-shrink:0;border-radius:7px;background:var(--navy);color:var(--gold-l);display:grid;place-items:center;font-size:.96rem;font-weight:700}
.brand-text{display:flex;flex-direction:column;font-size:.93rem;font-weight:650;line-height:1.25}
.brand-text i{font-style:normal;font-size:.62rem;font-weight:400;color:var(--ink-3);letter-spacing:.09em;text-transform:uppercase}

/* ═══ hero ═══ */
.hero{position:relative;min-height:480px;display:flex;align-items:center;overflow:hidden;background:var(--navy-d)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(15,34,68,.82) 0%,rgba(15,34,68,.5) 42%,rgba(15,34,68,.18) 72%,rgba(15,34,68,.06) 100%)}
.hero-in{position:relative;max-width:1180px;width:100%;margin:0 auto;padding:76px 32px 84px;color:#fff}
.eyebrow{display:inline-block;padding:5px 13px;border:1px solid rgba(232,181,69,.4);border-radius:3px;color:var(--gold-l);font-size:.7rem;font-weight:600;letter-spacing:.14em;margin-bottom:24px}
.hero h1{font-size:clamp(2.1rem,4.4vw,3.35rem);font-weight:750;line-height:1.16;letter-spacing:-.022em;margin-bottom:18px}
.hero-lede{font-size:.95rem;line-height:1.85;color:rgba(255,255,255,.7);margin-bottom:34px;max-width:460px}

.finder{display:flex;align-items:center;gap:11px;max-width:530px;padding:15px 20px;border-radius:8px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.17);backdrop-filter:blur(8px);transition:border-color .2s,background .2s}
.finder:focus-within{border-color:var(--gold);background:rgba(255,255,255,.16)}
.finder svg{flex-shrink:0;color:rgba(255,255,255,.5)}
.finder input{flex:1;min-width:0;background:none;border:none;outline:none;color:#fff;font-size:.92rem}
.finder input::placeholder{color:rgba(255,255,255,.42)}
.finder button{color:rgba(255,255,255,.55);font-size:.95rem;padding:2px 5px;flex-shrink:0}
.finder button:hover{color:#fff}

.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chipbtn{display:inline-flex;align-items:center;gap:8px;padding:9px 17px 9px 9px;border-radius:40px;background:var(--gold);color:var(--navy-d);font-size:.82rem;font-weight:650;transition:transform .2s var(--ez),background .2s}
.chipbtn:hover{background:var(--gold-l);transform:translateY(-1px)}
.chipbtn img{width:25px;height:25px;border-radius:50%;object-fit:cover;object-position:center 22%}
.chipbtn-ghost{padding:9px 17px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.9);font-weight:500}
.chipbtn-ghost:hover{background:rgba(255,255,255,.15)}

/* ═══ shell ═══ */
.shell{max-width:1180px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:236px 1fr;gap:52px;align-items:start}

/* ═══ rail ═══ */
.rail{padding-top:48px}
.rail-stick{position:sticky;top:88px}
.rail-cap{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:13px}
.rail-list{display:flex;flex-direction:column;gap:1px;margin-bottom:26px}
.rail-btn{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;border-radius:6px;font-size:.85rem;color:var(--ink-2);text-align:left;transition:background .16s,color .16s}
.rail-btn:hover{background:var(--line-2);color:var(--ink)}
.rail-btn.on{background:var(--navy);color:#fff;font-weight:600}
.rail-btn .ico{font-size:.95rem;line-height:1}
.rail-btn .n{margin-left:auto;font-size:.7rem;opacity:.5;font-variant-numeric:tabular-nums}

.rail-card{padding:20px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);text-align:center}
.rail-card img{width:100%;max-width:132px;height:auto;border-radius:8px;margin:0 auto 11px;display:block}
.rail-card b{display:block;font-size:.88rem;margin-bottom:3px}
.rail-card span{display:block;font-size:.72rem;color:var(--ink-3);line-height:1.55}

/* ═══ body ═══ */
.body{padding:48px 0 88px;min-width:0}
.block{margin-bottom:60px}
.block:last-child{margin-bottom:0}
.block-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:15px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.block-head h2{font-size:1.42rem;font-weight:700;letter-spacing:-.012em}
.tally{font-size:.79rem;color:var(--ink-3)}
.tally b{color:var(--navy);font-weight:650}

/* ═══ pin ═══ */
.pin{padding:20px 22px;border-radius:var(--r-lg);background:var(--gold-bg);border:1px solid #f0e2c0;margin-bottom:22px}
.pin-cap{font-size:.72rem;font-weight:700;letter-spacing:.1em;color:#9a7420;margin-bottom:12px}
.pin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:7px}
.pin-item{display:flex;align-items:flex-start;gap:9px;padding:10px 13px;border-radius:7px;background:var(--card);font-size:.83rem;line-height:1.5;text-align:left;transition:transform .18s var(--ez),box-shadow .18s}
.pin-item:hover{transform:translateX(3px);box-shadow:var(--sh-2)}
.pin-item::before{content:"";width:4px;height:4px;flex-shrink:0;margin-top:8px;border-radius:50%;background:var(--gold)}
.pin-item span{flex:1}

/* ═══ qa ═══ */
.qalist{border-top:1px solid var(--line-2)}
.qa-card{border-bottom:1px solid var(--line-2);transition:background .18s}
.qa-card:hover{background:var(--card)}
.qa-card.open{background:var(--card);box-shadow:var(--sh-2);border-radius:var(--r);border-bottom-color:transparent;margin:6px 0}
.qa-head{display:flex;align-items:baseline;gap:13px;padding:15px 16px;text-align:left;width:100%}
.qa-n{flex-shrink:0;font-size:.72rem;font-weight:700;color:var(--ink-3);font-variant-numeric:tabular-nums;min-width:19px;transition:color .18s}
.qa-card.open .qa-n{color:var(--gold)}
.qa-q{flex:1;font-size:.91rem;font-weight:520;line-height:1.55}
.qa-q mark{background:rgba(232,181,69,.32);color:inherit;padding:0 2px;border-radius:2px}
.qa-cat{flex-shrink:0;font-size:.68rem;color:var(--ink-3);padding:2px 9px;border-radius:20px;background:var(--line-2)}
.qa-chev{flex-shrink:0;color:var(--ink-3);transition:transform .3s var(--ez),color .18s;align-self:center}
.qa-card.open .qa-chev{transform:rotate(180deg);color:var(--navy)}
.qa-body{max-height:0;overflow:hidden;transition:max-height .38s var(--ez)}
.qa-card.open .qa-body{max-height:3200px}
.qa-inner{padding:2px 16px 20px 48px;font-size:.87rem;line-height:1.92;color:var(--ink-2)}
.qa-inner p{margin-bottom:9px}
.qa-inner p:last-child{margin-bottom:0}
.qa-inner strong{color:var(--ink);font-weight:620}
.qa-inner ul,.qa-inner ol{padding-left:19px;margin:8px 0}
.qa-inner li{margin-bottom:5px}
.qa-inner li::marker{color:var(--gold)}

/* ═══ kb ═══ */
.minifind{display:flex;align-items:center;gap:7px;padding:8px 14px;border-radius:6px;background:var(--card);border:1px solid var(--line);transition:border-color .2s}
.minifind:focus-within{border-color:var(--navy)}
.minifind svg{flex-shrink:0;color:var(--ink-3)}
.minifind input{border:none;outline:none;background:none;font-size:.81rem;width:140px}
.minifind input::placeholder{color:var(--ink-3)}

.kbgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:14px}
.kb-card{padding:22px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);text-align:left;transition:transform .22s var(--ez),box-shadow .22s,border-color .22s}
.kb-card:hover{transform:translateY(-3px);box-shadow:var(--sh-3);border-color:#d9d6cf}
.kb-card.open{grid-column:1/-1;transform:none;box-shadow:var(--sh-3)}
.kb-cat{display:inline-block;font-size:.67rem;font-weight:600;letter-spacing:.05em;color:var(--gold);margin-bottom:9px}
.kb-card h4{font-size:.97rem;font-weight:650;line-height:1.45;margin-bottom:7px}
.kb-sum{font-size:.81rem;line-height:1.72;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kb-card.open .kb-sum{display:none}
.kb-full{display:none;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-2);font-size:.85rem;line-height:1.92;color:var(--ink-2);white-space:pre-line}
.kb-card.open .kb-full{display:block}
.kb-more{display:inline-flex;align-items:center;gap:4px;margin-top:13px;font-size:.74rem;font-weight:600;color:var(--navy)}
.kb-more svg{transition:transform .3s var(--ez)}
.kb-card.open .kb-more svg{transform:rotate(180deg)}

/* ═══ void ═══ */
.void{padding:72px 24px;text-align:center}
.void-mark{font-size:2.6rem;font-weight:300;color:var(--line);margin-bottom:14px}
.void h3{font-size:1.04rem;font-weight:620;margin-bottom:6px}
.void>p{font-size:.85rem;color:var(--ink-3);margin-bottom:22px}
.void-slim{padding:44px;text-align:center;font-size:.85rem;color:var(--ink-3)}

/* ═══ closer ═══ */
.closer{display:flex;align-items:center;gap:20px;padding:26px 28px;border-radius:var(--r-lg);background:var(--navy);color:#fff}
.closer>img{width:82px;height:auto;border-radius:9px;flex-shrink:0}
.closer-copy{flex:1;min-width:0}
.closer-copy b{display:block;font-size:1.02rem;font-weight:650;margin-bottom:4px}
.closer-copy span{font-size:.82rem;color:rgba(255,255,255,.66);line-height:1.6}
.closer .btn{flex-shrink:0;background:var(--gold);color:var(--navy-d)}
.closer .btn:hover{background:var(--gold-l)}

/* ═══ foot ═══ */
.foot{padding:34px 32px 46px;text-align:center;font-size:.75rem;color:var(--ink-3);border-top:1px solid var(--line)}

/* ═══ fab + totop ═══ */
.fab{position:fixed;right:26px;bottom:34px;z-index:60;width:54px;height:54px;border-radius:50%;overflow:hidden;box-shadow:var(--sh-3);border:2.5px solid var(--card);transition:transform .22s var(--ez)}
.fab:hover{transform:scale(1.06) translateY(-2px)}
.fab img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.totop{position:fixed;right:32px;bottom:100px;z-index:59;width:38px;height:38px;border-radius:50%;background:var(--card);border:1px solid var(--line);color:var(--ink-2);display:grid;place-items:center;box-shadow:var(--sh-2);opacity:0;transform:translateY(8px);pointer-events:none;transition:all .28s var(--ez)}
.totop.on{opacity:1;transform:none;pointer-events:auto}
.totop:hover{color:var(--navy);border-color:var(--navy)}

/* ═══ sheet ═══ */
.sheet{position:fixed;inset:0;z-index:200;display:grid;place-items:center}
.sheet[hidden]{display:none}
.sheet-veil{position:absolute;inset:0;background:rgba(15,34,68,.55);backdrop-filter:blur(3px)}
.sheet-card{position:relative;width:min(300px,88vw);padding:30px 26px 24px;border-radius:18px;background:var(--card);text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.22);animation:pop .28s var(--ez)}
@keyframes pop{from{opacity:0;transform:scale(.94) translateY(8px)}}
.sheet-x{position:absolute;top:11px;right:11px;width:29px;height:29px;border-radius:50%;color:var(--ink-3);font-size:.85rem}
.sheet-x:hover{background:var(--line-2);color:var(--ink)}
.sheet-card img{width:100%;max-width:230px;height:auto;border-radius:9px;margin:0 auto 13px;display:block}
.sheet-card p{font-size:.9rem;font-weight:600;margin-bottom:3px}
.sheet-card small{font-size:.72rem;color:var(--ink-3)}

/* ═══ enter anim ═══ */
@keyframes rise{from{opacity:0;transform:translateY(9px)}}
.qa-card{animation:rise .3s var(--ez) backwards}
.qa-card:nth-child(1){animation-delay:.01s}.qa-card:nth-child(2){animation-delay:.025s}
.qa-card:nth-child(3){animation-delay:.04s}.qa-card:nth-child(4){animation-delay:.055s}
.qa-card:nth-child(5){animation-delay:.07s}.qa-card:nth-child(6){animation-delay:.085s}
.qa-card:nth-child(7){animation-delay:.1s}.qa-card:nth-child(8){animation-delay:.115s}
.qa-card:nth-child(n+9){animation-delay:.13s}

/* ═══ responsive ═══ */
@media(max-width:1000px){
  .shell{grid-template-columns:1fr;gap:0;padding:0 24px}
  .rail{padding-top:30px}
  .rail-stick{position:static}
  .rail-cap{display:none}
  .rail-list{flex-direction:row;overflow-x:auto;gap:7px;margin-bottom:0;padding-bottom:4px;scrollbar-width:none}
  .rail-list::-webkit-scrollbar{display:none}
  .rail-btn{flex-shrink:0;width:auto;padding:8px 15px;border-radius:40px;background:var(--card);border:1px solid var(--line);font-size:.8rem}
  .rail-btn .n{display:none}
  .rail-card{display:none}
  .body{padding-top:26px}
}
@media(max-width:640px){
  .nav-in{padding:0 18px;height:56px}
  .brand-text i{display:none}
  .hero{min-height:auto}
  .hero-in{padding:52px 18px 58px}
  .hero-lede{font-size:.88rem;margin-bottom:26px}
  .finder{padding:13px 16px}
  .finder input{font-size:.87rem}
  .shell{padding:0 16px}
  .block{margin-bottom:44px}
  .block-head h2{font-size:1.24rem}
  .qa-head{padding:14px 12px;gap:10px}
  .qa-cat{display:none}
  .qa-q{font-size:.87rem}
  .qa-inner{padding:2px 12px 18px 42px;font-size:.84rem}
  .pin-grid{grid-template-columns:1fr}
  .kbgrid{grid-template-columns:1fr}
  .closer{flex-direction:column;text-align:center;padding:24px 20px}
  .closer .btn{width:100%}
  .minifind input{width:110px}
  .fab{right:18px;bottom:22px;width:50px;height:50px}
  .totop{right:22px;bottom:84px}
}

/* ═══ qq / x5 browser fixes ═══ */
@supports (-webkit-overflow-scrolling:touch) {
  .hero{min-height:420px}
  .hero-in{padding:60px 32px 70px}
  .sheet-veil{-webkit-backdrop-filter:blur(3px)}
}
@media(max-width:640px){
  @supports (-webkit-overflow-scrolling:touch){
    .nav-in{height:56px}
    .hero-in{padding:46px 18px 50px}
  }
}
.js .totop{display:grid}
.totop.on{opacity:1;transform:none;pointer-events:auto}
