@font-face{font-family:Charis SIL;src:url(/fonts/charis/Charis-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Charis SIL;src:url(/fonts/charis/Charis-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Charis SIL;src:url(/fonts/charis/Charis-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Charis SIL;src:url(/fonts/charis/Charis-BoldItalic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--bg:#f3efe6;--bg-raised:#f8f4ec;--ink:#1c1915;--muted:#5e574d;--rule:#d4cbba;--rule-strong:#b9ae9a;--accent:#7a3a28;--accent-soft:#f0e2d4;--banner:#7a3a28;--banner-bg:#f4e6d8;--focus:#3d4a38;--max:60ch;--wide:64rem;--font:"Charis SIL", serif}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%;font-size:18px;line-height:1.45}body{background:linear-gradient(180deg, #ebe4d6 0, transparent 8rem), var(--bg);min-height:100vh;margin:0}img{max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--ink)}a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3{font-family:var(--font);letter-spacing:-.015em;font-weight:400;line-height:1.2}h1{margin:0 0 .6em;font-size:clamp(2rem,5vw,3rem);font-weight:400}h2{margin:1.6em 0 .5em;font-size:clamp(1.9rem,2.6vw,2.15rem)}h3{margin:1.3em 0 .4em;font-size:1.15rem}p,li{color:var(--ink)}.muted,.lede{color:var(--muted)}.lede{font-size:1.2rem;line-height:1.45}.wrap{width:min(var(--wide), calc(100% - 2rem));margin-inline:auto}.narrow{width:min(var(--max), 100%)}.site-header{border-bottom:1px solid var(--rule);background:#fff;padding:1.1rem 0 1rem}.header-inner{flex-direction:column;align-items:center;gap:.85rem;display:flex}.lockup{--lockup-ground:#fff;color:#7a3a28;background:#fff;align-items:center;gap:12px;text-decoration:none;display:flex}.lockup-name{font-family:var(--font);letter-spacing:0;color:inherit;font-size:30px;font-style:italic;font-weight:400;line-height:1}.lockup-name-stack{flex-direction:column;gap:.05em;display:flex}.lockup-stacked{align-items:flex-start}.lockup-stacked .porthole-device{margin-top:.1em}.lockup-cover{text-align:center;flex-direction:column;align-items:center;gap:10px}.lockup-ink{color:#1c1915}.lockup-reverse{--lockup-ground:#7a3a28;color:#fff;background:#7a3a28;padding:.7rem 1rem}a.lockup:hover{color:inherit}.nav{font-family:var(--font);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;gap:.85rem 1.15rem;font-size:12px;display:flex}.nav a{color:#1c1915;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--ink);text-decoration:underline}.site-main{padding:2.4rem 0 3.5rem}.site-footer{border-top:1px solid var(--rule);font-family:var(--font);color:var(--muted);padding:1.6rem 0 2.2rem;font-size:.92rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;display:flex}.footer-nav{flex-wrap:wrap;gap:.75rem 1rem;display:flex}.kicker{font-family:var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 .65rem;font-size:.78rem}.rule{border:0;border-top:1px solid var(--rule);margin:2rem 0}.grid{gap:1rem;display:grid}@media (width>=720px){.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}}.card{background:var(--bg-raised);border:1px solid var(--rule);color:inherit;height:100%;padding:1.05rem 1.1rem 1.15rem;text-decoration:none;display:block}a.card:hover{border-color:var(--rule-strong);color:inherit}.card h3{margin:0 0 .35rem;font-size:1.2rem}.card p{color:var(--muted);margin:0;font-size:.98rem}.card-cutoff{font-family:var(--font);color:var(--ink);margin-top:.55rem;font-size:.82rem}.hero{margin-bottom:.4rem}.hero h1{margin-top:0}.empty-lockup{text-align:center;background:#fff;justify-items:center;gap:.85rem;padding:1.4rem 1.2rem 1.2rem;display:grid}.listing-stack{flex-direction:column;display:flex}.listing-row{border-top:1px solid var(--rule);color:inherit;padding:.95rem 0;text-decoration:none;display:block}.listing-stack .listing-row:last-child{border-bottom:1px solid var(--rule)}a.listing-row:hover{color:inherit}a.listing-row:hover h3{color:var(--accent)}.listing-row h3{margin:.35rem 0 .3rem;font-size:1.15rem}.listing-row p{color:var(--muted);margin:0;font-size:.98rem}.listing-cutoff{font-family:var(--font);color:var(--ink);margin-top:.45rem;font-size:.95rem}.listing-cutoff strong{font-weight:700}.listing-checked{font-family:var(--font);color:var(--muted);margin-top:.2rem;font-size:.78rem}.meta{font-family:var(--font);color:var(--muted);letter-spacing:.01em;font-size:.82rem}.chip{font-family:var(--font);letter-spacing:.1em;text-transform:uppercase;border:1px solid #b9ae9a;border-radius:0;margin-right:.35rem;padding:.05em .35em;font-size:11px;display:inline-block}.chip.example{border-color:var(--accent);color:var(--accent)}.banner{background:var(--banner-bg);color:var(--banner);font-family:var(--font);border:1px solid #e0c8b0;margin:0 0 1.4rem;padding:.75rem 1rem;font-size:.95rem}.facts{border-collapse:collapse;width:100%;font-family:var(--font);margin:1.2rem 0 1.6rem;font-size:.92rem}.facts th,.facts td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:.45rem .6rem .45rem 0}.facts th{color:var(--muted);width:11rem;font-weight:700}.prose :first-child{margin-top:0}.prose ul{padding-left:1.15rem}.prose li+li{margin-top:.35rem}.callout{border-left:3px solid var(--accent);margin:1.4rem 0;padding:.15rem 0 .15rem 1rem}.list-plain{margin:0;padding:0;list-style:none}.list-plain li+li{margin-top:.85rem}.coming-soon{color:var(--muted);font-family:var(--font);font-size:.85rem}.skip{background:var(--ink);color:var(--bg);font-family:var(--font);z-index:2;padding:.4rem .7rem;position:absolute;top:-3rem;left:.75rem}.skip:focus{top:.75rem}.listing-photo,.howto-figure{background:var(--bg-raised);border:1px solid var(--rule);margin:1.2rem 0 1.6rem;padding:0}.listing-photo img,.howto-figure img{width:100%;height:auto;display:block}.listing-photo figcaption,.howto-figure figcaption{font-family:var(--font);color:var(--muted);padding:.65rem .85rem .8rem;font-size:.88rem}.howto-gallery{width:min(var(--max), 100%);margin-top:1.5rem}.sources-box{border:1px solid var(--rule);background:var(--bg-raised);margin:2rem 0 0;padding:.85rem 1.1rem 1.1rem}.sources-box h2{margin-top:.4rem}.listing-feedback{border-top:1px solid var(--rule);font-family:var(--font);margin:1.1rem 0 1.8rem;padding:.85rem 0 0}.listing-feedback-label,.listing-feedback-hint,.listing-feedback-done{color:var(--muted);margin:0 0 .5rem;font-size:.92rem}.listing-feedback-actions{gap:.45rem;display:flex}.listing-feedback-thumb,.listing-feedback-send{font-family:var(--font);background:var(--bg-raised);border:1px solid var(--rule-strong);color:var(--ink);cursor:pointer;padding:.4rem .65rem;font-size:1rem;line-height:1}.listing-feedback-thumb:disabled,.listing-feedback-send:disabled{opacity:.45;cursor:default}.listing-feedback-down{justify-items:start;gap:.45rem;margin-top:.75rem;display:grid}.listing-feedback-down textarea{width:100%;font-family:var(--font);border:1px solid var(--rule-strong);background:var(--bg-raised);color:var(--ink);resize:vertical;padding:.5rem .6rem;font-size:.95rem;line-height:1.4}.listing-feedback-honey{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.chooser{border:1px solid var(--rule);background:var(--bg-raised);margin:1.8rem 0 2.2rem;padding:1.1rem 1.15rem 1.25rem}.chooser h2{margin-top:0}.chooser-form{gap:.75rem 1rem;margin-top:1rem;display:grid}@media (width>=720px){.chooser-form{grid-template-columns:1fr 1fr}}.chooser-form label{font-family:var(--font);color:var(--muted);gap:.3rem;font-size:.82rem;display:grid}.chooser-form input,.chooser-form select{font-family:var(--font);border:1px solid var(--rule-strong);background:var(--bg);color:var(--ink);width:100%;padding:.45rem .55rem;font-size:.95rem}.chooser-submit{font-family:var(--font);background:var(--ink);color:var(--bg);cursor:pointer;border:0;justify-self:start;padding:.55rem .85rem;font-size:.95rem}.chooser-status,.chooser-result{margin:.9rem 0 0;font-size:.98rem}.chooser-result ul{margin:.6rem 0 0;padding-left:1.15rem}.chooser-result li+li{margin-top:.35rem}
