:root{
  --ink:#16181d; --muted:#5a6270; --bg:#ffffff; --rule:#e3e6ea; --accent:#0b5cab;
  --measure:68ch;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
/* WCAG 2.2 AA baseline, authored in rather than retrofitted (ADR-012). */
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:.5rem;top:.5rem;padding:.5rem .75rem;background:var(--ink);color:#fff;z-index:10}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
a{color:var(--accent)}
a,button{min-height:24px}            /* 2.5.8 target size */
header,main,footer{max-width:var(--measure);margin:0 auto;padding:1.5rem 1rem}
header{display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap;border-bottom:1px solid var(--rule)}
.brand{font-weight:700;text-decoration:none;font-size:1.125rem}
nav ul{display:flex;gap:1rem;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.lang-switch{margin-left:auto}
h1{font-size:1.75rem;line-height:1.25;margin:0 0 1rem}
h2{font-size:1.25rem;margin:2rem 0 .5rem}
h3{font-size:1.05rem;margin:1.25rem 0 .25rem}
.hero{font-size:1.15rem}
.service{border-top:1px solid var(--rule);padding-top:.75rem}
.situation,.engagement{color:var(--muted)}
.cta a{display:inline-block;padding:.65rem 1rem;background:var(--accent);color:#fff;text-decoration:none;border-radius:4px}
footer{border-top:1px solid var(--rule);color:var(--muted)}
footer ul{list-style:none;margin:.5rem 0;padding:0;display:flex;gap:1rem;flex-wrap:wrap}
address{font-style:normal}
dl dt{font-weight:600;margin-top:.5rem}
dl dd{margin:0}
@media (prefers-color-scheme:dark){
  :root{--ink:#e8eaee;--bg:#14161a;--rule:#2a2f38;--muted:#a0a8b5;--accent:#6fb2ff}
}
