/* ── RESET & TOKENS ─────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0F1C2E;--navy2:#152030;--navy3:#1B2D45;
  --gold:#C8961E;--gold2:#E0AE3A;--gold3:#F5C842;
  --cream:#F7F2EA;--cream2:#EDE5D5;
  --muted:#8FA3B8;--border:rgba(200,150,30,0.18);--border2:rgba(200,150,30,0.35);
  --green:#27AE60;--red:#C0392B;--amber:#D4820A;
  --bg:var(--navy);--bg2:var(--navy2);--bg3:var(--navy3);
  --text:var(--cream);--text2:var(--cream2);--textm:var(--muted);
  --serif:'Cormorant Garamond',Georgia,serif;
  --zh:'Noto Serif SC',serif;
  --sans:'DM Sans','Helvetica Neue',sans-serif;
  --nav-h:60px;--sidebar-w:240px;--ticker-h:34px;
}
body.light{
  --bg:#F4F1EB;--bg2:#FFFFFF;--bg3:#EAE4D5;
  --text:#1B2D45;--text2:#2C3E5A;--textm:#5A7A96;
  --border:rgba(200,150,30,0.22);--border2:rgba(200,150,30,0.4);
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;line-height:1.7;overflow-x:hidden;transition:background .3s,color .3s}
::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--gold)}
body.lang-zh{font-family:var(--zh),var(--sans)}

/* ── NAV ─────────────────────────────────────────────────── */
.skip-link{position:absolute;top:-100px;left:0;background:var(--gold);color:var(--navy);padding:10px 18px;z-index:9999;font-size:13px;font-weight:500;text-decoration:none;font-family:var(--sans);letter-spacing:.5px;transition:top .15s}
.skip-link:focus{top:0;outline:2px solid var(--navy);outline-offset:-4px}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9000;background:rgba(15,28,46,.97);border-top:1px solid var(--border2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateY(100%);transition:transform .25s ease;pointer-events:none;max-height:calc(100vh - 24px);overflow-y:auto}
.cookie-banner.open{transform:translateY(0);pointer-events:auto}
.cookie-banner-inner{max-width:1180px;margin:0 auto;padding:18px 24px}
.cookie-banner-main{margin-bottom:14px}
.cookie-banner-title{font-family:var(--serif);font-size:14px;color:var(--cream);font-weight:600;letter-spacing:.5px;margin-bottom:4px}
body.lang-zh .cookie-banner-title{font-family:var(--zh)}
.cookie-banner-text{font-size:12.5px;color:var(--cream2);line-height:1.65}
.cookie-banner-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.cookie-banner-link{background:transparent;border:0;color:var(--gold);padding:0;font-size:12.5px;cursor:pointer;font-family:var(--sans);text-decoration:underline;text-underline-offset:2px}
.cookie-banner-link:hover{opacity:.85}
.cookie-banner-btn{border:1px solid var(--border2);padding:8px 16px;font-size:11.5px;letter-spacing:1px;cursor:pointer;font-family:var(--sans);font-weight:600;text-transform:uppercase;transition:background .15s,color .15s,border-color .15s}
.cookie-banner-btn-secondary{background:transparent;color:var(--cream2)}
.cookie-banner-btn-secondary:hover{border-color:var(--gold);color:var(--gold)}
.cookie-banner-btn-primary{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.cookie-banner-btn-primary:hover{background:var(--gold2);color:var(--navy)}
.cookie-prefs{margin-top:14px;padding-top:14px;border-top:1px solid rgba(200,150,30,.18)}
.cookie-prefs-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:10px 0;border-bottom:1px solid rgba(200,150,30,.08)}
.cookie-prefs-row:last-of-type{border-bottom:0}
.cookie-prefs-name{font-size:12.5px;color:var(--cream);font-weight:600;margin-bottom:2px}
.cookie-prefs-desc{font-size:11.5px;color:var(--cream2);line-height:1.6;max-width:580px}
.cookie-prefs-toggle{position:relative;width:38px;height:22px;flex-shrink:0;cursor:pointer;display:inline-block;margin-top:4px}
.cookie-prefs-toggle input{opacity:0;width:0;height:0;position:absolute}
.cookie-prefs-slider{position:absolute;inset:0;background:rgba(200,150,30,.2);transition:background .2s;border-radius:11px}
.cookie-prefs-slider::before{content:'';position:absolute;height:16px;width:16px;left:3px;top:3px;background:var(--cream2);transition:.2s;border-radius:50%}
.cookie-prefs-toggle input:checked + .cookie-prefs-slider{background:var(--gold)}
.cookie-prefs-toggle input:checked + .cookie-prefs-slider::before{transform:translateX(16px);background:var(--navy)}
.cookie-prefs-toggle.is-locked .cookie-prefs-slider{opacity:.5;cursor:not-allowed}
.cookie-prefs-toggle.is-locked input:checked + .cookie-prefs-slider{background:#666}
.cookie-prefs-actions{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px dashed rgba(200,150,30,.15)}
@media (max-width:560px){.cookie-banner-inner{padding:14px 16px}.cookie-banner-actions{width:100%;flex-direction:column;align-items:stretch}.cookie-banner-btn{width:100%;text-align:center}.cookie-prefs-row{flex-direction:column-reverse;align-items:stretch;gap:8px}.cookie-prefs-toggle{align-self:flex-end}}
[role="button"]:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}
.pub-nav{position:fixed;top:var(--ticker-h);left:0;right:0;height:var(--nav-h);z-index:900;
  background:rgba(15,28,46,.95);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;padding:0 40px}
body.light .pub-nav{background:rgba(244,241,235,.96)}
[dir=rtl] .pub-nav{flex-direction:row-reverse}
.nav-logo{display:flex;align-items:center;gap:12px;cursor:pointer;text-decoration:none}
[dir=rtl] .nav-logo{flex-direction:row-reverse}
.nav-brand{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--gold);letter-spacing:2px}
.nav-div{width:1px;height:18px;background:var(--border2)}
.nav-sub{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--textm)}
.nav-links{display:flex;align-items:center;gap:2px}
[dir=rtl] .nav-links{flex-direction:row-reverse}
.nav-link{padding:7px 11px;font-size:12px;color:var(--textm);cursor:pointer;background:none;border:none;font-family:var(--sans);letter-spacing:.5px;transition:color .2s}
.nav-link:hover{color:var(--gold)}
.nav-right{display:flex;align-items:center;gap:10px}
[dir=rtl] .nav-right{flex-direction:row-reverse}

/* language selector */
.lang-sel{position:relative}
.lang-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);background:transparent;color:var(--textm);font-size:11px;cursor:pointer;font-family:var(--sans);letter-spacing:1px;transition:all .2s}
.lang-btn:hover{border-color:var(--gold);color:var(--gold)}
.lang-drop{position:absolute;top:calc(100%+6px);right:0;background:var(--bg3);border:1px solid var(--border2);min-width:190px;display:none;z-index:200;box-shadow:0 16px 40px rgba(0,0,0,.35)}
[dir=rtl] .lang-drop{right:auto;left:0}
.lang-drop.open{display:block}
.lang-opt{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;font-size:13px;transition:background .12s}
.lang-opt:hover{background:rgba(200,150,30,.1)}
.lang-opt.active{color:var(--gold)}
.lang-opt-native{margin-left:auto;font-size:11px;color:var(--textm)}
[dir=rtl] .lang-opt-native{margin-left:0;margin-right:auto}

.mode-btn{background:none;border:1px solid var(--border);color:var(--textm);padding:6px 12px;cursor:pointer;font-size:11px;letter-spacing:1px;transition:all .2s;font-family:var(--sans)}
.mode-btn:hover{border-color:var(--gold);color:var(--gold)}
.nav-cta{background:var(--gold);color:var(--navy);padding:8px 18px;font-size:12px;font-weight:500;border:none;cursor:pointer;letter-spacing:1px;transition:background .2s;white-space:nowrap;font-family:var(--sans)}
.nav-cta:hover{background:var(--gold2)}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:4px}
.hamburger span{width:20px;height:1.5px;background:var(--text);display:block;transition:all .3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
.mobile-nav{display:none;position:fixed;top:calc(var(--nav-h) + var(--ticker-h));left:0;right:0;background:var(--bg2);border-bottom:1px solid var(--border);z-index:850;flex-direction:column;padding:10px 0}
.mobile-nav.open{display:flex}
.mobile-nav-link{padding:11px 24px;font-size:14px;color:var(--textm);cursor:pointer;border-left:2px solid transparent;transition:all .15s}
[dir=rtl] .mobile-nav-link{border-left:none;border-right:2px solid transparent}
.mobile-nav-link:hover{color:var(--gold);border-color:var(--gold)}

/* ── HERO ─────────────────────────────────────────────────── */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:calc(var(--nav-h) + var(--ticker-h))}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 65% 40%,rgba(27,45,69,.8) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 5% 90%,rgba(200,150,30,.05) 0%,transparent 60%)}
body.light .hero-bg{background:radial-gradient(ellipse 60% 50% at 60% 40%,rgba(200,150,30,.07) 0%,transparent 70%)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(200,150,30,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(200,150,30,.03) 1px,transparent 1px);background-size:60px 60px}
.hero-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:60px 40px}
[dir=rtl] .hero-inner{text-align:right}
.hero-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:24px;opacity:0;animation:fadeUp .7s ease .2s forwards}
[dir=rtl] .hero-eyebrow{flex-direction:row-reverse}
.hero-eyebrow-line{width:36px;height:1px;background:var(--gold);flex-shrink:0}
.hero-eyebrow-text{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold)}
.hero-title{font-family:var(--serif);font-size:clamp(44px,7vw,88px);font-weight:300;line-height:1.05;color:var(--text);letter-spacing:-1px;opacity:0;animation:fadeUp .7s ease .4s forwards}
body.lang-zh .hero-title{font-family:var(--zh);letter-spacing:0}
.hero-title .gold{background:linear-gradient(135deg,var(--gold3),var(--gold),#8B6010);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
body.light .hero-title .gold{background:linear-gradient(135deg,var(--gold),#7A5010);-webkit-background-clip:text;background-clip:text}
.hero-desc{max-width:560px;margin-top:28px;opacity:0;animation:fadeUp .7s ease .8s forwards}
[dir=rtl] .hero-desc{margin-right:0;margin-left:auto}
.hero-desc p{font-size:15px;color:var(--text2);opacity:.88;line-height:1.85;margin-bottom:8px}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);margin-top:48px;opacity:0;animation:fadeUp .7s ease 1s forwards}
.hero-stat{background:var(--bg);padding:20px;text-align:center}
.hero-stat-v{font-family:var(--serif);font-size:28px;font-weight:300;color:var(--gold);line-height:1}
.hero-stat-l{font-size:10px;color:var(--textm);margin-top:5px;letter-spacing:.5px}
.hero-btns{display:flex;gap:10px;margin-top:36px;flex-wrap:wrap;opacity:0;animation:fadeUp .7s ease 1.1s forwards}
[dir=rtl] .hero-btns{flex-direction:row-reverse}
.btn-gold{background:var(--gold);color:var(--navy);padding:12px 28px;font-size:13px;font-weight:500;border:none;cursor:pointer;letter-spacing:1px;transition:all .2s;font-family:var(--sans)}
.btn-gold:hover{background:var(--gold2);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--text);padding:11px 28px;border:1px solid var(--border2);font-size:13px;cursor:pointer;letter-spacing:1px;transition:all .2s;font-family:var(--sans)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}

/* ── SECTIONS ─────────────────────────────────────────────── */
.section{padding:110px 0;border-top:1px solid var(--border)}
.container{max-width:1180px;margin:0 auto;padding:0 40px}
.sec-label{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;display:block}
.sec-title{font-family:var(--serif);font-size:clamp(28px,4vw,50px);font-weight:300;color:var(--text);line-height:1.15}
body.lang-zh .sec-title{font-family:var(--zh)}
.sec-sub{font-size:clamp(13px,1.5vw,18px);color:var(--textm);margin-top:6px;letter-spacing:1px}
.gold-rule{width:56px;height:1px;background:var(--gold);margin:20px 0}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s}
.reveal.visible{opacity:1;transform:none}
[dir=rtl] .gold-rule{margin-right:0;margin-left:auto}

/* ── CARDS ─────────────────────────────────────────────────── */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.card{background:var(--bg2);padding:32px;transition:background .25s;position:relative;overflow:hidden}
.card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s}
[dir=rtl] .card::before{transform-origin:right}
.card:hover{background:var(--bg3)}.card:hover::before{transform:scaleX(1)}
.card-icon{font-size:26px;margin-bottom:16px;display:block}
.card-title{font-family:var(--serif);font-size:19px;color:var(--text);margin-bottom:14px;line-height:1.3}
body.lang-zh .card-title{font-family:var(--zh)}
.card-text{font-size:13px;color:var(--textm);line-height:1.85}

/* ── TOOL PANELS ──────────────────────────────────────────── */
.tool-wrap{background:var(--bg2);border:1px solid var(--border);margin-top:36px}
.tool-hdr{background:var(--bg3);padding:16px 28px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
[dir=rtl] .tool-hdr{flex-direction:row-reverse}
.tool-hdr-title{font-family:var(--serif);font-size:17px;color:var(--text)}
.tool-badge{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);background:rgba(200,150,30,.1);border:1px solid var(--border);padding:3px 10px;white-space:nowrap}
.tool-body{display:grid;grid-template-columns:1fr 1fr}
.tool-left{padding:28px;border-right:1px solid var(--border)}
[dir=rtl] .tool-left{border-right:none;border-left:1px solid var(--border)}
.tool-right{padding:28px}
.inp-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--textm);margin-bottom:7px;display:block}
.inp-ctrl{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:10px 13px;font-size:13px;font-family:var(--sans);margin-bottom:16px;appearance:none;transition:border-color .2s}
body.light .inp-ctrl{background:var(--bg3)}
.inp-ctrl:focus{outline:none;border-color:var(--gold)}
.chip-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:16px}
.chip{padding:8px 9px;border:1px solid var(--border);background:var(--bg);font-size:11px;cursor:pointer;transition:all .18s;text-align:center;color:var(--textm)}
body.light .chip{background:var(--bg3)}
.chip:hover,.chip.sel{border-color:var(--gold);background:rgba(200,150,30,.1);color:var(--gold)}
.run-btn{width:100%;background:var(--gold);color:var(--navy);padding:12px;font-size:13px;font-weight:500;border:none;cursor:pointer;letter-spacing:2px;transition:background .2s;font-family:var(--sans)}
.run-btn:hover{background:var(--gold2)}
.result-empty{text-align:center;padding:50px 20px;color:var(--textm);font-size:13px}
.result-empty-icon{font-size:32px;display:block;margin-bottom:10px;opacity:.35}

