:root { --bg:#1a1208; --bg2:#23190c; --surface:#2e2211; --surface2:#3d2e18; --line:#5c4526; --ink:#fdf6e8; --ink2:#e0cfae; --ink3:#bda880; --accent:#ffc528; --accent-lt:#ffe08c; --accent-dk:#c08c00; --sky:#8ede5c; --sky-dk:#4f8f2c; --grass:#8ede5c; --dirt:#b07a3c; --dirt-dk:#77501f; --stone:#b6a488; --diamond:#ffe08c; --emerald:#6fd07a; --tnt:#ff7a45; --tnt-ink:#ffa079; --on-accent:#151f2b; --bw:3px; --r:16px; --r-lg:26px; --sh-block:0 20px 38px -20px rgba(10,6,0,.85); --h1-max:54px; --h2-max:33px; --h1-measure:none; --font-display:"Rowdies","Trebuchet MS",Impact,sans-serif; --font-ui:"Saira",ui-monospace,"SFMono-Regular",Menlo,monospace; --font-body:"Karla",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }

html { color-scheme:dark; }

*,*::before,*::after { box-sizing:border-box; }

html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:84px; }

body,h1,h2,h3,h4,p,ul,ol,figure,dl,dd { margin:0; }

ul,ol { padding:0; list-style:none; }

img,svg,video { display:block; max-width:100%; }

img { height:auto; }

button,input,select,textarea { font:inherit; color:inherit; }

a { color:inherit; }

table { border-collapse:collapse; }

body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-body); font-size:16px; line-height:1.68; font-weight:400; overflow-x:hidden; -webkit-font-smoothing:antialiased; background-image: radial-gradient(900px 420px at 88% -8%, color-mix(in srgb, var(--sky) 15%, transparent), transparent 70%), radial-gradient(760px 380px at 4% 2%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 72%); background-repeat:no-repeat; }

::selection { background:var(--accent); color:var(--on-accent); }

.kk-shortcut { position:absolute; left:-9999px; top:0; z-index:200; background:var(--accent); color:var(--on-accent); padding:12px 20px; font-family:var(--font-ui); font-size:13px; letter-spacing:.05em; }

.kk-shortcut:focus { left:12px; top:12px; }

:where(a,button,summary,[tabindex]):focus-visible { outline:3px solid var(--diamond); outline-offset:3px; border-radius:2px; }

/* ---------- layout ---------- */ .kk-canopy { width:min(100% - 32px, 1240px); margin-inline:auto; }

.kk-canopy-slim { width:min(100% - 32px, 980px); margin-inline:auto; }

main { display:block; }

