:root{--paper-deep:#fbfaf7;--card:#ffffff; --ink:#33302B;--ink-soft:#6B655B; --sage:#3F5E4E;--sage-deep:#31493D;--sage-tint:#E4EAE2; --terra:#A45C40;--terra-deep:#8C4B33;--terra-tint:#F3E2D8; --ochre:#8F6516;--ochre-tint:#F4E7CB; --line:rgba(51,48,43,.14); --shadow:0 4px 14px rgba(66,55,38,.10); --radius:10px; --sage-text:#31493D; --terra-text:#8C4B33; --ochre-text:#8F6516; --slate-text:#5C6B70; --card-2:#FBFAF7; --header-bg:rgba(251,250,247,.92); --shell-top:#ffffff; --shell-edge:#F3F1EC; --well:#F4F2ED; --track:#ECE9E2; --highlight:rgba(255,255,255,.9);}
:root[data-theme="dark"]{color-scheme:dark;  --paper-deep:#101112; --card:#1E2023; --card-2:#1A1C1F; --ink:#E6E7E6; --ink-soft:#9A9EA1; --sage:#5E8B72; --sage-deep:#4F7A62; --sage-text:#A6C6B2; --sage-tint:rgba(141,179,156,.16); --terra:#B5694C; --terra-deep:#C97A5C; --terra-text:#DFA083; --terra-tint:rgba(217,153,127,.16); --ochre:#B98A3A; --ochre-text:#D6AC5A; --ochre-tint:rgba(214,172,90,.16); --slate:#8A9BA0; --slate-text:#AEBCC0; --slate-tint:rgba(174,188,192,.14); --line:rgba(230,231,230,.14); --shadow:0 4px 14px rgba(0,0,0,.35); --shadow-lg:0 14px 38px rgba(0,0,0,.45); --header-bg:rgba(20,21,23,.92); --shell-top:#222428; --shell-edge:#17181B; --well:#17181B; --track:#0F1012; --highlight:rgba(255,255,255,.06);}
@media print{:root[data-theme="dark"]{color-scheme:light; --paper-deep:#ffffff;--card:#ffffff;--card-2:#ffffff; --ink:#33302B;--ink-soft:#6B655B;--line:rgba(51,48,43,.2); --sage:#3F5E4E;--sage-deep:#31493D;--sage-text:#31493D;--sage-tint:#E4EAE2; --terra:#A45C40;--terra-deep:#8C4B33;--terra-text:#8C4B33;--terra-tint:#F3E2D8; --ochre:#8F6516;--ochre-text:#8F6516;--ochre-tint:#F4E7CB;--slate:#5C6B70;--slate-text:#5C6B70;--slate-tint:#E3E8E8; --shadow:none;--shadow-lg:none;--highlight:transparent;}}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem; border-radius:6px;border:1px solid transparent;background:transparent;color:var(--ink-soft);cursor:pointer; margin-left:.25rem;}
.theme-toggle:hover{background:var(--sage-tint);color:var(--sage-text)}
.theme-toggle svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .moon{display:none}
:root[data-theme="dark"] .theme-toggle .sun{display:none}
:root[data-theme="dark"] .theme-toggle .moon{display:block}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; font-size:17px;line-height:1.65;color:var(--ink);background:var(--bg); -webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:var(--serif);line-height:1.2;font-weight:600}
a{color:var(--sage-text);text-underline-offset:2px}
a:hover{color:var(--terra-text)}
:focus-visible{outline:3px solid var(--terra);outline-offset:2px;border-radius:6px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:6px; font-weight:600;text-decoration:none;background:var(--terra);color:#fff;box-shadow:var(--shadow); transition:background .15s ease;}
.btn:hover{background:var(--terra-deep);color:#fff}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0;gap:1rem}
.nav-links{display:flex;gap:.25rem;flex-wrap:wrap}
.nav-links a{text-decoration:none;color:var(--ink-soft);font-weight:600;font-size:.95rem;padding:.45rem .8rem;border-radius:6px}
.nav-links a:hover{background:var(--sage-tint);color:var(--sage-text)}
.nav-links a.current{background:var(--terra-tint);color:var(--terra-text)}
@media (max-width:720px){.nav{flex-direction:column;align-items:center;gap:.55rem;padding:.6rem 0}.nav-links{justify-content:center}.nav-links a{padding:.45rem .75rem;font-size:.9rem}}
.page-head{padding:3rem 0 1.4rem;text-align:center}
.page-head h1{font-size:clamp(1.9rem,4.6vw,2.9rem);max-width:22ch;margin:0 auto .8rem}
.page-head p{max-width:42em;margin:0 auto;color:var(--ink-soft);font-size:1.08rem}
section{padding:2.2rem 0}
section.alt{background:var(--paper-deep);border-top:1px solid var(--line)}
.prose{max-width:calc(46em + 40px);margin:0 auto;padding-left:20px;padding-right:20px}
.prose p{margin-bottom:1rem}
.prose h2{font-size:clamp(1.45rem,3.2vw,1.9rem);margin:1rem 0 .8rem}
.prose h3{font-size:1.12rem;margin:1.4rem 0 .5rem}
.prose ul,.prose ol{margin:0 0 1rem 1.3rem}
.prose li{margin-bottom:.45rem}
.note{background:var(--ochre-tint);border-left:4px solid var(--ochre); padding:.9rem 1.1rem;border-radius:0 12px 12px 0;font-size:.95rem;margin:1.2rem 0;}
.protocol{max-width:calc(46em + 40px);margin:0 auto;padding-left:20px;padding-right:20px;display:grid;gap:.8rem;counter-reset:pstep}
.pstep{display:flex;gap:1rem;background:var(--card);border:1px solid var(--line); border-radius:var(--radius);padding:1rem 1.2rem;box-shadow:var(--shadow);align-items:flex-start;}
.pstep::before{counter-increment:pstep;content:counter(pstep); flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--sage);color:#fff; display:flex;align-items:center;justify-content:center;font-weight:700; font-family:var(--serif);}
.pstep h3{font-size:1.02rem;margin-bottom:.15rem}
.pstep p{font-size:.94rem;color:var(--ink-soft)}
.mat-list{max-width:calc(46em + 40px);margin:0 auto;padding-left:20px;padding-right:20px;display:grid;gap:.9rem}
@media (min-width:640px){.mat-list{grid-template-columns:1fr 1fr 1fr}}
.mat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius); padding:1.1rem 1.2rem;box-shadow:var(--shadow);text-decoration:none;display:block;transition:transform .15s ease;}
.mat:hover{transform:translateY(-2px)}
.mat b{font-family:var(--serif);font-size:1.05rem;color:var(--ink);display:block;margin-bottom:.25rem}
.mat p{font-size:.88rem;color:var(--ink-soft)}
:root[data-theme="dark"] .btn{color:#0c2632}
:root[data-theme="dark"] .btn:hover{color:#0c2632}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;  --paper-deep:#101112; --card:#1E2023; --card-2:#1A1C1F; --ink:#E6E7E6; --ink-soft:#9A9EA1; --sage:#5E8B72; --sage-deep:#4F7A62; --sage-text:#A6C6B2; --sage-tint:rgba(141,179,156,.16); --terra:#B5694C; --terra-deep:#C97A5C; --terra-text:#DFA083; --terra-tint:rgba(217,153,127,.16); --ochre:#B98A3A; --ochre-text:#D6AC5A; --ochre-tint:rgba(214,172,90,.16); --slate:#8A9BA0; --slate-text:#AEBCC0; --slate-tint:rgba(174,188,192,.14); --line:rgba(230,231,230,.14); --shadow:0 4px 14px rgba(0,0,0,.35); --shadow-lg:0 14px 38px rgba(0,0,0,.45); --header-bg:rgba(20,21,23,.92); --shell-top:#222428; --shell-edge:#17181B; --well:#17181B; --track:#0F1012; --highlight:rgba(255,255,255,.06);}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme-toggle .sun{display:none}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme-toggle .moon{display:block}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn{color:#0c2632}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn:hover{color:#0c2632}}
