:root{--color-bg:#faf9f6;--color-bg-alt:#f0ede6;--color-text:#2d2d2d;--color-text-muted:#5e5e5e;--color-accent:#5b7a5e;--color-accent-hover:#4a6653;--color-border:#d9d5ce;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:40px;--spacing-2xl:64px;--content-width:700px;--menu-width:220px;--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--color-text);background:var(--color-bg);min-height:100vh}h1{font-size:2rem;font-weight:700;line-height:1.2}h2{font-size:1.5rem;font-weight:600;line-height:1.3;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md)}h3{font-size:1.25rem;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm)}h3,h4{font-weight:600;line-height:1.4}h4{font-size:1.1rem;margin-top:var(--spacing-md);margin-bottom:var(--spacing-xs)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-accent-hover)}ol,ul{padding-left:var(--spacing-lg);margin-bottom:var(--spacing-md)}li{margin-bottom:var(--spacing-xs)}strong{font-weight:600}.site-layout{display:grid;grid-template-columns:var(--menu-width) 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"header header" "nav main" "footer footer";min-height:100vh}.site-header{grid-area:header}.site-nav{grid-area:nav}.site-main{grid-area:main}.site-footer{grid-area:footer}.site-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg);position:-webkit-sticky;position:sticky;top:0;z-index:10}.site-header a{font-size:1.25rem;font-weight:700;color:var(--color-text)}.site-header a:hover{color:var(--color-accent)}.site-tagline{font-size:.85rem;color:var(--color-text-muted);margin-top:var(--spacing-xs)}.site-nav{padding:var(--spacing-md);border-right:1px solid var(--color-border)}.site-nav ul{list-style:none;padding:0;margin:0}.site-nav li{margin-bottom:var(--spacing-xs)}.site-nav a{display:block;padding:var(--spacing-sm) var(--spacing-md);border-radius:4px;font-size:.95rem;color:var(--color-text);transition:background .15s ease,color .15s ease}.site-nav a.active,.site-nav a:hover{background:var(--color-bg-alt);color:var(--color-accent)}.site-nav a.active{border-left:3px solid var(--color-accent);font-weight:600}.site-main{padding:var(--spacing-xl) var(--spacing-lg)}.site-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border);text-align:center;font-size:.85rem;color:var(--color-text-muted)}.content-width{max-width:var(--content-width);margin:0 auto}.callout{background:var(--color-bg-alt);border-left:4px solid var(--color-accent);padding:var(--spacing-md) var(--spacing-lg);margin:var(--spacing-lg) 0;font-style:italic;color:var(--color-text-muted)}.callout strong{font-style:normal;color:var(--color-text)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:var(--spacing-md);gap:var(--spacing-md);margin:var(--spacing-lg) 0}.card-grid>*{background:var(--color-bg-alt);padding:var(--spacing-md);border-radius:6px;border:1px solid var(--color-border)}.breadcrumbs{font-size:.85rem;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.breadcrumbs,.breadcrumbs a{color:var(--color-text-muted)}.breadcrumbs a:hover{color:var(--color-accent)}.breadcrumbs span{color:var(--color-text)}@media (max-width:700px){.site-layout{grid-template-columns:1fr;grid-template-areas:"header" "nav" "main" "footer"}.site-header{position:static;text-align:center;padding:var(--spacing-md)}.site-nav{border-right:none;border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);overflow-x:auto;-webkit-overflow-scrolling:touch}.site-nav ul{display:flex;flex-wrap:nowrap;gap:var(--spacing-xs)}.site-nav li{margin-bottom:0;flex-shrink:0}.site-nav a{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);white-space:nowrap}.site-nav a.active{border-left:none;border-bottom:3px solid var(--color-accent)}.site-main{padding:var(--spacing-lg) var(--spacing-md)}.content-width{max-width:100%}.card-grid{grid-template-columns:1fr}}