:root{--navy:#26366C;--red:#CC2135;--red2:#AE253F;--bg:#f6f7fb}
*{box-sizing:border-box}body{margin:0;font-family:"Open Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#1d2433;background:var(--bg)}
.hero{background:var(--navy);color:#fff;text-align:center;padding:2rem 1rem 2.5rem}
.logo{max-width:260px;width:70%;background:#fff;padding:.5rem 1rem;border-radius:8px}
.headshot{display:block;margin:1.25rem auto .5rem;width:150px;height:150px;border-radius:50%;object-fit:cover;border:4px solid #fff}
h1{margin:.3rem 0;font-size:2rem}.sub{margin:0;opacity:.9}.label{margin:1rem 0;font-weight:600;color:#ffd7dc}
.btn{display:inline-block;margin:.3rem;padding:.7rem 1.2rem;border-radius:999px;background:var(--red);color:#fff;text-decoration:none;font-weight:700}
.btn.alt{background:#fff;color:var(--navy)}
main{max-width:1100px;margin:0 auto;padding:1.5rem 1rem}.filters{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1rem}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}
.card{background:#fff;border-radius:12px;padding:1.2rem;box-shadow:0 2px 8px rgba(0,0,0,.06);border-top:4px solid var(--red)}
.stars{color:#e8a400;letter-spacing:2px}.card a{color:var(--red2);font-weight:600}
.note{text-align:center;font-size:.85rem;color:#5a6275}footer{text-align:center;padding:2rem 1rem;font-size:.9rem}footer a{color:var(--navy)}
.remax{max-width:160px;margin-top:1rem}
.ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.btn{min-height:44px}
.filters button{font:inherit;font-weight:600;min-height:44px;padding:.5rem 1.1rem;border-radius:999px;border:2px solid var(--navy);background:#fff;color:var(--navy);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--navy);color:#fff}
.card{display:flex;flex-direction:column;line-height:1.6}.card blockquote{margin:.5rem 0;font-size:1.02rem}.card blockquote p{margin:0}
.who{font-weight:700;margin:.25rem 0 0}.meta{color:#5a6275;font-size:.85rem;margin:.2rem 0}.src{margin-top:auto;padding-top:.6rem}
.badge{background:#eef1f8;color:var(--navy);font-size:.75rem;font-weight:700;padding:.15rem .5rem;border-radius:4px;margin-right:.3rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:2px}.card[hidden]{display:none}
@media(max-width:480px){.grid{grid-template-columns:1fr}h1{font-size:1.6rem}}
.tag{display:inline-block;margin:.2rem 0;font-size:.8rem;font-weight:600;color:var(--red2)}

.search-wrap{max-width:640px;margin:0 auto 1rem;padding:0 1rem}
#q{width:100%;min-height:48px;padding:.75rem 1rem;border:2px solid var(--navy);border-radius:999px;font:inherit;font-size:1rem}
.topics{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;align-items:center;margin:0 0 1rem;padding:0 1rem}
.topics a{display:inline-block;padding:.4rem .85rem;border-radius:999px;background:#eef1f8;color:var(--navy);text-decoration:none;font-weight:600;font-size:.9rem}
.topics a.active,.topics a:hover{background:var(--navy);color:#fff}
.topics-label{font-weight:700;color:var(--navy);margin-right:.25rem}
.topic-links a{font-size:.8rem;margin-right:.4rem;color:var(--red2)}
.intro{max-width:720px;margin:0 auto 1.25rem;text-align:center;color:#3a4254;line-height:1.55}
.crumb{text-align:center;font-size:.9rem;margin:0 0 1rem}.crumb a{color:var(--navy)}
.related{margin:2rem auto;max-width:640px;background:#fff;border-radius:12px;padding:1.2rem 1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.related h2{margin:0 0 .5rem;font-size:1.1rem;color:var(--navy)}.related ul{margin:.25rem 0 1rem;padding-left:1.2rem}
.tag{display:inline-block;margin:.2rem 0;font-size:.8rem;font-weight:600;color:var(--red2)}
