:root { --ink:#101820; --slate:#141b24; --muted:#5c6874; --line:#dde2e7; --alt:#f3f6f9; --blue:#0b5fa5; }
* { box-sizing:border-box; }
body { margin:0; background:#fff; color:var(--ink); font:16px/1.6 Arial,Helvetica,sans-serif; }
a { color:var(--blue); }
.wrap { max-width:1080px; margin:0 auto; padding:0 20px; }
.mono, .spec, code { font-family:ui-monospace,Menlo,Consolas,"Courier New",monospace; }
.bar { background:var(--slate); }
.bar .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:15px 20px; }
.wordmark { font-size:19px; font-weight:bold; color:#fff; text-decoration:none; letter-spacing:-0.2px; }
.wordmark span { color:#7fb2e5; }
.bar nav ul { display:flex; gap:22px; list-style:none; margin:0; padding:0; font-size:14px; }
.bar nav a { color:#c3ced9; text-decoration:none; }
.bar nav a:hover { color:#fff; }
.hero { border-bottom:1px solid var(--line); }
.hero .wrap { display:flex; gap:46px; align-items:flex-start; padding:46px 20px 50px; }
.hero .main { flex:1 1 58%; }
h1 { font-size:30px; line-height:1.28; margin:0 0 15px; letter-spacing:-0.4px; }
h2 { font-size:20px; margin:0 0 12px; }
h3 { font-size:15.5px; margin:0 0 7px; }
h4 { font-size:12.5px; text-transform:uppercase; letter-spacing:0.07em; margin:0 0 10px; }
p { margin:0 0 14px; }
.lead { font-size:17px; color:#38434e; }
.muted { color:var(--muted); font-size:14.5px; }
.actions { margin-top:22px; }
.btn { display:inline-block; background:var(--blue); color:#fff; text-decoration:none; padding:11px 20px; border-radius:3px; font-size:15px; }
.btn.ghost { background:#fff; color:var(--blue); border:1px solid #b6c6d6; margin-left:10px; }
.spec { flex:0 0 336px; border:1px solid var(--line); background:var(--alt); padding:16px 18px; font-size:12.5px; line-height:1.75; }
.spec .hdr { font-size:11.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); margin-bottom:10px; }
.spec .k { color:#6b7683; }
section { padding:44px 0; }
section.alt { background:var(--alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.g3 { display:flex; gap:32px; }
.g3 > div { flex:1; }
.g3 > div > h3 { border-bottom:1px solid var(--line); padding-bottom:8px; }
.g4 { display:flex; gap:26px; }
.g4 > div { flex:1; }
ol.steps { counter-reset:s; list-style:none; margin:0; padding:0; }
ol.steps > li { counter-increment:s; position:relative; padding:0 0 20px 46px; }
ol.steps > li:before { content:counter(s); position:absolute; left:0; top:1px; width:28px; height:28px; background:var(--slate); color:#fff; font-size:13.5px; text-align:center; line-height:28px; border-radius:3px; }
ol.steps > li:last-child { padding-bottom:0; }
table { border-collapse:collapse; width:100%; font-size:14.5px; }
th, td { border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top; }
th { background:var(--alt); font-size:12.5px; text-transform:uppercase; letter-spacing:0.05em; }
td.mono { font-size:13.5px; }
.block { background:var(--alt); border:1px solid var(--line); padding:14px 16px; margin:18px 0; font-family:ui-monospace,Menlo,Consolas,"Courier New",monospace; font-size:13px; line-height:1.7; }
.note { border:1px solid var(--line); padding:14px 16px; margin:18px 0; }
.note p:last-child { margin-bottom:0; }
ul.plain { padding-left:20px; margin:0 0 14px; }
ul.plain li { margin-bottom:7px; }
.price { border:1px solid var(--line); padding:20px 18px; }
.price.featured { border:2px solid var(--blue); }
.price .amt { font-size:26px; font-weight:bold; margin:6px 0 2px; }
.price .per { color:var(--muted); font-size:13px; margin-bottom:14px; }
.price ul { list-style:none; margin:0; padding:0; font-size:14.5px; }
.price li { padding:6px 0; border-top:1px solid var(--line); }
footer { background:var(--slate); color:#aebbc8; font-size:13px; padding:38px 0 26px; }
footer .cols { display:flex; gap:40px; margin-bottom:24px; }
footer .cols > div { flex:1; }
footer h4 { color:#fff; }
footer p { margin:0; }
footer ul { list-style:none; margin:0; padding:0; }
footer li { margin:6px 0; }
footer a { color:#cfdae5; text-decoration:none; }
footer a:hover { text-decoration:underline; }
.legal-note { border-top:1px solid #2b3644; padding-top:16px; font-size:12px; color:#8b98a6; margin:0; }
@media (max-width:860px) {
  .bar .wrap { display:block; }
  .bar nav ul { flex-wrap:wrap; gap:14px; margin-top:12px; }
  .hero .wrap { display:block; padding:30px 20px 34px; }
  .spec { margin-top:24px; }
  .g3, .g4, footer .cols { display:block; }
  .g3 > div, .g4 > div, footer .cols > div { margin-bottom:22px; }
}
