/* Palletner's native semantic palette; no remote fonts or assets. */
:root { color-scheme: light dark; --bg:#f6f5ef; --surface:#fff; --ink:#183d33; --muted:#5e7368; --accent:#207462; --soft:#e9f1e9; --line:#dce6de; --border:#778c80; --review:#fff2d6; --review-ink:#624000; }
@media (prefers-color-scheme:dark) { :root { --bg:#172520; --surface:#22362d; --ink:#eff7ef; --muted:#b1c6b7; --accent:#8bd4b5; --soft:#304e3c; --line:#3d5849; --border:#789488; --review:#3f321e; --review-ink:#ffd68a; } }
* { box-sizing:border-box; }
html { scroll-padding-top:1.5rem; }
body { margin:0; font:1.0625rem/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--bg); color:var(--ink); overflow-wrap:anywhere; }
a { color:var(--accent); text-underline-offset:.22em; text-decoration-thickness:.08em; }
a:hover { text-decoration-thickness:.15em; }
a:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; border-radius:2px; }
.skip { position:absolute; left:1rem; top:-6rem; z-index:10; background:var(--surface); padding:.6rem 1rem; }
.skip:focus { top:1rem; }
header { border-bottom:1px solid var(--line); }
.header-inner,.footer-inner { max-width:72rem; padding:1.5rem clamp(1rem,4vw,3rem); margin:auto; display:flex; justify-content:space-between; gap:1rem 2rem; align-items:center; flex-wrap:wrap; }
.brand { font-size:1.5rem; letter-spacing:-.055em; font-weight:750; text-decoration:none; color:var(--ink); display:inline-flex; gap:.3rem; align-items:baseline; }
.brand-dot { height:.35rem; width:.35rem; background:var(--accent); border-radius:50%; }
nav { display:flex; gap:.4rem 1.5rem; flex-wrap:wrap; }
nav a { padding:.4rem 0; font-weight:550; text-decoration:none; }
nav a[aria-current=page] { text-decoration:underline; }
.review { background:var(--review); color:var(--review-ink); padding:.6rem 1rem; text-align:center; font-size:.875rem; display:flex; gap:0 .8rem; justify-content:center; flex-wrap:wrap; }
main { max-width:58rem; margin:0 auto; padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,3rem) 4rem; }
.page-heading { margin-bottom:2.5rem; }
.eyebrow { font-size:.875rem; letter-spacing:.12em; font-weight:700; color:var(--accent); margin:0 0 .8rem; }
h1 { font-size:clamp(2rem,5vw,3.5rem); line-height:1.13; letter-spacing:-.045em; margin:0; max-width:15ch; text-wrap:balance; }
.date { color:var(--muted); font-size:.9375rem; margin:1rem 0 0; }
.lead { font-size:1.15rem; line-height:1.65; }
.summary { padding:1.5rem clamp(1rem,3vw,2rem); background:var(--soft); border-radius:1.25rem; margin:1.5rem 0 2rem; }
.summary h2 { margin-top:0; font-size:1.15rem; }
.summary p:last-child,.summary ul:last-child { margin-bottom:0; }
.contents { padding:1.25rem 0; margin-bottom:2rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.contents ol { columns:2 15rem; padding-left:1.2rem; margin:.6rem 0 0; }
.contents li { break-inside:avoid; padding:0 .5rem .4rem 0; }
section { margin:2.5rem 0; scroll-margin-top:1.5rem; }
h2 { font-size:1.4rem; line-height:1.35; letter-spacing:-.025em; margin:0 0 .9rem; }
h3 { font-size:1.1rem; line-height:1.45; margin:1.5rem 0 .6rem; }
p { margin:.75rem 0 1rem; }
ul,ol { padding-left:1.4rem; }
li { padding-left:.15rem; margin-bottom:.45rem; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:1rem; margin-top:2rem; }
.card { padding:1.5rem; background:var(--surface); border:1px solid var(--line); border-radius:1.25rem; }
.card h2 { font-size:1.25rem; }
.card p { color:var(--muted); margin-bottom:0; }
.contact { font-size:1.1rem; }
.note { padding:1rem 1.2rem; border-left:3px solid var(--border); background:var(--surface); }
[data-publication-blocker] { background:var(--review); color:var(--review-ink); }
.back { display:inline-block; margin-top:1rem; }
footer { border-top:1px solid var(--line); font-size:.9375rem; }
.footer-inner { align-items:flex-start; padding-top:2rem; padding-bottom:2rem; }
address { font-style:normal; margin:.3rem 0 .6rem; }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto; } }
@media print { header,.review,.contents,.skip { display:none; } main { max-width:none; padding:0; } :root { --bg:white; --ink:black; --muted:#333; --accent:#183d33; --soft:#eee; } a { color:inherit; } section { break-inside:avoid-page; } }