/* result components */
.risk-banner{padding:16px 20px;display:flex;align-items:center;gap:12px;margin-bottom:20px}
[dir=rtl] .risk-banner{flex-direction:row-reverse}
.rb-m{background:rgba(192,57,43,.1);border:1px solid rgba(192,57,43,.3)}
.rb-v{background:rgba(212,130,10,.1);border:1px solid rgba(212,130,10,.3)}
.rb-c{background:rgba(39,174,96,.08);border:1px solid rgba(39,174,96,.25)}
.risk-lbl{font-family:var(--serif);font-size:18px;font-weight:600}
.rl-m{color:#E74C3C}.rl-v{color:var(--amber)}.rl-c{color:var(--green)}
.res-sec-title{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--textm);margin-bottom:9px;margin-top:16px}
.res-item{display:flex;gap:8px;margin-bottom:6px;font-size:13px;color:var(--text2);align-items:flex-start}
[dir=rtl] .res-item{flex-direction:row-reverse}
.res-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);margin-top:6px;flex-shrink:0}
.fee-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.fee-box{background:var(--bg);border:1px solid var(--border);padding:10px;text-align:center;cursor:default;position:relative}
body.light .fee-box{background:var(--bg3)}
.fee-tier{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--textm);margin-bottom:3px}
.fee-amt{font-family:var(--serif);font-size:18px;color:var(--gold)}
.fee-buy{display:block;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-top:6px;opacity:0;transition:opacity .18s}
.disc-note{font-size:11px;color:var(--textm);padding:10px 13px;border:1px solid var(--border);margin-top:13px;line-height:1.7}

/* ── KYC ──────────────────────────────────────────────────── */
.kyc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.kyc-panel{background:var(--bg2);border:1px solid var(--border)}
.kyc-panel-hdr{background:var(--bg3);padding:14px 22px;border-bottom:1px solid var(--border);font-size:13px;font-weight:500;color:var(--text)}
.kyc-panel-body{padding:20px}
.kyc-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid rgba(200,150,30,.06);cursor:pointer}
[dir=rtl] .kyc-item{flex-direction:row-reverse}
.kyc-item:last-child{border-bottom:none}
.kyc-cb{width:16px;height:16px;border:1px solid var(--border2);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;transition:all .18s}
.kyc-cb.ck{background:var(--gold);border-color:var(--gold)}
.kyc-item-text{font-size:13px;color:var(--text2);line-height:1.45}
.kyc-meter{margin-top:18px;padding:14px;background:var(--bg);border:1px solid var(--border)}
body.light .kyc-meter{background:var(--bg3)}
.kyc-bar-track{background:rgba(255,255,255,.08);height:6px;border-radius:3px;overflow:hidden;margin:8px 0}
body.light .kyc-bar-track{background:rgba(0,0,0,.08)}
.kyc-bar{height:100%;border-radius:3px;transition:width .5s,background .5s;width:0}
.kyc-score-num{font-family:var(--serif);font-size:26px;color:var(--gold)}
.kyc-verdict{font-size:12px;color:var(--textm);margin-top:4px}

/* ── GAP ANALYSIS ─────────────────────────────────────────── */
.gap-form{background:var(--bg2);border:1px solid var(--border);padding:28px;margin-top:36px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:end}
.gap-result{background:var(--bg2);border:1px solid var(--border);margin-top:14px;display:none}
.gap-result-hdr{background:var(--bg3);padding:16px 26px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
[dir=rtl] .gap-result-hdr{flex-direction:row-reverse}
.gap-result-body{padding:24px}
.gap-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}
.gap-sum-box{background:var(--bg);border:1px solid var(--border);padding:16px;text-align:center}
body.light .gap-sum-box{background:var(--bg3)}
.gap-sum-n{font-family:var(--serif);font-size:32px;color:var(--gold);line-height:1}
.gap-sum-l{font-size:11px;color:var(--textm);margin-top:4px}
.gap-table{width:100%;border-collapse:collapse}
.gap-table th{background:var(--bg3);color:var(--textm);font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:9px 12px;text-align:left;border-bottom:1px solid var(--border)}
[dir=rtl] .gap-table th{text-align:right}
.gap-table td{padding:11px 12px;border-bottom:1px solid rgba(200,150,30,.06);font-size:12px;color:var(--text2)}
.rp{padding:2px 8px;font-size:9px;font-weight:500;letter-spacing:1px;display:inline-block}
.rp-h{background:rgba(192,57,43,.12);color:#E74C3C;border:1px solid rgba(192,57,43,.25)}
.rp-m{background:rgba(212,130,10,.12);color:var(--amber);border:1px solid rgba(212,130,10,.25)}
.rp-l{background:rgba(39,174,96,.1);color:var(--green);border:1px solid rgba(39,174,96,.2)}

/* ── CHARTS ───────────────────────────────────────────────── */
.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.chart-card{background:var(--bg2);border:1px solid var(--border);padding:24px}
.chart-title{font-size:13px;font-weight:500;color:var(--text2);margin-bottom:4px}
.chart-sub{font-size:11px;color:var(--textm);margin-bottom:16px}
.chart-wrap{position:relative;height:200px}


/* ── PAYMENT ENGINE (demo checkout, invoice pay, commission payout) ── */
.pay-inv-btn{background:var(--gold);color:var(--navy);border:none;padding:6px 14px;font-size:11px;font-weight:500;letter-spacing:1.5px;cursor:pointer;font-family:var(--sans);text-transform:uppercase;transition:background .18s}
.pay-inv-btn:hover{background:var(--gold2)}
.pay-inv-btn.paid{background:rgba(39,174,96,.15);color:var(--green);cursor:default}
.pay-method-pane{transition:opacity .15s}
.pay-line-item{display:flex;justify-content:space-between;padding:5px 0;font-size:12px}
.pay-line-item .pll-l{color:var(--textm)}
.pay-line-item .pll-v{color:var(--text)}
.pay-success-icon{font-size:54px;color:var(--green);line-height:1;margin-bottom:8px}
.pay-ref-box{background:rgba(39,174,96,.06);border:1px solid rgba(39,174,96,.25);padding:16px;margin:16px 0;text-align:center}
.pay-ref-box .prb-l{font-size:10px;letter-spacing:2px;color:var(--textm);text-transform:uppercase}
.pay-ref-box .prb-r{font-family:var(--mono,monospace);font-size:18px;color:var(--text);margin-top:4px;word-break:break-all}
.pay-ref-box .prb-a{font-size:11px;color:var(--textm);margin-top:6px}
.pay-cta-btn{background:var(--gold);color:var(--navy);border:none;padding:12px 24px;font-size:12px;font-weight:500;letter-spacing:2px;cursor:pointer;font-family:var(--sans);text-transform:uppercase;transition:background .2s}
.pay-cta-btn:hover{background:var(--gold2)}
@media (max-width:640px){.pay-method-pane .modal-input-row{grid-template-columns:1fr}}

/* ── PARTNER RESOURCES CARD (partner dashboard) ──────── */
.prt-res:hover{background:rgba(200,150,30,.06) \!important;border-left-width:5px \!important}
.prt-res:focus{outline:2px solid var(--gold);outline-offset:2px}
@media (max-width:820px){.prt-res-grid{grid-template-columns:1fr \!important}}

/* ── COMMISSION TIER SELECTOR (partner dashboard) ──────── */
.comm-tier-sel{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border);margin-bottom:12px}
.comm-tier-btn{padding:8px 4px;background:transparent;border:none;border-right:1px solid var(--border);color:var(--textm);cursor:pointer;font-family:var(--sans);transition:all .18s;display:flex;flex-direction:column;align-items:center;gap:2px}
.comm-tier-btn:last-child{border-right:none}
.comm-tier-btn .ctb-n{font-size:11px;font-weight:500;letter-spacing:1px}
.comm-tier-btn .ctb-s{font-size:9px;color:var(--textm);letter-spacing:.5px}
.comm-tier-btn:hover{background:rgba(200,150,30,.06);color:var(--text2)}
.comm-tier-btn.active{background:var(--gold);color:var(--navy)}
.comm-tier-btn.active .ctb-s{color:var(--navy);opacity:.75}

/* ── FEE SCHEDULE SECTION (public site) ───────────────── */
.fs-wrap{margin-top:36px}
.fs-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.fs-search{flex:1;min-width:220px;max-width:360px;background:var(--bg2);border:1px solid var(--border);color:var(--text);padding:9px 12px;font-size:13px;font-family:var(--sans)}
.fs-search:focus{outline:none;border-color:var(--gold2)}
.fs-filter{display:flex;gap:6px;flex-wrap:wrap}
.fs-filter-btn{padding:6px 12px;background:transparent;border:1px solid var(--border);color:var(--textm);cursor:pointer;font-size:11px;letter-spacing:1px;font-family:var(--sans);transition:all .18s}
.fs-filter-btn:hover{color:var(--text2);border-color:var(--border2)}
.fs-filter-btn.active{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.fs-tbl-wrap{overflow-x:auto}
.fs-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.fs-tbl thead th{background:var(--bg3);color:var(--gold);padding:10px 8px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--border2);position:sticky;top:0;z-index:1}
.fs-tbl thead th.fs-num{text-align:right}
.fs-tbl tbody tr{border-bottom:1px solid rgba(200,150,30,.08)}
.fs-tbl tbody tr:hover{background:rgba(200,150,30,.04)}
.fs-tbl td{padding:9px 8px;vertical-align:top;color:var(--text2)}
.fs-tbl td.fs-mod{color:var(--textm);font-size:11px;letter-spacing:.5px;white-space:nowrap}
.fs-tbl td.fs-item b{color:var(--text);display:block;margin-bottom:2px}
.fs-tbl td.fs-item span{color:var(--textm);font-size:11.5px;font-family:var(--zh,"Noto Serif SC",serif)}
.fs-tbl td.fs-num{text-align:right;color:var(--gold);font-family:var(--serif);font-size:13.5px;white-space:nowrap}
.fs-tbl td.fs-num.fs-na{color:var(--textm);font-family:var(--sans);font-size:11px}
.fs-tbl td.fs-layer{text-align:center}
.fs-tbl td.fs-layer span{display:inline-block;padding:2px 6px;border:1px solid var(--border2);font-size:9px;letter-spacing:1px;color:var(--gold)}
.fs-tbl th.fs-notes,.fs-tbl td.fs-notes{display:none}
body.staff-mode .fs-tbl th.fs-notes{display:table-cell;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--textm)}
body.staff-mode .fs-tbl td.fs-notes{display:table-cell;font-size:11px;color:var(--textm);max-width:260px;line-height:1.5}
.fs-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:24px}
.fs-legend-card{background:var(--bg2);border:1px solid var(--border);padding:16px}
.fs-legend-card h4{font-family:var(--serif);font-size:14px;color:var(--gold);margin-bottom:8px;font-weight:400;letter-spacing:1px}
.fs-legend-card p{font-size:12px;color:var(--text2);line-height:1.7}
.fs-legend-card p b{color:var(--text);font-weight:500}
.fs-comm-tbl{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px}
.fs-comm-tbl th,.fs-comm-tbl td{padding:6px 8px;border-bottom:1px solid rgba(200,150,30,.08);text-align:left}
.fs-comm-tbl th{color:var(--gold);font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:500}
.fs-comm-tbl td.fs-n{text-align:right;font-family:var(--serif);color:var(--text)}
@media (max-width:760px){
  .fs-tbl{font-size:11.5px}
}


