:root{
  --teal:#33ac86; --teal-2:#86dcbe; --teal-d:#1c8a63; --teal-dd:#0f5a42;
  --ink:#123a30; --ink-2:#0e332a; --ink-3:#082019;
  --paper:#eef4ef; --paper-2:#e3ede7; --card:#fff;
  --tx:#12332a; --tx-2:#516b62; --tx-3:#6a827a;
  --line:#dce8e1; --rad:22px; --rad-s:14px;
  --shadow:0 30px 80px -30px rgba(8,40,36,.35); --shadow-s:0 12px 30px -18px rgba(8,40,36,.32);
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Outfit','Hanken Grotesk',system-ui,-apple-system,sans-serif;color:var(--tx);
  background:radial-gradient(900px 420px at 88% -12%,rgba(51,172,134,.12),transparent 60%),var(--paper);
  -webkit-font-smoothing:antialiased;line-height:1.6;min-height:100vh}
a{color:inherit;text-decoration:none}
img,svg{display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px;width:100%}

/* nav (shared with blog index) */
.nav{position:sticky;top:0;z-index:50;background:rgba(238,244,239,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:18px;height:70px}
.brand{display:flex;align-items:center;gap:11px}
.brand img{width:38px;height:38px;object-fit:contain}
.brand-name{font-size:19px;font-weight:900;letter-spacing:-.03em;color:var(--ink)}
.nav-links{display:flex;gap:26px;margin-left:24px}
.nav-links a{font-size:14.5px;font-weight:600;color:var(--tx-2)}
.nav-links a:hover{color:var(--tx)}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:14px}
.demo-link{font-size:14px;font-weight:700;color:var(--teal-d);display:inline-flex;align-items:center;gap:7px}
.demo-link .d{width:7px;height:7px;border-radius:50%;background:#20c997;box-shadow:0 0 0 3px rgba(32,201,151,.2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:12px;
  font-size:14.5px;font-weight:800;letter-spacing:-.01em;transition:.15s;cursor:pointer}
.btn-primary{background:linear-gradient(150deg,var(--teal-2),var(--teal-d));color:#f4faf7;box-shadow:0 16px 32px -16px rgba(28,138,99,.8)}
.btn-primary:hover{transform:translateY(-1px)}
@media(max-width:860px){.nav-links{display:none}}

/* article */
.art{max-width:760px;padding-top:44px;padding-bottom:20px}
.back{font-size:13.5px;font-weight:700;color:var(--tx-2);display:inline-block;margin-bottom:24px}
.back:hover{color:var(--teal-d)}
.tag{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--teal-dd);background:#dff0e8;padding:5px 10px;border-radius:7px}
.art h1{font-size:clamp(31px,4.6vw,45px);line-height:1.06;letter-spacing:-.035em;font-weight:800;color:var(--ink);
  margin-top:16px;text-wrap:balance}
.standfirst{font-size:18.5px;line-height:1.6;color:var(--tx-2);margin-top:20px;font-weight:500}
.byline{margin-top:18px;padding-bottom:26px;border-bottom:1px solid var(--line);font-size:13px;color:var(--tx-3);font-weight:600}

.art h2{font-size:25px;line-height:1.2;letter-spacing:-.028em;font-weight:800;color:var(--ink);margin-top:44px;text-wrap:balance}
.art h3{font-size:18px;letter-spacing:-.02em;font-weight:800;color:var(--ink);margin-top:26px}
.art p{margin-top:15px;font-size:16.5px;line-height:1.7;color:var(--tx)}
.art ul,.art ol{margin-top:15px;padding-left:22px}
.art li{margin-top:9px;font-size:16.5px;line-height:1.65;color:var(--tx)}
.art b{font-weight:700;color:var(--ink)}
.art em{font-style:italic}

.pull{border-left:3px solid var(--teal);background:#e7f2ec;padding:16px 20px;border-radius:0 12px 12px 0;
  font-size:17px !important;font-weight:600;color:var(--ink) !important;margin-top:24px !important}

.key{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:24px 26px;margin-top:30px;box-shadow:var(--shadow-s)}
.key h2{margin-top:0 !important;font-size:16px !important;letter-spacing:.02em;text-transform:uppercase;
  font-family:'IBM Plex Mono',monospace;color:var(--teal-d);font-weight:600}
.key ul{margin-top:14px}
.key li{font-size:15.5px}

.tw{overflow-x:auto;margin-top:24px;border:1px solid var(--line);border-radius:var(--rad-s);background:var(--card);box-shadow:var(--shadow-s)}
table{border-collapse:collapse;width:100%;min-width:520px}
th,td{text-align:left;padding:13px 16px;border-bottom:1px solid #eef2f0;font-size:14.5px;line-height:1.55;vertical-align:top}
th{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3);font-weight:600}
tr:last-child td{border-bottom:0}

.qa{background:var(--card);border:1px solid var(--line);border-radius:var(--rad-s);padding:18px 20px;margin-top:14px}
.qa h3{margin-top:0;font-size:16.5px}
.qa p{margin-top:8px;font-size:15.5px;color:var(--tx-2)}

.cta{background:linear-gradient(150deg,var(--ink-2),var(--ink-3));border-radius:var(--rad);padding:42px 36px;text-align:center;
  color:#eafaf8;margin-top:52px;box-shadow:var(--shadow)}
.cta h2{margin-top:0 !important;color:#eafaf8 !important;font-size:clamp(23px,3.2vw,31px);letter-spacing:-.03em;font-weight:800;line-height:1.14}
.cta p{color:#a8c6ba !important;margin:14px auto 0;max-width:52ch;font-size:15.5px;line-height:1.6}
.cta .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.btn-light{background:#fff;color:var(--ink)}
.btn-ghost{border:1px solid rgba(255,255,255,.22);color:#eafaf8}

.disclaimer{margin-top:34px !important;padding-top:20px;border-top:1px solid var(--line);
  font-size:13px !important;line-height:1.6;color:var(--tx-3) !important}

footer{border-top:1px solid var(--line);padding:30px 26px;color:var(--tx-3);font-size:13px;margin-top:50px;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
footer a{color:var(--tx-2);font-weight:600}
