:root{
  --bg:#0d1117; --panel:#151b23; --line:#232c38;
  --fg:#e6edf3; --dim:#8b98a9; --accent:#ffb020; --accent2:#2dd4bf;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:var(--sans); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

/* ---------- header ---------- */
.top{
  position:sticky; top:0; z-index:20;
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding:.9rem 1.5rem;
  background:rgba(13,17,23,.88); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.brand{
  font-family:var(--mono); font-weight:700; font-size:1.15rem;
  letter-spacing:.22em; color:var(--fg); text-decoration:none;
}
.top nav{display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap}
.top nav a{color:var(--dim); text-decoration:none; font-size:.92rem}
.top nav a:hover{color:var(--fg)}
.top nav a.cta{
  color:#111; background:var(--accent); padding:.45rem .95rem;
  border-radius:5px; font-weight:600;
}
.top nav a.cta:hover{background:#ffc44d}

main{max-width:1040px; margin:0 auto; padding:0 1.5rem}

/* ---------- hero ---------- */
.hero{
  padding:4.5rem 0 3.5rem;
  display:grid; grid-template-columns:1.15fr .85fr;
  gap:3rem; align-items:center;
}
.hero-media{margin:0}
.hero-single{grid-template-columns:1fr; max-width:780px}
.steps{padding-left:1.2rem; color:var(--dim)}
.steps li{margin-bottom:.9rem}
.steps strong{color:var(--fg)}
.checks{list-style:none; padding:0; color:var(--dim)}
.checks li{padding-left:1.25rem; position:relative; margin-bottom:.6rem}
.checks li::before{content:"✓"; position:absolute; left:0; color:var(--accent2)}
code{
  font-family:var(--mono); font-size:.9em; background:#111820;
  padding:.1rem .35rem; border-radius:3px; color:var(--accent2);
}
.hero-media img{
  width:100%; height:auto; display:block;
  border-radius:10px; border:1px solid var(--line);
}
.eyebrow{
  font-family:var(--mono); font-size:.78rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--accent); margin:0 0 1rem;
}
.hero h1{
  font-size:clamp(1.9rem,4.6vw,3.1rem); line-height:1.15;
  margin:0 0 1.2rem; letter-spacing:-.02em;
}
.lead{color:var(--dim); max-width:60ch; font-size:1.05rem; margin:0 0 1.8rem}
.hero-actions{display:flex; gap:.8rem; flex-wrap:wrap}
.btn{
  display:inline-block; padding:.72rem 1.4rem; border-radius:5px;
  text-decoration:none; font-weight:600; font-size:.95rem;
  border:1px solid transparent; cursor:pointer;
}
.btn.primary{background:var(--accent); color:#111}
.btn.primary:hover{background:#ffc44d}
.btn.ghost{border-color:var(--line); color:var(--fg)}
.btn.ghost:hover{border-color:var(--dim)}
.hero-facts{
  list-style:none; padding:0; margin:2.4rem 0 0;
  display:flex; gap:2rem; flex-wrap:wrap;
  font-family:var(--mono); font-size:.82rem; color:var(--dim);
}
.hero-facts li::before{content:"▸ "; color:var(--accent2)}

/* ---------- sections ---------- */
.block{padding:3.4rem 0; border-top:1px solid var(--line)}
.block h2{font-size:1.55rem; margin:0 0 .5rem; letter-spacing:-.01em}
.block h2.mt{margin-top:3rem}
.sub{color:var(--dim); margin:0 0 1.6rem; max-width:62ch}
.note{color:var(--dim); font-size:.88rem; margin:.9rem 0 0}

/* ---------- modes ---------- */
.modes{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem}
.mode{
  background:var(--panel); border:1px solid var(--line);
  border-radius:8px; padding:1.3rem;
}
.mode.on{border-color:var(--accent2); box-shadow:0 0 0 1px rgba(45,212,191,.25)}
.mode h3{
  margin:0 0 .2rem; font-family:var(--mono); font-size:1rem;
  letter-spacing:.08em; text-transform:uppercase;
}
.mode .sum{color:var(--fg); font-weight:600; margin:.2rem 0 .7rem}
.mode p{color:var(--dim); font-size:.9rem; margin:0}
.badge{
  display:inline-block; margin-left:.5rem; padding:.1rem .45rem;
  font-size:.68rem; border-radius:3px; background:var(--accent2); color:#062b28;
  font-weight:700; letter-spacing:.06em; vertical-align:middle;
}

/* ---------- tables ---------- */
.table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:8px}
table{width:100%; border-collapse:collapse; font-size:.9rem; min-width:520px}
th,td{padding:.65rem .9rem; text-align:left; border-bottom:1px solid var(--line)}
th{
  font-family:var(--mono); font-size:.74rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--dim); background:#111820;
}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover{background:#121a23}
td.model{font-family:var(--mono); color:var(--accent)}
td.num{font-family:var(--mono); color:var(--fg)}
.quote-btn{
  background:none; border:1px solid var(--line); color:var(--accent);
  padding:.25rem .6rem; border-radius:4px; cursor:pointer; font-size:.82rem;
}
.quote-btn:hover{border-color:var(--accent)}

/* ---------- cards ---------- */
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem}
.card{background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:1.2rem}
.card h3{margin:0 0 .4rem; font-size:1rem}
.card p{margin:0; color:var(--dim); font-size:.9rem}

/* ---------- form ---------- */
.quote{max-width:760px}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
form label{display:flex; flex-direction:column; gap:.35rem; font-size:.85rem; color:var(--dim)}
input,select,textarea{
  background:#0b0f14; border:1px solid var(--line); color:var(--fg);
  padding:.6rem .7rem; border-radius:5px; font-size:.95rem; font-family:inherit;
  width:100%;
}
input:focus,select:focus,textarea:focus{
  outline:none; border-color:var(--accent2);
  box-shadow:0 0 0 3px rgba(45,212,191,.12);
}
label{margin-bottom:1rem}
form .btn.primary{margin-top:.4rem}
.formnote{font-size:.88rem; margin-top:.9rem; min-height:1.2rem}
.formnote.ok{color:var(--accent2)}
.formnote.err{color:#ff7b7b}

/* ---------- footer ---------- */
footer{
  border-top:1px solid var(--line); margin-top:2rem;
  padding:2rem 1.5rem 3rem; max-width:1040px; margin-inline:auto;
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
footer .fine{display:flex; gap:.6rem; flex-wrap:wrap; color:var(--dim); font-size:.85rem}
footer strong{font-family:var(--mono); letter-spacing:.15em}

@media (max-width:820px){
  .hero{grid-template-columns:1fr; gap:2rem; padding:3rem 0 2.4rem}
  .hero-media{order:-1}
}
@media (max-width:640px){
  .top{padding:.75rem 1rem}
  .top nav{gap:.9rem; font-size:.85rem}
  .top nav a:not(.cta){display:none}
  main{padding:0 1rem}
  .hero{padding:3rem 0 2.4rem}
  .grid2{grid-template-columns:1fr}
  .hero-facts{gap:1rem}
}