/* ── TIER SERVICES SECTION ───────────────────────────────────── */
.ts-wrap{margin-top:36px}
.ts-module{margin-bottom:28px;border:1px solid var(--border);background:var(--bg2)}
.ts-mod-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--bg3);cursor:pointer;transition:background .18s}
.ts-mod-head:hover{background:rgba(200,150,30,.06)}
.ts-mod-num{font-family:var(--serif);color:var(--gold);font-size:13px;letter-spacing:1.5px;flex-shrink:0}
.ts-mod-title{font-family:var(--serif);color:var(--text);font-size:16px;font-weight:400;letter-spacing:.5px;flex:1;min-width:200px}
.ts-mod-price{color:var(--gold);font-size:11.5px;font-family:var(--sans);letter-spacing:.5px;text-align:right;font-weight:500}
.ts-mod-toggle{color:var(--textm);font-size:10px;letter-spacing:2px;text-transform:uppercase}
.ts-mod-body{padding:18px;display:none}
.ts-module.open .ts-mod-body{display:block}
.ts-module.open .ts-mod-toggle::after{content:"−"}
.ts-module:not(.open) .ts-mod-toggle::after{content:"+"}
.ts-headline{color:var(--text2);font-size:13px;line-height:1.65;margin-bottom:6px;font-style:italic}
.ts-headline-zh{color:var(--textm);font-size:12px;line-height:1.7;margin-bottom:18px;font-style:italic;font-family:var(--zh,"Noto Serif SC",serif);display:none}
body.lang-zh .ts-headline-zh{display:block}
.ts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:4px}
.ts-card{background:var(--bg);border:1px solid var(--border);padding:14px;display:flex;flex-direction:column}
.ts-card.ts-std{border-top:3px solid #6E8FAE}
.ts-card.ts-enh{border-top:3px solid var(--gold2)}
.ts-card.ts-cpx{border-top:3px solid var(--gold)}
.ts-card-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.ts-card-h .ts-tier-en{color:var(--text);font-family:var(--serif);font-size:14px;letter-spacing:1px;font-weight:500}
.ts-card-h .ts-tier-zh{color:var(--textm);font-size:11px;font-family:var(--zh,"Noto Serif SC",serif);display:none}
body.lang-zh .ts-card-h .ts-tier-zh{display:inline}
.ts-row{margin-bottom:10px}
.ts-row:last-child{margin-bottom:0}
.ts-row-lbl{color:var(--gold);font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:3px;font-weight:500}
.ts-row-en{color:var(--text2);font-size:12px;line-height:1.55}
.ts-row-zh{color:var(--textm);font-size:11px;line-height:1.65;margin-top:2px;font-family:var(--zh,"Noto Serif SC",serif);display:none}
body.lang-zh .ts-row-zh{display:block}
.ts-na{color:var(--textm);font-style:italic;font-size:11.5px}
.ts-gate-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;margin-bottom:20px;background:linear-gradient(180deg,rgba(200,150,30,.06),rgba(200,150,30,.02));border:1px solid var(--border2);border-left:3px solid var(--gold)}
.ts-gate-text{flex:1;min-width:240px;color:var(--text2);font-size:12.5px;line-height:1.65}
.ts-gate-btn{flex-shrink:0;background:var(--gold);color:#1a1410;border:0;padding:9px 16px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;cursor:pointer;transition:opacity .18s,transform .15s}
.ts-gate-btn:hover{opacity:.88;transform:translateY(-1px)}
.ts-row.ts-locked{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border2)}
.ts-locked-icon{font-size:11px;opacity:.6;line-height:1}
.ts-locked-text{color:var(--textm);font-size:10.5px;letter-spacing:.5px;line-height:1.5;font-style:italic}
.ts-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:28px}
.ts-legend-card{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--gold);padding:14px}
.ts-legend-card h4{color:var(--gold);font-family:var(--serif);font-size:13px;margin-bottom:6px;font-weight:500;letter-spacing:1px}
.ts-legend-card p{color:var(--text2);font-size:11.5px;line-height:1.65}
.ts-legend-card p.ts-zh{color:var(--textm);font-size:11px;margin-top:3px;display:none}
body.lang-zh .ts-legend-card p.ts-zh{display:block}
body.lang-zh .ts-legend-card p:not(.ts-zh){display:none}
@media (max-width:980px){
  .ts-grid{grid-template-columns:1fr;gap:10px}
  .ts-mod-head{gap:8px}
  .ts-mod-price{text-align:left;flex-basis:100%;order:3}
}

/* ── PRICING ──────────────────────────────────────────────── */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-top:40px}
.price-card{background:var(--bg2);padding:36px 28px;transition:background .25s;position:relative}
.price-card:hover{background:var(--bg3)}
.price-card.featured{background:var(--bg3);border-top:2px solid var(--gold)}
.price-tier{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.price-amt{font-family:var(--serif);font-size:44px;font-weight:300;color:var(--text);line-height:1}
.price-period{font-size:13px;color:var(--textm)}
.price-desc{font-size:13px;color:var(--textm);margin:10px 0 20px;line-height:1.7}
.price-feats{list-style:none;margin-bottom:28px}
.price-feat{display:flex;gap:8px;padding:7px 0;border-bottom:1px solid rgba(200,150,30,.06);font-size:13px;color:var(--text2);align-items:flex-start}
[dir=rtl] .price-feat{flex-direction:row-reverse}
.price-feat-dot{color:var(--gold);flex-shrink:0;font-size:10px;margin-top:4px}
.price-cta{width:100%;padding:11px;font-size:12px;font-weight:500;cursor:pointer;letter-spacing:1px;border:1px solid var(--border2);background:transparent;color:var(--text);transition:all .2s;font-family:var(--sans)}
.price-cta:hover,.price-card.featured .price-cta{background:var(--gold);border-color:var(--gold);color:var(--navy)}

/* ── SERVE / PARTNER / CONTACT ──────────────────────────── */
.serve-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-top:40px}
.serve-card{background:var(--bg2);padding:36px 28px;transition:background .25s;position:relative}
.serve-card:hover{background:var(--bg3)}
.serve-card::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--gold);transition:width .35s}
.serve-card:hover::after{width:56px}
.serve-icon{width:48px;height:48px;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:18px}
.serve-title{font-family:var(--serif);font-size:18px;color:var(--text);margin-bottom:14px;line-height:1.3}
body.lang-zh .serve-title{font-family:var(--zh)}
.serve-text{font-size:13px;color:var(--textm);line-height:1.85}
.partner-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:40px;align-items:start}
.guar-list{list-style:none}
.guar-item{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid rgba(200,150,30,.08);align-items:flex-start}
[dir=rtl] .guar-item{flex-direction:row-reverse}
.guar-item:last-child{border-bottom:none}
.guar-tick{width:18px;height:18px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.guar-text{font-size:13px;color:var(--text2);line-height:1.5}
.guar-sub{font-size:11px;color:var(--textm);margin-top:2px}
.prot-box{background:var(--bg2);border-top:2px solid var(--gold);padding:28px}
.prot-box-title{font-family:var(--serif);font-size:18px;color:var(--text);margin-bottom:18px}
body.lang-zh .prot-box-title{font-family:var(--zh)}
.prot-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid rgba(200,150,30,.08)}
[dir=rtl] .prot-item{flex-direction:row-reverse}
.prot-item:last-child{border-bottom:none}
.prot-n{font-family:var(--serif);font-size:22px;color:rgba(200,150,30,.25);min-width:26px;line-height:1.2}
.prot-text{font-size:13px;color:var(--text2);line-height:1.55}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:40px;align-items:start}
.contact-form-wrap{background:var(--bg2);border:1px solid var(--border);padding:32px}
.form-group{margin-bottom:16px}
.form-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--textm);margin-bottom:6px;display:block}
.form-input,.form-select,.form-textarea{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:10px 12px;font-size:13px;font-family:var(--sans);transition:border-color .2s}
body.light .form-input,body.light .form-select,body.light .form-textarea{background:var(--bg3)}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--gold)}
.form-textarea{min-height:90px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-submit{width:100%;background:var(--gold);color:var(--navy);padding:12px;font-size:13px;font-weight:500;border:none;cursor:pointer;letter-spacing:2px;margin-top:6px;font-family:var(--sans);transition:background .2s}
.form-submit:hover{background:var(--gold2)}
.form-ok{display:none;background:rgba(39,174,96,.08);border:1px solid rgba(39,174,96,.25);padding:20px;color:var(--green);font-size:13px;margin-top:14px;text-align:center;line-height:1.7}
.form-ok .ok-icon{font-size:24px;margin-bottom:8px;display:block}
.contact-info-item{padding:16px 0;border-bottom:1px solid var(--border)}
.contact-info-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:5px}
.contact-info-val{font-size:14px;color:var(--text2)}
.pipl-notice{background:rgba(200,150,30,.04);border:1px solid var(--border);padding:16px;margin-top:20px;font-size:11px;color:var(--textm);line-height:1.7}
.pipl-notice-title{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:5px}

/* ── LOGIN MODAL ──────────────────────────────────────────── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:2000;display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal{background:var(--bg2);border:1px solid var(--border2);width:100%;max-width:420px;padding:36px;position:relative}
.modal-close{position:absolute;top:14px;right:18px;background:none;border:none;color:var(--textm);font-size:20px;cursor:pointer}
[dir=rtl] .modal-close{right:auto;left:18px}
.modal-title{font-family:var(--serif);font-size:26px;color:var(--text);margin-bottom:4px}
body.lang-zh .modal-title{font-family:var(--zh)}
.modal-sub{font-size:12px;color:var(--textm);margin-bottom:24px}
.modal-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:22px}
.modal-tab{padding:8px 18px;font-size:12px;cursor:pointer;color:var(--textm);border-bottom:2px solid transparent;margin-bottom:-1px;letter-spacing:1px;background:none;border-top:none;border-left:none;border-right:none;font-family:var(--sans);transition:all .18s}
.modal-tab.active{color:var(--gold);border-bottom-color:var(--gold)}
.tab-pane{display:none}.tab-pane.active{display:block}
.modal-form{display:flex;flex-direction:column;gap:14px}
.modal-input{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:11px 14px;font-size:13px;font-family:var(--sans)}
body.light .modal-input{background:var(--bg3)}
.modal-input:focus{outline:none;border-color:var(--gold)}
.modal-btn{background:var(--gold);color:var(--navy);padding:12px;font-size:13px;font-weight:500;border:none;cursor:pointer;letter-spacing:2px;font-family:var(--sans);transition:background .2s;width:100%}
.modal-btn:hover{background:var(--gold2)}
.modal-btn.outline{background:transparent;border:1px solid var(--border2);color:var(--text);margin-top:8px}

/* ── SIGN UP ─────────────────────────────────────── */
.signup-type-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:20px}
.signup-type-card{border:1px solid var(--border);padding:14px 10px;cursor:pointer;text-align:center;transition:all .2s;background:var(--bg)}
body.light .signup-type-card{background:var(--bg3)}
.signup-type-card:hover{border-color:var(--border2)}
.signup-type-card.sel{border-color:var(--gold);background:rgba(200,150,30,.08)}
.signup-type-card .stype-icon{font-size:22px;display:block;margin-bottom:8px}
.signup-type-card .stype-label{font-size:12px;font-weight:500;color:var(--text2);line-height:1.4}
.signup-type-card .stype-sub{font-size:10px;color:var(--textm);margin-top:3px;line-height:1.4}
.signup-type-card.sel .stype-label{color:var(--gold)}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.plan-card{border:1px solid var(--border);padding:14px;cursor:pointer;transition:all .2s;background:var(--bg)}
body.light .plan-card{background:var(--bg3)}
.plan-card:hover{border-color:var(--border2)}
.plan-card.sel{border-color:var(--gold);background:rgba(200,150,30,.08)}
.plan-card .plan-name{font-size:12px;font-weight:500;color:var(--text2);margin-bottom:2px}
.plan-card .plan-price{font-family:var(--serif);font-size:18px;color:var(--gold);line-height:1.2}
.plan-card .plan-period{font-size:10px;color:var(--textm)}
.plan-card.sel .plan-name{color:var(--gold)}
.signup-step{display:none}
.signup-step.active{display:block}
.step-indicators{display:flex;align-items:center;gap:0;margin-bottom:22px}
.step-dot{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--textm);transition:all .3s;flex-shrink:0;font-family:var(--serif)}
.step-dot.active{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.step-dot.done{background:rgba(200,150,30,.15);border-color:var(--gold);color:var(--gold)}
.step-line{flex:1;height:1px;background:var(--border)}
.step-line.done{background:var(--gold)}
.step-label{font-size:10px;color:var(--textm);text-align:center;margin-top:4px;letter-spacing:.5px}
.signup-confirm{background:rgba(39,174,96,.06);border:1px solid rgba(39,174,96,.25);padding:24px;text-align:center}
.signup-confirm-icon{font-size:36px;display:block;margin-bottom:12px}
.signup-confirm-title{font-family:var(--serif);font-size:22px;color:var(--green);margin-bottom:8px}
.signup-confirm-sub{font-size:13px;color:var(--textm);line-height:1.7}
.modal-input-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modal-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.modal-field label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--textm)}
.modal-field input,.modal-field select,.modal-field textarea{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:10px 12px;font-size:13px;font-family:var(--sans);transition:border-color .2s}
body.light .modal-field input,body.light .modal-field select{background:var(--bg3)}
.modal-field input:focus,.modal-field select:focus{outline:none;border-color:var(--gold)}
.modal-err{display:none;background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.3);padding:10px 12px;font-size:12px;color:var(--red);margin-bottom:12px;line-height:1.5}
.modal-err.show{display:block}
.terms-check{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--textm);line-height:1.6;margin-bottom:14px;cursor:pointer}
.terms-check input[type=checkbox]{width:14px;height:14px;margin-top:2px;flex-shrink:0;accent-color:var(--gold)}
.terms-check a{color:var(--gold);text-decoration:none}
.modal-back{background:none;border:1px solid var(--border);color:var(--textm);padding:9px 18px;font-size:12px;cursor:pointer;letter-spacing:1px;font-family:var(--sans);transition:all .2s}
.modal-back:hover{border-color:var(--gold);color:var(--gold)}
.modal-nav{display:flex;justify-content:space-between;align-items:center;margin-top:4px;gap:10px}
.demo-acc{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);cursor:pointer;transition:all .18s;margin-bottom:8px}
.demo-acc:hover{border-color:var(--gold);background:rgba(200,150,30,.06)}
.demo-acc-icon{font-size:22px}
.demo-acc-name{font-size:13px;color:var(--text2)}
.demo-acc-role{font-size:11px;color:var(--textm)}
.modal-divider{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--textm);margin:16px 0}
.modal-divider::before,.modal-divider::after{content:'';flex:1;height:1px;background:var(--border)}

