:root{--color-bg: #faf7f2;--color-surface: #ffffff;--color-surface-alt: #f1ede3;--color-text: #26312c;--color-text-muted: #5b6b62;--color-border: #e2dccd;--color-primary: #3f6152;--color-primary-dark: #263f34;--color-primary-light: #6f8d7d;--color-on-primary: #ffffff;--color-accent: #c07f34;--color-accent-dark: #9c6626;--color-on-accent: #ffffff;--font-heading: Georgia, "Iowan Old Style", "Times New Roman", serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-s: 6px;--radius-m: 12px;--radius-l: 20px;--shadow-s: 0 1px 3px rgba(38, 49, 44, .08);--shadow-m: 0 8px 24px rgba(38, 49, 44, .12);--shadow-l: 0 16px 40px rgba(38, 49, 44, .18);--container-width: 1180px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-primary-dark);line-height:1.2;margin:0 0 .6em;font-weight:600}h1{font-size:clamp(2rem,1.4rem + 2.4vw,3rem)}h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem)}h3{font-size:1.25rem;color:var(--color-primary)}p{margin:0 0 1em}a{color:var(--color-primary)}img{max-width:100%;display:block}ul{padding-inline-start:1.2em}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.container{width:100%;max-width:var(--container-width);margin-inline:auto;padding-inline:1.25rem}.page-section{padding-block:clamp(2.5rem,2rem + 2vw,4.5rem)}.page-section--alt{background:var(--color-surface-alt)}.page-header{padding-block:clamp(2rem,1.6rem + 1.5vw,3.5rem) 1.5rem}.page-header p{color:var(--color-text-muted);max-width:60ch}.card{background:var(--color-surface);border-radius:var(--radius-m);box-shadow:var(--shadow-s);padding:1.75rem}.btn{display:inline-flex;align-items:center;gap:.5em;border-radius:999px;padding:.75em 1.5em;font-family:var(--font-body);font-weight:600;font-size:.95rem;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .15s ease}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--color-accent);color:var(--color-on-accent)}.btn--primary:hover{background:var(--color-accent-dark)}.btn--outline{background:transparent;border-color:currentColor;color:var(--color-primary-dark)}.btn--outline:hover{background:var(--color-primary-dark);color:var(--color-on-primary)}
