:root { color-scheme: dark; --bg:#101820; --panel:#18232c; --text:#f4eee2; --muted:#c5c6c4; --gold:#d9b879; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:1.0625rem/1.75 system-ui,-apple-system,"Segoe UI",sans-serif; }
.wrap { width:min(100% - 2.5rem, 48rem); margin-inline:auto; }
header { padding:2rem 0 1.25rem; border-bottom:1px solid #394047; }
.brand { color:var(--gold); font-size:1rem; font-weight:700; letter-spacing:.12em; text-decoration:none; }
main { padding:2.5rem 0 3rem; }
h1,h2 { line-height:1.25; text-wrap:balance; }
h1 { font-size:clamp(2rem,6vw,3rem); margin:0 0 1rem; letter-spacing:-.025em; }
h2 { font-size:1.3rem; margin:2.2rem 0 .65rem; }
p { margin:.7rem 0 1rem; }
a { color:var(--gold); text-underline-offset:.22em; overflow-wrap:anywhere; }
a:hover { color:#ffe0a4; }
a:focus-visible { outline:3px solid var(--gold); outline-offset:5px; border-radius:2px; }
.meta,footer { color:var(--muted); font-size:.95rem; }
.summary { background:var(--panel); border-left:3px solid var(--gold); padding:1rem 1.25rem; margin:1.7rem 0; }
.summary p { margin:0; }
footer { border-top:1px solid #394047; padding:1.5rem 0 2rem; }
.skip { position:absolute; top:-6rem; left:1rem; background:var(--bg); padding:.5rem 1rem; }
.skip:focus { top:.5rem; }
.contact-email { font-weight:700; color:var(--gold); overflow-wrap:anywhere; }
@media (max-width:400px) { .wrap { width:calc(100% - 2rem); } main { padding-top:1.75rem; } }
@media print { body { background:white; color:black; } a,.brand,.meta,footer,.contact-email { color:black; } .summary { background:transparent; border-color:#555; } }

