:root{--cream:#FFF8E8;--ink:#212126;--orange:#FF5A00;--g1:#EFE9E1;--g2:#8A7F72;--r:16px}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 Archivo,system-ui,sans-serif}
h1,h2,h3{font-family:Newsreader,Georgia,serif;font-weight:700;line-height:1.15}h1{font-size:clamp(2rem,4vw,3.2rem);margin:.2em 0}h1 em{color:var(--orange)}
a{color:var(--ink)}.mono{font-family:"IBM Plex Mono",monospace}.small{font-size:.85rem}.center{text-align:center}.err{color:#b00020}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.pad{padding:40px 20px}.narrow{max-width:420px}
.banner{background:var(--ink);color:var(--cream);font-size:.9rem}.banner-in{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:8px 20px}.banner b{color:var(--orange)}
.btn{display:inline-block;background:var(--orange);color:#fff;border:0;border-radius:999px;padding:11px 20px;font:600 15px Archivo,sans-serif;text-decoration:none;cursor:pointer}
button.btn:disabled{background:#777;cursor:not-allowed;opacity:.6}
.btn-sm{padding:7px 14px;font-size:13px}.btn-ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.site-header{border-bottom:1px solid var(--g1);background:var(--cream)}.hdr{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;flex-wrap:wrap;gap:10px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 1.35rem Newsreader,serif}.brand img{width:42px;height:42px;border-radius:50%}.brand em{color:var(--orange);font-style:normal}
nav{display:flex;gap:18px;align-items:center}nav a{text-decoration:none;font-weight:500}nav a.on{color:var(--orange)}
.hero{padding:42px 0 26px}.kicker{color:var(--orange);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.lede{font-size:1.15rem;color:#4a4540;max-width:640px}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;background:#fff;border:1px solid var(--g1);border-radius:var(--r);padding:12px}
.filters input,.filters select{flex:1 1 150px;padding:10px 12px;border:1px solid var(--g1);border-radius:10px;font:inherit;background:var(--cream)}
.tagbar{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.tag{display:inline-block;font:600 .72rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--orange);border:1.5px solid var(--orange);border-radius:999px;padding:2px 9px;margin:2px 4px 2px 0;text-decoration:none;background:#fff}
.tag.on{background:var(--orange);color:#fff}.tag.gray{color:var(--g2);border-color:var(--g2)}.tag.sample{color:#fff;background:var(--ink);border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.card{background:#fff;border:1px solid var(--g1);border-radius:var(--r);padding:20px;position:relative}.card.featured{border:2.5px solid var(--orange);box-shadow:0 6px 0 rgba(255,90,0,.12)}
.card h3{margin:.3em 0;font-size:1.35rem}.card h3 a{text-decoration:none}.badge{color:var(--orange);font-size:.75rem;font-weight:600}.co{color:var(--g2);margin:0}.blurb{margin:.6em 0}
.sal{font-weight:600}.card .sal{font-size:1.05rem;margin:.6em 0}
.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.job{display:grid;grid-template-columns:1fr auto 170px 70px;gap:12px;align-items:center;border-radius:12px;padding:12px 16px}
.job .t{font-weight:700;text-decoration:none}.job .co{display:block;font-size:.85rem}.job .when{color:var(--g2);font-size:.8rem;text-align:right}
.job.is-featured{background:#fff;border:2px solid var(--orange)}.job.is-featured .t,.job.is-featured .sal{color:var(--orange)}
.job.is-synced{background:var(--g1);font-size:.92rem;padding:9px 16px}.job.is-synced .sal{color:var(--g2);font-size:.85rem}
.cta{margin:36px 0;text-align:center}.empty{background:var(--g1);padding:20px;border-radius:12px}
.xlinks{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:30px 0 50px}.xlinks a{display:inline-block;margin:0 14px 8px 0;color:var(--g2)}.xlinks a:hover{color:var(--orange)}
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:820px;margin-bottom:20px}.tier .price{font-size:2.6rem;font-weight:600;margin:0}.tier ul{padding-left:18px;min-height:150px}.tier .btn{width:100%;text-align:center}
.site-footer{background:var(--ink);color:var(--cream);margin-top:40px;padding:40px 0 20px}.site-footer a{color:var(--cream)}.site-footer .brand{color:var(--cream)}
.ftr{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}.signup .row{display:flex;gap:8px}.signup input{flex:1;padding:10px 12px;border-radius:999px;border:0;font:inherit}
.links a{color:var(--cream)}.site-footer .small a{color:#cfc6b8}.copy{color:var(--g2);font-size:.8rem;margin-top:24px}
.adminhead{display:flex;justify-content:space-between;align-items:center}table.admin{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;margin:16px 0}
table.admin th,table.admin td{padding:10px;border-bottom:1px solid var(--g1);text-align:left;font-size:.9rem}table.admin th{background:var(--g1);font-family:"IBM Plex Mono",monospace;font-size:.75rem;text-transform:uppercase}
.adminform{display:flex;flex-direction:column;gap:12px}.adminform.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.adminform label{display:flex;flex-direction:column;font-size:.85rem;font-weight:600}
.adminform input,.adminform select,.adminform textarea{padding:9px;border:1px solid var(--g1);border-radius:8px;font:inherit;font-weight:400}.adminform .wide{grid-column:1/-1}.linkbtn{background:none;border:0;color:var(--orange);cursor:pointer;font:inherit;text-decoration:underline}
@media(max-width:760px){.job{grid-template-columns:1fr}.job .when{text-align:left}.xlinks,.tiers,.ftr,.adminform.grid2{grid-template-columns:1fr}}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.filters .clear{align-self:center;color:var(--g2)}.narrow-lg{max-width:640px}.warn{color:#9a5b00}
.adminform label.check{flex-direction:row;align-items:center;gap:8px}ul.err{padding-left:18px}
@media(max-width:760px){.hdr nav{flex-wrap:wrap;gap:12px}.banner-in{justify-content:flex-start}.banner-in>span:nth-child(2){display:none}table.admin{display:block;overflow-x:auto}}