/* ── APP SHELL ────────────────────────────────────────────── */
#appShell{display:none;height:calc(100vh - var(--ticker-h));margin-top:var(--ticker-h);overflow:hidden;flex-direction:column}
.app-topbar{height:var(--nav-h);background:var(--bg2);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0;gap:12px}
[dir=rtl] .app-topbar{flex-direction:row-reverse}
.app-topbar-left{display:flex;align-items:center;gap:14px}
[dir=rtl] .app-topbar-left{flex-direction:row-reverse}
.ham{background:none;border:none;cursor:pointer;padding:6px;display:flex;flex-direction:column;gap:4px;flex-shrink:0}
.ham span{width:20px;height:1.5px;background:var(--text);display:block;transition:all .3s}
.ham.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.ham.open span:nth-child(2){opacity:0}
.ham.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
.app-logo{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--gold);letter-spacing:2px}
.app-logo-sub{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--textm)}
.app-topbar-right{display:flex;align-items:center;gap:10px}
[dir=rtl] .app-topbar-right{flex-direction:row-reverse}
.topbar-btn{background:none;border:1px solid var(--border);color:var(--textm);padding:6px 13px;font-size:11px;cursor:pointer;letter-spacing:1px;transition:all .2s;white-space:nowrap;font-family:var(--sans)}
.topbar-btn:hover{border-color:var(--gold);color:var(--gold)}
.topbar-btn.gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.user-chip{display:flex;align-items:center;gap:8px}
.user-avatar{width:30px;height:30px;border-radius:50%;background:var(--bg3);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--gold)}
.app-body{display:flex;flex:1;overflow:hidden}
.app-sidebar{width:var(--sidebar-w);background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0;transition:transform .3s,width .3s}
[dir=rtl] .app-sidebar{border-right:none;border-left:1px solid var(--border)}
.app-sidebar.collapsed{width:0;overflow:hidden}
.sidebar-firm{padding:18px 20px 14px;border-bottom:1px solid var(--border)}
.sidebar-firm-name{font-size:13px;color:var(--text);line-height:1.5}
.sidebar-firm-en{font-size:10px;color:var(--textm);letter-spacing:1px;margin-top:2px}
.sidebar-tier{display:inline-block;background:rgba(200,150,30,.12);border:1px solid var(--border2);font-size:9px;letter-spacing:2px;color:var(--gold);padding:2px 8px;margin-top:6px}
.sidebar-nav{padding:10px 0;flex:1}
.nav-sec-label{padding:8px 20px 4px;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--textm)}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 20px;cursor:pointer;border-left:2px solid transparent;font-size:13px;color:var(--textm);transition:all .15s;white-space:nowrap}
[dir=rtl] .nav-item{flex-direction:row-reverse;border-left:none;border-right:2px solid transparent}
.nav-item:hover{background:rgba(200,150,30,.06);color:var(--text2)}
.nav-item.active{background:rgba(200,150,30,.1);color:var(--gold);border-color:var(--gold)}
.nav-item-icon{width:16px;text-align:center;font-size:14px;flex-shrink:0}
.nav-badge{margin-left:auto;background:var(--gold);color:var(--navy);font-size:9px;font-weight:500;padding:2px 6px;border-radius:10px}
[dir=rtl] .nav-badge{margin-left:0;margin-right:auto}
.sidebar-footer{padding:14px 20px;border-top:1px solid var(--border)}
.comm-card{background:rgba(39,174,96,.08);border:1px solid rgba(39,174,96,.25);padding:12px}
.comm-card-label{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--green);margin-bottom:4px}
.comm-card-value{font-family:var(--serif);font-size:26px;color:var(--green)}
.comm-card-sub{font-size:10px;color:rgba(39,174,96,.6);margin-top:2px}
.app-main{flex:1;overflow-y:auto;background:var(--bg)}
.app-screen{display:none;padding:28px 32px;min-height:100%}
[dir=rtl] .app-screen{text-align:right}
.app-screen.active{display:block}
.screen-title{font-family:var(--serif);font-size:26px;color:var(--text);margin-bottom:4px}
body.lang-zh .screen-title{font-family:var(--zh)}
.screen-sub{font-size:13px;color:var(--textm);margin-bottom:24px}

/* dashboard */
.dash-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.dash-stat{background:var(--bg2);border:1px solid var(--border);border-top:2px solid var(--gold);padding:18px}
.dash-stat-val{font-family:var(--serif);font-size:28px;font-weight:300;color:var(--gold);line-height:1}
.dash-stat-label{font-size:11px;color:var(--textm);margin-top:5px}
.dash-table{width:100%;border-collapse:collapse}
.dash-table th{background:var(--bg3);color:var(--textm);font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:9px 12px;text-align:left;border-bottom:1px solid var(--border)}
[dir=rtl] .dash-table th{text-align:right}
.dash-table td{padding:12px;border-bottom:1px solid rgba(200,150,30,.06);font-size:13px;color:var(--text2);cursor:pointer}
.dash-table tr:hover td{background:rgba(200,150,30,.03)}
.sp{display:inline-block;padding:2px 9px;font-size:9px;font-weight:500;letter-spacing:1px}
.sp-a{background:rgba(39,174,96,.12);color:var(--green);border:1px solid rgba(39,174,96,.25)}
.sp-r{background:rgba(200,150,30,.12);color:var(--gold);border:1px solid rgba(200,150,30,.25)}
.sp-p{background:rgba(143,163,184,.1);color:var(--textm);border:1px solid rgba(143,163,184,.2)}
.sp-f{background:rgba(192,57,43,.12);color:#E74C3C;border:1px solid rgba(192,57,43,.25)}

/* AML */
.aml-factors{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.aml-factor{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border);background:var(--bg);cursor:pointer;transition:all .18s;font-size:12px;color:var(--textm);user-select:none}
body.light .aml-factor{background:var(--bg3)}
[dir=rtl] .aml-factor{flex-direction:row-reverse}
.aml-factor:hover,.aml-factor.sel{border-color:var(--red);background:rgba(192,57,43,.06);color:var(--text)}
.aml-factor *{pointer-events:none}
.aml-factor-cb{width:16px;height:16px;border:1.5px solid var(--border2);border-radius:50%;flex-shrink:0;background:transparent;transition:all .18s;position:relative;display:inline-block}
.aml-factor:hover .aml-factor-cb{border-color:var(--red)}
.aml-factor.sel .aml-factor-cb{border-color:var(--red);background:var(--red)}
.aml-factor.sel .aml-factor-cb::after{content:'';position:absolute;left:4px;top:6px;width:5px;height:2.5px;border:1.5px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg)}
.aml-factor-text{flex:1}
.aml-bar-track{background:rgba(255,255,255,.08);height:8px;border-radius:4px;overflow:hidden;margin-bottom:8px}
body.light .aml-bar-track{background:rgba(0,0,0,.08)}
.aml-bar-fill{height:100%;border-radius:4px;transition:width .5s,background .5s;width:0}
.aml-score{font-family:var(--serif);font-size:32px;color:var(--gold)}
.aml-verdict{font-size:12px;color:var(--textm);line-height:1.5}

/* BVS */
.bvs-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin-top:20px}
.bvs-col{background:var(--bg2);padding:24px}
.bvs-col-title{font-family:var(--serif);font-size:18px;color:var(--text);margin-bottom:18px}
body.lang-zh .bvs-col-title{font-family:var(--zh)}
.bvs-row{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid rgba(200,150,30,.07);font-size:13px;align-items:flex-start}
[dir=rtl] .bvs-row{flex-direction:row-reverse}
.bvs-row:last-child{border-bottom:none}
.bvs-text{color:var(--text2);line-height:1.5}
.bvs-verdict{background:rgba(200,150,30,.08);border:1px solid var(--border);padding:14px 18px;margin-top:16px;display:none}
.bvs-verdict-title{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.bvs-verdict-text{font-size:13px;color:var(--text2);line-height:1.6}
.bvs-q{margin-bottom:14px}
.bvs-q-text{font-size:13px;color:var(--text2);margin-bottom:6px;line-height:1.5}
.bvs-radios{display:flex;gap:10px}
[dir=rtl] .bvs-radios{flex-direction:row-reverse}
.bvs-radio{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--textm);padding:6px 12px;border:1px solid var(--border);background:var(--bg);transition:all .18s}
body.light .bvs-radio{background:var(--bg3)}
.bvs-radio.sel{border-color:var(--gold);background:rgba(200,150,30,.1);color:var(--gold)}

/* PIPL */
.pipl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}
.pipl-path{border:1px solid var(--border);padding:16px;background:var(--bg);transition:all .2s}
body.light .pipl-path{background:var(--bg3)}
.pipl-path.rec{border-color:var(--gold);background:rgba(200,150,30,.06)}
.pipl-path-name{font-size:13px;font-weight:500;color:var(--text2);margin-bottom:4px}
.pipl-path-desc{font-size:12px;color:var(--textm);line-height:1.6}
.pipl-tag{display:inline-block;font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:2px 8px;margin-top:8px}
.pipl-tag-rec{background:rgba(200,150,30,.15);color:var(--gold);border:1px solid var(--border2)}
.pipl-tag-opt{background:rgba(143,163,184,.1);color:var(--textm);border:1px solid var(--border)}

/* Doc Generator */
.doc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.doc-preview{background:var(--bg2);border:1px solid var(--border);margin-top:20px;display:none}
.doc-preview-hdr{background:var(--bg3);padding:22px 32px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start}
[dir=rtl] .doc-preview-hdr{flex-direction:row-reverse}
.doc-logo{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--gold);letter-spacing:2px}
.doc-meta{text-align:right;font-size:11px;color:var(--textm);font-family:var(--sans);line-height:1.8}
[dir=rtl] .doc-meta{text-align:left}
.doc-body{padding:28px 32px}
.doc-sec-title{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border);margin-top:20px}
.doc-sec-title:first-child{margin-top:0}
.doc-row{display:flex;gap:0;border-bottom:1px solid rgba(200,150,30,.07);padding:8px 0;font-size:13px}
[dir=rtl] .doc-row{flex-direction:row-reverse}
.doc-row-label{width:200px;flex-shrink:0;color:var(--textm);font-family:var(--sans)}
.doc-row-val{color:var(--text2);font-family:var(--sans)}
.doc-risk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}
.doc-risk-box{background:var(--bg3);border:1px solid var(--border);padding:14px;text-align:center}
.doc-risk-val{font-size:24px;color:var(--gold);font-family:var(--serif);line-height:1}
.doc-risk-label{font-size:10px;color:var(--textm);margin-top:4px;font-family:var(--sans)}
.doc-stamp{display:inline-block;border:2px solid rgba(192,57,43,.4);color:rgba(192,57,43,.6);padding:4px 14px;font-size:11px;letter-spacing:3px;text-transform:uppercase;transform:rotate(-3deg);margin:8px 0}
.doc-stamp.clear{border-color:rgba(39,174,96,.4);color:rgba(39,174,96,.6)}
.doc-footer-note{padding:14px 32px;border-top:1px solid var(--border);font-size:10px;color:var(--textm);line-height:1.7}
.doc-actions{padding:0 32px 20px;display:flex;gap:10px}
[dir=rtl] .doc-actions{flex-direction:row-reverse}
.doc-btn{padding:9px 20px;font-size:12px;cursor:pointer;letter-spacing:1px;border:1px solid var(--border);background:transparent;color:var(--textm);transition:all .2s;font-family:var(--sans)}
.doc-btn:hover{border-color:var(--gold);color:var(--gold)}
.doc-btn.primary{background:var(--gold);border-color:var(--gold);color:var(--navy)}

