*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,sans-serif;color:#1d2433;background:#f6f7fb}
header{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:.8rem 1.5rem;background:#0f2a4a}header a{color:#dfe8f5;text-decoration:none;margin-left:1rem;font-size:.9rem}
.logo{font-weight:800;font-size:1.3rem!important;margin:0!important;color:#fff!important}.logo span{color:#f5b301}
main{max-width:1100px;margin:auto;padding:1rem 1.5rem}.hero h1{font-size:2.2rem;margin:.5rem 0}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1rem 0}.filters input{flex:1 1 260px}
input,select,button{padding:.55rem .7rem;border:1px solid #c9cfdb;border-radius:8px;font:inherit}button{background:#0f2a4a;color:#fff;cursor:pointer;border:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.card{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 1px 3px #0001}.card h3{margin:0 0 .3rem;font-size:1.05rem}.card a{color:#0f2a4a}
.meta,.note{color:#5b6475;font-size:.85rem;margin:.2rem 0}.planbtn{margin-top:.4rem;padding:.3rem .6rem;font-size:.85rem;background:#f5b301;color:#1d2433}
.planner,.signup{background:#fff;border-radius:12px;padding:1rem 1.5rem;margin:2rem 0}.bar{background:#e8ebf2;border-radius:6px;height:14px;margin:.2rem 0 .6rem}.bar i{display:block;height:100%;background:#2f7d4f;border-radius:6px}
.sub{display:grid;gap:.6rem;max-width:520px}.sub label{display:grid}footer{text-align:center;color:#6b7386;font-size:.8rem;padding:2rem}
