@font-face{font-family:Fraunces;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_92c671{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_92c671{--font-fraunces:"Fraunces","Fraunces Fallback"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_c8daab{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_c8daab{--font-plex:"IBM Plex Sans","IBM Plex Sans Fallback"}:root{--color-paper:oklch(97% 0.012 100);--color-paper-2:oklch(94% 0.018 100);--color-paper-3:oklch(90% 0.025 100);--color-surface:oklch(98.5% 0.008 100);--color-rule:oklch(81% 0.025 105);--color-rule-2:oklch(67% 0.032 110);--color-neutral:oklch(45% 0.025 125);--color-muted:oklch(38% 0.024 125);--color-ink-2:oklch(27% 0.03 135);--color-ink:oklch(18% 0.032 145);--color-accent:oklch(42% 0.12 154);--color-accent-strong:oklch(34% 0.105 154);--color-accent-soft:oklch(91% 0.055 145);--color-accent-ink:oklch(98% 0.008 100);--color-focus:oklch(18% 0.032 145);--color-success:oklch(39% 0.105 150);--color-success-soft:oklch(93% 0.035 145);--color-error:oklch(44% 0.17 25);--color-error-soft:oklch(93% 0.035 25);--font-display:var(--font-fraunces),ui-serif,serif;--font-body:var(--font-plex),ui-sans-serif,sans-serif;--font-mono:var(--font-plex),ui-sans-serif,sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--text-3xl:3.0518rem;--text-display-s:clamp(2.2rem,4vw,3.8rem);--text-display:clamp(2.75rem,5vw,5.25rem);--space-3xs:0.125rem;--space-2xs:0.25rem;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--measure-copy:65ch;--measure-wide:92rem;--rail-width:15rem;--control-height:2.875rem;--radius-control:0.375rem;--radius-panel:0.75rem;--rule-hair:1px;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.7,0,0.84,0);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-micro:100ms;--dur-short:180ms;--dur-long:360ms;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
 */*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*,:after,:before{box-sizing:border-box}body,html{overflow-x:clip}html{scroll-behavior:smooth}body,html{background:var(--color-paper)}body{min-height:100dvh;margin:0;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{min-width:0;margin:0;color:inherit;font-family:var(--font-display);font-style:normal;font-weight:700;letter-spacing:-.035em;line-height:1.08;overflow-wrap:anywhere}p{margin:0}a{color:inherit;text-decoration-thickness:var(--rule-hair);text-underline-offset:.2em}a:active{color:var(--color-accent-strong)}button,input,select,textarea{color:inherit;font:inherit}button,select{cursor:pointer}[aria-disabled=true],button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;box-shadow:0 0 0 1px var(--color-paper)}::-moz-selection{background:var(--color-accent-soft);color:var(--color-ink)}::selection{background:var(--color-accent-soft);color:var(--color-ink)}.visible{visibility:visible}.table{display:table}.no-underline{text-decoration-line:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.directory-page{min-height:100dvh;background:var(--color-paper);color:var(--color-ink)}.directory-page main{min-width:0}.directory-shell{width:min(100%,var(--measure-wide));margin-inline:auto;padding-inline:clamp(var(--space-md),4vw,var(--space-xl))}.directory-kicker,.directory-results__count,.directory-tool-card__label{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.045em;text-transform:uppercase}.directory-copy,.directory-lede{max-width:var(--measure-copy);color:var(--color-neutral)}.directory-lede{font-size:var(--text-lg);line-height:1.42}.site-rail{display:none}.site-mobilebar{position:sticky;z-index:var(--z-sticky);inset-block-start:0;display:flex;min-height:3.75rem;justify-content:space-between;gap:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule-2);padding-inline:var(--space-md);background:var(--color-paper)}.brand-wordmark,.site-mobilebar{align-items:center;color:var(--color-ink)}.brand-wordmark{display:inline-flex;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.055em;line-height:1;white-space:nowrap}.brand-wordmark__dot{color:var(--color-accent)}.site-mobilebar__controls{display:flex;align-items:center;gap:var(--space-xs)}.site-mobilebar__controls>button,.site-mobilebar__menu>summary{display:inline-flex;min-height:var(--control-height);align-items:center;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-control);padding-inline:var(--space-sm);background:var(--color-paper);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:700;list-style:none;white-space:nowrap}.site-mobilebar__menu>summary::-webkit-details-marker{display:none}.site-mobilebar__menu:not([open])>.site-mobilebar__panel{display:none}.directory-footer__links button:active,.site-mobilebar__controls>button:active,.site-mobilebar__menu>summary:active,.site-rail__controls a:active,.site-rail__controls button:active{background:var(--color-paper-3);color:var(--color-ink)}.site-mobilebar__panel{position:fixed;z-index:var(--z-dropdown);inset-block-start:3.75rem;inset-inline:0;display:grid;border-bottom:var(--rule-hair) solid var(--color-ink);padding:var(--space-sm) var(--space-md) var(--space-lg);background:var(--color-paper)}.site-mobilebar__panel a{display:flex;min-height:var(--control-height);align-items:center;justify-content:space-between;border-bottom:var(--rule-hair) solid var(--color-rule);color:var(--color-ink-2);font-weight:600;text-decoration:none;white-space:nowrap}.site-mobilebar__panel a[aria-current=page]{color:var(--color-accent-strong)}.directory-button,.directory-link-button{display:inline-flex;min-height:var(--control-height);align-items:center;justify-content:center;gap:var(--space-xs);border:var(--rule-hair) solid var(--color-ink);border-radius:var(--radius-control);padding-inline:var(--space-md);background:var(--color-ink);color:var(--color-paper);font-size:var(--text-sm);font-weight:700;line-height:1;text-decoration:none;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out);white-space:nowrap}.directory-button--paper,.directory-link-button--paper{border-color:var(--color-rule-2);background:var(--color-paper);color:var(--color-ink)}.directory-button--accent{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.directory-link-button--light{border-color:var(--color-paper);background:var(--color-paper);color:var(--color-ink)}.directory-button:active,.directory-link-button:active{transform:translateY(1px)}.directory-button[data-state=loading]{cursor:wait}.directory-button[data-state=error]{border-color:var(--color-error);background:var(--color-error);color:var(--color-paper)}.directory-button[data-state=success]{border-color:var(--color-success);background:var(--color-success);color:var(--color-paper)}.directory-text-link{display:inline-flex;min-height:var(--control-height);align-items:center;gap:var(--space-xs);color:var(--color-accent-strong);font-size:var(--text-sm);font-weight:700;text-decoration:underline;white-space:nowrap}.directory-text-link--quiet{color:var(--color-ink-2)}.directory-text-link--light{color:var(--color-paper)}.directory-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm) var(--space-lg)}.directory-input,.directory-select,.directory-textarea{width:100%;min-height:var(--control-height);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-control);outline:2px solid transparent;outline-offset:1px;padding-inline:var(--space-md);background:var(--color-surface);color:var(--color-ink);transition:background-color var(--dur-short) var(--ease-out)}.directory-textarea{min-height:8rem;padding-block:var(--space-sm);resize:vertical}.directory-input::-moz-placeholder,.directory-textarea::-moz-placeholder{color:var(--color-muted);opacity:1}.directory-input::placeholder,.directory-textarea::placeholder{color:var(--color-muted);opacity:1}.directory-input:focus-visible,.directory-select:focus-visible,.directory-textarea:focus-visible{border-color:var(--color-ink-2);outline-color:var(--color-focus);box-shadow:0 0 0 1px var(--color-paper)}.directory-input[aria-invalid=true],.directory-select[aria-invalid=true],.directory-textarea[aria-invalid=true]{border-color:var(--color-error);background:var(--color-error-soft)}.directory-input[data-state=success],.directory-select[data-state=success],.directory-textarea[data-state=success]{border-color:var(--color-success);background:var(--color-success-soft)}.directory-field{display:grid;min-width:0;gap:var(--space-xs)}.directory-field label{color:var(--color-ink-2);font-size:var(--text-sm);font-weight:700}.directory-field__helper{min-height:1lh;color:var(--color-muted);font-size:var(--text-xs)}.directory-checkbox{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-sm);padding-block:var(--space-xs)}.directory-checkbox input{width:1.15rem;height:1.15rem;margin-top:var(--space-2xs);accent-color:var(--color-accent)}.directory-checkbox span{color:var(--color-ink-2)}.directory-hero,.directory-page-lead{display:grid;min-width:0;gap:var(--space-xl);padding-block-start:clamp(var(--space-xl),6vw,var(--space-2xl));padding-block-end:clamp(var(--space-2xl),9vw,var(--space-3xl));border-bottom:var(--rule-hair) solid var(--color-ink)}.directory-hero__copy,.directory-page-lead>div:first-child{display:grid;min-width:0;align-content:start;gap:var(--space-md)}.directory-page-lead h1{max-width:15ch;font-size:var(--text-display-s)}.directory-hero h1{max-width:13ch;font-size:var(--text-display)}.directory-hero__copy>p,.directory-page-lead__aside{display:grid;max-width:var(--measure-copy);align-content:end;gap:var(--space-lg);color:var(--color-neutral);font-size:var(--text-md)}.directory-hero__ledger{display:grid;align-content:end;gap:var(--space-md);border-top:var(--rule-hair) solid var(--color-ink);padding-top:var(--space-md)}.directory-hero__ledger h2{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:0}.directory-hero__ledger dl{display:grid;margin:0}.directory-hero__ledger dl div{display:grid;grid-template-columns:4rem minmax(0,1fr);align-items:baseline;gap:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule);padding-block:var(--space-sm)}.directory-hero__ledger dt{font-family:var(--font-display);font-size:var(--text-xl);font-variant-numeric:tabular-nums}.directory-hero__ledger dd{margin:0;color:var(--color-neutral);font-size:var(--text-sm)}.directory-hero__ledger>p{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.directory-section{padding-block:var(--space-2xl);border-bottom:var(--rule-hair) solid var(--color-rule-2)}.directory-section--flush{border-bottom:0}.directory-section--search{padding-block-start:var(--space-xl)}.directory-section--tinted{background:var(--color-paper-2);color:var(--color-ink)}.directory-section--ink{background:var(--color-ink);color:var(--color-paper)}.directory-section--ink :focus-visible{outline-color:var(--color-paper);box-shadow:0 0 0 1px var(--color-ink)}.directory-section__head{display:grid;gap:var(--space-sm);margin-bottom:var(--space-xl)}.directory-section__head h2{max-width:20ch;font-size:var(--text-xl)}.directory-section__head p{max-width:58ch;color:var(--color-neutral)}.directory-section--ink .directory-section__head p{color:var(--color-paper-3)}.directory-explorer{display:grid;min-width:0;gap:var(--space-xl)}.directory-filters{display:grid;min-width:0;grid-template-columns:minmax(0,1fr);align-content:start;gap:var(--space-md);border-top:var(--rule-hair) solid var(--color-ink);border-bottom:var(--rule-hair) solid var(--color-rule-2);padding-block:var(--space-lg)}.directory-search-input{position:relative}.directory-search-input svg{position:absolute;inset-inline-start:var(--space-md);inset-block-start:50%;transform:translateY(-50%);color:var(--color-muted)}.directory-search-input .directory-input{padding-inline-start:var(--space-xl)}.directory-filter-reset{justify-self:start;min-height:var(--control-height);border:0;padding:0;background:transparent;color:var(--color-accent-strong);font-size:var(--text-sm);font-weight:700;text-decoration:underline;white-space:nowrap}.directory-results{min-width:0}.directory-results__count{min-height:var(--control-height);display:flex;align-items:center;border-bottom:var(--rule-hair) solid var(--color-ink)}.directory-tool-list{border-bottom:var(--rule-hair) solid var(--color-rule)}.directory-tool-card{display:grid;min-width:0;gap:var(--space-md);padding-block:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule)}.directory-tool-card:first-child{border-top:0}.directory-tool-card__mark,.directory-tool-hero__mark{display:grid;width:3rem;height:3rem;place-items:center;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-control);background:var(--color-paper-3);color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;letter-spacing:-.03em;text-decoration:none}.directory-tool-card__identity{display:grid;min-width:0;gap:var(--space-xs)}.directory-tool-card__name-row{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.directory-tool-card__name{font-family:var(--font-body);font-size:var(--text-md);font-weight:700;letter-spacing:-.02em}.directory-tool-card__name a{text-decoration:none}.directory-tool-card__summary{max-width:58ch;color:var(--color-neutral);font-size:var(--text-sm)}.directory-tool-card__categories{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-sm)}.directory-tool-card__categories a{color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap}.directory-tool-card__fit{display:grid;gap:var(--space-xs);align-content:start}.directory-tool-card__fit p{color:var(--color-ink-2);font-size:var(--text-sm)}.directory-tool-card__meta{display:grid;align-content:start;gap:var(--space-xs);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.directory-tool-card__meta strong{color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-sm)}.directory-tool-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);align-items:start}.directory-empty{display:grid;gap:var(--space-sm);padding-block:var(--space-xl)}.directory-empty h3{font-size:var(--text-lg)}.directory-category-index{border-top:var(--rule-hair) solid var(--color-ink)}.directory-category-entry{display:grid;min-width:0;gap:var(--space-md);padding-block:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule);text-decoration:none}.directory-category-entry__count,.directory-category-entry__number{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.directory-category-entry h2,.directory-category-entry h3{font-family:var(--font-body);font-size:var(--text-md);letter-spacing:-.02em}.directory-category-entry p{margin-top:var(--space-xs);color:var(--color-neutral);font-size:var(--text-sm)}.directory-category-entry ul{display:grid;gap:var(--space-xs);margin:0;padding:0;color:var(--color-ink-2);font-size:var(--text-sm);list-style:none}.directory-category-entry li:before{content:"— ";color:var(--color-accent)}.directory-category-search-section{border-block:var(--rule-hair) solid var(--color-rule)}.directory-category-search{display:grid;gap:var(--space-xl);align-items:end}.directory-category-search h2{font-size:var(--text-xl)}.directory-category-search>div:first-child p{margin-top:var(--space-xs);color:var(--color-neutral)}.directory-home-collections{border-top:var(--rule-hair) solid var(--color-ink)}.directory-home-collections>a{display:grid;min-width:0;gap:var(--space-sm);padding-block:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule);text-decoration:none}.directory-home-collections>a>span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.directory-home-collections h3{font-family:var(--font-body);font-size:var(--text-md);letter-spacing:-.02em}.directory-home-collections p{margin-top:var(--space-xs);color:var(--color-neutral);font-size:var(--text-sm)}.directory-home-collections strong{color:var(--color-ink-2);font-size:var(--text-sm);font-weight:500;overflow-wrap:anywhere}.directory-home-collections b{color:var(--color-accent-strong);font-family:var(--font-mono)}.directory-collection-jump{display:grid;border-top:var(--rule-hair) solid var(--color-ink)}.directory-collection-jump a{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:var(--space-sm);padding-block:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule);color:var(--color-ink-2);font-weight:600;text-decoration:none}.directory-collection-jump a span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.directory-collections>section{scroll-margin-top:var(--space-lg)}.directory-collection{display:grid;gap:var(--space-xl)}.directory-collection>header{display:grid;align-content:start;gap:var(--space-md)}.directory-collection>header h2{font-size:var(--text-2xl)}.directory-collection>header>p:last-child{max-width:var(--measure-copy);color:var(--color-neutral);font-size:var(--text-md)}.directory-collection__steps{display:grid;margin:0;padding:0;border-top:var(--rule-hair) solid var(--color-ink);list-style:none}.directory-collection__steps li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:var(--space-sm);padding-block:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule)}.directory-collection__number{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.directory-collection__steps li>div{display:grid;gap:var(--space-xs)}.directory-collection__steps li>div>span{color:var(--color-accent-strong);font-family:var(--font-mono);font-size:var(--text-xs)}.directory-collection__steps h3{font-family:var(--font-body);font-size:var(--text-lg)}.directory-collection__steps p{max-width:58ch;color:var(--color-neutral);font-size:var(--text-sm)}.directory-collection-close{display:grid;gap:var(--space-md);border-top:var(--rule-hair) solid var(--color-ink)}.directory-collection-close .directory-link-button{justify-self:start}.directory-breadcrumbs{display:flex;min-height:var(--control-height);align-items:center;gap:var(--space-xs);overflow-x:auto;padding-block:var(--space-sm);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);scrollbar-width:thin}.directory-breadcrumbs a,.directory-breadcrumbs span{white-space:nowrap}.directory-category-hero,.directory-tool-hero{display:grid;min-width:0;gap:var(--space-xl);padding-block:var(--space-2xl);border-top:var(--rule-hair) solid var(--color-ink);border-bottom:var(--rule-hair) solid var(--color-ink)}.directory-category-hero__copy{display:grid;align-content:start;gap:var(--space-md)}.directory-category-hero h1{font-size:var(--text-display-s)}.directory-category-hero__copy>p:last-child{max-width:55ch;color:var(--color-neutral);font-size:var(--text-md)}.directory-criteria{display:grid;align-content:start;gap:var(--space-md);border-top:var(--rule-hair) solid var(--color-ink);padding-top:var(--space-md)}.directory-criteria h2{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:0}.directory-criteria ol{display:grid;gap:var(--space-sm);margin:0;padding:0;list-style:none}.directory-criteria li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--space-sm);color:var(--color-ink-2)}.directory-criteria li span{color:var(--color-accent-strong);font-family:var(--font-mono)}.directory-criteria>p{color:var(--color-muted);font-size:var(--text-xs)}.directory-comparison-list{border-top:var(--rule-hair) solid var(--color-ink)}.directory-comparison-row{display:grid;min-width:0;gap:var(--space-sm);padding-block:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule);text-decoration:none}.directory-comparison-row h3{font-size:var(--text-lg)}.directory-comparison-row p{max-width:62ch;color:var(--color-neutral)}.directory-comparison-row>span{color:var(--color-accent-strong);font-family:var(--font-mono)}.compare-builder{display:grid;gap:var(--space-xl)}.compare-builder>h2{font-size:var(--text-xl)}.compare-builder__controls{display:grid;min-width:0;gap:var(--space-md);align-items:end}.compare-builder__controls>span{display:none;color:var(--color-muted);font-family:var(--font-mono);text-align:center}.compare-builder__empty{border-top:var(--rule-hair) solid var(--color-rule-2);padding-block:var(--space-xl);color:var(--color-neutral)}.compare-builder__result{border-top:var(--rule-hair) solid var(--color-ink)}.compare-builder__head{display:none}.compare-builder__row{display:grid;gap:var(--space-sm);padding-block:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule)}.compare-builder__row>span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase}.compare-builder__row p{color:var(--color-ink-2)}.compare-builder__row p:before{content:attr(data-label);display:block;margin-bottom:var(--space-2xs);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.compare-builder__actions{display:grid;gap:var(--space-xs);padding-top:var(--space-md)}.compare-builder__actions>span{display:none}.directory-page-lead--comparison .directory-lede{margin-top:var(--space-sm)}.directory-comparison-boundary{display:grid;align-content:end;gap:var(--space-sm);border-top:var(--rule-hair) solid var(--color-ink);padding-top:var(--space-md)}.directory-comparison-boundary strong{font-size:var(--text-sm)}.directory-comparison-boundary p{color:var(--color-neutral)}.directory-comparison-boundary span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.directory-verdict-grid{display:grid;gap:var(--space-xl)}.directory-verdict-grid article{display:grid;align-content:start;gap:var(--space-md);border-top:var(--rule-hair) solid var(--color-paper-3);padding-top:var(--space-md)}.directory-verdict-grid article>span{color:var(--color-paper-3);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase}.directory-verdict-grid h2{max-width:24ch;font-size:var(--text-xl)}.directory-compare-wrap{max-width:100%;overflow-x:visible}.directory-compare{width:100%;border-collapse:collapse;border-top:var(--rule-hair) solid var(--color-ink);font-variant-numeric:tabular-nums}.directory-compare thead{display:none}.directory-compare,.directory-compare tbody,.directory-compare td,.directory-compare th,.directory-compare tr{display:block}.directory-compare tr{padding-block:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule)}.directory-compare td,.directory-compare th{padding:var(--space-xs) 0;border:0;text-align:start;vertical-align:top}.directory-compare th{color:var(--color-ink-2);font-size:var(--text-sm)}.directory-compare td{color:var(--color-neutral)}.directory-compare td:before{content:attr(data-label);display:block;margin-bottom:var(--space-2xs);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.directory-compare-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-xl)}.directory-tool-hero__main{display:grid;min-width:0;align-content:start;gap:var(--space-lg)}.directory-tool-hero__identity{display:flex;min-width:0;align-items:center;gap:var(--space-md)}.directory-tool-hero__identity>div{min-width:0}.directory-tool-hero__identity h1{font-size:var(--text-display-s)}.directory-tool-hero__mark{width:4rem;height:4rem;flex:0 0 auto;font-size:var(--text-base)}.directory-tag-list{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.directory-tag-list span{border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);padding:var(--space-2xs) var(--space-xs);color:var(--color-ink-2);font-size:var(--text-xs)}.directory-decision-card{display:grid;align-content:start;border-top:var(--rule-hair) solid var(--color-ink)}.directory-decision-card>div{display:grid;gap:var(--space-xs);padding-block:var(--space-sm);border-bottom:var(--rule-hair) solid var(--color-rule)}.directory-decision-card span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase}.directory-decision-card strong{color:var(--color-ink-2)}.directory-decision-card>p{padding-top:var(--space-md);color:var(--color-neutral);font-size:var(--text-sm)}.directory-tool-categories{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);align-items:center;padding-block:var(--space-lg)}.directory-tool-categories>span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase}.directory-tool-categories a{color:var(--color-accent-strong);font-size:var(--text-sm);font-weight:700;white-space:nowrap}.directory-evaluation-grid{display:grid;gap:var(--space-2xl)}.directory-evaluation-grid article,.directory-evaluation-grid aside{display:grid;align-content:start;gap:var(--space-lg)}.directory-evaluation-grid h2{font-size:var(--text-xl)}.directory-evaluation-grid article>p{max-width:var(--measure-copy);color:var(--color-neutral);font-size:var(--text-md)}.directory-evidence-line{border-top:var(--rule-hair) solid var(--color-rule);padding-top:var(--space-md);font-family:var(--font-mono);font-size:var(--text-xs)!important}.directory-evaluation-grid aside ol{display:grid;gap:var(--space-sm);margin:0;padding:0;list-style:none}.directory-evaluation-grid aside ol li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--space-sm)}.directory-evaluation-grid aside ol span{color:var(--color-accent-strong);font-family:var(--font-mono)}.directory-evaluation-grid aside ul{display:grid;gap:var(--space-sm);margin:0;padding-inline-start:var(--space-lg);color:var(--color-neutral)}.directory-tool-comparisons{display:grid;gap:var(--space-xl)}.directory-tool-comparisons h2{font-size:var(--text-xl)}.directory-tool-comparisons>a{display:grid;gap:var(--space-xs);padding-block:var(--space-md);border-top:var(--rule-hair) solid var(--color-paper-3);color:var(--color-paper);text-decoration:none}.directory-tool-comparisons>a span{color:var(--color-paper-3)}.directory-tool-comparisons>a b{color:var(--color-paper);font-family:var(--font-mono)}.directory-profile-correction{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-xl);border-top:var(--rule-hair) solid var(--color-rule-2);padding-top:var(--space-lg)}.directory-profile-correction p{max-width:58ch;color:var(--color-neutral)}.directory-method-note,.directory-vendor-callout{display:grid;gap:var(--space-xl)}.directory-method-note>h2,.directory-vendor-callout h2{max-width:19ch;font-size:var(--text-2xl)}.directory-method-note>div,.directory-vendor-callout>div{display:grid;align-content:start;gap:var(--space-lg)}.directory-vendor-callout>div>p{max-width:var(--measure-copy);color:var(--color-paper-3)}.directory-price-grid{display:grid;gap:var(--space-xl);padding-block:var(--space-2xl)}.directory-price{display:grid;align-content:start;gap:var(--space-xl);border-top:var(--rule-hair) solid var(--color-ink);padding-top:var(--space-md)}.directory-price--sponsored{border-top-color:var(--color-accent)}.directory-price>div>p:first-child{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase}.directory-price__amount{margin-top:var(--space-sm);font-family:var(--font-display);font-size:var(--text-3xl);font-variant-numeric:tabular-nums;line-height:1}.directory-price__amount small{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.directory-price ul{display:grid;gap:var(--space-sm);margin:0;padding-inline-start:var(--space-lg);color:var(--color-neutral)}.directory-price .directory-link-button{justify-self:start}.directory-steps{display:grid;gap:var(--space-xl)}.directory-steps>h2{max-width:16ch;font-size:var(--text-2xl)}.directory-steps ol{display:grid;margin:0;padding:0;list-style:none}.directory-steps li{display:grid;gap:var(--space-sm);padding-block:var(--space-lg);border-top:var(--rule-hair) solid var(--color-paper-3)}.directory-steps li>span{color:var(--color-paper-3);font-family:var(--font-mono);font-size:var(--text-xs)}.directory-steps li h3{font-size:var(--text-lg)}.directory-steps li p{color:var(--color-paper-3)}.directory-faq-layout{display:grid;gap:var(--space-xl)}.directory-faq-layout>h2{max-width:18ch;font-size:var(--text-2xl)}.directory-faq{border-top:var(--rule-hair) solid var(--color-ink)}.directory-faq details{border-bottom:var(--rule-hair) solid var(--color-rule)}.directory-faq summary{min-height:var(--control-height);padding-block:var(--space-md);color:var(--color-ink-2);font-weight:700;cursor:pointer}.directory-faq details p{max-width:var(--measure-copy);padding-bottom:var(--space-lg);color:var(--color-neutral)}.directory-submit-layout{display:grid;gap:var(--space-2xl)}.directory-submit-process ol{display:grid;margin:0;padding:0;list-style:none}.directory-submit-process li{display:grid;gap:var(--space-xs);border-top:var(--rule-hair) solid var(--color-rule-2);padding-block:var(--space-md)}.directory-submit-process li>span{color:var(--color-accent-strong);font-family:var(--font-mono);font-size:var(--text-xs)}.directory-submit-process h2{font-size:var(--text-md)}.directory-submit-process p{color:var(--color-neutral)}.directory-submit-process .directory-notice{margin-top:var(--space-xl)}.directory-form{display:grid;gap:var(--space-lg);border-top:var(--rule-hair) solid var(--color-ink);padding-top:var(--space-lg)}.directory-form__grid{display:grid;min-width:0;gap:var(--space-lg)}.directory-form-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.directory-form__status{min-height:1.6em;color:var(--color-muted);font-size:var(--text-sm)}.directory-form__status[data-state=error]{color:var(--color-error)}.directory-form__status[data-state=success]{color:var(--color-success)}.directory-honeypot{position:absolute;width:1px;height:1px;margin:-1px;overflow:clip;clip-path:inset(50%);white-space:nowrap}.cf-turnstile{min-height:4.1rem}.directory-notice{display:grid;gap:var(--space-xs);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-control);padding:var(--space-md);background:var(--color-surface);color:var(--color-ink-2);font-size:var(--text-sm)}.directory-method-principles{display:grid;gap:var(--space-xl)}.directory-method-principles>h2{max-width:16ch;font-size:var(--text-2xl)}.directory-method-principles ol{display:grid;margin:0;padding:0;list-style:none}.directory-method-principles li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:var(--space-md);padding-block:var(--space-md);border-top:var(--rule-hair) solid var(--color-paper-3)}.directory-method-principles li span{color:var(--color-paper-3);font-family:var(--font-mono);font-size:var(--text-xs)}.directory-method-principles li p{max-width:var(--measure-copy)}.directory-method-table{border-top:var(--rule-hair) solid var(--color-ink)}.directory-method-table>div{display:grid;gap:var(--space-sm);padding-block:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule)}.directory-method-table h3{font-family:var(--font-body);font-size:var(--text-md);letter-spacing:-.02em}.directory-method-table p{max-width:var(--measure-copy);color:var(--color-neutral)}.directory-method-close{display:grid;gap:var(--space-lg)}.directory-method-close h2{font-size:var(--text-2xl)}.directory-method-close>p{max-width:var(--measure-copy);color:var(--color-neutral)}.directory-legal{display:grid;gap:var(--space-2xl);padding-block:var(--space-2xl)}.directory-legal>header{display:grid;gap:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-ink);padding-bottom:var(--space-xl)}.directory-legal h1{font-size:var(--text-display-s)}.directory-legal>header>p:last-child{max-width:var(--measure-copy);color:var(--color-neutral);font-size:var(--text-md)}.directory-legal__layout{display:grid;gap:var(--space-2xl)}.directory-legal__layout>nav{display:grid;align-content:start;border-top:var(--rule-hair) solid var(--color-ink)}.directory-legal__layout>nav a{min-height:var(--control-height);display:flex;align-items:center;border-bottom:var(--rule-hair) solid var(--color-rule);color:var(--color-ink-2);font-size:var(--text-sm);white-space:nowrap}.directory-legal__prose{display:grid;max-width:var(--measure-copy);gap:var(--space-2xl)}.directory-legal__prose section{scroll-margin-top:var(--space-3xl)}.directory-legal__prose h2{margin-bottom:var(--space-md);font-size:var(--text-xl)}.directory-legal__prose p{color:var(--color-neutral);line-height:1.72}.directory-not-found{display:grid;min-height:62dvh;align-content:center;gap:var(--space-xl);padding-block:var(--space-3xl)}.directory-not-found>div:first-child{display:grid;gap:var(--space-md)}.directory-not-found h1{max-width:17ch;font-size:var(--text-display-s)}.directory-not-found>div:first-child p:last-child{max-width:var(--measure-copy);color:var(--color-neutral)}.directory-not-found__search{display:grid;max-width:42rem;gap:var(--space-xs)}.directory-not-found__search label{color:var(--color-ink-2);font-size:var(--text-sm);font-weight:700}.directory-not-found__search>div{display:grid;gap:var(--space-sm)}.directory-footer{background:var(--color-paper-2);color:var(--color-ink)}.directory-footer__inner{display:grid;gap:var(--space-xl);padding-block:var(--space-2xl)}.directory-footer__mast{display:grid;gap:var(--space-sm);border-top:var(--rule-hair) solid var(--color-ink);padding-top:var(--space-md)}.directory-footer__mast .brand-wordmark{font-size:var(--text-2xl)}.directory-footer__mast p{max-width:32ch;font-family:var(--font-display);font-size:var(--text-lg)}.directory-footer__body{display:grid;align-content:start;gap:var(--space-lg)}.directory-footer__statement{max-width:var(--measure-copy);color:var(--color-neutral);font-size:var(--text-sm)}.directory-footer__links{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg)}.directory-footer__links a,.directory-footer__links button{display:inline-flex;min-height:var(--control-height);align-items:center;border:0;padding:0;background:transparent;color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600;text-decoration:underline;white-space:nowrap}.directory-footer__meta{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}@media (hover:hover) and (pointer:fine){.directory-input:hover,.directory-select:hover,.directory-textarea:hover,.site-mobilebar__controls>button:hover,.site-mobilebar__menu>summary:hover{background:var(--color-paper-2)}.directory-button:hover,.directory-link-button:hover{background:var(--color-ink-2)}.directory-button--paper:hover,.directory-link-button--paper:hover{background:var(--color-paper-2);color:var(--color-ink)}.directory-link-button--light:hover{background:var(--color-paper-3);color:var(--color-ink)}.directory-category-entry:hover h2,.directory-category-entry:hover h3,.directory-collection-jump a:hover,.directory-comparison-row:hover h3,.directory-filter-reset:hover,.directory-footer__links a:hover,.directory-footer__links button:hover,.directory-home-collections>a:hover h3,.directory-text-link:hover,.directory-tool-card__name a:hover{color:var(--color-accent-strong)}.directory-tool-card:hover{border-top-color:var(--color-ink)}}@media (min-width:40rem){.directory-category-hero,.directory-hero,.directory-page-lead,.directory-tool-hero{grid-template-columns:minmax(0,1.25fr) minmax(16rem,.75fr);align-items:end}.directory-section__head{grid-template-columns:minmax(0,.8fr) minmax(18rem,1.2fr);align-items:end}.directory-section__head>.directory-text-link{grid-column:2;justify-self:start}.directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-field--search{grid-column:1/-1}.directory-filter-reset{align-self:end}.directory-tool-card{grid-template-columns:3rem minmax(0,1fr)}.directory-tool-card__actions,.directory-tool-card__fit,.directory-tool-card__meta{grid-column:2}.directory-category-entry{grid-template-columns:2.5rem minmax(12rem,.8fr) minmax(0,1fr) auto;align-items:start}.directory-category-entry__count{text-align:end;white-space:nowrap}.directory-category-search{grid-template-columns:minmax(0,.8fr) minmax(18rem,1.2fr)}.directory-home-collections>a{grid-template-columns:2.5rem minmax(12rem,.85fr) minmax(0,1.15fr) auto;align-items:baseline}.directory-collection-jump{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-collection-jump a:nth-child(odd){padding-inline-end:var(--space-lg)}.directory-collection-jump a:nth-child(2n){border-inline-start:var(--rule-hair) solid var(--color-rule);padding-inline-start:var(--space-lg)}.directory-comparison-row{grid-template-columns:minmax(12rem,.75fr) minmax(0,1.25fr) auto;align-items:baseline}.compare-builder__controls{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.compare-builder__controls>span{display:block;padding-bottom:var(--space-sm)}.compare-builder__actions,.compare-builder__head,.compare-builder__row{grid-template-columns:minmax(8rem,.5fr) repeat(2,minmax(0,1fr));gap:var(--space-lg)}.compare-builder__head{display:grid;padding-block:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-ink)}.compare-builder__head span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase}.compare-builder__row{display:grid}.compare-builder__row p:before{display:none}.compare-builder__actions{display:grid}.compare-builder__actions>span{display:block}.directory-verdict-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-compare{display:table}.directory-compare thead{display:table-header-group}.directory-compare tbody{display:table-row-group}.directory-compare tr{display:table-row;padding:0;border:0}.directory-compare td,.directory-compare th{display:table-cell;width:auto;padding:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule)}.directory-compare th:first-child{width:20%;padding-inline-start:0}.directory-compare td:before{display:none}.directory-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-steps ol{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-steps li{padding-inline-end:var(--space-xl)}.directory-steps li+li{padding-inline-start:var(--space-xl);border-inline-start:var(--rule-hair) solid var(--color-paper-3)}.directory-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-field--wide{grid-column:1/-1}.directory-method-table>div{grid-template-columns:minmax(10rem,.45fr) minmax(0,1.55fr);gap:var(--space-xl)}.directory-not-found__search>div{grid-template-columns:minmax(0,1fr) auto}.directory-footer__inner{grid-template-columns:minmax(15rem,.7fr) minmax(0,1.3fr)}}@media (min-width:60rem){.site-mobilebar{display:none}.site-rail{position:fixed;z-index:var(--z-sticky);inset-block:0;inset-inline-start:0;display:flex;width:var(--rail-width);flex-direction:column;border-inline-end:var(--rule-hair) solid var(--color-ink);padding:var(--space-xl) var(--space-lg);background:var(--color-paper-2);color:var(--color-ink)}.site-rail__brand{align-self:flex-start;text-decoration:none}.site-rail__brand .brand-wordmark{font-size:var(--text-xl)}.site-rail__edition{margin-top:var(--space-sm);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.site-rail__nav{display:grid;margin-block:var(--space-2xl) auto;border-top:var(--rule-hair) solid var(--color-ink)}.site-rail__nav a{display:flex;min-height:var(--control-height);align-items:center;justify-content:space-between;gap:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600;text-decoration:none;white-space:nowrap}.site-rail__nav a>span:last-child{color:var(--color-muted);font-family:var(--font-mono)}.site-rail__nav a[aria-current=page]{color:var(--color-accent-strong)}.site-rail__footer{display:grid;gap:var(--space-md);border-top:var(--rule-hair) solid var(--color-ink);padding-top:var(--space-md)}.site-rail__footer>p{color:var(--color-neutral);font-size:var(--text-xs)}.site-rail__controls{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.site-rail__controls a,.site-rail__controls button{display:inline-flex;min-height:var(--control-height);align-items:center;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-control);padding-inline:var(--space-sm);background:var(--color-paper);color:var(--color-ink-2);font-size:var(--text-xs);font-weight:700;text-decoration:none;white-space:nowrap}.directory-page>.directory-footer,.directory-page>main{margin-inline-start:var(--rail-width)}.directory-section__head{grid-template-columns:minmax(0,.65fr) minmax(20rem,1fr) auto}.directory-section__head>.directory-text-link{grid-column:auto;justify-self:end}.directory-explorer{grid-template-columns:minmax(13.5rem,.3fr) minmax(0,1.7fr);align-items:start}.directory-explorer--featured{grid-template-columns:minmax(12rem,.28fr) minmax(0,1.72fr)}.directory-filters{position:sticky;inset-block-start:var(--space-lg);grid-template-columns:minmax(0,1fr);border-bottom:0;padding-block:var(--space-md)}.directory-field--search{grid-column:auto}.directory-evaluation-grid{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr)}.directory-collection{grid-template-columns:minmax(16rem,.65fr) minmax(0,1.35fr);align-items:start}.directory-tool-comparisons>a{grid-template-columns:minmax(12rem,.6fr) minmax(0,1.3fr) auto;align-items:baseline}.directory-faq-layout,.directory-method-note,.directory-steps,.directory-vendor-callout{grid-template-columns:minmax(16rem,.65fr) minmax(0,1.35fr)}.directory-steps ol{grid-column:2}.directory-submit-layout{grid-template-columns:minmax(15rem,.55fr) minmax(0,1.45fr);align-items:start}.directory-submit-process{position:sticky;inset-block-start:var(--space-lg)}.directory-method-principles{grid-template-columns:minmax(16rem,.65fr) minmax(0,1.35fr)}.directory-method-principles ol{grid-column:2}.directory-legal__layout{grid-template-columns:minmax(12rem,.4fr) minmax(0,1.6fr);align-items:start}.directory-legal__layout>nav{position:sticky;inset-block-start:var(--space-lg)}}@media (min-width:80rem){.directory-hero,.directory-page-lead{gap:var(--space-3xl)}}@media (min-width:90rem){.directory-tool-card{grid-template-columns:3rem minmax(15rem,1.3fr) minmax(13rem,1fr) minmax(9rem,.5fr) minmax(7rem,auto)}.directory-tool-card__actions,.directory-tool-card__fit,.directory-tool-card__meta{grid-column:auto}.directory-tool-card__actions{display:grid;justify-items:start}}@media (pointer:coarse){.directory-button,.directory-filter-reset,.directory-footer__links a,.directory-footer__links button,.directory-link-button,.directory-text-link,.site-mobilebar__controls>button,.site-mobilebar__menu>summary{min-height:3rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}