/* News */
.news-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}
[dir=rtl] .news-filters{flex-direction:row-reverse}
.news-filter{padding:6px 14px;border:1px solid var(--border);font-size:11px;cursor:pointer;color:var(--textm);transition:all .18s;letter-spacing:1px;background:none;font-family:var(--sans)}
.news-filter.active{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.news-card{background:var(--bg2);border:1px solid var(--border);padding:18px;transition:border-color .2s}
.news-card:hover{border-color:var(--border2)}
.news-tag{display:inline-block;font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:2px 8px;margin-bottom:10px}
.tag-nsi{background:rgba(192,57,43,.12);color:#E74C3C;border:1px solid rgba(192,57,43,.25)}
.tag-pipl{background:rgba(200,150,30,.12);color:var(--gold);border:1px solid rgba(200,150,30,.25)}
.tag-fca{background:rgba(39,174,96,.1);color:var(--green);border:1px solid rgba(39,174,96,.2)}
.tag-aml{background:rgba(155,89,182,.1);color:#9B59B6;border:1px solid rgba(155,89,182,.2)}
.tag-fdi{background:rgba(52,152,219,.1);color:#3498DB;border:1px solid rgba(52,152,219,.2)}
.news-card-title{font-size:14px;color:var(--text);margin-bottom:6px;line-height:1.4}
.news-card-date{font-size:11px;color:var(--textm);margin-bottom:8px}
.news-card-body{font-size:12px;color:var(--textm);line-height:1.7}
.news-impact{display:inline-flex;align-items:center;gap:4px;font-size:10px;margin-top:8px;padding:3px 8px;border:1px solid var(--border)}
.impact-h{color:var(--red);border-color:rgba(192,57,43,.25)}
.impact-m{color:var(--amber);border-color:rgba(212,130,10,.25)}
.impact-l{color:var(--green);border-color:rgba(39,174,96,.2)}

/* Fee calculator */
.calc-tier-sel{display:flex;gap:0;border:1px solid var(--border);margin-bottom:20px}
.calc-tier-btn{flex:1;padding:9px;font-size:12px;border:none;background:transparent;color:var(--textm);cursor:pointer;letter-spacing:1px;transition:all .18s;font-family:var(--sans)}
.calc-tier-btn.active{background:var(--gold);color:var(--navy)}
.calc-modules{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}
.calc-module{display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid var(--border);background:var(--bg);cursor:pointer;transition:all .18s}
body.light .calc-module{background:var(--bg3)}
[dir=rtl] .calc-module{flex-direction:row-reverse}
.calc-module:hover,.calc-module.sel{border-color:var(--gold);background:rgba(200,150,30,.08)}
.calc-module-check{width:16px;height:16px;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .18s;font-size:9px;font-weight:700;color:var(--navy)}
.calc-module.sel .calc-module-check{background:var(--gold);border-color:var(--gold)}
.calc-module-name{font-size:12px;color:var(--textm);flex:1}
.calc-module.sel .calc-module-name{color:var(--text)}
.calc-module-price{font-family:var(--serif);font-size:15px;color:var(--gold)}
.calc-buy-btn{margin-left:10px;padding:4px 10px;border:1px solid var(--gold);background:transparent;color:var(--gold);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;font-family:var(--sans);transition:all .18s;flex-shrink:0}
.calc-buy-btn:hover{background:var(--gold);color:var(--navy)}
[dir=rtl] .calc-buy-btn{margin-left:0;margin-right:10px}
.calc-result{background:var(--bg3);border:1px solid var(--border);padding:20px;margin-top:16px;display:none}
.calc-line{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(200,150,30,.08);font-size:13px}
[dir=rtl] .calc-line{flex-direction:row-reverse}
.calc-line:last-child{border-bottom:none}
.calc-label{color:var(--textm)}
.calc-val{font-family:var(--serif);font-size:16px;color:var(--text2)}
.calc-total-line{background:rgba(200,150,30,.08);border:1px solid var(--border);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;margin-top:12px}
[dir=rtl] .calc-total-line{flex-direction:row-reverse}
.calc-total-label{font-size:12px;color:var(--textm)}
.calc-total-val{font-family:var(--serif);font-size:28px;color:var(--gold)}

/* Footer */
footer{border-top:1px solid var(--border);padding:48px 0 28px}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
.footer-brand{font-family:var(--serif);font-size:18px;color:var(--gold);letter-spacing:2px;margin-bottom:8px}
.footer-brand-sub{font-size:11px;color:var(--textm);line-height:1.7}
.footer-col-title{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.footer-link{display:block;font-size:12px;color:var(--textm);cursor:pointer;padding:3px 0;transition:color .18s}
.footer-link:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid var(--border);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
[dir=rtl] .footer-bottom{flex-direction:row-reverse}
.footer-copy{font-size:11px;color:rgba(143,163,184,.45)}
.footer-disc{font-size:10px;color:rgba(143,163,184,.4);max-width:520px;line-height:1.7}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* Responsive */
@media(max-width:900px){
  .container{padding:0 20px}
  .pub-nav{padding:0 20px}
  .nav-links{display:none}
  .hamburger{display:flex}
  .hero-stats,.charts-grid,.kyc-grid,.gap-form,.grid-2,.grid-3,.serve-grid,.pricing-grid,.partner-layout,.contact-layout,.footer-top,.tool-body,.bvs-grid,.pipl-grid,.calc-modules,.doc-form-grid,.aml-factors,.dash-grid,.news-grid{grid-template-columns:1fr}
  .tool-left{border-right:none;border-bottom:1px solid var(--border)}
  [dir=rtl] .tool-left{border-left:none;border-bottom:1px solid var(--border)}
  .form-row{grid-template-columns:1fr}
  .app-sidebar{position:fixed;top:calc(var(--nav-h) + var(--ticker-h));left:0;bottom:0;z-index:500;transform:translateX(-100%);width:var(--sidebar-w)}
  [dir=rtl] .app-sidebar{left:auto;right:0;transform:translateX(100%)}
  .app-sidebar.open{transform:none}
  .app-screen{padding:20px}
  .ai-chat-window{max-height:320px}
}
/* ── AI Assistant Screen ─────────────────────────────────── */
.ai-screen-wrap{display:flex;flex-direction:column;height:calc(100vh - var(--nav-h) - 160px);min-height:400px}
.ai-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.ai-chip{background:none;border:1px solid var(--border);padding:5px 12px;font-size:11px;color:var(--textm);cursor:pointer;letter-spacing:.5px;transition:all .18s;font-family:var(--sans)}
.ai-chip:hover{border-color:var(--gold);color:var(--text2)}
.ai-chat-window{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:4px 0 8px;scroll-behavior:smooth}
.ai-chat-window::-webkit-scrollbar{width:3px}
.ai-chat-window::-webkit-scrollbar-thumb{background:var(--border)}
.ai-msg{display:flex;gap:10px;align-items:flex-start}
.ai-msg.ai-user{flex-direction:row-reverse}
.ai-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;border:1px solid var(--border)}
.ai-msg.ai-bot .ai-avatar{background:linear-gradient(135deg,var(--gold),var(--gold2))}
.ai-msg.ai-user .ai-avatar{background:var(--bg2)}
.ai-bubble{max-width:78%;padding:10px 14px;font-size:13px;line-height:1.65;border:1px solid var(--border)}
.ai-msg.ai-bot .ai-bubble{background:var(--bg2)}
.ai-msg.ai-user .ai-bubble{background:rgba(200,150,30,.12);border-color:var(--border2);text-align:right}
.ai-bubble p{margin:0 0 6px}
.ai-bubble p:last-child{margin-bottom:0}
.ai-bubble ul,.ai-bubble ol{padding-left:16px;margin:4px 0}
.ai-bubble li{margin-bottom:3px}
.ai-bubble strong{color:var(--gold2)}
.ai-bubble code{background:rgba(200,150,30,.1);border:1px solid var(--border2);padding:1px 5px;font-family:'Courier New',monospace;font-size:11px}
.ai-msg-meta{font-size:10px;color:var(--textm);margin-top:4px;letter-spacing:.5px}
.ai-msg.ai-user .ai-msg-meta{text-align:right}
.ai-typing-dots span{display:inline-block;width:5px;height:5px;background:var(--textm);border-radius:50%;margin:0 2px;animation:aiBounce 1.3s infinite}
.ai-typing-dots span:nth-child(2){animation-delay:.2s}
.ai-typing-dots span:nth-child(3){animation-delay:.4s}
@keyframes aiBounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-4px)}}
.ai-input-row{display:flex;gap:8px;align-items:flex-end;padding:10px 0 0;border-top:1px solid var(--border);margin-top:8px;flex-shrink:0}
.ai-input-wrap{flex:1;background:var(--bg2);border:1px solid var(--border);padding:9px 12px;display:flex;align-items:flex-end;gap:8px;transition:border-color .2s}
.ai-input-wrap:focus-within{border-color:var(--gold)}
.ai-textarea{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:13px;resize:none;min-height:20px;max-height:100px;font-family:var(--sans);line-height:1.5}
.ai-textarea::placeholder{color:var(--textm)}
.ai-send-btn{background:var(--gold);border:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .18s;color:var(--navy);font-size:14px;font-weight:700}
.ai-send-btn:hover{background:var(--gold2)}
.ai-send-btn:disabled{background:var(--bg);color:var(--textm);cursor:not-allowed}
.ai-clear-btn{background:none;border:1px solid var(--border);padding:7px 12px;color:var(--textm);font-size:11px;font-weight:600;cursor:pointer;letter-spacing:1px;text-transform:uppercase;font-family:var(--sans);transition:all .18s;white-space:nowrap;height:36px}
.ai-clear-btn:hover{border-color:var(--red,#C0392B);color:var(--red,#C0392B)}
.ai-error{font-size:12px;color:#C0392B;background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.2);padding:7px 12px;margin:4px 0}
.ai-disclaimer{font-size:10px;color:var(--textm);text-align:center;padding:6px 0;letter-spacing:.5px;flex-shrink:0}

/* ── LIVE REGULATORY NEWS TICKER ──────────────────────────────── */
.reg-ticker-bar{position:fixed;top:0;left:0;right:0;height:var(--ticker-h);z-index:1000;background:#06101C;border-bottom:1px solid rgba(200,150,30,.22);display:flex;align-items:center;overflow:hidden}
.reg-ticker-label-block{flex-shrink:0;padding:0 14px;display:flex;align-items:center;gap:7px;border-right:1px solid rgba(200,150,30,.2);height:100%;background:rgba(200,150,30,.05)}
.reg-ticker-live-dot{width:7px;height:7px;background:#E74C3C;border-radius:50%;animation:pulse-dot 1.6s ease-in-out infinite;flex-shrink:0}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.65)}}
.reg-ticker-lbl{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);white-space:nowrap;font-weight:500}
.reg-ticker-track{flex:1;overflow:hidden;height:100%;display:flex;align-items:center;cursor:default}
.reg-ticker-inner{display:flex;align-items:center;white-space:nowrap;animation:ticker-scroll 90s linear infinite;will-change:transform}
.reg-ticker-inner:hover{animation-play-state:paused}
@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker-item{font-size:11.5px;color:rgba(220,210,190,.8);padding:0 22px;transition:color .15s}
.ticker-item:hover{color:var(--gold)}
.ticker-source{font-size:9.5px;font-weight:600;letter-spacing:.5px;margin-right:7px}
.ticker-sep{color:rgba(200,150,30,.35);font-size:8px;padding:0 6px}
.reg-ticker-time-block{flex-shrink:0;padding:0 12px;border-left:1px solid rgba(200,150,30,.2);height:100%;display:flex;align-items:center}
.reg-ticker-time{font-size:9px;color:var(--muted);letter-spacing:.5px;white-space:nowrap}
.reg-ticker-nav-btn{display:none;flex-shrink:0;padding:0 12px;border-left:1px solid rgba(200,150,30,.2);height:100%;align-items:center;background:transparent;border-top:none;border-right:none;border-bottom:none;cursor:pointer;font-size:9px;color:var(--gold);letter-spacing:1.5px;text-transform:uppercase;font-family:var(--sans);transition:background .15s}
.reg-ticker-nav-btn:hover{background:rgba(200,150,30,.08)}

/* ── LIVE REGULATORY INTELLIGENCE SECTION ─────────────────────── */
.live-intel-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:32px;margin-bottom:28px}
.live-intel-filters{display:flex;flex-wrap:wrap;gap:6px}
.live-intel-filter{padding:5px 13px;background:transparent;border:1px solid var(--border);color:var(--textm);font-size:10px;letter-spacing:1.5px;cursor:pointer;font-family:var(--sans);transition:all .18s;text-transform:uppercase}
.live-intel-filter:hover{border-color:var(--gold);color:var(--text)}
.live-intel-filter.active{background:var(--gold);color:#06101C;border-color:var(--gold);font-weight:500}
.live-intel-meta{display:flex;align-items:center;gap:12px;flex-shrink:0}
#liveNewsTimestamp{font-size:10px;color:var(--textm);letter-spacing:.5px}
.live-intel-refresh{background:transparent;border:1px solid var(--border2);color:var(--gold);padding:4px 11px;font-size:10px;cursor:pointer;font-family:var(--sans);letter-spacing:1px;transition:all .18s}
.live-intel-refresh:hover{background:rgba(200,150,30,.08)}
.live-intel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:980px){.live-intel-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.live-intel-grid{grid-template-columns:1fr}}
.live-intel-card{background:var(--bg2);border:1px solid var(--border);padding:18px 20px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:8px;transition:border-color .2s,background .2s;position:relative;overflow:hidden}
.live-intel-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .28s}
.live-intel-card:hover{border-color:var(--border2);background:var(--bg3)}
.live-intel-card:hover::before{transform:scaleX(1)}
.live-intel-badge{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;padding:3px 8px;align-self:flex-start;border-radius:2px}
.live-intel-badges{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px}
.live-intel-auto{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--textm);background:transparent;border:1px dashed var(--border2);padding:2px 6px;border-radius:2px;font-weight:500}
.live-intel-title{font-size:13px;color:var(--text);line-height:1.5;font-weight:400}
.live-intel-date{font-size:10px;color:var(--textm);letter-spacing:.3px}
.live-intel-snippet{font-size:11.5px;color:var(--textm);line-height:1.65;flex:1}
.live-intel-read{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-top:2px}
.live-intel-loading{grid-column:1/-1;padding:52px;text-align:center;color:var(--textm);font-size:12px;letter-spacing:1.5px;border:1px solid var(--border);background:var(--bg2)}
.live-intel-error{grid-column:1/-1;padding:32px;text-align:center;color:var(--textm);font-size:12px;border:1px solid var(--border);background:var(--bg2);line-height:2}

/* ── INFO MODALS (About KILC · Regulatory Position · PIPL Guidance) ── */
.info-overlay{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:3100;display:none;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto}
.info-overlay.open{display:flex}
.info-modal{background:var(--bg2);border:1px solid var(--border2);width:100%;max-width:720px;margin:auto;display:flex;flex-direction:column;position:relative;max-height:92vh}
.info-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 28px 18px;border-bottom:1px solid var(--border);flex-shrink:0}
.info-modal-header-left{display:flex;flex-direction:column;gap:4px}
.info-modal-brand{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:600}
.info-modal-title{font-size:17px;font-weight:600;color:var(--text2)}
.info-modal-sub{font-size:11px;color:var(--textm);margin-top:2px}
.info-modal-close{background:none;border:none;color:var(--textm);font-size:18px;cursor:pointer;padding:0 2px;line-height:1;margin-left:16px;flex-shrink:0}
.info-modal-close:hover{color:var(--text2)}
.info-modal-body{overflow-y:auto;padding:28px;flex:1}
.info-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border)}
.info-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.info-section-label{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-weight:600}
.info-section-title{font-size:13px;font-weight:600;color:var(--text2);margin-bottom:10px}
.info-body-text{font-size:12px;color:var(--textm);line-height:1.85;margin-bottom:10px}
.info-body-text:last-child{margin-bottom:0}
.info-highlight{background:rgba(200,150,30,.06);border:1px solid var(--border);border-left:3px solid var(--gold);padding:12px 16px;margin:12px 0;font-size:12px;color:var(--textm);line-height:1.75}
.info-warning{background:rgba(192,57,43,.06);border:1px solid rgba(192,57,43,.18);border-left:3px solid #C0392B;padding:12px 16px;margin:12px 0;font-size:12px;color:var(--textm);line-height:1.75}
.info-detail-grid{display:grid;grid-template-columns:140px 1fr;gap:8px 0;margin:12px 0;font-size:11px}
.info-detail-label{color:var(--textm);opacity:.8;padding-right:12px;line-height:1.6}
.info-detail-value{color:var(--text2);font-weight:500;line-height:1.6}
.info-pathway{border:1px solid var(--border);padding:14px 16px;margin:8px 0;background:var(--bg)}
.info-pathway.rec{border-color:var(--gold);background:rgba(200,150,30,.04)}
.info-pathway-badge{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:5px;font-weight:600}
.info-pathway-name{font-size:12px;font-weight:600;color:var(--text2);margin-bottom:6px}
.info-pathway-body{font-size:11px;color:var(--textm);line-height:1.75}
.info-modal-footer{padding:14px 28px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.info-modal-footer-note{font-size:10px;color:var(--textm);opacity:.75}
.info-close-btn{background:var(--gold);color:var(--navy);border:none;padding:9px 24px;font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;font-family:var(--sans)}
.info-close-btn:hover{opacity:.88}

/* ── TIER SERVICES MODAL ─────────────────────────────────── */
.tier-modal{background:var(--bg2);border:1px solid var(--border2);width:100%;max-width:880px;margin:auto;display:flex;flex-direction:column;position:relative;max-height:92vh}
.tier-modal-name{font-size:19px;font-weight:700;color:var(--text2);margin-bottom:2px}
.tier-modal-price{font-size:13px;color:var(--gold);font-family:var(--serif);font-weight:600;margin-top:3px}
.tier-badge-starter .info-modal-brand{color:#6ba3c8}
.tier-badge-professional .info-modal-brand{color:var(--gold)}
.tier-badge-institutional .info-modal-brand{color:#a08ec8}
.tier-meta-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 4px}
.tier-meta-card{background:var(--bg);border:1px solid var(--border);padding:14px 10px;text-align:center}
.tier-meta-value{font-size:22px;font-weight:700;color:var(--gold);font-family:var(--serif);line-height:1}
.tier-meta-label{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--textm);margin-top:5px}
.tier-modules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0}
.tier-module-card{background:var(--bg);border:1px solid var(--border);padding:16px}
.tier-module-icon{font-size:18px;margin-bottom:7px;line-height:1}
.tier-module-name{font-size:11px;font-weight:700;color:var(--text2);letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}
.tier-check-item{display:flex;align-items:flex-start;gap:7px;font-size:11px;color:var(--textm);line-height:1.7;margin-bottom:3px}
.tier-check-dot{color:var(--gold);flex-shrink:0;font-size:10px;margin-top:3px}
.tier-x-item{display:flex;align-items:flex-start;gap:7px;font-size:11px;color:var(--textm);line-height:1.7;margin-bottom:3px;opacity:.38}
.tier-x-dot{flex-shrink:0;font-size:10px;margin-top:3px}
.tier-excl-block{background:var(--bg2);border:1px solid var(--border);padding:14px 16px;margin:14px 0}
.tier-excl-title{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--textm);margin-bottom:8px;opacity:.7}
.tier-excl-grid{display:flex;flex-wrap:wrap;gap:6px}
.tier-excl-chip{font-size:10px;padding:3px 10px;border:1px solid var(--border);color:var(--textm);opacity:.55}
.tier-support-bar{background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--gold);padding:11px 16px;margin:14px 0;font-size:11px;color:var(--textm);line-height:1.75}
.tier-proceed-btn{background:var(--gold);color:var(--navy);border:none;padding:11px 30px;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;font-family:var(--sans);transition:opacity .18s;white-space:nowrap}
.tier-proceed-btn:hover{opacity:.88}
@media(max-width:640px){.tier-modules-grid{grid-template-columns:1fr}.tier-meta-row{grid-template-columns:repeat(3,1fr)}}

