*{box-sizing:border-box}body{margin:0;background:#0c1016;color:#edf4ff;font:16px/1.65 system-ui,sans-serif}main,header,footer{max-width:1080px;margin:auto;padding:24px}header,footer{border-bottom:1px solid #344258}a{color:#9ec8ff}nav{display:flex;gap:16px;flex-wrap:wrap}h1{font-size:clamp(28px,5vw,44px);line-height:1.15;max-width:850px}h2{font-size:24px}p{max-width:850px}.lead{font-size:19px;color:#c4d4e7}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.card,section{background:#152031;border:1px solid #344258;border-radius:12px;padding:22px;margin:22px 0}.cards .card{margin:0}.muted,small{color:#b9c9dd}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:12px;border-bottom:1px solid #344258;vertical-align:top}th{color:#fff}label{display:block;margin:12px 0 6px}input,select,button{font:inherit;padding:10px;border-radius:6px;border:1px solid #768fae;background:#0c1522;color:#fff;max-width:100%}input{width:180px}select{width:100%}button{background:#1d4ed8;margin:18px 0;cursor:pointer}output{display:block;white-space:pre-line;background:#102f30;padding:18px;border-radius:8px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7fe5d3;outline-offset:3px}.crumb{font-size:14px}.tag{color:#8fe0c4;font-weight:600}footer{padding-bottom:80px}

/* Accessibility and small-screen usability */
html{scroll-behavior:smooth}body{overflow-wrap:break-word}
a{text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid #7fe5d3;outline-offset:3px}
.skip-link{position:absolute;left:12px;top:-100px;background:#fff;color:#08121f;padding:10px 16px;z-index:20}
.skip-link:focus{top:12px}
header nav a,footer nav a{display:inline-block;padding:5px 2px}
table{min-width:540px}
th,td{overflow-wrap:anywhere}
.tablewrap{max-width:100%;-webkit-overflow-scrolling:touch}
input,select{min-height:44px}
button{min-height:44px;font-weight:650}
@media(max-width:600px){main,header,footer{padding:16px}h2{font-size:21px}.card,section{padding:16px;margin:16px 0}.cards{grid-template-columns:1fr}nav{gap:10px}table{font-size:13px}th,td{padding:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Accessible catalogue filtering and readable tables */
.catalogue-search{margin:16px 0 22px}.catalogue-search input{width:min(100%,360px)}.catalogue-search p{font-size:14px;color:#b9c9dd}caption{caption-side:top;text-align:left;font-weight:650;padding:10px 0;color:#edf4ff}tr[hidden]{display:none}