/* ---------- pixel primitives ---------- */ .kk-branch { height:26px; width:100%; position:relative; background: linear-gradient(var(--grass) 0 9px, transparent 9px), repeating-linear-gradient(90deg,var(--dirt) 0 12px,var(--dirt-dk) 12px 24px); border-top:3px solid color-mix(in srgb, var(--grass) 70%, #000); image-rendering:pixelated; }

.kk-branch::after { content:""; position:absolute; left:0; right:0; top:9px; height:4px; background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--grass) 65%,#000) 0 6px,transparent 6px 12px); }

.kk-branch--line { height:34px; background:none; border-top:0; position:relative; display:grid; place-items:center; }

.kk-branch--line::before { content:""; position:absolute; left:0; right:0; top:50%; height:2px; background:repeating-linear-gradient(90deg,var(--line) 0 14px,transparent 14px 22px); }

.kk-xoru { position:relative; width:16px; height:16px; border:3px solid var(--accent); border-radius:50%; background:var(--bg); }

.kk-branch--wave { height:auto; background:none; border-top:0; line-height:0; }

.kk-branch--wave::after { content:none; }

.kk-branch--wave svg { width:100%; height:52px; display:block; }

.kk-kazu { fill:var(--surface); }

.kk-zuno { fill:none; stroke:var(--sky); stroke-width:3; vector-effect:non-scaling-stroke; opacity:.85; }

/* ---------- buttons ---------- */ .kk-swing { border-radius:var(--r); --btn-bg:var(--accent); --btn-ink:var(--on-accent); --btn-edge:var(--accent-dk); display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:var(--font-ui); font-weight:400; font-size:13.5px; letter-spacing:.045em; line-height:1.15; padding:16px 26px 17px; text-decoration:none; cursor:pointer; background:var(--btn-bg); color:var(--btn-ink); border:0; border-bottom:5px solid var(--btn-edge); box-shadow:inset 0 3px 0 rgba(255,255,255,.32), inset 0 -3px 0 rgba(0,0,0,.12); transition:transform .12s ease, filter .12s ease; text-align:center; }

.kk-swing:hover { filter:brightness(1.08); }

.kk-swing:active { transform:translateY(3px); border-bottom-width:2px; }

.kk-swing svg { width:19px; height:19px; flex:none; }

.kk-swing--ghost { --btn-bg:transparent; --btn-ink:var(--ink); --btn-edge:transparent; border:var(--bw) solid var(--line); box-shadow:none; padding:13px 22px; }

.kk-swing--ghost:hover { border-color:var(--accent); color:var(--accent); filter:none; }

.kk-swing--ghost:active { transform:translateY(2px); }

.kk-swing--sm { font-size:11.5px; padding:12px 16px 13px; border-bottom-width:4px; }

.kk-swing--wide { width:100%; }

/* ---------- header ---------- */ .kk-treetop { position:sticky; top:0; z-index:90; background:color-mix(in srgb, var(--bg2) 92%, transparent); backdrop-filter:blur(10px); border-bottom:var(--bw) solid var(--line); }

.kk-treetop-row { display:flex; align-items:center; gap:18px; min-height:70px; }

.kk-crest { display:flex; align-items:center; gap:11px; text-decoration:none; flex:0 1 auto; min-width:0; }

.kk-crest-icon { width:38px; height:38px; flex:none; image-rendering:pixelated; }

.kk-crest-name { font-family:var(--font-display); font-size:clamp(17px,4.8vw,26px); color:var(--accent); letter-spacing:.005em; line-height:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.kk-vine { margin-left:auto; display:none; }

.kk-vine ul { display:flex; align-items:center; gap:2px; }

.kk-vine a { display:block; padding:9px 11px; text-decoration:none; font-size:14px; font-weight:500; color:var(--ink2); border-bottom:3px solid transparent; transition:color .15s,border-color .15s; white-space:nowrap; }

.kk-vine a:hover { color:var(--ink); }

.kk-vine a[aria-current="page"] { color:var(--accent); border-bottom-color:var(--accent); }

.kk-treetop-cta { display:none; flex:none; }

.kk-latchpin { border-radius:var(--r); margin-left:auto; width:46px; height:42px; background:var(--surface); border:var(--bw) solid var(--line); display:grid; place-items:center; cursor:pointer; padding:0; }

.kk-latchpin span { display:block; width:20px; height:3px; background:var(--ink); box-shadow:0 -7px 0 var(--ink),0 7px 0 var(--ink); transition:.2s; }

.kk-latchpin[aria-expanded="true"] span { background:transparent; box-shadow:0 0 0 transparent; }

.kk-latchpin[aria-expanded="true"]::before,.kk-latchpin[aria-expanded="true"]::after { content:""; position:absolute; width:22px; height:3px; background:var(--accent); }

.kk-latchpin[aria-expanded="true"]::before { transform:rotate(45deg); }

.kk-latchpin[aria-expanded="true"]::after { transform:rotate(-45deg); }

.kk-latchpin { position:relative; }

.kk-hollow { border-top:var(--bw) solid var(--line); background:var(--bg2); }

.kk-hollow[hidden] { display:none; }

.kk-hollow ul { display:grid; grid-template-columns:1fr 1fr; gap:0; }

.kk-hollow li:last-child:nth-child(odd) { grid-column:1 / -1; }

.kk-hollow nav a { display:block; padding:14px 12px; text-decoration:none; font-size:14.5px; font-weight:500; color:var(--ink2); border-bottom:1px solid var(--line); border-right:1px solid var(--line); }

.kk-hollow li:last-child:nth-child(odd) a { border-right:0; }

.kk-hollow nav a[aria-current="page"] { color:var(--accent); }

.kk-hollow-cta { padding:16px; }

/* ---------- hero ---------- */ .kk-clearing { position:relative; overflow:hidden; border-bottom:var(--bw) solid var(--line); }

.kk-clearing::before { content:""; position:absolute; inset:0; background: linear-gradient(180deg, color-mix(in srgb,var(--sky) 22%,transparent) 0%, transparent 45%), repeating-linear-gradient(90deg, color-mix(in srgb,var(--line) 45%,transparent) 0 1px, transparent 1px 44px), repeating-linear-gradient(0deg, color-mix(in srgb,var(--line) 45%,transparent) 0 1px, transparent 1px 44px); opacity:.5; pointer-events:none; }

.kk-clearing-row { position:relative; display:grid; gap:30px; padding:38px 0 44px; }

.kk-clearing-copy { min-width:0; }

.kk-fuve { min-width:0; }

.kk-fuve .kk-clearing-cta { margin-top:0; }

.kk-clearing-row--art-wide .kk-clearing-art img { width:100%; }

.kk-clearing-row--art-wide .kk-clearing-offer { right:auto; left:0; }

/* The wide band centres its copy; the art is capped near its intrinsic width so a small source asset is never upscaled into mush. */ .kk-clearing-row--art-wide .kk-clearing-art { max-width:var(--hero-art-max,820px); margin-inline:auto; width:100%; }

.kk-clearing h1 { font-family:var(--font-display); font-weight:400; font-size:clamp(32px,6.4vw,var(--h1-max)); line-height:1.04; letter-spacing:.002em; margin:16px 0 0; text-wrap:balance; }

.kk-clearing h1 { max-width:var(--h1-measure,none); }

.kk-clearing h1 .kk-glow { color:var(--accent); }

.kk-clearing-lede { margin-top:16px; font-size:clamp(16px,2.3vw,18.5px); color:var(--ink2); max-width:56ch; }

.kk-clearing-cta { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }

.kk-clearing-note { margin-top:14px; font-size:12.5px; color:var(--ink3); display:flex; align-items:flex-start; gap:7px; }

.kk-clearing-note svg { width:14px; height:14px; flex:none; margin-top:3px; }

.kk-clearing-art { position:relative; }

.kk-clearing-art .kk-window { border-radius:var(--r-lg); overflow:hidden; border:var(--bw) solid var(--line); background:var(--bg2); box-shadow:var(--sh-block); position:relative; overflow:hidden; }

.kk-clearing-art img { width:100%; image-rendering:pixelated; }

.kk-clearing-art--portrait .kk-window { display:grid; place-items:center; padding:20px; background:var(--bg2); }

.kk-clearing-art--portrait img { width:auto; max-width:100%; max-height:min(58vh,430px); }

.kk-clearing-art .kk-window::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 62%, color-mix(in srgb,var(--bg) 78%,transparent)); }

.kk-clearing-offer { border-radius:var(--r); position:absolute; right:-6px; bottom:-14px; z-index:2; background:var(--accent); color:var(--on-accent); border-bottom:5px solid var(--accent-dk); padding:11px 15px 12px; font-family:var(--font-display); line-height:1.05; box-shadow:var(--sh-block); }

.kk-clearing-offer b { display:block; font-size:27px; font-weight:400; line-height:1; }

.kk-clearing-offer span { display:block; font-family:var(--font-ui); font-size:9px; letter-spacing:.1em; text-transform:uppercase; opacity:.85; margin-top:6px; }

.kk-clearing-offer.kk-clearing-offer--bottom-left { right:auto; left:-6px; }

.kk-clearing-offer.kk-clearing-offer--top-left { right:auto; bottom:auto; left:-6px; top:-14px; }

.kk-clearing-offer.kk-clearing-offer--top-right { bottom:auto; top:-14px; }

/* ---------- fact strip ---------- */ .kk-stats { background:var(--bg2); border-bottom:var(--bw) solid var(--line); }

.kk-stats--strip .kk-stats-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-left:1px solid var(--line); border-right:1px solid var(--line); }

