:root{--ink:#24211E;--soft:#6B6459;--line:#E4DED4;--bg:#FFFDFA;--c:#1D5B63;--tint:#E8F1F2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,sans-serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}.wrap{max-width:44rem;margin:0 auto;padding:0 1.4rem}a{color:var(--c)}h1,h2,h3{font-family:'Source Serif 4',Georgia,serif;letter-spacing:-.015em;line-height:1.15}code,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:#F1EEE9;padding:.1em .35em;border-radius:3px}header.site{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c);text-decoration:none}.brand i{width:14px;height:14px;border-radius:50%;background:var(--c);display:block}header.site nav a{color:var(--soft);text-decoration:none;font-size:.92rem;margin-left:1.3rem;font-weight:600}header.site nav a:hover{color:var(--c)}.hero{padding:4.2rem 0 3rem}.hero .bars{display:flex;gap:5px;margin-bottom:1.8rem}.hero .bars i{height:9px;flex:1;border-radius:2px}.hero h1{font-size:clamp(2.5rem,7vw,4.1rem);margin:0;font-weight:600}.hero h1 em{font-style:normal;color:var(--soft);font-weight:400}.hero p.lede{font-size:1.2rem;color:#413B34;max-width:32rem;margin:1.1rem 0 0;line-height:1.55}.buy{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:2.1rem}.btn{display:inline-block;background:var(--c);color:#fff;text-decoration:none;font-weight:700;padding:.85rem 1.7rem;border-radius:6px;font-size:1rem;border:none;cursor:pointer}.btn:hover{filter:brightness(.93)}.btn.ghost{background:none;color:var(--c);border:2px solid var(--c);padding:.72rem 1.4rem}.price{font-weight:700;font-size:1.05rem}.price s{color:var(--soft);font-weight:400;margin-right:.4rem}section{padding:2.6rem 0;border-top:1px solid var(--line)}section h2{font-size:1.65rem;margin:0 0 1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.4rem;margin-top:1.4rem}.card{border:1px solid var(--line);border-radius:8px;padding:1.1rem 1.2rem;background:#fff}.card h3{margin:.1rem 0 .4rem;font-size:1.06rem}.card p{margin:0;color:#4A443C;font-size:.95rem;line-height:1.55}.card .n{font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:1.5rem;line-height:1}ul.ticks{list-style:none;padding:0;margin:1rem 0}ul.ticks li{padding-left:1.7rem;position:relative;margin-bottom:.6rem}ul.ticks li::before{content:"";position:absolute;left:0;top:.55em;width:.62rem;height:.62rem;border-radius:50%;background:var(--c)}blockquote.pull{margin:1.6rem 0;padding-left:1.1rem;border-left:5px solid var(--c);font-family:'Source Serif 4',Georgia,serif;font-size:1.28rem;line-height:1.4;font-weight:600;color:#2B2723}footer.site{border-top:1px solid var(--line);padding:2.2rem 0 3rem;color:var(--soft);font-size:.88rem}footer.site p{margin:.35rem 0}.gate{max-width:26rem;margin:5rem auto;text-align:center;padding:0 1.4rem}.gate h1{font-size:1.7rem;margin:.4rem 0 .5rem}.gate p{color:var(--soft)}.gate input{width:100%;padding:.8rem .9rem;font-size:1rem;border:2px solid var(--line);border-radius:6px;margin:1rem 0 .8rem;font-family:inherit}.gate input:focus{outline:none;border-color:var(--c)}.gate .err{color:#B03A2E;font-size:.9rem;min-height:1.2em;margin:.5rem 0 0}.chaphead{padding:2.6rem 0 1.4rem}.chaphead .n{font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:3.4rem;color:var(--c);line-height:.9}.chaphead .kick{font-weight:700;font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin:.6rem 0 .3rem}.chaphead h1{font-size:2rem;margin:0}.chaphead .rule{height:5px;background:var(--c);border-radius:3px;margin-top:1.1rem}.content h2{font-size:1.3rem;color:var(--c);margin:2.2rem 0 .6rem;font-family:'Source Sans 3',sans-serif;font-weight:700}.content h3{font-size:1.05rem;margin:1.5rem 0 .4rem}.snippet{background:#F6F4F0;border:1px solid #E7E2D9;border-radius:7px;padding:1rem 1.1rem;margin:1rem 0;position:relative}.snippet .lab{font-weight:700;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#A19889;margin-bottom:.5rem;display:block}.snippet pre{white-space:pre-wrap;margin:0;font-family:inherit;font-size:.96rem;line-height:1.55;color:#39342E}.snippet .copy{position:absolute;top:.7rem;right:.7rem;background:#fff;border:1px solid var(--line);border-radius:5px;font:inherit;font-size:.76rem;font-weight:700;padding:.3rem .6rem;cursor:pointer;color:var(--soft)}.snippet .copy:hover{border-color:var(--c);color:var(--c)}.tiw{background:#FCFBF9;border:1px dashed #CFC7BA;border-left:4px solid var(--c);border-radius:6px;padding:.9rem 1.1rem;margin:1.4rem 0}.tiw .lab{font-weight:700;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c);display:block;margin-bottom:.3rem}.tiw p{margin:0;font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-size:1.02rem;color:#3A342D}table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.94rem}th{background:var(--c);color:#fff;text-align:left;padding:.55rem .7rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}td{padding:.55rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}tr:nth-child(even) td{background:#FAF8F5}.verified{font-size:.84rem;color:var(--soft);border-top:1px solid var(--line);margin-top:2.6rem;padding-top:.9rem}.chapnav{display:flex;justify-content:space-between;gap:1rem;margin:2.4rem 0 0;font-weight:600;font-size:.95rem}.calc input{padding:.6rem;border:2px solid var(--line);border-radius:6px;font:inherit;width:100%;font-family:inherit}.calc textarea{width:100%;min-height:9rem;padding:.8rem;border:2px solid var(--line);border-radius:6px;font:inherit;font-family:inherit}.calc .out{display:flex;gap:1.6rem;margin-top:.9rem;flex-wrap:wrap}.calc .out div{background:var(--tint);border-radius:6px;padding:.7rem 1rem;min-width:8rem}.calc .out b{display:block;font-family:'Source Serif 4',Georgia,serif;font-size:1.5rem;line-height:1.1}.calc .out span{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);font-weight:700}@media(max-width:640px){body{font-size:16px}.hero{padding:2.6rem 0 2rem}}