:root{font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;color:#111;background:#fff;font-synthesis:none;line-height:1.65}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible{outline:3px solid #111;outline-offset:5px}
header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1rem max(1.25rem,calc((100% - 1120px)/2));border-bottom:3px solid #111}
.brand{font-weight:900;font-size:1.4rem;text-decoration:none;white-space:nowrap}.brand span{background:#111;color:#fff;padding:.15em .4em}header nav{display:flex;flex-wrap:wrap;gap:1.2rem;font-weight:700}
main{max-width:1120px;margin:auto;padding:3rem 1.25rem 4rem}h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.1;max-width:20ch;margin:1rem 0 1.5rem;font-weight:900;letter-spacing:-.035em}h2{line-height:1.3;margin-top:2rem}p,article li{max-width:76ch}.lead{font-size:1.2rem;max-width:68ch;color:#333}.eyebrow{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1.5rem;list-style:none;padding:0;margin:3rem 0}.cards li{border:2px solid #111;box-shadow:5px 5px 0 #111}.cards a{display:block;padding:1.5rem;height:100%;text-decoration:none}.cards h2{font-size:1.4rem;margin:0}.cards p{color:#444}.cards span{font-size:.9rem;font-weight:800}.cards a:hover{background:#f3f3f3}
.button{display:inline-block;background:#111;color:#fff;padding:.8rem 1.2rem;text-decoration:none;font-weight:800;margin:.5rem 0 1.25rem;border:2px solid #111;box-shadow:4px 4px 0 #bbb}.button:hover{background:#333}.hero{display:block;width:min(100%,680px);height:auto;margin:2rem 0;border:2px solid #111}.breadcrumbs{font-size:.9rem}aside{border-top:2px solid #111;margin-top:3rem;padding-top:1rem}aside ul{display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;list-style:none;padding:0}
footer{border-top:2px solid #111;padding:1.5rem max(1.25rem,calc((100% - 1120px)/2));font-size:.9rem;color:#444}.skip{position:absolute;left:1rem;top:-10rem;background:#fff;padding:.8rem;z-index:5}.skip:focus{top:.5rem}@media(max-width:600px){main{padding-top:2rem}header nav{font-size:.9rem}.cards{gap:1.2rem}}