.kk-stats-item { padding:20px 16px; border-bottom:1px solid var(--line); border-right:1px solid var(--line); display:flex; align-items:center; gap:13px; min-width:0; }

.kk-stats--strip .kk-stats-item:nth-child(2n) { border-right:0; }

.kk-stats-icon { border-radius:var(--r); width:42px; height:42px; flex:none; display:grid; place-items:center; border:max(2px, calc(var(--bw) - 1px)) solid var(--line); background:var(--surface); }

.kk-stats-icon svg { width:22px; height:22px; }

.kk-stats-body { min-width:0; }

.kk-stats-label { display:block; font-family:var(--font-ui); font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--ink3); }

.kk-stats-value { display:block; font-family:var(--font-display); font-size:24px; color:var(--ink); line-height:1.15; margin-top:6px; overflow-wrap:break-word; hyphens:auto; }

.kk-stats-value.kk-shade-banana { color:var(--accent); }

.kk-stats-value.kk-shade-sky { color:var(--diamond); }

.kk-stats-value.kk-shade-leaf { color:var(--emerald); }

.kk-stats--cards { background:transparent; border-bottom:0; padding:26px 0 4px; }

.kk-stats--cards .kk-stats-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; border:0; }

.kk-stats--cards .kk-stats-item { flex-direction:column; align-items:flex-start; gap:10px; padding:16px 15px; border:var(--bw) solid var(--line); border-radius:var(--r-lg); background:var(--surface); box-shadow:var(--sh-block); }

.kk-stats--cards .kk-stats-item .kk-stats-label,.kk-stats--cards .kk-stats-item .kk-stats-value { display:block; }

.kk-stats--cards .kk-stats-value { margin-top:2px; }

.kk-stats--list { background:var(--bg2); border-bottom:var(--bw) solid var(--line); padding:6px 0; }

.kk-stats--list .kk-stats-grid { display:grid; grid-template-columns:1fr; gap:0 34px; border:0; }

.kk-stats--list .kk-stats-item { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:12px; padding:13px 2px; border:0; border-bottom:1px dashed var(--line); }

.kk-stats--list .kk-stats-item:last-child { border-bottom:0; }

@media (min-width:760px) {
  .kk-stats--list .kk-stats-grid { grid-template-columns:1fr 1fr; }
  }
@media (min-width:760px) {
  .kk-stats--list .kk-stats-item:nth-last-child(2) { border-bottom:0; }
  }
@media (min-width:760px) {}

.kk-stats--list .kk-stats-icon { width:34px; height:34px; border:0; background:transparent; color:var(--accent); }

.kk-stats--list .kk-stats-icon svg { width:20px; height:20px; }

.kk-stats--list .kk-stats-label { font-family:var(--font-ui); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink3); }

.kk-stats--list .kk-stats-value { margin:0; font-family:var(--font-display); font-size:19px; color:var(--ink); text-align:right; line-height:1.2; }

/* ---------- page shell ---------- */ .kk-grove { display:grid; gap:34px; padding:38px 0 56px; align-items:start; }

/* Long compounds (Finnish, German, Dutch) blow past a 320px column otherwise. `hyphens` needs the document language, which the head already declares. */ .kk-clearing h1,.kk-journal h2,.kk-journal h3,.kk-query-q,.kk-trailmap-list a,.kk-noma { overflow-wrap:break-word; hyphens:auto; }

