@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Instrument+Sans:ital,wght@0,400..700;1,400..700&display=swap";.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;padding:var(--space-4) 0;background:#e8ddd0e0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);border-top:3px solid var(--brown-bark)}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}.logo[data-astro-cid-3ef6ksr2]{display:flex;align-items:baseline;text-decoration:none;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-4xl);font-weight:600;letter-spacing:-.03em;line-height:1;transition:opacity var(--transition-fast);flex-shrink:0}.logo[data-astro-cid-3ef6ksr2]:hover{opacity:.75;color:var(--color-text)}.logo-mark[data-astro-cid-3ef6ksr2]{color:var(--brown-bark);font-weight:700}.nav-list[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-1);list-style:none}.nav-link[data-astro-cid-3ef6ksr2]{display:block;padding:var(--space-2) var(--space-4);font-size:var(--text-md);font-weight:500;color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius);transition:all var(--transition-fast);letter-spacing:.01em}.nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text);background:#231b110f}.nav-link--active[data-astro-cid-3ef6ksr2]{background:var(--coffee-bean);color:var(--bone);font-weight:600}.nav-link--active[data-astro-cid-3ef6ksr2]:hover{background:var(--coffee-bean);color:var(--bone);opacity:.85}@media(max-width:480px){.nav-link[data-astro-cid-3ef6ksr2]{padding:var(--space-2) var(--space-3)}}.site-footer[data-astro-cid-sz7xmlte]{margin-top:var(--space-24);padding-top:var(--space-12);padding-bottom:var(--space-8);border-top:1px solid var(--color-border);background:#231b1108}.footer-inner[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1fr auto;gap:var(--space-12);padding-bottom:var(--space-10);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6)}.logo[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:baseline;text-decoration:none;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.03em;margin-bottom:var(--space-3)}.logo-mark[data-astro-cid-sz7xmlte]{color:var(--brown-bark);font-weight:700}.footer-tagline[data-astro-cid-sz7xmlte]{font-size:var(--text-sm);color:var(--color-text-muted);max-width:24rem;line-height:1.6}.footer-nav[data-astro-cid-sz7xmlte]{display:flex;gap:var(--space-12)}.footer-nav-col[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--space-3)}.footer-nav-label[data-astro-cid-sz7xmlte]{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint)}.footer-nav-col[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.footer-nav-col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast)}.footer-nav-col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-accent)}.footer-bottom[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.footer-copy[data-astro-cid-sz7xmlte]{font-size:var(--text-xs);color:var(--color-text-muted)}.footer-copy--faint[data-astro-cid-sz7xmlte]{color:var(--color-text-faint)}@media(max-width:640px){.footer-inner[data-astro-cid-sz7xmlte]{grid-template-columns:1fr}.footer-nav[data-astro-cid-sz7xmlte]{gap:var(--space-8)}.footer-bottom[data-astro-cid-sz7xmlte]{flex-direction:column;align-items:flex-start}}:root{--ash-grey: #9ca499;--deep-teal: #607d79;--bone: #dbcebd;--coffee-bean: #231b11;--brown-bark: #714a2b;--color-bg: #e8ddd0;--color-bg-subtle: #dfd2c3;--color-bg-card: #e4d8c9;--color-surface: var(--bone);--color-text: var(--coffee-bean);--color-text-muted: var(--deep-teal);--color-text-faint: var(--ash-grey);--color-accent: var(--brown-bark);--color-accent-hover: #5a3a21;--color-link: var(--deep-teal);--color-border: rgba(35, 27, 17, .12);--color-border-strong:rgba(35, 27, 17, .22);--font-display: "Fraunces", Georgia, serif;--font-body: "Instrument Sans", "Helvetica Neue", sans-serif;--font-mono: "Fira Code", "Cascadia Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--max-width: 88rem;--content-width: 62rem;--radius-sm: .25rem;--radius: .5rem;--radius-lg: .875rem;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--color-text);background-color:var(--color-bg);min-height:100vh;display:flex;flex-direction:column;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.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.09'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px}img,video{max-width:100%;height:auto;display:block}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.2;letter-spacing:-.02em;color:var(--color-text)}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{line-height:1.75;color:var(--color-text)}strong{font-weight:600}em{font-style:italic}.container{width:100%;max-width:var(--max-width);margin-left:auto;margin-right:auto;padding-left:var(--space-6);padding-right:var(--space-6)}.content-container{width:100%;max-width:var(--content-width);margin-left:auto;margin-right:auto;padding-left:var(--space-6);padding-right:var(--space-6)}main{flex:1}.prose{font-size:var(--text-lg);line-height:1.8;color:var(--color-text)}.prose h2{font-size:var(--text-3xl);margin-top:var(--space-12);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.prose h3{font-size:var(--text-2xl);margin-top:var(--space-8);margin-bottom:var(--space-3)}.prose h4{font-size:var(--text-xl);margin-top:var(--space-6);margin-bottom:var(--space-2)}.prose p{margin-bottom:var(--space-6)}.prose ul,.prose ol{margin-bottom:var(--space-6);padding-left:var(--space-6)}.prose li{margin-bottom:var(--space-2);line-height:1.7}.prose a{color:var(--color-accent);text-decoration:underline;text-decoration-color:#714a2b59;text-underline-offset:3px;transition:text-decoration-color var(--transition-fast)}.prose a:hover{text-decoration-color:var(--color-accent)}.prose blockquote{margin:var(--space-8) 0;padding:var(--space-6) var(--space-8);border-left:3px solid var(--brown-bark);background:#dbcebd80;border-radius:0 var(--radius) var(--radius) 0;font-family:var(--font-display);font-size:var(--text-xl);font-style:italic;color:var(--coffee-bean)}.prose blockquote p{margin-bottom:0}.prose code{font-family:var(--font-mono);font-size:.875em;background:#231b1114;color:var(--brown-bark);padding:.15em .4em;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.prose pre{margin:var(--space-8) 0;padding:var(--space-6);border-radius:var(--radius-lg);overflow-x:auto;background:var(--coffee-bean)!important;border:1px solid rgba(255,255,255,.06)}.prose pre code{background:transparent;color:inherit;padding:0;border:none;font-size:var(--text-sm)}.prose hr{margin:var(--space-12) 0;border:none;border-top:1px solid var(--color-border)}.prose table{width:100%;border-collapse:collapse;margin:var(--space-8) 0;font-size:var(--text-sm)}.prose th{background:#231b1112;font-family:var(--font-body);font-weight:600;text-align:left;padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--color-border-strong);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.prose td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top}.prose tr:last-child td{border-bottom:none}.prose img{border-radius:var(--radius-lg);margin:var(--space-8) auto;border:1px solid var(--color-border)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;text-decoration:none;cursor:pointer;border:none;transition:all var(--transition-base)}.btn-primary{background:var(--color-accent);color:var(--bone)}.btn-primary:hover{background:var(--color-accent-hover);color:var(--bone);transform:translateY(-1px);box-shadow:0 4px 16px #714a2b40}.btn-secondary{background:transparent;color:var(--color-text);border:1.5px solid var(--color-border-strong)}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:100px;font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:#607d791f;color:var(--deep-teal);text-decoration:none;border:1px solid rgba(96,125,121,.2);transition:all var(--transition-fast);white-space:nowrap}.tag:hover{background:var(--deep-teal);color:var(--bone);border-color:var(--deep-teal)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-up{animation:fadeUp .6s ease both}.animate-fade-in{animation:fadeIn .4s ease both}@media(max-width:768px){.container,.content-container{padding-left:var(--space-4);padding-right:var(--space-4)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}.prose{font-size:var(--text-base)}.prose h2{font-size:var(--text-2xl)}}@media(max-width:480px){h1{font-size:var(--text-3xl)}}
