:root { --navy:#23297a; --navy2:#151a52; --copper:#c89b6d; --ink:#1d2233; --mute:#5b6275; --line:#e2e5ee; --tint:#f1f2f8; }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { margin:0; font-family:"Inter","Segoe UI",Arial,sans-serif; color:var(--ink); background:#fff; font-size:16px; line-height:1.65; }
  img { max-width:100%; display:block; }
  a { color:var(--navy); }
  .wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
  .eyebrow { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--copper); }
  h1,h2,h3 { color:var(--navy2); line-height:1.2; margin:0; }
  .btn { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:6px; font-weight:600; font-size:14px; text-decoration:none; border:1.5px solid var(--navy); background:var(--navy); color:#fff; }

  .topbar { background:var(--navy2); color:#c9cde4; font-size:13px; }
  .topbar .wrap { display:flex; justify-content:flex-end; gap:22px; padding-top:7px; padding-bottom:7px; }
  nav.main { position:sticky; top:0; z-index:10; background:#fff; border-bottom:1px solid var(--line); }
  nav.main .wrap { display:flex; align-items:center; justify-content:space-between; height:92px; }
  nav.main img { height:60px; }
  nav.main ul { list-style:none; display:flex; gap:30px; margin:0; padding:0; font-size:15px; font-weight:500; }
  nav.main ul a { text-decoration:none; color:var(--ink); }

  .hero { background:linear-gradient(180deg,#f7f8fb 0%,#fff 100%); padding:56px 0 36px; border-bottom:1px solid var(--line); }
  .crumb { font-size:13px; color:var(--mute); margin-bottom:22px; }
  .crumb a { color:var(--mute); text-decoration:none; }
  .hero h1 { font-size:44px; font-weight:700; letter-spacing:-.02em; margin:10px 0 12px; }
  .hero p { margin:0; color:var(--mute); max-width:760px; font-size:17px; }
  .hero .upd { margin-top:16px; font-size:13.5px; color:var(--mute); }

  .doc { display:grid; grid-template-columns:260px 1fr; gap:64px; padding:56px 0 40px; align-items:start; }
  .toc { position:sticky; top:120px; font-size:14px; }
  .toc b { display:block; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--copper); margin-bottom:12px; }
  .toc ol { list-style:none; margin:0; padding:0; counter-reset:t; border-left:2px solid var(--line); }
  .toc li { counter-increment:t; }
  .toc a { display:block; padding:6px 0 6px 16px; margin-left:-2px; border-left:2px solid transparent; text-decoration:none; color:var(--mute); }
  .toc a::before { content:counter(t) ". "; color:var(--copper); font-weight:600; }
  .toc a:hover { color:var(--navy); border-left-color:var(--copper); }

  article { max-width:780px; }
  article section { padding:0 0 36px; margin-bottom:36px; border-bottom:1px solid var(--line); scroll-margin-top:120px; }
  article section:last-child { border-bottom:0; }
  article h2 { font-size:24px; margin-bottom:14px; }
  article h2 span { color:var(--copper); margin-right:8px; }
  article h3 { font-size:17px; margin:22px 0 8px; }
  article p { margin:0 0 14px; }
  article ul { margin:0 0 14px; padding-left:20px; }
  article li { margin-bottom:6px; }
  .card { background:#f7f8fb; border:1px solid var(--line); border-radius:12px; padding:20px 22px; margin:0 0 14px; }
  .card p:last-child { margin-bottom:0; }
  table { width:100%; border-collapse:collapse; font-size:14.5px; margin:4px 0 16px; }
  th { text-align:left; background:var(--navy2); color:#fff; font-weight:600; padding:10px 14px; }
  th:first-child { border-radius:8px 0 0 0; } th:last-child { border-radius:0 8px 0 0; }
  td { padding:11px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
  td:first-child { font-weight:600; color:var(--navy2); width:30%; }
  #use td:first-child { width:18%; font-family:Consolas,monospace; font-size:13.5px; }
  .tbd { background:#fff3cd; border-radius:3px; padding:0 3px; }

  footer { background:#0f1440; color:#aab0d0; padding:48px 0 28px; margin-top:40px; font-size:14px; }
  footer .grid { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px; }
  footer h4 { color:#fff; margin:0 0 12px; font-size:14px; }
  footer a { color:#aab0d0; text-decoration:none; display:block; margin-bottom:6px; }
  footer a.li { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; margin:16px 0 0; border-radius:8px; background:#0a66c2; color:#fff; transition:background .2s; }
  footer a.li:hover { background:#004182; }
  footer .copy { border-top:1px solid rgba(255,255,255,.1); margin-top:36px; padding-top:20px; display:flex; justify-content:space-between; font-size:13px; }
  footer .copy a { display:inline; margin:0; }
  .note { position:fixed; right:16px; bottom:16px; background:#fff8e6; border:1px solid #f0d9a0; color:#6b5210; font-size:12px; padding:8px 12px; border-radius:8px; z-index:20; }

  @media (max-width: 980px) {
    nav.main ul { display:none; }
    .doc { grid-template-columns:1fr; gap:32px; }
    .toc { position:static; }
    footer .grid { grid-template-columns:1fr 1fr; }
  }
  @media (max-width: 600px) {
    .wrap { padding:0 16px; }
    .hero h1 { font-size:32px; }
    nav.main img { height:46px; }
    table, thead, tbody, tr, th, td { display:block; }
    thead { display:none; }
    tr { border:1px solid var(--line); border-radius:10px; margin-bottom:10px; padding:4px 0; }
    td { border:0; padding:6px 14px; }
    td:first-child { width:auto; }
    footer .grid { grid-template-columns:1fr; }
    footer .copy { flex-direction:column; gap:6px; }
  }

nav.main .mnav { display:none; -webkit-appearance:none; appearance:none; flex:none; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:44px; height:44px; margin-left:4px; padding:0; border:0; border-radius:8px; background:transparent; color:#1d2233; cursor:pointer; -webkit-tap-highlight-color:transparent; }
  nav.main .mnav span { display:block; flex:none; width:24px; min-width:24px; height:2px; border-radius:2px; background:#1d2233; transition:transform .2s, opacity .2s; }
  nav.main.open .mnav span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  nav.main.open .mnav span:nth-child(2) { opacity:0; }
  nav.main.open .mnav span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  nav.main ul li.mcta { display:none; }
  @media (max-width: 980px) {
    nav.main .wrap { gap:12px; }
    nav.main .btn { margin-left:auto; }
    nav.main .mnav { display:flex; }
    nav.main.open ul { display:flex; flex-direction:column; gap:0; position:absolute; left:0; right:0; top:100%; padding:6px 16px 18px; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 14px 28px rgba(15,20,64,.14); }
    nav.main.open ul li a { display:block; padding:14px 6px; border-bottom:1px solid var(--line); font-size:17px; }
    nav.main.open ul li a.on { border-bottom:1px solid var(--line); padding-bottom:14px; color:var(--navy); font-weight:700; }
  }
  @media (max-width: 600px) {
    nav.main .btn { display:none; }
    nav.main .mnav { margin-left:auto; }
    nav.main.open ul li.mcta { display:block; padding-top:14px; }
    nav.main.open ul li.mcta a { border:0; padding:13px 18px; border-radius:6px; background:var(--navy); color:#fff; text-align:center; font-weight:600; font-size:16px; }
  }

.rfi { position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:16px; background:rgba(15,20,64,.62); backdrop-filter:blur(3px); }
  .rfi.open { display:flex; }
  .rfi .box { position:relative; width:100%; max-width:600px; max-height:calc(100vh - 32px); overflow:auto; background:#fff; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,.35); font-family:"Inter","Segoe UI",Arial,sans-serif; color:#1d2233; }
  .rfi .hd { padding:24px 28px 16px; border-bottom:1px solid #e2e5ee; }
  .rfi .hd small { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#c89b6d; }
  .rfi .hd b { display:block; color:#151a52; font-size:20px; line-height:1.25; margin-top:4px; }
  .rfi .hd p { margin:6px 0 0; font-size:14px; color:#5b6275; }
  .rfi .x { position:absolute; top:12px; right:14px; width:34px; height:34px; border:0; background:none; font-size:26px; line-height:1; color:#5b6275; cursor:pointer; border-radius:6px; }
  .rfi .x:hover { background:#f1f2f8; }
  .rfi form { display:grid !important; gap:12px; margin:0; padding:20px 28px 26px; }
  .rfi .row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .rfi label.f { display:grid; gap:5px; font-size:13px; font-weight:600; color:#1d2233; }
  .rfi label.f i { font-style:normal; color:#c0392b; }
  .rfi input[type=text], .rfi input[type=email], .rfi select, .rfi textarea { width:100%; padding:11px 13px; border-radius:8px; border:1px solid #cfd3e0; background:#fff; color:#1d2233; font:inherit; font-size:15px; font-weight:400; }
  .rfi textarea { resize:vertical; min-height:96px; }
  .rfi input:focus, .rfi select:focus, .rfi textarea:focus { outline:2px solid rgba(35,41,122,.25); border-color:#23297a; }
  .rfi .bad { border-color:#c0392b !important; }
  .rfi .chk { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:#5b6275; line-height:1.45; font-weight:400; }
  .rfi .chk input { flex:none; width:16px !important; height:16px; margin:2px 0 0; padding:0; accent-color:#23297a; }
  .rfi p.pn { margin:0; font-size:12.5px; color:#5b6275; line-height:1.5; }
  .rfi p.pn a { color:#23297a; }
  .rfi .err { display:none; font-size:13px; color:#c0392b; }
  .rfi button.go { margin-top:4px; padding:13px 22px; border-radius:6px; border:0; background:#23297a; color:#fff; font:inherit; font-weight:600; font-size:15px; cursor:pointer; }
  .rfi button.go:hover { background:#151a52; }
  .rfi .ok { display:none; padding:40px 28px 34px; text-align:center; }
  .rfi .ok b { display:block; color:#151a52; font-size:20px; margin-bottom:8px; }
  .rfi .ok p { margin:0 0 20px; color:#5b6275; font-size:14.5px; }
  .rfi .ok button { padding:11px 20px; border-radius:6px; border:1.5px solid #23297a; background:#fff; color:#23297a; font:inherit; font-weight:600; cursor:pointer; }
  .rfi.done form, .rfi.done .hd { display:none !important; } .rfi.done .ok { display:block; }
  @media (max-width:600px) { .rfi .row { grid-template-columns:1fr; } .rfi .hd, .rfi form { padding-left:20px; padding-right:20px; } }
