:root{
  --bg:#f0f2f5; --card:#ffffff; --line:#e4e6eb; --line-strong:#ced0d4;
  --primary:#1B2A6B; --primary-dark:#141f52; --primary-soft:#eef1f8;
  --accent:#D94F2B; --gold:#E8B53A; --text:#1f2433; --muted:#5a6488;
  --shadow:0 1px 2px rgba(0,0,0,.1), 0 2px 8px rgba(0,0,0,.08);
  --shadow-lg:0 8px 30px rgba(27,42,107,.12);
}
*{box-sizing:border-box;}
html,body{ margin:0; overflow-x:hidden; max-width:100%; }
body{ background:var(--bg); color:var(--text); font-family: ui-sans-serif, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height:1.6; }
a{ color:inherit; }
.wrap{ max-width:840px; width:100%; margin:0 auto; padding:0 20px; }
.wrap.wide{ max-width:1180px; }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 22px; border-radius:10px;
      font-weight:700; font-size:.95rem; cursor:pointer; text-decoration:none; transition:.15s; border:1px solid transparent; }
.btn-primary{ background:var(--primary); color:#fff; box-shadow:var(--shadow); }
.btn-primary:hover{ background:var(--primary-dark); }
.btn-ghost{ background:#fff; color:var(--primary); border-color:var(--line-strong); }
.btn-ghost:hover{ border-color:var(--primary); background:var(--primary-soft); }
header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.9); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.nav{ display:flex; align-items:center; gap:14px; padding:14px 0; max-width:1180px; margin:0 auto; padding-left:20px; padding-right:20px; }
.nav .brand{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.nav .brand img{ width:34px; height:34px; }
.nav .brand b{ font-size:1.05rem; color:var(--primary); letter-spacing:-.01em; }
.nav .spacer{ flex:1; }
.nav .navlinks{ display:flex; gap:22px; font-size:.88rem; font-weight:600; color:var(--muted); margin-right:8px; }
.nav .navlinks a{ text-decoration:none; }
.nav .navlinks a:hover, .nav .navlinks a.active{ color:var(--primary); }
@media (max-width:760px){ .nav .navlinks{ display:none; } }
.crumbs{ font-size:.8rem; color:var(--muted); padding:18px 0 0; }
.crumbs a{ text-decoration:none; color:var(--muted); }
.crumbs a:hover{ color:var(--primary); }
article.guide{ background:var(--card); border:1px solid var(--line); border-radius:16px; padding:36px 40px 40px;
   margin:20px 0 40px; box-shadow:var(--shadow); }
@media (max-width:640px){ article.guide{ padding:24px 20px 28px; } }
.guide .eyebrow{ display:inline-flex; align-items:center; gap:8px; padding:5px 12px; border-radius:20px; background:var(--primary-soft);
   color:var(--primary); font-size:.72rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; margin-bottom:14px; }
.guide h1{ margin:0 0 10px; font-size:2rem; line-height:1.2; letter-spacing:-.01em; color:var(--primary); }
.guide .dek{ margin:0 0 28px; font-size:1.05rem; color:var(--muted); }
.byline{ margin:0 0 22px; font-size:.82rem; color:var(--muted); }
.byline a{ color:var(--primary); font-weight:600; text-decoration:none; }
.byline a:hover{ text-decoration:underline; }
.guide h2{ margin:34px 0 12px; font-size:1.32rem; color:var(--primary); letter-spacing:-.005em; }
.guide h3{ margin:22px 0 8px; font-size:1.05rem; color:var(--text); }
.guide p{ margin:0 0 14px; font-size:.98rem; color:var(--text); }
.guide ul, .guide ol{ margin:0 0 16px; padding-left:22px; }
.guide li{ margin-bottom:6px; font-size:.98rem; }
.guide strong{ color:var(--primary-dark); }
.callout{ background:var(--primary-soft); border:1px solid #d4dbf0; border-radius:12px; padding:16px 18px; margin:20px 0; font-size:.92rem; }
.callout b{ color:var(--primary); }
.guide-cta{ margin-top:32px; padding-top:24px; border-top:1px solid var(--line); text-align:center; }
.guide-cta p{ color:var(--muted); margin-bottom:14px; }
.related{ margin-top:30px; padding-top:24px; border-top:1px solid var(--line); }
.related h2{ margin-top:0; }
.related ul{ list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
@media (max-width:640px){ .related ul{ grid-template-columns:1fr; } }
.related a{ display:block; padding:10px 14px; border:1px solid var(--line); border-radius:10px; text-decoration:none;
   color:var(--primary); font-weight:600; font-size:.88rem; }
.related a:hover{ border-color:var(--primary); background:var(--primary-soft); }
.faq{ margin-top:8px; }
.faq-item{ border-bottom:1px solid var(--line); padding:16px 0; }
.faq-item summary{ cursor:pointer; font-weight:700; font-size:.94rem; color:var(--text); list-style:none; display:flex;
   align-items:center; justify-content:space-between; gap:12px; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:"+"; font-size:1.2rem; color:var(--muted); font-weight:400; }
.faq-item[open] summary::after{ content:"\2212"; }
.faq-item p{ margin:10px 0 0; color:var(--muted); font-size:.9rem; line-height:1.55; }
.hub-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:26px 0 10px; }
@media (max-width:640px){ .hub-grid{ grid-template-columns:1fr; } }
.hub-card{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px; text-decoration:none;
   color:var(--text); box-shadow:var(--shadow); transition:.15s; display:block; }
.hub-card:hover{ border-color:var(--primary); transform:translateY(-2px); }
.hub-card h3{ margin:0 0 6px; color:var(--primary); font-size:1.02rem; }
.hub-card p{ margin:0; color:var(--muted); font-size:.86rem; }
footer{ border-top:1px solid var(--line); padding:28px 0; margin-top:20px; }
.foot-inner{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; max-width:1180px; margin:0 auto; padding:0 20px; }
.foot-inner .brand{ display:flex; align-items:center; gap:8px; font-weight:700; color:var(--primary); font-size:.9rem; text-decoration:none; }
.foot-inner .brand img{ width:22px; height:22px; }
footer p{ margin:0; color:var(--muted); font-size:.8rem; }
footer a{ text-decoration:none; color:var(--muted); }
footer a:hover{ color:var(--primary); }
.footlinks{ display:flex; gap:16px; flex-wrap:wrap; font-size:.8rem; }
