*,*:before,*:after{box-sizing:border-box}html,body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}table{border-collapse:collapse}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{font-family:var(--font-body, Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif);font-size:1rem;color:var(--color-text, #1c211b);background-color:var(--color-background, #f4eeda)}h1,h2,h3,h4{font-family:var(--font-heading, Fraunces, Iowan Old Style, Palatino Linotype, Georgia, serif);font-weight:600;line-height:1.15;letter-spacing:-.01em}h1{font-size:3rem}@media(min-width:1024px){h1{font-size:4.75rem}}h2{font-size:1.75rem}@media(min-width:1024px){h2{font-size:3rem}}h3{font-size:1.375rem}@media(min-width:1024px){h3{font-size:1.75rem}}h4{font-family:var(--font-body, Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif);font-size:1.125rem;font-weight:600}p{line-height:1.6}.text-muted{color:var(--color-muted, #6b6150)}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-body, Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif);font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent-orange, #b5622a)}.eyebrow:before{content:"";display:inline-block;width:.375rem;height:.375rem;border-radius:999px;background-color:currentColor}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body, Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif);font-weight:600;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;border-radius:2px;border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--color-accent, #cd9d3b);outline-offset:2px}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn--sm{padding:.5rem 1rem}.btn--md{padding:.75rem 2rem}.btn--lg{font-size:1rem;padding:1rem 3rem;letter-spacing:.08em}.btn--primary{background-color:var(--color-primary, #34432f);color:var(--color-primary-contrast, #f4eeda);border-color:var(--color-primary, #34432f)}.btn--primary:hover:not(:disabled){background-color:var(--hemp-deep-green, #212b1f);border-color:var(--hemp-deep-green, #212b1f)}.btn--accent{background-color:var(--hemp-orange, #b5622a);color:var(--hemp-cream, #f4eeda);border-color:var(--hemp-orange, #b5622a)}.btn--accent:hover:not(:disabled){background-color:var(--hemp-orange-dark, #954f21);border-color:var(--hemp-orange-dark, #954f21)}.btn--secondary{background-color:transparent;border-color:var(--color-text, #1c211b);color:var(--color-text, #1c211b)}.btn--secondary:hover:not(:disabled){background-color:var(--color-text, #1c211b);color:var(--color-background, #f4eeda)}.btn--ghost{background-color:transparent;color:var(--color-text, #1c211b);text-transform:none;letter-spacing:normal;font-weight:500}.btn--ghost:hover:not(:disabled){background-color:var(--color-surface-alt, #e8dab9)}.btn--full{width:100%}.btn--loading .btn__label{opacity:.4}.btn__spinner{position:absolute;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.btn__spinner{animation-duration:1.4s}}.field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.field__label{font-size:.875rem;font-weight:500;color:var(--color-text, #1c211b)}.field__control{font-size:1rem;padding:.75rem 1rem;border:1px solid var(--color-border, #d9c8a0);border-radius:2px;background-color:var(--color-background, #f4eeda);color:var(--color-text, #1c211b);transition:border-color .15s ease}.field__control:focus-visible{outline:2px solid var(--color-accent, #cd9d3b);outline-offset:2px;border-color:var(--color-accent, #cd9d3b)}.field__control::placeholder{color:var(--color-muted, #6b6150)}textarea.field__control{resize:vertical;min-height:8rem}.field--invalid .field__control{border-color:var(--color-error, #a8432b)}.field__error{font-size:.75rem;color:var(--color-error, #a8432b)}.field__hint{font-size:.75rem;color:var(--color-muted, #6b6150)}.container{width:100%;max-width:var(--container-width, 1400px);margin-inline:auto;padding-inline:1.5rem}.section{padding-block:4rem}@media(min-width:1024px){.section{padding-block:6rem}}.section--dark{background-color:var(--color-surface-dark, #212b1f);color:var(--color-text-on-dark, #f4eeda)}.section--dark .text-muted{color:var(--color-muted-on-dark, #c7bfa8)}.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:var(--color-text-on-dark, #f4eeda)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hairline{height:1px;background-color:var(--color-border, #d9c8a0);border:none}.grain{position:relative;isolation:isolate}.grain:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:radial-gradient(circle at 1px 1px,currentColor 1px,transparent 0);background-size:3px 3px}.grain>*{position:relative;z-index:1}.skeleton{position:relative;overflow:hidden;background-color:var(--color-surface-alt, #e8dab9);border-radius:2px}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:skeleton-shimmer 1.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:none;opacity:.6}}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.grid{display:grid;gap:1.5rem 1rem;grid-template-columns:repeat(2,1fr)}@media(min-width:1024px){.grid{gap:3rem 2rem;grid-template-columns:repeat(3,1fr)}}.prose-page{max-width:42rem}.prose-page__eyebrow{display:block;margin-bottom:.5rem}.prose-page h1{text-transform:uppercase;margin-bottom:1.5rem}.prose-page h2{margin-top:3rem;margin-bottom:.75rem}.prose-page p{margin-block:.75rem}.prose-page .prose-page__todo{display:inline-block;margin-top:.5rem;padding:.25rem .5rem;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent-orange, #b5622a);border:1px dashed var(--color-accent-orange, #b5622a);border-radius:2px}.stack{display:flex;flex-direction:column}.cluster{display:flex;align-items:center;flex-wrap:wrap}:root{--color-background: #f4eeda;--color-surface: #f8f3e4;--color-surface-alt: #e8dab9;--color-surface-dark: #212b1f;--color-text: #1c211b;--color-text-on-dark: #f4eeda;--color-muted: #6b6150;--color-muted-on-dark: #c7bfa8;--color-primary: #34432f;--color-primary-contrast: #f4eeda;--color-accent: #cd9d3b;--color-accent-orange: #b5622a;--color-border: #d9c8a0;--color-border-on-dark: rgba(244, 238, 218, .18);--color-success: #3f6b3a;--color-error: #a8432b;--color-warning: #cd9d3b;--hemp-cream: #f4eeda;--hemp-paper: #e8dab9;--hemp-charcoal: #1c211b;--hemp-green: #34432f;--hemp-deep-green: #212b1f;--hemp-harvest: #cd9d3b;--hemp-orange: #b5622a;--hemp-orange-dark: #954f21;--hemp-brown: #6f4f37;--hemp-cork: #a8794c;--font-heading: Fraunces, Iowan Old Style, Palatino Linotype, Georgia, serif;--font-body: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif;--container-width: 1400px}body{min-height:100vh;background-color:var(--color-background)}.page{display:flex;flex-direction:column;min-height:100vh}.page__main{flex:1}
