:root{--s4:4px;--s8:8px;--s12:12px;--s16:16px;--s24:24px;--s32:32px;--s40:40px;--s64:64px;--ground:#121613;--text:#e2e9df;--accent:#b7ef65;--muted:#e2e9df;--muted-dark:#e2e9df;--max:1248px;--rule:1px solid var(--text)}
/* Terminal mono: monospace, two-colour ground and text with one accent, block markers and rules, no shadows or rounding. Split index: numbered contents at left, expanded entries at right; one column below 768px. No media slots; zero images. */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--s24)}
body{margin:0;background-color:var(--ground);color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:16px;line-height:1.7}
[hidden]{display:none!important}
a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}
a:hover{color:var(--accent)}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:default}
a,button,input,textarea,select{touch-action:manipulation}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
h1,h2,h3,p,li,address{overflow-wrap:anywhere}
h1,h2,h3{font-weight:700;line-height:1.18}
h1{font-size:clamp(2rem,5.4vw,4.7rem);letter-spacing:-.055em;margin:0 0 var(--s24);max-width:23ch}
h2{font-size:clamp(1.35rem,2.7vw,2rem);letter-spacing:-.035em;margin:0 0 var(--s24)}
h3{font-size:1.125rem;margin:var(--s32) 0 var(--s12)}
p{margin:0 0 var(--s24)}
p:last-child{margin-bottom:0}
ul,ol{margin:0 0 var(--s24);padding-left:var(--s24)}
li+li{margin-top:var(--s12)}
address{font-style:normal}
svg{display:block}
.container{width:calc(100% - var(--s32));max-width:var(--max);margin-inline:auto}
.skip-link{position:absolute;left:var(--s16);top:var(--s8);z-index:30;transform:translateY(-200%);padding:var(--s8) var(--s16);background-color:var(--text);color:var(--ground)}
.skip-link:focus{transform:translateY(0);outline-color:var(--ground)}
.site-header{border-bottom:var(--rule)}
.header-row{height:64px;display:flex;align-items:center;gap:var(--s16)}
.header-row>*{min-width:0}
.brand{display:flex;align-items:center;gap:var(--s8);font-size:.875rem;font-weight:700;line-height:1.2;text-decoration:none;flex-shrink:0;white-space:nowrap}
.brand svg{width:20px;height:20px;color:var(--accent);flex-shrink:0}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:var(--s12);flex:1 1 auto}
.desktop-nav>*{min-width:0}
.desktop-nav a{white-space:nowrap;font-size:.875rem;text-decoration:none;padding-block:var(--s8)}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:var(--accent);text-decoration:underline}
.header-cta{white-space:nowrap;flex-shrink:0;font-size:.875rem;border-bottom:2px solid var(--accent);text-decoration:none}
.menu-toggle{display:none;border:var(--rule);background-color:var(--ground);color:var(--text);padding:var(--s8);font-size:.875rem;line-height:1.2}
.mobile-menu{position:fixed;inset:52px 0 0;z-index:20;background-color:var(--ground);color:var(--text);overflow-y:auto;padding:var(--s24) var(--s16) var(--s40)}
.mobile-menu nav{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s16);max-width:var(--max);margin-inline:auto}
.mobile-menu nav>*{min-width:0}
.mobile-menu a{font-size:1.125rem;overflow-wrap:anywhere}
.mobile-menu .header-cta{margin-top:var(--s16)}
main{padding-block:var(--s64)}
.hero{border-bottom:var(--rule);padding-bottom:var(--s64);margin-bottom:var(--s64)}
.eyebrow{display:flex;align-items:center;gap:var(--s12);font-size:.875rem;letter-spacing:.04em;margin:0 0 var(--s24)}
.eyebrow::before{content:"";width:10px;height:10px;flex-shrink:0;background-color:var(--accent)}
.lead{max-width:74ch;font-size:1.125rem;line-height:1.65}
.hero .lead{margin-bottom:var(--s32)}
.text-link{display:inline-block;font-weight:700;color:var(--accent)}
.meta-line{font-size:.875rem;margin-top:var(--s24);padding-top:var(--s16);border-top:var(--rule);max-width:74ch}
.split-index{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.15fr);gap:var(--s64);align-items:start}
.split-index>*{min-width:0}
.contents{border-top:3px solid var(--accent);padding-top:var(--s24)}
.contents-title{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--s24)}
.contents ol{list-style:none;padding:0;margin:0;counter-reset:contents}
.contents li{counter-increment:contents;margin:0;border-bottom:var(--rule)}
.contents a{display:flex;gap:var(--s16);padding-block:var(--s16);text-decoration:none;font-size:.9375rem}
.contents a::before{content:counter(contents,decimal-leading-zero);color:var(--accent);flex-shrink:0}
.contents a>*{min-width:0}
.contents a:hover{text-decoration:underline}
.entries{min-width:0}
.entry{padding-bottom:var(--s40);margin-bottom:var(--s64);border-bottom:var(--rule);scroll-margin-top:var(--s24)}
.entry:last-child{margin-bottom:0}
.entry-number{display:block;color:var(--accent);font-size:.875rem;margin-bottom:var(--s12)}
.entry h2{max-width:35ch}
.entry p{max-width:76ch}
.entry ul{max-width:76ch}
.entry .text-link{margin-top:var(--s8)}
.detail-line{display:flex;flex-wrap:wrap;gap:var(--s8) var(--s24);font-size:.875rem;margin-top:var(--s24)}
.detail-line>*{min-width:0}
.detail-line span::before{content:"/ ";color:var(--accent)}
.support{margin-top:var(--s64);border-top:3px solid var(--accent);padding-top:var(--s32);max-width:90ch}
.support p{max-width:76ch}
.note{border-left:4px solid var(--accent);padding-left:var(--s24);margin-block:var(--s32)}
.note p{font-size:.9375rem}
.sources{margin-top:var(--s32);font-size:.875rem}
.sources a{overflow-wrap:anywhere}
.table-scroll{width:100%;overflow-x:auto;margin-block:var(--s24)}
table{border-collapse:collapse;width:100%;font-size:.875rem;text-align:left}
caption{text-align:left;margin-bottom:var(--s12);font-weight:700}
th,td{padding:var(--s16);vertical-align:top;border-bottom:var(--rule)}
th{font-weight:700}
th:first-child,td:first-child{padding-left:0}
th:last-child,td:last-child{padding-right:0}
table p{margin-bottom:var(--s12)}
code{font:inherit;color:var(--accent);overflow-wrap:anywhere}
.contact-form{border-top:var(--rule);padding-top:var(--s24)}
.field{margin-bottom:var(--s24)}
label{display:block;font-weight:700;margin-bottom:var(--s12)}
input,textarea,select{width:100%;max-width:100%;border:1px solid var(--text);border-radius:0;background-color:var(--ground);color:var(--text);padding:var(--s12) var(--s16)}
textarea{min-height:180px;resize:vertical}
select{min-height:48px}
input::placeholder,textarea::placeholder{color:var(--muted)}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-width:3px}
.hint{font-size:.875rem;margin-top:var(--s12);margin-bottom:0}
.check-label{display:flex;align-items:flex-start;gap:var(--s12);font-weight:400;font-size:.9375rem}
.check-label>*{min-width:0}
.check-label input{width:20px;height:20px;flex-shrink:0;margin:var(--s4) 0 0;accent-color:var(--accent)}
.button{display:inline-block;border:1px solid var(--accent);background-color:var(--accent);color:var(--ground);padding:var(--s12) var(--s16);font-weight:700;text-align:center;text-decoration:none;border-radius:0}
.button:hover{background-color:var(--text);color:var(--ground);border-color:var(--text)}
.form-status{margin-top:var(--s24);border-left:4px solid var(--accent);padding-left:var(--s16)}
.form-status:empty{display:none}
.form-status:focus{outline:3px solid var(--accent);outline-offset:4px}
.contact-details{margin-bottom:var(--s64)}
.contact-details a{overflow-wrap:anywhere}
.site-footer{background-color:var(--text);color:var(--ground);padding-block:var(--s40);border-top:var(--rule)}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:var(--s40)}
.footer-grid>*{min-width:0}
.footer-title{font-size:.875rem;font-weight:700;margin-bottom:var(--s16)}
.site-footer p,.site-footer address,.site-footer a,.site-footer button{font-size:.875rem}
.site-footer address{margin-bottom:var(--s16)}
.site-footer a:hover{color:var(--ground);text-decoration-thickness:2px}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li+li{margin-top:var(--s8)}
.footer-bottom{border-top:1px solid var(--ground);margin-top:var(--s32);padding-top:var(--s24)}
.footer-bottom p{margin-bottom:var(--s12)}
.footer-bottom p:last-child{margin-bottom:0}
.link-button{padding:0;border:0;background-color:transparent;color:inherit;text-decoration:underline;text-underline-offset:.25em}
.site-footer :focus-visible{outline-color:var(--ground)}
.mobile-menu :focus-visible{outline-color:var(--accent)}
.cookie-banner :focus-visible{outline-color:var(--accent)}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:25;background-color:var(--ground);color:var(--text);border-top:3px solid var(--accent);max-height:90dvh;overflow-y:auto;padding-block:var(--s16)}
.cookie-inner{display:flex;flex-direction:column;gap:var(--s12)}
.cookie-inner>*{min-width:0}
.cookie-copy{font-size:.875rem;margin:0;max-width:100ch}
.cookie-actions{display:flex;justify-content:flex-end;gap:var(--s12)}
.cookie-actions>*{min-width:0}
.cookie-actions button,.cookie-panel button{border:1px solid var(--text);background-color:var(--ground);color:var(--text);padding:var(--s8) var(--s16);font-size:.875rem;border-radius:0}
.cookie-actions button:hover,.cookie-panel button:hover{background-color:var(--text);color:var(--ground)}
.cookie-actions [data-cookie-choice="accept"]{background-color:var(--accent);color:var(--ground);border-color:var(--accent)}
.cookie-panel{border-top:var(--rule);padding-top:var(--s16)}
.cookie-panel h2{font-size:1rem;margin-bottom:var(--s12)}
.cookie-panel p{font-size:.875rem;margin-bottom:var(--s16);max-width:90ch}
.cookie-panel .hint{margin-top:var(--s12);margin-bottom:0}
.legal .hero h1{max-width:24ch}
.legal .entry h2{font-size:1.5rem}
.legal .lead{font-size:1rem}
.legal .entry p{font-size:.9375rem}
.legal .contents a{font-size:.875rem}
noscript p{border-left:4px solid var(--accent);padding-left:var(--s16)}
@media(max-width:1023px){
.header-row{height:52px;gap:var(--s12)}
.desktop-nav,.header-row>.header-cta{display:none}
.menu-toggle{display:block;margin-left:auto;flex-shrink:0}
.brand{font-size:.8125rem}
.hero h1{max-width:22ch}
.split-index{gap:var(--s40)}
}
@media(min-width:1024px){
.mobile-menu{inset:64px 0 0}
.header-row{gap:var(--s16)}
.desktop-nav{min-width:0}
}
@media(max-width:767px){
.split-index{grid-template-columns:minmax(0,1fr);gap:var(--s64)}
.footer-grid{grid-template-columns:minmax(0,1fr);gap:var(--s32)}
.contents{max-width:none}
.hero{padding-bottom:var(--s40)}
.hero .lead{font-size:1rem}
.entry h2{max-width:none}
.cookie-actions{flex-wrap:wrap}
.cookie-actions button{flex:1 1 auto}
.contact-details{margin-bottom:var(--s40)}
th,td{padding:var(--s12)}
}
@media(min-width:768px){
.cookie-actions{flex-direction:row;justify-content:flex-end}
.cookie-actions button{flex:0 1 auto}
}
@media(max-width:479px){
.cookie-actions{flex-direction:column;gap:var(--s8)}
.cookie-actions button{width:100%}
.cookie-copy{font-size:.8125rem}
.cookie-banner{padding-block:var(--s12)}
.hero h1{font-size:2rem}
.brand{font-size:.75rem;gap:var(--s4)}
.brand svg{width:16px;height:16px}
.menu-toggle{padding:var(--s8);font-size:.75rem}
}
@media(min-width:480px){
.cookie-panel button{width:auto}
}
@media(max-width:399px){
.header-row{gap:var(--s8)}
.brand{letter-spacing:-.035em}
.lead{font-size:1rem}
.button{width:100%}
.detail-line{flex-direction:column;gap:var(--s8)}
}
@media(min-width:400px){
.menu-toggle{min-height:36px}
}
@media(prefers-reduced-motion:reduce){
*{transition-duration:.01ms!important;animation-duration:.01ms!important}
html{scroll-behavior:auto}
}