/* ── TERMS & CONDITIONS MODAL ───────────────────────────── */
.tc-overlay{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:3000;display:none;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto}
.tc-overlay.open{display:flex}
.tc-modal{background:var(--bg2);border:1px solid var(--border2);width:100%;max-width:980px;margin:auto;display:flex;flex-direction:column;position:relative;max-height:92vh}
.tc-header{background:var(--bg3);border-bottom:1px solid var(--border2);padding:22px 32px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.tc-header-left{display:flex;align-items:center;gap:14px}
.tc-brand{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--gold);letter-spacing:2px}
.tc-brand-div{width:1px;height:18px;background:var(--border2)}
.tc-header-title{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--textm)}
.tc-close{background:none;border:1px solid var(--border);color:var(--textm);width:32px;height:32px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .18s;font-family:var(--sans);flex-shrink:0}
.tc-close:hover{border-color:var(--gold);color:var(--gold)}
.tc-meta{background:rgba(200,150,30,.04);border-bottom:1px solid var(--border);padding:10px 32px;font-size:10.5px;color:var(--textm);letter-spacing:.3px;flex-shrink:0}
.tc-meta b{color:var(--gold)}
.tc-body{display:flex;flex:1;overflow:hidden;min-height:0}
.tc-nav{width:220px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;padding:16px 0;background:var(--bg3)}
.tc-nav-item{display:block;padding:8px 20px;font-size:11px;color:var(--textm);cursor:pointer;border-left:2px solid transparent;transition:all .15s;line-height:1.4;letter-spacing:.3px}
.tc-nav-item:hover{color:var(--text2);background:rgba(200,150,30,.04)}
.tc-nav-item.active{color:var(--gold);border-left-color:var(--gold);background:rgba(200,150,30,.07)}
.tc-nav-num{font-family:var(--serif);color:var(--gold);margin-right:6px;font-size:11px}
.tc-content{flex:1;overflow-y:auto;padding:32px 36px}
.tc-content::-webkit-scrollbar{width:3px}
.tc-content::-webkit-scrollbar-thumb{background:var(--border2)}
.tc-section{display:none}
.tc-section.active{display:block}
.tc-section-title{font-family:var(--serif);font-size:22px;color:var(--text);margin-bottom:6px;font-weight:400;line-height:1.2}
.tc-section-num{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:block}
.tc-rule{width:40px;height:1px;background:var(--gold);margin:14px 0 22px}
.tc-body-text{font-size:13px;color:var(--text2);line-height:1.9;margin-bottom:14px}
.tc-body-text a{color:var(--gold);text-decoration:none}
.tc-body-text a:hover{text-decoration:underline}
.tc-clause{margin-bottom:18px}
.tc-clause-title{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--textm);margin-bottom:6px;font-weight:500}
.tc-clause-text{font-size:13px;color:var(--text2);line-height:1.85}
.tc-list{list-style:none;margin:8px 0 14px}
.tc-list li{display:flex;gap:10px;padding:5px 0;font-size:13px;color:var(--text2);line-height:1.65;border-bottom:1px solid rgba(200,150,30,.05)}
.tc-list li:last-child{border-bottom:none}
.tc-list li::before{content:'◆';font-size:7px;color:var(--gold);flex-shrink:0;margin-top:6px}
.tc-highlight{background:rgba(200,150,30,.06);border:1px solid var(--border);border-left:3px solid var(--gold);padding:14px 18px;margin:16px 0;font-size:12.5px;color:var(--text2);line-height:1.8}
.tc-highlight b{color:var(--text)}
.tc-warning{background:rgba(192,57,43,.06);border:1px solid rgba(192,57,43,.2);border-left:3px solid #C0392B;padding:14px 18px;margin:16px 0;font-size:12.5px;color:var(--text2);line-height:1.8}
.tc-footer-bar{background:var(--bg3);border-top:1px solid var(--border);padding:14px 32px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:12px}
.tc-accept-btn{background:var(--gold);color:var(--navy);border:none;padding:10px 26px;font-size:12px;font-weight:500;letter-spacing:1.5px;cursor:pointer;font-family:var(--sans);transition:background .2s;text-transform:uppercase}
.tc-accept-btn:hover{background:var(--gold2)}
.tc-nav-btn{background:transparent;border:1px solid var(--border);color:var(--textm);padding:9px 18px;font-size:11px;cursor:pointer;font-family:var(--sans);letter-spacing:1px;transition:all .18s}
.tc-nav-btn:hover{border-color:var(--gold);color:var(--gold)}
@media(max-width:760px){.tc-nav{display:none}.tc-content{padding:20px}.tc-modal{max-height:none;height:100%}}
  /* ── Case Study Panels ─────────────────────────────────────── */
  .cs-panel{background:var(--bg2);border:1px solid var(--border);margin-bottom:2px;position:relative;overflow:hidden;transition:border-color .25s}
  .cs-panel:hover{border-color:var(--border2)}
  .cs-panel::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold)}
  .cs-hdr{display:flex;align-items:center;gap:12px;padding:14px 32px;background:var(--bg3);border-bottom:1px solid var(--border);flex-wrap:wrap}
  .cs-flag{font-size:18px;line-height:1;flex-shrink:0}
  .cs-client-type{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:500}
  .cs-divider{width:1px;height:12px;background:var(--border2);flex-shrink:0}
  .cs-location{font-size:11px;color:var(--textm);letter-spacing:.5px}
  .cs-sector-tag{margin-left:auto;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border:1px solid var(--border2);color:var(--textm)}
  .cs-quote-wrap{padding:28px 32px 20px;border-bottom:1px solid var(--border)}
  .cs-quote{font-family:var(--serif);font-size:clamp(15px,2vw,20px);font-weight:300;color:var(--text);font-style:italic;line-height:1.65;letter-spacing:.2px}
  .cs-quote::before{content:'\201C';color:var(--gold);font-size:1.4em;line-height:0;vertical-align:-.2em;margin-right:3px}
  .cs-quote::after{content:'\201D';color:var(--gold);font-size:1.4em;line-height:0;vertical-align:-.2em;margin-left:3px}
  .cs-attribution{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--textm);margin-top:10px}
  .cs-body{display:grid;grid-template-columns:3fr 2fr;border-bottom:1px solid var(--border)}
  .cs-narr{padding:28px 32px;border-right:1px solid var(--border)}
  .cs-narr-section{margin-bottom:20px}
  .cs-narr-section:last-child{margin-bottom:0}
  .cs-narr-lbl{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:8px;display:flex;align-items:center;gap:8px}
  .cs-narr-lbl::after{content:'';flex:1;height:1px;background:var(--border)}
  .cs-narr-text{font-size:13px;color:var(--textm);line-height:1.8}
  .cs-metrics{padding:24px 28px;display:flex;flex-direction:column;gap:16px;justify-content:center;background:var(--bg3)}
  .cs-met{padding:16px 18px;background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--gold);position:relative}
  .cs-met-val{font-family:var(--serif);font-size:clamp(22px,3vw,32px);font-weight:300;color:var(--gold);line-height:1;margin-bottom:4px}
  .cs-met-label{font-size:10.5px;color:var(--textm);line-height:1.5;letter-spacing:.2px}
  .cs-chips{padding:16px 32px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .cs-chips-lbl{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--textm);margin-right:4px;flex-shrink:0}
  .cs-chip{font-size:9.5px;letter-spacing:1px;padding:4px 10px;border:1px solid var(--border);color:var(--textm);text-transform:uppercase;background:transparent}
  .cs-num{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--textm);padding:0 32px 0 0;margin-left:auto;flex-shrink:0}
  @media(max-width:760px){
    .cs-body{grid-template-columns:1fr}
    .cs-narr{border-right:none;border-bottom:1px solid var(--border)}
    .cs-metrics{flex-direction:row;flex-wrap:wrap}
    .cs-met{flex:1;min-width:140px}
    .cs-hdr{padding:12px 20px}
    .cs-quote-wrap,.cs-narr,.cs-chips{padding-left:20px;padding-right:20px}
  }
/* Clickable hint on existing capability cards */
#capGrid .card{cursor:pointer}
#capGrid .card::after{content:'View detail →';position:absolute;right:18px;bottom:14px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);opacity:0;transition:opacity .25s}
#capGrid .card:hover::after{opacity:.95}
body.lang-zh #capGrid .card::after{content:'查看详情 →'}

/* Panel overlay */
.xpan-overlay{position:fixed;inset:0;background:rgba(8,14,24,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:950;opacity:0;pointer-events:none;transition:opacity .25s ease}
.xpan-overlay.open{opacity:1;pointer-events:auto}
.xpan-wrap{position:fixed;top:0;right:0;height:100vh;width:min(920px,96vw);background:var(--bg2);border-left:1px solid var(--border2);z-index:960;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;box-shadow:-24px 0 60px rgba(0,0,0,.45)}
.xpan-wrap.open{transform:translateX(0)}
[dir=rtl] .xpan-wrap{right:auto;left:0;border-left:none;border-right:1px solid var(--border2);transform:translateX(-100%)}
[dir=rtl] .xpan-wrap.open{transform:translateX(0)}

.xpan-hdr{padding:28px 36px 20px;border-bottom:1px solid var(--border);position:relative;background:var(--bg3)}
.xpan-icon{font-size:28px;display:inline-block;margin-bottom:10px}
.xpan-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.xpan-title{font-family:var(--serif);font-size:28px;font-weight:300;line-height:1.25;color:var(--text);margin-bottom:6px}
.xpan-sub{font-size:13px;color:var(--textm);line-height:1.6;max-width:80%}
.xpan-price{display:inline-block;margin-top:14px;padding:6px 14px;background:rgba(200,150,30,.12);border:1px solid var(--border2);color:var(--gold);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-family:var(--sans);text-decoration:none;transition:background .18s}
.xpan-price:hover{background:rgba(200,150,30,.22)}
.xpan-price:empty{display:none}
.xpan-close{position:absolute;top:22px;right:26px;width:36px;height:36px;background:transparent;border:1px solid var(--border2);color:var(--text);font-size:18px;cursor:pointer;transition:all .2s;line-height:1}
.xpan-close:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
[dir=rtl] .xpan-close{right:auto;left:26px}

.xpan-body{overflow-y:auto;padding:28px 36px 36px;flex:1}
.xpan-body::-webkit-scrollbar{width:4px}
.xpan-body::-webkit-scrollbar-track{background:var(--bg2)}
.xpan-body::-webkit-scrollbar-thumb{background:var(--gold)}

.xpan-sec{margin-bottom:32px}
.xpan-sec-hdr{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.xpan-sec-num{font-family:var(--serif);font-size:12px;color:var(--gold);letter-spacing:2px}
.xpan-sec-title{font-family:var(--serif);font-size:14px;letter-spacing:3px;text-transform:uppercase;color:var(--text)}
.xpan-sec-rule{flex:1;height:1px;background:var(--border)}

.xpan-overview{font-size:14px;line-height:1.85;color:var(--textm)}

.xpan-feat{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border)}
.xpan-feat-item{background:var(--bg2);padding:16px 18px;font-size:12.5px;line-height:1.65;color:var(--textm);display:flex;gap:12px}
.xpan-feat-n{font-family:var(--serif);font-size:11px;color:var(--gold);letter-spacing:1px;min-width:24px;padding-top:2px}
.xpan-feat-t{flex:1}
.xpan-feat-t strong{color:var(--text);font-weight:500;display:block;margin-bottom:3px;font-size:12.5px}

.xpan-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}
.xpan-stat{background:var(--bg2);padding:18px 16px;text-align:center}
.xpan-stat-v{font-family:var(--serif);font-size:24px;font-weight:300;color:var(--gold);line-height:1;margin-bottom:6px}
.xpan-stat-l{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--textm);line-height:1.4}