/* ---------- prose ---------- */ .kk-journal { min-width:0; font-size:16.5px; }

.kk-journal > * + * { margin-top:19px; }

.kk-journal h2 { font-family:var(--font-display); font-weight:400; font-size:clamp(25px,3.7vw,var(--h2-max)); line-height:1.16; letter-spacing:.004em; margin-top:52px; padding-top:4px; position:relative; padding-left:26px; text-wrap:balance; scroll-margin-top:90px; }

.kk-journal h2::before { content:""; position:absolute; left:0; top:.42em; width:14px; height:14px; background:var(--accent); box-shadow:0 -8px 0 -3px var(--sky), 0 8px 0 -3px var(--emerald); }

.kk-journal h3 { font-family:var(--font-body); font-weight:700; font-size:clamp(18px,2.6vw,21px); line-height:1.32; margin-top:34px; color:var(--ink); text-wrap:balance; scroll-margin-top:90px; }

.kk-journal h2 + h3, .kk-journal h2 + p, .kk-journal h2 + ul, .kk-journal h2 + ol, .kk-journal h2 + .kk-sheet { border-radius:var(--r-lg); margin-top:17px; }

.kk-journal p { color:var(--ink2); }

.kk-journal strong { color:var(--ink); font-weight:600; }

.kk-journal .kk-opener { font-size:17px; color:var(--ink); font-weight:600; border-left:4px solid var(--accent); padding-left:14px; }

.kk-journal ul { display:grid; gap:11px; }

.kk-journal ul > li { position:relative; padding-left:29px; color:var(--ink2); }

.kk-journal ul > li::before { content:""; position:absolute; left:2px; top:.56em; width:11px; height:11px; background:var(--sky); box-shadow:inset 0 2px 0 rgba(255,255,255,.35); }

.kk-journal ul > li > ul { margin-top:10px; }

.kk-journal ul > li > ul > li::before { background:var(--stone); }

.kk-journal li p { margin-top:8px; }

.kk-journal ol { counter-reset:step; display:grid; gap:15px; }

.kk-journal ol > li { position:relative; padding-left:48px; counter-increment:step; color:var(--ink2); }

.kk-journal ol > li::before { content:counter(step); position:absolute; left:0; top:0; width:33px; height:33px; display:grid; place-items:center; font-family:var(--font-ui); font-size:13px; background:var(--surface2); color:var(--accent); border:max(2px, calc(var(--bw) - 1px)) solid var(--line); }

.kk-journal ol > li > ul { margin-top:11px; }

.kk-sheet { overflow-x:auto; border:var(--bw) solid var(--line); background:var(--surface); box-shadow:var(--sh-block); -webkit-overflow-scrolling:touch; background-image: linear-gradient(to right, var(--surface), color-mix(in srgb, var(--surface) 0%, transparent)), linear-gradient(to left, var(--surface), color-mix(in srgb, var(--surface) 0%, transparent)), linear-gradient(to right, rgba(0,0,0,.42), rgba(0,0,0,0)), linear-gradient(to left, rgba(0,0,0,.42), rgba(0,0,0,0)); background-position:0 0, 100% 0, 0 0, 100% 0; background-repeat:no-repeat; background-size:26px 100%, 26px 100%, 14px 100%, 14px 100%; background-attachment:local, local, scroll, scroll; }

.kk-sheet table { width:100%; min-width:520px; font-size:15px; }

.kk-sheet th,.kk-sheet td { padding:12px 15px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }

.kk-sheet thead th { background:var(--surface2); color:var(--ink); font-family:var(--font-ui); font-size:10.5px; letter-spacing:.09em; text-transform:uppercase; border-bottom:var(--bw) solid var(--line); position:sticky; top:0; white-space:nowrap; }

.kk-sheet tbody tr:last-child td { border-bottom:0; }

.kk-sheet tbody tr:nth-child(even) { background:color-mix(in srgb,var(--surface2) 45%,transparent); }

.kk-sheet td { color:var(--ink2); }

.kk-sheet td:first-child { color:var(--ink); font-weight:500; }

.kk-sheet td strong { color:var(--accent); font-weight:600; }

.kk-sheet-hint { display:none; align-items:center; gap:6px; margin-top:8px; font-size:12px; color:var(--ink3); }

html:not(.kk-js) .kk-sheet-hint { display:flex; }

.kk-sheet.kk-pans + .kk-sheet-hint { display:flex; }

.kk-sheet-hint svg { width:13px; height:13px; }

/* ---------- faq ---------- */ .kk-queries { display:grid; gap:10px; margin-top:20px; }

.kk-query { border-radius:var(--r); border:var(--bw) solid var(--line); background:var(--surface); }

.kk-query-q { margin:0; font-family:var(--font-body); font-size:16.5px; font-weight:600; line-height:1.45; }

.kk-query-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; background:none; border:0; padding:16px 17px; text-align:left; cursor:pointer; color:var(--ink); font:inherit; }

.kk-query-toggle:hover { color:var(--accent); }

.kk-query-icon { width:26px; height:26px; flex:none; position:relative; border:max(2px, calc(var(--bw) - 1px)) solid var(--line); background:var(--surface2); transition:.18s; }

