*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1d2a22;background:#f5f7f4;line-height:1.5}
a{color:#17643a}header{background:#17643a;color:#fff;padding:14px 20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
header a{color:#fff;text-decoration:none;margin-left:14px;font-weight:600}.logo{font-size:1.4rem;font-weight:800;margin:0}
.hero{background:linear-gradient(135deg,#1f7a48,#0f4a2a);color:#fff;padding:36px 20px}.hero h1{margin:0 0 8px;font-size:1.9rem}.wrap{max-width:1150px;margin:0 auto;padding:0 16px}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;background:#fff;padding:14px;border-radius:12px;margin:-24px auto 18px;box-shadow:0 4px 18px rgba(0,0,0,.08);position:relative}
.filters input,.filters select{width:100%;padding:9px;border:1px solid #c9d3cc;border-radius:8px;font-size:.95rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:30px}
.card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.07);border-top:4px solid #8fbf9f}
.card.featured{border:2px solid #e0a800;background:#fffbea}.card h3{margin:0 0 4px;font-size:1.08rem}.meta{color:#566;font-size:.9rem}
.tag{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:20px;background:#e3efe7;margin:4px 4px 4px 0}.tag.lvl-beginner{background:#d9f0ff}.tag.stu{background:#ffe8c2}.tag.feat{background:#e0a800;color:#000;font-weight:700}
dl{margin:8px 0;font-size:.9rem}dt{font-weight:600;float:left;width:70px;clear:left}dd{margin:0 0 4px 74px}.small{font-size:.78rem;color:#788}
.box{background:#fff;border-radius:12px;padding:20px;margin:20px 0;box-shadow:0 1px 4px rgba(0,0,0,.07)}
form label{display:block;margin:10px 0 3px;font-weight:600}form input,form select,form textarea{width:100%;padding:9px;border:1px solid #c9d3cc;border-radius:8px}
button,.btn{background:#17643a;color:#fff;border:0;padding:10px 18px;border-radius:8px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;margin-top:10px}
.notice{background:#fff3cd;border:1px solid #e0c060;padding:10px;border-radius:8px;font-size:.9rem}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.tiers .box{margin:0}.price{font-size:1.8rem;font-weight:800;color:#17643a}
footer{background:#10301e;color:#cfe;padding:24px 20px;font-size:.88rem}footer a{color:#cfe}.counties a{display:inline-block;margin:4px 10px 4px 0}
@media(max-width:600px){header nav a{margin:0 10px 0 0}.hero h1{font-size:1.5rem}}