:root{color-scheme:light;--bg:#faf8f3;--surface:#fff;--ink:#0f1e4a;--muted:#505c70;--accent:#ad1c29;--line:rgba(26,47,107,.15);--text-sm:clamp(.875rem,.83rem + .2vw,1rem);--text-base:clamp(1rem,.98rem + .1vw,1.0625rem);--text-lg:clamp(1.125rem,1rem + .5vw,1.4rem);--text-title:clamp(2rem,1.5rem + 1.4vw,3rem);--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;--s20:5rem}
:root[data-theme=dark]{color-scheme:dark;--bg:#111b30;--surface:#1b2842;--ink:#faf8f3;--muted:#bdc7d8;--accent:#ff9fa5;--line:rgba(255,255,255,.18)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#111b30;--surface:#1b2842;--ink:#faf8f3;--muted:#bdc7d8;--accent:#ff9fa5;--line:rgba(255,255,255,.18)}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--text-base)/1.8 Poppins,-apple-system,sans-serif}a{color:var(--accent);text-underline-offset:.2em;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{font:inherit}.skip{position:absolute;left:var(--s4);top:-100px;padding:var(--s3);background:var(--surface);z-index:10}.skip:focus{top:var(--s4)}.site-header{max-width:1240px;margin:auto;padding:var(--s6) var(--s8);display:flex;align-items:center;justify-content:space-between;gap:var(--s6);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:var(--s3);color:var(--ink);text-decoration:none;font:600 1.5rem/1.15 Oswald,sans-serif;letter-spacing:.04em}.brand img{object-fit:contain}.brand small{display:block;font:500 .75rem/1.8 Poppins,sans-serif;letter-spacing:.12em}.header-tools{display:flex;align-items:center;gap:var(--s6);font-size:var(--text-sm)}.header-tools a{display:flex;align-items:center;min-height:44px}.header-tools button{min-height:44px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:var(--s2) var(--s4);border-radius:4px;cursor:pointer}.layout{max-width:1240px;margin:auto;display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--s16);padding:var(--s16) var(--s8) var(--s20)}aside{align-self:start;position:sticky;top:var(--s8);font-size:var(--text-sm)}.eyebrow{font-size:.75rem;letter-spacing:.08em;font-weight:600;color:var(--muted);margin:0 0 var(--s5)}nav{display:grid;gap:var(--s1)}nav a{min-height:44px;display:flex;align-items:center;padding:var(--s2) var(--s3);color:var(--muted);text-decoration:none;border-radius:4px}nav a[aria-current=page]{background:var(--surface);color:var(--accent);font-weight:600}nav a:hover{background:var(--surface);color:var(--ink)}.contact{border-top:1px solid var(--line);padding-top:var(--s5);margin-top:var(--s8)}.contact a{display:block;min-height:44px}.contact p{margin:0 0 var(--s3);color:var(--muted)}main{min-width:0;max-width:760px}h1{font:600 var(--text-title)/1.18 Oswald,sans-serif;margin:0 0 var(--s5);text-wrap:balance}h2{font-size:var(--text-lg);line-height:1.4;margin:var(--s10) 0 var(--s4);font-weight:600}p{margin:0 0 var(--s5)}h1+p{color:var(--muted);font-size:var(--text-sm)}h1+p+p{color:var(--muted);font-size:var(--text-sm);padding-bottom:var(--s6);border-bottom:1px solid var(--line)}li{margin-bottom:var(--s3)}ul,ol{padding-left:var(--s6);margin:0 0 var(--s6)}strong{font-weight:600}footer{max-width:1240px;margin:auto;border-top:1px solid var(--line);padding:var(--s6) var(--s8);display:flex;justify-content:space-between;gap:var(--s4);font-size:var(--text-sm);color:var(--muted)}
article{overflow-wrap:anywhere}
@media(max-width:800px){.site-header{padding:var(--s4) var(--s5)}.layout{grid-template-columns:1fr;gap:var(--s8);padding:var(--s8) var(--s5) var(--s12)}aside{position:static}.contact{display:none}nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s1)}nav a{padding:var(--s2);font-size:var(--text-sm)}.eyebrow{margin-bottom:var(--s3)}.header-tools{gap:var(--s3)}.header-tools>a{display:none}.brand{font-size:1.35rem}.brand img{width:44px;height:44px}footer{padding:var(--s6) var(--s5);flex-direction:column;gap:var(--s2)}}@media print{aside,.header-tools,.skip{display:none}.layout{display:block;padding:0}.site-header,footer{padding:1rem 0}body{background:white;color:#111;font-size:11pt}main{max-width:none}}
