body.publication-directory{--paper:#f7f6f2;--ink:#242521;--muted:#62645c;--line:#d9dad2;--stone:#ecece5;--t-body:19px;--t-data:17px;--t-ui:16px;--t-meta:14px;--t-micro:13px;background:var(--paper);color:var(--ink);font:var(--t-body)/1.6 var(--font-sans)}.publication-directory :where(a,button,input){touch-action:manipulation}.publication-directory [hidden]{display:none!important}.directory-wrap{width:min(1216px,100% - 80px);margin-inline:auto;padding-bottom:64px}.directory-wrap :is(h1,h2,h3,p,figure){margin:0}.directory-wrap :where(header,section,article){background:0 0;border:0;padding:0}.directory-wrap a{color:inherit;text-decoration:none}.directory-wrap a:hover :is(h2,h3),.directory-wrap :is(h2,h3)>a:hover{text-underline-offset:5px;text-decoration:underline 1px}.directory-wrap :where(a,button,input):focus-visible{outline:2px solid var(--ink);outline-offset:4px}.directory-wrap button{font:inherit;cursor:pointer;border-radius:0}.directory-crumb{color:var(--muted);font-size:var(--t-meta);flex-wrap:wrap;align-items:center;gap:12px;padding-top:24px;display:flex}.directory-crumb a{text-underline-offset:4px;align-items:center;min-width:44px;min-height:44px;text-decoration:underline;display:inline-flex}.directory-eyebrow{font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;font-weight:700;line-height:1.5}.directory-intro{grid-template-columns:1.2fr 1fr;align-items:end;gap:64px;padding:40px 0;display:grid}.directory-intro h1{font:600 clamp(44px,6.4vw,84px)/1.05 var(--font-sans);letter-spacing:-.045em;overflow-wrap:anywhere;margin-top:14px}.directory-intro>p{font-size:var(--t-body);max-width:40ch;color:var(--muted);line-height:1.6}.directory-meta{border-top:3px solid var(--ink);color:var(--muted);font-size:var(--t-meta);flex-wrap:wrap;justify-content:space-between;gap:12px 28px;padding:16px 0 24px;display:flex}.directory-meta strong{color:var(--ink);font-weight:600}.directory-tools{background:var(--stone);flex-wrap:wrap;align-items:center;gap:18px 30px;padding:16px;display:flex}.directory-filters{flex-wrap:wrap;flex:1;gap:6px;display:flex}.directory-filters button,.directory-empty button{min-width:44px;min-height:44px;font:400 var(--t-ui)/1.5 var(--font-sans);background:0 0;border:1px solid #0000;padding:8px 14px}.directory-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.directory-filters button:hover{border-color:var(--ink)}.directory-search{background:var(--paper);border:1px solid #96988c;flex:1;align-items:center;min-width:260px;max-width:410px;padding:3px;display:flex}.directory-search input{font:400 var(--t-ui)/1.5 var(--font-sans);color:var(--ink);background:0 0;border:0;flex:1;width:100%;min-width:0;height:44px;padding:8px 10px}.directory-search input:focus-visible{outline-offset:-3px}.directory-search button{min-width:44px;height:44px;font-size:var(--t-data);background:var(--ink);color:var(--paper);border:0}.directory-results{color:var(--muted);font-size:var(--t-meta);justify-content:space-between;gap:18px;padding:18px 0;display:flex}.directory-list{border-top:2px solid var(--ink)}.comparison-entry{border-bottom:1px solid var(--line)}.comparison-entry-link{grid-template-columns:265px minmax(0,1fr);gap:12px 38px;padding:32px 0;display:grid}.entry-screen{grid-row:1/3;min-width:0}.entry-screen img{aspect-ratio:1.6;object-fit:cover;border:1px solid var(--line);width:100%;height:auto;display:block}.entry-screen figcaption{font-size:var(--t-meta);color:var(--muted);margin-top:10px;line-height:1.5}.entry-kicker{color:var(--muted);font-size:var(--t-meta);flex-wrap:wrap;gap:8px 20px;margin-bottom:12px;line-height:1.5;display:flex}.entry-kicker>span{font-size:var(--t-micro);letter-spacing:.05em;text-transform:uppercase}.entry-copy h2{font:600 29px/1.2 var(--font-sans);letter-spacing:-.025em;margin-bottom:12px}.entry-copy .entry-hook{font:400 31px/1.2 var(--font-text);letter-spacing:-.02em;max-width:38ch;margin-bottom:12px}.entry-copy .entry-summary{font-size:var(--t-data);color:var(--muted);max-width:62ch;line-height:1.6}.entry-action{min-height:44px;font-size:var(--t-ui);grid-column:2;justify-content:space-between;align-items:center;gap:20px;display:flex}.entry-action>span{font-size:26px}.directory-note{font-size:var(--t-meta);color:var(--muted);max-width:85ch;padding:24px 0;line-height:1.6}.directory-empty{text-align:center;border-top:1px solid var(--line);padding:40px 20px}.directory-empty h2{font:400 30px/1.2 var(--font-text);margin-bottom:12px}.directory-empty p{font-size:var(--t-data);color:var(--muted);margin-bottom:18px}.directory-empty button{border-color:var(--ink)}.directory-review+.directory-review{border-top:3px solid var(--ink);padding-top:48px}.review-feature{grid-template-columns:1.15fr 1fr;align-items:start;gap:48px;padding:12px 0 32px;display:grid}.review-screen{min-width:0}.image-meta{font-size:var(--t-meta);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:14px;display:flex}.screen-link{border:1px solid var(--line);display:block}.screen-link img{aspect-ratio:1.6;object-fit:cover;width:100%;height:auto;display:block}.review-screen figcaption{font-size:var(--t-meta);color:var(--muted);max-width:70ch;margin-top:16px;line-height:1.6}.review-copy>h2{font:600 clamp(36px,4vw,52px)/1.08 var(--font-sans);letter-spacing:-.04em;margin:15px 0 22px}.review-copy>h2>a{min-height:44px;display:inline-block}.review-copy .review-judgment{font:400 33px/1.2 var(--font-text);letter-spacing:-.02em;margin-bottom:18px}.review-description{font-size:var(--t-body);color:var(--muted);line-height:1.6}.directory-catch{border-left:3px solid var(--ink);background:var(--stone);margin:22px 0;padding:16px 20px}.directory-catch h3{font:600 var(--t-data)/1.5 var(--font-sans);margin-bottom:5px}.directory-catch p{font-size:var(--t-data);line-height:1.6}.directory-primary{background:var(--ink);min-height:48px;font-size:var(--t-ui);justify-content:space-between;align-items:center;gap:24px;padding:12px 20px;line-height:1.5;display:inline-flex;color:var(--paper)!important}.directory-primary:hover{background:#414339}.review-topics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 28px;padding:16px 0;display:flex}.review-topics>.directory-eyebrow{color:var(--muted);margin-right:auto}.review-topics a,.related-head>a{min-height:44px;font-size:var(--t-ui);align-items:center;display:inline-flex}.review-topics a:hover,.related-head>a:hover{text-underline-offset:4px;text-decoration:underline}.directory-related{padding:40px 0}.related-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:18px 32px;margin-bottom:24px;display:flex}.related-head h2{font:400 33px/1.2 var(--font-text);letter-spacing:-.02em;max-width:28ch}.related-comparisons{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.related-comparisons>a{border-top:2px solid var(--ink);padding:22px 0;display:block}.related-comparisons time{font-size:var(--t-meta);color:var(--muted)}.related-comparisons h3{font:600 24px/1.25 var(--font-sans);letter-spacing:-.02em;margin:12px 0}.related-comparisons p{font-size:var(--t-data);color:var(--muted);line-height:1.6}.directory-category{border-bottom:1px solid var(--line);margin-bottom:40px;padding-bottom:24px}.directory-category+.directory-category{border-top:3px solid var(--ink);padding-top:24px}.category-heading{font-size:var(--t-meta);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:24px;display:flex}.category-feature{grid-template-columns:1fr 1.3fr;align-items:start;gap:48px;display:grid}.category-copy h2{font:600 clamp(38px,4vw,54px)/1.1 var(--font-sans);letter-spacing:-.04em;max-width:13ch;margin-bottom:22px}.category-copy>p{font-size:var(--t-body);color:var(--muted);line-height:1.6}.category-finding{border-top:1px solid var(--line);margin:24px 0;padding-top:22px}.category-finding h3{font:400 31px/1.2 var(--font-text);letter-spacing:-.02em;margin-bottom:14px}.category-finding p{font-size:var(--t-data);color:var(--muted);line-height:1.6}.category-gallery{grid-template-columns:1fr 1fr;gap:24px 18px;min-width:0;display:grid}.category-gallery figure{min-width:0}.category-gallery img{aspect-ratio:1.6;object-fit:cover;border:1px solid var(--line);width:100%;height:auto;display:block}.category-gallery figcaption{font-size:var(--t-meta);flex-wrap:wrap;gap:4px 12px;margin-top:10px;line-height:1.5;display:flex}.category-gallery figcaption strong{font-weight:600}.category-gallery figcaption span,.category-gallery>p{color:var(--muted)}.category-gallery>p{font-size:var(--t-meta);grid-column:1/-1}.category-foot{border-top:1px solid var(--line);font-size:var(--t-meta);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:16px 30px;margin-top:32px;padding-top:24px;display:flex}.category-foot strong{font-size:var(--t-h3);color:var(--ink);margin-right:6px;font-weight:400}.category-foot span:last-child{margin-left:auto}.directory-routes{border-top:3px solid var(--ink);grid-template-columns:1fr 1fr;gap:48px;padding:32px 0;display:grid}.directory-routes>a{grid-template-columns:1fr auto;gap:10px 24px;display:grid}.directory-routes .directory-eyebrow{color:var(--muted);grid-column:1}.directory-routes h2{font:400 33px/1.2 var(--font-text);letter-spacing:-.02em;grid-column:1}.directory-routes p:not(.directory-eyebrow){font-size:var(--t-data);color:var(--muted);grid-column:1}.directory-routes a>span{grid-area:1/2/4;align-self:center;font-size:26px}.directory-request{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 32px;padding-top:28px;display:flex}.directory-request h2{font:400 28px/1.2 var(--font-text);margin-bottom:10px}.directory-request p{font-size:var(--t-data);color:var(--muted)}.directory-request>a{min-height:44px;font-size:var(--t-ui);text-underline-offset:4px;align-items:center;text-decoration:underline;display:inline-flex}.publication-directory footer.ch-apparatus{background:var(--paper);border-top:1px solid var(--line)}.publication-directory footer :is(.disclosure,.legal){font-size:var(--t-meta);line-height:1.6}.publication-directory footer .legal a{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}@media (width>=1200px){body.publication-directory{--t-body:21px;--t-data:19px;--t-ui:17px;--t-meta:15px;--t-micro:14px}}@media (width<=1050px){.directory-wrap{width:calc(100% - 56px)}.directory-intro{gap:32px}.comparison-entry-link{grid-template-columns:220px minmax(0,1fr);column-gap:28px}.review-feature,.category-feature{grid-template-columns:1fr;gap:32px}.review-screen{max-width:780px}.category-copy h2{max-width:20ch}.category-copy>p,.category-finding{max-width:65ch}.category-gallery{max-width:800px}.related-comparisons{gap:24px}}@media (width<=760px){.directory-wrap{width:calc(100% - 36px);padding-bottom:40px}.directory-crumb{padding-top:16px}.directory-intro{grid-template-columns:1fr;gap:24px;padding:28px 0}.directory-intro h1{font-size:48px}.directory-intro>p{max-width:44ch}.directory-meta{padding-bottom:20px}.directory-tools{gap:14px;padding:12px}.directory-search{flex-basis:100%;min-width:0;max-width:none}.directory-filters{flex-basis:100%}.directory-filters button{padding:8px 12px}.comparison-entry-link{grid-template-columns:1fr;gap:20px;padding:26px 0}.entry-screen{grid-row:auto}.entry-action{grid-column:1}.entry-screen img{aspect-ratio:1.8}.entry-copy h2{font-size:27px}.entry-copy .entry-hook{font-size:29px}.review-copy>h2{font-size:40px}.review-copy .review-judgment{font-size:30px}.review-topics{gap:4px 24px}.review-topics>.directory-eyebrow{flex-basis:100%;margin-bottom:8px}.related-comparisons{grid-template-columns:1fr;gap:0}.directory-related{padding:32px 0}.related-head h2{font-size:30px}.related-comparisons>a{padding:22px 0}.category-copy h2{font-size:42px}.category-finding h3{font-size:29px}.category-foot span:last-child{flex-basis:100%;margin-left:0}.directory-routes{grid-template-columns:1fr;gap:28px}.directory-routes>a+a{border-top:1px solid var(--line);padding-top:26px}.directory-routes h2{font-size:30px}.directory-request{padding-top:24px}}@media (width<=400px){.directory-intro h1{font-size:44px}.category-gallery{grid-template-columns:1fr}.directory-results{flex-wrap:wrap;gap:6px}.review-copy>h2{font-size:36px}}@media (prefers-reduced-motion:reduce){.publication-directory{scroll-behavior:auto}}
