:root{color-scheme:light dark;--paper: light-dark(oklch(97.6% .011 78), oklch(19.5% .011 70));--paper-sunk: light-dark(oklch(95.4% .014 78), oklch(16.5% .012 70));--surface: light-dark(oklch(99.2% .006 82), oklch(24% .013 70));--surface-raised: light-dark(oklch(100% 0 0), oklch(27.5% .014 70));--ink: light-dark(oklch(24% .021 62), oklch(93% .012 80));--ink-soft: light-dark(oklch(41% .019 62), oklch(79% .013 80));--ink-faint: light-dark(oklch(56% .016 62), oklch(64% .012 80));--rule: light-dark(oklch(88.5% .016 72), oklch(33% .015 70));--rule-strong: light-dark(oklch(80% .02 72), oklch(42% .018 70));--accent: light-dark(oklch(54% .132 42), oklch(74% .115 48));--accent-hover: light-dark(oklch(46% .142 40), oklch(82% .1 50));--accent-wash: light-dark(oklch(94% .03 45), oklch(28% .04 44));--sage: light-dark(oklch(48% .062 158), oklch(74% .06 158));--sage-wash: light-dark(oklch(94.5% .025 158), oklch(27% .032 158));--warn: light-dark(oklch(52% .13 62), oklch(78% .11 72));--warn-wash: light-dark(oklch(95% .04 78), oklch(28% .045 66));--cat-hue: 42;--cat-accent: light-dark(oklch(52% .115 var(--cat-hue)), oklch(76% .1 var(--cat-hue)));--cat-wash: light-dark(oklch(95% .028 var(--cat-hue)), oklch(27% .036 var(--cat-hue)));--selection: light-dark(oklch(88% .07 48), oklch(42% .08 48));--font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-body: "Public Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", "Roboto Mono", monospace;--step--2: clamp(.7813rem, .7657rem + .0692vw, .8rem);--step--1: clamp(.9375rem, .9063rem + .1385vw, .9531rem);--step-0: clamp(1.0625rem, 1.0313rem + .1385vw, 1.125rem);--step-1: clamp(1.275rem, 1.2054rem + .3094vw, 1.4063rem);--step-2: clamp(1.53rem, 1.4058rem + .5519vw, 1.7578rem);--step-3: clamp(1.836rem, 1.6339rem + .8983vw, 2.1973rem);--step-4: clamp(2.2032rem, 1.8892rem + 1.3957vw, 2.7466rem);--step-5: clamp(2.6438rem, 2.1738rem + 2.0891vw, 3.4332rem);--leading-tight: 1.1;--leading-snug: 1.28;--leading-body: 1.68;--leading-loose: 1.8;--tracking-tight: -.018em;--tracking-normal: 0;--tracking-wide: .06em;--tracking-caps: .11em;--opsz-body: 12;--opsz-heading: 40;--space-3xs: clamp(.25rem, .24rem + .05vw, .28rem);--space-2xs: clamp(.5rem, .48rem + .11vw, .5625rem);--space-xs: clamp(.75rem, .72rem + .14vw, .84rem);--space-s: clamp(1rem, .96rem + .18vw, 1.125rem);--space-m: clamp(1.5rem, 1.44rem + .27vw, 1.6875rem);--space-l: clamp(2rem, 1.91rem + .36vw, 2.25rem);--space-xl: clamp(3rem, 2.87rem + .55vw, 3.375rem);--space-2xl: clamp(4rem, 3.82rem + .73vw, 4.5rem);--space-3xl: clamp(6rem, 5.73rem + 1.09vw, 6.75rem);--measure: 68ch;--measure-narrow: 54ch;--width-prose: 44rem;--width-content: 68rem;--width-wide: 82rem;--gutter: clamp(1.125rem, .85rem + 1.4vw, 2.25rem);--radius-xs: 3px;--radius-s: 6px;--radius-m: 10px;--radius-l: 18px;--radius-pill: 999px;--border-hairline: 1px solid var(--rule);--shadow-s: 0 1px 2px light-dark(oklch(40% .03 60 / .06), oklch(0% 0 0 / .4));--shadow-m: 0 1px 2px light-dark(oklch(40% .03 60 / .05), oklch(0% 0 0 / .32)), 0 6px 16px -6px light-dark(oklch(40% .03 60 / .14), oklch(0% 0 0 / .5));--shadow-l: 0 2px 4px light-dark(oklch(40% .03 60 / .05), oklch(0% 0 0 / .3)), 0 18px 40px -14px light-dark(oklch(40% .03 60 / .2), oklch(0% 0 0 / .6));--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .12s;--duration: .22s;--duration-slow: .42s;--grain-opacity: .035;--z-header: 100;--z-overlay: 200}@media(prefers-color-scheme:dark){:root{--grain-opacity: .05}}:root[data-theme=light]{color-scheme:light;--grain-opacity: .035}:root[data-theme=dark]{color-scheme:dark;--grain-opacity: .05}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-height, 4rem) + var(--space-m))}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-height:100svh;background-color:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:var(--leading-body);font-variation-settings:"wght" 400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,picture,svg,video,canvas{display:block;max-inline-size:100%;block-size:auto}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul[role=list],ol[role=list]{list-style:none;padding:0}:where(a){color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.18em}:where(a):hover{color:var(--accent-hover)}::selection{background-color:var(--selection);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-xs)}:target{scroll-margin-block-start:calc(var(--header-height, 4rem) + var(--space-m))}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.visually-hidden{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}h1,h2,h3,h4,.display{font-family:var(--font-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance;font-variation-settings:"opsz" var(--opsz-heading),"wght" 600}h1{font-size:var(--step-4);--opsz-heading: 96}h2{font-size:var(--step-2);--opsz-heading: 48;line-height:var(--leading-snug)}h3{font-size:var(--step-1);--opsz-heading: 30;line-height:var(--leading-snug)}h4{font-size:var(--step-0);--opsz-heading: 20;font-variation-settings:"opsz" 20,"wght" 650}p{text-wrap:pretty}.eyebrow{font-family:var(--font-body);font-size:var(--step--2);font-variation-settings:"wght" 650;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-faint)}.lede{font-size:var(--step-1);line-height:var(--leading-snug);color:var(--ink-soft);font-variation-settings:"wght" 350;text-wrap:pretty;max-inline-size:var(--measure-narrow)}.meta{font-size:var(--step--1);color:var(--ink-faint)}.rule-drawn{block-size:9px;border:0;background-repeat:no-repeat;background-size:100% 100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 9' preserveAspectRatio='none'%3E%3Cpath d='M1 5.2c38-2.6 76-3.4 114-2.4 40 1 80 3.6 120 2 22-.9 44-2.6 64-1.2' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");opacity:.28}@media(prefers-color-scheme:dark){.rule-drawn{filter:invert(1);opacity:.32}}:root[data-theme=dark] .rule-drawn{filter:invert(1);opacity:.32}:root[data-theme=light] .rule-drawn{filter:none;opacity:.28}.wrap{inline-size:min(100% - var(--gutter) * 2,var(--width-content));margin-inline:auto}.wrap--wide{inline-size:min(100% - var(--gutter) * 2,var(--width-wide))}.wrap--prose{inline-size:min(100% - var(--gutter) * 2,var(--width-prose))}.article-grid{display:grid;grid-template-columns:[full-start] minmax(var(--gutter),1fr) [bleed-start] minmax(0,6rem) [content-start] min(100% - var(--gutter) * 2,var(--width-prose)) [content-end] minmax(0,6rem) [bleed-end] minmax(var(--gutter),1fr) [full-end]}.article-grid>*{grid-column:content}.article-grid>.bleed{grid-column:bleed}.article-grid>.full{grid-column:full}.stack>*+*{margin-block-start:var(--flow, var(--space-m))}.stack-s{--flow: var(--space-s)}.stack-l{--flow: var(--space-l)}.stack-xl{--flow: var(--space-xl)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap, var(--space-2xs))}.between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-s)}.card-grid{display:grid;gap:var(--space-l) var(--space-m);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}.feature-grid{display:grid;gap:var(--space-l) var(--space-m);grid-template-columns:1fr;container-type:inline-size}@container (min-width: 46rem){.feature-grid{grid-template-columns:repeat(3,1fr)}.feature-grid>:first-child{grid-column:span 2;grid-row:span 2}}@media(min-width:46rem){.feature-grid{grid-template-columns:repeat(3,1fr)}.feature-grid>:first-child{grid-column:span 2;grid-row:span 2}}.panel{background-color:var(--surface);border:var(--border-hairline);border-radius:var(--radius-l);padding:var(--space-m)}.panel--sunk{background-color:var(--paper-sunk);box-shadow:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:.7em 1.35em;border-radius:var(--radius-pill);font-size:var(--step--1);font-variation-settings:"wght" 620;letter-spacing:.01em;text-decoration:none;line-height:1.2;transition:background-color var(--duration) var(--ease-out),color var(--duration) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.button:active{transform:translateY(1px)}.button--primary{background-color:var(--accent);color:var(--paper)}.button--primary:hover{background-color:var(--accent-hover);color:var(--paper)}.button--quiet{background-color:transparent;color:var(--ink);border:1px solid var(--rule-strong)}.button--quiet:hover{background-color:var(--accent-wash);color:var(--ink);border-color:var(--accent)}.chip{display:inline-flex;align-items:center;gap:var(--space-3xs);padding:.22em .7em;border-radius:var(--radius-pill);background-color:var(--cat-wash);color:var(--cat-accent);font-size:var(--step--2);font-variation-settings:"wght" 650;letter-spacing:var(--tracking-wide);text-transform:uppercase;text-decoration:none;white-space:nowrap}a.chip:hover{background-color:var(--cat-accent);color:var(--paper)}.tag-link{font-size:var(--step--1);color:var(--ink-soft);text-decoration:none;padding:.15em .6em;border:1px solid var(--rule);border-radius:var(--radius-pill);transition:border-color var(--duration) var(--ease-out)}.tag-link:before{content:"#";color:var(--ink-faint);margin-inline-end:.1em}.tag-link:hover{border-color:var(--accent);color:var(--accent)}.grain{position:fixed;inset:0;z-index:var(--z-overlay);pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply}@media(prefers-color-scheme:dark){.grain{mix-blend-mode:screen}}:root[data-theme=dark] .grain{mix-blend-mode:screen}:root[data-theme=light] .grain{mix-blend-mode:multiply}.skip-link{position:absolute;inset-block-start:var(--space-2xs);inset-inline-start:var(--space-2xs);z-index:calc(var(--z-overlay) + 1);padding:var(--space-2xs) var(--space-s);background-color:var(--surface-raised);border:1px solid var(--accent);border-radius:var(--radius-s);text-decoration:none;transform:translateY(calc(-100% - var(--space-l)));transition:transform var(--duration) var(--ease-out)}.skip-link:focus{transform:translateY(0)}.prose{font-size:var(--step-0);line-height:var(--leading-body);color:var(--ink)}.prose>*+*{margin-block-start:var(--space-m)}.prose h2{margin-block-start:var(--space-xl);padding-block-end:var(--space-2xs);border-block-end:1px solid var(--rule)}.prose h3{margin-block-start:var(--space-l)}.prose :is(h2,h3){scroll-margin-block-start:calc(var(--header-height, 4rem) + var(--space-m))}.prose .heading-anchor{margin-inline-start:.35em;color:var(--ink-faint);text-decoration:none;opacity:0;transition:opacity var(--duration) var(--ease-out)}.prose :is(h2,h3):hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.prose p{max-inline-size:var(--measure)}@supports (initial-letter: 3) or (-webkit-initial-letter: 3){.prose>p:first-of-type:first-letter{-webkit-initial-letter:3;initial-letter:3;font-family:var(--font-display);font-variation-settings:"opsz" 144,"wght" 600;color:var(--accent);margin-inline-end:.09em;padding-inline-end:.04em}}.prose a{color:var(--accent);text-decoration-color:color-mix(in oklch,var(--accent) 40%,transparent);transition:text-decoration-color var(--duration) var(--ease-out)}.prose a:hover{text-decoration-color:var(--accent)}.prose a[data-external]:after{content:"\2197";font-size:.75em;margin-inline-start:.15em;color:var(--ink-faint);text-decoration:none}.prose strong{font-variation-settings:"wght" 680}.prose :is(ul,ol){padding-inline-start:1.4em;max-inline-size:var(--measure)}.prose li+li{margin-block-start:var(--space-2xs)}.prose li::marker{color:var(--accent)}.prose blockquote{margin-inline:0;padding-inline-start:var(--space-m);border-inline-start:3px solid var(--accent);font-family:var(--font-display);font-size:var(--step-1);font-variation-settings:"opsz" 24,"wght" 400;font-style:italic;color:var(--ink-soft);max-inline-size:var(--measure-narrow)}.prose hr{border:0;margin-block:var(--space-xl);block-size:9px;background-repeat:no-repeat;background-size:100% 100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 9' preserveAspectRatio='none'%3E%3Cpath d='M1 5.2c38-2.6 76-3.4 114-2.4 40 1 80 3.6 120 2 22-.9 44-2.6 64-1.2' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");opacity:.25}.prose :is(img,picture){border-radius:var(--radius-m)}.prose figure{margin-inline:0}.prose figcaption{margin-block-start:var(--space-2xs);font-family:var(--font-display);font-size:var(--step--1);font-variation-settings:"opsz" 14,"wght" 400;font-style:italic;color:var(--ink-faint);text-align:center}.prose .compare-table,.prose>table{overflow-x:auto;max-inline-size:100%}.prose table{border-collapse:collapse;inline-size:100%;font-size:var(--step--1)}.prose :is(th,td){padding:var(--space-2xs) var(--space-xs);border-block-end:1px solid var(--rule);text-align:start;vertical-align:top}.prose th{font-variation-settings:"wght" 650;color:var(--ink-soft);white-space:nowrap}.prose tbody tr:hover{background-color:var(--paper-sunk)}.prose code{font-family:var(--font-mono);font-size:.88em;padding:.14em .36em;background-color:var(--paper-sunk);border:1px solid var(--rule);border-radius:var(--radius-xs)}.prose pre{padding:var(--space-s) var(--space-m);border-radius:var(--radius-m);border:var(--border-hairline);overflow-x:auto;font-size:var(--step--1);line-height:1.6}.prose pre code{padding:0;background:none;border:0;font-size:inherit}.prose :is(pre,code) .shiki span{color:var(--shiki-light)}.prose pre.shiki{background-color:var(--shiki-light-bg)!important}@media(prefers-color-scheme:dark){.prose :is(pre,code) .shiki span{color:var(--shiki-dark)}.prose pre.shiki{background-color:var(--shiki-dark-bg)!important}}:root[data-theme=dark] .prose :is(pre,code) .shiki span{color:var(--shiki-dark)}:root[data-theme=dark] .prose pre.shiki{background-color:var(--shiki-dark-bg)!important}:root[data-theme=light] .prose :is(pre,code) .shiki span{color:var(--shiki-light)}:root[data-theme=light] .prose pre.shiki{background-color:var(--shiki-light-bg)!important}.callout{--callout-accent: var(--ink-faint);--callout-wash: var(--paper-sunk);position:relative;padding:var(--space-s) var(--space-m);padding-inline-start:calc(var(--space-m) + var(--space-2xs));background-color:var(--callout-wash);border-inline-start:3px solid var(--callout-accent);border-radius:var(--radius-s);font-size:var(--step--1);max-inline-size:var(--measure)}.callout__label{margin-block-end:var(--space-3xs);font-size:var(--step--2);font-variation-settings:"wght" 700;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--callout-accent)}.callout>*+*{margin-block-start:var(--space-xs)}.callout>.callout__label+*{margin-block-start:0}.callout--tip{--callout-accent: var(--sage);--callout-wash: var(--sage-wash)}.callout--warning,.callout--safety{--callout-accent: var(--warn);--callout-wash: var(--warn-wash)}.callout--note{--callout-accent: var(--accent);--callout-wash: var(--accent-wash)}.product-card{display:grid;grid-template-columns:5.5rem 1fr;gap:var(--space-m);align-items:start;padding:var(--space-m);background-color:var(--surface);border:var(--border-hairline);border-radius:var(--radius-l);box-shadow:var(--shadow-s);max-inline-size:var(--measure)}.product-card__image{border-radius:var(--radius-s);overflow:hidden;background-color:var(--paper-sunk);aspect-ratio:1}.product-card__image img{inline-size:100%;block-size:100%;object-fit:contain}.product-card__image--empty{border:1px dashed var(--rule-strong)}.product-card__eyebrow{font-size:var(--step--2);font-variation-settings:"wght" 700;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--accent)}.product-card__title{margin-block-start:var(--space-3xs);font-size:var(--step-0);font-variation-settings:"opsz" 18,"wght" 620}.product-card__note{margin-block-start:var(--space-2xs);font-size:var(--step--1);color:var(--ink-soft)}.product-card__cta{display:inline-block;margin-block-start:var(--space-s);padding:.55em 1.2em;border-radius:var(--radius-pill);background-color:var(--accent);color:var(--paper);font-size:var(--step--1);font-variation-settings:"wght" 620;text-decoration:none}.product-card__cta:hover{background-color:var(--accent-hover);color:var(--paper)}.product-card__cta:after{content:none}.product-card__price{margin-block-start:var(--space-2xs);font-size:var(--step--2);color:var(--ink-faint)}@media(max-width:30rem){.product-card{grid-template-columns:1fr}.product-card__image{inline-size:5.5rem}}.shop-list{padding:var(--space-m);background-color:var(--paper-sunk);border:1px solid var(--rule-strong);border-radius:var(--radius-l);max-inline-size:var(--measure)}.shop-list__title{font-size:var(--step-1);font-variation-settings:"opsz" 28,"wght" 620;margin-block-end:var(--space-s)}.shop-list__items{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-xs)}.shop-list__item{padding-inline-start:1.35em;position:relative}.shop-list__item:before{content:"";position:absolute;inset-inline-start:0;inset-block-start:.5em;inline-size:.85em;block-size:.85em;background-repeat:no-repeat;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8.6l3.6 3.8L14 3.4' fill='none' stroke='%23b06a3b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.shop-list__link{font-variation-settings:"wght" 620}.shop-list__link:after{content:none}.shop-list__note{display:block;font-size:var(--step--1);color:var(--ink-soft)}.shop-list__disclosure{margin-block-start:var(--space-m);padding-block-start:var(--space-xs);border-block-start:1px solid var(--rule);font-size:var(--step--2);color:var(--ink-faint)}@font-face{font-family:Fraunces;src:url(/fonts/fraunces-latin-var.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2122,U+2212}@font-face{font-family:Fraunces;src:url(/fonts/fraunces-latin-var-italic.woff2) format("woff2-variations");font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2122,U+2212}@font-face{font-family:Public Sans;src:url(/fonts/public-sans-latin-var.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2122,U+2212}@font-face{font-family:Public Sans;src:url(/fonts/public-sans-latin-var-italic.woff2) format("woff2-variations");font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2122,U+2212}
