@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap');
:root{--ink:#28342e;--green:#315b43;--green-dark:#244433;--sage:#e8efe6;--cream:#f7f5ed;--paper:#fffefa;--coral:#c8755f;--line:#dce3da;--muted:#5f6b63;--shadow:0 14px 38px rgba(36,61,44,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.68 'DM Sans',Arial,sans-serif}a{color:var(--green);text-underline-offset:3px}img{display:block;max-width:100%}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px max(24px,calc((100vw - 1160px)/2));background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--green-dark);font:700 21px 'Fraunces',Georgia,serif;text-decoration:none}.brand img{width:40px;height:40px}.site-header nav{display:flex;gap:24px;flex-wrap:wrap}.site-header nav a{color:var(--ink);font-weight:650;text-decoration:none}.site-header nav a:hover,.text-link:hover{text-decoration:underline}main{min-height:70vh}.home-hero,.roundup-main{max-width:1160px;margin:auto;padding-left:24px;padding-right:24px}.home-hero{padding-top:78px;padding-bottom:54px}.eyebrow,.tile-kicker{margin:0;color:var(--coral);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.home-hero h1,.roundup-hero h1{max-width:900px;margin:10px 0 16px;color:var(--green-dark);font:600 clamp(2.4rem,6vw,4.7rem)/1.08 'Fraunces',Georgia,serif;letter-spacing:-.025em}.dek{max-width:800px;margin:0;color:var(--muted);font-size:clamp(1.05rem,2.2vw,1.23rem)}.roundup-section,.home-note{max-width:1160px;margin:0 auto 70px;padding:0 24px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2,.compare-section>h2,.cards-section>h2{margin:.3rem 0 0;color:var(--green-dark);font:600 clamp(1.9rem,4vw,2.7rem)/1.15 'Fraunces',Georgia,serif}.section-heading>span{color:var(--muted);font-size:.9rem}.roundup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.roundup-tile{display:block;min-width:0;padding:15px;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:var(--shadow);color:var(--ink);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.roundup-tile:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(36,61,44,.12)}.roundup-tile img{width:100%;height:260px;object-fit:cover;border-radius:15px;background:#e7ebe4}.tile-kicker{display:block;margin:17px 3px 6px}.roundup-tile h2{margin:0 3px;color:var(--green-dark);font:600 1.6rem/1.2 'Fraunces',Georgia,serif}.roundup-tile p{margin:9px 3px;color:var(--muted)}.tile-link{display:inline-block;margin:9px 3px 2px;color:var(--green);font-weight:750}.home-note{padding:22px 24px;background:var(--sage);border-radius:16px;color:var(--muted)}footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:24px max(24px,calc((100vw - 1160px)/2));border-top:1px solid var(--line);background:#293d31;color:#f5f4ec;font-size:.9rem}footer a{color:#e3efde}.footer-brand{font:650 1.2rem 'Fraunces',Georgia,serif;text-decoration:none}.roundup-main{padding-top:0;padding-bottom:60px}.breadcrumbs{display:flex;gap:9px;align-items:center;padding-top:17px;color:var(--muted);font-size:.84rem}.breadcrumbs a{color:var(--green)}.roundup-hero{padding:24px 0 20px}.roundup-hero h1{font-size:clamp(2.25rem,5vw,3.8rem)}.author-card{display:flex;align-items:center;gap:18px;max-width:820px;margin:24px 0;padding:15px 18px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.author-photo-wrap{flex:0 0 96px;width:96px}.author-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:center 35%;background:#e7ebe4}.author-photo-wrap>span{display:block;margin-top:5px;color:var(--muted);font-size:.64rem;line-height:1.25;text-align:center}.author-copy{min-width:0}.author-label{margin:0 0 3px;color:var(--coral);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.author-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 10px;margin:0;color:var(--ink)}.author-heading strong{font:650 1.2rem/1.25 'Fraunces',Georgia,serif;color:var(--green-dark)}.author-heading span{color:var(--muted);font-size:.84rem}.author-bio{margin:6px 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}.affiliate-note{display:flex;align-items:flex-start;gap:10px;margin:8px 0 24px;padding:14px 16px;border:1px solid #d9e2d8;border-radius:13px;background:#eef3ed;color:#46534a;font-size:.9rem}.affiliate-note>span:first-child{flex:0 0 auto;color:var(--green);font-weight:800}.winner-box{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:24px;align-items:center;margin:24px 0;padding:22px;border:1px solid #d6e2d2;border-radius:20px;background:#e7efe3}.winner-photo{width:100%;height:220px;object-fit:contain;border-radius:13px;background:#fffefa}.winner-copy{min-width:0}.winner-copy h2{margin:4px 0 8px;color:var(--green-dark);font:600 1.8rem/1.2 'Fraunces',Georgia,serif}.winner-copy p:not(.eyebrow){margin:8px 0 16px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 19px;border:0;border-radius:999px;background:var(--green);color:#fff;text-decoration:none;font-weight:750;white-space:normal;text-align:center}.button:hover{background:var(--green-dark)}.compare-section,.cards-section{margin:48px 0}.compare-section>.eyebrow,.cards-section>.eyebrow{margin-bottom:6px}.table-wrap{max-width:100%;overflow:auto;margin-top:18px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.compare-table{width:100%;min-width:950px;border-collapse:collapse;font-size:.89rem}.compare-table th,.compare-table td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.compare-table thead th{background:#eaf0e8;color:var(--green-dark);font-size:.8rem}.compare-table tbody th{min-width:210px;font-weight:700}.compare-table tbody td{min-width:115px}.compare-table a{overflow-wrap:anywhere}.table-hint{margin:10px 2px 0;color:var(--muted);font-size:.84rem}.product-card{display:grid;grid-template-columns:minmax(240px,.82fr) minmax(0,1.18fr);gap:26px;margin:23px 0;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:var(--shadow);scroll-margin-top:20px}.product-photo{align-self:start;min-width:0;min-height:270px;overflow:hidden;border-radius:14px;background:#edf0e8}.product-photo img{width:100%;height:320px;object-fit:contain;background:#fff}.product-card.no-photo{grid-template-columns:minmax(0,1fr)}.product-body{min-width:0}.product-body h3{margin:3px 0 8px;color:var(--green-dark);font:600 1.75rem/1.2 'Fraunces',Georgia,serif;overflow-wrap:anywhere}.award{margin:0;color:var(--coral);font-size:.92rem;font-weight:750;letter-spacing:0;text-transform:none}.verdict{font-weight:750}.product-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px;margin:14px 0;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#f0f2e9}.product-price>span{color:var(--muted);font-size:.82rem;font-weight:650}.product-price>strong{color:var(--green-dark);font-size:1.12rem}.price-updated{display:block;color:var(--muted);font-size:.72rem;line-height:1.35}.product-price .price-updated{flex-basis:100%}.product-body>p{margin:10px 0}.spec-box{margin-top:18px;padding:15px;border-radius:13px;background:#f0f2e9}.spec-box h4,.pros-cons h4{margin:0 0 9px;color:var(--green-dark);font:650 1.12rem 'Fraunces',Georgia,serif}.spec-box dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.spec{min-width:0;padding:9px 11px;border-radius:9px;background:var(--paper)}.spec dt{color:var(--muted);font-size:.78rem}.spec dd{margin:2px 0 0;font-weight:650;overflow-wrap:anywhere}.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.pros-cons section{min-width:0}.pros-cons ul{margin:7px 0;padding-left:20px}.pros-cons li{padding:2px 0}.pros-cons section:first-child li::marker{color:var(--green)}.pros-cons section:last-child li::marker{color:var(--coral)}.retailer-button{margin-top:4px}.table-wrap:focus{outline:3px solid #e1a18f;outline-offset:2px}.disclosure-page .roundup-hero{padding-top:36px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.winner-box.no-photo{grid-template-columns:minmax(0,1fr)}

body{min-width:0;overflow-x:hidden}.roundup-tile h2 a{color:inherit;text-decoration:none}.roundup-tile h2 a:hover{text-decoration:underline}.tile-image-link{display:block}.product-photo>a,.winner-image-link{display:block}.product-photo img[hidden],.winner-photo[hidden],.roundup-tile img[hidden]{display:none!important}

@media(max-width:760px){
  .site-header{padding:10px 16px;gap:12px}
  .site-header nav{gap:12px}
  .brand{font-size:18px}
  .home-hero,.roundup-main,.roundup-section,.home-note{padding-left:16px;padding-right:16px}
  .home-hero{padding-top:48px;padding-bottom:36px}
  .home-hero h1,.roundup-hero h1{font-size:clamp(2rem,9vw,3.2rem)}
  .author-card{align-items:flex-start;gap:12px;margin:20px 0;padding:13px}
  .author-photo-wrap{flex-basis:76px;width:76px}
  .author-photo{width:76px;height:76px}
  .author-heading{display:block}
  .author-heading span{display:block;margin-top:2px}
  .roundup-grid{grid-template-columns:minmax(0,1fr)}
  .roundup-tile img{height:min(70vw,260px)}
  .section-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .winner-box{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}
  .winner-photo{height:min(62vw,230px)}
  .product-card{grid-template-columns:minmax(0,1fr);gap:18px;padding:16px}
  .product-photo{min-height:190px}
  .product-photo img{height:min(72vw,300px);min-height:190px}
  .product-body h3{font-size:clamp(1.4rem,6vw,1.75rem)}
  .pros-cons{grid-template-columns:minmax(0,1fr);gap:8px}
  .compare-table{min-width:860px}
  footer{padding:22px 16px}
}

@media(max-width:400px){
  .site-header{align-items:flex-start;flex-direction:column;gap:6px}
  .spec-box dl{grid-template-columns:minmax(0,1fr)}
  .winner-copy h2{font-size:1.55rem}
  .product-card{padding:13px}
  .author-card{gap:10px}
  .author-photo-wrap{flex-basis:64px;width:64px}
  .author-photo{width:64px;height:64px}
  .author-bio{font-size:.86rem}
}

.home-hero + .author-card{max-width:1112px;margin:0 auto 56px}
@media(max-width:760px){.home-hero + .author-card{margin:0 16px 40px}}

/* Keep category, winner, and product-award labels in a plain, readable face. */
.eyebrow,.tile-kicker,.award,.author-label{font-family:Arial,Helvetica,sans-serif}
