:root{--pad:48px;--ground:#1f3d2b;--deep:#172e21;--light:#2b5039;--accent:#b8c7b2;--mist:#e7ece4;--paper:#f3f1ea;--ink:#1b2a21;--ink-m:#5e6b62;--line:#d9dbd2;--line-g:#345a45}*{box-sizing:border-box}html,body{overflow-x:hidden}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Sans,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}a:hover{color:var(--light);text-underline-offset:3px;text-decoration:underline}.wm{letter-spacing:.42em;text-transform:uppercase;font-family:Jost,Futura,Century Gothic,sans-serif;font-weight:400}.disp{letter-spacing:-.005em;font-family:Jost,Futura,Century Gothic,sans-serif;font-weight:300;line-height:1.08}.mono{font-family:IBM Plex Mono,Menlo,Consolas,monospace}.k{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-m);font-family:Jost,sans-serif;font-size:11px}.on-ground .k{color:var(--accent)}.wrap{max-width:1248px;padding:0 var(--pad);margin:0 auto}@media (width<=720px){:root{--pad:20px}}.bleed{margin-left:calc(-1 * var(--pad));margin-right:calc(-1 * var(--pad));padding-left:var(--pad);padding-right:var(--pad)}.bleed.top{margin-top:-40px}.inner{max-width:1152px;margin:0 auto}h1,h2{margin:0}h1.disp{font-size:clamp(30px,6.5vw,44px)}h1.hero{font-size:clamp(36px,9vw,64px)}h1.big{font-size:clamp(34px,8vw,52px)}h2.disp{font-size:clamp(22px,4.5vw,30px);font-weight:300}h2.disp.hero{font-size:clamp(26px,5.5vw,36px)}.muted{color:var(--ink-m)}.small{font-size:13px}.on-ground{background:var(--ground);color:var(--mist)}.on-ground a:hover,.on-ground .muted{color:var(--accent)}.on-deep{background:var(--deep);color:var(--mist)}header.site .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-top:22px;padding-bottom:22px;display:flex}header.site nav{flex-wrap:wrap;gap:28px;display:flex}header.site nav a{letter-spacing:.24em;text-transform:uppercase;color:var(--accent);font-family:Jost,sans-serif;font-size:11px}header.site nav a:hover{color:var(--mist);text-decoration:none}.pathline{color:var(--accent);word-break:break-all;font-family:IBM Plex Mono,monospace;font-size:12px}main{padding:40px 0 56px}.two{grid-template-columns:7fr 5fr;align-items:start;gap:64px;display:grid}.two.w84{grid-template-columns:8fr 4fr}.two.w57{grid-template-columns:5fr 7fr}.two.end{align-items:end}.two.mid{align-items:center}.two-eq{grid-template-columns:1fr 1fr;align-items:start;gap:64px;display:grid}.two>*,.two-eq>*,.grid4>*,.three>*{min-width:0}.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;display:grid}@media (width<=860px){.two,.two.w84,.two.w57,.two-eq,.three{grid-template-columns:1fr;gap:32px}}.facts{color:var(--ink-m);flex-wrap:wrap;gap:10px 28px;font-size:14px;display:flex}.facts span{align-items:center;gap:8px;display:flex}.row{border-top:1px solid var(--line);grid-template-columns:200px 1fr;align-items:baseline;gap:20px;padding:12px 0;display:grid}.row .v{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;display:flex}.row .src{color:var(--ink-m);font-family:IBM Plex Mono,monospace;font-size:11px}@media (width<=720px){.row{grid-template-columns:1fr;gap:4px}}.scale{vertical-align:middle;gap:4px;display:inline-flex}.scale i{background:var(--line);width:11px;height:11px;display:block}.scale i.on{background:var(--ground)}.on-ground .scale i{background:var(--line-g)}.on-ground .scale i.on{background:var(--accent)}.prof{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:18px 0;display:flex}.prof .top{justify-content:space-between;align-items:center;display:flex}table.idx{border-collapse:collapse;width:100%}table.idx th{text-align:left;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-m);border-bottom:1px solid var(--ink);white-space:nowrap;padding:10px 8px;font-family:Jost,sans-serif;font-size:10.5px;font-weight:400}table.idx td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 8px;font-size:14px}table.idx td.r{text-align:right}table.idx tr:hover td{background:#eceae2}.idxwrap{overflow-x:auto}@media (width<=720px){table.idx .hide-m{display:none}table.idx td,table.idx th{padding:9px 6px;font-size:13px}}.pattern{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));gap:min(var(--pgap), 4.5vw);justify-items:center;display:grid}@media (width<=720px){.pattern{max-height:128px;overflow:hidden}}.facts{row-gap:10px}.step{padding:20px 0}.btn{background:var(--ground);color:var(--mist);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:12px;padding:12px 18px;font-family:Jost,sans-serif;font-size:12px;display:inline-flex}.btn:hover{background:var(--light);color:var(--mist);text-decoration:none}.btn.ghost{border:1px solid var(--accent);color:var(--mist);background:0 0}.btn.ghost:hover{background:var(--accent);color:var(--ground)}.card{background:var(--paper);color:var(--ink);flex-direction:column;gap:10px;padding:20px 22px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips a,.chips span{border:1px solid var(--line);background:#fff;padding:5px 12px;font-size:13px;display:inline-block}.chips a:hover{border-color:var(--ink);text-decoration:none}.band{background:var(--ground);color:var(--accent);justify-content:space-between;align-items:center;gap:32px;padding:20px 26px;font-size:12.5px;line-height:1.5;display:flex}footer.site{background:var(--ground);color:var(--accent);font-size:13px;line-height:1.6}footer.site .wrap{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-top:36px;padding-bottom:40px;display:grid}@media (width<=860px){footer.site .wrap{grid-template-columns:1fr}}footer.site a,footer.site .k{color:var(--mist)}pre.json{white-space:pre;color:var(--mist);margin:0;font-family:IBM Plex Mono,monospace;font-size:12.5px;line-height:1.7;overflow-x:auto}pre.json .key{color:var(--accent)}pre.json .num{color:#e8d9a8}.grid4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}@media (width<=860px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.grid4{grid-template-columns:1fr}}.step{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding:24px 0;display:flex}.li{align-items:flex-start;gap:12px;font-size:15px;line-height:1.55;display:flex}
