:root{--brown:#1f6f78;--brown-d:#123c46;--sage:#e07a3f;--sage-l:#f2b48c;--cream:#f2f7f7;--paper:#ffffff;--sand:#d6e6e8;--tan:#f6c177;--ink:#1d2a2e;--muted:#55666b;--r:14px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.65 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--cream)}
h1,h2,h3{font-family:Bitter,Georgia,serif;line-height:1.2;color:var(--brown-d);letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.5vw,3rem);margin:.2em 0 .4em}h2{font-size:1.6rem;margin:1.8em 0 .6em}h3{font-size:1.15rem;margin:.2em 0 .3em}
a{color:var(--brown);text-underline-offset:3px}a:hover{color:var(--brown-d)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
header.site{background:var(--paper);border-bottom:1px solid var(--sand);position:sticky;top:0;z-index:10}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 1.3rem Bitter,Georgia,serif;color:var(--brown-d)}.brand img{width:36px;height:36px}
nav.main{display:flex;gap:4px;flex-wrap:wrap}nav.main a{padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:500;font-size:.95rem}nav.main a:hover{background:var(--cream)}
nav.main a.cta{background:var(--brown);color:#fff}nav.main a.cta:hover{background:var(--brown-d)}
.hero{background:linear-gradient(135deg,#123c46 0%,#1f6f78 65%,#e07a3f 100%);color:var(--cream);padding:64px 0 72px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-120px;bottom:-140px;width:620px;height:300px;border-radius:50% 50% 0 0;background:var(--sage-l);opacity:.18}
.hero h1{color:#fff;max-width:760px}.hero p.lead{font-size:1.2rem;max-width:640px;color:#fbd5b8}
.hero .meta{font-size:.9rem;color:#c9d3b6;letter-spacing:.04em;text-transform:uppercase;font-weight:600}
.hero form{display:flex;gap:8px;max-width:520px;margin:22px 0 10px;flex-wrap:wrap}
input,textarea{font:inherit;padding:12px 14px;border:1px solid var(--sand);border-radius:10px;background:#fff;color:var(--ink);flex:1;min-width:220px;width:100%}
.hero input{border:0}
button,.btn{font:600 1rem Inter,system-ui,sans-serif;display:inline-block;background:var(--sage);color:#fff;border:0;border-radius:10px;padding:12px 20px;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}
button:hover,.btn:hover{background:#56693f;color:#fff;transform:translateY(-1px)}
.btn.brown{background:var(--brown)}.btn.brown:hover{background:var(--brown-d)}.btn.ghost{background:transparent;border:2px solid var(--tan);color:var(--tan)}.btn.ghost:hover{background:rgba(232,196,138,.15)}
.hero .row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.hero small{color:#cfe3e6}.hero small a{color:var(--tan)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.chip{display:inline-flex;gap:6px;align-items:center;padding:8px 14px;border-radius:999px;background:var(--paper);border:1px solid var(--sand);text-decoration:none;color:var(--ink);font-weight:500;font-size:.95rem;transition:border-color .15s,box-shadow .15s}
.chip:hover{border-color:var(--brown);box-shadow:0 2px 10px rgba(58,38,20,.08)}.chip b{color:var(--sage);font-weight:700}
section{padding:36px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.card{background:var(--paper);border:1px solid var(--sand);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:8px;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(58,38,20,.10);border-color:#d8c3a2}
.card h3 a{text-decoration:none;color:var(--brown-d)}.card h3 a:after{content:"";position:absolute;inset:0}
.card p{margin:0;color:var(--muted);font-size:.96rem;flex:1}
.badges{display:flex;gap:6px;flex-wrap:wrap}.badge{font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:999px;background:#eef1e6;color:#4d5e3a;letter-spacing:.02em}
.badge.free{background:#fde6d3;color:#1f6f78}.badge.ver{background:#e3eedc;color:#3f6b2a}
.price{font-size:.88rem;color:var(--ink);border-top:1px dashed var(--sand);padding-top:8px}
.catcard{background:var(--paper);border:1px solid var(--sand);border-radius:var(--r);padding:18px 20px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.catcard:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(58,38,20,.10)}.catcard .ic{font-size:1.6rem}.catcard h3{margin:.3em 0 .1em}.catcard span{color:var(--muted);font-size:.9rem}
.panel{background:var(--paper);border:1px solid var(--sand);border-radius:18px;padding:28px}
.signup{background:linear-gradient(135deg,#eef1e6,#eef6f7);border:1px solid #d9dfcb;border-radius:18px;padding:28px;margin:36px 0}
.signup form{display:flex;gap:8px;flex-wrap:wrap;max-width:560px}.signup h3{font-size:1.4rem}
.trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.trust div{background:var(--paper);border:1px solid var(--sand);border-radius:var(--r);padding:18px}.trust b{display:block;font-family:Bitter,Georgia,serif;color:var(--brown-d);font-size:1.1rem;margin-bottom:4px}
.crumbs{font-size:.9rem;color:var(--muted);margin-top:24px}.crumbs a{color:var(--muted)}
.toolhead{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}.facts dt{font-weight:600;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;margin-top:12px}.facts dd{margin:2px 0 0}
.prose{max-width:760px}.prose li{margin:.3em 0}.prose table{border-collapse:collapse;width:100%;margin:1em 0;font-size:.95rem}.prose th,.prose td{border:1px solid var(--sand);padding:8px 10px;text-align:left;vertical-align:top}.prose th{background:var(--paper)}
ol.toollist{padding-left:0;list-style:none;display:grid;gap:14px}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}.plan{background:var(--paper);border:2px solid var(--sand);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:10px}.plan.hot{border-color:var(--brown);box-shadow:0 12px 34px rgba(122,74,36,.15)}
.plan .amt{font:800 2.4rem Bitter,Georgia,serif;color:var(--brown-d)}.plan .amt small{font:500 1rem Inter,sans-serif;color:var(--muted)}.plan ul{padding-left:1.1em;margin:0;flex:1}.plan .btn{text-align:center}
.tag{display:inline-block;background:var(--tan);color:var(--brown-d);font-weight:700;font-size:.75rem;padding:3px 10px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase}
.sponsor-slot{border:2px dashed var(--sage-l);background:transparent;justify-content:center;text-align:center}.sponsor-slot p{flex:0}
footer.site{background:var(--brown-d);color:#cfe3e6;margin-top:56px;padding:44px 0 30px;font-size:.93rem}footer.site a{color:var(--tan)}footer.site .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}footer.site h4{font-family:Bitter,Georgia,serif;color:#fff;margin:0 0 10px;font-size:1.05rem}footer.site ul{list-style:none;padding:0;margin:0}footer.site li{margin:5px 0}footer.site .fine{border-top:1px solid #5a4330;margin-top:28px;padding-top:16px;color:#bfae95;font-size:.85rem}
@media (max-width:820px){.toolhead{grid-template-columns:1fr}footer.site .cols{grid-template-columns:1fr}.hero{padding:44px 0 52px}nav.main a{padding:6px 9px;font-size:.9rem}header.site .wrap{padding-top:8px;padding-bottom:8px}}
.tag{align-self:flex-start}.badges{align-self:flex-start}
#categories .grid,.grid.cats{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
footer.site a{text-decoration:none}footer.site a:hover{text-decoration:underline}
@media (max-width:520px){.hero h1{font-size:1.9rem}.chips{gap:6px}.chip{padding:6px 11px;font-size:.88rem}.grid{gap:14px}}
@media (max-width:820px){header.site{position:static}nav.main{flex-wrap:nowrap;overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none}nav.main a{white-space:nowrap}}
@media (max-width:520px){nav.main a.hm{display:none}}

.founding-bar{background:var(--tan);color:var(--brown-d);font-size:.85rem;font-weight:600;padding:6px 0;text-align:center}.founding-bar a{color:var(--brown-d)}.sp-lbl{font-size:.7rem;text-transform:uppercase;opacity:.75;margin-left:6px}
.badge.spons{background:var(--brown-d);color:#fff}.card.founding{border:2px solid var(--brown-d)}.sponsor-note{background:#f4f9fa;border-radius:12px;padding:14px 18px}.sponsored-writeup{margin-top:28px}
.badge.herd{background:#e6e1f2;color:#4a3a7a;text-decoration:none}.promise{margin:8px 0;font-size:.95rem;color:var(--brown-d)}

.fb-link{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.fb-logo{height:22px;width:auto;background:#fff;border-radius:3px;padding:1px 3px}.fb-tag{font-weight:500;font-style:italic;opacity:.85}@media(max-width:600px){.fb-tag{display:none}}.tool-logo{display:block;height:auto;max-width:140px;margin:10px 0 4px;background:#fff;border-radius:6px;padding:6px;border:1px solid #e5ddd0}.tagline{font-style:italic;color:var(--muted);margin:.2em 0 .6em}
.signup.mid{padding:16px 20px;margin:22px 0;font-size:1rem}.signup.mid form{margin-top:8px}.signup.after{margin:18px 0 28px}