.xpan-refs{list-style:none;padding:0;margin:0;border:1px solid var(--border)}
.xpan-refs li{padding:11px 18px;font-size:12.5px;color:var(--textm);line-height:1.55;border-bottom:1px solid var(--border);position:relative;padding-left:32px}
.xpan-refs li:last-child{border-bottom:none}
.xpan-refs li::before{content:'§';position:absolute;left:14px;top:11px;color:var(--gold);font-family:var(--serif);font-size:13px}

.xpan-zh{background:var(--bg3);border:1px solid var(--border);padding:20px 22px}
.xpan-zh-label{font-family:var(--serif);font-size:12px;letter-spacing:2px;color:var(--gold);margin-bottom:10px}
.xpan-zh-body{font-family:var(--zh,"Noto Serif SC",serif);font-size:13.5px;line-height:1.95;color:var(--text)}

.xpan-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.xpan-cta .btn{padding:13px 26px;font-size:12px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:1px solid var(--gold);font-family:var(--sans);transition:all .2s}
.xpan-cta .btn-primary{background:var(--gold);color:var(--navy)}
.xpan-cta .btn-primary:hover{background:var(--gold2)}
.xpan-cta .btn-ghost{background:transparent;color:var(--gold)}
.xpan-cta .btn-ghost:hover{background:var(--gold);color:var(--navy)}

body.xpan-lock{overflow:hidden}

@media (max-width:760px){
  .xpan-wrap{width:100vw;border-left:none}
  .xpan-hdr{padding:22px 22px 16px}
  .xpan-body{padding:22px}
  .xpan-title{font-size:22px}
  .xpan-sub{max-width:100%}
  .xpan-feat,.xpan-stats{grid-template-columns:1fr}
}

/* ── PRICING — sub-model note + per-tier service breakdown ── */
.price-note{font-size:11px;color:var(--gold);background:rgba(200,150,30,.06);border-left:2px solid var(--gold);padding:7px 10px;margin:8px 0 12px;line-height:1.55;letter-spacing:.2px}


.price-services{margin:14px 0 18px;border-top:1px solid var(--border);padding-top:12px}
.price-services > summary{list-style:none;cursor:pointer;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);padding:6px 0;font-family:var(--sans);transition:color .15s}
.price-services > summary::-webkit-details-marker{display:none}
.price-services > summary:hover{color:var(--gold2)}
.price-services > summary .ps-less{display:none}
.price-services[open] > summary .ps-more{display:none}
.price-services[open] > summary .ps-less{display:inline}
.price-services-body{padding-top:8px}
.price-service-cat{margin-bottom:14px}
.price-service-cat:last-child{margin-bottom:0}
.price-service-cat-title{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-family:var(--sans);font-weight:500;border-left:2px solid var(--gold);padding-left:8px}
.price-service-list{list-style:none;padding:0;margin:0}
.price-service-list li{position:relative;padding:4px 0 4px 14px;font-size:12px;line-height:1.55;color:var(--text2)}
.price-service-list li::before{content:'';position:absolute;left:0;top:11px;width:6px;height:1px;background:var(--gold);opacity:.6}

/* ── DEMO GATING (public tool results) ──────────────────── */
.demo-badge{display:inline-block;padding:3px 9px;font-size:9.5px;font-weight:600;letter-spacing:2px;color:var(--navy);background:var(--gold);border-radius:2px;font-family:var(--sans);text-transform:uppercase;vertical-align:middle}
.demo-result-frame{position:relative}
.demo-result-frame > .demo-badge-corner{position:absolute;top:-4px;right:0;z-index:2}
.demo-blur-wrap{position:relative;margin-top:14px}
.gap-action-cell-gated .demo-blur-wrap{margin-top:0}
.gap-action-cell-gated .demo-blur-content{max-height:90px}
.gap-action-cell-gated .demo-blur-overlay{padding:10px}
.gap-action-cell-gated .demo-blur-overlay .demo-cta-text{font-size:11.5px;margin-bottom:8px}
.gap-action-cell-gated .demo-blur-overlay .demo-cta-btn{padding:7px 14px;font-size:10.5px}
.demo-blur-content{filter:blur(5px);pointer-events:none;user-select:none;opacity:.55;max-height:140px;overflow:hidden}
.demo-blur-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;background:linear-gradient(180deg,rgba(15,28,46,0) 0%,rgba(15,28,46,.92) 60%)}
body.light .demo-blur-overlay{background:linear-gradient(180deg,rgba(244,241,235,0) 0%,rgba(244,241,235,.94) 60%)}
.demo-blur-overlay .demo-cta-text{font-size:13px;color:var(--text);font-weight:500;margin-bottom:10px;line-height:1.5}
.demo-blur-overlay .demo-cta-btn{background:var(--gold);color:var(--navy);border:none;padding:10px 20px;font-size:12px;font-weight:500;letter-spacing:1.5px;cursor:pointer;font-family:var(--sans);text-transform:uppercase}
.demo-blur-overlay .demo-cta-btn:hover{background:var(--gold2)}
.demo-banner{margin-top:16px;padding:14px 18px;border:1px solid var(--border2);background:rgba(200,150,30,.06);display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.demo-banner-text{flex:1;min-width:240px;font-size:12.5px;color:var(--text2);line-height:1.55}
.demo-banner-btn{background:var(--gold);color:var(--navy);border:none;padding:9px 18px;font-size:11.5px;font-weight:500;letter-spacing:1.5px;cursor:pointer;font-family:var(--sans);text-transform:uppercase;flex-shrink:0}
.demo-banner-btn:hover{background:var(--gold2)}
.demo-rate-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:9500;display:none;align-items:center;justify-content:center;padding:20px}
.demo-rate-modal.open{display:flex}
.demo-rate-card{background:var(--bg2);border:1px solid var(--border2);border-top:3px solid var(--gold);max-width:420px;width:100%;padding:28px}
.demo-rate-title{font-family:var(--serif);font-size:20px;color:var(--text);margin-bottom:10px}
.demo-rate-text{font-size:13px;color:var(--textm);line-height:1.7;margin-bottom:20px}
.demo-rate-actions{display:flex;gap:10px;flex-wrap:wrap}
.demo-rate-primary{background:var(--gold);color:var(--navy);border:none;padding:10px 22px;font-size:12px;font-weight:500;letter-spacing:1.5px;cursor:pointer;font-family:var(--sans);text-transform:uppercase}
.demo-rate-secondary{background:transparent;color:var(--textm);border:1px solid var(--border2);padding:10px 18px;font-size:12px;letter-spacing:1.5px;cursor:pointer;font-family:var(--sans)}

/* ── REDUCED MOTION — respect user preference ─────────────── */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1;transform:none}
}

/* ── Channel-detail modal (Who-We-Serve six channels) ───────────────── */
.serve-card{cursor:pointer;outline:none;transition:background .25s,box-shadow .25s}
.serve-card:hover{background:var(--bg3)}
.serve-card:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}
.serve-card-more{margin-top:14px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:600;opacity:.7;transition:opacity .2s}
.serve-card:hover .serve-card-more{opacity:1}

.serve-modal{position:fixed;inset:0;background:rgba(15,28,46,.85);z-index:9500;display:none;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.serve-modal.open{display:flex;animation:serveModalFade .18s ease-out}
@keyframes serveModalFade{from{opacity:0}to{opacity:1}}
.serve-modal-content{background:var(--bg2);max-width:760px;width:100%;max-height:90vh;overflow-y:auto;padding:38px 40px 34px;border:1px solid var(--border2);position:relative;box-shadow:0 24px 64px rgba(0,0,0,.5);animation:serveModalRise .22s ease-out}
@keyframes serveModalRise{from{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}
body.lang-zh .serve-modal-content{font-family:var(--zh),var(--sans)}

.serve-modal-close{position:absolute;top:12px;right:14px;background:none;border:0;color:var(--text2);font-size:30px;line-height:1;cursor:pointer;padding:0;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.serve-modal-close:hover,.serve-modal-close:focus-visible{background:var(--bg3);color:var(--gold);outline:none}

.serve-modal-icon{font-size:28px;width:56px;height:56px;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--gold)}
.serve-modal-title{font-family:var(--serif);font-size:24px;color:var(--text);margin:0 0 14px;line-height:1.25;font-weight:500}
body.lang-zh .serve-modal-title{font-family:var(--zh)}
.serve-modal-lead{font-size:14px;color:var(--text2);margin:0 0 20px;line-height:1.7}

.serve-modal-sub{font-family:var(--serif);font-size:11px;color:var(--gold);margin:22px 0 10px;letter-spacing:2px;text-transform:uppercase;font-weight:600}
body.lang-zh .serve-modal-sub{font-family:var(--zh);letter-spacing:1.5px}

.serve-modal-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.serve-modal-chip{font-size:11.5px;padding:4px 10px;background:var(--bg);border:1px solid var(--border);color:var(--text);line-height:1.5;white-space:nowrap}
.serve-modal-chip b{color:var(--gold);margin-right:6px;font-weight:600}

.serve-modal-list{margin:8px 0 0;padding-left:20px;font-size:13px;color:var(--text2);line-height:1.75}
.serve-modal-list li{margin-bottom:5px}

.serve-modal-para{font-size:13px;color:var(--text2);line-height:1.7;margin:0}
.serve-modal-example{background:var(--bg);border-left:2px solid var(--gold);padding:14px 16px;margin:6px 0 0;font-size:12.5px;color:var(--text2);line-height:1.7;font-style:italic}

.serve-modal-cta{display:inline-block;margin-top:26px;padding:12px 24px;background:var(--gold);color:var(--navy)!important;text-decoration:none;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;transition:opacity .15s;border:0}
.serve-modal-cta:hover,.serve-modal-cta:focus-visible{opacity:.85;outline:none}

@media (max-width:560px){
  .serve-modal{padding:12px}
  .serve-modal-content{padding:28px 22px 24px;max-height:94vh}
  .serve-modal-title{font-size:20px}
}

/* ── Capability cards: clickable variant (reuses .serve-modal markup) ── */
.card.card-clickable{cursor:pointer;outline:none;transition:background .25s,box-shadow .25s,transform .15s}
.card.card-clickable:hover{background:var(--bg3)}
.card.card-clickable:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}
.card-more{margin-top:14px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:600;opacity:.7;transition:opacity .2s}
.card.card-clickable:hover .card-more{opacity:1}

/* ── Pricing tier "view full service breakdown" button (modal trigger) ── */
.price-services-btn{
  display:block;width:100%;margin:14px 0 10px;padding:9px 14px;
  background:transparent;border:1px solid var(--border2);color:var(--gold);
  font-family:var(--sans);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s;
}
.price-services-btn:hover,.price-services-btn:focus-visible{
  background:var(--gold);color:var(--navy);border-color:var(--gold);outline:none;
}

/* ── Tool "About this tool" info button ──────────────────────────────── */
.tool-info-btn{
  margin-left:8px;background:transparent;border:1px solid var(--border2);
  color:var(--text2);width:24px;height:24px;border-radius:50%;cursor:pointer;
  font-size:12px;font-weight:600;line-height:1;display:inline-flex;
  align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s;
  vertical-align:middle;
}
.tool-info-btn:hover,.tool-info-btn:focus-visible{
  background:var(--gold);color:var(--navy);border-color:var(--gold);outline:none;
}

/* ── Partner protections: clickable variant ─────────────────────────── */
.prot-item.prot-clickable{cursor:pointer;outline:none;transition:background .25s,box-shadow .15s;position:relative;padding-right:88px}
.prot-item.prot-clickable:hover{background:rgba(200,150,30,0.06)}
.prot-item.prot-clickable:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}
.prot-more{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:600;opacity:.6;transition:opacity .2s;white-space:nowrap}
.prot-item.prot-clickable:hover .prot-more,.prot-item.prot-clickable:focus-visible .prot-more{opacity:1}
@media (max-width:560px){
  .prot-item.prot-clickable{padding-right:14px;padding-bottom:30px}
  .prot-more{position:static;transform:none;display:block;margin-top:8px}
}

/* ── Modal: quoted contract-clause text styling (used by openProtDetail) ── */
.serve-modal-quote{
  background:var(--bg);border-left:3px solid var(--gold);padding:12px 16px;
  font-family:var(--serif);font-size:12.5px;line-height:1.7;color:var(--text);
  font-style:italic;margin:0;
}
body.lang-zh .serve-modal-quote{font-family:var(--zh)}

/* ── Partner guarantees: clickable variant (mirrors protection details) ── */
.guar-item.guar-clickable{cursor:pointer;outline:none;transition:background .2s,padding .2s;border-radius:0;padding-left:8px;padding-right:8px;margin-left:-8px;margin-right:-8px}
.guar-item.guar-clickable:hover{background:rgba(200,150,30,0.06)}
.guar-item.guar-clickable:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}
.guar-body{flex:1;min-width:0}
.guar-more{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:600;margin-top:6px;opacity:0;transition:opacity .2s}
.guar-item.guar-clickable:hover .guar-more,.guar-item.guar-clickable:focus-visible .guar-more{opacity:1}

