
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;800&display=swap&font-display=swap');
:root{--bg:#0b1220;--card:#101a33;--text:#e9eefc;--muted:#a9b5d6;--accent:#5da7ff;--border:rgba(255,255,255,.09);--green:#22c55e;--amber:#fbbf24;--red:#f87171}
*{box-sizing:border-box}
body{margin:0;font-family:'DM Sans',system-ui,sans-serif;background:linear-gradient(180deg,#070b14,#0b1220 40%,#070b14);color:var(--text);line-height:1.7}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:860px;margin:0 auto;padding:24px 16px 80px}
.topnav{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);background:rgba(7,11,20,.9);border-bottom:1px solid rgba(255,255,255,.08)}
.topnav-inner{max-width:980px;margin:0 auto;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand-home{font-weight:800;font-size:17px;color:#e9eefc;display:flex;align-items:center;gap:4px}.brand-home:hover{text-decoration:none}
.mainnav{display:flex;flex-wrap:wrap;gap:8px}
.navbtn{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(93,167,255,.3);background:rgba(93,167,255,.1);color:#e9eefc;font-size:13px;font-weight:700}
.navbtn:hover{text-decoration:none;background:rgba(93,167,255,.22)}
.breadcrumbs{max-width:860px;margin:0 auto;padding:12px 16px 0;font-size:13px;color:#a9b5d6}.breadcrumbs a{color:#9dc5ff}
.hero{background:rgba(16,26,51,.9);border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 40px rgba(0,0,0,.4);padding:32px;margin-bottom:20px}
.card{background:rgba(16,26,51,.9);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,.3);padding:26px;margin-top:16px}
.card-warn{border-left:3px solid var(--amber);background:rgba(251,191,36,.04)}
.card-success{border-left:3px solid var(--green);background:rgba(34,197,94,.04)}
.card-danger{border-left:3px solid var(--red);background:rgba(248,113,113,.04)}
.card-blue{border-left:3px solid var(--accent);background:rgba(93,167,255,.04)}
h1{margin:0 0 12px;font-size:32px;line-height:1.15;font-weight:800}
h2{margin:0 0 12px;font-size:20px;font-weight:700}
h3{margin:16px 0 8px;font-size:15px;font-weight:700;color:#c5d5f0}
p{margin:0 0 14px;color:var(--muted);line-height:1.78}
ul,ol{padding-left:22px;color:var(--muted);line-height:1.85;margin:0 0 14px}
li{margin-bottom:4px}strong{color:var(--text)}
.kicker{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9dc5ff;margin-bottom:10px}
.callout{border-radius:12px;padding:14px 16px;margin:16px 0;font-size:14px;line-height:1.65}
.callout-info{background:rgba(93,167,255,.08);border:1px solid rgba(93,167,255,.25);color:#c5d9f8}
.callout-warn{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.3);color:#fde68a}
.callout-success{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.3);color:#bbf7d0}
.callout-danger{background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.3);color:#fecaca}
.data-table{width:100%;border-collapse:collapse;font-size:13.5px;margin:16px 0;border-radius:12px;overflow:hidden}
.data-table th{text-align:left;padding:10px 13px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(0,0,0,.25);border-bottom:1px solid var(--border)}
.data-table td{padding:10px 13px;border-bottom:1px solid rgba(255,255,255,.045);vertical-align:top}
.data-table tr:last-child td{border-bottom:none}
.data-table tr:hover td{background:rgba(255,255,255,.02)}
.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:#c5d9f8}
.warn-row td{color:var(--amber);background:rgba(251,191,36,.04)!important}
.good-row td{color:#86efac}
.danger-row td{color:var(--red)}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}
.stat-card{background:rgba(0,0,0,.22);border:1px solid var(--border);border-radius:13px;padding:15px}
.stat-card .label{font-size:11px;color:var(--muted);margin-bottom:5px;letter-spacing:.02em}
.stat-card .value{font-size:25px;font-weight:800;line-height:1.1}
.stat-card .sub{font-size:11px;color:var(--muted);margin-top:4px}
.btn{display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;border:1px solid rgba(93,167,255,.4);background:rgba(93,167,255,.16);color:var(--text);font-weight:700;font-size:13px;text-decoration:none}
.btn:hover{text-decoration:none;background:rgba(93,167,255,.28)}
.btn-secondary{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.06)}
.btn-secondary:hover{background:rgba(255,255,255,.1)}
.btnrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.small-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.linkbox{display:block;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.02);transition:all .15s}
.linkbox:hover{border-color:rgba(93,167,255,.35);background:rgba(93,167,255,.05);text-decoration:none}
.linkbox strong{display:block;color:var(--text);margin-bottom:3px;font-size:14px}
.linkbox .note{font-size:12px;color:var(--muted)}
.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(93,167,255,.18),transparent);margin:26px 0}
details.faq{border:1px solid var(--border);border-radius:11px;margin-top:8px}
details.faq summary{cursor:pointer;padding:13px 15px;font-weight:700;font-size:14px;list-style:none;display:flex;justify-content:space-between;align-items:center}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"＋";color:var(--accent);font-size:16px}
details.faq[open] summary::after{content:"－"}
details.faq .faq-body{padding:0 15px 13px;color:var(--muted);font-size:14px;line-height:1.75}
.guide-footer{margin-top:22px;padding:15px;background:rgba(0,0,0,.18);border-radius:12px;font-size:12px;color:var(--muted);line-height:1.6}
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700}
.badge-blue{background:rgba(93,167,255,.15);border:1px solid rgba(93,167,255,.3);color:#9dc5ff}
.badge-green{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);color:#86efac}
.badge-amber{background:rgba(251,191,36,.15);border:1px solid rgba(251,191,36,.3);color:#fde68a}
.badge-red{background:rgba(248,113,113,.15);border:1px solid rgba(248,113,113,.3);color:#fecaca}
/* tax breakdown bar */
.breakdown-bar{display:flex;height:28px;border-radius:8px;overflow:hidden;margin:14px 0;gap:2px}
.bar-seg{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:white;min-width:0;transition:flex .3s}
/* flow steps */
.flow-steps{counter-reset:flow}
.flow-step{display:flex;gap:14px;margin-bottom:16px;align-items:flex-start}
.flow-num{width:28px;height:28px;border-radius:50%;background:rgba(93,167,255,.2);border:1px solid rgba(93,167,255,.4);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#5da7ff;flex-shrink:0;margin-top:2px}
.flow-text strong{display:block;color:var(--text);font-size:14px;margin-bottom:2px}
.flow-text p{margin:0;font-size:13px;color:var(--muted);line-height:1.6}
/* compare grid */
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.compare-card{border:1px solid var(--border);border-radius:13px;padding:16px}
.compare-card.green{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.04)}
.compare-card.blue{border-color:rgba(93,167,255,.35);background:rgba(93,167,255,.04)}
.compare-card.amber{border-color:rgba(251,191,36,.35);background:rgba(251,191,36,.04)}
.compare-card h3{margin:0 0 10px;font-size:14px;font-weight:700}
.compare-card ul{margin:0;font-size:13px}
/* rate bars */
.rate-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.rate-bar-label{font-size:12px;color:var(--muted);width:120px;flex-shrink:0}
.rate-bar-track{flex:1;background:rgba(255,255,255,.06);border-radius:5px;height:20px;overflow:hidden}
.rate-bar-fill{height:100%;border-radius:5px;display:flex;align-items:center;padding-left:7px;font-size:11px;font-weight:700;color:white}
.rate-bar-pct{font-size:13px;font-weight:700;width:38px;text-align:right;flex-shrink:0}
@media(max-width:760px){
  .stat-grid{grid-template-columns:1fr 1fr}h1{font-size:26px}
  .small-grid,.compare-grid{grid-template-columns:1fr}
  .rate-bar-label{width:80px;font-size:11px}
}
@media(max-width:480px){.stat-grid{grid-template-columns:1fr}}
