:root{--text: #1a1a1a;--bg: #f5f0e8;--accent: #c45d2c;--accent-hover: #a84b22;--muted: #7a7168;--border: #d9d0c3;--card-bg: #fffcf7;--heading-font: "DM Serif Display", Georgia, serif;--body-font: "Inter", -apple-system, system-ui, sans-serif;--teal: #2a7a6e;--mustard: #c49a2a;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--body-font);color:var(--text);background:var(--bg);line-height:1.75;font-size:1rem;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}img{max-width:100%;height:auto;display:block}.container{max-width:780px;margin:0 auto;padding-left:1.25rem;padding-right:1.25rem}@media(min-width:640px){.container{padding-left:2rem;padding-right:2rem}}.skip-link{position:absolute;top:-100%;left:1rem;background:var(--accent);color:#fff;padding:.5rem 1rem;border-radius:0 0 4px 4px;font-size:.85rem;font-weight:600;z-index:100}.skip-link:focus{top:0;outline:none}header{background:var(--text);padding:1rem 0}header .container{display:flex;justify-content:space-between;align-items:center;gap:1rem}.site-name{font-family:var(--heading-font);font-size:1.2rem;font-weight:400;white-space:nowrap}.site-name a{color:var(--bg);text-decoration:none}.site-name a:hover{text-decoration:none;opacity:.85}.site-name a:focus-visible{outline-color:var(--mustard)}header nav{display:flex;gap:1.25rem;flex-wrap:wrap}header nav a{color:#b8ad9e;font-size:.8rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase;margin:0}header nav a:hover{color:#fff;text-decoration:none}header nav a:focus-visible{outline-color:var(--mustard)}.accent-bar{height:3px;background:linear-gradient(90deg,var(--accent),var(--mustard),var(--teal),var(--accent));background-size:300% 100%}main{padding:5rem 0 8rem}footer{background:var(--text);padding:3rem 0 2rem;color:#9a9088;font-size:.85rem}.footer-label{font-family:var(--heading-font);color:var(--bg);font-size:.95rem;margin-bottom:var(--space-sm);font-weight:400}.footer-guides{columns:3;column-gap:2rem;margin-bottom:var(--space-lg)}.footer-guides a{color:#9a9088;display:block;padding:.2rem 0;font-size:.85rem;break-inside:avoid}.footer-guides a:hover{color:#fff;text-decoration:none}.footer-guides a:focus-visible{outline-color:var(--mustard)}.footer-bottom{border-top:1px solid #333;padding-top:var(--space-md)}.footer-links{display:flex;justify-content:center;gap:1.5rem;margin-bottom:.75rem}.footer-links a{color:#9a9088;font-size:.82rem}.footer-links a:hover{color:#fff;text-decoration:none}.footer-copy{text-align:center;color:#666}@media(max-width:640px){.footer-guides{columns:2}}@media(max-width:420px){.footer-guides{columns:1}}article h1{font-family:var(--heading-font);font-size:2.25rem;line-height:1.2;margin-bottom:var(--space-sm);font-weight:400;color:var(--text)}article h2{font-family:var(--heading-font);font-size:1.45rem;font-weight:400;margin-top:3.5rem;margin-bottom:1.25rem;color:var(--text);padding-bottom:.4rem;border-bottom:2px solid var(--accent)}article h3{font-family:var(--heading-font);font-size:1.12rem;font-weight:400;margin-top:2.25rem;margin-bottom:.75rem}article p{margin-bottom:1.15rem;max-width:65ch}article ul,article ol{margin:.5rem 0 1.5rem 1.25rem;max-width:65ch}article li{margin-bottom:.5rem;padding-left:.25rem}article li::marker{color:var(--accent)}article strong{font-weight:600;color:var(--text)}article a:visited{color:var(--accent-hover)}.article-meta{color:var(--muted);font-size:.9rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);font-style:italic}.featured-image{width:100%;height:auto;border-radius:4px;border:1px solid var(--border);margin-bottom:2rem}.bookmark{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:var(--card-bg);border:1px solid var(--border);border-radius:4px;margin-bottom:1.25rem;max-width:65ch;transition:border-color .15s,box-shadow .15s;cursor:pointer;position:relative}.bookmark:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000000f}.bookmark:focus-within{outline:2px solid var(--accent);outline-offset:2px}.bookmark-favicon{flex-shrink:0;margin-top:.2rem;border-radius:2px}.bookmark-content{display:flex;flex-direction:column;gap:.15rem;min-width:0}.bookmark-title{font-weight:600;font-size:.95rem;color:var(--text);text-decoration:none;line-height:1.3}.bookmark-title:after{content:"";position:absolute;inset:0}.bookmark-title:hover{color:var(--accent);text-decoration:underline}.bookmark-title:focus-visible{outline:none}.bookmark-desc{font-size:.85rem;color:#5e564e;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bookmark-url{font-size:.75rem;color:#8a8078;letter-spacing:.02em}.breadcrumbs{margin-bottom:var(--space-md)}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem;margin:0;padding:0;font-size:.82rem;color:var(--muted)}.breadcrumbs li:not(:last-child):after{content:"/";margin-left:.4rem;color:var(--border)}.breadcrumbs a{color:var(--muted)}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs span{color:var(--text)}.toc{background:var(--card-bg);border:1px solid var(--border);border-radius:4px;padding:var(--space-md) var(--space-md) var(--space-md) var(--space-md);margin-bottom:2.5rem}.toc-label{font-family:var(--heading-font);font-size:.95rem;color:var(--text);margin-bottom:.6rem}.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}.toc li{margin:0;padding:0}.toc a{font-size:.85rem;color:var(--muted);padding:.2rem 0;display:inline-block;text-decoration:none}.toc a:hover{color:var(--accent);text-decoration:underline}article h2{position:relative}article h2:hover .anchor-link,article h2:focus-within .anchor-link{opacity:1}.article-meta+p,.article-meta+.featured-image+p{font-size:1.05rem;line-height:1.8;margin-bottom:1.5rem}article>*:last-child{margin-bottom:0}@media(max-width:640px){article h1{font-size:1.75rem}article h2{font-size:1.25rem;margin-top:2.5rem}main{padding:3.5rem 0 5rem}}