.kk-query-icon::before,.kk-query-icon::after { content:""; position:absolute; background:var(--accent); left:50%; top:50%; transform:translate(-50%,-50%); }

.kk-query-icon::before { width:11px; height:3px; }

.kk-query-icon::after { width:3px; height:11px; transition:opacity .18s; }

.kk-query-toggle[aria-expanded="true"] .kk-query-icon { background:var(--accent); border-color:var(--accent); }

.kk-query-toggle[aria-expanded="true"] .kk-query-icon::before { background:var(--on-accent); }

.kk-query-toggle[aria-expanded="true"] .kk-query-icon::after { opacity:0; }

.kk-query-a { padding:0 17px 17px; border-top:1px solid var(--line); padding-top:15px; }

.kk-query-a > * + * { margin-top:14px; }

.kk-query-a p { color:var(--ink2); font-size:15.5px; }

.kk-query-a[hidden] { display:none; }

details.kk-query summary { list-style:none; cursor:pointer; }

details.kk-query summary::-webkit-details-marker { display:none; }

details.kk-query .kk-query-toggle { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 17px; color:var(--ink); }

details.kk-query .kk-query-q { margin:0; font-family:var(--font-body); font-size:16.5px; font-weight:600; line-height:1.45; }

details.kk-query summary:hover .kk-query-q { color:var(--accent); }

details.kk-query[open] .kk-query-icon { background:var(--accent); border-color:var(--accent); }

details.kk-query[open] .kk-query-icon::before { background:var(--on-accent); }

details.kk-query[open] .kk-query-icon::after { opacity:0; }

details.kk-query .kk-query-a { padding:0 17px 17px; border-top:1px solid var(--line); padding-top:15px; }

/* ---------- sidebar ---------- */ .kk-ledge { display:grid; gap:20px; min-width:0; }

.kk-crate { border-radius:var(--r-lg); border:var(--bw) solid var(--line); background:var(--surface); box-shadow:var(--sh-block); }

.kk-crate-head { padding:13px 16px; border-bottom:var(--bw) solid var(--line); background:var(--surface2); font-family:var(--font-ui); font-size:10.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--ink); display:flex; align-items:center; gap:9px; }

.kk-crate-head svg { width:17px; height:17px; color:var(--accent); }

.kk-crate-body { padding:16px; }

.kk-stash { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent), var(--sh-block); }

.kk-stash .kk-crate-head { background:var(--accent); color:var(--on-accent); border-bottom-color:var(--accent-dk); }

.kk-stash .kk-crate-head svg { color:var(--on-accent); }

.kk-stash-value { font-family:var(--font-display); font-size:clamp(30px,4.6vw,38px); color:var(--accent); line-height:1.06; }

.kk-stash-extra { font-family:var(--font-display); font-size:21px; color:var(--ink); margin-top:6px; line-height:1.1; }

.kk-stash-terms { font-size:12px; color:var(--ink3); margin-top:12px; line-height:1.5; }

.kk-stash .kk-swing { margin-top:15px; }

.kk-datasheet dl { display:grid; gap:0; }

.kk-datasheet .kk-entry { display:flex; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px dashed var(--line); }

.kk-datasheet .kk-entry:last-child { border-bottom:0; }

.kk-datasheet dt { font-size:13px; color:var(--ink3); letter-spacing:.03em; }

.kk-datasheet dd { margin:0; font-family:var(--font-display); font-size:18px; color:var(--ink); text-align:right; line-height:1.25; }

/* ---------- page contents ---------- */ .kk-trailmap { background:var(--bg2); border-bottom:var(--bw) solid var(--line); padding:18px 0 20px; }

.kk-trailmap-head { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:34px; }

.kk-trailmap-title { display:flex; align-items:center; gap:9px; font-family:var(--font-ui); font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--ink2); }

.kk-trailmap-title svg { width:16px; height:16px; color:var(--accent); flex:none; }

.kk-trailmap-toggle { border-radius:var(--r); display:none; align-items:center; gap:10px; cursor:pointer; background:var(--surface); border:max(2px, calc(var(--bw) - 1px)) solid var(--line); padding:8px 12px; font-family:var(--font-ui); font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:var(--ink2); }

.kk-trailmap-toggle:hover { border-color:var(--accent); color:var(--accent); }

.kk-trailmap-icon { width:16px; height:16px; flex:none; position:relative; }

.kk-trailmap-icon::before,.kk-trailmap-icon::after { content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:var(--accent); }

.kk-trailmap-icon::before { width:11px; height:3px; }

.kk-trailmap-icon::after { width:3px; height:11px; transition:opacity .18s; }

.kk-trailmap-toggle[aria-expanded="true"] .kk-trailmap-icon::after { opacity:0; }

.kk-trailmap-list { counter-reset:pn; display:grid; grid-template-columns:1fr; gap:2px; margin-top:14px; }

.kk-trailmap-list li { counter-increment:pn; min-width:0; }

.kk-trailmap-list a { display:flex; gap:11px; padding:9px 11px; text-decoration:none; font-size:14px; line-height:1.4; color:var(--ink2); border-left:3px solid transparent; transition:color .15s,background .15s,border-color .15s; }

