:root{--ink:#1f2328;--muted:#57606a;--line:#d8dee4;--soft:#f6f8fa;--bg:#fff;--accent:#0b8a5a;--accent-ink:#fff;--highlight:#fde293;--max:1100px;--text:68ch;--serif:"Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.55}a{color:var(--accent)}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .5rem;line-height:1.15}h1{text-wrap:balance;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:700}h2{font-size:clamp(1.6rem,3vw,2.2rem)}h3{font-size:1.1rem}p{margin:0 0 1rem}code{background:var(--soft);border:1px solid var(--line);border-radius:.3rem;padding:0 .3rem;font-size:.92em}.wrap{max-width:var(--max);margin:0 auto;padding:0 1rem}.text{max-width:var(--text)}section{padding:4rem 0}section+section{border-top:1px solid var(--line)}.kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.75rem;font-size:.78rem;font-weight:600}.lead{color:var(--muted);font-size:1.2rem}.lead .addr{color:var(--accent);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95em;font-weight:600}.lead strong{color:var(--ink);font-weight:600}.cta{background:var(--accent);color:var(--accent-ink);border-radius:.6rem;padding:.8rem 1.3rem;font-weight:600;text-decoration:none;display:inline-block}.cta:hover{filter:brightness(1.08)}.cta.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}.note{color:var(--muted);font-size:.9rem}.center{text-align:center}.center .text{margin-left:auto;margin-right:auto}.grid{gap:1rem;display:grid}@media (width>=720px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}}@media (width>=900px){.grid.cols-4{grid-template-columns:repeat(4,1fr)}}.card{border:1px solid var(--line);background:var(--bg);border-radius:.9rem;padding:1.25rem}.card.soft{background:var(--soft)}.tag{letter-spacing:.05em;text-transform:uppercase;vertical-align:middle;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}header.site{border-bottom:1px solid var(--line)}header.site .wrap{justify-content:space-between;align-items:center;height:4.25rem;display:flex}.wordmark{font-family:var(--serif);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-size:1.55rem;font-weight:600;line-height:1;text-decoration:none}@media (width<=640px){.wordmark{letter-spacing:.12em;font-size:1.25rem}}header.site nav a{color:var(--ink);margin-left:1.25rem;font-size:.95rem;text-decoration:none}header.site nav a.cta{color:var(--accent-ink);padding:.45rem .9rem}@media (width<=640px){header.site nav a:not(.cta):not(.keep){display:none}}footer.site{border-top:1px solid var(--line);color:var(--muted);padding:2.5rem 0;font-size:.9rem}footer.site a{color:var(--muted)}footer.site .wordmark{color:var(--ink);font-size:1rem}footer.site .wrap{flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;display:flex}.ba{gap:1.25rem;display:grid}@media (width>=760px){.ba{grid-template-columns:1fr 1fr;gap:2rem}}.ba-col{border-radius:1rem;padding:1.5rem}.ba-col.before{background:var(--soft);color:var(--muted)}.ba-col.after{color:var(--ink);background:#eaf7f0}.ba-label{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.78rem;font-weight:700;display:flex}.ba-label .dot{background:currentColor;border-radius:50%;width:.55rem;height:.55rem}.before .ba-label{color:var(--muted)}.after .ba-label{color:var(--accent)}.ba-head{letter-spacing:-.01em;margin:0 0 1.25rem;font-size:1.25rem;font-weight:600;line-height:1.3}.before .ba-head{color:var(--muted);font-weight:500}.after .ba-head{color:var(--ink)}.ba-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.ba-list li{background:var(--bg);border:1px solid var(--line);border-radius:.6rem;align-items:flex-start;gap:.7rem;padding:.7rem .85rem;font-size:.95rem;line-height:1.4;display:flex}.after .ba-list li{border-color:#cfe8da}.ba-list .mark{text-align:center;flex:none;width:1rem;font-weight:700;line-height:1.4}.before .mark{color:#9aa4ae}.after .mark{color:var(--accent)}.ba-list small{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.1rem;font-size:.72rem;font-weight:700;display:block}.step{min-height:18rem;padding-bottom:7rem;position:relative;overflow:hidden}.step .num{color:var(--line);font-size:2.4rem;font-weight:700;line-height:1}.step h3{margin-top:.25rem}.step .shot{opacity:.55;pointer-events:none;width:78%;position:absolute;bottom:-10%;right:-8%;transform:rotate(-2deg)}.step p{position:relative}.mini{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:.5rem;padding:.6rem .7rem;font-size:.72rem;box-shadow:0 2px 10px #0000000f}.mini .row{align-items:center;gap:.4rem;margin:.3rem 0;display:flex}.mini .field{border:1px solid var(--line);background:var(--soft);height:1.2rem;color:var(--ink);white-space:nowrap;border-radius:.3rem;flex:1;padding:0 .4rem;line-height:1.2rem;overflow:hidden}.mini .btn{color:#fff;background:#0b57d0;border-radius:999px;padding:.15rem .6rem;font-weight:600}.mini .ln{background:var(--line);border-radius:.2rem;height:.45rem;margin:.35rem 0}.mini .ln.hl{background:var(--highlight)}.mini .av{color:#fff;background:#7a4ed9;border-radius:50%;place-items:center;width:1.1rem;height:1.1rem;font-size:.6rem;font-weight:700;display:grid}.arch{flex-direction:column;gap:.5rem;display:flex}.arch .sample{border-left:3px solid var(--line);color:var(--muted);margin:0;padding-left:.7rem;font-size:.92rem}.plan .price{margin:.25rem 0;font-size:2rem;font-weight:700}.plan .price small{color:var(--muted);font-size:1rem;font-weight:400}.plan ul{margin:.75rem 0 1rem;padding-left:1.2rem}.plan.pro{border-color:var(--accent);box-shadow:0 0 0 3px #0b8a5a1f}.post-list article{border-bottom:1px solid var(--line);padding:1.25rem 0}.post-list h3 a{color:var(--ink);text-decoration:none}.prose{max-width:var(--text)}.prose h2{margin-top:2rem;font-size:1.5rem}.prose h3{margin-top:1.5rem}.prose img{max-width:100%}.prose blockquote{border-left:3px solid var(--line);color:var(--muted);margin:1rem 0;padding:.25rem 1rem}.meta{color:var(--muted);font-size:.9rem}
