.hub-page{margin:0;background:#f8f5ee;color:#292a25;font:16px/1.6 system-ui,sans-serif}.hub-page *{box-sizing:border-box}.hub-page a,.hub-extra a{color:inherit;text-underline-offset:.22em}.hub-page header,.hub-page main,.hub-page footer{max-width:1240px;margin:auto;padding:28px}.hub-page header{border-bottom:1px solid #dad7cc}.hub-page header nav{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:18px}.hub-page .brand{font-weight:700;text-decoration:none;letter-spacing:.04em}.hub-page h1{font:clamp(30px,4vw,54px)/1.15 Georgia,serif;max-width:950px}.hub-page h2,.hub-extra h2{font-family:Georgia,serif;font-weight:400}.hub-intro{max-width:780px;font-size:18px;color:#55594c}.hub-page section{margin:36px 0}.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:26px 0}.hub-card{min-width:0}.hub-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#ebe7df;border-radius:4px}.hub-card h3{font:22px/1.3 Georgia,serif;margin:12px 0 6px}.hub-card p{font:14px/1.5 system-ui,sans-serif;margin:4px 0;color:#585c51}.hub-card a{text-decoration:none}.hub-card a:hover h3{text-decoration:underline}.hub-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hub-routes>a,.category-tiles article{padding:22px;background:#fffdf8;border:1px solid #dedbcf;border-radius:6px}.category-tiles article>a{font-size:19px;font-weight:600}.category-tiles p{margin:8px 0}.palette-strip{display:flex;gap:5px;margin-top:15px}.palette-strip span{height:38px;flex:1;border:1px solid #0002;border-radius:3px}.pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:36px 0}.pagination a,.pagination span{padding:7px 12px;border:1px solid #ccc8bb;border-radius:4px}.pagination [aria-current]{background:#343e33;color:white}.hub-page footer{font-size:13px;color:#5e6257;border-top:1px solid #dad7cc}.hub-extra{border-top:1px solid #dad7cc;margin-top:36px;padding:24px 0}.hub-extra nav{line-height:2}.hub-extra .hub-grid{max-width:1100px}.hub-page a:focus-visible,.hub-extra a:focus-visible{outline:3px solid #42684b;outline-offset:4px}@media(max-width:850px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.hub-grid,.hub-routes{grid-template-columns:1fr}.hub-page header,.hub-page main,.hub-page footer{padding:20px}.hub-page header nav{gap:10px 18px}.hub-card img{aspect-ratio:auto}}
