:root {
    --navy:#0a1a2f; --navy2:#0e2542; --blue:#1450a0; --deep:#0b3d91;
    --accent:#2f7fe0; --ink:#16222e; --mut:#5a6a78; --line:#dbe3ea;
    --bg:#ffffff; --alt:#f2f6fa; --amber:#f5a800;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  body { font-family:'Segoe UI', system-ui, -apple-system, Arial, sans-serif; color:var(--ink); background:var(--bg); line-height:1.55; }
  img { max-width:100%; display:block; }
  .wrap { max-width:1180px; margin:0 auto; padding:0 22px; }
  header { background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; }
  .bar { display:flex; align-items:center; gap:18px; padding:12px 0; }
  .bar .wm { height:44px; width:auto; }
  nav { margin-left:auto; display:flex; gap:26px; align-items:center; }
  nav a { color:var(--ink); text-decoration:none; font-weight:600; font-size:15px; }
  nav a.cta { background:var(--blue); color:#fff; padding:9px 16px; border-radius:6px; }
  .menubtn { display:none; }
  .mnav { display:none; }
  @media (max-width:760px) {
    nav { display:none; }
    .bar .wm { height:36px; }
    .menubtn { display:block; margin-left:auto; background:var(--blue); color:#fff; border:0; padding:9px 16px; border-radius:6px; font-weight:700; font-size:15px; cursor:pointer; }
    .mnav.open { display:block; border-top:1px solid var(--line); padding:8px 0 12px; }
    .mnav a { display:block; padding:9px 22px; color:var(--ink); text-decoration:none; font-weight:600; font-size:15.5px; }
    .mnav a.sub { padding-left:38px; font-weight:500; color:var(--mut); }
    .mnav a.cta { color:var(--blue); }
  }
  .hero { background:linear-gradient(135deg, var(--navy) 0%, var(--navy2) 60%, var(--deep) 130%); color:#fff; }
  .hero .wrap { display:grid; grid-template-columns:1.05fr 1fr; gap:36px; padding:56px 22px 48px; align-items:center; }
  @media (max-width:860px) { .hero .wrap { grid-template-columns:1fr; padding:38px 22px 34px; } }
  .kicker { color:var(--amber); font-weight:700; letter-spacing:.14em; font-size:13px; text-transform:uppercase; margin-bottom:14px; }
  h1 { font-size:42px; line-height:1.12; font-weight:800; margin-bottom:16px; }
  @media (max-width:860px) { h1 { font-size:31px; } }
  .hero p.lede { font-size:18px; color:#c9d8ea; margin-bottom:24px; }
  .btns { display:flex; gap:12px; flex-wrap:wrap; }
  .btn { padding:12px 20px; border-radius:6px; font-weight:700; text-decoration:none; font-size:15px; }
  .btn.solid { background:var(--amber); color:#1a1405; }
  .btn.ghost { border:1.5px solid #7fa8d8; color:#eaf2fc; }
  .btn.blue { background:var(--blue); color:#fff; }
  .hero figure { border-radius:10px; overflow:hidden; box-shadow:0 18px 44px rgba(0,0,0,.45); }
  figcaption { font-size:12.5px; color:#8fa9c4; margin-top:8px; }
  .strip { background:var(--alt); border-bottom:1px solid var(--line); }
  .strip .wrap { display:flex; gap:14px; flex-wrap:wrap; padding:16px 22px; justify-content:space-between; }
  .strip span { font-weight:700; color:var(--navy2); font-size:14.5px; letter-spacing:.02em; }
  section { padding:58px 0; }
  section.alt { background:var(--alt); }
  h2 { font-size:30px; font-weight:800; color:var(--navy); margin-bottom:10px; }
  h3 { color:var(--navy2); }
  .sub { color:var(--mut); font-size:17px; max-width:720px; margin-bottom:30px; }
  .grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:20px; }
  .card { background:#fff; border:1px solid var(--line); border-radius:10px; padding:24px; }
  .card h3 { font-size:21px; margin-bottom:6px; }
  .tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:4px 10px; border-radius:99px; margin-bottom:12px; }
  .tag.dev { background:#fdeecd; color:#8a6100; }
  .tag.road { background:#e4ebf3; color:#47617d; }
  .card p { color:var(--mut); font-size:15px; }
  .card ul { margin:12px 0 0 18px; color:var(--ink); font-size:14.5px; }
  .card ul li { margin-bottom:4px; }
  .more { display:inline-block; margin-top:14px; font-weight:700; color:var(--blue); text-decoration:none; }
  .split { display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:center; }
  @media (max-width:860px) { .split { grid-template-columns:1fr; } }
  .split figure { border-radius:10px; overflow:hidden; border:1px solid var(--line); }
  .split figcaption { color:var(--mut); padding:0 2px; }
  .split p { color:var(--mut); font-size:16px; margin-bottom:14px; }
  .docs { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:20px; }
  .doc { background:#fff; border:1px solid var(--line); border-radius:10px; padding:22px 24px; }
  .doc h3 { font-size:18px; margin-bottom:6px; }
  .doc p { color:var(--mut); font-size:14.5px; margin-bottom:12px; }
  .fmt { font-size:12.5px; font-weight:700; letter-spacing:.05em; color:var(--blue); text-transform:uppercase; }
  .dl { display:inline-block; margin-top:12px; margin-right:8px; background:var(--blue); color:#fff; font-weight:700; font-size:14px; padding:8px 14px; border-radius:6px; text-decoration:none; }
  .dl.ghost { background:#fff; color:var(--blue); border:1.5px solid var(--blue); }
  .contact { background:var(--navy); color:#dbe7f5; }
  .contact h2 { color:#fff; }
  .contact a { color:var(--amber); font-weight:700; text-decoration:none; }
  .contact .cols { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
  @media (max-width:760px) { .contact .cols { grid-template-columns:1fr; } }
  /* sub-page hero */
  .pagehero { background:linear-gradient(135deg, var(--navy) 0%, var(--navy2) 60%, var(--deep) 130%); color:#fff; padding:46px 0 40px; }
  .pagehero h1 { font-size:36px; margin-bottom:10px; }
  @media (max-width:860px) { .pagehero h1 { font-size:29px; } }
  .pagehero .lede { color:#c9d8ea; font-size:17px; max-width:780px; }
  .crumbs { font-size:13.5px; color:#8fa9c4; margin-bottom:12px; }
  .crumbs a { color:#c9d8ea; text-decoration:none; }
  /* spec table + feature list */
  .spec { width:100%; border-collapse:collapse; margin-bottom:8px; }
  .spec th, .spec td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); font-size:15px; vertical-align:top; }
  .spec th { width:34%; color:var(--navy2); background:var(--alt); font-weight:700; }
  .feat { list-style:none; }
  .feat li { padding:9px 0 9px 26px; position:relative; border-bottom:1px solid var(--line); font-size:15.5px; }
  .feat li::before { content:"\25B8"; color:var(--accent); position:absolute; left:2px; font-weight:800; }
  .feat li b { color:var(--navy2); }
  .notice { background:#fdf3d7; border:1px solid #ecd28a; border-radius:8px; padding:14px 18px; font-size:14.5px; color:#5c4a08; }
  .twocol { display:grid; grid-template-columns:1fr 1fr; gap:34px; }
  @media (max-width:860px) { .twocol { grid-template-columns:1fr; } }
  /* footer */
  footer { background:#06101e; color:#7d93ab; font-size:13.5px; }
  footer .fcols { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:28px; padding:34px 22px 8px; }
  @media (max-width:860px) { footer .fcols { grid-template-columns:1fr 1fr; } }
  footer h4 { color:#dbe7f5; font-size:14px; margin-bottom:10px; }
  footer a { color:#7d93ab; text-decoration:none; display:block; margin-bottom:6px; }
  footer a:hover { color:#dbe7f5; }
  footer img { height:34px; width:auto; margin-bottom:10px; }
  footer .fine { border-top:1px solid #12263f; padding:14px 22px 20px; display:flex; gap:16px; flex-wrap:wrap; }
