/* Research-led warm editorial identity, September 27, 2026. */
@font-face{font-family:PBGDisplay;src:url('/fonts/bricolage-grotesque-v1.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:PBGText;src:url('/fonts/source-sans-3-v1.woff2') format('woff2');font-weight:200 900;font-display:swap}
:root{color-scheme:light;--accent:#125653;--accent-ink:#125653;--bg:#fbf7ef;--paper:#fbf7ef;--ink:#203b38;--muted:#536761;--card:#fffdf8;--line:#c9d5ca;--tint:#e4eee4;--band:#e4eee4;--rule:#125653;--pine:#125653;--pine-tint:#e4eee4;--rust:#a34527;--buy:#a34527;--buy-hover:#82341e;--on-buy:#fffdf8;--home-ink:#203b38;--home-muted:#536761;--home-line:#c9d5ca}
html{scroll-padding-top:20px;scrollbar-color:#789b90 #fbf7ef}
body,body.pb-home{background:#fbf7ef;color:#203b38;font-family:PBGText,system-ui,sans-serif;font-size:18px;line-height:1.6}
body h1,body h2,body h3,body .brand{font-family:PBGDisplay,system-ui,sans-serif;color:#203b38;letter-spacing:-.025em;text-wrap:balance}
body h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.08}
body a{color:#125653;text-underline-offset:4px}
body a:hover{text-decoration-thickness:2px}
body :focus-visible{outline:3px solid #a34527;outline-offset:4px}
body ::selection{background:#f2ceac;color:#203b38}
body input{caret-color:#125653}
body .wrap{max-width:1000px;padding-inline:28px}
body.product-page .wrap,body.pb-home .wrap,body.pb-product .wrap,body.pb-compare .wrap,body header.site .wrap,body footer .wrap{max-width:1180px}
body header.site,body.pb-home header{background:#125653;color:#fffdf8;border:0}
body header.site .wrap,body.pb-home header.site .wrap{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;min-height:80px;padding-block:12px;padding-inline:28px}
body header.site .brand{color:#fffdf8;font-size:25px;line-height:1.15;gap:12px}
body header.site a,body.pb-home header a{color:#fffdf8}
body header.site .mark .mb{fill:#f2ceac}
body header.site .mark .mc{fill:#125653}
body header.site nav,body.pb-home header nav{display:flex;gap:18px;flex-wrap:wrap;margin:0;padding:0;overflow:visible;max-width:100%;mask-image:none;-webkit-mask-image:none;font-size:17px}
body header.site nav a{padding:0;min-height:44px;min-width:44px;display:inline-flex;align-items:center}
body header.site a:focus-visible{outline-color:#f2ceac}
body .disclosure,body.pb-home .disclosure{color:#536761;font-size:14px;line-height:1.5;margin:0;padding:14px 0;border:0}
body .crumbs{color:#536761;font-size:15px;margin:10px 0 16px}
body main>h1{background:#e4eee4;border-radius:0;padding:28px 30px;margin:14px 0 30px;border:0}
body .lede{color:#536761}
body .btn,body .product-intro .btn{background:#a34527;color:#fffdf8!important;border:1px solid #a34527;border-radius:6px;box-shadow:none;padding:12px 20px;min-height:48px;white-space:normal;text-align:center;font-weight:700}
body .btn:hover,body .product-intro .btn:hover{background:#82341e;border-color:#82341e;filter:none}
body .btn-quiet,body .btn-ghost{color:#125653!important;background:#fffdf8;border-color:#125653}
body .btn-quiet:hover,body .btn-ghost:hover{background:#e4eee4;color:#125653!important}
body .product-review{--product-accent:#125653;--product-accent-dark:#125653}
body .product-intro h1{letter-spacing:-.035em;max-width:19ch}
body .decision-panel{background:#125653;color:#fffdf8;border-radius:10px}
body .decision-panel h2{color:#fffdf8}
body .decision-block h3{color:#f2ceac;text-transform:none;letter-spacing:0;font-size:1rem}
body .decision-method{color:#e0eae3}
body .product-kicker{color:#536761;text-transform:none;letter-spacing:0;font-weight:600}
body .fit-good{background:#e4eee4;border-color:#bed3c2}
body .fit-watch{background:#f8e6d6;border-color:#e3c9b2}
body .fact-grid li{background:#fffdf8;border-color:#c9d5ca;border-radius:6px}
body .research-rail{background:#eaf0e8;border-color:#c9d5ca;border-radius:6px}
body .cta-repeat{background:#f8e6d6;border-radius:8px}
body .cta-repeat p:last-child{color:#654c3e}
body .tbl{background-color:#fffdf8;background-image:none;border-color:#c9d5ca;border-radius:6px}
body th{background:#e4eee4;color:#203b38}
body table.cmp th[scope=row]{background:#f1f5ed}
body tbody tr:nth-child(even) td{background:#f9faf4}
body th,body td{border-color:#d2ddcf}
body ul.posts li{background:#fffdf8;border-color:#c9d5ca;border-radius:6px;box-shadow:none}
body .related-hubs a{background:#e4eee4;border-color:#bed3c2;color:#125653}
body #buying-guide{border:1px solid #c9d5ca;padding:8px 26px 22px;background:#fffdf8;border-radius:6px}
body #buying-guide h2{margin-top:22px}
body footer,body.pb-home footer{background:#125653;color:#e0eae3;border:0;margin-top:64px;padding:30px 0;font-size:15px}
body footer a,body.pb-home footer a{color:#fffdf8}
body footer p{max-width:75ch}
body footer a:focus-visible{outline-color:#f2ceac}
body .photo-credits{font-size:13px;line-height:1.6}
body .pb-home,body.pb-home{--home-ink:#203b38;--home-muted:#536761;--home-line:#c9d5ca}
body.pb-home .home-intro{grid-template-columns:1fr 1fr;gap:54px;align-items:stretch;padding:22px 0 34px;margin:0;border:0}
body.pb-home .home-welcome{align-self:center;padding:20px 0}
body.pb-home .home-intro h1{font-size:clamp(42px,4.5vw,64px);line-height:1.04;max-width:13ch;color:#125653;margin:0 0 22px}
body.pb-home .home-intro .lede{max-width:39ch;color:#536761;font-size:21px;line-height:1.5;margin:0 0 30px}
body.pb-home .home-search{max-width:470px}
body.pb-home .home-search h2{font-size:22px;color:#203b38;margin:0 0 12px}
body.pb-home .home-search label{color:#536761;font-size:15px}
body.pb-home .home-search input{border:1px solid #718c81;border-radius:5px;background:#fffdf8;color:#203b38;padding:13px 16px;min-height:54px}
body.pb-home .home-search input::placeholder{color:#536761}
body.pb-home .browse-link,body.pb-home .results a{color:#125653}
body.pb-home .results{max-height:280px;overflow-y:auto}
body.pb-home .results span{color:#536761}
body.pb-home .feature-coffee{display:flex;flex-direction:column;text-decoration:none;background:#125653;color:#fffdf8;border-radius:8px;overflow:hidden;min-width:0}
body.pb-home .feature-coffee img{display:block;width:100%;height:310px;object-fit:cover;object-position:50% 61%}
body.pb-home .feature-coffee>div{padding:24px 28px}
body.pb-home .feature-coffee h2{color:#fffdf8;font-size:28px;line-height:1.15;margin:0 0 10px}
body.pb-home .feature-coffee p{color:#e0eae3;line-height:1.4;margin:0 0 16px;font-size:18px;max-width:34ch}
body.pb-home .feature-coffee>div>span{color:#f2ceac;font-size:17px;font-weight:700}
body.pb-home .feature-coffee:hover h2,body.pb-home .home-features a:hover h2{text-decoration:underline;text-underline-offset:5px}
body.pb-home .home-features{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:0 0 46px}
body.pb-home .home-features>a{display:grid;grid-template-columns:42% 1fr;text-decoration:none;color:#203b38;background:#f8e6d6;min-width:0;border-radius:6px;overflow:hidden}
body.pb-home .home-features .feature-outdoors{background:#e4eee4}
body.pb-home .home-features img{display:block;width:100%;height:100%;min-height:218px;object-fit:cover;object-position:center}
body.pb-home .home-features a>div{padding:24px 22px}
body.pb-home .home-features h2{font-size:24px;line-height:1.15;margin:0 0 12px}
body.pb-home .home-features p{font-size:17px;line-height:1.45;margin:0 0 18px}
body.pb-home .home-features span{font-size:16px;font-weight:700;color:#125653}
body.pb-home .home-categories{margin:0;padding-top:10px}
body.pb-home .home-directory{columns:3 250px;column-gap:28px}
body.pb-home .category-group{margin-bottom:30px}
body.pb-home .category-group h3{font-size:19px;line-height:1.3;background:#e4eee4;padding:12px 14px;margin:0 0 5px;border-radius:4px;color:#203b38}
body.pb-home .category-group:nth-child(3n+2) h3{background:#f8e6d6}
body.pb-home .category-group:nth-child(3n) h3{background:#e2edf0}
body.pb-home .category-group a{color:#203b38;border-bottom:1px solid #e1e5d9;padding:10px 2px;font-size:17px}
body.pb-home .category-group small{color:#536761;font-size:14px}
body.pb-home .home-categories>h2,body.pb-home .recent>h2{color:#125653;font-size:32px;margin-bottom:24px}
body.pb-home .recent{margin-top:16px;padding-top:36px;border-color:#c9d5ca}
body.pb-home .recent-list a{color:#125653}
body.pb-home .recent-list span{color:#536761}
@media(max-width:900px){body.pb-home .home-intro{gap:30px}body.pb-home .home-intro h1{font-size:48px}body.pb-home .feature-coffee img{height:290px}body.pb-home .home-features>a{grid-template-columns:1fr}body.pb-home .home-features img{height:180px;min-height:0}body.pb-home .home-directory{columns:2 230px}}
@media(max-width:650px){body,body.pb-home{font-size:17px}body .wrap,body.pb-home .wrap{padding-inline:20px}body header.site .wrap,body.pb-home header.site .wrap{padding-inline:20px;gap:8px;min-height:72px}body header.site .brand{font-size:22px}body header.site nav,body.pb-home header nav{gap:20px;font-size:16px}body header.site nav a{min-height:40px}body main>h1{padding:22px 20px;margin-top:10px;font-size:32px}body .product-intro h1{max-width:none;line-height:1.1;font-size:clamp(28px,7.5vw,36px)}body .product-hero{padding-top:20px}body .decision-panel{padding:22px}body #buying-guide{padding:4px 18px 18px}body.pb-home .home-intro{grid-template-columns:1fr;gap:24px;padding:10px 0 24px}body.pb-home .home-welcome{padding:8px 0 0}body.pb-home .home-intro h1{font-size:44px;max-width:13ch;margin-bottom:18px}body.pb-home .home-intro .lede{font-size:19px;margin-bottom:24px}body.pb-home .home-search h2{font-size:22px}body.pb-home .feature-coffee img{height:260px;object-position:50% 63%}body.pb-home .feature-coffee>div{padding:22px}body.pb-home .feature-coffee h2{font-size:27px}body.pb-home .home-features{grid-template-columns:1fr;gap:18px;margin-bottom:32px}body.pb-home .home-features>a{grid-template-columns:38% 1fr}body.pb-home .home-features img{height:100%;min-height:200px}body.pb-home .home-features a>div{padding:20px 18px}body.pb-home .home-features h2{font-size:23px}body.pb-home .home-directory{columns:1}body.pb-home .home-categories>h2,body.pb-home .recent>h2{font-size:29px}body.pb-home .recent-list{grid-template-columns:1fr}body footer,body.pb-home footer{margin-top:40px}}
@media(prefers-reduced-motion:no-preference){body.pb-home .feature-coffee img{transition:object-position .4s cubic-bezier(.16,1,.3,1)}body.pb-home .feature-coffee:hover img{object-position:50% 66%}}
@media print{body,body.pb-home{background:white;color:black}body footer,body.pb-home footer{background:white;color:black}body footer a{color:black}.home-features,.feature-coffee{break-inside:avoid}}
/* Long contact addresses and model names must wrap on narrow phones. */
body main a,body footer a,body h1{overflow-wrap:anywhere}
body #buying-guide>p,body #buying-guide>ul{max-width:74ch}