.kk-trailmap-list a::before { content:counter(pn,decimal-leading-zero); font-family:var(--font-ui); font-size:10px; color:var(--ink3); flex:none; padding-top:3px; }

.kk-trailmap-list a:hover { color:var(--accent); background:var(--surface); border-left-color:var(--accent); }

.kk-trailmap-list a.kk-here { color:var(--accent); background:var(--surface); border-left-color:var(--accent); }

/* ---------- in-content promo band ---------- */ .kk-callout { border-radius:var(--r-lg); position:relative; overflow:hidden; border:3px solid var(--accent); background:linear-gradient(135deg,var(--surface2),var(--surface)); padding:24px 22px; display:grid; gap:18px; box-shadow:var(--sh-block); }

.kk-callout::before { content:""; position:absolute; inset:0; opacity:.16; pointer-events:none; background:repeating-linear-gradient(45deg,var(--accent) 0 8px,transparent 8px 24px); }

.kk-callout > * { position:relative; }

.kk-callout-title { font-family:var(--font-display); font-size:clamp(24px,3.6vw,30px); line-height:1.14; color:var(--ink); }

.kk-callout-title em { font-style:normal; color:var(--accent); }

.kk-callout-text { font-size:15px; color:var(--ink2); margin-top:8px; }

.kk-callout-terms { font-size:11.5px; color:var(--ink3); margin-top:11px; }

/* ---------- pickaxe tier strip ---------- */ .kk-culi { display:grid; grid-template-columns:1fr; gap:12px; }

@media (min-width:400px) {
  .kk-culi { grid-template-columns:repeat(2,1fr); }
  }
@media (min-width:400px) {}

.kk-perk { min-width:0; border-radius:var(--r); border:var(--bw) solid var(--line); background:var(--surface); padding:15px 14px; text-align:center; }

.kk-perk-icon { border-radius:var(--r); display:grid; place-items:center; width:52px; height:52px; margin:0 auto 12px; border:max(2px, calc(var(--bw) - 1px)) solid var(--line); background:var(--surface2); }

.kk-perk-icon svg { width:30px; height:30px; }

.kk-perk-name { font-family:var(--font-display); font-size:20px; line-height:1.1; }

.kk-perk-meter { display:flex; gap:3px; margin-top:11px; justify-content:center; }

.kk-perk-meter i { display:block; width:11px; height:11px; background:var(--line); }

.kk-perk-meter i.kk-ripe { background:var(--tnt); }

.kk-perk-note { font-size:12px; color:var(--ink3); margin-top:9px; line-height:1.45; display:block; }

