:root{
  --paper:#F5F1E8;
  --paper-raised:#EDE7D8;
  --ink:#1B1B1E;
  --ink-secondary:#5B5850;
  --rule:#D8D0BE;
  --rule-strong:#B8AF98;
  --accent-signal:#D95F2B;
  --accent-signal-deep:#A8461E;
  --accent-petrol:#1F5F5B;
  --accent-petrol-deep:#153F3C;
  --type-on-ink:#F5F1E8;
  --focus-ring:#FFB27A;
  --state-error:#C1432B;
  --state-success:#2F7D5D;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Roboto,"Inter",-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;font-size:1rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
a{color:var(--accent-signal);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
img{max-width:100%;height:auto}
h1,h2,h3{line-height:1.15;margin:0 0 1rem;font-weight:700;max-width:66ch}
h1{font-size:2.95rem}h2{font-size:2.36rem}h3{font-size:1.51rem}
p,li{max-width:66ch}.small{font-size:.82rem;color:var(--ink-secondary)}.mono{font-family:"Consolas","SFMono-Regular","Liberation Mono",Menlo,monospace}
.skip-link{position:absolute;left:.75rem;top:-5rem;background:var(--ink);color:var(--type-on-ink);padding:.6rem .8rem;z-index:1000}
.skip-link:focus{top:.75rem}
.site-header{position:sticky;top:0;z-index:900;background:rgba(245,241,232,.97);border-bottom:1px solid var(--rule);transition:all .28s}
.header-inner{max-width:1180px;margin:auto;padding:1rem 1.25rem;display:flex;align-items:center;gap:1rem;justify-content:space-between}
.brand{font-weight:700;color:var(--ink);text-decoration:none;font-size:1.21rem}.brand-mark{display:none}
.nav-list{display:flex;gap:.8rem;list-style:none;margin:0;padding:0;align-items:center}.nav-list a{color:var(--ink);text-decoration:none;font-size:.95rem}.nav-list a:hover{color:var(--accent-signal)}
.header-cta,.btn{display:inline-block;border-radius:2px;border:1px solid var(--accent-signal);background:var(--accent-signal);color:var(--paper);padding:.55rem .8rem;text-decoration:none;font-weight:700}
.header-cta:hover,.btn:hover{background:var(--accent-signal-deep);border-color:var(--accent-signal-deep);text-decoration:none}
.btn.secondary{background:transparent;color:var(--accent-petrol);border-color:var(--accent-petrol)}
.btn.secondary:hover{background:var(--accent-petrol);color:var(--paper)}
.menu-toggle{display:none;background:transparent;border:1px solid var(--rule-strong);padding:.45rem .6rem;border-radius:2px;color:var(--ink)}
.site-header.condensed .header-inner{padding:.45rem 1.25rem}.site-header.condensed .brand-text{display:none}.site-header.condensed .brand-mark{display:inline}
.container{max-width:1180px;margin:auto;padding:0 1.25rem}.section{padding:3rem 0;border-bottom:1px solid var(--rule)}.split{display:grid;grid-template-columns:3fr 2fr;gap:2rem;align-items:start}
.hero{background:var(--ink);color:var(--type-on-ink);padding:4rem 0}.hero p{color:var(--type-on-ink)}.hero .mono{color:#CFE4DF;border:1px solid var(--accent-petrol);padding:1rem;display:inline-block}
.ref{font-family:"Consolas","SFMono-Regular","Liberation Mono",Menlo,monospace;color:var(--accent-petrol);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.card{position:relative;background:var(--paper-raised);border:1px solid var(--rule-strong);border-radius:2px;padding:1.25rem;margin:0 0 1rem}
.card:before{content:"";position:absolute;left:-8px;top:-8px;width:4px;height:2.25rem;background:var(--accent-signal)}
.card-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.card-list.single{grid-template-columns:1fr}
.stage-strip{display:flex;align-items:stretch;margin-top:1.5rem}
.stage{flex:1;position:relative;padding-right:1rem}.stage:not(:last-child):after{content:"";position:absolute;right:.2rem;top:1.1rem;width:calc(100% - 2.8rem);border-top:1px solid var(--rule-strong);transform:translateX(50%)}
.stage code{font-family:"Consolas","SFMono-Regular","Liberation Mono",Menlo,monospace;color:var(--accent-petrol);font-weight:700;background:transparent}
.stage span{display:block;border:1px solid var(--rule-strong);padding:.65rem;margin-top:.45rem;font-family:"Consolas","SFMono-Regular","Liberation Mono",Menlo,monospace;text-transform:uppercase;font-size:.82rem;min-height:5rem}
.ruled-heading{border-top:2px solid var(--rule-strong);padding-top:.85rem;margin-top:2rem}
table{width:100%;border-collapse:collapse;background:var(--paper-raised)}th,td{border:1px solid var(--rule-strong);padding:1rem;vertical-align:top}th{font-family:"Consolas","SFMono-Regular","Liberation Mono",Menlo,monospace;text-align:left;color:var(--accent-petrol)}
.accordion-item{border-top:1px solid var(--rule-strong)}.accordion-trigger{width:100%;background:transparent;border:0;padding:1rem 0;text-align:left;display:flex;justify-content:space-between;gap:1rem;font-weight:700;color:var(--ink);font-size:1rem}.accordion-trigger .indicator{font-family:"Consolas","SFMono-Regular","Liberation Mono",Menlo,monospace;color:var(--accent-petrol)}.accordion-panel{display:none;padding:0 0 1rem}.accordion-panel.open{display:block}
form{max-width:760px}.field{margin-bottom:1rem}label{display:block;font-weight:700;margin-bottom:.25rem}input,select,textarea{width:100%;background:var(--paper-raised);border:1px solid var(--rule-strong);border-radius:2px;padding:.75rem;color:var(--ink);font:inherit}textarea{min-height:9rem}.required{color:var(--state-error)}.form-status{font-weight:700}.error{color:var(--state-error)}.success{color:var(--state-success)}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.site-footer{background:var(--ink);color:var(--type-on-ink);padding:2rem 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:1.5rem}.site-footer a{color:var(--type-on-ink)}.site-footer ul{list-style:none;padding:0;margin:0}.address{white-space:pre-line}
.cookie-banner,.cookie-panel{position:fixed;z-index:1200;background:var(--paper);border:1px solid var(--rule-strong);color:var(--ink)}.cookie-banner{left:1rem;right:1rem;bottom:1rem;padding:1rem;max-width:980px;margin:auto}.cookie-actions{display:flex;gap:.6rem;flex-wrap:wrap}.cookie-panel{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(720px,calc(100% - 2rem));max-height:90vh;overflow:auto;padding:1.25rem}.backdrop{position:fixed;inset:0;background:rgba(27,27,30,.55);z-index:1190}.toggle-row{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--rule);padding:1rem 0}.toggle-row input{width:auto}
.reveal{opacity:0;transform:translateY(10px);transition:opacity .28s,transform .28s}.reveal.visible{opacity:1;transform:none}
@media(max-width:768px){h1{font-size:2.36rem}h2{font-size:1.89rem}h3{font-size:1.21rem}.section{padding:1.75rem 0}.split,.card-list,.footer-grid{grid-template-columns:1fr}.menu-toggle{display:block}.site-nav{position:fixed;inset:3.5rem 1rem auto 1rem;background:var(--paper);border:1px solid var(--rule-strong);padding:1rem;display:none}.site-nav.open{display:block}.nav-list{display:block}.nav-list li{margin:.7rem 0}.stage-strip{display:block;border-left:1px solid var(--rule-strong);padding-left:1rem}.stage{padding:0 0 1rem}.stage:not(:last-child):after{display:none}.stage span{min-height:auto}.header-cta{display:none}}
@media(max-width:480px){.header-inner,.container{padding-left:.9rem;padding-right:.9rem}.hero{padding:3rem 0}.cookie-actions{display:block}.cookie-actions .btn,.cookie-actions button{width:100%;margin:.25rem 0}}