html{background-color:#f1f5f9;font-family:sans-serif}body{margin:0 auto;width:100%;max-width:80ch;padding:1rem;line-height:1.5}*{box-sizing:border-box}h1{margin:1rem 0;font-size:2.5rem}:root{--color-bg-pri: #fafafa;--color-bg-sec: #ececec;--color-bg-ter: #ddd;--color-primary: #694609;--color-primary-muted: #866121;--color-secondary: #4e4e4e;--color-accent: #a54210;--color-text: #111;--color-text-muted: #555;--color-text-light: #ececec;--font-heading: serif;--font-body: sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3.5rem;--leading-tight: 1.2;--leading-normal: 1.4;--leading-loose: 1.6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--container-max: 1200px;--container-narrow: 800px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--z-sticky: 100;--z-modal: 200;--z-tooltip: 300}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:1rem;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-pri)}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg-dark);min-height:100vh}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.03;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:var(--leading-tight);color:var(--color-primary)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin-bottom:var(--space-4)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-secondary)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}strong,b{font-weight:600}small{font-size:var(--text-sm)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-4)}.container--narrow{max-width:var(--container-narrow)}.text-center{text-align:center}.text-uppercase{text-transform:uppercase;letter-spacing:.1em}.text-muted{color:var(--color-text-muted)}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.mt-4{margin-top:var(--space-4)}.mt-8{margin-top:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section{padding-block:var(--space-16)}.section--alt{background-color:var(--color-bg-mid)}.section_title{font-size:var(--text-2xl);text-transform:uppercase;letter-spacing:.15em;color:var(--color-primary);text-align:center;margin-bottom:var(--space-10);position:relative}.section_title:after{content:"";display:block;width:60px;height:2px;background:var(--color-primary);margin:var(--space-4) auto 0}.section_subtitle{font-size:var(--text-lg);color:var(--color-secondary);text-align:center;max-width:600px;margin:var(--space-4) auto 0}@media(max-width:640px){:root{--text-5xl: 2.5rem;--text-4xl: 2rem;--text-3xl: 1.5rem}.section{padding-block:var(--space-10)}}@media(min-width:641px)and (max-width:1024px){.container{padding-inline:var(--space-6)}}@media(min-width:1025px){.container{padding-inline:var(--space-8)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-slow) ease-out forwards}.animate-slide-up{animation:slideUp var(--transition-slow) ease-out forwards}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}