/* ── Tier-tiered demo cards (login modal) ───────────────────────────── */
.tier-demo-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:14px}
.tier-demo-card{
  background:transparent;border:1px solid var(--border2);
  padding:16px 14px 18px;cursor:pointer;outline:none;position:relative;
  transition:background .2s,border-color .2s,transform .15s;
  display:flex;flex-direction:column;
}
.tier-demo-card:hover{background:var(--bg3);border-color:var(--gold)}
.tier-demo-card:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}
.tier-demo-card.featured{border:2px solid var(--gold);background:rgba(200,150,30,0.04)}
.tier-demo-badge{
  position:absolute;top:-1px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:var(--navy);font-size:8.5px;letter-spacing:1.5px;
  padding:2px 10px;font-weight:700;white-space:nowrap;
}
.tier-demo-name{font-family:var(--serif);font-size:13px;color:var(--text);font-weight:600;margin-bottom:6px;letter-spacing:1.2px}
.tier-demo-price{margin-bottom:8px;line-height:1}
.tier-demo-amt{font-family:var(--serif);font-size:22px;color:var(--gold);font-weight:600}
.tier-demo-amt-from{font-size:10px;color:var(--textm);margin-right:4px;letter-spacing:1px;text-transform:uppercase}
.tier-demo-period{font-size:11px;color:var(--textm);margin-left:2px}
.tier-demo-persona{font-size:10.5px;color:var(--text2);font-style:italic;margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed var(--border)}
.tier-demo-feats{list-style:none;padding:0;margin:0 0 12px;flex:1;font-size:11px;color:var(--text2);line-height:1.65}
.tier-demo-feats li{padding:2px 0 2px 12px;position:relative}
.tier-demo-feats li::before{content:'·';color:var(--gold);position:absolute;left:0;font-weight:700}
.tier-demo-feats li.tier-demo-feat-na{color:var(--textm);opacity:.65}
.tier-demo-feats li.tier-demo-feat-na::before{content:'×';color:var(--textm)}
.tier-demo-cta{
  font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);
  font-weight:600;text-align:center;padding:6px 0;border-top:1px solid var(--border);
  transition:color .15s;
}
.tier-demo-card:hover .tier-demo-cta,.tier-demo-card.featured .tier-demo-cta{color:var(--text)}
@media (max-width:560px){
  .tier-demo-grid{grid-template-columns:1fr}
  .tier-demo-card{flex-direction:row;align-items:center;gap:14px;padding:14px 16px}
  .tier-demo-name,.tier-demo-price,.tier-demo-persona,.tier-demo-cta{margin-bottom:0}
  .tier-demo-feats{display:none}
}

/* Tier-aware sidebar tier badge color */
.sidebar-tier[data-tier="starter"]{color:#6b8aa8}
.sidebar-tier[data-tier="pro"]{color:var(--gold)}
.sidebar-tier[data-tier="inst"]{color:#e8c876;font-weight:700}

/* ── Dashboard tier banner (shown after tiered demo login) ──────────── */
.tier-banner{
  border:1px solid var(--border2);background:var(--bg2);
  padding:18px 22px;margin:14px 0 18px;
  position:relative;
}
.tier-banner-starter{border-left:3px solid #6b8aa8}
.tier-banner-pro{border-left:3px solid var(--gold)}
.tier-banner-inst{border-left:3px solid #e8c876;background:linear-gradient(135deg,var(--bg2) 0%,rgba(232,200,118,0.04) 100%)}
.tier-banner-row{
  display:flex;gap:32px;align-items:flex-start;flex-wrap:wrap;
}
.tier-banner-eyebrow{font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:var(--textm);margin-bottom:4px}
.tier-banner-name{font-family:var(--serif);font-size:22px;color:var(--text);font-weight:600;letter-spacing:1px;line-height:1.1}
.tier-banner-price{font-size:11.5px;color:var(--gold);margin-top:4px;letter-spacing:.3px}
.tier-banner-feats{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 16px;font-size:11.5px;color:var(--text2);line-height:1.6}
.tier-banner-feat{padding:1px 0}
.tier-banner-upgrade{
  margin-top:14px;padding-top:12px;border-top:1px dashed var(--border);
  font-size:11px;color:var(--textm);font-style:italic;
}
@media (max-width:680px){
  .tier-banner-row{flex-direction:column;gap:14px}
  .tier-banner-feats{grid-template-columns:1fr}
}

/* ── Tier-gated sidebar nav items + tier badges ─────────────────────── */
.nav-item[data-min-tier]{position:relative}
.nav-item.nav-locked{opacity:.55;cursor:pointer}
.nav-item.nav-locked:hover{opacity:.85;background:rgba(200,150,30,0.04)}
.nav-item.nav-locked .nav-item-icon::before{content:'🔒 ';font-size:9px;letter-spacing:0;margin-right:4px;color:var(--textm)}
.nav-tier-badge{
  display:none;margin-left:auto;font-size:8.5px;letter-spacing:1.5px;
  padding:2px 6px;border-radius:2px;font-weight:700;
}
.nav-tier-pro{background:var(--gold);color:var(--navy)}
.nav-tier-inst{background:#e8c876;color:var(--navy)}

/* ── Tier-gate interstitial screen ──────────────────────────────────── */
.tier-gate-wrap{
  display:flex;align-items:center;justify-content:center;min-height:60vh;padding:40px 20px;
}
.tier-gate-card{
  max-width:520px;width:100%;background:var(--bg2);border:1px solid var(--border2);
  padding:48px 44px;text-align:center;position:relative;
}
.tier-gate-icon{font-size:36px;margin-bottom:16px;opacity:.75}
.tier-gate-eyebrow{font-size:9.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--textm);margin-bottom:8px}
.tier-gate-title{font-family:var(--serif);font-size:24px;color:var(--text);font-weight:500;margin:0 0 12px;line-height:1.25}
body.lang-zh .tier-gate-title{font-family:var(--zh)}
.tier-gate-lead{font-size:13px;color:var(--text2);line-height:1.7;margin:0 0 24px}
.tier-gate-required{
  background:var(--bg);padding:18px 20px;margin-bottom:18px;border:1px dashed var(--border2);
}
.tier-gate-required-label{font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:var(--textm);margin-bottom:6px}
.tier-gate-required-tier{font-family:var(--serif);font-size:20px;color:var(--gold);font-weight:600;letter-spacing:1.5px;margin-bottom:4px}
.tier-gate-tier-pro{color:var(--gold)}
.tier-gate-tier-inst{color:#e8c876}
.tier-gate-required-price{font-size:11.5px;color:var(--text2)}
.tier-gate-current{font-size:11.5px;color:var(--textm);margin-bottom:24px}
.tier-gate-current b{color:var(--text)}
.tier-gate-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.tier-gate-btn{
  padding:11px 22px;border:1px solid var(--border2);background:transparent;color:var(--text);
  font-family:var(--sans);font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;
  cursor:pointer;transition:background .15s,color .15s,border-color .15s;
}
.tier-gate-btn:hover{background:var(--bg3);border-color:var(--gold);color:var(--gold)}
.tier-gate-btn-primary{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.tier-gate-btn-primary:hover{opacity:.85;color:var(--navy);background:var(--gold)}

/* ── Tier-limit strip atop tool screens (NSI/KYC/Gap) ──────────────── */
.tier-strip{
  display:flex;align-items:center;gap:14px;
  padding:9px 14px;margin:8px 0 14px;
  font-size:11px;letter-spacing:.3px;color:var(--text2);
  background:var(--bg);border:1px solid var(--border2);border-left:3px solid var(--gold);
  flex-wrap:wrap;
}
.tier-strip-starter{border-left-color:#6b8aa8}
.tier-strip-pro{border-left-color:var(--gold)}
.tier-strip-inst{border-left-color:#e8c876}
.tier-strip-tier{
  font-family:var(--serif);font-size:10.5px;font-weight:700;letter-spacing:1.5px;
  text-transform:uppercase;padding:2px 8px;background:var(--bg2);
}
.tier-strip-starter .tier-strip-tier{color:#6b8aa8}
.tier-strip-pro .tier-strip-tier{color:var(--gold)}
.tier-strip-inst .tier-strip-tier{color:#e8c876}
.tier-strip-limit{flex:1;min-width:140px;line-height:1.5}
.tier-strip-upgrade{
  font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);
  font-weight:600;text-decoration:none;white-space:nowrap;
}
.tier-strip-upgrade:hover{text-decoration:underline}

/* ── Footer cookie-preferences re-open link ─────────────────────────── */
.footer-cookie-link{
  background:transparent;border:0;padding:0;margin-left:18px;
  font-family:var(--sans);font-size:11px;color:var(--text2);cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;letter-spacing:.3px;
}
.footer-cookie-link:hover,.footer-cookie-link:focus-visible{color:var(--gold);outline:none}

/* ── Signup wizard 6-channel grid (Schedule B taxonomy) ─────────────── */
.signup-channel-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;
}
.signup-channel-card{
  position:relative;background:transparent;border:1px solid var(--border2);
  padding:14px 14px 12px;cursor:pointer;outline:none;
  transition:background .15s,border-color .15s,transform .12s;
}
.signup-channel-card:hover{background:var(--bg3);border-color:var(--gold)}
.signup-channel-card:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}
.signup-channel-card.sel{background:rgba(200,150,30,.08);border-color:var(--gold);border-width:2px;padding:13px 13px 11px}
.schan-code{
  position:absolute;top:8px;right:10px;
  font-family:var(--serif);font-size:13px;font-weight:700;letter-spacing:1.5px;
  color:var(--gold);background:rgba(200,150,30,.1);padding:2px 8px;border-radius:2px;
}
.schan-icon{font-size:18px;display:block;margin-bottom:8px}
.schan-label{font-size:12px;font-weight:600;color:var(--text);line-height:1.35;margin-bottom:4px;padding-right:30px}
.schan-sub{font-size:10.5px;color:var(--textm);line-height:1.5}
@media (max-width:560px){
  .signup-channel-grid{grid-template-columns:1fr 1fr;gap:6px}
  .signup-channel-card{padding:12px 12px 10px}
  .schan-label{font-size:11.5px}
  .schan-sub{font-size:10px}
}

/* ═══════════════════════════════════════════════════════════
   SEARCH BUTTON + MODAL
   ═══════════════════════════════════════════════════════════ */
.search-btn{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border2);color:var(--text2);padding:6px 10px 6px 12px;font-size:12px;letter-spacing:.3px;cursor:pointer;font-family:var(--sans);transition:all .15s;margin-right:8px}
.search-btn:hover{border-color:var(--gold);color:var(--text)}
.search-btn-icon{font-size:11px;opacity:.85}
.search-btn-label{font-size:12px}
.search-btn-kbd{font-size:10px;color:var(--textm);background:var(--bg2);border:1px solid var(--border);padding:1px 5px;font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);letter-spacing:0}
@media (max-width:880px){
  .search-btn-label,.search-btn-kbd{display:none}
  .search-btn{padding:6px 8px}
}

.search-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(8,14,24,.72);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding:80px 16px 16px}
.search-overlay[hidden]{display:none}
.search-modal{width:100%;max-width:640px;background:var(--bg);border:1px solid var(--border2);box-shadow:0 24px 80px rgba(0,0,0,.45);display:flex;flex-direction:column;max-height:calc(100vh - 100px);overflow:hidden}
.search-input-wrap{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}
.search-input-icon{font-size:14px;color:var(--textm);flex:0 0 auto}
.search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-family:var(--sans);font-size:15px;letter-spacing:.2px}
.search-input::placeholder{color:var(--textm)}
.search-input-kbd{font-size:10px;color:var(--textm);background:var(--bg2);border:1px solid var(--border);padding:2px 6px;font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);letter-spacing:0;flex:0 0 auto}
.search-results{flex:1;overflow-y:auto;padding:6px 0;min-height:60px;max-height:480px}
.search-section-hdr{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--textm);padding:10px 18px 4px}
.search-result-item{display:flex;align-items:flex-start;gap:12px;padding:10px 18px;cursor:pointer;border-left:2px solid transparent;transition:background .12s}
.search-result-item:hover,.search-result-item.active{background:rgba(200,150,30,.08);border-left-color:var(--gold)}
.search-result-icon{flex:0 0 24px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--gold);background:rgba(200,150,30,.08);border:1px solid rgba(200,150,30,.18);margin-top:2px}
.search-result-body{flex:1;min-width:0}
.search-result-label{font-size:13.5px;color:var(--text);font-weight:500;line-height:1.35;display:flex;align-items:center;gap:6px}
.search-result-type{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);background:rgba(200,150,30,.08);border:1px solid rgba(200,150,30,.18);padding:1px 6px;font-weight:500}
.search-result-desc{font-size:11.5px;color:var(--textm);line-height:1.45;margin-top:3px}
.search-result-arrow{flex:0 0 auto;color:var(--textm);font-size:12px;align-self:center}
.search-result-item.active .search-result-arrow,.search-result-item:hover .search-result-arrow{color:var(--gold)}
.search-empty{padding:30px 18px;text-align:center;color:var(--textm);font-size:13px}
.search-footer{display:flex;align-items:center;gap:14px;padding:10px 18px;border-top:1px solid var(--border);font-size:10.5px;color:var(--textm);background:var(--bg2)}
.search-foot-item{display:inline-flex;align-items:center;gap:5px}
.search-foot-end{margin-left:auto}
.search-footer kbd{font-size:9.5px;color:var(--text2);background:var(--bg);border:1px solid var(--border);padding:1px 5px;font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace)}
@media (max-width:560px){
  .search-overlay{padding:40px 8px 8px}
  .search-modal{max-height:calc(100vh - 56px)}
  .search-foot-item:nth-child(2),.search-foot-item:nth-child(1){display:none}
}
