:root{color-scheme:dark;--bg:#0a1020;--panel:#111b30;--ink:#edf3ff;--muted:#aab8d0;--accent:#8de5ff;--line:#2a3851}
*{box-sizing:border-box}
html{scroll-padding-top:2rem}
body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.75 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--accent);text-underline-offset:.22em;overflow-wrap:anywhere}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:2px}
.skip{position:absolute;top:-8rem;left:1rem;padding:.6rem 1rem;background:var(--ink);color:var(--bg)}
.skip:focus{top:1rem}
.wrap{width:min(100% - 3rem,1080px);margin-inline:auto}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.7rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand{font-size:1.05rem;font-weight:750;letter-spacing:.04em}
.brand small{font-weight:400;color:var(--muted);margin-left:.7rem;letter-spacing:0}
.languages{display:flex;gap:.5rem;align-items:center}
.languages a{padding:.45rem .75rem;border:1px solid transparent;border-radius:6px;font-size:.9rem;text-decoration:none}
.languages [aria-current=page]{color:var(--ink);border-color:var(--line);background:var(--panel)}
header{padding:3.75rem 0 2.25rem}
.eyebrow{font-size:.85rem;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin:0 0 .7rem;font-weight:650}
h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 1.3rem;max-width:850px}
.intro{max-width:700px;font-size:1.12rem;color:var(--muted);margin:0 0 1rem}
.date{font-size:.875rem;color:var(--muted)}
.layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:3.5rem;padding-bottom:4rem}
.contents{align-self:start;position:sticky;top:2rem;border-top:2px solid var(--accent);padding-top:1rem}
.contents strong{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.contents ol{list-style:none;padding:0;margin:.7rem 0}
.contents li{margin:.3rem 0}
.contents a{display:block;color:var(--muted);text-decoration:none;font-size:.94rem;padding:.2rem 0}
.contents a:hover{color:var(--accent)}
article{min-width:0}
section{border-top:1px solid var(--line);padding:1.8rem 0 .6rem;scroll-margin-top:1rem}
h2{font-size:1.35rem;line-height:1.35;letter-spacing:-.015em;margin:0 0 1rem}
p{margin:.65rem 0 1rem}
li{margin:.45rem 0}
ul{padding-left:1.3rem}
.note{padding:1rem 1.2rem;border-left:3px solid var(--accent);background:var(--panel);border-radius:0 6px 6px 0}
.contact{background:var(--panel);padding:1.2rem 1.5rem;border:1px solid var(--line);border-radius:8px;margin-top:1rem}
footer{border-top:1px solid var(--line);padding:1.6rem 0 2rem;color:var(--muted);font-size:.875rem}
footer .wrap{display:flex;gap:1rem;justify-content:space-between;flex-wrap:wrap}
@media(max-width:760px){.wrap{width:calc(100% - 2rem)}header{padding:2.5rem 0 1.5rem}.layout{grid-template-columns:1fr;gap:1.5rem}.contents{position:static}.contents ol{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem}.brand small{display:block;margin:0}.topbar{padding:1rem 0}section{padding-top:1.4rem}}
@media print{:root{--bg:#fff;--ink:#111;--muted:#444;--accent:#164e63;--line:#bbb;--panel:#f4f4f4;color-scheme:light}body{font-size:11pt}.wrap{width:100%}.layout{display:block}.contents,.languages,.skip{display:none}header{padding:1.5rem 0}section{break-inside:avoid}h1{font-size:28pt}}
