:root{
  --k-green:#15976a; --k-green-deep:#0b3d2a; --k-green-dark:#0f7a54;
  --k-green-soft:#e7f4ee; --k-green-line:#c5e3d4;
  --k-terra:#c9704f; --k-terra-soft:#f6e7de; --k-terra-line:#ebcbb9;
  --k-terra-dark:#9c4e2f; --k-terra-text:#ad5535;
  --k-cream:#f6f1e6; --k-cream-2:#efe8d9;
  --k-surface:#fffdf8; --k-surface-2:#fbf7ee;
  --k-ink:#22301f; --k-muted:#667260; --k-faint:#616c55;
  --k-border:#e7dfce; --k-border-strong:#d6cbb4;
  --k-radius:12px; --k-radius-lg:18px; --k-radius-xl:24px;
  --k-shadow:0 1px 2px rgba(58,48,30,.05),0 6px 20px rgba(58,48,30,.07);
  --k-font-display:"Bricolage Grotesque",Georgia,serif;
  --k-font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --k-header-h:76px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--k-cream);color:var(--k-ink);
     font-family:var(--k-font-body);font-size:17px;line-height:1.65;
     -webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--k-font-display);font-weight:700;line-height:1.2;color:var(--k-ink)}
a{color:var(--k-green-dark)}
a:focus-visible,button:focus-visible{outline:3px solid var(--k-green);outline-offset:2px}
.k-wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* beta banner + header, matching the live site */
.k-banner{background:var(--k-green-deep);color:#fff;text-align:center;
          padding:9px 16px;font-size:14px}
.k-banner a{color:#fff;text-decoration:underline}
.k-header{position:sticky;top:0;z-index:40;background:var(--k-surface);
          border-bottom:1px solid var(--k-border)}
.k-header__in{display:flex;align-items:center;gap:28px;height:var(--k-header-h)}
.k-header__logo img{height:33px;width:auto;display:block}
.k-nav{display:flex;gap:26px;margin-left:12px}
.k-nav a{color:var(--k-ink);text-decoration:none;font-weight:600;font-size:15px}
.k-nav a:hover{color:var(--k-green-dark)}
.k-header__cta{margin-left:auto;display:flex;gap:10px;align-items:center}
.k-btn{display:inline-flex;align-items:center;justify-content:center;
       border-radius:999px;padding:10px 20px;font-weight:650;font-size:15px;
       text-decoration:none;border:1.5px solid var(--k-border-strong);
       color:var(--k-ink);background:var(--k-surface)}
.k-btn--primary{background:var(--k-green);border-color:var(--k-green);color:#fff}

/* layout */
.k-main{padding:40px 0 72px}
.k-crumb{font-size:14px;color:var(--k-muted);margin-bottom:20px}
.k-crumb a{color:var(--k-muted)}
.k-crumb span{margin:0 8px;color:var(--k-faint)}
.k-article{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:56px;align-items:start}
.k-lede{font-size:19px;color:var(--k-muted);margin:10px 0 0}
.k-body h2{font-size:25px;margin:44px 0 12px}
.k-body h1{font-size:40px;margin:0}
.k-body p{margin:0 0 16px}
.k-body ul,.k-body ol{margin:0 0 18px;padding-left:22px}
.k-body li{margin-bottom:7px}
.k-body strong{font-weight:650}
.k-body section{scroll-margin-top:calc(var(--k-header-h) + 24px)}
.k-body h2[id]{scroll-margin-top:calc(var(--k-header-h) + 24px)}

/* on this page */
.k-toc{position:sticky;top:calc(var(--k-header-h) + 24px);
       background:var(--k-surface);border:1px solid var(--k-border);
       border-radius:var(--k-radius-lg);padding:18px 20px}
.k-toc h2{font-size:12px;letter-spacing:.07em;text-transform:uppercase;
          color:var(--k-faint);margin:0 0 10px;font-family:var(--k-font-body);font-weight:700}
.k-toc ol{list-style:none;margin:0;padding:0}
.k-toc li{margin-bottom:8px}
.k-toc a{font-size:14.5px;text-decoration:none;color:var(--k-muted);line-height:1.4;display:block}
.k-toc a:hover{color:var(--k-green-dark)}

/* related */
.k-related{margin-top:56px;padding-top:28px;border-top:1px solid var(--k-border)}
.k-related h2{font-size:19px;margin:0 0 16px}
.k-related ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;
              grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.k-related a{display:block;background:var(--k-surface);border:1px solid var(--k-border);
             border-radius:var(--k-radius);padding:14px 16px;text-decoration:none;
             font-weight:600;color:var(--k-ink);font-size:15.5px}
.k-related a:hover{border-color:var(--k-green-line);background:var(--k-green-soft)}

/* index */
.k-hero{padding:16px 0 8px}
.k-hero h1{font-size:46px;margin:0 0 12px}
.k-hero p{font-size:19px;color:var(--k-muted);margin:0;max-width:60ch}
.k-cats{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));margin-top:40px}
.k-cat{background:var(--k-surface);border:1px solid var(--k-border);
       border-radius:var(--k-radius-lg);padding:22px 24px}
.k-cat h2{font-size:19px;margin:0 0 6px}
.k-cat p{font-size:14.5px;color:var(--k-muted);margin:0 0 14px}
.k-cat ul{list-style:none;margin:0;padding:0}
.k-cat li{margin-bottom:9px}
.k-cat a{text-decoration:none;font-weight:600;font-size:15.5px;color:var(--k-ink)}
.k-cat a:hover{color:var(--k-green-dark);text-decoration:underline}

/* footer */
.k-footer{background:var(--k-green-deep);color:#cfe3d8;padding:40px 0;margin-top:40px;font-size:14.5px}
.k-footer a{color:#fff;text-decoration:none}
.k-footer a:hover{text-decoration:underline}
.k-footer__in{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
.k-footer__legal{margin-left:auto;color:#9fbcae}

@media (max-width:980px){
  .k-article{grid-template-columns:1fr;gap:28px}
  .k-toc{position:static;order:-1}
  .k-nav{display:none}
  .k-body h1,.k-hero h1{font-size:32px}
  .k-footer__legal{margin-left:0;width:100%}
}