.kk-perk--wood { color:#c08c53; }

.kk-perk--stone { color:var(--stone); }

.kk-perk--iron { color:#dfe6ee; }

.kk-perk--diamond { color:var(--diamond); }

.kk-perk-name { color:currentColor; }

.kk-perk-icon { color:currentColor; }

/* ---------- gallery ---------- */ .kk-frames { display:grid; gap:14px; grid-template-columns:1fr; align-items:start; }

.kk-frame { border-radius:var(--r-lg); border:var(--bw) solid var(--line); background:var(--bg2); box-shadow:var(--sh-block); overflow:hidden; }

.kk-frame img { width:100%; image-rendering:pixelated; }

.kk-frame figcaption { padding:11px 14px; font-size:12.5px; color:var(--ink3); border-top:1px solid var(--line); }

/* ---------- footer ---------- */ .kk-roots { background:var(--bg2); border-top:var(--bw) solid var(--line); padding:42px 0 0; font-size:14.5px; }

.kk-roots-grid { display:grid; gap:30px; grid-template-columns:1fr; }

.kk-roots-col h2 { font-family:var(--font-ui); font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:var(--ink); margin-bottom:14px; }

.kk-roots-col ul { display:grid; gap:9px; }

.kk-roots-col a { color:var(--ink3); text-decoration:none; transition:color .15s; }

.kk-roots-col a:hover { color:var(--accent); }

.kk-purse { display:flex; flex-wrap:wrap; gap:8px; }

.kk-purse span { border-radius:var(--r); border:max(2px, calc(var(--bw) - 1px)) solid var(--line); background:var(--surface); padding:7px 11px; font-family:var(--font-ui); font-size:9.5px; letter-spacing:.05em; color:var(--ink3); }

.kk-mindful { margin-top:34px; border-top:1px solid var(--line); padding:24px 0; display:grid; gap:16px; align-items:center; }

.kk-mindful-chips { display:flex; flex-wrap:wrap; gap:9px; align-items:center; }

.kk-mindful-chip { border-radius:var(--r); display:inline-flex; align-items:center; gap:7px; border:max(2px, calc(var(--bw) - 1px)) solid var(--line); padding:7px 12px; font-size:12px; color:var(--ink2); background:var(--surface); }

.kk-mindful-chip b { font-family:var(--font-ui); color:var(--tnt-ink); font-size:12px; letter-spacing:.04em; }

.kk-mindful-chip svg { width:15px; height:15px; color:var(--ink3); }

.kk-mindful p { color:var(--ink3); font-size:13px; line-height:1.6; }

.kk-mindful a { color:var(--ink2); }

.kk-roots-bottom { border-top:1px solid var(--line); padding:18px 0 30px; color:var(--ink3); font-size:12.5px; display:grid; gap:8px; }

/* ---------- sticky mobile CTA ---------- */ .kk-dockbar { position:fixed; left:0; right:0; bottom:0; z-index:80; background:color-mix(in srgb, var(--bg2) 96%, transparent); backdrop-filter:blur(10px); border-top:var(--bw) solid var(--line); padding:10px 0 calc(10px + env(safe-area-inset-bottom)); box-shadow:0 -10px 24px -14px rgba(0,0,0,.7); }

.kk-dockbar-row { display:flex; align-items:center; justify-content:space-between; gap:14px; }

.kk-dockbar-text { flex:1 1 auto; min-width:0; line-height:1.15; }

.kk-dockbar-text b { display:block; font-family:var(--font-display); font-size:18px; color:var(--accent); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.kk-dockbar-text span { display:block; font-family:var(--font-ui); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink3); margin-top:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width:359px) {
  .kk-dockbar-row { gap:10px; }
  }
@media (max-width:359px) {
  .kk-dockbar .kk-swing { padding-left:14px; padding-right:14px; }
  }
@media (max-width:359px) {
  .kk-dockbar-text span { display:none; }
  }
@media (max-width:359px) {}

.kk-dockbar .kk-swing { flex:none; white-space:nowrap; }

.kk-js .kk-dockbar { transform:translateY(110%); transition:transform .28s ease; will-change:transform; }

.kk-js .kk-dockbar.kk-hoisted { transform:none; }

.kk-seve .kk-dockbar { display:none; }

/* ---------- 404 ---------- */ .kk-astray { min-height:62vh; display:grid; place-items:center; text-align:center; padding:60px 0; }

.kk-astray-code { font-family:var(--font-display); font-size:clamp(84px,22vw,170px); line-height:.86; color:var(--accent); text-shadow:7px 7px 0 var(--surface2); }

.kk-astray h1 { font-family:var(--font-display); font-size:clamp(28px,5.2vw,40px); margin-top:20px; font-weight:400; }

.kk-astray p { color:var(--ink2); margin-top:14px; max-width:52ch; margin-inline:auto; }

.kk-astray .kk-astray-code { color:var(--accent); max-width:none; margin-top:0; }

.kk-astray .kk-clearing-cta { justify-content:center; }

.kk-astray-links { margin-top:30px; display:flex; flex-wrap:wrap; gap:9px; justify-content:center; }

.kk-astray-links a { border-radius:var(--r); border:max(2px, calc(var(--bw) - 1px)) solid var(--line); background:var(--surface); padding:9px 14px; text-decoration:none; font-size:13.5px; color:var(--ink2); transition:.15s; }

.kk-astray-links a:hover { border-color:var(--accent); color:var(--accent); }

/* ---------- reveal ---------- */ .kk-js .kk-unfold { opacity:0; transform:translateY(16px); }

.kk-js .kk-unfold.kk-open { opacity:1; transform:none; transition:opacity .5s ease,transform .5s ease; }

/* ---------- breadcrumb ---------- */ .kk-tracks { padding:14px 0; font-size:13px; color:var(--ink3); border-bottom:1px solid var(--line); background:var(--bg2); }

.kk-tracks ol { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }

.kk-tracks a { color:var(--ink2); text-decoration:none; }

.kk-tracks a:hover { color:var(--accent); }

.kk-tracks li + li::before { content:"›"; margin-right:7px; color:var(--ink3); }

.kk-tracks li { display:flex; align-items:center; }

.kk-tracks [aria-current] { color:var(--ink3); }

/* ---------- responsive ---------- */ @media (max-width:719px) {
  .kk-trailmap-toggle { display:inline-flex; }
  }
/* ---------- responsive ---------- */ @media (max-width:719px) {
  .kk-js .kk-trailmap-list { display:none; }
  }
/* ---------- responsive ---------- */ @media (max-width:719px) {
  .kk-js .kk-trailmap.kk-swung .kk-trailmap-list { display:grid; }
  }
/* ---------- responsive ---------- */ @media (max-width:719px) {}

@media (max-width:599px) {
  .kk-clearing-offer { position:static; margin-top:-2px; padding:13px 16px; text-align:center; border-radius:0 0 var(--r-lg) var(--r-lg); box-shadow:none; }
  }
@media (max-width:599px) {
  .kk-clearing-offer b { font-size:23px; }
  }
@media (max-width:599px) {}

@media (min-width:600px) {
  .kk-trailmap-list { grid-template-columns:1fr 1fr; }
  }
@media (min-width:600px) {
  .kk-stats--cards .kk-stats-grid { grid-template-columns:repeat(3,1fr); }
  }
@media (min-width:600px) {
  .kk-stats--strip .kk-stats-grid { grid-template-columns:repeat(3,1fr); }
  }
@media (min-width:600px) {
  .kk-stats--strip .kk-stats-item:nth-child(2n) { border-right:1px solid var(--line); }
  }
@media (min-width:600px) {
  .kk-stats--strip .kk-stats-item:nth-child(3n) { border-right:0; }
  }
@media (min-width:600px) {
  .kk-culi { grid-template-columns:repeat(4,1fr); }
  }
@media (min-width:600px) {
  .kk-callout { grid-template-columns:1fr auto; align-items:center; gap:26px; padding:28px 26px; }
  }
@media (min-width:600px) {
  .kk-mindful { grid-template-columns:auto 1fr; gap:24px; }
  }
@media (min-width:600px) {
  .kk-roots-bottom { grid-template-columns:1fr auto; align-items:center; }
  }
@media (min-width:600px) {
  .kk-frames { grid-template-columns:2fr 1fr; }
  }
@media (min-width:600px) {}

@media (max-width:899px) {
  .kk-clearing-row--art-left .kk-clearing-copy { order:-1; }
  }
@media (max-width:899px) {}

@media (min-width:900px) {
  .kk-clearing-row.kk-clearing-row--art-left { grid-template-columns:.94fr 1.06fr; }
  }
@media (min-width:900px) {
  .kk-clearing-row.kk-clearing-row--art-wide { grid-template-columns:1fr; gap:26px; align-items:start; text-align:center; padding:34px 0 40px; }
  }
@media (min-width:900px) {
  .kk-clearing-row--art-wide h1 { font-size:clamp(32px,5vw,50px); }
  }
@media (min-width:900px) {
  .kk-clearing-row--art-wide .kk-clearing-copy { max-width:none; }
  }
@media (min-width:900px) {
  .kk-clearing-row--art-wide h1 { margin-inline:auto; }
  }
@media (min-width:900px) {
  .kk-clearing-row--art-wide .kk-clearing-lede { max-width:56ch; margin-inline:auto; }
  }
@media (min-width:900px) {
  .kk-clearing-row--art-wide .kk-clearing-cta, .kk-clearing-row--art-wide .kk-clearing-note { justify-content:center; }
  }
@media (min-width:900px) {
  .kk-clearing-row--art-wide .kk-clearing-note { align-items:center; }
  }
@media (min-width:900px) {
  .kk-trailmap { padding:22px 0 26px; }
  }
@media (min-width:900px) {
  .kk-trailmap-list { grid-template-columns:repeat(3,1fr); gap:2px 18px; margin-top:16px; }
  }
@media (min-width:900px) {
  .kk-clearing-row { grid-template-columns:1.06fr .94fr; align-items:center; gap:44px; padding:52px 0 60px; }
  }
@media (min-width:900px) {
  .kk-stats--cards .kk-stats-grid { grid-template-columns:repeat(6,1fr); }
  }
@media (min-width:900px) {
  .kk-stats--strip .kk-stats-grid { grid-template-columns:repeat(6,1fr); }
  }
@media (min-width:900px) {
  .kk-stats--strip .kk-stats-item:nth-child(3n) { border-right:1px solid var(--line); }
  }
@media (min-width:900px) {
  .kk-stats--strip .kk-stats-item:nth-child(6n) { border-right:0; }
  }
@media (min-width:900px) {
  .kk-stats-item { flex-direction:column; align-items:flex-start; gap:11px; padding:20px 15px; }
  }
@media (min-width:900px) {
  .kk-hollow { display:none; }
  }
@media (min-width:900px) {}

@media (max-width:1079px) {
  body { padding-bottom:78px; }
  }
@media (max-width:1079px) {}

@media (min-width:1080px) {
  .kk-dockbar { display:none; }
  }
@media (min-width:1080px) {
  .kk-vine { display:block; }
  }
@media (min-width:1080px) {
  .kk-latchpin { display:none; }
  }
@media (min-width:1080px) {
  .kk-treetop-cta { display:inline-flex; }
  }
@media (min-width:1080px) {
  .kk-grove { grid-template-columns:minmax(0,1fr) 316px; gap:42px; padding:44px 0 72px; }
  }
@media (min-width:1080px) {
  .kk-grove--side-left { grid-template-columns:316px minmax(0,1fr); }
  }
@media (min-width:1080px) {
  .kk-ledge { position:sticky; top:88px; max-height:calc(100vh - 104px); overflow-y:auto; overflow-x:hidden; padding:0 10px 10px 0; margin-right:-10px; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
  }
@media (min-width:1080px) {
  .kk-ledge::-webkit-scrollbar { width:8px; }
  }
@media (min-width:1080px) {
  .kk-ledge::-webkit-scrollbar-thumb { background:var(--line); }
  }
@media (min-width:1080px) {
  .kk-ledge::-webkit-scrollbar-track { background:transparent; }
  }
@media (min-width:1080px) {
  .kk-roots-grid { grid-template-columns:1.5fr 1fr 1fr 1fr; }
  }
@media (min-width:1080px) {}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.001ms !important; transition-duration:.001ms !important; }
  }
@media (prefers-reduced-motion:reduce) {
  .kk-js .kk-unfold { opacity:1; transform:none; }
  }
@media (prefers-reduced-motion:reduce) {}

@media print {
  .kk-treetop,.kk-ledge,.kk-callout,.kk-clearing-cta,.kk-latchpin,.kk-hollow,.kk-trailmap,.kk-dockbar { display:none !important; }
  }
@media print {
  body { background:#fff; color:#000; }
  }
@media print {
  .kk-journal p,.kk-journal li { color:#222; }
  }
@media print {}

