/* ===== Reset ===== */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:52px}

/* ===== Design tokens ===== */
:root{
  --bg:#0A1628;
  --bg2:#0F1D32;
  --bg3:#162440;
  --border:rgba(0,212,255,0.2);
  --text:#F0F4F8;
  --text2:#8899AA;
  --text3:#556677;
  --accent:#00D4FF;
  --accent2:#00B4D8;
  --green:#1D9E75;
  --red:#EF5350;
  --r:10px;
}

/* ===== Base ===== */
body{
  font-family:'Onest',sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  padding-bottom:60px;
}
a{color:var(--accent)}

/* ===== Layout ===== */
.w{max-width:1200px;margin:0 auto;padding:0 24px}
.c{max-width:1100px;margin:0 auto;padding:0 20px}
section{padding:48px 0}
.sec{padding:48px 0}
.sec-alt{background:var(--bg2)}

/* ===== Navigation ===== */
.nv{
  color:var(--text2);
  font-size:11px;
  padding:4px 8px;
  border-radius:5px;
  text-decoration:none;
  white-space:nowrap;
  transition:all 0.15s;
}
.nv:hover{background:rgba(0,212,255,0.08);color:var(--accent)}
.nv-btn{
  color:var(--bg);
  background:var(--accent);
  font-size:11px;
  padding:4px 10px;
  border-radius:5px;
  text-decoration:none;
  font-weight:600;
  white-space:nowrap;
}

/* ===== Shared tab/button styles ===== */
.rpt-tab,.mth-tab{background:var(--bg3);border:1px solid var(--border);border-radius:5px;padding:4px 9px;font-size:10px;color:var(--text2);cursor:pointer;font-family:inherit;transition:all 0.15s}
.rpt-tab:hover,.mth-tab:hover{border-color:var(--accent);color:var(--accent)}
.bm-tab{transition:all 0.15s}.bm-tab:hover{border-color:var(--accent)!important;color:var(--accent)!important}
.tm-tab{background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:10px;color:var(--text2);cursor:pointer;font-family:inherit}
.tm-tab:hover{border-color:var(--accent);color:var(--accent)}
.risk-tab{background:var(--bg3);border:1px solid var(--border);border-radius:5px;padding:4px 9px;font-size:10px;color:var(--text2);cursor:pointer;font-family:inherit}
.risk-tab:hover{border-color:var(--accent);color:var(--accent)}
.fq-tab{background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-size:11px;color:var(--text2);cursor:pointer;font-family:inherit;line-height:1.3;text-align:left;width:100%}
.fq-tab:hover{border-color:var(--accent);color:var(--accent)}
.sc-btn{background:var(--bg3);border:1px solid var(--border);border-radius:5px;padding:5px 10px;font-size:10px;color:var(--text2);cursor:pointer;font-family:inherit}
.sc-btn:hover{border-color:var(--accent)!important}

/* ===== Shared interactive states ===== */
.case-wrap.case-open .case-body{display:block!important}
.case-wrap.case-open .case-arrow{transform:rotate(180deg)}
.cl-item.cl-open .cl-body{display:block!important}
.fn-card{transition:border 0.2s}.fn-card:hover{border-color:var(--accent)!important}
.f-open .f-detail{display:block!important}
.cp-card.cp-open .cp-body{display:block!important}
.cp-card.cp-open .cp-arrow{transform:rotate(180deg)}
.pa-row.pa-open .pa-detail{display:block!important}

/* ===== Details/accordion (shared) ===== */
details{background:var(--bg2);border:1px solid var(--border);border-radius:10px;margin-bottom:6px}
details[open]{border-color:var(--accent)}
summary::-webkit-details-marker{display:none}

/* ===== Footer ===== */
.site-footer{
  background:var(--bg2);
  border-top:1px solid var(--border);
  padding:32px 0 24px;
  margin-top:48px;
  text-align:center;
  font-size:12px;
  color:var(--text2);
}
.site-footer a{color:var(--accent);text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.footer-nav{margin-bottom:12px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px}
.footer-legal{margin-bottom:12px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;padding-top:12px;border-top:1px solid var(--border)}
.footer-contact{margin-bottom:8px}
.footer-copy{color:var(--text3)}
.footer-addr{font-size:11px;color:var(--text3);margin-top:6px}

/* ===== Print ===== */
@media print{
  body{background:#fff;color:#000}
  *{color:#000!important;background:transparent!important}
}

/* ===== Responsive ===== */
@media(max-width:768px){
  .w{padding:0 16px}
  .c{padding:0 16px}
  .nv{font-size:10px;padding:3px 6px}
}
